GNU bug report logs -
#12314
24.2.50; `add-to-history': use `setq' with `delete'
Previous Next
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
> 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.