Bill_Clementson@peoplesoft.com writes:
I downloaded the latest SLIME with the new macro indentation code from CVS. It seems to work under LW & CLISP on Windows; however, I get the following error under ACL on Windows:
Received signal number 11 (Segmentation violation) [Condition of type SYNCHRONOUS-OPERATING-SYSTEM-SIGNAL]
Jeepers. As a workaround you can set swank:*configure-emacs-indentation* to NIL in ACL.
Backtrace: 0: (SWANK::DEBUG-IN-EMACS #<SYNCHRONOUS-OPERATING-SYSTEM-SIGNAL @ #x2064080a>) 1: ((FLET SWANK::SWANK-DEBUGGER-HOOK SWANK::DEBUG-IT)) 2: (SWANK::SWANK-DEBUGGER-HOOK #<SYNCHRONOUS-OPERATING-SYSTEM-SIGNAL @ #x2064080a> #<Function SWANK-DEBUGGER-HOOK>) 3: (EXCL::INTERNAL-INVOKE-DEBUGGER "Error" #<SYNCHRONOUS-OPERATING-SYSTEM-SIGNAL @ #x2064080a> T) 4: (ERROR SYNCHRONOUS-OPERATING-SYSTEM-SIGNAL :NAME #1="Segmentation violation" :NUMBER 11 :FORMAT-CONTROL "Received signal number ~s ~@[(~a)~]" :FORMAT-ARGUMENTS (11 #1#)) 5: (EXCL::HANDLE-PENDING-SIGNAL 11) 6: (SYSTEM::..CONTEXT-SAVING-RUNTIME-OPERATION) 7: (EXCL::LIST-REMOVE-EQL &WHOLE ((COMPILER::VAR COMPILER::NEXT LIST) . COMPILER::BODY)) 8: (SWANK::MACRO-INDENTATION ((COMPILER::VAR COMPILER::NEXT LIST) . COMPILER::BODY))
This is interesting. Do you get the same problem if you just directly run this?
(macro-indentation '((COMPILER::VAR COMPILER::NEXT LIST) . COMPILER::BODY))
From the backtrace it looks like the error is triggered by:
(remove '&whole '((COMPILER::VAR COMPILER::NEXT LIST) . COMPILER::BODY))
Which I imagine should generate an error because the list isn't properly terminated, but a segfault seems a bit on the harsh side. Do you have some kind of high-speed low-safety optimization setup?
Most importantly, is the return value of excl:arglist documented? Hopefully we can patch it up in swank-allegro.lisp to return something that looks like a proper lambda-list.
-Luke