unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#71398: 30.0.50; Byte-compiling eat 0.9.4 stalls
@ 2024-06-06 16:07 Steven Allen via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2024-06-07  5:54 ` Eli Zaretskii
  0 siblings, 1 reply; 6+ messages in thread
From: Steven Allen via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-06-06 16:07 UTC (permalink / raw)
  To: 71398


Byte-compiling eat 0.9.4 stalls (using 100% CPU) when compiling
`eat--t-handle-output`. To reproduce:

1. `emacs -Q`
2. `M-x package-install RET eat RET`

If I enable `debug-on-quit` and quit while compiling, I get the
following backtrace:

Debugger entered--Lisp error: (quit)
  maphash(#f(compiled-function (value tag) #<bytecode 0x139135ce1c53c9c>) #<hash-table equal 2/2 0x10d3da6d861d ...>)
  byte-optimize-lapcode(((TAG 1 . 1) (byte-constant 0) (byte-list1 . 0) (TAG 3 . 2) (byte-dup) (byte-car-safe . 0) (byte-stack-ref . 2) (byte-length . 0) (byte-eqlsign . 0) (byte-not . 0) (byte-goto-if-nil-else-pop TAG 2 . 3) (byte-constant #f(compiled-function (arg1 arg2) #<bytecode -0x19572d4810eab70c>)) (byte-varref eat--t-term) (byte-constant type-of) (byte-stack-ref . 1) (byte-call . 1) (byte-varref cl-struct-eat--t-term-tags) (byte-memq . 0) (byte-goto-if-nil TAG 8956) (byte-constant t) (byte-goto-if-not-nil TAG 4 . 4) (TAG 8956) (byte-constant signal) (byte-constant wrong-type-argument) (byte-constant eat--t-term) (byte-stack-ref . 3) (byte-list2 . 0) (byte-call . 2) (byte-discard) (TAG 4 . 4) (byte-dup) (byte-constant 14) (byte-aref . 0) (byte-stack-set . 1) (byte-dup) (byte-constant #<hash-table equal 3/3 0x10d3da64ce2e ...>) (byte-switch) (byte-goto TAG 7 . 4) (TAG 8 . 4) (byte-stack-ref . 2) (byte-car-safe . 0) (TAG 10 . 5) (byte-stack-ref . 3) (byte-car-safe . 0) (byte-stack-ref . 5) (byte-length . 0) (byte-eqlsign . 0) (byte-not . 0) (byte-goto-if-nil TAG 9 . 5) (byte-stack-ref . 4) ...))
  byte-compile-out-toplevel(nil lambda)
  byte-compile-top-level((progn (let ((index (list 0))) (while (/= (car-safe index) (length output)) (let* ((pcase-0 #'...) (val (let* ... ...))) (cond ((null val) (let nil ...)) ((equal val ...) (let nil ...)) ((equal val ...) (let nil ...)) ((consp val) (let* ... ...)) (t (let ... ...))))))) nil lambda ((output . 0)) nil)
  byte-compile-lambda((lambda (output) "Parse and evaluate OUTPUT." (let ((index (list 0))) (while (/= (car-safe index) (length output)) (let* ((pcase-0 #'...) (val (let* ... ...))) (cond ((null val) (let nil ...)) ((equal val ...) (let nil ...)) ((equal val ...) (let nil ...)) ((consp val) (let* ... ...)) (t (let ... ...))))))))
  byte-compile-file-form-defmumble(eat--t-handle-output nil (output) ("Parse and evaluate OUTPUT." (let ((index (list 0))) (while (/= (car-safe index) (length output)) (let* ((pcase-0 #'...) (val (let* ... ...))) (cond ((null val) (let nil ...)) ((equal val ...) (let nil ...)) ((equal val ...) (let nil ...)) ((consp val) (let* ... ...)) (t (let ... ...))))))) nil)
  #f(compiled-function (arglist body) #<bytecode -0xe1c11208ca9cb81>)((output) ("Parse and evaluate OUTPUT." (let ((index (list 0))) (while (/= (car-safe index) (length output)) (let* ((pcase-0 #'...) (val (let* ... ...))) (cond ((null val) (let nil ...)) ((equal val ...) (let nil ...)) ((equal val ...) (let nil ...)) ((consp val) (let* ... ...)) (t (let ... ...))))))))
  byte-compile-file-form-defalias((defalias 'eat--t-handle-output #'(lambda (output) "Parse and evaluate OUTPUT." (let ((index (list 0))) (while (/= (car-safe index) (length output)) (let* (... ...) (cond ... ... ... ... ...)))))))
  byte-compile-file-form((defalias 'eat--t-handle-output #'(lambda (output) "Parse and evaluate OUTPUT." (let ((index (list 0))) (while (/= (car-safe index) (length output)) (let* (... ...) (cond ... ... ... ... ...)))))))
  #<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_50>((defalias 'eat--t-handle-output #'(lambda (output) "Parse and evaluate OUTPUT." (let ((index 0)) (while (/= index (length output)) (pcase-exhaustive (eat--t-term-parser-state eat--t-term) (... ...) (... ...) (... ...) (... ...) (... ...) (... ...) (... ...) (... ... ...) (... ...) (... ...) (... ... ...) (... ...) (... ... ...)))))))
  byte-compile-recurse-toplevel((defun eat--t-handle-output (output) "Parse and evaluate OUTPUT." (let ((index 0)) (while (/= index (length output)) (pcase-exhaustive (eat--t-term-parser-state eat--t-term) ('nil (let (...) (while ... ...) (when ... ...) (when ... ... ...))) ('(read-esc) (let (...) (cl-incf index) (1value ...) (pcase type ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...))) ('(read-csi-format) (let (...) (pcase ... ... ... ...) (setf ... ...))) (`(read-csi-params ... ...) (let (...) (while loop ...))) (`(read-csi-function ... ... ...) (let (...) (while loop ... ... ... ...))) (`(... ...) (let (...) (if ... ... ...))) (`(read-dcs-params ... ...) (let (...) (while loop ...))) (`(read-dcs-function ...) (cl-incf index) (pcase (aref output ...) (113 ...) (27 ...) (_ ... ...))) (`(read-potential-st ...) (if (/= ... 92) (setf ... else) (setf ... nil) (cl-incf index))) (`(read-dcs-fallback) (let (...) (while ... ... ...))) (`(read-sixel ... ...) (when cmd (pcase cmd ... ... ... ...) (setf ... ...)) (let (...) (while ... ...))) (`(read-charset-standard ... ...) (let (...) (if ... ... ...))) (`(read-charset-vt300 ...) (cl-incf index) (setf (eat--t-term-parser-state eat--t-term) nil)))))) #<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_50>)
  byte-compile-toplevel-file-form((defun eat--t-handle-output (output) "Parse and evaluate OUTPUT." (let ((index 0)) (while (/= index (length output)) (pcase-exhaustive (eat--t-term-parser-state eat--t-term) ('nil (let (...) (while ... ...) (when ... ...) (when ... ... ...))) ('(read-esc) (let (...) (cl-incf index) (1value ...) (pcase type ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...))) ('(read-csi-format) (let (...) (pcase ... ... ... ...) (setf ... ...))) (`(read-csi-params ... ...) (let (...) (while loop ...))) (`(read-csi-function ... ... ...) (let (...) (while loop ... ... ... ...))) (`(... ...) (let (...) (if ... ... ...))) (`(read-dcs-params ... ...) (let (...) (while loop ...))) (`(read-dcs-function ...) (cl-incf index) (pcase (aref output ...) (113 ...) (27 ...) (_ ... ...))) (`(read-potential-st ...) (if (/= ... 92) (setf ... else) (setf ... nil) (cl-incf index))) (`(read-dcs-fallback) (let (...) (while ... ... ...))) (`(read-sixel ... ...) (when cmd (pcase cmd ... ... ... ...) (setf ... ...)) (let (...) (while ... ...))) (`(read-charset-standard ... ...) (let (...) (if ... ... ...))) (`(read-charset-vt300 ...) (cl-incf index) (setf (eat--t-term-parser-state eat--t-term) nil)))))))
  #f(compiled-function () #<bytecode -0x1bb196c86da33bbd>)()
  #f(compiled-function () #<bytecode 0xd4dca0e9748733d>)()
  handler-bind-1(#f(compiled-function () #<bytecode 0xd4dca0e9748733d>) (error) #f(compiled-function (err) #<bytecode 0x1ec6b175d40d0042>))
  bytecomp--displaying-warnings(#f(compiled-function () #<bytecode -0x1bb196c86da33bbd>))
  byte-compile-from-buffer(#<buffer  *Compiler Input*>)
  byte-compile-file("/home/steb/.config/emacs/elpa/eat-0.9.4/eat.el")
  byte-recompile-file("/home/steb/.config/emacs/elpa/eat-0.9.4/eat.el" t 0)
  #f(compiled-function () #<bytecode 0x144fc75aacc38bef>)()
  #f(compiled-function () #<bytecode -0x8b99283a9776b6d>)()
  handler-bind-1(#f(compiled-function () #<bytecode -0x8b99283a9776b6d>) (error) #f(compiled-function (err) #<bytecode 0x1ec6b175d40d0042>))
  bytecomp--displaying-warnings(#f(compiled-function () #<bytecode 0x144fc75aacc38bef>))
  byte-recompile-directory("/home/steb/.config/emacs/elpa/eat-0.9.4" 0 t)
  package--compile(#s(package-desc :name eat :version (0 9 4) :summary "Emulate A Terminal, in a region, in a buffer and in Eshell" :reqs ((emacs (26 1)) (compat (29 1))) :kind nil :archive nil :dir "/home/steb/.config/emacs/elpa/eat-0.9.4" :extras ((:url . "https://codeberg.org/akib/emacs-eat") (:keywords "terminals" "processes") (:maintainer "Akib Azmain Turja" . "akib@disroot.org") (:authors ("Akib Azmain Turja" . "akib@disroot.org")) (:commit . "c91451f2d17453c19d3fa76faa4945cbe54e14ce")) :signed nil))
  package-unpack(#s(package-desc :name eat :version (0 9 4) :summary "Emulate A Terminal, in a region, in a buffer and in Eshell" :reqs ((emacs (26 1)) (compat (29 1))) :kind tar :archive "nongnu" :dir nil :extras ((:url . "https://codeberg.org/akib/emacs-eat") (:keywords "terminals" "processes") (:maintainer "Akib Azmain Turja" . "akib@disroot.org") (:authors ("Akib Azmain Turja" . "akib@disroot.org")) (:commit . "c91451f2d17453c19d3fa76faa4945cbe54e14ce")) :signed nil))
  #f(compiled-function (&optional good-sigs) #<bytecode 0x11defe1f6f632f6d>)((#s(epg-signature :status good :key-id "645357D2883A0966" :validity undefined :fingerprint "0327BE68D64D9A1A66859F15645357D2883A0966" :creation-time 1711883408 :expiration-time nil :pubkey-algorithm 22 :digest-algorithm 8 :class 0 :version 4 :notations nil)))
  #f(compiled-function () #<bytecode 0x973f8124e595618>)()
  package--with-response-buffer-1("https://elpa.nongnu.org/nongnu/" #f(compiled-function () #<bytecode 0x973f8124e595618>) :file "eat-0.9.4.tar.sig" :async nil :error-function #f(compiled-function () #<bytecode 0xd826e10ba273e83>) :noerror t)
  package--check-signature("https://elpa.nongnu.org/nongnu/" "eat-0.9.4.tar" "eat-0.9.4/\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0000000755\0000001752\0000001753\00000000000000\00014602242170\000010724\0 5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0ustar  \0elpa\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0elpa\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0eat-0.9.4/term/\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0000000755\0000001752\0000001753\00000000000000\00014343214617\000011702\0 5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0ustar  \0elpa\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0elpa\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0eat-0.9.4/term/eat.el\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0000000644\0000001752\0000001753\00000000003226\00014343214617\000013000\0 0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0ustar  \0elpa\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0elpa\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0;;; eat.el --- Terminal initialization for Eat  -*- lexical-binding: t; -*-\n\n;; Copyright (C) 2022 Akib Azmain Turja.\n\n;; Author: Akib Azmain Turja <akib@disroot.org>\n;; Created: 2022-12-04\n\n;; This file is not part of GNU Emacs.\n\n;; This file is free software; you can redistribute it and/or modify\n;; it under the terms of the GNU General Public License as published by\n;; the Free Software Foundation; either version 3, or (at your option)\n;; any later version.\n\n;; This program is distributed in the hope that it will be useful,\n;; but WITHOUT ANY WARRANTY; without even the implied warranty of\n;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n;; GNU General Public License for more details.\n\n;; For a full copy of the GNU General Public License\n;; see <https://www.gnu.org/licenses/>.\n\n;;; Commentary:\n\n;; Extra support for the Eat terminal emulator.\n\n;;; Code:\n\n(require 'term/xterm)\n\n(defcustom xterm-eat-extra-capabilities\n  '(modifyOtherKeys reportBackground getSelection setSelection)\n  \"List of extra capabilities supported in Eat.\n\nEach element of the list enables a feature.  The elements can be:\n\n`modifyOtherKeys'  More key bindings work (e.g., \\\"\\\\C-,\\\")\n`reportBackground' Eat reports the terminal background color.\n`getSelecti..." nil #f(compiled-function (&optional good-sigs) #<bytecode 0x11defe1f6f632f6d>))
  #f(compiled-function () #<bytecode -0x108a8f44fc96de92>)()
  package--with-response-buffer-1("https://elpa.nongnu.org/nongnu/" #f(compiled-function () #<bytecode -0x108a8f44fc96de92>) :file "eat-0.9.4.tar" :async nil :error-function #f(compiled-function () #<bytecode 0x18c000af2941>) :noerror nil)
  package-install-from-archive(#s(package-desc :name eat :version (0 9 4) :summary "Emulate A Terminal, in a region, in a buffer and in Eshell" :reqs ((emacs (26 1)) (compat (29 1))) :kind tar :archive "nongnu" :dir nil :extras ((:url . "https://codeberg.org/akib/emacs-eat") (:keywords "terminals" "processes") (:maintainer "Akib Azmain Turja" . "akib@disroot.org") (:authors ("Akib Azmain Turja" . "akib@disroot.org")) (:commit . "c91451f2d17453c19d3fa76faa4945cbe54e14ce")) :signed nil))
  mapc(package-install-from-archive (#s(package-desc :name eat :version (0 9 4) :summary "Emulate A Terminal, in a region, in a buffer and in Eshell" :reqs ((emacs (26 1)) (compat (29 1))) :kind tar :archive "nongnu" :dir nil :extras ((:url . "https://codeberg.org/akib/emacs-eat") (:keywords "terminals" "processes") (:maintainer "Akib Azmain Turja" . "akib@disroot.org") (:authors ("Akib Azmain Turja" . "akib@disroot.org")) (:commit . "c91451f2d17453c19d3fa76faa4945cbe54e14ce")) :signed nil)))
  package-download-transaction((#s(package-desc :name eat :version (0 9 4) :summary "Emulate A Terminal, in a region, in a buffer and in Eshell" :reqs ((emacs (26 1)) (compat (29 1))) :kind tar :archive "nongnu" :dir nil :extras ((:url . "https://codeberg.org/akib/emacs-eat") (:keywords "terminals" "processes") (:maintainer "Akib Azmain Turja" . "akib@disroot.org") (:authors ("Akib Azmain Turja" . "akib@disroot.org")) (:commit . "c91451f2d17453c19d3fa76faa4945cbe54e14ce")) :signed nil)))
  package-install(eat nil)
  funcall-interactively(package-install eat nil)
  command-execute(package-install record)
  execute-extended-command(nil "package-install" "package-inst")
  funcall-interactively(execute-extended-command nil "package-install" "package-inst")
  command-execute(execute-extended-command)


In GNU Emacs 30.0.50 (build 1, x86_64-pc-linux-gnu, cairo version
 1.18.0) of 2024-06-06 built on Laptop
Repository revision: 91f51f5ac5e6343359ffcadc8341b8da767aab87
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 11.0.12101013
System Description: Arch Linux

Configured using:
 'configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib
 --localstatedir=/var --mandir=/usr/share/man --with-gameuser=:games
 --with-modules --without-m17n-flt --without-selinux --without-pop
 --without-gconf --enable-link-time-optimization
 --with-native-compilation=yes --with-xinput2 --with-x-toolkit=no
 --without-toolkit-scroll-bars --without-xft --without-xaw3d
 --without-gsettings --with-cairo-xcb --with-sound=no --with-tree-sitter
 --without-gpm --without-compress-install
 '--program-transform-name=s/\([ec]tags\)/\1.emacs/'
 'CFLAGS=-march=native -mtune=native -O2 -pipe -fno-plt -fexceptions
 -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security
 -fstack-clash-protection -fcf-protection -flto=auto' 'LDFLAGS=-Wl,-O1
 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now
 -Wl,-z,pack-relative-relocs -Wl,-z,noexecstack -flto=auto''

Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS HARFBUZZ JPEG LCMS2 LIBOTF
LIBSYSTEMD LIBXML2 MODULES NATIVE_COMP NOTIFY INOTIFY OLDXMENU PDUMPER
PNG RSVG SECCOMP SQLITE3 THREADS TIFF TREE_SITTER WEBP X11 XDBE XIM
XINPUT2 XPM ZLIB

Important settings:
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix

Major mode: ELisp/l

Minor modes in effect:
  windmove-mode: t
  rainbow-mode: t
  rainbow-delimiters-mode: t
  ligature-mode: t
  flymake-mode: t
  notmuch-bookmarks-mode: t
  global-atomic-chrome-edit-mode: t
  i3bar-mode: t
  ednc-mode: t
  exwm-xsettings-mode: t
  exwm-background-mode: t
  exwm-systemtray-mode: t
  exwm-randr-mode: t
  ws-butler-mode: t
  auto-compile-on-load-mode: t
  auto-compile-on-save-mode: t
  auto-compile-mode: t
  save-place-mode: t
  savehist-mode: t
  openwith-mode: t
  org-super-agenda-mode: t
  global-org-modern-mode: t
  goto-address-prog-mode: t
  eat-eshell-mode: t
  magit-todos-mode: t
  global-git-commit-mode: t
  dired-async-mode: t
  magit-auto-revert-mode: t
  server-mode: t
  recentf-mode: t
  global-treesit-auto-mode: t
  yas-global-mode: t
  yas-minor-mode: t
  async-bytecomp-package-mode: t
  sudo-edit-indicator-mode: t
  global-auto-revert-mode: t
  vertico-mode: t
  corfu-popupinfo-mode: t
  global-corfu-mode: t
  corfu-mode: t
  isearch-mb-mode: t
  pixel-scroll-precision-mode: t
  global-hl-todo-mode: t
  hl-todo-mode: t
  all-the-icons-completion-mode: t
  marginalia-mode: t
  global-page-break-lines-mode: t
  page-break-lines-mode: t
  global-anzu-mode: t
  anzu-mode: t
  global-jinx-mode: t
  jinx-mode: t
  evil-goggles-mode: t
  global-evil-surround-mode: t
  evil-surround-mode: t
  global-evil-collection-unimpaired-mode: t
  evil-collection-unimpaired-mode: t
  evil-mode: t
  evil-local-mode: t
  desktop-environment-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  prettify-symbols-mode: t
  tab-bar-history-mode: t
  tab-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  window-divider-mode: t
  minibuffer-regexp-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

Load-path shadows:
/home/steb/.cache/emacs/elpa/notmuch-20240529.1054/notmuch hides /usr/share/emacs/site-lisp/notmuch
/home/steb/.cache/emacs/elpa/notmuch-20240529.1054/notmuch-wash hides /usr/share/emacs/site-lisp/notmuch-wash
/home/steb/.cache/emacs/elpa/notmuch-20240529.1054/notmuch-tree hides /usr/share/emacs/site-lisp/notmuch-tree
/home/steb/.cache/emacs/elpa/notmuch-20240529.1054/notmuch-tag hides /usr/share/emacs/site-lisp/notmuch-tag
/home/steb/.cache/emacs/elpa/notmuch-20240529.1054/notmuch-show hides /usr/share/emacs/site-lisp/notmuch-show
/home/steb/.cache/emacs/elpa/notmuch-20240529.1054/notmuch-query hides /usr/share/emacs/site-lisp/notmuch-query
/home/steb/.cache/emacs/elpa/notmuch-20240529.1054/notmuch-print hides /usr/share/emacs/site-lisp/notmuch-print
/home/steb/.cache/emacs/elpa/notmuch-20240529.1054/notmuch-parser hides /usr/share/emacs/site-lisp/notmuch-parser
/home/steb/.cache/emacs/elpa/notmuch-20240529.1054/notmuch-mua hides /usr/share/emacs/site-lisp/notmuch-mua
/home/steb/.cache/emacs/elpa/notmuch-20240529.1054/notmuch-message hides /usr/share/emacs/site-lisp/notmuch-message
/home/steb/.cache/emacs/elpa/notmuch-20240529.1054/notmuch-maildir-fcc hides /usr/share/emacs/site-lisp/notmuch-maildir-fcc
/home/steb/.cache/emacs/elpa/notmuch-20240529.1054/notmuch-lib hides /usr/share/emacs/site-lisp/notmuch-lib
/home/steb/.cache/emacs/elpa/notmuch-20240529.1054/notmuch-jump hides /usr/share/emacs/site-lisp/notmuch-jump
/home/steb/.cache/emacs/elpa/notmuch-20240529.1054/notmuch-hello hides /usr/share/emacs/site-lisp/notmuch-hello
/home/steb/.cache/emacs/elpa/notmuch-20240529.1054/notmuch-draft hides /usr/share/emacs/site-lisp/notmuch-draft
/home/steb/.cache/emacs/elpa/notmuch-20240529.1054/notmuch-crypto hides /usr/share/emacs/site-lisp/notmuch-crypto
/home/steb/.cache/emacs/elpa/notmuch-20240529.1054/notmuch-compat hides /usr/share/emacs/site-lisp/notmuch-compat
/home/steb/.cache/emacs/elpa/notmuch-20240529.1054/notmuch-company hides /usr/share/emacs/site-lisp/notmuch-company
/home/steb/.cache/emacs/elpa/notmuch-20240529.1054/notmuch-address hides /usr/share/emacs/site-lisp/notmuch-address
/home/steb/.cache/emacs/elpa/notmuch-20240529.1054/coolj hides /usr/share/emacs/site-lisp/coolj
/home/steb/.cache/emacs/elpa/protobuf-mode-20240222.1652/protobuf-mode hides /usr/share/emacs/site-lisp/protobuf-mode
/home/steb/.cache/emacs/elpa/transient-20240603.2200/transient hides /usr/share/emacs/30.0.50/lisp/transient
/home/steb/.cache/emacs/elpa/modus-themes-20240227.715/theme-loaddefs hides /usr/share/emacs/30.0.50/lisp/theme-loaddefs
/home/steb/.cache/emacs/elpa/org-9.7.2/ox hides /usr/share/emacs/30.0.50/lisp/org/ox
/home/steb/.cache/emacs/elpa/org-9.7.2/ox-texinfo hides /usr/share/emacs/30.0.50/lisp/org/ox-texinfo
/home/steb/.cache/emacs/elpa/org-9.7.2/ox-publish hides /usr/share/emacs/30.0.50/lisp/org/ox-publish
/home/steb/.cache/emacs/elpa/org-9.7.2/ox-org hides /usr/share/emacs/30.0.50/lisp/org/ox-org
/home/steb/.cache/emacs/elpa/org-9.7.2/ox-odt hides /usr/share/emacs/30.0.50/lisp/org/ox-odt
/home/steb/.cache/emacs/elpa/org-9.7.2/ox-md hides /usr/share/emacs/30.0.50/lisp/org/ox-md
/home/steb/.cache/emacs/elpa/org-9.7.2/ox-man hides /usr/share/emacs/30.0.50/lisp/org/ox-man
/home/steb/.cache/emacs/elpa/org-9.7.2/ox-latex hides /usr/share/emacs/30.0.50/lisp/org/ox-latex
/home/steb/.cache/emacs/elpa/org-9.7.2/ox-koma-letter hides /usr/share/emacs/30.0.50/lisp/org/ox-koma-letter
/home/steb/.cache/emacs/elpa/org-9.7.2/ox-icalendar hides /usr/share/emacs/30.0.50/lisp/org/ox-icalendar
/home/steb/.cache/emacs/elpa/org-9.7.2/ox-html hides /usr/share/emacs/30.0.50/lisp/org/ox-html
/home/steb/.cache/emacs/elpa/org-9.7.2/ox-beamer hides /usr/share/emacs/30.0.50/lisp/org/ox-beamer
/home/steb/.cache/emacs/elpa/org-9.7.2/ox-ascii hides /usr/share/emacs/30.0.50/lisp/org/ox-ascii
/home/steb/.cache/emacs/elpa/org-9.7.2/org hides /usr/share/emacs/30.0.50/lisp/org/org
/home/steb/.cache/emacs/elpa/org-9.7.2/org-version hides /usr/share/emacs/30.0.50/lisp/org/org-version
/home/steb/.cache/emacs/elpa/org-9.7.2/org-timer hides /usr/share/emacs/30.0.50/lisp/org/org-timer
/home/steb/.cache/emacs/elpa/org-9.7.2/org-tempo hides /usr/share/emacs/30.0.50/lisp/org/org-tempo
/home/steb/.cache/emacs/elpa/org-9.7.2/org-table hides /usr/share/emacs/30.0.50/lisp/org/org-table
/home/steb/.cache/emacs/elpa/org-9.7.2/org-src hides /usr/share/emacs/30.0.50/lisp/org/org-src
/home/steb/.cache/emacs/elpa/org-9.7.2/org-refile hides /usr/share/emacs/30.0.50/lisp/org/org-refile
/home/steb/.cache/emacs/elpa/org-9.7.2/org-protocol hides /usr/share/emacs/30.0.50/lisp/org/org-protocol
/home/steb/.cache/emacs/elpa/org-9.7.2/org-plot hides /usr/share/emacs/30.0.50/lisp/org/org-plot
/home/steb/.cache/emacs/elpa/org-9.7.2/org-persist hides /usr/share/emacs/30.0.50/lisp/org/org-persist
/home/steb/.cache/emacs/elpa/org-9.7.2/org-pcomplete hides /usr/share/emacs/30.0.50/lisp/org/org-pcomplete
/home/steb/.cache/emacs/elpa/org-9.7.2/org-num hides /usr/share/emacs/30.0.50/lisp/org/org-num
/home/steb/.cache/emacs/elpa/org-9.7.2/org-mouse hides /usr/share/emacs/30.0.50/lisp/org/org-mouse
/home/steb/.cache/emacs/elpa/org-9.7.2/org-mobile hides /usr/share/emacs/30.0.50/lisp/org/org-mobile
/home/steb/.cache/emacs/elpa/org-9.7.2/org-macs hides /usr/share/emacs/30.0.50/lisp/org/org-macs
/home/steb/.cache/emacs/elpa/org-9.7.2/org-macro hides /usr/share/emacs/30.0.50/lisp/org/org-macro
/home/steb/.cache/emacs/elpa/org-9.7.2/org-loaddefs hides /usr/share/emacs/30.0.50/lisp/org/org-loaddefs
/home/steb/.cache/emacs/elpa/org-9.7.2/org-list hides /usr/share/emacs/30.0.50/lisp/org/org-list
/home/steb/.cache/emacs/elpa/org-9.7.2/org-lint hides /usr/share/emacs/30.0.50/lisp/org/org-lint
/home/steb/.cache/emacs/elpa/org-9.7.2/org-keys hides /usr/share/emacs/30.0.50/lisp/org/org-keys
/home/steb/.cache/emacs/elpa/org-9.7.2/org-inlinetask hides /usr/share/emacs/30.0.50/lisp/org/org-inlinetask
/home/steb/.cache/emacs/elpa/org-9.7.2/org-indent hides /usr/share/emacs/30.0.50/lisp/org/org-indent
/home/steb/.cache/emacs/elpa/org-9.7.2/org-id hides /usr/share/emacs/30.0.50/lisp/org/org-id
/home/steb/.cache/emacs/elpa/org-9.7.2/org-habit hides /usr/share/emacs/30.0.50/lisp/org/org-habit
/home/steb/.cache/emacs/elpa/org-9.7.2/org-goto hides /usr/share/emacs/30.0.50/lisp/org/org-goto
/home/steb/.cache/emacs/elpa/org-9.7.2/org-footnote hides /usr/share/emacs/30.0.50/lisp/org/org-footnote
/home/steb/.cache/emacs/elpa/org-9.7.2/org-fold hides /usr/share/emacs/30.0.50/lisp/org/org-fold
/home/steb/.cache/emacs/elpa/org-9.7.2/org-fold-core hides /usr/share/emacs/30.0.50/lisp/org/org-fold-core
/home/steb/.cache/emacs/elpa/org-9.7.2/org-feed hides /usr/share/emacs/30.0.50/lisp/org/org-feed
/home/steb/.cache/emacs/elpa/org-9.7.2/org-faces hides /usr/share/emacs/30.0.50/lisp/org/org-faces
/home/steb/.cache/emacs/elpa/org-9.7.2/org-entities hides /usr/share/emacs/30.0.50/lisp/org/org-entities
/home/steb/.cache/emacs/elpa/org-9.7.2/org-element hides /usr/share/emacs/30.0.50/lisp/org/org-element
/home/steb/.cache/emacs/elpa/org-9.7.2/org-duration hides /usr/share/emacs/30.0.50/lisp/org/org-duration
/home/steb/.cache/emacs/elpa/org-9.7.2/org-datetree hides /usr/share/emacs/30.0.50/lisp/org/org-datetree
/home/steb/.cache/emacs/elpa/org-9.7.2/org-cycle hides /usr/share/emacs/30.0.50/lisp/org/org-cycle
/home/steb/.cache/emacs/elpa/org-9.7.2/org-ctags hides /usr/share/emacs/30.0.50/lisp/org/org-ctags
/home/steb/.cache/emacs/elpa/org-9.7.2/org-crypt hides /usr/share/emacs/30.0.50/lisp/org/org-crypt
/home/steb/.cache/emacs/elpa/org-9.7.2/org-compat hides /usr/share/emacs/30.0.50/lisp/org/org-compat
/home/steb/.cache/emacs/elpa/org-9.7.2/org-colview hides /usr/share/emacs/30.0.50/lisp/org/org-colview
/home/steb/.cache/emacs/elpa/org-9.7.2/org-clock hides /usr/share/emacs/30.0.50/lisp/org/org-clock
/home/steb/.cache/emacs/elpa/org-9.7.2/org-capture hides /usr/share/emacs/30.0.50/lisp/org/org-capture
/home/steb/.cache/emacs/elpa/org-9.7.2/org-attach hides /usr/share/emacs/30.0.50/lisp/org/org-attach
/home/steb/.cache/emacs/elpa/org-9.7.2/org-attach-git hides /usr/share/emacs/30.0.50/lisp/org/org-attach-git
/home/steb/.cache/emacs/elpa/org-9.7.2/org-archive hides /usr/share/emacs/30.0.50/lisp/org/org-archive
/home/steb/.cache/emacs/elpa/org-9.7.2/org-agenda hides /usr/share/emacs/30.0.50/lisp/org/org-agenda
/home/steb/.cache/emacs/elpa/org-9.7.2/ol hides /usr/share/emacs/30.0.50/lisp/org/ol
/home/steb/.cache/emacs/elpa/org-9.7.2/ol-w3m hides /usr/share/emacs/30.0.50/lisp/org/ol-w3m
/home/steb/.cache/emacs/elpa/org-9.7.2/ol-rmail hides /usr/share/emacs/30.0.50/lisp/org/ol-rmail
/home/steb/.cache/emacs/elpa/org-9.7.2/ol-mhe hides /usr/share/emacs/30.0.50/lisp/org/ol-mhe
/home/steb/.cache/emacs/elpa/org-9.7.2/ol-man hides /usr/share/emacs/30.0.50/lisp/org/ol-man
/home/steb/.cache/emacs/elpa/org-9.7.2/ol-irc hides /usr/share/emacs/30.0.50/lisp/org/ol-irc
/home/steb/.cache/emacs/elpa/org-9.7.2/ol-info hides /usr/share/emacs/30.0.50/lisp/org/ol-info
/home/steb/.cache/emacs/elpa/org-9.7.2/ol-gnus hides /usr/share/emacs/30.0.50/lisp/org/ol-gnus
/home/steb/.cache/emacs/elpa/org-9.7.2/ol-eww hides /usr/share/emacs/30.0.50/lisp/org/ol-eww
/home/steb/.cache/emacs/elpa/org-9.7.2/ol-eshell hides /usr/share/emacs/30.0.50/lisp/org/ol-eshell
/home/steb/.cache/emacs/elpa/org-9.7.2/ol-doi hides /usr/share/emacs/30.0.50/lisp/org/ol-doi
/home/steb/.cache/emacs/elpa/org-9.7.2/ol-docview hides /usr/share/emacs/30.0.50/lisp/org/ol-docview
/home/steb/.cache/emacs/elpa/org-9.7.2/ol-bibtex hides /usr/share/emacs/30.0.50/lisp/org/ol-bibtex
/home/steb/.cache/emacs/elpa/org-9.7.2/ol-bbdb hides /usr/share/emacs/30.0.50/lisp/org/ol-bbdb
/home/steb/.cache/emacs/elpa/org-9.7.2/oc hides /usr/share/emacs/30.0.50/lisp/org/oc
/home/steb/.cache/emacs/elpa/org-9.7.2/oc-natbib hides /usr/share/emacs/30.0.50/lisp/org/oc-natbib
/home/steb/.cache/emacs/elpa/org-9.7.2/oc-csl hides /usr/share/emacs/30.0.50/lisp/org/oc-csl
/home/steb/.cache/emacs/elpa/org-9.7.2/oc-bibtex hides /usr/share/emacs/30.0.50/lisp/org/oc-bibtex
/home/steb/.cache/emacs/elpa/org-9.7.2/oc-biblatex hides /usr/share/emacs/30.0.50/lisp/org/oc-biblatex
/home/steb/.cache/emacs/elpa/org-9.7.2/oc-basic hides /usr/share/emacs/30.0.50/lisp/org/oc-basic
/home/steb/.cache/emacs/elpa/org-9.7.2/ob hides /usr/share/emacs/30.0.50/lisp/org/ob
/home/steb/.cache/emacs/elpa/org-9.7.2/ob-tangle hides /usr/share/emacs/30.0.50/lisp/org/ob-tangle
/home/steb/.cache/emacs/elpa/org-9.7.2/ob-table hides /usr/share/emacs/30.0.50/lisp/org/ob-table
/home/steb/.cache/emacs/elpa/org-9.7.2/ob-sqlite hides /usr/share/emacs/30.0.50/lisp/org/ob-sqlite
/home/steb/.cache/emacs/elpa/org-9.7.2/ob-sql hides /usr/share/emacs/30.0.50/lisp/org/ob-sql
/home/steb/.cache/emacs/elpa/org-9.7.2/ob-shell hides /usr/share/emacs/30.0.50/lisp/org/ob-shell
/home/steb/.cache/emacs/elpa/org-9.7.2/ob-sed hides /usr/share/emacs/30.0.50/lisp/org/ob-sed
/home/steb/.cache/emacs/elpa/org-9.7.2/ob-screen hides /usr/share/emacs/30.0.50/lisp/org/ob-screen
/home/steb/.cache/emacs/elpa/org-9.7.2/ob-scheme hides /usr/share/emacs/30.0.50/lisp/org/ob-scheme
/home/steb/.cache/emacs/elpa/org-9.7.2/ob-sass hides /usr/share/emacs/30.0.50/lisp/org/ob-sass
/home/steb/.cache/emacs/elpa/org-9.7.2/ob-ruby hides /usr/share/emacs/30.0.50/lisp/org/ob-ruby
/home/steb/.cache/emacs/elpa/org-9.7.2/ob-ref hides /usr/share/emacs/30.0.50/lisp/org/ob-ref
/home/steb/.cache/emacs/elpa/org-9.7.2/ob-python hides /usr/share/emacs/30.0.50/lisp/org/ob-python
/home/steb/.cache/emacs/elpa/org-9.7.2/ob-processing hides /usr/share/emacs/30.0.50/lisp/org/ob-processing
/home/steb/.cache/emacs/elpa/org-9.7.2/ob-plantuml hides /usr/share/emacs/30.0.50/lisp/org/ob-plantuml
/home/steb/.cache/emacs/elpa/org-9.7.2/ob-perl hides /usr/share/emacs/30.0.50/lisp/org/ob-perl
/home/steb/.cache/emacs/elpa/org-9.7.2/ob-org hides /usr/share/emacs/30.0.50/lisp/org/ob-org
/home/steb/.cache/emacs/elpa/org-9.7.2/ob-octave hides /usr/share/emacs/30.0.50/lisp/org/ob-octave
/home/steb/.cache/emacs/elpa/org-9.7.2/ob-ocaml hides /usr/share/emacs/30.0.50/lisp/org/ob-ocaml
/home/steb/.cache/emacs/elpa/org-9.7.2/ob-maxima hides /usr/share/emacs/30.0.50/lisp/org/ob-maxima
/home/steb/.cache/emacs/elpa/org-9.7.2/ob-matlab hides /usr/share/emacs/30.0.50/lisp/org/ob-matlab
/home/steb/.cache/emacs/elpa/org-9.7.2/ob-makefile hides /usr/share/emacs/30.0.50/lisp/org/ob-makefile
/home/steb/.cache/emacs/elpa/org-9.7.2/ob-lua hides /usr/share/emacs/30.0.50/lisp/org/ob-lua
/home/steb/.cache/emacs/elpa/org-9.7.2/ob-lob hides /usr/share/emacs/30.0.50/lisp/org/ob-lob
/home/steb/.cache/emacs/elpa/org-9.7.2/ob-lisp hides /usr/share/emacs/30.0.50/lisp/org/ob-lisp
/home/steb/.cache/emacs/elpa/org-9.7.2/ob-lilypond hides /usr/share/emacs/30.0.50/lisp/org/ob-lilypond
/home/steb/.cache/emacs/elpa/org-9.7.2/ob-latex hides /usr/share/emacs/30.0.50/lisp/org/ob-latex
/home/steb/.cache/emacs/elpa/org-9.7.2/ob-julia hides /usr/share/emacs/30.0.50/lisp/org/ob-julia
/home/steb/.cache/emacs/elpa/org-9.7.2/ob-js hides /usr/share/emacs/30.0.50/lisp/org/ob-js
/home/steb/.cache/emacs/elpa/org-9.7.2/ob-java hides /usr/share/emacs/30.0.50/lisp/org/ob-java
/home/steb/.cache/emacs/elpa/org-9.7.2/ob-haskell hides /usr/share/emacs/30.0.50/lisp/org/ob-haskell
/home/steb/.cache/emacs/elpa/org-9.7.2/ob-groovy hides /usr/share/emacs/30.0.50/lisp/org/ob-groovy
/home/steb/.cache/emacs/elpa/org-9.7.2/ob-gnuplot hides /usr/share/emacs/30.0.50/lisp/org/ob-gnuplot
/home/steb/.cache/emacs/elpa/org-9.7.2/ob-fortran hides /usr/share/emacs/30.0.50/lisp/org/ob-fortran
/home/steb/.cache/emacs/elpa/org-9.7.2/ob-forth hides /usr/share/emacs/30.0.50/lisp/org/ob-forth
/home/steb/.cache/emacs/elpa/org-9.7.2/ob-exp hides /usr/share/emacs/30.0.50/lisp/org/ob-exp
/home/steb/.cache/emacs/elpa/org-9.7.2/ob-eval hides /usr/share/emacs/30.0.50/lisp/org/ob-eval
/home/steb/.cache/emacs/elpa/org-9.7.2/ob-eshell hides /usr/share/emacs/30.0.50/lisp/org/ob-eshell
/home/steb/.cache/emacs/elpa/org-9.7.2/ob-emacs-lisp hides /usr/share/emacs/30.0.50/lisp/org/ob-emacs-lisp
/home/steb/.cache/emacs/elpa/org-9.7.2/ob-dot hides /usr/share/emacs/30.0.50/lisp/org/ob-dot
/home/steb/.cache/emacs/elpa/org-9.7.2/ob-ditaa hides /usr/share/emacs/30.0.50/lisp/org/ob-ditaa
/home/steb/.cache/emacs/elpa/org-9.7.2/ob-css hides /usr/share/emacs/30.0.50/lisp/org/ob-css
/home/steb/.cache/emacs/elpa/org-9.7.2/ob-core hides /usr/share/emacs/30.0.50/lisp/org/ob-core
/home/steb/.cache/emacs/elpa/org-9.7.2/ob-comint hides /usr/share/emacs/30.0.50/lisp/org/ob-comint
/home/steb/.cache/emacs/elpa/org-9.7.2/ob-clojure hides /usr/share/emacs/30.0.50/lisp/org/ob-clojure
/home/steb/.cache/emacs/elpa/org-9.7.2/ob-calc hides /usr/share/emacs/30.0.50/lisp/org/ob-calc
/home/steb/.cache/emacs/elpa/org-9.7.2/ob-awk hides /usr/share/emacs/30.0.50/lisp/org/ob-awk
/home/steb/.cache/emacs/elpa/org-9.7.2/ob-R hides /usr/share/emacs/30.0.50/lisp/org/ob-R
/home/steb/.cache/emacs/elpa/org-9.7.2/ob-C hides /usr/share/emacs/30.0.50/lisp/org/ob-C

Features:
(shadow sort windmove emacsbug qp mail-extr notmuch-microdata microdata
systemctl help-fns radix-tree consult-xref checkdoc package-lint-flymake
package-lint evil-collection-finder finder lisp-mnt rainbow-mode
xterm-color rainbow-delimiters ligature evil-collection-flymake flymake
evil-collection-proced proced bash-completion textsec uni-scripts
idna-mapping ucs-normalize uni-confusable textsec-check shr pixel-fill
kinsoku url-file mm-archive misearch multi-isearch tramp-cmds mule-util
vertico-repeat app-launcher evil-collection-vc-git vc-git vc-dispatcher
evil-collection-consult consult magit-bookmark org-bookmark-heading
notmuch-bookmarks evil-collection-bookmark bookmark dired-k
all-the-icons-dired dired-filter dired-hacks-utils dired-x
eshell-syntax-highlighting em-elecslash em-tramp em-extpipe em-glob
em-basic em-alias pinentry evil-collection-atomic-chrome atomic-chrome
websocket bindat i3bar ednc filechooser dbus exwm-xsettings
xcb-xsettings exwm-background exwm-systemtray xcb-systemtray xcb-xembed
exwm-randr xcb-randr exwm exwm-input xcb-keysyms xcb-xkb exwm-manage
exwm-floating xcb-cursor xcb-render exwm-layout exwm-workspace exwm-core
xcb-ewmh xcb-icccm xcb xcb-xproto xcb-types xcb-debug cus-start posframe
face-remap visual-fill-column org-indent evil-org ws-butler oc-basic
bibtex ol-man ol-info ol-docview evil-collection-doc-view doc-view
jka-compr evil-collection-image image-mode exif auto-compile saveplace
tramp-sh savehist openwith org-super-agenda ts ht org-habit org-crypt
org-protocol ob-http ob-http-mode org-modern ob-dot ob-latex ob-python
evil-collection-python python ob-gnuplot ox-odt rng-loc rng-uri
rng-parse rng-match rng-dt rng-util rng-pttrn nxml-parse nxml-ns
nxml-enc xmltok nxml-util ox-latex ox-icalendar evil-org-agenda
org-agenda ox-html table ox-ascii ox-publish ox org-element org-persist
org-id org-refile org-element-ast inline avl-tree ob-calc calc-store
calc-trail calc-ext evil-collection-calc calc calc-loaddefs calc-macs
ob-shell evil-collection-org org ob ob-tangle ob-ref ob-lob ob-table
ob-exp org-macro evil-collection-xref xref org-src
evil-collection-sh-script sh-script smie executable ob-comint
org-pcomplete org-list org-footnote org-faces org-entities ob-emacs-lisp
ob-core ob-eval org-cycle org-table ol org-fold org-fold-core org-keys
oc org-loaddefs org-compat org-version org-macs evil-collection-notmuch
notmuch notmuch-tree notmuch-jump notmuch-hello notmuch-show
notmuch-print notmuch-crypto notmuch-mua notmuch-message notmuch-draft
notmuch-maildir-fcc notmuch-address notmuch-company notmuch-parser
notmuch-wash coolj goto-addr icalendar diary-lib diary-loaddefs
evil-collection-calendar cal-menu calendar cal-loaddefs notmuch-tag
notmuch-lib notmuch-compat mm-view mml-smime smime dig
eshell-prompt-extras em-dirs em-ls em-prompt em-hist em-unix em-pred
esh-mode esh-var evil-collection-eat eat evil-collection-term term
disp-table ehelp eshell esh-cmd generator esh-ext esh-opt esh-proc
esh-io esh-arg esh-module esh-module-loaddefs esh-util
evil-collection-forge forge-repos forge-topics forge-tablist hl-line
forge-commands forge-semi forge-bitbucket buck forge-gogs gogs
forge-gitea gtea forge-gitlab glab forge-github ghub-graphql treepy
gsexp ghub url-http url-gw nsm url-auth let-alist gnutls forge-notify
forge-revnote forge-pullreq forge-issue forge-topic yaml bug-reference
forge-post evil-collection-markdown-mode markdown-mode edit-indirect
evil-collection-outline noutline outline forge-repo forge forge-core
forge-db closql emacsql-sqlite-common emacsql emacsql-compiler
eieio-base evil-collection-magit-todos magit-todos pcre2el rxt
re-builder f s evil-collection-grep grep evil-collection-compile compile
evil-collection-magit 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-status magit magit-repos magit-apply magit-wip magit-log
which-func evil-collection-imenu imenu magit-diff smerge-mode diff
diff-mode track-changes easy-mmode git-commit evil-collection-log-edit
log-edit message sendmail yank-media puny dired-async dired-aux
evil-collection-dired dired dired-loaddefs rfc822 mml mml-sec
evil-collection-epa epa derived epg rfc6068 epg-config gnus-util
text-property-search 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
magit-margin magit-transient magit-process with-editor server magit-mode
transient magit-git magit-base evil-collection-magit-section
magit-section cursor-sensor crm recentf tree-widget treesit-auto
yasnippet async-bytecomp async sudo-edit tramp trampver
tramp-integration files-x tramp-message tramp-compat shell pcomplete
evil-collection-comint comint ansi-osc parse-time iso8601 time-date
format-spec ansi-color tramp-loaddefs autorevert filenotify project
vertico corfu-popupinfo evil-collection-corfu corfu orderless isearch-mb
pixel-scroll cua-base hl-todo all-the-icons-completion all-the-icons
all-the-icons-faces all-the-icons-data-material-icons
all-the-icons-data-fluentui-system-icons
all-the-icons-data-fontawesome-4 all-the-icons-data-weather-icons
all-the-icons-data-vscode-codicons all-the-icons-data-octicons
all-the-icons-data-mfixx all-the-icons-data-file-icons
all-the-icons-data-devopicons all-the-icons-data-alltheicons svg dom xml
marginalia page-break-lines anzu modus-vivendi-theme modus-themes jinx
evil-goggles pulse color evil-textobj-tree-sitter
evil-textobj-tree-sitter-thing-at-point evil-textobj-tree-sitter-core
treesit evil-args evil-surround evil-collection-unimpaired
evil-collection-tabulated-list evil-collection-tab-bar
evil-collection-simple evil-collection-replace
evil-collection-process-menu evil-collection-package-menu
evil-collection-kmacro evil-collection-info evil-collection-indent
evil-collection-help evil-collection-elisp-mode evil-collection-eldoc
evil-collection-custom evil-collection-buff-menu evil-collection
annalist evil evil-integration evil-maps evil-commands evil-digraphs
pcase reveal evil-jumps evil-command-window evil-types evil-search
evil-ex evil-macros evil-repeat evil-states evil-core comp-run advice
evil-common thingatpt rect evil-vars ring edmacro kmacro general dash
mode-local find-func no-littering compat finder-inf notmuch-version info
all-the-icons-completion-autoloads all-the-icons-dired-autoloads
all-the-icons-ibuffer-autoloads all-the-icons-autoloads
app-launcher-autoloads aria2-autoloads atomic-chrome-autoloads
auto-compile-autoloads bash-completion-autoloads bluetooth-autoloads
buffer-move-autoloads calibre-autoloads cape-autoloads casual-autoloads
casual-dired-autoloads clojure-mode-autoloads consult-eglot-autoloads
consult-project-extra-autoloads consult-autoloads corfu-autoloads
coverage-autoloads csv-mode-autoloads dape-autoloads devdocs-autoloads
dired-filter-autoloads dired-hacks-utils-autoloads dired-k-autoloads
discomfort-autoloads debase-autoloads disk-usage-autoloads eat-autoloads
edit-indirect-autoloads ednc-autoloads eff-autoloads ellama-autoloads
ement-autoloads eshell-prompt-extras-autoloads
eshell-syntax-highlighting-autoloads eshell-vterm-autoloads
evil-anzu-autoloads anzu-autoloads evil-args-autoloads
evil-collection-autoloads annalist-autoloads evil-goggles-autoloads
evil-nerd-commenter-autoloads evil-org-autoloads evil-surround-autoloads
evil-autoloads evil-textobj-tree-sitter-autoloads evm-mode-autoloads
expand-region-autoloads exwm-autoloads filechooser-autoloads
flymake-ruff-autoloads general-autoloads git-link-autoloads
git-modes-autoloads gnuplot-autoloads goto-chg-autoloads
graphviz-dot-mode-autoloads helpful-autoloads elisp-refs-autoloads
htmlize-autoloads i3bar-autoloads igist-autoloads info-colors-autoloads
isearch-mb-autoloads iwindow-autoloads jinx-autoloads
journalctl-autoloads kotlin-mode-autoloads ligature-autoloads
link-hint-autoloads avy-autoloads llm-autoloads magit-delta-autoloads
magit-todos-autoloads hl-todo-autoloads marginalia-autoloads
mastodon-autoloads microdata-autoloads modus-themes-autoloads
named-pipe-autoloads nftables-mode-autoloads no-littering-autoloads
notmuch-transient-autoloads nov-autoloads esxml-autoloads kv-autoloads
ob-async-autoloads ob-http-autoloads ol-notmuch-autoloads
notmuch-autoloads openwith-autoloads orderless-autoloads
org-bookmark-heading-autoloads org-download-autoloads async-autoloads
org-modern-autoloads org-ql-autoloads f-autoloads
org-super-agenda-autoloads orgit-forge-autoloads orgit-autoloads
forge-autoloads markdown-mode-autoloads magit-autoloads
git-commit-autoloads ghub-autoloads closql-autoloads emacsql-autoloads
ov-autoloads ox-pandoc-autoloads ht-autoloads org-autoloads
package-lint-flymake-autoloads package-lint-autoloads
page-break-lines-autoloads password-store-autoloads pcre2el-autoloads
pdf-tools-autoloads persist-autoloads pinentry-autoloads
pkgbuild-mode-autoloads playerctl-autoloads plz-autoloads
posframe-autoloads proced-narrow-autoloads protobuf-mode-autoloads
pulseaudio-control-autoloads qrencode-autoloads
rainbow-delimiters-autoloads rainbow-mode-autoloads request-autoloads
rg-autoloads rmsbolt-autoloads rust-playground-autoloads
solidity-mode-autoloads spinner-autoloads ssh-config-mode-autoloads
sudo-edit-autoloads svg-lib-autoloads systemctl-autoloads
systemd-autoloads tablist-autoloads taxy-magit-section-autoloads
taxy-autoloads magit-section-autoloads tmr-autoloads transient-autoloads
treepy-autoloads treesit-auto-autoloads ts-autoloads s-autoloads
dash-autoloads tzc-autoloads udev-mode-autoloads vala-mode-autoloads
cc-styles cc-align cc-engine cc-vars cc-defs vertico-autoloads
vimrc-mode-autoloads visual-fill-column-autoloads vterm-autoloads
vundo-autoloads wat-ts-mode-autoloads watch-autoloads web-mode-autoloads
websocket-autoloads wgrep-autoloads whisper-autoloads
with-editor-autoloads wordnut-autoloads ws-butler-autoloads
xelb-autoloads xterm-color-autoloads yaml-autoloads yasnippet-autoloads
comp comp-cstr cl-extra help-mode comp-common warnings rx xdg 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 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/x-win x-win term/common-win x-dnd touch-screen
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 lcms2 dynamic-setting font-render-setting cairo xinput2 x
multi-tty move-toolbar make-network-process native-compile emacs)

Memory information:
((conses 16 1624094 1570767) (symbols 48 97518 18) (strings 32 393144 73220)
 (string-bytes 1 12152929) (vectors 16 154447) (vector-slots 8 1855260 322391) (floats 8 880 12440)
 (intervals 56 16495 5279) (buffers 992 36))





^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#71398: 30.0.50; Byte-compiling eat 0.9.4 stalls
  2024-06-06 16:07 bug#71398: 30.0.50; Byte-compiling eat 0.9.4 stalls Steven Allen via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-06-07  5:54 ` Eli Zaretskii
  2024-06-07 15:49   ` Steven Allen
  0 siblings, 1 reply; 6+ messages in thread
From: Eli Zaretskii @ 2024-06-07  5:54 UTC (permalink / raw)
  To: Steven Allen; +Cc: 71398

> Date: Thu, 06 Jun 2024 09:07:56 -0700
> From:  Steven Allen via "Bug reports for GNU Emacs,
>  the Swiss army knife of text editors" <bug-gnu-emacs@gnu.org>
> 
> 
> Byte-compiling eat 0.9.4 stalls (using 100% CPU) when compiling
> `eat--t-handle-output`. To reproduce:
> 
> 1. `emacs -Q`
> 2. `M-x package-install RET eat RET`
> 
> If I enable `debug-on-quit` and quit while compiling, I get the
> following backtrace:
> 
> Debugger entered--Lisp error: (quit)
>   maphash(#f(compiled-function (value tag) #<bytecode 0x139135ce1c53c9c>) #<hash-table equal 2/2 0x10d3da6d861d ...>)

Thanks, but why do you think this is a bug in Emacs and not in eat?
Did you report this to the eat developers?  If not, I suggest to do
that first.





^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#71398: 30.0.50; Byte-compiling eat 0.9.4 stalls
  2024-06-07  5:54 ` Eli Zaretskii
@ 2024-06-07 15:49   ` Steven Allen
  2024-06-08 21:36     ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 6+ messages in thread
From: Steven Allen @ 2024-06-07 15:49 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 71398, Stefan Monnier


(CC Stefan because this appears to be caused by 16fc5b6c0c72464a75d9a84b754375662b3acec6)

Eli Zaretskii <eliz@gnu.org> writes:
> Thanks, but why do you think this is a bug in Emacs and not in eat?
> Did you report this to the eat developers?  If not, I suggest to do
> that first.

Ah, I should have included that context. This version of EAT used to
compile just fine, I only ran into an issue when I updated to master
yesterday.

On further investigation, this appears to be due to this [1] pcase. It
doesn't actually hang forever, it just gets exponentially slower for
each destructuring pattern with an internal operator like `or` or `and`.
E.g.:

    (`((,(or ?B ?e)) nil ((,n)))
     (eat--t-cur-down n))

