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
Message #73 received at 12314 <at> debbugs.gnu.org (full text, mbox):
Eli Zaretskii <eliz <at> gnu.org> writes:
> But the manual should cater first and foremost to newbies. The rest
> will get the point when they read the detailed description of how the
> list is modified.
I modified the manual to hopefully make the situation clearer. In
particular, the descriptions of delq and delete explicitly say that you
typically ought to use the return value.
The docstrings are harder, since they should be succinct. Here is what
I suggest; WDYT?
(delq ELT LIST)
Delete by side effect occurrences of ELT as a member of LIST.
Comparison is done with `eq'. Return the resulting list.
More precisely, this function skips any occurrences of ELT at the
front of LIST, then removes occurrences of ELT from the remaining
sublist by modifying the list structure, then returns the resulting
sublist.
Therefore, write `(setq foo (delq element foo))' to be sure of
changing the value of `foo'.
(delete ELT SEQ)
Delete occurrence of ELT as a member of SEQ.
SEQ must be a sequence (i.e. a list, a vector, or a string).
Comparison is done with `equal'. Return the resulting sequence.
If SEQ is a list, this behaves like `delq', except that it compares
with `equal' instead of `eq'. In particular, it may remove elements
by altering the list structure.
If SEQ is not a list, deletion is not a side effect; this function
creates and returns a new sequence.
Therefore, write `(setq foo (delete element foo))'
to be sure of changing the value of `foo'.
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.