<div dir="ltr"><div>Have a look at the *slime-compilation* buffer. There you'll find all the compilation warnings with useful shortcuts. Not sure why it's not popping up for you.</div><div><br></div><div>Cheers,</div><div>Luís<br></div></div><br><div class="gmail_quote"><div dir="ltr">On Tue, Nov 13, 2018 at 4:14 PM Jim Newton <<a href="mailto:jimka.issy@gmail.com">jimka.issy@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div dir="ltr"><div>Perhaps someone can give me some advise about using slime with the sbcl compiler.</div><div><br></div><div>When I load an asdf system from inside slime, using ,load-system</div><div>sometimes there are compiler warnings and errors printing into the repl buffer,</div><div>*slime-repl sbcl* in my case.</div><div><br></div><div>Is there a way navigate to the code where the errors occur?</div><div>I've tried the menu items:</div><div><br></div><div>SLIME->Compilation->List Notes</div><div>SLIME->Compilation->Next Note</div><div><br></div><div>But they don't seem to do anything.</div><div><br></div><div><br></div><div>For example, in the compile log (printed to the slime repl buffer)</div><div>I see several of "issues" in the text, 1) undefined function FINAL-P</div><div>2) #'EQ passed as :key which probably should be :test, 3) Required </div><div>argument is not a symbol: (SM STATE-MACHINE), which is probably a defun </div><div>where it should be defmethod.</div><div><br></div><div>Anyway, I can find the errors in my code because I know my own code</div><div>pretty well. But isn't there something slime can do to help me which</div><div>I'm not taking advantage of?</div><div><br></div><div><br></div><div>; compiling (DEFUN FIND-TRANSIT ...)</div><div><br></div><div>; file: /private/var/tmp/tmp.5ur0yB</div><div>; in: DEFUN FIND-TRANSIT</div><div>; (DEFUN NON-DETERMINISTIC-FINITE-AUTOMATA::FIND-TRANSIT</div><div>; (</div><div>; (NON-DETERMINISTIC-FINITE-AUTOMATA::SM</div><div>; NON-DETERMINISTIC-FINITE-AUTOMATA:STATE-MACHINE))</div><div>; (LABELS ((NON-DETERMINISTIC-FINITE-AUTOMATA::EXTRACT</div><div>; (NON-DETERMINISTIC-FINITE-AUTOMATA::TRANSITION-HISTORY)</div><div>; (RETURN-FROM NON-DETERMINISTIC-FINITE-AUTOMATA::FIND-TRANSIT #))</div><div>; (NON-DETERMINISTIC-FINITE-AUTOMATA::TRANSIT</div><div>; (NON-DETERMINISTIC-FINITE-AUTOMATA::STATE</div><div>; NON-DETERMINISTIC-FINITE-AUTOMATA::TRANSITION-HISTORY)</div><div>; (COND # #)))</div><div>; (DOLIST</div><div>; (NON-DETERMINISTIC-FINITE-AUTOMATA::STATE</div><div>; (NON-DETERMINISTIC-FINITE-AUTOMATA:GET-INITIAL-STATES</div><div>; NON-DETERMINISTIC-FINITE-AUTOMATA::SM))</div><div>; (NON-DETERMINISTIC-FINITE-AUTOMATA::TRANSIT</div><div>; NON-DETERMINISTIC-FINITE-AUTOMATA::STATE NIL))))</div><div>; --> PROGN SB-IMPL::%DEFUN SB-IMPL::%DEFUN SB-INT:NAMED-LAMBDA </div><div>; ==></div><div>; #'(SB-INT:NAMED-LAMBDA NON-DETERMINISTIC-FINITE-AUTOMATA::FIND-TRANSIT</div><div>; ((NON-DETERMINISTIC-FINITE-AUTOMATA::SM</div><div>; NON-DETERMINISTIC-FINITE-AUTOMATA:STATE-MACHINE))</div><div>; (BLOCK NON-DETERMINISTIC-FINITE-AUTOMATA::FIND-TRANSIT</div><div>; (LABELS ((NON-DETERMINISTIC-FINITE-AUTOMATA::EXTRACT #</div><div>; #)</div><div>; (NON-DETERMINISTIC-FINITE-AUTOMATA::TRANSIT #</div><div>; #))</div><div>; (DOLIST (NON-DETERMINISTIC-FINITE-AUTOMATA::STATE #)</div><div>; (NON-DETERMINISTIC-FINITE-AUTOMATA::TRANSIT</div><div>; NON-DETERMINISTIC-FINITE-AUTOMATA::STATE NIL)))))</div><div>; </div><div>; caught ERROR:</div><div>; Required argument is not a symbol: (SM STATE-MACHINE)</div><div>; </div><div>; compilation unit finished</div><div>; caught 1 ERROR condition</div><div>; compiling (DEFUN FIND-TRANSIT ...)</div><div><br></div><div>; file: /private/var/tmp/tmp.x7Lnm3</div><div>; in: DEFUN FIND-TRANSIT</div><div>; (DEFUN NON-DETERMINISTIC-FINITE-AUTOMATA::FIND-TRANSIT</div><div>; (</div><div>; (NON-DETERMINISTIC-FINITE-AUTOMATA::SM</div><div>; NON-DETERMINISTIC-FINITE-AUTOMATA:STATE-MACHINE))</div><div>; (LABELS ((NON-DETERMINISTIC-FINITE-AUTOMATA::EXTRACT</div><div>; (NON-DETERMINISTIC-FINITE-AUTOMATA::TRANSITION-HISTORY)</div><div>; (RETURN-FROM NON-DETERMINISTIC-FINITE-AUTOMATA::FIND-TRANSIT #))</div><div>; (NON-DETERMINISTIC-FINITE-AUTOMATA::TRANSIT</div><div>; (NON-DETERMINISTIC-FINITE-AUTOMATA::STATE</div><div>; NON-DETERMINISTIC-FINITE-AUTOMATA::TRANSITION-HISTORY)</div><div>; (COND # #)))</div><div>; (DOLIST</div><div>; (NON-DETERMINISTIC-FINITE-AUTOMATA::STATE</div><div>; (NON-DETERMINISTIC-FINITE-AUTOMATA:GET-INITIAL-STATES</div><div>; NON-DETERMINISTIC-FINITE-AUTOMATA::SM))</div><div>; (NON-DETERMINISTIC-FINITE-AUTOMATA::TRANSIT</div><div>; NON-DETERMINISTIC-FINITE-AUTOMATA::STATE NIL))))</div><div>; --> PROGN SB-IMPL::%DEFUN SB-IMPL::%DEFUN SB-INT:NAMED-LAMBDA </div><div>; ==></div><div>; #'(SB-INT:NAMED-LAMBDA NON-DETERMINISTIC-FINITE-AUTOMATA::FIND-TRANSIT</div><div>; ((NON-DETERMINISTIC-FINITE-AUTOMATA::SM</div><div>; NON-DETERMINISTIC-FINITE-AUTOMATA:STATE-MACHINE))</div><div>; (BLOCK NON-DETERMINISTIC-FINITE-AUTOMATA::FIND-TRANSIT</div><div>; (LABELS ((NON-DETERMINISTIC-FINITE-AUTOMATA::EXTRACT #</div><div>; #)</div><div>; (NON-DETERMINISTIC-FINITE-AUTOMATA::TRANSIT #</div><div>; #))</div><div>; (DOLIST (NON-DETERMINISTIC-FINITE-AUTOMATA::STATE #)</div><div>; (NON-DETERMINISTIC-FINITE-AUTOMATA::TRANSIT</div><div>; NON-DETERMINISTIC-FINITE-AUTOMATA::STATE NIL)))))</div><div>; </div><div>; caught ERROR:</div><div>; Required argument is not a symbol: (SM STATE-MACHINE)</div><div>; </div><div>; compilation unit finished</div><div>; caught 1 ERROR condition</div><div>; compiling (DEFUN FIND-TRANSIT ...)</div><div><br></div><div>; file: /private/var/tmp/tmp.qQtnKo</div><div>; in: DEFUN FIND-TRANSIT</div><div>; (MEMBER NON-DETERMINISTIC-FINITE-AUTOMATA::TRANSITION</div><div>; NON-DETERMINISTIC-FINITE-AUTOMATA::TRANSITION :KEY #'EQ)</div><div>; </div><div>; caught WARNING:</div><div>; The function EQ is called by MEMBER with one argument, but wants exactly two.</div><div><br></div><div>; file: /private/var/tmp/tmp.qQtnKo</div><div>; in: DEFUN FIND-TRANSIT</div><div>; (NON-DETERMINISTIC-FINITE-AUTOMATA::FINAL-P</div><div>; NON-DETERMINISTIC-FINITE-AUTOMATA::STATE)</div><div>; </div><div>; caught STYLE-WARNING:</div><div>; undefined function: FINAL-P</div><div>; </div><div>; compilation unit finished</div><div>; Undefined function:</div><div>; FINAL-P</div><div>; caught 1 WARNING condition</div><div>; caught 1 STYLE-WARNING condition</div><div>; compiling (DEFUN FIND-TRANSIT ...)</div><div><br></div><div>; file: /private/var/tmp/tmp.996P12</div><div>; in: DEFUN FIND-TRANSIT</div><div>; (MEMBER NON-DETERMINISTIC-FINITE-AUTOMATA::TRANSITION</div><div>; NON-DETERMINISTIC-FINITE-AUTOMATA::TRANSITION-HISTORY :KEY #'EQ)</div><div>; </div><div>; caught WARNING:</div><div>; The function EQ is called by MEMBER with one argument, but wants exactly two.</div><div><br></div><div>; file: /private/var/tmp/tmp.996P12</div><div>; in: DEFUN FIND-TRANSIT</div><div>; (NON-DETERMINISTIC-FINITE-AUTOMATA::FINAL-P</div><div>; NON-DETERMINISTIC-FINITE-AUTOMATA::STATE)</div><div>; </div><div>; caught STYLE-WARNING:</div><div>; undefined function: FINAL-P</div><div>; </div><div>; compilation unit finished</div><div>; Undefined function:</div><div>; FINAL-P</div><div>; caught 1 WARNING condition</div><div>; caught 1 STYLE-WARNING condition</div><div>; compiling (DEFUN FIND-TRANSIT ...)</div><div><br></div><div>; file: /private/var/tmp/tmp.L6YTQn</div><div>; in: DEFUN FIND-TRANSIT</div><div>; (NON-DETERMINISTIC-FINITE-AUTOMATA::FINAL-P</div><div>; NON-DETERMINISTIC-FINITE-AUTOMATA::STATE)</div><div>; </div><div>; caught STYLE-WARNING:</div><div>; undefined function: FINAL-P</div><div>; </div><div>; compilation unit finished</div><div>; Undefined function:</div><div>; FINAL-P</div><div>; caught 1 STYLE-WARNING condition</div><div>; compiling (DEFUN FIND-TRANSIT ...)</div><div>; compiling (DEFUN FIND-TRANSIT ...)</div><div>CL-USER> </div><div>CL-USER> </div></div></div>
</blockquote></div>