Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

No walker defined for DECLARE? #2

Open
Ferada opened this issue Jul 28, 2020 · 3 comments
Open

No walker defined for DECLARE? #2

Ferada opened this issue Jul 28, 2020 · 3 comments

Comments

@Ferada
Copy link

Ferada commented Jul 28, 2020

Looks like the test cases for the walker don't work? At least on CCL and ABCL:

Sorry, No walker for the special operater DECLARE defined.
   [Condition of type SIMPLE-ERROR]
@hraban
Copy link

hraban commented Dec 15, 2022

Same on SBCL darwin x86

@bobbysmith007
Copy link
Member

bobbysmith007 commented Dec 16, 2022

I don't have (and haven't had) a common lisp development environment for quite a while.

I am open to merging fixes. It has been quite a while since I have interacted with any of this.

#1
I see that there was a PR I missed that claimed to fix things for ABCL (from Jul 2020). I tried merging that PR after a review. Please let me know if this resolved your issue or if further fixes are needed.

I am happy to merge patches (when I see them).

Ferada - I appreciate your contribution and am sorry that I missed it when it happened

@hraban
Copy link

hraban commented Dec 16, 2022

Full trace for the record:

While evaluating the form starting at line 1, column 0
  of #P"/nix/store/by5a8kbbhjsr05iw0h8g5fbcpp45iwxk-check-arnesi.lisp":
Unhandled SIMPLE-ERROR in thread #<SB-THREAD:THREAD "main thread" RUNNING
                                    {70046780A3}>:
  Sorry, No walker for the special operater DECLARE defined.

