Subject: Re: bug#12314: 24.2.50; `add-to-history': use `setq' with `delete'

From: Eli Zaretskii <[email-masked]>
Date: Mon, 10 Sep 2012 19:24:44 +0300

> From: Stefan Monnier <[email-masked]>
> Cc: [email-masked],  [email-masked],  [email-masked]
> Date: Mon, 10 Sep 2012 08:59:26 -0400
> 
> > See my other message: I think we are talking about 2 different
> > things.  My gripe was only about using the term "destructive
> > modification", which muddies the waters without gaining anything.
> 
> I don't know, to me "destructive modification" sounds like a very clear
> term explaining the general kind of danger we're up against (the kind
> that's summarized in Scheme by adding a "!" at the end of the
> identifier).

Alas, the manual itself gives no basis for such an interpretation.  It
says (in two different places):

  You can modify the CAR and CDR contents of a cons cell with the
  primitives `setcar' and `setcdr'.  We call these "destructive"
  operations because they change existing list structure.

  Here are some functions that rearrange lists "destructively" by
  modifying the CDRs of their component cons cells.  We call these
  functions "destructive" because they chew up the original lists passed
  to them as arguments, relinking their cons cells to form a new list that
  is the returned value.

The only danger I glean from these is the "danger" of assigning any
meaning to the original list.