summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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)