* How to disable abbrev-mode in all major modes?
@ 2024-10-18 23:34 Rodrigo Morales
2024-10-19 0:28 ` Kristoffer Balintona
2024-10-19 5:52 ` Michael Heerdegen via Users list for the GNU Emacs text editor
0 siblings, 2 replies; 3+ messages in thread
From: Rodrigo Morales @ 2024-10-18 23:34 UTC (permalink / raw)
To: help-gnu-emacs
Let me explain my use case: I want abbrev-mode to be disabled in all buffers because I want to expand abbreviations by explicitly calling the function =expand-abbrev=, but the default behavior is that abbreviations are expanded when pressing SPC, punctuations (e.g. PERIOD and COMMA) or C-i. After some investigation, I found out that abbrev-mode is enabled in message-mode (see next section for details on how I found that out).
I know that I can define a function that disables abbrev-mode and add it as a hook of those major modes where abbrev-mode is enabled by default, but I wonder if there is a cleaner way than doing this, because I don't want to be editing my configuration whenever I found out another major mode enables abbrev-mode by default.
#+BEGIN_SRC elisp
(defun my-abbrev-mode-disable ()
(abbrev-mode -1))
(add-hook 'message-mode-hook 'my-abbrev-mode-disable)
#+END_SRC
*** Finding out abbrev-mode is enabled in message-mode
I started Emacs by using the command shown below:
#+BEGIN_SRC sh
emacs -Q
#+END_SRC
In the buffer =*scratch*=, the value of the variable =abbrev-mode= was nil, so I conclude that =abbrev-mode= was not enabled. The major mode of the buffer =*scratch*= was =lisp-interaction-mode=.
I called compose-mail (by default bound to =C-x m= in GNU Emacs 29.4). In the buffer =*unsent mail*=, the value of the variable =abbrev-mode= was t, so I conclude that =abbrev-mode= was enabled. The major mode of the buffer =*unsent mail*= was =message-mode=.
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: How to disable abbrev-mode in all major modes?
2024-10-18 23:34 How to disable abbrev-mode in all major modes? Rodrigo Morales
@ 2024-10-19 0:28 ` Kristoffer Balintona
2024-10-19 5:52 ` Michael Heerdegen via Users list for the GNU Emacs text editor
1 sibling, 0 replies; 3+ messages in thread
From: Kristoffer Balintona @ 2024-10-19 0:28 UTC (permalink / raw)
To: Rodrigo Morales, help-gnu-emacs
On Fri, Oct 18 2024, Rodrigo Morales wrote:
> Let me explain my use case: I want abbrev-mode to be disabled in all buffers because I want to expand abbreviations by explicitly calling the function =expand-abbrev=, but the default behavior is that abbreviations are expanded when pressing SPC, punctuations (e.g. PERIOD and COMMA) or C-i. After some investigation, I found out that abbrev-mode is enabled in message-mode (see next section for details on how I found that out).
>
> I know that I can define a function that disables abbrev-mode and add it as a hook of those major modes where abbrev-mode is enabled by default, but I wonder if there is a cleaner way than doing this, because I don't want to be editing my configuration whenever I found out another major mode enables abbrev-mode by default.
>
> #+BEGIN_SRC elisp
> (defun my-abbrev-mode-disable ()
> (abbrev-mode -1))
> (add-hook 'message-mode-hook 'my-abbrev-mode-disable)
> #+END_SRC
>
> *** Finding out abbrev-mode is enabled in message-mode
>
> I started Emacs by using the command shown below:
>
> #+BEGIN_SRC sh
> emacs -Q
> #+END_SRC
>
> In the buffer =*scratch*=, the value of the variable =abbrev-mode= was nil, so I conclude that =abbrev-mode= was not enabled. The major mode of the buffer =*scratch*= was =lisp-interaction-mode=.
>
> I called compose-mail (by default bound to =C-x m= in GNU Emacs 29.4). In the buffer =*unsent mail*=, the value of the variable =abbrev-mode= was t, so I conclude that =abbrev-mode= was enabled. The major mode of the buffer =*unsent mail*= was =message-mode=.
>
I use (setq-default abbrev-mode t) to enable abbrev-mode globally, so I
think (setq-default abbrev-mode nil) would disable it globally. Though I
haven't tested this.
--
Best,
Kristoffer
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: How to disable abbrev-mode in all major modes?
2024-10-18 23:34 How to disable abbrev-mode in all major modes? Rodrigo Morales
2024-10-19 0:28 ` Kristoffer Balintona
@ 2024-10-19 5:52 ` Michael Heerdegen via Users list for the GNU Emacs text editor
1 sibling, 0 replies; 3+ messages in thread
From: Michael Heerdegen via Users list for the GNU Emacs text editor @ 2024-10-19 5:52 UTC (permalink / raw)
To: help-gnu-emacs
Rodrigo Morales <rodrigo-mailing-lists@morales.pe> writes:
> Let me explain my use case: I want abbrev-mode to be disabled in all
> buffers because I want to expand abbreviations by explicitly calling
> the function =expand-abbrev=, but the default behavior is that
> abbreviations are expanded when pressing SPC, punctuations
> (e.g. PERIOD and COMMA) or C-i. After some investigation, I found out
> that abbrev-mode is enabled in message-mode (see next section for
> details on how I found that out).
`message-mode' is an exception: its default setup enables abbrev-mode.
The general default of abbrev-mode is "off".
Specifically for `message-mode' you should, as far as I understand, just
disable `mail-abbrevs-mode' (default: enabled).
Michael
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2024-10-19 5:52 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-10-18 23:34 How to disable abbrev-mode in all major modes? Rodrigo Morales
2024-10-19 0:28 ` Kristoffer Balintona
2024-10-19 5:52 ` Michael Heerdegen via Users list for the GNU Emacs text editor
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).