X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=ecmalisp.lisp;h=562f1f80aa5c829dbf2405022022295c87dde221;hb=25fa7dc525c432ea68bdae231748b279a2ab65ef;hp=2da30af2fe4fe70538b430772a7a1954937f49bf;hpb=def5b23c6aa5146d80f4182f45e2a757fd0a5178;p=jscl.git diff --git a/ecmalisp.lisp b/ecmalisp.lisp index 2da30af..562f1f8 100644 --- a/ecmalisp.lisp +++ b/ecmalisp.lisp @@ -71,17 +71,13 @@ (defmacro while (condition &body body) `(block nil (%while ,condition ,@body))) - (defun internp (name) - (in name *package*)) - - (defun intern (name) - (if (internp name) - (oget *package* name) - (oset *package* name (make-symbol name)))) - (defun find-symbol (name) (oget *package* name)) + (defun intern (name) + (let ((s (find-symbol name))) + (if s s (oset *package* name (make-symbol name))))) + (defvar *gensym-counter* 0) (defun gensym (&optional (prefix "G")) (setq *gensym-counter* (+ *gensym-counter* 1))