GNU bug report logs -
#79215
31.0.50; emacs build fails with tree-sitter (bisected)
Previous Next
Reported by: German Pacenza <germanp82 <at> hotmail.com>
Date: Mon, 11 Aug 2025 11:40:01 UTC
Severity: normal
Found in version 31.0.50
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 79215 in the body.
You can then email your comments to 79215 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#79215
; Package
emacs
.
(Mon, 11 Aug 2025 11:40:01 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
German Pacenza <germanp82 <at> hotmail.com>
:
New bug report received and forwarded. Copy sent to
bug-gnu-emacs <at> gnu.org
.
(Mon, 11 Aug 2025 11:40:01 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
*****
Hi.
In a clean emacs source tree:
./autogen.sh
./configure
make or make bootstrap
make[3]: Entering directory '/home/german/repos/emacs-test/lisp'
ELC treesit.elc
ELC progmodes/php-ts-mode.elc
ELC textmodes/mhtml-ts-mode.elc
Tree-sitter grammar for `jsdoc' is missing; install it? (y or n)
In toplevel form:
progmodes/php-ts-mode.el:72:11: Error: End of file during parsing: Error
reading from stdin
make[3]: *** [Makefile:330: progmodes/php-ts-mode.elc] Error 1
make[3]: Leaving directory '/home/german/repos/emacs-test/lisp'
make[2]: *** [Makefile:365: compile-main] Error 2
make[2]: Leaving directory '/home/german/repos/emacs-test/lisp'
make[1]: *** [Makefile:529: lisp] Error 2
make[1]: Leaving directory '/home/german/repos/emacs-test'
make[1]: Entering directory '/home/german/repos/emacs-test'
***
I bisected it to commit bd62f57efd3206fc5764e9e592206be820002500
In GNU Emacs 31.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version
3.24.49, cairo version 1.18.4) of 2025-08-03 built on KRONOS
Repository revision: 92f52805f9e99068ff07148a3a76b1d97e77adbf
Repository branch: feature/igc
System Description: Manjaro Linux
Configured using:
'configure 'CFLAGS=-O3 -s' --with-mps --with-pgtk
--enable-link-time-optimization --disable-gc-mark-trace'
Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG
LCMS2 LIBOTF LIBSYSTEMD LIBXML2 MODULES MPS NATIVE_COMP NOTIFY INOTIFY
PDUMPER PGTK PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF
TOOLKIT_SCROLL_BARS TREE_SITTER WEBP XIM GTK3 ZLIB
Important settings:
value of $LANG: en_US.UTF-8
locale-coding-system: utf-8-unix
Major mode: Fundamental
Minor modes in effect:
delete-selection-mode: t
savehist-mode: t
vertico-posframe-mode: t
vertico-mode: t
nerd-icons-completion-mode: t
marginalia-mode: t
electric-pair-mode: t
tooltip-mode: t
global-eldoc-mode: t
eldoc-mode: t
show-paren-mode: t
electric-indent-mode: t
mouse-wheel-mode: t
tool-bar-mode: t
menu-bar-mode: t
file-name-shadow-mode: t
global-font-lock-mode: t
font-lock-mode: t
minibuffer-regexp-mode: t
line-number-mode: t
transient-mark-mode: t
auto-composition-mode: t
auto-encryption-mode: t
auto-compression-mode: t
Load-path shadows:
/home/german/.emacs.d/elpa/ef-themes-1.10.0/theme-loaddefs hides
/home/german/.emacs.d/elpa/standard-themes-2.2.0/theme-loaddefs
/home/german/.emacs.d/elpa/ef-themes-1.10.0/theme-loaddefs hides
/home/german/repos/emacs-igc-wt/lisp/theme-loaddefs
Features:
(shadow sort mail-extr compile comint ansi-osc ansi-color ring emacsbug
lisp-mnt gnus-async qp gnus-ml disp-table gnus-topic hl-line
cursor-sensor nndraft nnmh nnmaildir epa-file network-stream nsm nnnil
gnus-agent gnus-srvr gnus-score score-mode nnvirtual gnus-msg gnus-art
mm-uu mml2015 mm-view mml-smime smime gnutls dig nntp gnus-cache
gnus-sum shr pixel-fill kinsoku url-file svg dom gnus-group gnus-undo
warnings gnus-start gnus-dbus dbus xml gnus-cloud nnimap nnmail
browse-url xdg url url-proxy url-privacy url-expand url-methods
url-history url-cookie generate-lisp-file url-domsuf url-util url-parse
auth-source eieio eieio-core cl-macs icons json map url-vars mail-source
utf7 nnoo parse-time iso8601 gnus-spec gnus-int gnus-range message
sendmail mailcap yank-media puny dired dired-loaddefs rfc822 mml mml-sec
password-cache epa derived epg rfc6068 epg-config mm-decode mm-bodies
mm-encode mail-parse rfc2231 rfc2047 rfc2045 ietf-drums mailabbrev
gmm-utils mailheader gnus-win gnus nnheader gnus-util
text-property-search time-date mail-utils range mm-util mail-prsvr
wid-edit cl-seq cl-extra help-mode mule-util vertico-sort subr-x
comp-run comp-common rx delsel savehist vertico-posframe
vertico-multiform posframe vertico nerd-icons-completion byte-opt gv
bytecomp byte-compile nerd-icons nerd-icons-faces nerd-icons-data
nerd-icons-data-mdicon nerd-icons-data-flicon nerd-icons-data-codicon
nerd-icons-data-devicon nerd-icons-data-sucicon nerd-icons-data-wicon
nerd-icons-data-faicon nerd-icons-data-powerline nerd-icons-data-octicon
nerd-icons-data-pomicon nerd-icons-data-ipsicon cl-loaddefs cl-lib
marginalia compat init elec-pair info autothemer-autoloads
cape-autoloads debbugs-autoloads doric-themes-autoloads
easy-kill-autoloads eat-autoloads ef-themes-autoloads elfeed-autoloads
embark-consult-autoloads consult-autoloads embark-autoloads
gcmh-autoloads gptel-autoloads hyprlang-ts-mode-autoloads
i3wm-config-mode-autoloads kdl-mode-autoloads kkp-autoloads
marginalia-autoloads markdown-mode-autoloads
nerd-icons-completion-autoloads nerd-icons-dired-autoloads
nerd-icons-autoloads ninja-mode-autoloads nov-autoloads esxml-autoloads
odin-mode-autoloads orderless-autoloads org-modern-autoloads
pdf-tools-autoloads qml-ts-mode-autoloads rainbow-mode-autoloads
spacious-padding-autoloads speedrect-autoloads standard-themes-autoloads
status-autoloads tablist-autoloads treemacs-autoloads cfrs-autoloads
ht-autoloads hydra-autoloads lv-autoloads pfuture-autoloads
ace-window-autoloads avy-autoloads s-autoloads dash-autoloads
vertico-posframe-autoloads vertico-autoloads visible-mark-autoloads
visual-fill-column-autoloads which-key-posframe-autoloads
posframe-autoloads xah-fly-keys-autoloads yeetube-autoloads
yuck-mode-autoloads zig-mode-autoloads early-init g3r-dark-theme rmc
iso-transl tooltip cconv eldoc paren electric uniquify ediff-hook
vc-hooks lisp-float-type elisp-mode mwheel term/pgtk-win pgtk-win
term/common-win touch-screen pgtk-dnd tool-bar dnd fontset image
regexp-opt fringe tabulated-list replace newcomment text-mode lisp-mode
prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu
timer select scroll-bar mouse jit-lock font-lock syntax font-core
term/tty-colors frame minibuffer nadvice seq simple cl-generic
indonesian philippine cham georgian utf-8-lang misc-lang vietnamese
tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek
romanian slovak czech european ethiopic indian cyrillic chinese
composite emoji-zwj charscript charprop case-table epa-hook
jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs
theme-loaddefs faces cus-face macroexp files window text-properties
overlay sha1 md5 base64 format env code-pages mule custom widget keymap
hashtable-print-readable backquote threads dbusbind inotify
dynamic-setting system-font-setting font-render-setting cairo gtk pgtk
lcms2 multi-tty move-toolbar make-network-process tty-child-frames
native-compile mps emacs)
Memory information:
((conses 24 0 0) (symbols 56 0 0) (strings 40 0 0) (string-bytes 1 0)
(vectors 24 0) (vector-slots 8 0 0) (floats 24 0 0)
(intervals 64 0 0) (buffers 1072 0))
--
German Pacenza
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#79215
; Package
emacs
.
(Mon, 11 Aug 2025 13:31:01 GMT)
Full text and
rfc822 format available.
Message #8 received at 79215 <at> debbugs.gnu.org (full text, mbox):
> Date: Mon, 11 Aug 2025 08:33:46 -0300
> From: German Pacenza <germanp82 <at> hotmail.com>
>
> *****
>
> Hi.
>
> In a clean emacs source tree:
> ./autogen.sh
> ./configure
> make or make bootstrap
>
> make[3]: Entering directory '/home/german/repos/emacs-test/lisp'
> ELC treesit.elc
> ELC progmodes/php-ts-mode.elc
> ELC textmodes/mhtml-ts-mode.elc
> Tree-sitter grammar for `jsdoc' is missing; install it? (y or n)
> In toplevel form:
> progmodes/php-ts-mode.el:72:11: Error: End of file during parsing: Error
> reading from stdin
> make[3]: *** [Makefile:330: progmodes/php-ts-mode.elc] Error 1
> make[3]: Leaving directory '/home/german/repos/emacs-test/lisp'
> make[2]: *** [Makefile:365: compile-main] Error 2
> make[2]: Leaving directory '/home/german/repos/emacs-test/lisp'
> make[1]: *** [Makefile:529: lisp] Error 2
> make[1]: Leaving directory '/home/german/repos/emacs-test'
> make[1]: Entering directory '/home/german/repos/emacs-test'
> ***
>
> I bisected it to commit bd62f57efd3206fc5764e9e592206be820002500
Thanks. Does the patch below fix the problem?
diff --git a/lisp/textmodes/mhtml-ts-mode.el b/lisp/textmodes/mhtml-ts-mode.el
index 66bb27c..4182eca 100644
--- a/lisp/textmodes/mhtml-ts-mode.el
+++ b/lisp/textmodes/mhtml-ts-mode.el
@@ -452,7 +452,7 @@ mhtml-ts-mode--range-settings
;; jsdoc is not mandatory for js-ts-mode, so we respect this by
;; adding jsdoc range rules only when jsdoc is available.
- (when (treesit-ensure-installed 'jsdoc)
+ (when (treesit-language-available-p 'jsdoc t)
(treesit-range-rules
:embed 'jsdoc
:host 'javascript
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#79215
; Package
emacs
.
(Mon, 11 Aug 2025 14:10:02 GMT)
Full text and
rfc822 format available.
Message #11 received at 79215 <at> debbugs.gnu.org (full text, mbox):
Yes, it works.
On 8/11/25 10:30, Eli Zaretskii wrote:
>> Date: Mon, 11 Aug 2025 08:33:46 -0300
>> From: German Pacenza <germanp82 <at> hotmail.com>
>>
>> *****
>>
>> Hi.
>>
>> In a clean emacs source tree:
>> ./autogen.sh
>> ./configure
>> make or make bootstrap
>>
>> make[3]: Entering directory '/home/german/repos/emacs-test/lisp'
>> ELC treesit.elc
>> ELC progmodes/php-ts-mode.elc
>> ELC textmodes/mhtml-ts-mode.elc
>> Tree-sitter grammar for `jsdoc' is missing; install it? (y or n)
>> In toplevel form:
>> progmodes/php-ts-mode.el:72:11: Error: End of file during parsing: Error
>> reading from stdin
>> make[3]: *** [Makefile:330: progmodes/php-ts-mode.elc] Error 1
>> make[3]: Leaving directory '/home/german/repos/emacs-test/lisp'
>> make[2]: *** [Makefile:365: compile-main] Error 2
>> make[2]: Leaving directory '/home/german/repos/emacs-test/lisp'
>> make[1]: *** [Makefile:529: lisp] Error 2
>> make[1]: Leaving directory '/home/german/repos/emacs-test'
>> make[1]: Entering directory '/home/german/repos/emacs-test'
>> ***
>>
>> I bisected it to commit bd62f57efd3206fc5764e9e592206be82000
> Thanks. Does the patch below fix the problem?
>
> diff --git a/lisp/textmodes/mhtml-ts-mode.el b/lisp/textmodes/mhtml-ts-mode.el
> index 66bb27c..4182eca 100644
> --- a/lisp/textmodes/mhtml-ts-mode.el
> +++ b/lisp/textmodes/mhtml-ts-mode.el
> @@ -452,7 +452,7 @@ mhtml-ts-mode--range-settings
>
> ;; jsdoc is not mandatory for js-ts-mode, so we respect this by
> ;; adding jsdoc range rules only when jsdoc is available.
> - (when (treesit-ensure-installed 'jsdoc)
> + (when (treesit-language-available-p 'jsdoc t)
> (treesit-range-rules
> :embed 'jsdoc
> :host 'javascript
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#79215
; Package
emacs
.
(Mon, 11 Aug 2025 15:51:02 GMT)
Full text and
rfc822 format available.
Message #14 received at 79215 <at> debbugs.gnu.org (full text, mbox):
> Date: Mon, 11 Aug 2025 11:09:02 -0300
> Cc: 79215 <at> debbugs.gnu.org
> From: German Pacenza <germanp82 <at> hotmail.com>
>
> Yes, it works.
Thanks. Vincenzo, are you okay with the change?
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#79215
; Package
emacs
.
(Mon, 11 Aug 2025 16:25:02 GMT)
Full text and
rfc822 format available.
Message #17 received at 79215 <at> debbugs.gnu.org (full text, mbox):
> Thanks. Does the patch below fix the problem?
> [...]
> - (when (treesit-ensure-installed 'jsdoc)
> + (when (treesit-language-available-p 'jsdoc t)
'c-ts-mode' uses such a nice solution that the 'doxygen' grammar
that more-less corresponds to the 'jsdoc' grammar has
a user option 'c-ts-mode-enable-doxygen' that is used like this:
(when (and c-ts-mode-enable-doxygen
(treesit-ensure-installed 'doxygen))
'jsdoc' could do the same with a new option
'js-ts-mode-enable-jsdoc'.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#79215
; Package
emacs
.
(Mon, 11 Aug 2025 16:55:02 GMT)
Full text and
rfc822 format available.
Message #20 received at 79215 <at> debbugs.gnu.org (full text, mbox):
> From: Juri Linkov <juri <at> linkov.net>
> Cc: German Pacenza <germanp82 <at> hotmail.com>, Vincenzo Pupillo
> <v.pupillo <at> gmail.com>, 79215 <at> debbugs.gnu.org
> Date: Mon, 11 Aug 2025 19:20:24 +0300
>
> > Thanks. Does the patch below fix the problem?
> > [...]
> > - (when (treesit-ensure-installed 'jsdoc)
> > + (when (treesit-language-available-p 'jsdoc t)
>
> 'c-ts-mode' uses such a nice solution that the 'doxygen' grammar
> that more-less corresponds to the 'jsdoc' grammar has
> a user option 'c-ts-mode-enable-doxygen' that is used like this:
>
> (when (and c-ts-mode-enable-doxygen
> (treesit-ensure-installed 'doxygen))
>
> 'jsdoc' could do the same with a new option
> 'js-ts-mode-enable-jsdoc'.
The above code is not run when mhtml-ts-mode is activated, it is run
when the file is loaded, because it is part of the default value of a
defvar. So in that case we simply should silently avoid the
evaluation if the grammar is not available, regardless of the user
option, I think.
I do agree that a similar option could be a good idea for
mhtml-ts-mode, but that would be unrelated to this code.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#79215
; Package
emacs
.
(Mon, 11 Aug 2025 18:21:02 GMT)
Full text and
rfc822 format available.
Message #23 received at 79215 <at> debbugs.gnu.org (full text, mbox):
Ciao Eli,
In data lunedì 11 agosto 2025 17:50:14 Ora legale dell’Europa centrale, Eli
Zaretskii ha scritto:
> > Date: Mon, 11 Aug 2025 11:09:02 -0300
> > Cc: 79215 <at> debbugs.gnu.org
> > From: German Pacenza <germanp82 <at> hotmail.com>
> >
> > Yes, it works.
>
> Thanks. Vincenzo, are you okay with the change?
Yes.
Thanks.
Vincenzo
Reply sent
to
Eli Zaretskii <eliz <at> gnu.org>
:
You have taken responsibility.
(Mon, 11 Aug 2025 18:50:02 GMT)
Full text and
rfc822 format available.
Notification sent
to
German Pacenza <germanp82 <at> hotmail.com>
:
bug acknowledged by developer.
(Mon, 11 Aug 2025 18:50:02 GMT)
Full text and
rfc822 format available.
Message #28 received at 79215-done <at> debbugs.gnu.org (full text, mbox):
> From: Vincenzo Pupillo <v.pupillo <at> gmail.com>
> Cc: 79215 <at> debbugs.gnu.org
> Date: Mon, 11 Aug 2025 20:20:22 +0200
>
> Ciao Eli,
> In data lunedì 11 agosto 2025 17:50:14 Ora legale dell’Europa centrale, Eli
> Zaretskii ha scritto:
> > > Date: Mon, 11 Aug 2025 11:09:02 -0300
> > > Cc: 79215 <at> debbugs.gnu.org
> > > From: German Pacenza <germanp82 <at> hotmail.com>
> > >
> > > Yes, it works.
> >
> > Thanks. Vincenzo, are you okay with the change?
> Yes.
Thanks, installed on master, and closing the bug.
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Tue, 09 Sep 2025 11:24:05 GMT)
Full text and
rfc822 format available.
This bug report was last modified 1 day ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.