From: Stefan Monnier <monnier@iro.umontreal.ca>
To: Juri Linkov <juri@linkov.net>
Cc: 39190@debbugs.gnu.org, Felician Nemeth <felician.nemeth@gmail.com>
Subject: bug#39190: 28.0.50; two buffers with same buffer-file-name (diff-syntax-fontify-props)
Date: Mon, 20 Jan 2020 18:34:34 -0500 [thread overview]
Message-ID: <jwvy2u17lwo.fsf-monnier+emacs@gnu.org> (raw)
In-Reply-To: <8736c921s6.fsf@mail.linkov.net> (Juri Linkov's message of "Tue, 21 Jan 2020 00:56:41 +0200")
> Stefan, do you think diff-syntax-fontify-props should let-bind
> after-change-major-mode-hook to nil to not allow running this hook
> on an internal buffer.
No, that's definitely not the right fix. It's at best a weak
workaround, but it won't handle the case where the code that depends on
`buffer-file-name` is placed on `foo-mode-hook` rather than on
`after-change-major-mode-hook`.
>> If I read correctly, diff-syntax-fontify-props sets buffer-file-name of
>> a temporary buffer to an existing one. This is not necessarily a bug,
>> but it definitely looks strange that we have two buffers with different
>> contents and the same buffer-file-name.
Yes, it's definitely borderline. I remember feeling a bit uneasy about
it at the time. Maybe a better fix would be to be able to pass the
file-name to `set-auto-mode` (or some new function created for that
purpose) as an argument (instead of passing it via dynamic scoping in
`buffer-file-name`).
BTW, I see somewhat similar code in `xref--collect-matches`, so maybe
there's a need for a more general solution (haven't looked any further,
but I'd be surprised if there aren't other cases).
> Or it's the responsibility of the eglot package to check for the
> leading space in the buffer name when its after-change-major-mode-hook
> is called?
The eglot package could protect itself from such things by making its
`after-change-major-mode-hook` just add the buffer to a global var, and
then process this global var in `post-command-hook` or in a timer.
Stefan
next prev parent reply other threads:[~2020-01-20 23:34 UTC|newest]
Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-01-19 11:14 bug#39190: 28.0.50; two buffers with same buffer-file-name (diff-syntax-fontify-props) Felician Nemeth
2020-01-20 22:56 ` Juri Linkov
2020-01-20 23:34 ` Stefan Monnier [this message]
2020-01-24 0:13 ` Juri Linkov
2020-01-24 14:18 ` Stefan Monnier
2020-01-28 0:01 ` Juri Linkov
2020-01-28 1:30 ` Stefan Monnier
2020-01-28 3:32 ` Eli Zaretskii
2020-01-28 13:58 ` Stefan Monnier
2020-01-28 14:54 ` Dmitry Gutov
2020-01-28 22:53 ` Juri Linkov
2020-01-28 17:54 ` Eli Zaretskii
2020-01-28 20:12 ` Stefan Monnier
2020-01-28 20:23 ` Eli Zaretskii
2020-01-28 23:17 ` Stefan Monnier
2020-01-29 17:13 ` Eli Zaretskii
2020-01-29 21:33 ` Stefan Monnier
2020-01-30 14:17 ` Eli Zaretskii
2020-01-30 14:34 ` Stefan Monnier
2020-01-30 22:50 ` Juri Linkov
2020-01-30 23:09 ` Stefan Monnier
2020-01-30 23:31 ` Dmitry Gutov
2020-01-26 19:34 ` Felician Nemeth
2020-01-28 0:05 ` Juri Linkov
2020-01-28 17:18 ` Felician Nemeth
2020-01-29 23:07 ` Juri Linkov
2020-01-30 19:48 ` Felician Nemeth
2020-01-30 22:45 ` Juri Linkov
2020-02-02 9:42 ` Felician Nemeth
2020-02-02 13:50 ` Stefan Monnier
2020-02-02 23:41 ` Juri Linkov
2020-02-03 13:14 ` Dmitry Gutov
2020-02-03 22:44 ` Juri Linkov
2020-02-04 13:08 ` Dmitry Gutov
2020-02-03 22:45 ` Juri Linkov
2020-02-04 13:36 ` Stefan Monnier
2020-02-04 23:20 ` Juri Linkov
2020-02-05 22:39 ` Juri Linkov
2020-02-09 16:06 ` Felician Nemeth
2020-02-18 0:06 ` Juri Linkov
2020-02-18 13:33 ` Stefan Monnier
2020-02-18 22:53 ` Juri Linkov
2020-02-18 23:07 ` Stefan Monnier
2020-02-18 23:31 ` Stefan Monnier
2020-02-19 0:49 ` Juri Linkov
2020-02-19 13:20 ` Stefan Monnier
2020-02-20 0:58 ` Juri Linkov
2020-03-24 21:37 ` Juri Linkov
2020-03-24 22:29 ` Stefan Monnier
2020-03-25 20:39 ` Juri Linkov
2020-03-25 21:13 ` Stefan Monnier
2020-03-25 21:48 ` Juri Linkov
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=jwvy2u17lwo.fsf-monnier+emacs@gnu.org \
--to=monnier@iro.umontreal.ca \
--cc=39190@debbugs.gnu.org \
--cc=felician.nemeth@gmail.com \
--cc=juri@linkov.net \
/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.