mirror of
https://gitlab.com/embeddable-common-lisp/ecl.git
synced 2026-01-15 05:43:19 -08:00
Reimplement WITH-UNIQUE-NAMES using LET* and GENSYM instead of block-gensym
This commit is contained in:
parent
9866109ea6
commit
c4cf6ad491
1 changed files with 5 additions and 5 deletions
|
|
@ -134,11 +134,11 @@
|
|||
;;; Incidentally, this is essentially the same operator which
|
||||
;;; _On Lisp_ calls WITH-GENSYMS.
|
||||
(defmacro with-unique-names (symbols &body body)
|
||||
`(let ,(mapcar (lambda (symbol)
|
||||
(let* ((symbol-name (symbol-name symbol))
|
||||
(stem (if (every #'alpha-char-p symbol-name)
|
||||
`(let* ,(mapcar (lambda (symbol)
|
||||
(let* ((symbol-name (symbol-name symbol))
|
||||
(stem (if (every #'alpha-char-p symbol-name)
|
||||
symbol-name
|
||||
(concatenate 'string symbol-name "-"))))
|
||||
`(,symbol (block-gensym ,stem))))
|
||||
symbols)
|
||||
`(,symbol (gensym ,stem))))
|
||||
symbols)
|
||||
,@body))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue