GNU bug report logs -
#69404
Loss of latex-mode fontification when loading libraries in latex-mode-hook that require json-mode
Previous Next
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 69404 in the body.
You can then email your comments to 69404 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#69404
; Package
emacs
.
(Mon, 26 Feb 2024 09:29:02 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Gabriele Nicolardi <gabriele <at> medialab.sissa.it>
:
New bug report received and forwarded. Copy sent to
bug-gnu-emacs <at> gnu.org
.
(Mon, 26 Feb 2024 09:29:02 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Hi,
my actual scenario involves using |latex-mode-hook| to load some
libraries that require |json-mode|.
I replicated my issue in a MWE:
I have a |LaTeX| file:
|\documentclass{article} \usepackage{mwe} \begin{document} \blindtext
\noindent \includegraphics[width=.4\textwidth]{example-image-a}\hfill
\includegraphics[width=.4\textwidth]{example-image-b} \blindtext
\end{document} |
If I load it like this:
|emacs -Q test.tex |
I get this “correct” |latex-mode| fontification:
enter image description here <https://i.stack.imgur.com/J2nvW.png>
I have also a config file (I simplified it to obtain the feature):
|(add-hook 'latex-mode-hook #'(lambda () (package-initialize) (require
'json-mode))) |
If I load my |.tex| file like this:
|emacs -Q --eval "(load-file \"/tmp/config.el\")" test.tex |
I lose |latex-mode| fontification:
enter image description here <https://i.stack.imgur.com/pCKy8.png>
1. In the last case, to restore correct |latex-mode| fontification I
need to do |M-x latex-mode|
2. This problem does not happen with other packages or custom libraries
but, in my experience, it happens only for the |json-mode| package.
3. If I load |json-mode| “before” |latex-mode| I have no problem. E.g.
if I modify the |config.el| file this way:
|(package-initialize) (require 'json-mode) |
and I do:
|emacs -Q --eval "(load-file \"/tmp/config.el\")" test.tex |
I get the correct |latex-mode| fontification.
Am I doing something wrong or is it some kind of bug in |json-mode| or
in |Emacs|?
*Important note.* This didn’t happen with previous versions of |Emacs|.
Before upgrading to version 29.2, I was using version 27 and never
encountered this issue prior to the upgrade.
(I opened an issue on StackExchange where you can find the formatted
version, with figures, of this message:
https://emacs.stackexchange.com/q/80447/15606)
Best regards,
Gabriele Nicolardi
[Message part 2 (text/html, inline)]
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#69404
; Package
emacs
.
(Mon, 26 Feb 2024 13:05:02 GMT)
Full text and
rfc822 format available.
Message #8 received at 69404 <at> debbugs.gnu.org (full text, mbox):
> Date: Mon, 26 Feb 2024 10:27:53 +0100
> From: Gabriele Nicolardi <gabriele <at> medialab.sissa.it>
>
> I have a LaTeX file:
>
> \documentclass{article}
> \usepackage{mwe}
> \begin{document}
>
> \blindtext
>
> \noindent
> \includegraphics[width=.4\textwidth]{example-image-a}\hfill
> \includegraphics[width=.4\textwidth]{example-image-b}
>
> \blindtext
>
> \end{document}
>
> If I load it like this:
>
> emacs -Q test.tex
>
> I get this “correct” latex-mode fontification:
>
> I have also a config file (I simplified it to obtain the feature):
>
> (add-hook 'latex-mode-hook
> #'(lambda ()
> (package-initialize)
> (require 'json-mode)))
>
> If I load my .tex file like this:
>
> emacs -Q --eval "(load-file \"/tmp/config.el\")" test.tex
>
> I lose latex-mode fontification:
What is the value of major-mode after you load your .tex file as
above?
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#69404
; Package
emacs
.
(Mon, 26 Feb 2024 15:42:02 GMT)
Full text and
rfc822 format available.
Message #11 received at 69404 <at> debbugs.gnu.org (full text, mbox):
Il 26/02/24 14:03, Eli Zaretskii ha scritto:
>> Date: Mon, 26 Feb 2024 10:27:53 +0100
>> From: Gabriele Nicolardi <gabriele <at> medialab.sissa.it>
>>
>> I have a LaTeX file:
>>
>> \documentclass{article}
>> \usepackage{mwe}
>> \begin{document}
>>
>> \blindtext
>>
>> \noindent
>> \includegraphics[width=.4\textwidth]{example-image-a}\hfill
>> \includegraphics[width=.4\textwidth]{example-image-b}
>>
>> \blindtext
>>
>> \end{document}
>>
>> If I load it like this:
>>
>> emacs -Q test.tex
>>
>> I get this “correct” latex-mode fontification:
>>
>> I have also a config file (I simplified it to obtain the feature):
>>
>> (add-hook 'latex-mode-hook
>> #'(lambda ()
>> (package-initialize)
>> (require 'json-mode)))
>>
>> If I load my .tex file like this:
>>
>> emacs -Q --eval "(load-file \"/tmp/config.el\")" test.tex
>>
>> I lose latex-mode fontification:
> What is the value of major-mode after you load your .tex file as
> above?
In the buffer loaded as above, with the wrong fontification, I have:
major-mode is a variable defined in ‘C source code’.
Its value is ‘latex-mode’
Original value was ‘fundamental-mode’
Local in buffer test.tex; global value is fundamental-mode
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#69404
; Package
emacs
.
(Mon, 26 Feb 2024 16:21:02 GMT)
Full text and
rfc822 format available.
Message #14 received at 69404 <at> debbugs.gnu.org (full text, mbox):
> Date: Mon, 26 Feb 2024 16:41:15 +0100
> Cc: 69404 <at> debbugs.gnu.org
> From: Gabriele Nicolardi <gabriele <at> medialab.sissa.it>
>
>
> Il 26/02/24 14:03, Eli Zaretskii ha scritto:
> >> If I load my .tex file like this:
> >>
> >> emacs -Q --eval "(load-file \"/tmp/config.el\")" test.tex
> >>
> >> I lose latex-mode fontification:
> > What is the value of major-mode after you load your .tex file as
> > above?
>
> In the buffer loaded as above, with the wrong fontification, I have:
>
> major-mode is a variable defined in ‘C source code’.
>
>
> Its value is ‘latex-mode’
> Original value was ‘fundamental-mode’
> Local in buffer test.tex; global value is fundamental-mode
Then I suggest to look for the reason in json-mode.el. For example,
this part:
(add-to-list 'magic-fallback-mode-alist '("^[{[]$" . json-mode))
could change the global state when you load json-mode.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#69404
; Package
emacs
.
(Mon, 26 Feb 2024 16:43:01 GMT)
Full text and
rfc822 format available.
Message #17 received at 69404 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Il 26/02/24 16:57, Eli Zaretskii ha scritto:
>> In the buffer loaded as above, with the wrong fontification, I have:
>>
>> major-mode is a variable defined in ‘C source code’.
>>
>>
>> Its value is ‘latex-mode’
>> Original value was ‘fundamental-mode’
>> Local in buffer test.tex; global value is fundamental-mode
> Then I suggest to look for the reason in json-mode.el. For example,
> this part:
>
> (add-to-list 'magic-fallback-mode-alist '("^[{[]$" . json-mode))
>
> could change the global state when you load json-mode.
I opened and issue on the json-mode GitHub project page.
[Message part 2 (text/html, inline)]
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#69404
; Package
emacs
.
(Wed, 28 Feb 2024 13:31:02 GMT)
Full text and
rfc822 format available.
Message #20 received at 69404 <at> debbugs.gnu.org (full text, mbox):
Indeed it was a bug in json-mode.el
https://github.com/json-emacs/json-mode/issues/79
Thanks!
Gabriele Nicolardi
Il 26/02/24 16:57, Eli Zaretskii ha scritto:
>> Date: Mon, 26 Feb 2024 16:41:15 +0100
>> Cc: 69404 <at> debbugs.gnu.org
>> From: Gabriele Nicolardi <gabriele <at> medialab.sissa.it>
>>
>>
>> Il 26/02/24 14:03, Eli Zaretskii ha scritto:
>>>> If I load my .tex file like this:
>>>>
>>>> emacs -Q --eval "(load-file \"/tmp/config.el\")" test.tex
>>>>
>>>> I lose latex-mode fontification:
>>> What is the value of major-mode after you load your .tex file as
>>> above?
>> In the buffer loaded as above, with the wrong fontification, I have:
>>
>> major-mode is a variable defined in ‘C source code’.
>>
>>
>> Its value is ‘latex-mode’
>> Original value was ‘fundamental-mode’
>> Local in buffer test.tex; global value is fundamental-mode
> Then I suggest to look for the reason in json-mode.el. For example,
> this part:
>
> (add-to-list 'magic-fallback-mode-alist '("^[{[]$" . json-mode))
>
> could change the global state when you load json-mode.
Reply sent
to
Eli Zaretskii <eliz <at> gnu.org>
:
You have taken responsibility.
(Wed, 28 Feb 2024 13:43:02 GMT)
Full text and
rfc822 format available.
Notification sent
to
Gabriele Nicolardi <gabriele <at> medialab.sissa.it>
:
bug acknowledged by developer.
(Wed, 28 Feb 2024 13:43:02 GMT)
Full text and
rfc822 format available.
Message #25 received at 69404-done <at> debbugs.gnu.org (full text, mbox):
> Date: Wed, 28 Feb 2024 14:29:40 +0100
> Cc: 69404 <at> debbugs.gnu.org
> From: Gabriele Nicolardi <gabriele <at> medialab.sissa.it>
>
> Indeed it was a bug in json-mode.el
>
> https://github.com/json-emacs/json-mode/issues/79
Thanks for telling us, I'm therefore closing this bug.
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Thu, 28 Mar 2024 11:24:07 GMT)
Full text and
rfc822 format available.
This bug report was last modified 1 year and 134 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.