[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: Thu, 21 Sep 2006 15:17:22 +0200
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (gnu/linux)

Miles Bader <address@hidden> writes:

> IIRC, the reason for Richard's change was simply to make pushnew with
> default arguments (no :test keyword arg) usable in compiled code that
> only does (eval-when-compile (require 'cl)) -- before that wasn't the
> case because the default predicate for pushnew/adjoin/member* was `eql',
> which prevented the cl compile-time optimizations from removing calls to
> member*.

You are right.

> My change to the member* (and adjoin) _compiler-macros_, and the addition
> of memql, fixes that very common case, allowing the cl compiler macros
> to do their job and get rid of runtime calls to cl functions in most cases.

Can you pls. clean up the code to DTRT, i.e. reverting the changes to
pushnew and installing your change to adjoin (assuming that the change
to member* is ok).


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

reply via email to

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