Search code examples
vimcommon-lispswankslimv

How to reinitialise swank?


How can I make swank forget all previously evaluated definitions?

I want it to undefine all macros, functions, and variables that where defined via evaluations (such as ,b evaluate buffer). And have it returned to the same state as when I reboot my PC and freshly start the swank server.

I tried:

  • the Clear-REPL (,-) command:

    This only appears to clear the screen (buffer).

  • CL-USER> (swank:restart-server) (from the REPL buffer):

    The server restarts but it still remembers my old defun and other defines.

  • CL-USER> (slime-restart-inferior-lisp) and `(slimv-restart-inferior-lisp)

    Both are undefined.


Solution

  • Slimv author here. I added a new command 'Quit REPL' to slimv. This closes the lisp process running the swank server by calling swank:quit-lisp, then closes the REPL buffer. You can use this one followed by another 'Connect Server' command to restart the REPL. The default mapping for 'Quit REPL' is <Leader>Q, so you can restart the REPL by the <Leader>Q<Leader>c sequence. Please see commits 44a50afc... on GitHub or a8abdbbc... on BitBucket.