Perhaps someone can give me some advise about using slime with the sbcl compiler.
When I load an asdf system from inside slime, using ,load-system
sometimes there are compiler warnings and errors printing into the repl buffer,
*slime-repl sbcl* in my case.
Is there a way navigate to the code where the errors occur?
I've tried the menu items:
SLIME->Compilation->List Notes
SLIME->Compilation->Next Note
But they don't seem to do anything.
For example, in the compile log (printed to the slime repl buffer)
I see several of "issues" in the text, 1) undefined function FINAL-P
2) #'EQ passed as :key which probably should be :test, 3) Required
argument is not a symbol: (SM STATE-MACHINE), which is probably a defun
where it should be defmethod.
Anyway, I can find the errors in my code because I know my own code
pretty well. But isn't there something slime can do to help me which
I'm not taking advantage of?
; compiling (DEFUN FIND-TRANSIT ...)
; file: /private/var/tmp/tmp.5ur0yB
; in: DEFUN FIND-TRANSIT
; (DEFUN NON-DETERMINISTIC-FINITE-AUTOMATA::FIND-TRANSIT
; (
; (NON-DETERMINISTIC-FINITE-AUTOMATA::SM
; NON-DETERMINISTIC-FINITE-AUTOMATA:STATE-MACHINE))
; (LABELS ((NON-DETERMINISTIC-FINITE-AUTOMATA::EXTRACT
; (NON-DETERMINISTIC-FINITE-AUTOMATA::TRANSITION-HISTORY)
; (RETURN-FROM NON-DETERMINISTIC-FINITE-AUTOMATA::FIND-TRANSIT #))
; (NON-DETERMINISTIC-FINITE-AUTOMATA::TRANSIT
; (NON-DETERMINISTIC-FINITE-AUTOMATA::STATE
; NON-DETERMINISTIC-FINITE-AUTOMATA::TRANSITION-HISTORY)
; (COND # #)))
; (DOLIST
; (NON-DETERMINISTIC-FINITE-AUTOMATA::STATE
; (NON-DETERMINISTIC-FINITE-AUTOMATA:GET-INITIAL-STATES
; NON-DETERMINISTIC-FINITE-AUTOMATA::SM))
; (NON-DETERMINISTIC-FINITE-AUTOMATA::TRANSIT
; NON-DETERMINISTIC-FINITE-AUTOMATA::STATE NIL))))
; --> PROGN SB-IMPL::%DEFUN SB-IMPL::%DEFUN SB-INT:NAMED-LAMBDA
; ==>
; #'(SB-INT:NAMED-LAMBDA NON-DETERMINISTIC-FINITE-AUTOMATA::FIND-TRANSIT
; ((NON-DETERMINISTIC-FINITE-AUTOMATA::SM
; NON-DETERMINISTIC-FINITE-AUTOMATA:STATE-MACHINE))
; (BLOCK NON-DETERMINISTIC-FINITE-AUTOMATA::FIND-TRANSIT
; (LABELS ((NON-DETERMINISTIC-FINITE-AUTOMATA::EXTRACT #
; #)
; (NON-DETERMINISTIC-FINITE-AUTOMATA::TRANSIT #
; #))
; (DOLIST (NON-DETERMINISTIC-FINITE-AUTOMATA::STATE #)
; (NON-DETERMINISTIC-FINITE-AUTOMATA::TRANSIT
; NON-DETERMINISTIC-FINITE-AUTOMATA::STATE NIL)))))
;
; caught ERROR:
; Required argument is not a symbol: (SM STATE-MACHINE)
;
; compilation unit finished
; caught 1 ERROR condition
; compiling (DEFUN FIND-TRANSIT ...)
; file: /private/var/tmp/tmp.x7Lnm3
; in: DEFUN FIND-TRANSIT
; (DEFUN NON-DETERMINISTIC-FINITE-AUTOMATA::FIND-TRANSIT
; (
; (NON-DETERMINISTIC-FINITE-AUTOMATA::SM
; NON-DETERMINISTIC-FINITE-AUTOMATA:STATE-MACHINE))
; (LABELS ((NON-DETERMINISTIC-FINITE-AUTOMATA::EXTRACT
; (NON-DETERMINISTIC-FINITE-AUTOMATA::TRANSITION-HISTORY)
; (RETURN-FROM NON-DETERMINISTIC-FINITE-AUTOMATA::FIND-TRANSIT #))
; (NON-DETERMINISTIC-FINITE-AUTOMATA::TRANSIT
; (NON-DETERMINISTIC-FINITE-AUTOMATA::STATE
; NON-DETERMINISTIC-FINITE-AUTOMATA::TRANSITION-HISTORY)
; (COND # #)))
; (DOLIST
; (NON-DETERMINISTIC-FINITE-AUTOMATA::STATE
; (NON-DETERMINISTIC-FINITE-AUTOMATA:GET-INITIAL-STATES
; NON-DETERMINISTIC-FINITE-AUTOMATA::SM))
; (NON-DETERMINISTIC-FINITE-AUTOMATA::TRANSIT
; NON-DETERMINISTIC-FINITE-AUTOMATA::STATE NIL))))
; --> PROGN SB-IMPL::%DEFUN SB-IMPL::%DEFUN SB-INT:NAMED-LAMBDA
; ==>
; #'(SB-INT:NAMED-LAMBDA NON-DETERMINISTIC-FINITE-AUTOMATA::FIND-TRANSIT
; ((NON-DETERMINISTIC-FINITE-AUTOMATA::SM
; NON-DETERMINISTIC-FINITE-AUTOMATA:STATE-MACHINE))
; (BLOCK NON-DETERMINISTIC-FINITE-AUTOMATA::FIND-TRANSIT
; (LABELS ((NON-DETERMINISTIC-FINITE-AUTOMATA::EXTRACT #
; #)
; (NON-DETERMINISTIC-FINITE-AUTOMATA::TRANSIT #
; #))
; (DOLIST (NON-DETERMINISTIC-FINITE-AUTOMATA::STATE #)
; (NON-DETERMINISTIC-FINITE-AUTOMATA::TRANSIT
; NON-DETERMINISTIC-FINITE-AUTOMATA::STATE NIL)))))
;
; caught ERROR:
; Required argument is not a symbol: (SM STATE-MACHINE)
;
; compilation unit finished
; caught 1 ERROR condition
; compiling (DEFUN FIND-TRANSIT ...)
; file: /private/var/tmp/tmp.qQtnKo
; in: DEFUN FIND-TRANSIT
; (MEMBER NON-DETERMINISTIC-FINITE-AUTOMATA::TRANSITION
; NON-DETERMINISTIC-FINITE-AUTOMATA::TRANSITION :KEY #'EQ)
;
; caught WARNING:
; The function EQ is called by MEMBER with one argument, but wants exactly two.
; file: /private/var/tmp/tmp.qQtnKo
; in: DEFUN FIND-TRANSIT
; (NON-DETERMINISTIC-FINITE-AUTOMATA::FINAL-P
; NON-DETERMINISTIC-FINITE-AUTOMATA::STATE)
;
; caught STYLE-WARNING:
; undefined function: FINAL-P
;
; compilation unit finished
; Undefined function:
; FINAL-P
; caught 1 WARNING condition
; caught 1 STYLE-WARNING condition
; compiling (DEFUN FIND-TRANSIT ...)
; file: /private/var/tmp/tmp.996P12
; in: DEFUN FIND-TRANSIT
; (MEMBER NON-DETERMINISTIC-FINITE-AUTOMATA::TRANSITION
; NON-DETERMINISTIC-FINITE-AUTOMATA::TRANSITION-HISTORY :KEY #'EQ)
;
; caught WARNING:
; The function EQ is called by MEMBER with one argument, but wants exactly two.
; file: /private/var/tmp/tmp.996P12
; in: DEFUN FIND-TRANSIT
; (NON-DETERMINISTIC-FINITE-AUTOMATA::FINAL-P
; NON-DETERMINISTIC-FINITE-AUTOMATA::STATE)
;
; caught STYLE-WARNING:
; undefined function: FINAL-P
;
; compilation unit finished
; Undefined function:
; FINAL-P
; caught 1 WARNING condition
; caught 1 STYLE-WARNING condition
; compiling (DEFUN FIND-TRANSIT ...)
; file: /private/var/tmp/tmp.L6YTQn
; in: DEFUN FIND-TRANSIT
; (NON-DETERMINISTIC-FINITE-AUTOMATA::FINAL-P
; NON-DETERMINISTIC-FINITE-AUTOMATA::STATE)
;
; caught STYLE-WARNING:
; undefined function: FINAL-P
;
; compilation unit finished
; Undefined function:
; FINAL-P
; caught 1 STYLE-WARNING condition
; compiling (DEFUN FIND-TRANSIT ...)
; compiling (DEFUN FIND-TRANSIT ...)
CL-USER>
CL-USER>