GNU bug report logs - #69404
Loss of latex-mode fontification when loading libraries in latex-mode-hook that require json-mode

Previous Next

Package: emacs;

Reported by: Gabriele Nicolardi <gabriele <at> medialab.sissa.it>

Date: Mon, 26 Feb 2024 09:29:01 UTC

Severity: normal

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

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.

View this report as an mbox folder, status mbox, maintainer mbox


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):

From: Gabriele Nicolardi <gabriele <at> medialab.sissa.it>
To: bug-gnu-emacs <at> gnu.org
Subject: Loss of latex-mode fontification when loading libraries in
 latex-mode-hook that require json-mode
Date: Mon, 26 Feb 2024 10:27:53 +0100
[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):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Gabriele Nicolardi <gabriele <at> medialab.sissa.it>
Cc: 69404 <at> debbugs.gnu.org
Subject: Re: bug#69404: Loss of latex-mode fontification when loading
 libraries in latex-mode-hook that require json-mode
Date: Mon, 26 Feb 2024 15:03:19 +0200
> 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):

From: Gabriele Nicolardi <gabriele <at> medialab.sissa.it>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 69404 <at> debbugs.gnu.org
Subject: Re: bug#69404: Loss of latex-mode fontification when loading
 libraries in latex-mode-hook that require json-mode
Date: Mon, 26 Feb 2024 16:41:15 +0100
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):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Gabriele Nicolardi <gabriele <at> medialab.sissa.it>
Cc: 69404 <at> debbugs.gnu.org
Subject: Re: bug#69404: Loss of latex-mode fontification when loading
 libraries in latex-mode-hook that require json-mode
Date: Mon, 26 Feb 2024 17:57:07 +0200
> 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):

From: Gabriele Nicolardi <gabriele <at> medialab.sissa.it>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 69404 <at> debbugs.gnu.org
Subject: Re: bug#69404: Loss of latex-mode fontification when loading
 libraries in latex-mode-hook that require json-mode
Date: Mon, 26 Feb 2024 17:24:12 +0100
[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):

From: Gabriele Nicolardi <gabriele <at> medialab.sissa.it>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 69404 <at> debbugs.gnu.org
Subject: Re: bug#69404: Loss of latex-mode fontification when loading
 libraries in latex-mode-hook that require json-mode
Date: Wed, 28 Feb 2024 14:29:40 +0100
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):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Gabriele Nicolardi <gabriele <at> medialab.sissa.it>
Cc: 69404-done <at> debbugs.gnu.org
Subject: Re: bug#69404: Loss of latex-mode fontification when loading
 libraries in latex-mode-hook that require json-mode
Date: Wed, 28 Feb 2024 15:41:24 +0200
> 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.