summaryrefslogtreecommitdiff
path: root/control-flow.lisp
diff options
context:
space:
mode:
authorMatthias Andreas Benkard <matthias@benkard.de>2008-08-03 10:44:22 +0200
committerMatthias Andreas Benkard <matthias@benkard.de>2008-08-03 10:44:22 +0200
commit109a0a68366842862997ea48d97f9f1429102c03 (patch)
tree1fd70544775936fcd5348afa08f4fcc45e5cc784 /control-flow.lisp
parent4f4f0aad6db508de2a59d29b59cc738a6ece4c4d (diff)
Add RETURN.
Diffstat (limited to 'control-flow.lisp')
-rw-r--r--control-flow.lisp6
1 files changed, 5 insertions, 1 deletions
diff --git a/control-flow.lisp b/control-flow.lisp
index b2c9953..a52b691 100644
--- a/control-flow.lisp
+++ b/control-flow.lisp
@@ -19,7 +19,8 @@
(in-package #:common-lisp)
(export '(identity constantly complement tagbody go block return-from
- defconstant prog prog* macrolet flet prog1 prog2 labels))
+ return defconstant prog prog* macrolet flet prog1 prog2
+ labels))
(defun identity (x)
@@ -82,6 +83,9 @@
:test 'eq))
,value))
+(defmacro return (&optional value)
+ `(return-from nil ,value))
+
;; FIXME: Should be (EVAL-WHEN (:compile-toplevel) ...).
(unless (boundp '+go-tag-function-mapping-sym+)