From: Rolf Ade <rolf@pointsman.de>
To: help-gnu-emacs@gnu.org
Subject: Re: Hook doesn't run as expected, if buffer mode is set from major-mode
Date: Sat, 09 Jan 2016 23:14:17 +0100 [thread overview]
Message-ID: <87io32qu2u.fsf@point.pointsman.de> (raw)
In-Reply-To: mailman.2012.1452305981.843.help-gnu-emacs@gnu.org
Michael Heerdegen <michael_heerdegen@web.de> writes:
> Rolf Ade <rolf@pointsman.de> writes:
>> But this documentation doesn't tell the truth.
>
> Or we all misunderstand it. In both cases, a bug report could be
> appropriate.
Unfortunately I feel a bit uncomfortable to express myself in English;
I'm afraid I can't make my point clear enough.
At the moment, I see two different, although related topics:
1) The (for my eyes) much more important fact is, that you may have two
files with identical content and which only differ in file name
suffix. Depending on your default major mode, your auto-mode-alist and
the mode hooks of your default major mode it is possible, that you open
the one of that file and then the other - and the two buffers have the
same major mode but are in a different state.
Or, to put it in other words: The effect (or the result or whatever the
appropriate word would be) of the mode hooks of your default major mode
depends not only on the elisp code of that hooks and the content of the
buffer, but - at least for me a bit surpising or unexpected - also on
the question if a new opened buffer get its major mode by a match in
auto-mode-alist or by default major mode.
2) The other, somewhat minor topic is the documentation of
`major-mode'. It suggests (although somewhat vague) that a new buffer
switches to the default mode (and run the mode hooks) in such an eary
state, that the contents aren't already read into the buffer (and
therefor, the hook code can't work on the content or have the content to
look at). This seems not to be true (at least not completely), from what
I see. Some mystery things happen, so that, at the end, it looks like it
would be so, as the documentation say, but it isn't true.
Are this two different bug reports?
And, out of curiosity, why are the things, as they seem to be? Why isn't
the process of opening a file just (schematic):
- Buffer is created
- Bile content is read into the buffer
- The major mode of the new buffer is searched by looking at
auto-mode-alist, interpreter-mode-alist and magic-mode-alist (and what
not else).
- If a major mode is found, in the step above, the buffers local
variable major-mode is set to this and the mode hooks do run.
- If no applicable mode was found, above, the mode of the new buffer is
the default mode and the hooks if that mode run.
next prev parent reply other threads:[~2016-01-09 22:14 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-01-08 19:58 Hook doesn't run as expected, if buffer mode is set from major-mode Rolf Ade
2016-01-08 21:20 ` Drew Adams
2016-01-08 23:32 ` Michael Heerdegen
[not found] ` <mailman.1999.1452288065.843.help-gnu-emacs@gnu.org>
2016-01-09 0:15 ` Rolf Ade
2016-01-09 2:07 ` Drew Adams
[not found] ` <mailman.2004.1452295936.843.help-gnu-emacs@gnu.org>
2016-01-09 0:36 ` Rolf Ade
2016-01-09 2:09 ` Drew Adams
2016-01-09 2:19 ` Michael Heerdegen
[not found] ` <mailman.2012.1452305981.843.help-gnu-emacs@gnu.org>
2016-01-09 22:14 ` Rolf Ade [this message]
2016-01-10 4:29 ` Michael Heerdegen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87io32qu2u.fsf@point.pointsman.de \
--to=rolf@pointsman.de \
--cc=help-gnu-emacs@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).