Search code examples
common-lispsymbolssbcl

How to delete a function or variable from the lisp image?


I have a function called read-csv that I created.

I started using the package cl-csv that also has this function.

After renaming my function, I notice that read-csv is still part of my image.

(do-symbols (sym :my-package)
         (print sym)) ;; => includes read-csv

The same is true with variables.

If I define this:


(defparameter hi "Buongiorno")

;;change my mind and recompile
(defparameter hi-there "Buongiorno")


> hi
"Buongiorno"  ;;<---- still exists

> hi-there
"Buongiorno"

How do I completely remove a symbol, variable or function from my lisp image?


Solution

  • (makunbound 'hi)

    (fmakunbound 'read-csv)