technoblogy/ulisp-arm

Function corrupted by 'makunbound'

Closed this issue · 0 comments

If you define a function by reading it from a string and then eval it, and them remove it with makunbound, other functions get removed:

(defun test () (eval (read-from-string "(defun bob (y) (* y y))")))
(test)

> (globals)
(bob test)

> (makunbound 'bob)
bob

> (globals)
()

This only seems to happen if the function was defined by reading it from a string.

Thanks to Klaus Fuerth for reporting this.