--- Begin Message ---
Subject: |
23.0.60; permanent-local not honored for word-wrap |
Date: |
Sun, 21 Sep 2008 22:31:49 +0200 |
User-agent: |
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.9) Gecko/20071031 Thunderbird/2.0.0.9 Mnenhy/0.7.5.666 |
In a new buffer evaluate this:
(put 'word-wrap 'permanent-local t)
(setq word-wrap t)
(kill-all-local-variables)
and then look at word-wrap. It is nil, but it should be t.
In GNU Emacs 23.0.60.1 (i386-mingw-nt5.1.2600)
of 2008-09-18
Windowing system distributor `Microsoft Corp.', version 5.1.2600
configured using `configure --with-gcc (3.4) --no-opt --cflags
-Ic:/g/include -fno-crossjumping'
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#1013: 23.0.60; permanent-local not honored for word-wrap |
Date: |
Mon, 22 Sep 2008 16:37:22 +0200 |
User-agent: |
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.9) Gecko/20071031 Thunderbird/2.0.0.9 Mnenhy/0.7.5.666 |
Stefan Monnier wrote:
>> (put 'word-wrap 'permanent-local t)
>> (setq word-wrap t)
>> (kill-all-local-variables)
>
>> and then look at word-wrap. It is nil, but it should be t.
>
> Why should it? word-wrap is automatically made local, so the `setq' is
> really like (set (make-local-variable 'word-wrap) t), thus not changing
> the global value at which is you'll be looking in the end.
I just tested with truncate-lines. Same bug as with word-wrap.
Both `word-wrap' and `truncate-lines' are defined using
DEFVAR_PER_BUFFER. My guess is that there is a bug in DEFVAR_PER_BUFFER
or something related to that.
Stefan, could it be that you forgot about `permanent-local' when you
implemented this?
--- End Message ---