[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: |
Stefan Monnier |
Subject: |
Re: emacs-lisp/cl.el (pushnew): void-variable x |
Date: |
Tue, 12 Sep 2006 09:22:49 -0400 |
User-agent: |
Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (gnu/linux) |
>> 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...
> Yup, and it even looks like cl-macs.el has the machinery in place to do
> that, it's just very hard to follow (lots of levels of compiler-macros).
> However I think it normally doesn't "take" because the default
> comparison function for pushnew is `eql', not eq, so there's no non-cl
> way to express the result; that's why it uses member*.
[...]
> The following patche seems to implement this:
Looks good to me,
Stefan
- emacs-lisp/cl.el (pushnew): void-variable x, Reiner Steib, 2006/09/11
- Re: emacs-lisp/cl.el (pushnew): void-variable x, Kim F. Storm, 2006/09/11
- Re: emacs-lisp/cl.el (pushnew): void-variable x, Reiner Steib, 2006/09/11
- Re: emacs-lisp/cl.el (pushnew): void-variable x, Richard Stallman, 2006/09/11
- Re: emacs-lisp/cl.el (pushnew): void-variable x, Kim F. Storm, 2006/09/11
- Re: emacs-lisp/cl.el (pushnew): void-variable x, Miles Bader, 2006/09/11
- Re: emacs-lisp/cl.el (pushnew): void-variable x, Stefan Monnier, 2006/09/11
- Re: emacs-lisp/cl.el (pushnew): void-variable x, Miles Bader, 2006/09/12
- Re: emacs-lisp/cl.el (pushnew): void-variable x, Miles Bader, 2006/09/12
- Re: emacs-lisp/cl.el (pushnew): void-variable x, Kim F. Storm, 2006/09/12
- Re: emacs-lisp/cl.el (pushnew): void-variable x,
Stefan Monnier <=
- Re: emacs-lisp/cl.el (pushnew): void-variable x, Richard Stallman, 2006/09/12
- Re: emacs-lisp/cl.el (pushnew): void-variable x, Johan Bockgård, 2006/09/13
- Re: emacs-lisp/cl.el (pushnew): void-variable x, Miles Bader, 2006/09/14
- Re: emacs-lisp/cl.el (pushnew): void-variable x, Kim F. Storm, 2006/09/20
- Re: emacs-lisp/cl.el (pushnew): void-variable x, Miles Bader, 2006/09/20
- Re: emacs-lisp/cl.el (pushnew): void-variable x, Kim F. Storm, 2006/09/21
- Re: emacs-lisp/cl.el (pushnew): void-variable x, Miles Bader, 2006/09/21
- Re: emacs-lisp/cl.el (pushnew): void-variable x, Kim F. Storm, 2006/09/21
- Re: emacs-lisp/cl.el (pushnew): void-variable x, Richard Stallman, 2006/09/21
- Re: emacs-lisp/cl.el (pushnew): void-variable x, Kim F. Storm, 2006/09/22