bug#81125: 30.2; 30.2; php-ts-mode font-lock fails with treesit-query-error although query validates
Philipp Sutter <[email protected]> Sat, 1 Aug 2026 16:31:29 +0200
| Newsgroups | gmane.emacs.bugs |
|---|---|
| Message-ID | <[email protected]> |
sorry, i was for some weeks not on my computer. Thank you. Your diagnosis was correct. My configuration installed tree-sitter-php from the |master|branch: |(php "https://github.com/tree-sitter/tree-sitter-php" "master" "php/src")| Since the temporary Git checkout no longer exists, I could not determine the exact commit of the previously installed library. However, direct query tests showed: |"callable" => treesit-query-error "from" => treesit-query-error "yield from" => valid (primitive_type) => valid| I then replaced the grammar with tree-sitter-php v0.23.11, as specified by Emacs 30.2. The query results are now: |"callable" => valid "from" => valid "yield from" => treesit-query-error (primitive_type) => valid| I also repeated the original reproducer. It now completes without a |treesit-query-error|and prints: |(php-ts-mode nil (php javascript css html))| The |nil|value of |font-lock-mode|is expected because the test runs with |--batch|; Emacs disables Font Lock mode in noninteractive batch mode. Therefore, the problem was caused by an incompatible tree-sitter-php grammar installed from |master|, not by my Emacs configuration or by php-ts-mode itself. Thank you for identifying the grammar-version mismatch. Philipp Am 01.08.26 um 10:59 schrieb Eli Zaretskii: > Ping! Ping! Ping! Philipp, please chime in. > >> Cc:[email protected] >> Date: Sat, 18 Jul 2026 11:29:29 +0300 >> From: Eli Zaretskii<[email protected]> >> >> Ping! Ping! Philipp, are you there? >> >>> Cc:[email protected] >>> Date: Sat, 04 Jul 2026 10:16:33 +0300 >>> From: Eli Zaretskii<[email protected]> >>> >>> Ping! Philipp, please respond. >>> >>>> Cc:[email protected] >>>> Date: Sat, 20 Jun 2026 11:29:53 +0300 >>>> From: Eli Zaretskii<[email protected]> >>>> >>>>> From: Vincenzo Pupillo<[email protected]> >>>>> Cc:[email protected] >>>>> Date: Mon, 15 Jun 2026 12:04:18 +0200 >>>>> >>>>> Ciao Eli, >>>>> I replied to Philipp (https://debbugs.gnu.org/cgi/bugreport.cgi?bug=81125#20). >>>>> With Emacs 30.2 and the parsers installed via `php-ts-mode-install-parsers', >>>>> it works correctly. I suspect the problem lies with the parser that Philipp >>>>> installed on his system, which I think is from the 26.x versions, whereas >>>>> those installed via `php-ts-mode-install-parsers' are from the previous >>>>> version. >>>> Thanks, and sorry for missing that response. >>>> >>>> Philipp, could you please answer Vincenzo's questions? >>>> >>>>> In data sabato 13 giugno 2026 10:41:23 Ora legale dell’Europa centrale, Eli >>>>> Zaretskii ha scritto: >>>>>> Ping! Vincenzo, could you please look into this using thefile >>>>>> provided by Philipp? >>>>>> >>>>>>> Date: Fri, 29 May 2026 17:00:39 +0200 >>>>>>> From: Philipp Sutter<[email protected]> >>>>>>> >>>>>>> hi Vincenzo, >>>>>>> >>>>>>> attached the file structur.php >>>>>>> >>>>>>> ciao >>>>>>> >>>>>>> Am 26.05.26 um 19:15 schrieb Vincenzo Pupillo: >>>>>>>> Ciao Philipp, >>>>>>>> thank you for the bug report. Could you please attach the file >>>>>>>> /var/www/html/webSite/pageElement/structur.php mentioned in the bug >>>>>>>> report? >>>>>>>> >>>>>>>> Thanks. >>>>>>>> >>>>>>>> Vincenzo >>>>>>>> >>>>>>>> In data martedì 26 maggio 2026 08:35:13 Ora legale dell’Europa centrale, >>>>>>>> >>>>>>>> Philipp Sutter ha scritto: >>>>>>>>> In GNU Emacs 30.2, php-ts-mode fails to fontify a PHP buffer. The >>>>>>>>> buffer >>>>>>>>> opens in php-ts-mode, LSP starts, but syntax highlighting does not >>>>>>>>> work. >>>>>>>>> font-lock-ensure signals a treesit-query-error. >>>>>>>>> >>>>>>>>> The error occurs with emacs -Q, so this is not caused by my Centaur >>>>>>>>> Emacs configuration, LSP, Flymake, persp-mode, or custom.el. >>>>>>>>> >>>>>>>>> Reproducer: >>>>>>>>> >>>>>>>>> emacs -Q --batch \ >>>>>>>>> --eval "(setq treesit-extra-load-path >>>>>>>>> '(\"/home/sutter/.emacs.d/tree-sitter\"))" \ >>>>>>>>> --eval "(find-file \"/var/www/html/webSite/pageElement/structur.php\")" >>>>>>>>> \ >>>>>>>>> --eval "(php-ts-mode)" \ >>>>>>>>> --eval "(font-lock-mode 1)" \ >>>>>>>>> --eval "(font-lock-ensure)" \ >>>>>>>>> --eval "(princ (list major-mode font-lock-mode >>>>>>>>> (mapcar #'treesit-parser-language >>>>>>>>> (treesit-parser-list))))" >>>>>>>>> >>>>>>>>> Actual result: >>>>>>>>> >>>>>>>>> Error: treesit-query-error >>>>>>>>> ("Node type error at" 41 >>>>>>>>> "[\"abstract\" \"and\" \"array\" \"as\" \"break\" \"callable\" \"case\" >>>>>>>>> \"catch\" \"class\" \"clone\" \"const\" \"continue\" \"declare\" >>>>>>>>> \"default\" \"do\" \"echo\" \"else\" \"elseif\" \"enddeclare\" >>>>>>>>> \"endfor\" \"endforeach\" \"endif\" \"endswitch\" \"endwhile\" \"enum\" >>>>>>>>> \"exit\" \"extends\" \"final\" \"finally\" \"fn\" \"for\" \"foreach\" >>>>>>>>> \"from\" \"function\" \"global\" \"goto\" \"if\" \"implements\" >>>>>>>>> \"include\" \"include_once\" \"instanceof\" \"insteadof\" \"interface\" >>>>>>>>> \"list\" \"match\" \"namespace\" \"new\" \"null\" \"or\" \"print\" >>>>>>>>> \"private\" \"protected\" \"public\" \"readonly\" \"require\" >>>>>>>>> \"require_once\" \"return\" \"static\" \"switch\" \"throw\" \"trait\" >>>>>>>>> \"try\" \"unset\" \"use\" \"while\" \"xor\" \"yield\"] >>>>>>>>> @font-lock-keyword-face (visibility_modifier (operation) >>>>>>>>> @font-lock-builtin-face) (var_modifier) @font-lock-builtin-face" >>>>>>>>> "Debug the query with `treesit-query-validate'") >>>>>>>>> >>>>>>>>> Relevant checks: >>>>>>>>> >>>>>>>>> 1. php-ts-mode comes from Emacs itself: >>>>>>>>> >>>>>>>>> (symbol-file 'php-ts-mode 'defun) >>>>>>>>> => /usr/share/emacs/30.2/lisp/progmodes/php-ts-mode.elc >>>>>>>>> >>>>>>>>> 2. The corresponding source contains the queried nodes: >>>>>>>>> >>>>>>>>> zgrep -n "visibility_modifier\\|var_modifier" \ >>>>>>>>> /usr/share/emacs/30.2/lisp/progmodes/php-ts-mode.el.gz >>>>>>>>> >>>>>>>>> 857: "Return t if (visibility_modifier (operation)) is defined, nil >>>>>>>>> otherwise." >>>>>>>>> 859: (progn (treesit-query-compile 'php "(visibility_modifier >>>>>>>>> (operation))" t) t))) >>>>>>>>> 875: '((visibility_modifier (operation) @font-lock-builtin-face))) >>>>>>>>> 876: (var_modifier) @font-lock-builtin-face) >>>>>>>>> >>>>>>>>> 3. The installed PHP grammar contains the queried node/type strings: >>>>>>>>> >>>>>>>>> strings ~/.emacs.d/tree-sitter/libtree-sitter-php.so \ >>>>>>>>> >>>>>>>>> | grep -E "visibility_modifier|var_modifier|operation" >>>>>>>>> >>>>>>>>> Output: >>>>>>>>> >>>>>>>>> var_modifier >>>>>>>>> visibility_modifier >>>>>>>>> operation >>>>>>>>> >>>>>>>>> 4. The query validates in isolation: >>>>>>>>> >>>>>>>>> (treesit-query-validate >>>>>>>>> 'php >>>>>>>>> '((visibility_modifier (operation) @x) >>>>>>>>> (var_modifier) @x)) >>>>>>>>> >>>>>>>>> => "QUERY is valid" >>>>>>>>> >>>>>>>>> 5. The combined query block also validates when checked directly, but >>>>>>>>> font-lock-ensure still fails during fontification. >>>>>>>>> >>>>>>>>> Installed tree-sitter grammars: >>>>>>>>> >>>>>>>>> - php >>>>>>>>> - phpdoc >>>>>>>>> - html >>>>>>>>> - javascript >>>>>>>>> - jsdoc >>>>>>>>> - css >>>>>>>>> >>>>>>>>> All are available via treesit-language-available-p. >>>>>>>>> >>>>>>>>> Observed behavior: >>>>>>>>> >>>>>>>>> - php-ts-mode starts. >>>>>>>>> - LSP connects. >>>>>>>>> - font-lock-mode can be enabled. >>>>>>>>> - font-lock-ensure fails at treesit-query-capture / >>>>>>>>> treesit--font-lock-fontify-region-1. >>>>>>>>> - The PHP buffer remains without syntax highlighting. >>>>>>>>> >>>>>>>>> Expected behavior: >>>>>>>>> >>>>>>>>> php-ts-mode should fontify the buffer without treesit-query-error when >>>>>>>>> the PHP grammar provides visibility_modifier, var_modifier, and >>>>>>>>> operation, and when the corresponding queries validate. >>>>>>>>> >>>>>>>>> Workaround: >>>>>>>>> >>>>>>>>> I can avoid the error by overriding php-ts-mode’s font-lock settings >>>>>>>>> with a conservative custom treesit-font-lock-rules block, but this is >>>>>>>>> only a local workaround and not a proper fix. >>>>>>>>> >>>>>>>>> Environment: >>>>>>>>> >>>>>>>>> GNU Emacs 30.2 >>>>>>>>> php-ts-mode from /usr/share/emacs/30.2/lisp/progmodes/php-ts-mode.elc >>>>>>>>> tree-sitter grammars loaded from ~/.emacs.d/tree-sitter >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> In GNU Emacs 30.2 (build 2, x86_64-pc-linux-gnu, GTK+ Version 3.24.50, >>>>>>>>> cairo version 1.18.4) of 2025-11-23, modified by Debian built on >>>>>>>>> lcy02-amd64-045 >>>>>>>>> System Description: Ubuntu 26.04 LTS >>>>>>>>> >>>>>>>>> Configured using: >>>>>>>>> 'configure --build x86_64-linux-gnu --prefix=/usr >>>>>>>>> --sharedstatedir=/var/lib --libexecdir=/usr/libexec >>>>>>>>> --localstatedir=/var/lib --infodir=/usr/share/info >>>>>>>>> --mandir=/usr/share/man --with-libsystemd --with-pop=yes >>>>>>>>> --enable-locallisppath=/etc/emacs:/usr/local/share/emacs/30.2/site-lisp >>>>>>>>> :/usr >>>>>>>>> /local/share/emacs/site-lisp:/usr/share/emacs/30.2/site-lisp:/usr/shar >>>>>>>>> e/emac s/site-lisp >>>>>>>>> >>>>>>>>> --with-sound=alsa --without-gconf --with-mailutils --build >>>>>>>>> x86_64-linux-gnu --prefix=/usr --sharedstatedir=/var/lib >>>>>>>>> --libexecdir=/usr/libexec --localstatedir=/var/lib >>>>>>>>> --infodir=/usr/share/info --mandir=/usr/share/man --with-libsystemd >>>>>>>>> --with-pop=yes >>>>>>>>> --enable-locallisppath=/etc/emacs:/usr/local/share/emacs/30.2/site-lisp >>>>>>>>> :/usr >>>>>>>>> /local/share/emacs/site-lisp:/usr/share/emacs/30.2/site-lisp:/usr/shar >>>>>>>>> e/emac s/site-lisp >>>>>>>>> >>>>>>>>> --with-sound=alsa --without-gconf --with-mailutils --with-pgtk >>>>>>>>> 'CFLAGS=-g -O2 -Werror=implicit-function-declaration >>>>>>>>> -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer >>>>>>>>> -ffile-prefix-map=/build/emacs-h5xO6W/emacs-30.2+1=. >>>>>>>>> -fstack-protector-strong -fstack-clash-protection -Wformat >>>>>>>>> -Werror=format-security -fcf-protection >>>>>>>>> -fdebug-prefix-map=/build/emacs-h5xO6W/emacs-30.2+1=/usr/src/emacs-1:30 >>>>>>>>> .2+1- 2ubuntu1 >>>>>>>>> >>>>>>>>> -Wall' 'CPPFLAGS=-Wdate-time -D_FORTIFY_SOURCE=3' >>>>>>>>> 'LDFLAGS=-Wl,-Bsymbolic-functions >>>>>>>>> -Wl,--package-metadata={%22type%22:%22deb%22%2C%22os%22:%22ubuntu%22%2C >>>>>>>>> %22na >>>>>>>>> me%22:%22emacs%22%2C%22version%22:%221:30.2+1-2ubuntu1%22%2C%22archite >>>>>>>>> cture% 22:%22amd64%22} >>>>>>>>> >>>>>>>>> -Wl,-z,relro'' >>>>>>>>> >>>>>>>>> Configured features: >>>>>>>>> ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG >>>>>>>>> LCMS2 LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 MODULES 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: de_DE.UTF-8 >>>>>>>>> value of $XMODIFIERS: @im=ibus >>>>>>>>> locale-coding-system: utf-8 >>>>>>>>> >>>>>>>>> Major mode: PHP >>>>>>>>> >>>>>>>>> Minor modes in effect: >>>>>>>>> lsp-diagnostics-mode: t >>>>>>>>> company-mode: t >>>>>>>>> lsp-modeline-diagnostics-mode: t >>>>>>>>> dap-tooltip-mode: t >>>>>>>>> dap-ui-many-windows-mode: t >>>>>>>>> dap-ui-controls-mode: t >>>>>>>>> dap-ui-mode: t >>>>>>>>> lsp-lens-mode: t >>>>>>>>> lsp-ui-mode: t >>>>>>>>> lsp-ui-doc-mode: t >>>>>>>>> lsp-ui-sideline-mode: t >>>>>>>>> flycheck-mode: t >>>>>>>>> dap-auto-configure-mode: t >>>>>>>>> dap-mode: t >>>>>>>>> lsp-completion-mode: t >>>>>>>>> lsp-treemacs-sync-mode: t >>>>>>>>> treemacs-filewatch-mode: t >>>>>>>>> treemacs-follow-mode: t >>>>>>>>> treemacs-git-mode: t >>>>>>>>> treemacs-fringe-indicator-mode: t >>>>>>>>> lsp-managed-mode: t >>>>>>>>> lsp-mode: t >>>>>>>>> origami-mode: t >>>>>>>>> windmove-mode: t >>>>>>>>> popper-tab-line-mode: t >>>>>>>>> popper-mode: t >>>>>>>>> centaur-tabs-mode: t >>>>>>>>> gcmh-mode: t >>>>>>>>> pulsar-global-mode: t >>>>>>>>> pulsar-mode: t >>>>>>>>> global-atomic-chrome-edit-mode: t >>>>>>>>> persp-mode: t >>>>>>>>> projectile-mode: t >>>>>>>>> save-place-mode: t >>>>>>>>> savehist-mode: t >>>>>>>>> doom-modeline-mode: t >>>>>>>>> minions-mode: t >>>>>>>>> default-text-scale-mode: t >>>>>>>>> global-page-break-lines-mode: t >>>>>>>>> transient-posframe-mode: t >>>>>>>>> ace-pinyin-global-mode: t >>>>>>>>> ace-pinyin-mode: t >>>>>>>>> global-anzu-mode: t >>>>>>>>> anzu-mode: t >>>>>>>>> beginend-global-mode: t >>>>>>>>> beginend-prog-mode: t >>>>>>>>> drag-stuff-global-mode: t >>>>>>>>> drag-stuff-mode: t >>>>>>>>> electric-pair-mode: t >>>>>>>>> global-hungry-delete-mode: t >>>>>>>>> hungry-delete-mode: t >>>>>>>>> xclip-mode: t >>>>>>>>> global-so-long-mode: t >>>>>>>>> vertico-posframe-mode: t >>>>>>>>> vertico-mode: t >>>>>>>>> nerd-icons-completion-mode: t >>>>>>>>> marginalia-mode: t >>>>>>>>> corfu-popupinfo-mode: t >>>>>>>>> corfu-history-mode: t >>>>>>>>> global-corfu-mode: t >>>>>>>>> corfu-mode: t >>>>>>>>> yas-global-mode: t >>>>>>>>> yas-minor-mode: t >>>>>>>>> global-hl-line-mode: t >>>>>>>>> global-region-occurrences-highlighter-mode: t >>>>>>>>> region-occurrences-highlighter-mode: t >>>>>>>>> global-colorful-mode: t >>>>>>>>> colorful-mode: t >>>>>>>>> global-diff-hl-show-hunk-mouse-mode: t >>>>>>>>> diff-hl-show-hunk-mouse-mode: t >>>>>>>>> diff-hl-flydiff-mode: t >>>>>>>>> global-diff-hl-mode: t >>>>>>>>> diff-hl-mode: t >>>>>>>>> delete-selection-mode: t >>>>>>>>> tabspaces-mode: t >>>>>>>>> which-key-posframe-mode: t >>>>>>>>> which-key-mode: t >>>>>>>>> display-line-numbers-mode: t >>>>>>>>> goto-address-prog-mode: t >>>>>>>>> flyspell-mode: t >>>>>>>>> subword-mode: t >>>>>>>>> symbol-overlay-mode: t >>>>>>>>> display-fill-column-indicator-mode: t >>>>>>>>> indent-bars--ts-mode: t >>>>>>>>> indent-bars-mode: t >>>>>>>>> rainbow-delimiters-mode: t >>>>>>>>> goggles-mode: t >>>>>>>>> flyover-mode: t >>>>>>>>> flymake-mode: t >>>>>>>>> persistent-scratch-autosave-mode: t >>>>>>>>> magit-prime-mode: t >>>>>>>>> magit-todos-mode: t >>>>>>>>> global-hl-todo-mode: t >>>>>>>>> hl-todo-mode: t >>>>>>>>> global-git-commit-mode: t >>>>>>>>> global-auto-revert-mode: t >>>>>>>>> server-mode: t >>>>>>>>> global-treesit-auto-mode: t >>>>>>>>> editorconfig-mode: t >>>>>>>>> pdf-occur-global-minor-mode: t >>>>>>>>> recentf-mode: t >>>>>>>>> solaire-global-mode: t >>>>>>>>> override-global-mode: t >>>>>>>>> apheleia-global-mode: t >>>>>>>>> apheleia-mode: t >>>>>>>>> which-function-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 >>>>>>>>> prettify-symbols-mode: t >>>>>>>>> tab-bar-history-mode: t >>>>>>>>> menu-bar-mode: t >>>>>>>>> file-name-shadow-mode: t >>>>>>>>> horizontal-scroll-bar-mode: t >>>>>>>>> global-font-lock-mode: t >>>>>>>>> font-lock-mode: t >>>>>>>>> blink-cursor-mode: t >>>>>>>>> window-divider-mode: t >>>>>>>>> minibuffer-regexp-mode: t >>>>>>>>> size-indication-mode: t >>>>>>>>> column-number-mode: t >>>>>>>>> line-number-mode: t >>>>>>>>> transient-mark-mode: t >>>>>>>>> auto-composition-mode: t >>>>>>>>> auto-encryption-mode: t >>>>>>>>> auto-compression-mode: t >>>>>>>>> hs-minor-mode: t >>>>>>>>> >>>>>>>>> Load-path shadows: >>>>>>>>> /home/sutter/.emacs.d/elpa/transient-20260518.1413/transient hides >>>>>>>>> /usr/share/emacs/30.2/lisp/transient >>>>>>>>> /home/sutter/.emacs.d/elpa/tramp-2.8.1.4/tramp-cache hides >>>>>>>>> /usr/share/emacs/30.2/lisp/net/tramp-cache >>>>>>>>> /home/sutter/.emacs.d/elpa/tramp-2.8.1.4/tramp-sshfs hides >>>>>>>>> /usr/share/emacs/30.2/lisp/net/tramp-sshfs >>>>>>>>> /home/sutter/.emacs.d/elpa/tramp-2.8.1.4/tramp-sh hides >>>>>>>>> /usr/share/emacs/30.2/lisp/net/tramp-sh >>>>>>>>> /home/sutter/.emacs.d/elpa/tramp-2.8.1.4/tramp-cmds hides >>>>>>>>> /usr/share/emacs/30.2/lisp/net/tramp-cmds >>>>>>>>> /home/sutter/.emacs.d/elpa/tramp-2.8.1.4/tramp-crypt hides >>>>>>>>> /usr/share/emacs/30.2/lisp/net/tramp-crypt >>>>>>>>> /home/sutter/.emacs.d/elpa/tramp-2.8.1.4/tramp-adb hides >>>>>>>>> /usr/share/emacs/30.2/lisp/net/tramp-adb >>>>>>>>> /home/sutter/.emacs.d/elpa/tramp-2.8.1.4/tramp-integration hides >>>>>>>>> /usr/share/emacs/30.2/lisp/net/tramp-integration >>>>>>>>> /home/sutter/.emacs.d/elpa/tramp-2.8.1.4/tramp-gvfs hides >>>>>>>>> /usr/share/emacs/30.2/lisp/net/tramp-gvfs >>>>>>>>> /home/sutter/.emacs.d/elpa/tramp-2.8.1.4/tramp hides >>>>>>>>> /usr/share/emacs/30.2/lisp/net/tramp >>>>>>>>> /home/sutter/.emacs.d/elpa/tramp-2.8.1.4/tramp-smb hides >>>>>>>>> /usr/share/emacs/30.2/lisp/net/tramp-smb >>>>>>>>> /home/sutter/.emacs.d/elpa/tramp-2.8.1.4/tramp-message hides >>>>>>>>> /usr/share/emacs/30.2/lisp/net/tramp-message >>>>>>>>> /home/sutter/.emacs.d/elpa/tramp-2.8.1.4/tramp-fuse hides >>>>>>>>> /usr/share/emacs/30.2/lisp/net/tramp-fuse >>>>>>>>> /home/sutter/.emacs.d/elpa/tramp-2.8.1.4/tramp-loaddefs hides >>>>>>>>> /usr/share/emacs/30.2/lisp/net/tramp-loaddefs >>>>>>>>> /home/sutter/.emacs.d/elpa/tramp-2.8.1.4/tramp-archive hides >>>>>>>>> /usr/share/emacs/30.2/lisp/net/tramp-archive >>>>>>>>> /home/sutter/.emacs.d/elpa/tramp-2.8.1.4/tramp-androidsu hides >>>>>>>>> /usr/share/emacs/30.2/lisp/net/tramp-androidsu >>>>>>>>> /home/sutter/.emacs.d/elpa/tramp-2.8.1.4/tramp-compat hides >>>>>>>>> /usr/share/emacs/30.2/lisp/net/tramp-compat >>>>>>>>> /home/sutter/.emacs.d/elpa/tramp-2.8.1.4/tramp-container hides >>>>>>>>> /usr/share/emacs/30.2/lisp/net/tramp-container >>>>>>>>> /home/sutter/.emacs.d/elpa/tramp-2.8.1.4/tramp-sudoedit hides >>>>>>>>> /usr/share/emacs/30.2/lisp/net/tramp-sudoedit >>>>>>>>> /home/sutter/.emacs.d/elpa/tramp-2.8.1.4/tramp-rclone hides >>>>>>>>> /usr/share/emacs/30.2/lisp/net/tramp-rclone >>>>>>>>> /home/sutter/.emacs.d/elpa/tramp-2.8.1.4/tramp-uu hides >>>>>>>>> /usr/share/emacs/30.2/lisp/net/tramp-uu >>>>>>>>> /home/sutter/.emacs.d/elpa/tramp-2.8.1.4/trampver hides >>>>>>>>> /usr/share/emacs/30.2/lisp/net/trampver >>>>>>>>> /home/sutter/.emacs.d/elpa/tramp-2.8.1.4/tramp-ftp hides >>>>>>>>> /usr/share/emacs/30.2/lisp/net/tramp-ftp >>>>>>>>> /home/sutter/.emacs.d/elpa/compat-31.0.0.1/compat hides >>>>>>>>> /usr/share/emacs/30.2/lisp/emacs-lisp/compat >>>>>>>>> >>>>>>>>> Features: >>>>>>>>> (shadow sort mail-extr emacsbug vertico-directory help-fns radix-tree >>>>>>>>> vertico-sort tramp-cmds cape-keyword yasnippet-capf orderless >>>>>>>>> nerd-icons-corfu cape lsp-diagnostics 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 lsp-modeline lsp-icons dap-mouse >>>>>>>>> dap-ui gdb-mi gud bui bui-list bui-info bui-entry bui-core bui-history >>>>>>>>> bui-button bui-utils lsp-lens lsp-ui lsp-ui-flycheck lsp-ui-doc >>>>>>>>> lsp-ui-imenu lsp-ui-peek lsp-ui-sideline flycheck lsp-ui-util view >>>>>>>>> lsp-zig lsp-yang lsp-yaml lsp-xml lsp-wgsl lsp-wat lsp-volar >>>>>>>>> lsp-vimscript lsp-vhdl lsp-vetur lsp-html lsp-verilog lsp-vala lsp-v >>>>>>>>> lsp-typos lsp-typst lsp-typespec lsp-typeprof lsp-ttcn3 lsp-ts-query >>>>>>>>> lsp-trunk lsp-toml-tombi lsp-toml lsp-tilt lsp-tex lsp-terraform >>>>>>>>> lsp-tailwindcss lsp-svelte lsp-steep lsp-sqls lsp-sql lsp-sourcekit lsp >>>>>>>>> lsp-sorbet lsp-solidity lsp-solargraph lsp-semgrep lsp-rust lsp-ruff >>>>>>>>> lsp-ruby-syntax-tree lsp-ruby-lsp lsp-rubocop lsp-roslyn lsp-ron >>>>>>>>> lsp-roc >>>>>>>>> lsp-rf lsp-remark lsp-racket lsp-r lsp-qml lsp-python-ty lsp-pyright >>>>>>>>> lsp-pylsp lsp-pyls lsp-pwsh lsp-purescript lsp-postgres lsp-pls lsp-php >>>>>>>>> lsp-perlnavigator lsp-perl lsp-openscad lsp-odin lsp-ocaml lsp-nushell >>>>>>>>> lsp-nix lsp-nim lsp-nginx lsp-nextflow lsp-move lsp-mojo lsp-mint >>>>>>>>> lsp-meson lsp-mdx lsp-matlab lsp-marksman lsp-markdown lsp-magik >>>>>>>>> lsp-fennel lsp-lua lsp-lisp lsp-kubernetes-helm lsp-kotlin lsp-json >>>>>>>>> lsp-jq lsp-just lsp-javascript dap-java dap-mode dap-tasks dap-launch >>>>>>>>> dap-overlays lsp-java request lsp-idris lsp-haxe lsp-hack lsp-groovy >>>>>>>>> lsp-graphql lsp-golangci-lint lsp-glsl lsp-gleam lsp-gdscript lsp-fish >>>>>>>>> lsp-fsharp lsp-futhark lsp-fortran lsp-fortitude lsp-eslint lsp-erlang >>>>>>>>> lsp-emmet lsp-elm lsp-elixir lsp-earthly lsp-dockerfile lsp-docker yaml >>>>>>>>> lsp-dhall lsp-d lsp-cypher lsp-cucumber lsp-crates lsp-copilot lsp-css >>>>>>>>> lsp-c3 lsp-csharp gnutls lsp-crystal lsp-credo lsp-cobol lsp-cmake >>>>>>>>> lsp-clojure lsp-clangd lsp-bufls lsp-go lsp-completion lsp-beancount >>>>>>>>> lsp-bash lsp-awk lsp-autotools lsp-astro lsp-asm lsp-ansible >>>>>>>>> lsp-angular >>>>>>>>> lsp-ada lsp-semantic-tokens lsp-actionscript ccls ccls-member-hierarchy >>>>>>>>> ccls-inheritance-hierarchy ccls-call-hierarchy ccls-tree ccls-code-lens >>>>>>>>> ccls-semantic-highlight ccls-common lsp-treemacs lsp-treemacs-generic >>>>>>>>> lsp-treemacs-themes treemacs-treelib treemacs-tab-bar treemacs-magit >>>>>>>>> treemacs-nerd-icons treemacs treemacs-header-line >>>>>>>>> treemacs-compatibility >>>>>>>>> treemacs-mode treemacs-bookmarks treemacs-tags treemacs-interface >>>>>>>>> treemacs-persistence treemacs-filewatch-mode treemacs-follow-mode >>>>>>>>> treemacs-rendering treemacs-annotations treemacs-async >>>>>>>>> treemacs-workspaces treemacs-dom treemacs-visuals >>>>>>>>> treemacs-fringe-indicator treemacs-faces treemacs-icons treemacs-scope >>>>>>>>> treemacs-themes treemacs-core-utils pfuture treemacs-logging >>>>>>>>> treemacs-customization treemacs-macros lsp-mode lsp-protocol spinner >>>>>>>>> network-stream nsm markdown-mode ht inline origami origami-parsers >>>>>>>>> html-ts-mode php-ts-mode js-mode-expansions js cc-mode-expansions >>>>>>>>> cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine >>>>>>>>> cc-vars cc-defs saveplace-pdf-view css-mode-expansions css-mode smie >>>>>>>>> eww >>>>>>>>> url-queue shr pixel-fill kinsoku url-file svg mm-url gnus nnheader >>>>>>>>> range >>>>>>>>> c-ts-common go-mode find-file etags xref windmove tab-line popper-echo >>>>>>>>> popper centaur-tabs centaur-tabs-interactive centaur-tabs-functions >>>>>>>>> centaur-tabs-elements powerline powerline-separators powerline-themes >>>>>>>>> gcmh tramp-archive tramp-gvfs zeroconf dbus xml pulsar atomic-chrome >>>>>>>>> websocket bindat persp-mode projectile skeleton ibuf-macs find-dired >>>>>>>>> fileloop generator cus-start saveplace savehist doom-modeline >>>>>>>>> doom-modeline-segments doom-modeline-env doom-modeline-core shrink-path >>>>>>>>> minions default-text-scale disp-table page-break-lines >>>>>>>>> transient-posframe ace-pinyin pinyinlib avy anzu beginend drag-stuff cl >>>>>>>>> elec-pair smart-region multiple-cursors mc-separate-operations >>>>>>>>> rectangular-region-mode mc-mark-pop mc-edit-lines >>>>>>>>> mc-hide-unmatched-lines-mode mc-mark-more html-mode-expansions >>>>>>>>> sgml-mode >>>>>>>>> facemenu dom mc-cycle-cursors multiple-cursors-core expand-region >>>>>>>>> subword-mode-expansions text-mode-expansions er-basic-expansions >>>>>>>>> expand-region-core expand-region-custom hungry-delete xclip so-long >>>>>>>>> tramp-hlo vertico-posframe vertico-multiform vertico >>>>>>>>> nerd-icons-completion marginalia corfu-popupinfo corfu-history >>>>>>>>> corfu-auto corfu yasnippet-snippets yasnippet time hl-line >>>>>>>>> region-occurrences-highlighter hi-lock colorful-mode diff-hl-show-hunk >>>>>>>>> diff-hl-flydiff diff-hl vc-hg vc-git log-view vc-dir ewoc >>>>>>>>> browse-kill-ring delsel tabspaces which-key-posframe which-key >>>>>>>>> highlight-defined display-line-numbers goto-addr flyspell ispell >>>>>>>>> cap-words superword subword hideshow symbol-overlay >>>>>>>>> display-fill-column-indicator indent-bars-ts indent-bars noutline >>>>>>>>> outline rainbow-delimiters goggles pulse color flyover checkdoc >>>>>>>>> lisp-mnt >>>>>>>>> flymake project persistent-scratch rg vc vc-dispatcher rg-info-hack >>>>>>>>> rg-menu rg-ibuffer rg-result wgrep-rg wgrep rg-history rg-header >>>>>>>>> magit-prime tramp-sh tramp-cache time-stamp tramp trampver >>>>>>>>> tramp-integration files-x tramp-message tramp-compat xdg parse-time >>>>>>>>> iso8601 tramp-loaddefs magit-bookmark magit-submodule magit-blame >>>>>>>>> magit-stash magit-reflog magit-bisect magit-push magit-pull magit-fetch >>>>>>>>> magit-clone magit-remote magit-commit magit-sequence magit-notes >>>>>>>>> magit-worktree magit-tag magit-merge magit-branch magit-reset >>>>>>>>> magit-files magit-refs magit-todos pcre2el rxt re-builder hl-todo f >>>>>>>>> async magit-status magit magit-repos magit-apply magit-wip magit-log >>>>>>>>> magit-diff smerge-mode diff diff-mode track-changes git-commit log-edit >>>>>>>>> message sendmail yank-media puny rfc822 mml mml-sec epa epg rfc6068 >>>>>>>>> epg-config gnus-util time-date mm-decode mm-bodies mm-encode mail-parse >>>>>>>>> rfc2231 rfc2047 rfc2045 mm-util ietf-drums mail-prsvr mailabbrev >>>>>>>>> mail-utils gmm-utils mailheader pcvs-util add-log magit-core >>>>>>>>> magit-autorevert autorevert filenotify magit-margin magit-transient >>>>>>>>> magit-process with-editor shell pcomplete magit-mode magit-git server >>>>>>>>> magit-base magit-section benchmark cursor-sensor transient crm llama >>>>>>>>> cond-let treesit-auto treesit editorconfig editorconfig-core >>>>>>>>> editorconfig-core-handle editorconfig-fnmatch pdf-occur ibuf-ext >>>>>>>>> ibuffer >>>>>>>>> ibuffer-loaddefs tablist advice tablist-filter semantic/wisent/comp >>>>>>>>> semantic/wisent semantic/wisent/wisent semantic/util-modes >>>>>>>>> semantic/util >>>>>>>>> semantic semantic/tag semantic/lex semantic/fw mode-local find-func >>>>>>>>> cedet pdf-isearch let-alist pdf-misc pdf-tools pdf-view bookmark >>>>>>>>> jka-compr pdf-cache pdf-info tq pdf-util comp comp-cstr warnings >>>>>>>>> comp-run comp-common format-spec pdf-macs image-mode dired-x dired >>>>>>>>> dired-loaddefs exif init-web init-elixir init-ruby init-python >>>>>>>>> init-rust >>>>>>>>> init-go init-c init-elisp init-prog init-ai init-dap init-lsp >>>>>>>>> init-check >>>>>>>>> init-vcs init-utils grep compile text-property-search comint ansi-osc >>>>>>>>> ansi-color init-player init-docker init-dict init-reader init-org >>>>>>>>> init-markdown init-shell init-eshell init-treemacs init-window >>>>>>>>> init-workspace init-kill-ring init-ibuffer init-highlight init-dired >>>>>>>>> init-dashboard dashboard dashboard-widgets rect mule-util recentf >>>>>>>>> tree-widget ffap thingatpt 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 init-calendar >>>>>>>>> init-bookmark derived init-snippet init-completion init-edit init-ui >>>>>>>>> doom-themes-ext-visual-bell posframe doom-one-theme doom-themes >>>>>>>>> doom-themes-base solaire-mode face-remap init-hydra pretty-hydra hydra >>>>>>>>> ring lv s dash compat compat-31 compat-macs init-base diminish edmacro >>>>>>>>> kmacro use-package-bind-key bind-key init-package finder-inf >>>>>>>>> ace-pinyin-autoloads add-node-modules-path-autoloads >>>>>>>>> agent-shell-autoloads acp-autoloads anzu-autoloads apheleia-autoloads >>>>>>>>> atomic-chrome-autoloads avy-zap-autoloads beginend-autoloads >>>>>>>>> browse-kill-ring-autoloads cape-autoloads cask-mode-autoloads >>>>>>>>> ccls-autoloads centaur-tabs-autoloads cmake-mode-autoloads >>>>>>>>> coffee-mode-autoloads colorful-mode-autoloads company-autoloads >>>>>>>>> consult-dir-autoloads consult-eglot-autoloads >>>>>>>>> consult-flyspell-autoloads >>>>>>>>> consult-lsp-autoloads consult-yasnippet-autoloads >>>>>>>>> corfu-terminal-autoloads corfu-autoloads csv-mode-autoloads >>>>>>>>> cue-sheet-mode-autoloads dape-autoloads dart-mode-autoloads >>>>>>>>> dashboard-autoloads default-text-scale-autoloads devdocs-autoloads >>>>>>>>> diff-hl-autoloads diminish-autoloads dired-git-info-autoloads >>>>>>>>> dired-quick-sort-autoloads dired-rsync-autoloads diredfl-autoloads >>>>>>>>> docker-autoloads aio-autoloads dockerfile-mode-autoloads >>>>>>>>> doom-modeline-autoloads doom-themes-autoloads drag-stuff-autoloads >>>>>>>>> dslide-autoloads easy-kill-autoloads eat-autoloads eldoc-box-autoloads >>>>>>>>> elfeed-autoloads elixir-mode-autoloads embark-consult-autoloads >>>>>>>>> consult-autoloads embark-autoloads esh-help-autoloads >>>>>>>>> eshell-prompt-extras-autoloads eshell-z-autoloads fanyi-autoloads >>>>>>>>> file-info-autoloads browse-at-remote-autoloads fish-mode-autoloads >>>>>>>>> flycheck-autoloads flyover-autoloads gcmh-autoloads git-link-autoloads >>>>>>>>> git-messenger-autoloads git-modes-autoloads git-timemachine-autoloads >>>>>>>>> gnu-elpa-keyring-update-autoloads go-dlv-autoloads >>>>>>>>> go-fill-struct-autoloads go-gen-test-autoloads go-impl-autoloads >>>>>>>>> go-tag-autoloads go-mode-autoloads goggles-autoloads gotest-autoloads >>>>>>>>> goto-chg-autoloads gptel-magit-autoloads gptel-autoloads >>>>>>>>> grip-mode-autoloads gt-autoloads haml-mode-autoloads helpful-autoloads >>>>>>>>> elisp-refs-autoloads hide-mode-line-autoloads >>>>>>>>> highlight-defined-autoloads hungry-delete-autoloads ialign-autoloads >>>>>>>>> ibuffer-project-autoloads iedit-autoloads indent-bars-autoloads >>>>>>>>> inf-ruby-autoloads julia-ts-mode-autoloads link-hint-autoloads >>>>>>>>> lsp-java-autoloads dap-mode-autoloads lsp-docker-autoloads >>>>>>>>> bui-autoloads >>>>>>>>> lsp-julia-autoloads julia-mode-autoloads lsp-pyright-autoloads >>>>>>>>> lsp-sourcekit-autoloads lsp-treemacs-autoloads lsp-ui-autoloads >>>>>>>>> lsp-mode-autoloads lua-mode-autoloads macrostep-autoloads >>>>>>>>> magit-prime-autoloads magit-todos-autoloads hl-todo-autoloads >>>>>>>>> async-autoloads marginalia-autoloads markdown-toc-autoloads >>>>>>>>> markdown-mode-autoloads mermaid-mode-autoloads >>>>>>>>> mermaid-ts-mode-autoloads >>>>>>>>> minions-autoloads mixed-pitch-autoloads mwim-autoloads >>>>>>>>> nerd-icons-completion-autoloads nerd-icons-corfu-autoloads >>>>>>>>> nerd-icons-dired-autoloads nerd-icons-ibuffer-autoloads nov-autoloads >>>>>>>>> esxml-autoloads ob-go-autoloads ob-mermaid-autoloads >>>>>>>>> ob-powershell-autoloads ob-rust-autoloads olivetti-autoloads >>>>>>>>> orderless-autoloads org-appear-autoloads org-modern-autoloads >>>>>>>>> org-pomodoro-autoloads org-preview-html-autoloads >>>>>>>>> org-rich-yank-autoloads org-roam-ui-autoloads org-roam-autoloads >>>>>>>>> emacsql-autoloads origami-autoloads ox-gfm-autoloads >>>>>>>>> page-break-lines-autoloads parinfer-rust-mode-autoloads >>>>>>>>> pcre2el-autoloads pdd-autoloads pdf-tools-autoloads >>>>>>>>> persistent-scratch-autoloads persp-mode-autoloads php-mode-autoloads >>>>>>>>> pinyinlib-autoloads pomidor-autoloads alert-autoloads log4e-autoloads >>>>>>>>> gntp-autoloads popon-autoloads popper-autoloads popup-autoloads >>>>>>>>> powerline-autoloads powershell-autoloads pretty-hydra-autoloads >>>>>>>>> projectile-autoloads protobuf-mode-autoloads pulsar-autoloads >>>>>>>>> quickrun-autoloads rainbow-delimiters-autoloads >>>>>>>>> region-occurrences-highlighter-autoloads request-autoloads >>>>>>>>> restclient-autoloads reveal-in-folder-autoloads rg-autoloads >>>>>>>>> ron-mode-autoloads rspec-mode-autoloads ruby-refactor-autoloads >>>>>>>>> rust-mode-autoloads saveplace-pdf-view-autoloads scala-mode-autoloads >>>>>>>>> scala-ts-mode-autoloads scss-mode-autoloads shell-maker-autoloads >>>>>>>>> shrink-path-autoloads f-autoloads simple-httpd-autoloads >>>>>>>>> smart-region-autoloads multiple-cursors-autoloads >>>>>>>>> expand-region-autoloads solaire-mode-autoloads spinner-autoloads >>>>>>>>> sudo-edit-autoloads swift-mode-autoloads swift-ts-mode-autoloads >>>>>>>>> symbol-overlay-autoloads tablist-autoloads tabspaces-autoloads >>>>>>>>> toc-org-autoloads tramp-hlo-autoloads tramp-autoloads rx >>>>>>>>> transient-posframe-autoloads transwin-autoloads >>>>>>>>> treemacs-magit-autoloads >>>>>>>>> magit-autoloads transient-autoloads magit-section-autoloads >>>>>>>>> llama-autoloads treemacs-nerd-icons-autoloads nerd-icons-autoloads >>>>>>>>> treemacs-tab-bar-autoloads treemacs-autoloads cfrs-autoloads >>>>>>>>> ht-autoloads pfuture-autoloads ace-window-autoloads avy-autoloads >>>>>>>>> s-autoloads treesit-auto-autoloads typescript-mode-autoloads >>>>>>>>> v-mode-autoloads hydra-autoloads lv-autoloads dash-autoloads >>>>>>>>> vertico-posframe-autoloads vertico-autoloads vimrc-mode-autoloads >>>>>>>>> vundo-autoloads web-mode-autoloads websocket-autoloads wgrep-autoloads >>>>>>>>> which-key-posframe-autoloads posframe-autoloads with-editor-autoloads >>>>>>>>> cond-let-autoloads info compat-autoloads xclip-autoloads >>>>>>>>> xterm-color-autoloads yaml-autoloads yaml-mode-autoloads >>>>>>>>> yard-mode-autoloads yari-autoloads yasnippet-capf-autoloads >>>>>>>>> yasnippet-snippets-autoloads yasnippet-autoloads ztree-autoloads >>>>>>>>> which-func imenu init-funcs use-package-diminish cl-extra help-mode >>>>>>>>> use-package-ensure use-package-core pcase easy-mmode init-custom >>>>>>>>> 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 password-cache >>>>>>>>> json subr-x map byte-opt gv bytecomp byte-compile url-vars init-const >>>>>>>>> cus-edit pp cus-load icons wid-edit cl-loaddefs cl-lib 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 native-compile emacs) >>>>>>>>> >>>>>>>>> Memory information: >>>>>>>>> ((conses 16 1692869 2306692) (symbols 48 94177 1) (strings 32 375069 >>>>>>>>> 88257) >>>>>>>>> (string-bytes 1 10629038) (vectors 16 115386) (vector-slots 8 1828088 >>>>>>>>> 348773) (floats 8 2183 7922) >>>>>>>>> (intervals 56 9127 1592) (buffers 992 27)) >>>> >>>> >>>> >>> >>> >>> >> >> >>