[Top][All Lists]

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

Re: emacs-lisp/cl.el (pushnew): void-variable x

From: Kim F. Storm
Subject: Re: emacs-lisp/cl.el (pushnew): void-variable x
Date: Wed, 13 Sep 2006 09:34:58 +0200
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (gnu/linux)

Stefan Monnier <address@hidden> writes:

>>     Honestly, I think using `add-to-list' here makes no sense.  Since we
>>     have the variable as a symbol and we're macro-expanding, we can just
>>     use `(unless (member ,element ,var) (setq ,var (cons ,element ,var)))
>>     That'll be a lot more efficient than going through a function call to
>>     add-to-list, using an aux-var accessed via symbol-value and set and
>>     checking `append' arg etc...
>> Maybe you're right, but note that it can't actually be `member' in
>> this case, not by default, since the default comparison function for
>> pushnew is `eql'.
> So you agree with me: it makes no sense to use add-to-list since add-to-list
> uses `equal'.

Which is why RMS modified add-to-list to take another optional arg.

Which is why I said that the add-to-list approach is a mess.

Kim F. Storm <address@hidden> http://www.cua.dk

reply via email to

[Prev in Thread] Current Thread [Next in Thread]