GNU bug report logs - #12314
24.2.50; `add-to-history': use `setq' with `delete'

Previous Next

Package: emacs;

Reported by: "Drew Adams" <drew.adams <at> oracle.com>

Date: Thu, 30 Aug 2012 23:10:01 UTC

Severity: normal

Found in version 24.2.50

Done: Chong Yidong <cyd <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: "Drew Adams" <drew.adams <at> oracle.com>
To: "'Eli Zaretskii'" <eliz <at> gnu.org>, "'Chong Yidong'" <cyd <at> gnu.org>
Cc: 12314 <at> debbugs.gnu.org
Subject: bug#12314: 24.2.50; `add-to-history': use `setq' with `delete'
Date: Sat, 8 Sep 2012 07:57:12 -0700
> Does this mean the ELisp manual is in error?  It says:
> 
>  -- Function: delete object sequence
>      If `sequence' is a list, this function destructively removes all
>      elements `equal' to OBJECT from SEQUENCE.
>      ...
>      If `sequence' is a vector or string, `delete' returns a copy of
>      `sequence' with all elements `equal' to `object' removed.
> 
> 'history' is a list, isn't it?

Yes, it is a list.  What is your point/question?

Keep reading the same section of the manual (section for `delete'):

  ;; If you want to change `l' reliably,
  ;; write `(setq l (delete '(2) l))'.

There is more explanation higher up in the same node, under `delq':

 Don't assume that a variable
 which formerly held the argument LIST now has fewer elements,
 or that it still holds the original list!  Instead, save the
 result of `delq' and use that.  Most often we store the result
 back into the variable that held the original list:

     (setq flowers (delq 'rose flowers))

I would imagine that you already know this, so I'm likely missing something in
your question.  But if you don't already know this, or if you knew it but forgot
it, there's no harm/shame in that.  Does this help, or were you referring to
something else?





This bug report was last modified 12 years and 250 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.