Subject: bug#6871: Please make linum-mode per buffer, not per major mode

From: Stefan Monnier <[email-masked]>
Date: Tue, 17 Aug 2010 14:11:55 +0200

>>> Line numbers should work even in multi major mode buffers. Please add
>>> the following lines to linum.el:
>> 
>>> (put 'linum-overlays  'permanent-local t)
>>> (put 'linum-available 'permanent-local t)
>>> (put 'linum-mode      'permanent-local t)
>> 
>> I don't think that's going to be sufficient: you'll probably at least
>> also want to remove the
>> 
>>        (add-hook 'change-major-mode-hook 'linum-delete-overlays nil t)
>> 
>> I.e. you can't just make some vars permanent-local, you have to adjust
>> the major mode from "mode-specific" to "permanent-local".

> Yes, I know. I have added code to take careof this for linum in
> mumamo.el. But we do not yet have code in Emacs for taking care of
> this more generally.

But your report is about fixing it in linum.el (where it belongs), which
means to turn linum-mode from a major-mode-specific minor-mode to
a permanent-local major-mode.  I think such a change is acceptable
(although the motivation of multi-major-mode buffers might not be that
compelling, since it tends to lead to the idea that most/all
minor-modes should be made permanent-local), but we need a proper patch
for it.

        Stefan