Subject: bug#49971: 28.0.50; indent-tabs-mode not working globally

From: Andreas Schwab <[email-masked]>
Date: Tue, 10 Aug 2021 14:08:19 +0200

On Aug 10 2021, Eli Zaretskii wrote:

>> From: Gabriel <[email-masked]>
>> Date: Mon, 09 Aug 2021 23:33:37 -0300
>> 
>> >> 1. emacs -Q
>> >> 2. C-h v 'indent-tabs-mode' (value is t)
>> >> 3. eval '(indent-tabs-mode -1)'
>> >> 4. C-h v 'indent-tabs-mode' (local value is nil; global value is t)
>> >
>> > Where did you see that it's "defined as global"?
>> 
>> On simple.el:
>> 
>> (define-minor-mode indent-tabs-mode
>>   "Toggle whether indentation can insert TAB characters."
>>   :global t :group 'indent :variable indent-tabs-mode)
>
> That's the mode, but in your recipe you are looking at the variable,
> not the mode.  And the documentation of the variable clearly says:
>
>   Automatically becomes buffer-local when set.

That's because it's explicitly made that way (bindings.el:799) despite
the :global declaration (which is about the _variable_ not the mode).

Andreas.

-- 
Andreas Schwab, [email-masked]
GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510  2552 DF73 E780 A9DA AEC1
"And now for something completely different."