GNU bug report logs - #5971
23.1.95; `delete' modifies default value instead of buffer-local value

Previous Next

Package: emacs;

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

Date: Mon, 19 Apr 2010 02:43:02 UTC

Severity: minor

Tags: notabug, wontfix

Done: Glenn Morris <rgm <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Stefan Monnier <monnier <at> iro.umontreal.ca>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#5971: marked as done (23.1.95; `delete' modifies default
 value instead of buffer-local value)
Date: Mon, 19 Apr 2010 07:29:02 +0000
[Message part 1 (text/plain, inline)]
Your message dated Mon, 19 Apr 2010 02:25:02 -0400
with message-id <jwvbpdgufit.fsf-monnier+emacs <at> gnu.org>
and subject line Re: bug#5971: 23.1.95; `delete' modifies default value instead of buffer-local value
has caused the GNU bug report #5971,
regarding 23.1.95; `delete' modifies default value instead of buffer-local value
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact help-debbugs <at> gnu.org
immediately.)


-- 
5971: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=5971
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: "Drew Adams" <drew.adams <at> oracle.com>
To: <bug-gnu-emacs <at> gnu.org>
Subject: 23.1.95; `delete' modifies default value instead of buffer-local value
Date: Sun, 18 Apr 2010 19:41:18 -0700
Visit this file, without loading it:
http://www.emacswiki.org/emacs/wide-n.el
 
Change this line:
(setq wide-n-restrictions
      (remove (cons mrk1 mrk2) wide-n-restrictions))
 
To this:
(setq wide-n-restrictions
      (delete (cons mrk1 mrk2) wide-n-restrictions))
 
Then load the file (with `delete'). Then:
 
In some buffer X, do `C-x n n', then `C-x n x'.
Check the value of variable `wide-n-restrictions'.
 
In another buffer Y, just check the value of the variable. You will see
that the default value, which should be `(all)', has been changed to be what the
new value is for buffer X.
 
Try the same thing again (starting from scratch), but using `remove' (the
original code) instead of `delete'. There is no problem now: only the
buffer-local value is ever set.

This doesn't seem right to me.
 
In GNU Emacs 23.1.95.1 (i386-mingw-nt5.1.2600)
 of 2010-04-03 on G41R2F1
Windowing system distributor `Microsoft Corp.', version 5.1.2600
configured using `configure --with-gcc (3.4) --no-opt --cflags
-Ic:/imagesupport/include'





[Message part 3 (message/rfc822, inline)]
From: Stefan Monnier <monnier <at> iro.umontreal.ca>
To: "Drew Adams" <drew.adams <at> oracle.com>
Subject: Re: bug#5971: 23.1.95;
	`delete' modifies default value instead of buffer-local value
Date: Mon, 19 Apr 2010 02:25:02 -0400
>> > This doesn't seem right to me.
>> Why not?  That's the whole reason for the existence of two functions:
>> `delete' and `remove'.
> I'm aware that `delete' modifies the list structure and `remove' uses
> a copy.  What I don't understand is the interaction with a default
> value instead of a buffer-local value.  Why would `delete' cause the
> behavior described?

Why not?


        Stefan


PS: Closing this.  You can continue the discussion on gnu.emacs.help
(or even comp.lang.lisp, tho I never read that one and they're probably
not that familiar with buffer-local variables).


This bug report was last modified 13 years and 321 days ago.

Previous Next


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