Mercurial > hg > xemacs-beta
diff lisp/cl-macs.el @ 5342:174aed57a32a
Require that NAME be an unquoted symbol, #'block, #'return-from
2011-01-22 Aidan Kehoe <kehoea@parhasard.net>
* cl-macs.el (block, return-from): Require that NAME be a symbol
in these macros, as always documented in the #'block docstring and
as required by Common Lisp.
* descr-text.el (unidata-initialize-unihan-database):
Correct the use of non-symbols in #'block and #'return-from in
this function.
author | Aidan Kehoe <kehoea@parhasard.net> |
---|---|
date | Sat, 22 Jan 2011 17:20:19 +0000 |
parents | ba62563ec7c7 |
children | b4ef3128160c |
line wrap: on
line diff
--- a/lisp/cl-macs.el Sat Jan 15 17:24:06 2011 +0000 +++ b/lisp/cl-macs.el Sat Jan 22 17:20:19 2011 +0000 @@ -745,7 +745,8 @@ called from BODY." (if (cl-safe-expr-p (cons 'progn body)) (cons 'progn body) (list 'cl-block-wrapper - (list* 'catch (list 'quote (intern (format "--cl-block-%s--" name))) + (list* 'catch (list 'quote (intern (concat "--cl-block-" + (symbol-name name) "--"))) body)))) (defvar cl-active-block-names nil) @@ -788,7 +789,7 @@ returning RESULT from that form (or nil if RESULT is omitted). This is compatible with Common Lisp, but note that `defun' and `defmacro' do not create implicit blocks as they do in Common Lisp." - (let ((name2 (intern (format "--cl-block-%s--" name)))) + (let ((name2 (intern (concat "--cl-block-" (symbol-name name) "--")))) (list 'cl-block-throw (list 'quote name2) result)))