slime question, navigating to compilation errors

Jim Newton jimka.issy at gmail.com
Tue Nov 13 09:12:35 UTC 2018


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>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/slime-devel/attachments/20181113/4e9e0461/attachment.html>


More information about the slime-devel mailing list