[Date Prev][Date Next][Thread Prev][][Date Index][Thread Index]

Re: bogus change(s) in cl-macs.el



> First of all, I protest strongly that such a big change has not
> been recorded on the ChangeLog file.

The ChangeLog is somewhere, but as usual I forgot to commit it at the time
and now I'm working on another computer.  But trust me, it's not lost.

> *** cl-macs.el~	Tue Nov 16 21:54:14 2004
> --- cl-macs.el	Fri Nov 19 01:30:39 2004
> ***************
> *** 1314,1320 ****
>   \(fn ((FUNC ARGLIST BODY...) ...) FORM...)"
>     (let ((vars nil) (sets nil) (cl-macro-environment cl-macro-environment))
>       (while bindings
> !       (let ((var (make-symbol "--cl-var--")))
>   	(push var vars)
>   	(push (list 'function* (cons 'lambda (cdar bindings))) sets)
>   	(push var sets)
> --- 1314,1320 ----
>   \(fn ((FUNC ARGLIST BODY...) ...) FORM...)"
>     (let ((vars nil) (sets nil) (cl-macro-environment cl-macro-environment))
>       (while bindings
> !       (let ((var (gensym)))
>   	(push var vars)
>   	(push (list 'function* (cons 'lambda (cdar bindings))) sets)
>   	(push var sets)

It's odd that such a change would fix/break some code.
After all `gensym' is more or less doing (make-symbol (concat "G"
(random))), so other than the symbol's name, nothing is changed.
And since the symbol is uninterned, its name is mostly irrelevant, unless
some code later on uses `symbol-name' or does a print+read without using
print-gensym.

Maybe we'll indeed have to revert to gensym here, but I'd like to first
better understand the problem.

Could you give us a recipe to reproduce the problem, and a backtrace
if applicable.  Of course, ideally the recipe should not use emacs-w3m,
but as a first step it would still help to see a recipe and a description of
the resulting problem.


        Stefan