all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
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.



  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

* 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.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.