Package: emacs;
Reported by: Steven Allen <steven <at> stebalien.com>
Date: Fri, 1 Aug 2025 20:58:02 UTC
Severity: normal
Fixed in version 31.0.50
Done: Juri Linkov <juri <at> linkov.net>
View this message in rfc822 format
From: Steven Allen <steven <at> stebalien.com> To: 79141 <at> debbugs.gnu.org Cc: Juri Linkov <juri <at> linkov.net> Subject: bug#79141: 31.0.50; The tab-bar-format-align-right cache doesn't take face changes and per-frame faces into account Date: Fri, 01 Aug 2025 13:47:32 -0700
[Message part 1 (text/plain, inline)]
The the `tab-bar-format-align-right' width cache isn't updated when faces change and doesn't take into account the fact that faces can have different attributes on different frames. To reproduce, launch "emacs -Q" then yank the following into the scratch buffer: (setq global-mode-string (list "" "GNU Emacs is a version of Emacs...") tab-bar-format '(tab-bar-format-align-right tab-bar-format-global)) (tab-bar-mode 1) And evaluate the buffer (M-x eval-buffer RET). Finally, increase the font size with `global-text-scale-adjust': C-x C-M-0 +++++ The tab-bar text will get pushed off the right side on Emacs master but not in the latest release. See the attached screenshots. Furthermore, different frames can have different text sizes. Personally, I use this to scale each of my frames' text based on the monitor's DPI. To reproduce, launch "emacs -Q", yank the following into the scratch buffer, and evaluate it: (setq global-mode-string (list "" "GNU Emacs is a version of Emacs...") tab-bar-format '(tab-bar-format-align-right tab-bar-format-global)) (tab-bar-mode 1) (set-face-attribute 'default (selected-frame) :height (* 2 (face-attribute 'default :height))) (make-frame) The tab-bar text will be correctly aligned in the new frame but not in the original frame. The per-frame issue can be fixed by making the cache per-frame but reacting to face changes is harder. Given that this is simply a cache, I'd recommend reverting the change and living with the slight performance hit. In GNU Emacs 31.0.50 (build 1, x86_64-pc-linux-gnu, cairo version 1.18.4) of 2025-07-31 built on Laptop Repository revision: 58a3fcbfaf3eee92aec2cce069c0c87475d9d060 Repository branch: makepkg Windowing system distributor 'The X.Org Foundation', version 11.0.12101018 System Description: Arch Linux Configured using: 'configure 'CPPFLAGS=-I/run/user/1000/build/emacs-git/src/mps-git/build/include ' 'LDFLAGS=-L/run/user/1000/build/emacs-git/src/mps-git/build/lib -Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,-z,pack-relative-relocs -flto=auto' --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 --disable-gc-mark-trace --with-mps=yes --enable-link-time-optimization --with-native-compilation=yes --with-xinput2 --with-x-toolkit=no --without-toolkit-scroll-bars --without-xaw3d --without-gsettings --with-cairo-xcb --without-xft --with-sound=no --with-tree-sitter --without-gpm --without-compress-install '--program-transform-name=s/\([ec]tags\)/\1.emacs/' 'CFLAGS=-march=native -mtune=native -O3 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -fomit-frame-pointer -fno-math-errno -fno-trapping-math -fno-math-errno -fno-trapping-math -flto=auto'' Configured features: ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS HARFBUZZ JPEG LCMS2 LIBOTF LIBSYSTEMD LIBXML2 MODULES MPS NATIVE_COMP NOTIFY INOTIFY OLDXMENU PDUMPER PNG RSVG SECCOMP SQLITE3 THREADS TIFF TREE_SITTER WEBP X11 XDBE XIM XINERAMA XINPUT2 XPM XRANDR ZLIB Important settings: value of $LANG: en_US.UTF-8 locale-coding-system: utf-8-unix Major mode: Elisp/l Minor modes in effect: rainbow-mode: t windmove-mode: t rainbow-delimiters-mode: t global-atomic-chrome-edit-mode: t iwd-agent-mode: t i3bar-mode: t ednc-mode: t exwm-xsettings-mode: t exwm-background-mode: t exwm-systemtray-mode: t exwm-randr-mode: t exwm-wm-mode: t spacious-padding-mode: t ligature-mode: t stripspace-local-mode: t flymake-mode: t simple-auto-compile-mode: t save-place-mode: t savehist-mode: t global-org-modern-mode: t notmuch-bookmarks-mode: t goto-address-prog-mode: t eat-eshell-mode: t bug-reference-prog-mode: t magit-todos-mode: t nerd-icons-grep-mode: t global-git-commit-mode: t magit-auto-revert-mode: t server-mode: t llama-fontify-mode: t global-diff-hl-mode: t diff-hl-mode: t dired-async-mode: t yas-global-mode: t yas-minor-mode: t ultra-scroll-mode: t pixel-scroll-precision-mode: t global-hl-todo-mode: t hl-todo-mode: t marginalia-mode: t nerd-icons-completion-mode: t global-jinx-mode: t jinx-mode: t visual-replace-global-mode: t vertico-multiform-mode: t vertico-mode: t corfu-popupinfo-mode: t global-corfu-mode: t corfu-mode: t isearch-mb-mode: t global-evil-surround-mode: t evil-surround-mode: t evil-goggles-mode: t recentf-mode: t editorconfig-mode: t page-break-mode: t global-auto-revert-mode: t minibuffer-depth-indicate-mode: t minibuffer-electric-default-mode: t evil-mode: t evil-local-mode: t desktop-environment-mode: t elpaca-use-package-mode: t override-global-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 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/.config/emacs/elpaca/builds/package-lint-flymake/package-lint-flymake hides /home/steb/.config/emacs/elpaca/builds/package-lint/package-lint-flymake /home/steb/.config/emacs/elpaca/builds/transient/transient hides /usr/share/emacs/31.0.50/lisp/transient /home/steb/.config/emacs/elpaca/builds/org/ox hides /usr/share/emacs/31.0.50/lisp/org/ox /home/steb/.config/emacs/elpaca/builds/org/ox-texinfo hides /usr/share/emacs/31.0.50/lisp/org/ox-texinfo /home/steb/.config/emacs/elpaca/builds/org/ox-publish hides /usr/share/emacs/31.0.50/lisp/org/ox-publish /home/steb/.config/emacs/elpaca/builds/org/ox-org hides /usr/share/emacs/31.0.50/lisp/org/ox-org /home/steb/.config/emacs/elpaca/builds/org/ox-odt hides /usr/share/emacs/31.0.50/lisp/org/ox-odt /home/steb/.config/emacs/elpaca/builds/org/ox-md hides /usr/share/emacs/31.0.50/lisp/org/ox-md /home/steb/.config/emacs/elpaca/builds/org/ox-man hides /usr/share/emacs/31.0.50/lisp/org/ox-man /home/steb/.config/emacs/elpaca/builds/org/ox-latex hides /usr/share/emacs/31.0.50/lisp/org/ox-latex /home/steb/.config/emacs/elpaca/builds/org/ox-koma-letter hides /usr/share/emacs/31.0.50/lisp/org/ox-koma-letter /home/steb/.config/emacs/elpaca/builds/org/ox-icalendar hides /usr/share/emacs/31.0.50/lisp/org/ox-icalendar /home/steb/.config/emacs/elpaca/builds/org/ox-html hides /usr/share/emacs/31.0.50/lisp/org/ox-html /home/steb/.config/emacs/elpaca/builds/org/ox-beamer hides /usr/share/emacs/31.0.50/lisp/org/ox-beamer /home/steb/.config/emacs/elpaca/builds/org/ox-ascii hides /usr/share/emacs/31.0.50/lisp/org/ox-ascii /home/steb/.config/emacs/elpaca/builds/org/org hides /usr/share/emacs/31.0.50/lisp/org/org /home/steb/.config/emacs/elpaca/builds/org/org-version hides /usr/share/emacs/31.0.50/lisp/org/org-version /home/steb/.config/emacs/elpaca/builds/org/org-timer hides /usr/share/emacs/31.0.50/lisp/org/org-timer /home/steb/.config/emacs/elpaca/builds/org/org-tempo hides /usr/share/emacs/31.0.50/lisp/org/org-tempo /home/steb/.config/emacs/elpaca/builds/org/org-table hides /usr/share/emacs/31.0.50/lisp/org/org-table /home/steb/.config/emacs/elpaca/builds/org/org-src hides /usr/share/emacs/31.0.50/lisp/org/org-src /home/steb/.config/emacs/elpaca/builds/org/org-refile hides /usr/share/emacs/31.0.50/lisp/org/org-refile /home/steb/.config/emacs/elpaca/builds/org/org-protocol hides /usr/share/emacs/31.0.50/lisp/org/org-protocol /home/steb/.config/emacs/elpaca/builds/org/org-plot hides /usr/share/emacs/31.0.50/lisp/org/org-plot /home/steb/.config/emacs/elpaca/builds/org/org-persist hides /usr/share/emacs/31.0.50/lisp/org/org-persist /home/steb/.config/emacs/elpaca/builds/org/org-pcomplete hides /usr/share/emacs/31.0.50/lisp/org/org-pcomplete /home/steb/.config/emacs/elpaca/builds/org/org-num hides /usr/share/emacs/31.0.50/lisp/org/org-num /home/steb/.config/emacs/elpaca/builds/org/org-mouse hides /usr/share/emacs/31.0.50/lisp/org/org-mouse /home/steb/.config/emacs/elpaca/builds/org/org-mobile hides /usr/share/emacs/31.0.50/lisp/org/org-mobile /home/steb/.config/emacs/elpaca/builds/org/org-macs hides /usr/share/emacs/31.0.50/lisp/org/org-macs /home/steb/.config/emacs/elpaca/builds/org/org-macro hides /usr/share/emacs/31.0.50/lisp/org/org-macro /home/steb/.config/emacs/elpaca/builds/org/org-loaddefs hides /usr/share/emacs/31.0.50/lisp/org/org-loaddefs /home/steb/.config/emacs/elpaca/builds/org/org-list hides /usr/share/emacs/31.0.50/lisp/org/org-list /home/steb/.config/emacs/elpaca/builds/org/org-lint hides /usr/share/emacs/31.0.50/lisp/org/org-lint /home/steb/.config/emacs/elpaca/builds/org/org-keys hides /usr/share/emacs/31.0.50/lisp/org/org-keys /home/steb/.config/emacs/elpaca/builds/org/org-inlinetask hides /usr/share/emacs/31.0.50/lisp/org/org-inlinetask /home/steb/.config/emacs/elpaca/builds/org/org-indent hides /usr/share/emacs/31.0.50/lisp/org/org-indent /home/steb/.config/emacs/elpaca/builds/org/org-id hides /usr/share/emacs/31.0.50/lisp/org/org-id /home/steb/.config/emacs/elpaca/builds/org/org-habit hides /usr/share/emacs/31.0.50/lisp/org/org-habit /home/steb/.config/emacs/elpaca/builds/org/org-goto hides /usr/share/emacs/31.0.50/lisp/org/org-goto /home/steb/.config/emacs/elpaca/builds/org/org-footnote hides /usr/share/emacs/31.0.50/lisp/org/org-footnote /home/steb/.config/emacs/elpaca/builds/org/org-fold hides /usr/share/emacs/31.0.50/lisp/org/org-fold /home/steb/.config/emacs/elpaca/builds/org/org-fold-core hides /usr/share/emacs/31.0.50/lisp/org/org-fold-core /home/steb/.config/emacs/elpaca/builds/org/org-feed hides /usr/share/emacs/31.0.50/lisp/org/org-feed /home/steb/.config/emacs/elpaca/builds/org/org-faces hides /usr/share/emacs/31.0.50/lisp/org/org-faces /home/steb/.config/emacs/elpaca/builds/org/org-entities hides /usr/share/emacs/31.0.50/lisp/org/org-entities /home/steb/.config/emacs/elpaca/builds/org/org-element hides /usr/share/emacs/31.0.50/lisp/org/org-element /home/steb/.config/emacs/elpaca/builds/org/org-element-ast hides /usr/share/emacs/31.0.50/lisp/org/org-element-ast /home/steb/.config/emacs/elpaca/builds/org/org-duration hides /usr/share/emacs/31.0.50/lisp/org/org-duration /home/steb/.config/emacs/elpaca/builds/org/org-datetree hides /usr/share/emacs/31.0.50/lisp/org/org-datetree /home/steb/.config/emacs/elpaca/builds/org/org-cycle hides /usr/share/emacs/31.0.50/lisp/org/org-cycle /home/steb/.config/emacs/elpaca/builds/org/org-ctags hides /usr/share/emacs/31.0.50/lisp/org/org-ctags /home/steb/.config/emacs/elpaca/builds/org/org-crypt hides /usr/share/emacs/31.0.50/lisp/org/org-crypt /home/steb/.config/emacs/elpaca/builds/org/org-compat hides /usr/share/emacs/31.0.50/lisp/org/org-compat /home/steb/.config/emacs/elpaca/builds/org/org-colview hides /usr/share/emacs/31.0.50/lisp/org/org-colview /home/steb/.config/emacs/elpaca/builds/org/org-clock hides /usr/share/emacs/31.0.50/lisp/org/org-clock /home/steb/.config/emacs/elpaca/builds/org/org-capture hides /usr/share/emacs/31.0.50/lisp/org/org-capture /home/steb/.config/emacs/elpaca/builds/org/org-attach hides /usr/share/emacs/31.0.50/lisp/org/org-attach /home/steb/.config/emacs/elpaca/builds/org/org-attach-git hides /usr/share/emacs/31.0.50/lisp/org/org-attach-git /home/steb/.config/emacs/elpaca/builds/org/org-archive hides /usr/share/emacs/31.0.50/lisp/org/org-archive /home/steb/.config/emacs/elpaca/builds/org/org-agenda hides /usr/share/emacs/31.0.50/lisp/org/org-agenda /home/steb/.config/emacs/elpaca/builds/org/ol hides /usr/share/emacs/31.0.50/lisp/org/ol /home/steb/.config/emacs/elpaca/builds/org/ol-w3m hides /usr/share/emacs/31.0.50/lisp/org/ol-w3m /home/steb/.config/emacs/elpaca/builds/org/ol-rmail hides /usr/share/emacs/31.0.50/lisp/org/ol-rmail /home/steb/.config/emacs/elpaca/builds/org/ol-mhe hides /usr/share/emacs/31.0.50/lisp/org/ol-mhe /home/steb/.config/emacs/elpaca/builds/org/ol-man hides /usr/share/emacs/31.0.50/lisp/org/ol-man /home/steb/.config/emacs/elpaca/builds/org/ol-irc hides /usr/share/emacs/31.0.50/lisp/org/ol-irc /home/steb/.config/emacs/elpaca/builds/org/ol-info hides /usr/share/emacs/31.0.50/lisp/org/ol-info /home/steb/.config/emacs/elpaca/builds/org/ol-gnus hides /usr/share/emacs/31.0.50/lisp/org/ol-gnus /home/steb/.config/emacs/elpaca/builds/org/ol-eww hides /usr/share/emacs/31.0.50/lisp/org/ol-eww /home/steb/.config/emacs/elpaca/builds/org/ol-eshell hides /usr/share/emacs/31.0.50/lisp/org/ol-eshell /home/steb/.config/emacs/elpaca/builds/org/ol-doi hides /usr/share/emacs/31.0.50/lisp/org/ol-doi /home/steb/.config/emacs/elpaca/builds/org/ol-docview hides /usr/share/emacs/31.0.50/lisp/org/ol-docview /home/steb/.config/emacs/elpaca/builds/org/ol-bibtex hides /usr/share/emacs/31.0.50/lisp/org/ol-bibtex /home/steb/.config/emacs/elpaca/builds/org/ol-bbdb hides /usr/share/emacs/31.0.50/lisp/org/ol-bbdb /home/steb/.config/emacs/elpaca/builds/org/oc hides /usr/share/emacs/31.0.50/lisp/org/oc /home/steb/.config/emacs/elpaca/builds/org/oc-natbib hides /usr/share/emacs/31.0.50/lisp/org/oc-natbib /home/steb/.config/emacs/elpaca/builds/org/oc-csl hides /usr/share/emacs/31.0.50/lisp/org/oc-csl /home/steb/.config/emacs/elpaca/builds/org/oc-bibtex hides /usr/share/emacs/31.0.50/lisp/org/oc-bibtex /home/steb/.config/emacs/elpaca/builds/org/oc-biblatex hides /usr/share/emacs/31.0.50/lisp/org/oc-biblatex /home/steb/.config/emacs/elpaca/builds/org/oc-basic hides /usr/share/emacs/31.0.50/lisp/org/oc-basic /home/steb/.config/emacs/elpaca/builds/org/ob hides /usr/share/emacs/31.0.50/lisp/org/ob /home/steb/.config/emacs/elpaca/builds/org/ob-tangle hides /usr/share/emacs/31.0.50/lisp/org/ob-tangle /home/steb/.config/emacs/elpaca/builds/org/ob-table hides /usr/share/emacs/31.0.50/lisp/org/ob-table /home/steb/.config/emacs/elpaca/builds/org/ob-sqlite hides /usr/share/emacs/31.0.50/lisp/org/ob-sqlite /home/steb/.config/emacs/elpaca/builds/org/ob-sql hides /usr/share/emacs/31.0.50/lisp/org/ob-sql /home/steb/.config/emacs/elpaca/builds/org/ob-shell hides /usr/share/emacs/31.0.50/lisp/org/ob-shell /home/steb/.config/emacs/elpaca/builds/org/ob-sed hides /usr/share/emacs/31.0.50/lisp/org/ob-sed /home/steb/.config/emacs/elpaca/builds/org/ob-screen hides /usr/share/emacs/31.0.50/lisp/org/ob-screen /home/steb/.config/emacs/elpaca/builds/org/ob-scheme hides /usr/share/emacs/31.0.50/lisp/org/ob-scheme /home/steb/.config/emacs/elpaca/builds/org/ob-sass hides /usr/share/emacs/31.0.50/lisp/org/ob-sass /home/steb/.config/emacs/elpaca/builds/org/ob-ruby hides /usr/share/emacs/31.0.50/lisp/org/ob-ruby /home/steb/.config/emacs/elpaca/builds/org/ob-ref hides /usr/share/emacs/31.0.50/lisp/org/ob-ref /home/steb/.config/emacs/elpaca/builds/org/ob-python hides /usr/share/emacs/31.0.50/lisp/org/ob-python /home/steb/.config/emacs/elpaca/builds/org/ob-processing hides /usr/share/emacs/31.0.50/lisp/org/ob-processing /home/steb/.config/emacs/elpaca/builds/org/ob-plantuml hides /usr/share/emacs/31.0.50/lisp/org/ob-plantuml /home/steb/.config/emacs/elpaca/builds/org/ob-perl hides /usr/share/emacs/31.0.50/lisp/org/ob-perl /home/steb/.config/emacs/elpaca/builds/org/ob-org hides /usr/share/emacs/31.0.50/lisp/org/ob-org /home/steb/.config/emacs/elpaca/builds/org/ob-octave hides /usr/share/emacs/31.0.50/lisp/org/ob-octave /home/steb/.config/emacs/elpaca/builds/org/ob-ocaml hides /usr/share/emacs/31.0.50/lisp/org/ob-ocaml /home/steb/.config/emacs/elpaca/builds/org/ob-maxima hides /usr/share/emacs/31.0.50/lisp/org/ob-maxima /home/steb/.config/emacs/elpaca/builds/org/ob-matlab hides /usr/share/emacs/31.0.50/lisp/org/ob-matlab /home/steb/.config/emacs/elpaca/builds/org/ob-makefile hides /usr/share/emacs/31.0.50/lisp/org/ob-makefile /home/steb/.config/emacs/elpaca/builds/org/ob-lua hides /usr/share/emacs/31.0.50/lisp/org/ob-lua /home/steb/.config/emacs/elpaca/builds/org/ob-lob hides /usr/share/emacs/31.0.50/lisp/org/ob-lob /home/steb/.config/emacs/elpaca/builds/org/ob-lisp hides /usr/share/emacs/31.0.50/lisp/org/ob-lisp /home/steb/.config/emacs/elpaca/builds/org/ob-lilypond hides /usr/share/emacs/31.0.50/lisp/org/ob-lilypond /home/steb/.config/emacs/elpaca/builds/org/ob-latex hides /usr/share/emacs/31.0.50/lisp/org/ob-latex /home/steb/.config/emacs/elpaca/builds/org/ob-julia hides /usr/share/emacs/31.0.50/lisp/org/ob-julia /home/steb/.config/emacs/elpaca/builds/org/ob-js hides /usr/share/emacs/31.0.50/lisp/org/ob-js /home/steb/.config/emacs/elpaca/builds/org/ob-java hides /usr/share/emacs/31.0.50/lisp/org/ob-java /home/steb/.config/emacs/elpaca/builds/org/ob-haskell hides /usr/share/emacs/31.0.50/lisp/org/ob-haskell /home/steb/.config/emacs/elpaca/builds/org/ob-groovy hides /usr/share/emacs/31.0.50/lisp/org/ob-groovy /home/steb/.config/emacs/elpaca/builds/org/ob-gnuplot hides /usr/share/emacs/31.0.50/lisp/org/ob-gnuplot /home/steb/.config/emacs/elpaca/builds/org/ob-fortran hides /usr/share/emacs/31.0.50/lisp/org/ob-fortran /home/steb/.config/emacs/elpaca/builds/org/ob-forth hides /usr/share/emacs/31.0.50/lisp/org/ob-forth /home/steb/.config/emacs/elpaca/builds/org/ob-exp hides /usr/share/emacs/31.0.50/lisp/org/ob-exp /home/steb/.config/emacs/elpaca/builds/org/ob-eval hides /usr/share/emacs/31.0.50/lisp/org/ob-eval /home/steb/.config/emacs/elpaca/builds/org/ob-eshell hides /usr/share/emacs/31.0.50/lisp/org/ob-eshell /home/steb/.config/emacs/elpaca/builds/org/ob-emacs-lisp hides /usr/share/emacs/31.0.50/lisp/org/ob-emacs-lisp /home/steb/.config/emacs/elpaca/builds/org/ob-dot hides /usr/share/emacs/31.0.50/lisp/org/ob-dot /home/steb/.config/emacs/elpaca/builds/org/ob-ditaa hides /usr/share/emacs/31.0.50/lisp/org/ob-ditaa /home/steb/.config/emacs/elpaca/builds/org/ob-css hides /usr/share/emacs/31.0.50/lisp/org/ob-css /home/steb/.config/emacs/elpaca/builds/org/ob-core hides /usr/share/emacs/31.0.50/lisp/org/ob-core /home/steb/.config/emacs/elpaca/builds/org/ob-comint hides /usr/share/emacs/31.0.50/lisp/org/ob-comint /home/steb/.config/emacs/elpaca/builds/org/ob-clojure hides /usr/share/emacs/31.0.50/lisp/org/ob-clojure /home/steb/.config/emacs/elpaca/builds/org/ob-calc hides /usr/share/emacs/31.0.50/lisp/org/ob-calc /home/steb/.config/emacs/elpaca/builds/org/ob-awk hides /usr/share/emacs/31.0.50/lisp/org/ob-awk /home/steb/.config/emacs/elpaca/builds/org/ob-R hides /usr/share/emacs/31.0.50/lisp/org/ob-R /home/steb/.config/emacs/elpaca/builds/org/ob-C hides /usr/share/emacs/31.0.50/lisp/org/ob-C Features: (shadow emacsbug checkdoc package-lint-flymake package-lint evil-collection-finder finder finder-inf lisp-mnt elpaca-info evil-collection-man man conf-mode consult-org info-colors dabbrev hippie-exp evil-collection-helpful helpful cc-langs cc-vars cc-defs trace evil-collection-edebug edebug info-look evil-collection-info info evil-collection-elisp-refs elisp-refs display-line-numbers bluetooth-battery evil-collection-bluetooth bluetooth bluetooth-plugin bluetooth-uuid bluetooth-pa bluetooth-device bluetooth-lib app-launcher rainbow-mode systemctl sgml-mode facemenu evil-collection-dictionary dictionary dictionary-connection go-ts-mode shr-tag-pre-highlight language-detection network-stream url-cache sort cape mail-extr visual-wrap textsec uni-scripts idna-mapping ucs-normalize uni-confusable textsec-check journalctl bash-completion capf-autosuggest eshell-syntax-highlighting em-elecslash em-ls em-glob em-extpipe em-dirs em-basic em-alias display-fill-column-indicator emacsql-sqlite-builtin help-fns radix-tree tramp-cmds vc-hg vc-bzr vc-src vc-sccs vc-svn vc-cvs vc-rcs consult-xref misearch multi-isearch windmove evil-collection-eglot eglot external-completion jsonrpc evil-collection-ert ert evil-collection-debug debug backtrace evil-collection-vc-git vc-git rainbow-delimiters rust-ts-mode c-ts-common tramp-archive tramp-gvfs evil-collection-xref xref find-dired vertico-sort vertico-repeat evil-collection-consult consult filechooser pinentry evil-collection-atomic-chrome atomic-chrome websocket bindat iwd hex-util i3bar ednc 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 spacious-padding visual-fill-column org-contacts org-capture evil-org-agenda org-agenda gnus-art mm-uu mml2015 gnus-sum gnus-group gnus-undo gnus-start gnus-dbus gnus-cloud nnimap nnmail mail-source utf7 nnoo gnus-spec gnus-int gnus-range gnus-win ligature org-appear valign stripspace flymake-languagetool evil-collection-flymake flymake oc-basic bibtex ol-man ol-info ol-docview evil-collection-doc-view doc-view jka-compr evil-collection-image image-mode exif tramp-cache time-stamp simple-auto-compile saveplace savehist show-font org-protocol org-bookmark-heading evil-org org-modern ob-dot ob-latex ob-python evil-collection-python python ob-gnuplot ob-calc calc-store calc-trail calc-ext evil-collection-calc calc calc-loaddefs calc-macs ob-shell edraw-org edraw-util edraw-msg cl-print org-element org-persist org-id org-refile avl-tree evil-collection-org org-crypt org org-macro ob-plantuml ob ob-tangle ob-ref ob-lob ob-table ob-exp org-src evil-collection-sh-script sh-script smie treesit executable ob-comint org-element-ast inline org-pcomplete org-list org-footnote org-faces org-entities ob-emacs-lisp ob-core ob-eval org-cycle org-table org-keys oc notmuch-addr notmuch-bookmarks 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 evil-collection-eat eat term/xterm xterm tramp-sh tramp trampver tramp-integration tramp-message tramp-compat tramp-loaddefs evil-collection-term term ehelp evil-collection-forge forge-repos forge-tablist hl-line forge-topics forge-commands forge-semi forge-bitbucket forge-gogs forge-gitea forge-gitlab forge-github forge-client forge-forgejo forge-notify forge-revnote forge-pullreq forge-issue forge-discussion forge-topic yaml parse-time iso8601 eieio-custom bug-reference magit-bookmark evil-collection-bookmark bookmark forge-post evil-collection-markdown-mode markdown-mode edit-indirect evil-collection-outline noutline outline forge-repo forge forge-core ghub-legacy ghub-graphql treepy gsexp ghub url-http url-gw nsm url-auth let-alist gnutls forge-db closql emacsql-sqlite emacsql emacsql-compiler eieio-base evil-collection-magit-todos magit-todos pcre2el rxt advice re-builder f s dash nerd-icons-grep 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 gptel-commit gptel-gh secrets dbus posframe evil-collection-gptel gptel gptel-openai magit-commit magit-sequence magit-notes magit-worktree magit-tag magit-merge magit-branch magit-reset magit-files magit-refs magit-status magit evil-collection-package-menu package url-handlers evil-collection-magit-repos magit-repos magit-apply magit-wip magit-log which-func evil-collection-imenu imenu magit-diff evil-collection-smerge-mode smerge-mode diff git-commit magit-core magit-autorevert magit-margin magit-transient magit-process evil-collection-with-editor with-editor shell server magit-mode transient evil-collection-eww ol-eww ol org-fold org-fold-core org-compat org-version org-macs eww vtable mule-util url-queue shr pixel-fill kinsoku url-file svg xml dom mm-url evil-collection-gnus gnus nnheader range browse-url benchmark magit-git magit-base evil-collection-magit-section magit-section format-spec cursor-sensor crm llama evil-collection-diff-hl diff-hl evil-collection-log-view log-view evil-collection-log-edit log-edit message sendmail yank-media puny dired-async async dired-aux evil-collection-dired dired dired-loaddefs rfc822 mml mml-sec evil-collection-epa 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 add-log pcvs-util evil-collection-vc-dir vc-dir ewoc vc vc-dispatcher diff-mode track-changes yasnippet evil-collection-ultra-scroll ultra-scroll pixel-scroll cua-base hl-todo marginalia nerd-icons-corfu nerd-icons-completion 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 jinx visual-replace evil-collection-which-key which-key vertico-multiform vertico corfu-popupinfo evil-collection-corfu corfu orderless isearch-mb evil-surround evil-goggles pulse face-remap color evil-collection-tabulated-list evil-collection-tab-bar evil-collection-simple evil-collection-replace evil-collection-process-menu evil-collection-kmacro evil-collection-indent evil-collection-help evil-collection-elisp-mode evil-collection-eldoc evil-collection-elpaca evil-collection-custom evil-collection-comint evil-collection-buff-menu evil-collection annalist evil-args ednc-autoloads i3bar-autoloads discomfort-autoloads debase-autoloads iwd-autoloads bluetooth-autoloads app-launcher-autoloads atomic-chrome-autoloads websocket-autoloads pinentry-autoloads playerctl-autoloads exwm-autoloads xelb-autoloads ol-notmuch-autoloads microdata-autoloads notmuch-addr-autoloads eshell-syntax-highlighting-autoloads eat-autoloads git-link-autoloads pr-review-autoloads igist-autoloads magit-todos-autoloads diff-hl-autoloads wgrep-autoloads watch-autoloads tmr-autoloads syncthing-autoloads pcre2el-autoloads qrencode-autoloads password-store-menu-autoloads password-store-autoloads named-pipe-autoloads elpher-autoloads dwim-shell-command-autoloads info-colors-autoloads helpful-autoloads elisp-refs-autoloads devdocs-autoloads whisper-autoloads gptel-commit-autoloads gptel-autoloads journalctl-autoloads systemctl-autoloads proced-narrow-autoloads show-font-autoloads dbus-explore-autoloads disk-usage-autoloads dired-filter-autoloads dired-hacks-utils-autoloads f-autoloads s-autoloads diredfl-autoloads org-bookmark-heading-autoloads notmuch-bookmarks-autoloads pdf-tools-autoloads tablist-autoloads nov-autoloads esxml-autoloads calibre-autoloads vcard-autoloads org-contacts-autoloads calfw-autoloads valign-autoloads orgit-forge-autoloads forge-autoloads closql-autoloads emacsql-autoloads ghub-autoloads treepy-autoloads yaml-autoloads orgit-autoloads magit-autoloads magit-section-autoloads with-editor-autoloads evil-org-autoloads org-download-autoloads async-autoloads org-appear-autoloads org-modern-autoloads org-loaddefs edit-indirect-autoloads markdown-mode-autoloads web-mode-autoloads wat-ts-mode-autoloads comint-mime-autoloads mathjax-autoloads flymake-ruff-autoloads package-lint-flymake-autoloads package-lint-autoloads eff-autoloads pkgbuild-mode-autoloads gnuplot-autoloads graphviz-dot-mode-autoloads edraw-autoloads plantuml-mode-autoloads deflate-autoloads dash-autoloads csv-mode-autoloads udev-mode-autoloads systemd-autoloads ssh-config-mode-autoloads nftables-mode-autoloads git-modes-autoloads rmsbolt-autoloads rust-playground-autoloads flymake-languagetool-autoloads consult-eglot-autoloads dape-autoloads casual-autoloads notmuch-transient-autoloads transient-autoloads bash-completion-autoloads cape-autoloads yasnippet-autoloads iwindow-autoloads consult-project-extra-autoloads spacious-padding-autoloads ultra-scroll-autoloads ligature-autoloads hl-todo-autoloads rainbow-mode-autoloads marginalia-autoloads posframe-autoloads shr-tag-pre-highlight-autoloads language-detection-autoloads rainbow-delimiters-autoloads visual-fill-column-autoloads nerd-icons-grep-autoloads nerd-icons-corfu-autoloads nerd-icons-ibuffer-autoloads nerd-icons-completion-autoloads nerd-icons-dired-autoloads nerd-icons-autoloads link-hint-autoloads avy-autoloads snapshot-timemachine-autoloads stripspace-autoloads vundo-autoloads jinx-autoloads visual-replace-autoloads capf-autosuggest-autoloads vertico-autoloads corfu-autoloads orderless-autoloads isearch-mb-autoloads embark-consult-autoloads consult-autoloads embark-autoloads evil-surround-autoloads evil-goggles-autoloads evil-nerd-commenter-autoloads evil-collection-autoloads annalist-autoloads evil-args-autoloads filechooser-autoloads em-prompt text-property-search em-hist em-unix em-pred esh-mode esh-var eshell esh-cmd generator esh-ext esh-proc esh-opt esh-io esh-arg pcomplete comint ansi-osc ansi-color esh-module esh-module-loaddefs esh-util help-at-pt files-x recentf tree-widget editorconfig editorconfig-core editorconfig-core-handle editorconfig-fnmatch project disp-table modus-operandi-theme modus-themes derived pcase autorevert filenotify mb-depth minibuf-eldef evil evil-integration evil-maps evil-commands reveal evil-jumps evil-command-window evil-types evil-search evil-ex evil-macros evil-repeat evil-states evil-core comp-run evil-common thingatpt rect evil-vars ring edmacro kmacro evil-autoloads goto-chg-autoloads general general-autoloads llama-autoloads simple-auto-compile-autoloads mode-local find-func elpaca-menu-elpa no-littering compat no-littering-autoloads elpaca-menu-melpa elpaca-menu-org elpaca-use-package use-package use-package-ensure use-package-delight use-package-diminish use-package-bind-key bind-key easy-mmode use-package-core elpaca-use-package-autoloads elpaca-log elpaca-ui url url-proxy url-privacy url-expand url-methods url-history url-cookie generate-lisp-file url-domsuf url-util url-parse auth-source eieio eieio-core cl-macs password-cache json map byte-opt url-vars mailcap elpaca elpaca-process elpaca-autoloads notmuch-version comp cl-seq comp-cstr cl-extra help-mode comp-common warnings subr-x rx gv bytecomp byte-compile xdg cus-edit pp cus-start 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 tty-child-frames native-compile mps emacs) Memory information: ((conses 24 0 0) (symbols 56 0 0) (strings 40 0 0) (string-bytes 1 0) (vectors 24 0) (vector-slots 8 0 0) (floats 24 0 0) (intervals 64 0 0) (buffers 1072 0))
[before.png (image/png, attachment)]
[after.png (image/png, attachment)]
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.