summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Andreas Benkard <code@mail.matthias.benkard.de>2013-07-18 17:17:47 +0200
committerMatthias Andreas Benkard <code@mail.matthias.benkard.de>2013-07-18 17:17:47 +0200
commit3241feaf8315c7aa04d7d914480472e016134a40 (patch)
treed8dc519ef48d7c47abce5c5cc78d97f5a61682fb
parentdeee773f77c013a7306033beb036ba670270c74d (diff)
TAGBODY: Support non-symbols as tags.
-rw-r--r--sb-eval2.lisp4
1 files changed, 2 insertions, 2 deletions
diff --git a/sb-eval2.lisp b/sb-eval2.lisp
index 0a2828e..2614bd3 100644
--- a/sb-eval2.lisp
+++ b/sb-eval2.lisp
@@ -132,7 +132,7 @@
(append (funcall f context) (and parent (context-collect parent f)))))
(defun context-find-go-tag (context go-tag)
(let ((parent (context-parent context)))
- (or (cdr (assoc (the symbol go-tag) (context-go-tags context)))
+ (or (cdr (assoc (the atom go-tag) (context-go-tags context)))
(and parent (context-find-go-tag parent go-tag)))))
(defun context-find-symbol-macro (context symmac)
(let ((parent (context-parent context)))
@@ -165,7 +165,7 @@
(let ((tag next-form)
(current-forms (loop for current-form = (pop forms)
do (setq next-form current-form)
- until (symbolp current-form)
+ until (atom current-form)
collect current-form)))
(cons tag current-forms))))))
(defun context-var-lexical-p (context var)