From: Juri Linkov <juri@linkov.net>
To: Stefan Monnier <monnier@iro.umontreal.ca>
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: Wed, 19 Feb 2020 02:49:21 +0200 [thread overview]
Message-ID: <87r1yr2yge.fsf@mail.linkov.net> (raw)
In-Reply-To: <jwvd0abfpag.fsf-monnier+emacs@gnu.org> (Stefan Monnier's message of "Tue, 18 Feb 2020 18:31:38 -0500")
>> That's kinda hard if you want to use define-derived-mode and we do: when
>> we call `conf-foo-mode` the first things it does is: bind
>> `delay-mode-hooks` and call the parent (`conf-mode`), so the only
>> difference between this call to the parent and a direct call to the
>> generic entry point is the binding of `delay-mode-hooks`.
>
> IOW, I think we should start with something like the patch below which
> makes `conf-guess-mode` available, after which we can start fixing the
> various callers to call `conf-guess-mode` instead.
I tested this with additional patch that replaces `conf-mode` calls with
`conf-guess-mode`, and see that syntax font-lock now is fixed in diff-mode
on some conf files (not tested on all possible conf submodes).
diff --git a/lisp/files.el b/lisp/files.el
index 683f4a8ce7..3e1cf5e526 100644
--- a/lisp/files.el
+++ b/lisp/files.el
@@ -2813,7 +2813,7 @@ auto-mode-alist
("/config\\.\\(?:bat\\|log\\)\\'" . fundamental-mode)
("/\\.\\(authinfo\\|netrc\\)\\'" . authinfo-mode)
;; Windows candidates may be opened case sensitively on Unix
- ("\\.\\(?:[iI][nN][iI]\\|[lL][sS][tT]\\|[rR][eE][gG]\\|[sS][yY][sS]\\)\\'" . conf-mode)
+ ("\\.\\(?:[iI][nN][iI]\\|[lL][sS][tT]\\|[rR][eE][gG]\\|[sS][yY][sS]\\)\\'" . conf-guess-mode)
("\\.la\\'" . conf-unix-mode)
("\\.ppd\\'" . conf-ppd-mode)
("java.+\\.conf\\'" . conf-javaprop-mode)
@@ -2822,15 +2822,15 @@ auto-mode-alist
("\\.desktop\\'" . conf-desktop-mode)
("/\\.redshift.conf\\'" . conf-windows-mode)
("\\`/etc/\\(?:DIR_COLORS\\|ethers\\|.?fstab\\|.*hosts\\|lesskey\\|login\\.?de\\(?:fs\\|vperm\\)\\|magic\\|mtab\\|pam\\.d/.*\\|permissions\\(?:\\.d/.+\\)?\\|protocols\\|rpc\\|services\\)\\'" . conf-space-mode)
- ("\\`/etc/\\(?:acpid?/.+\\|aliases\\(?:\\.d/.+\\)?\\|default/.+\\|group-?\\|hosts\\..+\\|inittab\\|ksysguarddrc\\|opera6rc\\|passwd-?\\|shadow-?\\|sysconfig/.+\\)\\'" . conf-mode)
+ ("\\`/etc/\\(?:acpid?/.+\\|aliases\\(?:\\.d/.+\\)?\\|default/.+\\|group-?\\|hosts\\..+\\|inittab\\|ksysguarddrc\\|opera6rc\\|passwd-?\\|shadow-?\\|sysconfig/.+\\)\\'" . conf-guess-mode)
;; ChangeLog.old etc. Other change-log-mode entries are above;
;; this has lower priority to avoid matching changelog.sgml etc.
("[cC]hange[lL]og[-.][-0-9a-z]+\\'" . change-log-mode)
;; either user's dot-files or under /etc or some such
- ("/\\.?\\(?:gitconfig\\|gnokiirc\\|hgrc\\|kde.*rc\\|mime\\.types\\|wgetrc\\)\\'" . conf-mode)
+ ("/\\.?\\(?:gitconfig\\|gnokiirc\\|hgrc\\|kde.*rc\\|mime\\.types\\|wgetrc\\)\\'" . conf-guess-mode)
;; alas not all ~/.*rc files are like this
- ("/\\.\\(?:asound\\|enigma\\|fetchmail\\|gltron\\|gtk\\|hxplayer\\|mairix\\|mbsync\\|msmtp\\|net\\|neverball\\|nvidia-settings-\\|offlineimap\\|qt/.+\\|realplayer\\|reportbug\\|rtorrent\\.\\|screen\\|scummvm\\|sversion\\|sylpheed/.+\\|xmp\\)rc\\'" . conf-mode)
- ("/\\.\\(?:gdbtkinit\\|grip\\|mpdconf\\|notmuch-config\\|orbital/.+txt\\|rhosts\\|tuxracer/options\\)\\'" . conf-mode)
+ ("/\\.\\(?:asound\\|enigma\\|fetchmail\\|gltron\\|gtk\\|hxplayer\\|mairix\\|mbsync\\|msmtp\\|net\\|neverball\\|nvidia-settings-\\|offlineimap\\|qt/.+\\|realplayer\\|reportbug\\|rtorrent\\.\\|screen\\|scummvm\\|sversion\\|sylpheed/.+\\|xmp\\)rc\\'" . conf-guess-mode)
+ ("/\\.\\(?:gdbtkinit\\|grip\\|mpdconf\\|notmuch-config\\|orbital/.+txt\\|rhosts\\|tuxracer/options\\)\\'" . conf-guess-mode)
("/\\.?X\\(?:default\\|resource\\|re\\)s\\>" . conf-xdefaults-mode)
("/X11.+app-defaults/\\|\\.ad\\'" . conf-xdefaults-mode)
("/X11.+locale/.+/Compose\\'" . conf-colon-mode)
@@ -2920,7 +2920,7 @@ conf-mode-maybe
(goto-char (point-min))
(looking-at "<\\?xml \\|<!-- \\|<!DOCTYPE ")))
(xml-mode)
- (conf-mode)))
+ (conf-guess-mode)))
(defvar interpreter-mode-alist
;; Note: The entries for the modes defined in cc-mode.el (awk-mode
next prev parent reply other threads:[~2020-02-19 0:49 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
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 [this message]
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
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=87r1yr2yge.fsf@mail.linkov.net \
--to=juri@linkov.net \
--cc=39190@debbugs.gnu.org \
--cc=felician.nemeth@gmail.com \
--cc=monnier@iro.umontreal.ca \
/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 public inbox
https://git.savannah.gnu.org/cgit/emacs.git
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).