diff options
author | Matthias Andreas Benkard <code@mail.matthias.benkard.de> | 2013-07-18 17:17:47 +0200 |
---|---|---|
committer | Matthias Andreas Benkard <code@mail.matthias.benkard.de> | 2013-07-18 17:17:47 +0200 |
commit | 3241feaf8315c7aa04d7d914480472e016134a40 (patch) | |
tree | d8dc519ef48d7c47abce5c5cc78d97f5a61682fb | |
parent | deee773f77c013a7306033beb036ba670270c74d (diff) |
TAGBODY: Support non-symbols as tags.
-rw-r--r-- | sb-eval2.lisp | 4 |
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) |