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)))