I've tracked it down to 16fc5b6c0c72464a75d9a84b754375662b3acec6.
Reverting this commit makes `eat.el` compile instantly.

[1]: https://codeberg.org/akib/emacs-eat/src/commit/3a6f418f55d183b9d86f99c140caed4ba3d44f93/eat.el#L3534





^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#71398: 30.0.50; Byte-compiling eat 0.9.4 stalls
  2024-06-07 15:49   ` Steven Allen
@ 2024-06-08 21:36     ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2024-06-08 23:39       ` Steven Allen via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 6+ messages in thread
From: Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-06-08 21:36 UTC (permalink / raw)
  To: Steven Allen; +Cc: Eli Zaretskii, 71398

> (CC Stefan because this appears to be caused by 16fc5b6c0c72464a75d9a84b754375662b3acec6)

Very much so, indeed.

I installed into `master` a new optimization which seems to get us back
to a sane expansion for your case.  Can you confirm that it fixes it
for you?


        Stefan






^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#71398: 30.0.50; Byte-compiling eat 0.9.4 stalls
  2024-06-08 21:36     ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-06-08 23:39       ` Steven Allen via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2024-06-09  3:40         ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 6+ messages in thread
From: Steven Allen via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-06-08 23:39 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: Eli Zaretskii, 71398


Stefan Monnier <monnier@iro.umontreal.ca> writes:
> I installed into `master` a new optimization which seems to get us back
> to a sane expansion for your case.  Can you confirm that it fixes it
> for you?

Confirmed fixed (and I recompiled all my other packages so there are no
other regressions there). Thanks!





^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#71398: 30.0.50; Byte-compiling eat 0.9.4 stalls
  2024-06-08 23:39       ` Steven Allen via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-06-09  3:40         ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 0 replies; 6+ messages in thread
From: Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-06-09  3:40 UTC (permalink / raw)
  To: Steven Allen; +Cc: Eli Zaretskii, 71398-done

> Confirmed fixed (and I recompiled all my other packages so there are no
> other regressions there). Thanks!

Great, thanks, closing,


        Stefan






^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2024-06-09  3:40 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-06-06 16:07 bug#71398: 30.0.50; Byte-compiling eat 0.9.4 stalls Steven Allen via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-06-07  5:54 ` Eli Zaretskii
2024-06-07 15:49   ` Steven Allen
2024-06-08 21:36     ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-06-08 23:39       ` Steven Allen via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-06-09  3:40         ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).