Backtrace for: #<SB-THREAD:THREAD "main thread" RUNNING {70046780A3}>
0: (SB-DEBUG::DEBUGGER-DISABLED-HOOK #<SIMPLE-ERROR "Sorry, No walker for the special operater ~S defined." {70034D4DD3}> #<unused argument> :QUIT T)
1: (SB-DEBUG::RUN-HOOK SB-EXT:*INVOKE-DEBUGGER-HOOK* #<SIMPLE-ERROR "Sorry, No walker for the special operater ~S defined." {70034D4DD3}>)
2: (INVOKE-DEBUGGER #<SIMPLE-ERROR "Sorry, No walker for the special operater ~S defined." {70034D4DD3}>)
3: (ERROR "Sorry, No walker for the special operater ~S defined." DECLARE)
4: (IT.BESE.ARNESI::FIND-WALKER-HANDLER (DECLARE (SPECIAL VAR)))
5: (WALK-FORM (DECLARE (SPECIAL VAR)) #<BLOCK-FORM # {70034D4DC3}> (((:BLOCK LOOKUP-SPECIAL-IN-DEFUN/CC . #<BLOCK-FORM # {70034D4DC3}>) (:LET STOP . #<REQUIRED-FUNCTION-ARGUMENT-FORM STOP {70034D4D83}>))))
6: (WALK-IMPLICT-PROGN #<BLOCK-FORM # {70034D4DC3}> ((DECLARE (SPECIAL VAR)) (WHEN STOP (LET/CC K K)) VAR) (((:BLOCK LOOKUP-SPECIAL-IN-DEFUN/CC . #<BLOCK-FORM # {70034D4DC3}>) (:LET STOP . #<REQUIRED-FUNCTION-ARGUMENT-FORM STOP {70034D4D83}>))) :DOCSTRING NIL :DECLARE NIL)
7: ((LAMBDA (FORM PARENT IT.BESE.ARNESI::ENV) :IN "/private/tmp/nix-build-system-arnesi.drv-0/arnesi-src/src/walk.lisp") (BLOCK LOOKUP-SPECIAL-IN-DEFUN/CC (DECLARE (SPECIAL VAR)) (WHEN STOP (LET/CC K K)) VAR) #<LAMBDA-FUNCTION-FORM # {70034D4D43}> (((:LET STOP . #<REQUIRED-FUNCTION-ARGUMENT-FORM STOP {70034D4D83}>))))
8: (WALK-IMPLICT-PROGN #<LAMBDA-FUNCTION-FORM # {70034D4D43}> ((BLOCK LOOKUP-SPECIAL-IN-DEFUN/CC (DECLARE (SPECIAL VAR)) (WHEN STOP (LET/CC K K)) VAR)) (((:LET STOP . #<REQUIRED-FUNCTION-ARGUMENT-FORM STOP {70034D4D83}>))) :DOCSTRING NIL :DECLARE T)
9: (IT.BESE.ARNESI::WALK-LAMBDA (LAMBDA (STOP) (BLOCK LOOKUP-SPECIAL-IN-DEFUN/CC (DECLARE (SPECIAL VAR)) (WHEN STOP (LET/CC K K)) VAR)) NIL (((:LET STOP . #<REQUIRED-FUNCTION-ARGUMENT-FORM STOP {70034D4D83}>))))
10: ((SB-C::TOP-LEVEL-FORM (LET* ((#1=#:NEW1 (MAKE-INSTANCE #2=# :CODE #2# :ENV NIL))) (FUNCALL (FUNCTION (SETF IT.BESE.ARNESI::FDEFINITION/CC)) #1# (QUOTE LOOKUP-SPECIAL-IN-DEFUN/CC) (QUOTE DEFUN/CC))))) [toplevel]
11: (SB-FASL::LOAD-FASL-GROUP #S(SB-FASL::FASL-INPUT :STREAM #<SB-SYS:FD-STREAM for "file /private/tmp/nix-build-system-arnesi.drv-0/arnesi-src/t/call-cc.fasl" {70043E44F3}> :TABLE #(1366 #1="/private/tmp/nix-build-system-arnesi.drv-0/arnesi-src/t/call-cc.lisp" #<PACKAGE "SB-C"> SB-C::TOP-LEVEL-FORM SETQ *PACKAGE* #<PACKAGE "SB-INT"> SB-INT:FIND-UNDELETED-PACKAGE-OR-LOSE #2="IT.BESE.ARNESI.TEST" #3=(SB-INT:FIND-UNDELETED-PACKAGE-OR-LOSE #2#) #4=(SETQ *PACKAGE* #3#) (SB-C::TOP-LEVEL-FORM #4#) ...) :STACK #(0 #<FUNCTION (SB-C::TOP-LEVEL-FORM (LET* (#) (FUNCALL # #:NEW1 # #))) {70018ED07B}> NIL NIL (SB-INT:SFUNCTION NIL NULL) #<SB-KERNEL:FDEFN WALK-FORM> #<SB-KERNEL:FDEFN (SETF IT.BESE.ARNESI::FDEFINITION/CC)> #<SB-KERNEL:FDEFN SB-IMPL::%DEFUN> (LAMBDA (STOP) (BLOCK LOOKUP-SPECIAL-IN-DEFUN/CC (DECLARE #) (WHEN STOP #) VAR)) LOOKUP-SPECIAL-IN-DEFUN/CC DEFUN/CC #<SB-PCL::CTOR IT.BESE.ARNESI::CLOSURE/CC (:CODE SB-PCL::|.P0.| :ENV NIL)> ...) :NAME-BUFFER #("" "WHENIALSPECIAL-IN-DEFUN/CCFUNCTION") :PRINT NIL :PARTIAL-SOURCE-INFO #S(SB-C::DEBUG-SOURCE :NAMESTRING #1# :CREATED 2208988801 :START-POSITIONS NIL :PLIST NIL)))
12: ((LAMBDA NIL :IN SB-FASL::LOAD-AS-FASL))
13: (SB-IMPL::CALL-WITH-LOADER-PACKAGE-NAMES #<FUNCTION (LAMBDA NIL :IN SB-FASL::LOAD-AS-FASL) {70043E765B}>)
14: (SB-FASL::LOAD-AS-FASL #<SB-SYS:FD-STREAM for "file /private/tmp/nix-build-system-arnesi.drv-0/arnesi-src/t/call-cc.fasl" {70043E44F3}> NIL NIL)
15: ((LABELS SB-FASL::LOAD-STREAM-1 :IN LOAD) #<SB-SYS:FD-STREAM for "file /private/tmp/nix-build-system-arnesi.drv-0/arnesi-src/t/call-cc.fasl" {70043E44F3}> T)
16: (SB-FASL::CALL-WITH-LOAD-BINDINGS #<FUNCTION (LABELS SB-FASL::LOAD-STREAM-1 :IN LOAD) {13DD6FB}> #<SB-SYS:FD-STREAM for "file /private/tmp/nix-build-system-arnesi.drv-0/arnesi-src/t/call-cc.fasl" {70043E44F3}> T #<SB-SYS:FD-STREAM for "file /private/tmp/nix-build-system-arnesi.drv-0/arnesi-src/t/call-cc.fasl" {70043E44F3}>)
17: (LOAD #P"/private/tmp/nix-build-system-arnesi.drv-0/arnesi-src/t/call-cc.fasl" :VERBOSE NIL :PRINT NIL :IF-DOES-NOT-EXIST :ERROR :EXTERNAL-FORMAT :DEFAULT)
18: (UIOP/UTILITY:CALL-WITH-MUFFLED-CONDITIONS #<FUNCTION (LAMBDA NIL :IN UIOP/LISP-BUILD:LOAD*) {70043E415B}> ("Overwriting already existing readtable ~S." #(#:FINALIZERS-OFF-WARNING :ASDF-FINALIZERS)))
19: ((SB-PCL::EMF ASDF/ACTION:PERFORM) #<unused argument> #<unused argument> #<ASDF/LISP-ACTION:LOAD-OP > #<ASDF/LISP-ACTION:CL-SOURCE-FILE "arnesi/test" "t" "call-cc">)
20: ((LAMBDA NIL :IN ASDF/ACTION:CALL-WHILE-VISITING-ACTION))
21: ((:METHOD ASDF/ACTION:PERFORM :AROUND (ASDF/LISP-ACTION:LOAD-OP ASDF/LISP-ACTION:CL-SOURCE-FILE)) #<ASDF/LISP-ACTION:LOAD-OP > #<ASDF/LISP-ACTION:CL-SOURCE-FILE "arnesi/test" "t" "call-cc">) [fast-method]
22: ((:METHOD ASDF/ACTION:PERFORM-WITH-RESTARTS (ASDF/LISP-ACTION:LOAD-OP ASDF/LISP-ACTION:CL-SOURCE-FILE)) #<ASDF/LISP-ACTION:LOAD-OP > #<ASDF/LISP-ACTION:CL-SOURCE-FILE "arnesi/test" "t" "call-cc">) [fast-method]
23: ((:METHOD ASDF/ACTION:PERFORM-WITH-RESTARTS :AROUND (T T)) #<ASDF/LISP-ACTION:LOAD-OP > #<ASDF/LISP-ACTION:CL-SOURCE-FILE "arnesi/test" "t" "call-cc">) [fast-method]
24: ((:METHOD ASDF/PLAN:PERFORM-PLAN (T)) #<ASDF/PLAN:SEQUENTIAL-PLAN {7001D019B3}>) [fast-method]
25: ((FLET SB-C::WITH-IT :IN SB-C::%WITH-COMPILATION-UNIT))
26: ((:METHOD ASDF/PLAN:PERFORM-PLAN :AROUND (T)) #<ASDF/PLAN:SEQUENTIAL-PLAN {7001D019B3}>) [fast-method]
27: ((:METHOD ASDF/OPERATE:OPERATE (ASDF/OPERATION:OPERATION ASDF/COMPONENT:COMPONENT)) #<ASDF/LISP-ACTION:TEST-OP > #<ASDF/SYSTEM:SYSTEM "arnesi"> :PLAN-CLASS NIL :PLAN-OPTIONS NIL) [fast-method]
28: ((SB-PCL::EMF ASDF/OPERATE:OPERATE) #<unused argument> #<unused argument> #<ASDF/LISP-ACTION:TEST-OP > #<ASDF/SYSTEM:SYSTEM "arnesi">)
29: ((LAMBDA NIL :IN ASDF/OPERATE:OPERATE))
30: ((:METHOD ASDF/OPERATE:OPERATE :AROUND (T T)) #<ASDF/LISP-ACTION:TEST-OP > #<ASDF/SYSTEM:SYSTEM "arnesi">) [fast-method]
31: ((SB-PCL::EMF ASDF/OPERATE:OPERATE) #<unused argument> #<unused argument> ASDF/LISP-ACTION:TEST-OP "arnesi")
32: ((LAMBDA NIL :IN ASDF/OPERATE:OPERATE))
33: ((:METHOD ASDF/OPERATE:OPERATE :AROUND (T T)) ASDF/LISP-ACTION:TEST-OP "arnesi") [fast-method]
34: (ASDF/SESSION:CALL-WITH-ASDF-SESSION #<FUNCTION (LAMBDA NIL :IN ASDF/OPERATE:OPERATE) {70045CE7EB}> :OVERRIDE T :KEY NIL :OVERRIDE-CACHE T :OVERRIDE-FORCING NIL)
35: ((LAMBDA NIL :IN ASDF/OPERATE:OPERATE))
36: (ASDF/SESSION:CALL-WITH-ASDF-SESSION #<FUNCTION (LAMBDA NIL :IN ASDF/OPERATE:OPERATE) {700345D76B}> :OVERRIDE NIL :KEY NIL :OVERRIDE-CACHE NIL :OVERRIDE-FORCING NIL)
37: ((:METHOD ASDF/OPERATE:OPERATE :AROUND (T T)) ASDF/LISP-ACTION:TEST-OP "arnesi") [fast-method]
38: (ASDF/OPERATE:TEST-SYSTEM "arnesi")
39: (SB-INT:SIMPLE-EVAL-IN-LEXENV (ASDF/OPERATE:TEST-SYSTEM "arnesi") #<NULL-LEXENV>)
40: (SB-EXT:EVAL-TLF (ASDF/OPERATE:TEST-SYSTEM "arnesi") 0 NIL)
41: ((LABELS SB-FASL::EVAL-FORM :IN SB-INT:LOAD-AS-SOURCE) (ASDF/OPERATE:TEST-SYSTEM "arnesi") 0)
42: ((LAMBDA (SB-KERNEL:FORM &KEY :CURRENT-INDEX &ALLOW-OTHER-KEYS) :IN SB-INT:LOAD-AS-SOURCE) (ASDF/OPERATE:TEST-SYSTEM "arnesi") :CURRENT-INDEX 0)
43: (SB-C::%DO-FORMS-FROM-INFO #<FUNCTION (LAMBDA (SB-KERNEL:FORM &KEY :CURRENT-INDEX &ALLOW-OTHER-KEYS) :IN SB-INT:LOAD-AS-SOURCE) {70032406FB}> #<SB-C::SOURCE-INFO {70032406C3}> SB-C::INPUT-ERROR-IN-LOAD)
44: (SB-INT:LOAD-AS-SOURCE #<SB-INT:FORM-TRACKING-STREAM for "file /nix/store/by5a8kbbhjsr05iw0h8g5fbcpp45iwxk-check-arnesi.lisp" {7003236DD3}> :VERBOSE NIL :PRINT NIL :CONTEXT "loading")
45: ((LABELS SB-FASL::LOAD-STREAM-1 :IN LOAD) #<SB-INT:FORM-TRACKING-STREAM for "file /nix/store/by5a8kbbhjsr05iw0h8g5fbcpp45iwxk-check-arnesi.lisp" {7003236DD3}> NIL)
46: (SB-FASL::CALL-WITH-LOAD-BINDINGS #<FUNCTION (LABELS SB-FASL::LOAD-STREAM-1 :IN LOAD) {13DEF5B}> #<SB-INT:FORM-TRACKING-STREAM for "file /nix/store/by5a8kbbhjsr05iw0h8g5fbcpp45iwxk-check-arnesi.lisp" {7003236DD3}> NIL #<SB-INT:FORM-TRACKING-STREAM for "file /nix/store/by5a8kbbhjsr05iw0h8g5fbcpp45iwxk-check-arnesi.lisp" {7003236DD3}>)
47: (LOAD #P"/nix/store/by5a8kbbhjsr05iw0h8g5fbcpp45iwxk-check-arnesi.lisp" :VERBOSE NIL :PRINT NIL :IF-DOES-NOT-EXIST :ERROR :EXTERNAL-FORMAT :DEFAULT)
48: (SB-INT:SIMPLE-EVAL-IN-LEXENV (LOAD #P"/nix/store/by5a8kbbhjsr05iw0h8g5fbcpp45iwxk-check-arnesi.lisp") #<NULL-LEXENV>)
49: (SB-EXT:EVAL-TLF (LOAD #P"/nix/store/by5a8kbbhjsr05iw0h8g5fbcpp45iwxk-check-arnesi.lisp") 5 NIL)
50: ((LABELS SB-FASL::EVAL-FORM :IN SB-INT:LOAD-AS-SOURCE) (LOAD #P"/nix/store/by5a8kbbhjsr05iw0h8g5fbcpp45iwxk-check-arnesi.lisp") 5)
51: ((LAMBDA (SB-KERNEL:FORM &KEY :CURRENT-INDEX &ALLOW-OTHER-KEYS) :IN SB-INT:LOAD-AS-SOURCE) (LOAD #P"/nix/store/by5a8kbbhjsr05iw0h8g5fbcpp45iwxk-check-arnesi.lisp") :CURRENT-INDEX 5)
52: (SB-C::%DO-FORMS-FROM-INFO #<FUNCTION (LAMBDA (SB-KERNEL:FORM &KEY :CURRENT-INDEX &ALLOW-OTHER-KEYS) :IN SB-INT:LOAD-AS-SOURCE) {700106E63B}> #<SB-C::SOURCE-INFO {700106E603}> SB-C::INPUT-ERROR-IN-LOAD)
53: (SB-INT:LOAD-AS-SOURCE #<SB-SYS:FD-STREAM for "file /nix/store/v4xpjaplafyrvy6bmb25mnn3q2qpyzn4-setup-arnesi.lisp" {7001068DD3}> :VERBOSE NIL :PRINT NIL :CONTEXT "loading")
54: ((LABELS SB-FASL::LOAD-STREAM-1 :IN LOAD) #<SB-SYS:FD-STREAM for "file /nix/store/v4xpjaplafyrvy6bmb25mnn3q2qpyzn4-setup-arnesi.lisp" {7001068DD3}> NIL)
55: (SB-FASL::CALL-WITH-LOAD-BINDINGS #<FUNCTION (LABELS SB-FASL::LOAD-STREAM-1 :IN LOAD) {13DF82B}> #<SB-SYS:FD-STREAM for "file /nix/store/v4xpjaplafyrvy6bmb25mnn3q2qpyzn4-setup-arnesi.lisp" {7001068DD3}> NIL #<SB-SYS:FD-STREAM for "file /nix/store/v4xpjaplafyrvy6bmb25mnn3q2qpyzn4-setup-arnesi.lisp" {7001068DD3}>)
56: (LOAD #<SB-SYS:FD-STREAM for "file /nix/store/v4xpjaplafyrvy6bmb25mnn3q2qpyzn4-setup-arnesi.lisp" {7001068DD3}> :VERBOSE NIL :PRINT NIL :IF-DOES-NOT-EXIST :ERROR :EXTERNAL-FORMAT :DEFAULT)
57: ((FLET SB-IMPL::LOAD-SCRIPT :IN SB-IMPL::PROCESS-SCRIPT) #<SB-SYS:FD-STREAM for "file /nix/store/v4xpjaplafyrvy6bmb25mnn3q2qpyzn4-setup-arnesi.lisp" {7001068DD3}>)
58: ((FLET SB-UNIX::BODY :IN SB-IMPL::PROCESS-SCRIPT))
59: ((FLET "WITHOUT-INTERRUPTS-BODY-11" :IN SB-IMPL::PROCESS-SCRIPT))
60: (SB-IMPL::PROCESS-SCRIPT "/nix/store/v4xpjaplafyrvy6bmb25mnn3q2qpyzn4-setup-arnesi.lisp")
61: (SB-IMPL::TOPLEVEL-INIT)
62: ((FLET SB-UNIX::BODY :IN SB-IMPL::START-LISP))
63: ((FLET "WITHOUT-INTERRUPTS-BODY-3" :IN SB-IMPL::START-LISP))
64: (SB-IMPL::%START-LISP)

unhandled condition in --disable-debugger mode, quitting
;
; compilation unit aborted
;   caught 1 fatal ERROR condition

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants