Package: emacs;
Reported by: TANIKAWAKoji <kojie.yk <at> icloud.com>
Date: Thu, 10 Apr 2025 14:09:02 UTC
Severity: normal
Tags: unreproducible
Found in version 30.1
Done: Eli Zaretskii <eliz <at> gnu.org>
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: TANIKAWAKoji <kojie.yk <at> icloud.com> To: bug-gnu-emacs <at> gnu.org Subject: 30.1; xml-mode enters infinite loop when saving with unclosed XML comment Date: Thu, 10 Apr 2025 16:49:25 +0900
To reproduce: 1. emacs -Q 2. Open a new buffer and enter: <!-- 3. Set mode to xml-mode: M-x xml-mode 4. Save buffer: C-x C-s Expected: Save succeeds, or a warning about unclosed comment. Actual: Emacs enters an infinite loop or hangs. Requires external termination. Notes: - Adding --> afterwards doesn't clear the loop unless syntax-propertize is run manually. - Occurs reliably in xml-mode, not in nxml-mode. - Possibly related to scan-sexps or syntax-propertize caching. System: - Emacs 29.x on macOS (Apple Silicon) - Reproducible: 100% In GNU Emacs 30.1 (build 1, aarch64-apple-darwin21.6.0, NS appkit-2113.65 Version 12.7.6 (Build 21H1320)) of 2025-02-24 built on armbob.lan Windowing system distributor 'Apple', version 10.3.2575 System Description: macOS 15.3.1 Configured using: 'configure --with-ns '--enable-locallisppath=/Library/Application Support/Emacs/${version}/site-lisp:/Library/Application Support/Emacs/site-lisp' --with-modules 'CFLAGS=-DFD_SETSIZE=10000 -DDARWIN_UNLIMITED_SELECT' --with-x-toolkit=no' Configured features: ACL GLIB GMP GNUTLS JPEG LIBXML2 MODULES NOTIFY KQUEUE NS PDUMPER PNG RSVG SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER WEBP XIM ZLIB Important settings: value of $LANG: ja_JP.UTF-8 locale-coding-system: utf-8-unix Major mode: nXML Minor modes in effect: helm-mode: t helm-minibuffer-history-mode: t rng-validate-mode: t global-undo-tree-mode: t undo-tree-mode: t which-key-mode: t override-global-mode: t global-hl-line-mode: t global-display-line-numbers-mode: t display-line-numbers-mode: t tooltip-mode: t global-eldoc-mode: t show-paren-mode: t electric-indent-mode: t mouse-wheel-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-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: /Users/kojie/.emacs.d/elpa/which-key-20240620.2145/which-key hides /Applications/Emacs.app/Contents/Resources/lisp/which-key /Users/kojie/.emacs.d/elpa/transient-20250205.2244/transient hides /Applications/Emacs.app/Contents/Resources/lisp/transient Features: (shadow sort mail-extr emacsbug message yank-media puny rfc822 mml mml-sec epa derived epg rfc6068 epg-config gnus-util mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils winner tramp-archive tramp-gvfs dbus xml helm-command helm-elisp helm-eval edebug debug backtrace helm-info helm-mode helm-misc helm-files image-dired image-dired-tags image-dired-external image-dired-util image-mode dired dired-loaddefs exif filenotify tramp trampver tramp-integration files-x tramp-message tramp-compat xdg shell parse-time iso8601 tramp-loaddefs helm-buffers helm-x-icons helm-occur helm-tags helm-locate helm-grep helm-regexp helm-utils helm-help helm-types helm helm-global-bindings helm-easymenu helm-core helm-source helm-multi-match helm-lib async rng-xsd xsd-regexp rng-cmpct rng-nxml rng-valid rng-loc rng-uri rng-parse nxml-parse rng-match rng-dt rng-util rng-pttrn nxml-ns nxml-mode nxml-outln nxml-rap sgml-mode facemenu dom nxml-util nxml-enc xmltok company-oddmuse company-keywords company-etags company-gtags company-dabbrev-code company-dabbrev company-files company-clang company-capf company-cmake company-semantic company-template company-bbdb company flycheck rainbow-mode color org ob ob-tangle ob-ref ob-lob ob-table ob-exp org-macro org-src sh-script treesit executable ob-comint org-pcomplete pcomplete org-list org-footnote org-faces org-entities time-date noutline outline org-version ob-emacs-lisp ob-core ob-eval org-cycle org-table ol org-fold org-fold-core org-keys oc org-loaddefs find-func cal-menu calendar cal-loaddefs org-compat org-macs format-spec undo-tree diff queue which-key lua-mode edmacro kmacro perl-mode ruby-mode smie rust-utils rust-prog-mode rx rust-mode rust-playpen rust-cargo rust-common rust-rustfmt rust-compile go-mode find-file ffap thingatpt etags fileloop generator xref project compile text-property-search comint ansi-osc ansi-color ring cl-extra help-mode use-package use-package-ensure use-package-delight use-package-diminish use-package-bind-key bind-key easy-mmode use-package-core finder-inf hl-line display-line-numbers company-autoloads flycheck-autoloads go-mode-autoloads helm-autoloads helm-core-autoloads async-autoloads lsp-ui-autoloads lsp-mode-autoloads f-autoloads lua-mode-autoloads magit-autoloads pcase magit-section-autoloads llama-autoloads markdown-mode-autoloads neotree-autoloads python-mode-autoloads rainbow-mode-autoloads rust-mode-autoloads spinner-autoloads transient-autoloads treemacs-autoloads cfrs-autoloads posframe-autoloads ht-autoloads hydra-autoloads lv-autoloads pfuture-autoloads ace-window-autoloads avy-autoloads s-autoloads dash-autoloads undo-tree-autoloads queue-autoloads wfnames-autoloads which-key-autoloads with-editor-autoloads info yatex-autoloads package browse-url url url-proxy url-privacy url-expand url-methods url-history url-cookie generate-lisp-file url-domsuf url-util mailcap url-handlers url-parse auth-source cl-seq eieio eieio-core cl-macs icons password-cache json subr-x map byte-opt gv bytecomp byte-compile url-vars cl-loaddefs cl-lib japan-util rmc iso-transl tooltip cconv eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel term/ns-win ns-win ucs-normalize mule-util term/common-win 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 kqueue cocoa ns multi-tty make-network-process emacs) Memory information: ((conses 16 492670 105067) (symbols 48 33810 1) (strings 32 167280 14163) (string-bytes 1 4288032) (vectors 16 60305) (vector-slots 8 1205224 78794) (floats 8 339 57) (intervals 56 1288 187) (buffers 992 15))
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.