summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Andreas Benkard <matthias@benkard.de>2008-07-31 19:56:23 +0200
committerMatthias Andreas Benkard <matthias@benkard.de>2008-07-31 19:56:23 +0200
commit01b311eaf70c95d68a0cbaa4117863f1771a9f3b (patch)
treec17ad17741780e79addc7c347bbee402f9d04cc8
parent783810557ff05c3d52aedc03628df7b0d862948b (diff)
GO, RETURN-FROM: Use EQ instead of EQL when looking for a tag name.
-rw-r--r--control-flow.lisp11
-rw-r--r--list-functions-2.lisp3
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)