diff options
author | Matthias Andreas Benkard <matthias@benkard.de> | 2008-07-31 19:56:23 +0200 |
---|---|---|
committer | Matthias Andreas Benkard <matthias@benkard.de> | 2008-07-31 19:56:23 +0200 |
commit | 01b311eaf70c95d68a0cbaa4117863f1771a9f3b (patch) | |
tree | c17ad17741780e79addc7c347bbee402f9d04cc8 | |
parent | 783810557ff05c3d52aedc03628df7b0d862948b (diff) |
GO, RETURN-FROM: Use EQ instead of EQL when looking for a tag name.
-rw-r--r-- | control-flow.lisp | 11 | ||||
-rw-r--r-- | list-functions-2.lisp | 3 |
2 files changed, 9 insertions, 5 deletions
diff --git a/control-flow.lisp b/control-flow.lisp index d9998e2..cb4f329 100644 --- a/control-flow.lisp +++ b/control-flow.lisp @@ -19,7 +19,7 @@ (in-package #:common-lisp) (export '(identity constantly complement tagbody go block return-from - defconstant prog prog* macrolet flet)) + defconstant prog prog* macrolet flet prog1 prog2)) (defun identity (x) @@ -68,7 +68,8 @@ (defmacro return-from (block-name &optional value &environment env) `(throw ',(cdr (assoc block-name (cadr (macroexpand `(,+block-mapping-sym+) - env)))) + env)) + :test 'eq)) ,value)) @@ -82,9 +83,11 @@ (defmacro go (tag &environment env) `(throw ',(cdr (assoc tag (cadr (macroexpand `(,+go-tag-catch-tag-mapping-sym+) - env)))) + env)) + :test 'eq)) (function ,(cdr (assoc tag (cadr (macroexpand `(,+go-tag-function-mapping-sym+) - env))))))) + env)) + :test 'eq))))) (defmacro tagbody (&body body) (let* (labels-and-catch-tags diff --git a/list-functions-2.lisp b/list-functions-2.lisp index 9bdb53e..09003a4 100644 --- a/list-functions-2.lisp +++ b/list-functions-2.lisp @@ -19,7 +19,8 @@ (in-package #:common-lisp) (export '(copy-tree assoc assoc-if assoc-if-not rassoc rassoc-if - rassoc-if-not sublis nsublis mapcar mapcan mapcon)) + rassoc-if-not sublis nsublis mapcar mapcan mapcon acons + reverse nreverse)) (defun copy-tree (tree) |