GNU bug report logs - #21507
25.0.50: (global-SOME-MINOR-MODE) not affecting fundamental mode buffers

Previous Next

Package: emacs;

Reported by: Kaushal Modi <kaushal.modi <at> gmail.com>

Date: Thu, 17 Sep 2015 16:17:02 UTC

Severity: minor

Found in version 25.0.50

Done: Lars Ingebrigtsen <larsi <at> gnus.org>

Bug is archived. No further changes may be made.

Full log


Message #8 received at 21507 <at> debbugs.gnu.org (full text, mbox):

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Kaushal Modi <kaushal.modi <at> gmail.com>
Cc: 21507 <at> debbugs.gnu.org, Drew Adams <drew.adams <at> oracle.com>
Subject: Re: bug#21507: 25.0.50: (global-SOME-MINOR-MODE) not affecting
 fundamental mode buffers
Date: Mon, 28 Dec 2020 01:28:44 +0100
Kaushal Modi <kaushal.modi <at> gmail.com> writes:

> Please review the below code, eval and run it and proceed with my explanation
> after the code.

It had to be adjusted a bit:

;; my1-mode - init value nil - enabled using its global variant
(define-minor-mode my1-mode
  ""
  :init-value nil
  :lighter " my1")
(defun turn-on-my1-mode () (my1-mode 1))
(define-globalized-minor-mode global-my1-mode my1-mode turn-on-my1-mode)
(global-my1-mode)

;; my2-mode - init value nil - enabled using setq-default
(define-minor-mode my2-mode
  ""
  :init-value nil
  :lighter " my2")
(defun turn-on-my2-mode () (my2-mode 1))
(define-globalized-minor-mode global-my2-mode my2-mode turn-on-my2-mode)
(setq-default my2-mode t)

;; my3-mode - init value t (so enabled by default)
(define-minor-mode my3-mode
  ""
  :init-value t
  :lighter " my3")

> My minor mode is of the type my1-mode above where the init value is
> nil but I enable it in my config using (global-my1-mode).
>
> The global enabling of my1-mode is seen everywhere, all the newly
> created buffers except for the cases where a package would create some
> sort of temp buffer using `get-buffer-create'. Such buffers would be
> in Fundamental mode by default and I noticed that the
> (global-my1-mode) had no effect on those buffers.

I'm still seeing this behaviour in Emacs 28.

> If I tweak my minor mode to be of my2-mode (change the init value to
> t)or my3-mode (force the init value to t using setq-default) types
> above, then my minor mode gets enabled globally in true sense (even in
> buffers created using get-create-buffer).
>
> In essence, setting the init value as t is not the same as enabling a
> globalized minor mode.
>
> Is this by design? 

Anybody know?

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




This bug report was last modified 3 years and 359 days ago.

Previous Next


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