From 01b311eaf70c95d68a0cbaa4117863f1771a9f3b Mon Sep 17 00:00:00 2001 From: Matthias Andreas Benkard Date: Thu, 31 Jul 2008 19:56:23 +0200 Subject: GO, RETURN-FROM: Use EQ instead of EQL when looking for a tag name. --- control-flow.lisp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'control-flow.lisp') 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 -- cgit v1.2.3