Subject: bug#55199: 28.1; rcirc auth-source integration doesn't handle port being a number

From: Philip Kaludercic <[email-masked]>
Date: Wed, 18 May 2022 23:26:16 +0000

Javier Olaechea <[email-masked]> writes:

> If rcirc-server-alist is set using the customize interface, the port in the
> plist is going to be a number, not a string. AUTH-SOURCE-SEARCH expects the
> port to be a string. So M-x rcirc  with the following value
>
> '(rcirc-server-alist
>    '(("irc.libera.chat" :nick "PuercoPop" :port 6697 :user-name "PuercoPop"
> :channels
>       ("#emacs" "#rcirc")
>       :encryption tls)))
>
> results in AUTH-SOURCE-SEARCH throwing an error.

The default value is already a number, as is the value in my
configuration, and I have never encountered this issue.  Starting rcirc
emacs -Q also seems to have no issue with a number.  Could you ensure
that this is not an issue on your end?

> The fix could be as
> straighforward ensureing the port is a string before calling
> auth-source-search[0]. ej. (if (numberp port) (number-to-string port) port)
>
> [0]:
> https://github.com/emacs-mirror/emacs/blob/95dbe4b6ae2e88213835a8ded3928b6769d78f2c/lisp/net/rcirc.el#L576
>
> That is how I've fixed the issue locally. Not sure if other parts of rcirc
> assume port will be a string.
>
> In GNU Emacs 28.1 (build 1, x86_64-pc-linux-gnu, X toolkit, cairo version
> 1.16.0, Xaw scroll bars)
>  of 2022-04-10 built on PuercoDesktop
> Windowing system distributor 'The X.Org Foundation', version 11.0.12013000
> System Description: Ubuntu 20.04.4 LTS
>
> Configured using:
>  'configure --prefix=/usr/local --with-x-toolkit=lucid
>  --with-native-compiler'
>
> Configured features:
> CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GSETTINGS HARFBUZZ JPEG JSON
> LCMS2 LIBSELINUX LIBSYSTEMD LIBXML2 MODULES NOTIFY INOTIFY PDUMPER PNG
> RSVG SECCOMP SOUND THREADS TIFF TOOLKIT_SCROLL_BARS X11 XDBE XIM XPM
> LUCID ZLIB
>
> Important settings:
>   value of $LC_COLLATE: en_US.UTF-8
>   value of $LC_CTYPE: en_US.UTF-8
>   value of $LC_MESSAGES: en_US.UTF-8
>   value of $LC_MONETARY: es_PE.UTF-8
>   value of $LC_NUMERIC: en_US.UTF-8
>   value of $LC_TIME: en_US.UTF-8
>   value of $LANG: en_US.UTF-8
>   locale-coding-system: utf-8-unix
>
> Major mode: rcirc
>
> Minor modes in effect:
>   flyspell-mode: t
>   sly-symbol-completion-mode: t
>   electric-pair-mode: t
>   magit-wip-initial-backup-mode: t
>   magit-wip-before-change-mode: t
>   magit-wip-after-apply-mode: t
>   magit-wip-after-save-mode: t
>   magit-wip-mode: t
>   global-git-commit-mode: t
>   magit-auto-revert-mode: t
>   winner-mode: t
>   helm-descbinds-mode: t
>   helm-fuz-mode: t
>   helm-adaptive-mode: t
>   global-anzu-mode: t
>   anzu-mode: t
>   recentf-mode: t
>   minions-mode: t
>   savehist-mode: t
>   delete-selection-mode: t
>   global-auto-revert-mode: t
>   minibuffer-depth-indicate-mode: t
>   auto-compile-on-load-mode: t
>   auto-compile-on-save-mode: t
>   override-global-mode: t
>   rcirc-track-minor-mode: t
>   rcirc-omit-mode: t
>   helm-mode: t
>   helm-minibuffer-history-mode: t
>   shell-dirtrack-mode: t
>   helm--remap-mouse-mode: t
>   async-bytecomp-package-mode: t
>   global-undo-tree-mode: t
>   undo-tree-mode: t
>   tooltip-mode: t
>   global-eldoc-mode: t
>   show-paren-mode: t
>   electric-indent-mode: t
>   mouse-wheel-mode: t
>   use-hard-newlines: t
>   menu-bar-mode: t
>   file-name-shadow-mode: t
>   global-font-lock-mode: t
>   font-lock-mode: t
>   auto-composition-mode: t
>   auto-encryption-mode: t
>   auto-compression-mode: t
>   column-number-mode: t
>   line-number-mode: t
>   transient-mark-mode: t
>
> Load-path shadows:
> /home/puercopop/.emacs.d/site-lisp/sly/sly-autoloads hides
> /home/puercopop/.emacs.d/lib/sly/sly-autoloads
> /home/puercopop/.emacs.d/site-lisp/sly/sly hides
> /home/puercopop/.emacs.d/lib/sly/sly
> /home/puercopop/.emacs.d/lib/telega/test hides
> /home/puercopop/.emacs.d/lib/paredit/test
> /home/puercopop/.emacs.d/lib/telega/test hides
> /home/puercopop/.emacs.d/lib/libgit/test
> /home/puercopop/.emacs.d/lib/telega/test hides
> /home/puercopop/.emacs.d/lib/easy-kill/test
> /home/puercopop/.emacs.d/lib/org/lisp/ox-latex hides
> /usr/local/share/emacs/28.1/lisp/org/ox-latex
> /home/puercopop/.emacs.d/lib/org/lisp/ob-ref hides
> /usr/local/share/emacs/28.1/lisp/org/ob-ref
> /home/puercopop/.emacs.d/lib/org/lisp/org-compat hides
> /usr/local/share/emacs/28.1/lisp/org/org-compat
> /home/puercopop/.emacs.d/lib/org/lisp/org-src hides
> /usr/local/share/emacs/28.1/lisp/org/org-src
> /home/puercopop/.emacs.d/lib/org/lisp/oc-biblatex hides
> /usr/local/share/emacs/28.1/lisp/org/oc-biblatex
> /home/puercopop/.emacs.d/lib/org/lisp/org-list hides
> /usr/local/share/emacs/28.1/lisp/org/org-list
> /home/puercopop/.emacs.d/lib/org/lisp/org-lint hides
> /usr/local/share/emacs/28.1/lisp/org/org-lint
> /home/puercopop/.emacs.d/lib/org/lisp/ob-ditaa hides
> /usr/local/share/emacs/28.1/lisp/org/ob-ditaa
> /home/puercopop/.emacs.d/lib/org/lisp/ob-sed hides
> /usr/local/share/emacs/28.1/lisp/org/ob-sed
> /home/puercopop/.emacs.d/lib/org/lisp/oc-basic hides
> /usr/local/share/emacs/28.1/lisp/org/oc-basic
> /home/puercopop/.emacs.d/lib/org/lisp/ox-texinfo hides
> /usr/local/share/emacs/28.1/lisp/org/ox-texinfo
> /home/puercopop/.emacs.d/lib/org/lisp/org-colview hides
> /usr/local/share/emacs/28.1/lisp/org/org-colview
> /home/puercopop/.emacs.d/lib/org/lisp/ol-rmail hides
> /usr/local/share/emacs/28.1/lisp/org/ol-rmail
> /home/puercopop/.emacs.d/lib/org/lisp/org-macs hides
> /usr/local/share/emacs/28.1/lisp/org/org-macs
> /home/puercopop/.emacs.d/lib/org/lisp/org-mouse hides
> /usr/local/share/emacs/28.1/lisp/org/org-mouse
> /home/puercopop/.emacs.d/lib/org/lisp/org-footnote hides
> /usr/local/share/emacs/28.1/lisp/org/org-footnote
> /home/puercopop/.emacs.d/lib/org/lisp/ob-exp hides
> /usr/local/share/emacs/28.1/lisp/org/ob-exp
> /home/puercopop/.emacs.d/lib/org/lisp/ob-screen hides
> /usr/local/share/emacs/28.1/lisp/org/ob-screen
> /home/puercopop/.emacs.d/lib/org/lisp/ox-odt hides
> /usr/local/share/emacs/28.1/lisp/org/ox-odt
> /home/puercopop/.emacs.d/lib/org/lisp/ob-lua hides
> /usr/local/share/emacs/28.1/lisp/org/ob-lua
> /home/puercopop/.emacs.d/lib/org/lisp/org-habit hides
> /usr/local/share/emacs/28.1/lisp/org/org-habit
> /home/puercopop/.emacs.d/lib/org/lisp/org-agenda hides
> /usr/local/share/emacs/28.1/lisp/org/org-agenda
> /home/puercopop/.emacs.d/lib/org/lisp/ob-sass hides
> /usr/local/share/emacs/28.1/lisp/org/ob-sass
> /home/puercopop/.emacs.d/lib/org/lisp/ol-docview hides
> /usr/local/share/emacs/28.1/lisp/org/ol-docview
> /home/puercopop/.emacs.d/lib/org/lisp/org-macro hides
> /usr/local/share/emacs/28.1/lisp/org/org-macro
> /home/puercopop/.emacs.d/lib/org/lisp/org-duration hides
> /usr/local/share/emacs/28.1/lisp/org/org-duration
> /home/puercopop/.emacs.d/lib/org/lisp/org-table hides
> /usr/local/share/emacs/28.1/lisp/org/org-table
> /home/puercopop/.emacs.d/lib/org/lisp/org-mobile hides
> /usr/local/share/emacs/28.1/lisp/org/org-mobile
> /home/puercopop/.emacs.d/lib/org/lisp/ob-latex hides
> /usr/local/share/emacs/28.1/lisp/org/ob-latex
> /home/puercopop/.emacs.d/lib/org/lisp/org-element hides
> /usr/local/share/emacs/28.1/lisp/org/org-element
> /home/puercopop/.emacs.d/lib/org/lisp/ob-css hides
> /usr/local/share/emacs/28.1/lisp/org/ob-css
> /home/puercopop/.emacs.d/lib/org/lisp/org-entities hides
> /usr/local/share/emacs/28.1/lisp/org/org-entities
> /home/puercopop/.emacs.d/lib/org/lisp/ob-awk hides
> /usr/local/share/emacs/28.1/lisp/org/ob-awk
> /home/puercopop/.emacs.d/lib/org/lisp/ol-eww hides
> /usr/local/share/emacs/28.1/lisp/org/ol-eww
> /home/puercopop/.emacs.d/lib/org/lisp/ob-perl hides
> /usr/local/share/emacs/28.1/lisp/org/ob-perl
> /home/puercopop/.emacs.d/lib/org/lisp/ob-ruby hides
> /usr/local/share/emacs/28.1/lisp/org/ob-ruby
> /home/puercopop/.emacs.d/lib/org/lisp/ob-haskell hides
> /usr/local/share/emacs/28.1/lisp/org/ob-haskell
> /home/puercopop/.emacs.d/lib/org/lisp/ob-processing hides
> /usr/local/share/emacs/28.1/lisp/org/ob-processing
> /home/puercopop/.emacs.d/lib/org/lisp/org hides
> /usr/local/share/emacs/28.1/lisp/org/org
> /home/puercopop/.emacs.d/lib/org/lisp/ol-bibtex hides
> /usr/local/share/emacs/28.1/lisp/org/ol-bibtex
> /home/puercopop/.emacs.d/lib/org/lisp/ob-emacs-lisp hides
> /usr/local/share/emacs/28.1/lisp/org/ob-emacs-lisp
> /home/puercopop/.emacs.d/lib/org/lisp/ob-gnuplot hides
> /usr/local/share/emacs/28.1/lisp/org/ob-gnuplot
> /home/puercopop/.emacs.d/lib/org/lisp/ob-groovy hides
> /usr/local/share/emacs/28.1/lisp/org/ob-groovy
> /home/puercopop/.emacs.d/lib/org/lisp/org-keys hides
> /usr/local/share/emacs/28.1/lisp/org/org-keys
> /home/puercopop/.emacs.d/lib/org/lisp/org-feed hides
> /usr/local/share/emacs/28.1/lisp/org/org-feed
> /home/puercopop/.emacs.d/lib/org/lisp/ol-man hides
> /usr/local/share/emacs/28.1/lisp/org/ol-man
> /home/puercopop/.emacs.d/lib/org/lisp/ob-eshell hides
> /usr/local/share/emacs/28.1/lisp/org/ob-eshell
> /home/puercopop/.emacs.d/lib/org/lisp/org-indent hides
> /usr/local/share/emacs/28.1/lisp/org/org-indent
> /home/puercopop/.emacs.d/lib/org/lisp/ob-table hides
> /usr/local/share/emacs/28.1/lisp/org/ob-table
> /home/puercopop/.emacs.d/lib/org/lisp/ob-fortran hides
> /usr/local/share/emacs/28.1/lisp/org/ob-fortran
> /home/puercopop/.emacs.d/lib/org/lisp/org-clock hides
> /usr/local/share/emacs/28.1/lisp/org/org-clock
> /home/puercopop/.emacs.d/lib/org/lisp/org-plot hides
> /usr/local/share/emacs/28.1/lisp/org/org-plot
> /home/puercopop/.emacs.d/lib/org/lisp/ol-info hides
> /usr/local/share/emacs/28.1/lisp/org/ol-info
> /home/puercopop/.emacs.d/lib/org/lisp/ob-shell hides
> /usr/local/share/emacs/28.1/lisp/org/ob-shell
> /home/puercopop/.emacs.d/lib/org/lisp/ob-lilypond hides
> /usr/local/share/emacs/28.1/lisp/org/ob-lilypond
> /home/puercopop/.emacs.d/lib/org/lisp/org-archive hides
> /usr/local/share/emacs/28.1/lisp/org/org-archive
> /home/puercopop/.emacs.d/lib/org/lisp/ob hides
> /usr/local/share/emacs/28.1/lisp/org/ob
> /home/puercopop/.emacs.d/lib/org/lisp/ob-dot hides
> /usr/local/share/emacs/28.1/lisp/org/ob-dot
> /home/puercopop/.emacs.d/lib/org/lisp/ol-bbdb hides
> /usr/local/share/emacs/28.1/lisp/org/ol-bbdb
> /home/puercopop/.emacs.d/lib/org/lisp/ox-beamer hides
> /usr/local/share/emacs/28.1/lisp/org/ox-beamer
> /home/puercopop/.emacs.d/lib/org/lisp/ox-ascii hides
> /usr/local/share/emacs/28.1/lisp/org/ox-ascii
> /home/puercopop/.emacs.d/lib/org/lisp/ox-md hides
> /usr/local/share/emacs/28.1/lisp/org/ox-md
> /home/puercopop/.emacs.d/lib/org/lisp/ob-matlab hides
> /usr/local/share/emacs/28.1/lisp/org/ob-matlab
> /home/puercopop/.emacs.d/lib/org/lisp/org-ctags hides
> /usr/local/share/emacs/28.1/lisp/org/org-ctags
> /home/puercopop/.emacs.d/lib/org/lisp/ol-w3m hides
> /usr/local/share/emacs/28.1/lisp/org/ol-w3m
> /home/puercopop/.emacs.d/lib/org/lisp/ox-man hides
> /usr/local/share/emacs/28.1/lisp/org/ox-man
> /home/puercopop/.emacs.d/lib/org/lisp/ob-octave hides
> /usr/local/share/emacs/28.1/lisp/org/ob-octave
> /home/puercopop/.emacs.d/lib/org/lisp/org-goto hides
> /usr/local/share/emacs/28.1/lisp/org/org-goto
> /home/puercopop/.emacs.d/lib/org/lisp/ol-eshell hides
> /usr/local/share/emacs/28.1/lisp/org/ol-eshell
> /home/puercopop/.emacs.d/lib/org/lisp/ob-lob hides
> /usr/local/share/emacs/28.1/lisp/org/ob-lob
> /home/puercopop/.emacs.d/lib/org/lisp/ox-org hides
> /usr/local/share/emacs/28.1/lisp/org/ox-org
> /home/puercopop/.emacs.d/lib/org/lisp/ob-core hides
> /usr/local/share/emacs/28.1/lisp/org/ob-core
> /home/puercopop/.emacs.d/lib/org/lisp/org-protocol hides
> /usr/local/share/emacs/28.1/lisp/org/org-protocol
> /home/puercopop/.emacs.d/lib/org/lisp/ob-forth hides
> /usr/local/share/emacs/28.1/lisp/org/ob-forth
> /home/puercopop/.emacs.d/lib/org/lisp/ob-eval hides
> /usr/local/share/emacs/28.1/lisp/org/ob-eval
> /home/puercopop/.emacs.d/lib/org/lisp/ob-lisp hides
> /usr/local/share/emacs/28.1/lisp/org/ob-lisp
> /home/puercopop/.emacs.d/lib/org/lisp/ob-comint hides
> /usr/local/share/emacs/28.1/lisp/org/ob-comint
> /home/puercopop/.emacs.d/lib/org/lisp/org-crypt hides
> /usr/local/share/emacs/28.1/lisp/org/org-crypt
> /home/puercopop/.emacs.d/lib/org/lisp/ox-icalendar hides
> /usr/local/share/emacs/28.1/lisp/org/ox-icalendar
> /home/puercopop/.emacs.d/lib/org/lisp/oc-csl hides
> /usr/local/share/emacs/28.1/lisp/org/oc-csl
> /home/puercopop/.emacs.d/lib/org/lisp/org-faces hides
> /usr/local/share/emacs/28.1/lisp/org/org-faces
> /home/puercopop/.emacs.d/lib/org/lisp/org-datetree hides
> /usr/local/share/emacs/28.1/lisp/org/org-datetree
> /home/puercopop/.emacs.d/lib/org/lisp/ob-julia hides
> /usr/local/share/emacs/28.1/lisp/org/ob-julia
> /home/puercopop/.emacs.d/lib/org/lisp/ox-publish hides
> /usr/local/share/emacs/28.1/lisp/org/ox-publish
> /home/puercopop/.emacs.d/lib/org/lisp/org-refile hides
> /usr/local/share/emacs/28.1/lisp/org/org-refile
> /home/puercopop/.emacs.d/lib/org/lisp/ox hides
> /usr/local/share/emacs/28.1/lisp/org/ox
> /home/puercopop/.emacs.d/lib/org/lisp/ob-sql hides
> /usr/local/share/emacs/28.1/lisp/org/ob-sql
> /home/puercopop/.emacs.d/lib/org/lisp/org-num hides
> /usr/local/share/emacs/28.1/lisp/org/org-num
> /home/puercopop/.emacs.d/lib/org/lisp/ob-sqlite hides
> /usr/local/share/emacs/28.1/lisp/org/ob-sqlite
> /home/puercopop/.emacs.d/lib/org/lisp/org-attach hides
> /usr/local/share/emacs/28.1/lisp/org/org-attach
> /home/puercopop/.emacs.d/lib/org/lisp/ob-plantuml hides
> /usr/local/share/emacs/28.1/lisp/org/ob-plantuml
> /home/puercopop/.emacs.d/lib/org/lisp/ox-html hides
> /usr/local/share/emacs/28.1/lisp/org/ox-html
> /home/puercopop/.emacs.d/lib/org/lisp/ob-scheme hides
> /usr/local/share/emacs/28.1/lisp/org/ob-scheme
> /home/puercopop/.emacs.d/lib/org/lisp/ob-ocaml hides
> /usr/local/share/emacs/28.1/lisp/org/ob-ocaml
> /home/puercopop/.emacs.d/lib/org/lisp/org-id hides
> /usr/local/share/emacs/28.1/lisp/org/org-id
> /home/puercopop/.emacs.d/lib/org/lisp/ol-irc hides
> /usr/local/share/emacs/28.1/lisp/org/ol-irc
> /home/puercopop/.emacs.d/lib/org/lisp/ob-java hides
> /usr/local/share/emacs/28.1/lisp/org/ob-java
> /home/puercopop/.emacs.d/lib/org/lisp/org-attach-git hides
> /usr/local/share/emacs/28.1/lisp/org/org-attach-git
> /home/puercopop/.emacs.d/lib/org/lisp/org-timer hides
> /usr/local/share/emacs/28.1/lisp/org/org-timer
> /home/puercopop/.emacs.d/lib/org/lisp/ob-maxima hides
> /usr/local/share/emacs/28.1/lisp/org/ob-maxima
> /home/puercopop/.emacs.d/lib/org/lisp/ox-koma-letter hides
> /usr/local/share/emacs/28.1/lisp/org/ox-koma-letter
> /home/puercopop/.emacs.d/lib/org/lisp/ob-org hides
> /usr/local/share/emacs/28.1/lisp/org/ob-org
> /home/puercopop/.emacs.d/lib/org/lisp/ob-clojure hides
> /usr/local/share/emacs/28.1/lisp/org/ob-clojure
> /home/puercopop/.emacs.d/lib/org/lisp/ol-doi hides
> /usr/local/share/emacs/28.1/lisp/org/ol-doi
> /home/puercopop/.emacs.d/lib/org/lisp/org-capture hides
> /usr/local/share/emacs/28.1/lisp/org/org-capture
> /home/puercopop/.emacs.d/lib/org/lisp/org-inlinetask hides
> /usr/local/share/emacs/28.1/lisp/org/org-inlinetask
> /home/puercopop/.emacs.d/lib/org/lisp/ob-makefile hides
> /usr/local/share/emacs/28.1/lisp/org/ob-makefile
> /home/puercopop/.emacs.d/lib/org/lisp/org-tempo hides
> /usr/local/share/emacs/28.1/lisp/org/org-tempo
> /home/puercopop/.emacs.d/lib/org/lisp/ol-mhe hides
> /usr/local/share/emacs/28.1/lisp/org/ol-mhe
> /home/puercopop/.emacs.d/lib/org/lisp/ob-C hides
> /usr/local/share/emacs/28.1/lisp/org/ob-C
> /home/puercopop/.emacs.d/lib/org/lisp/org-install hides
> /usr/local/share/emacs/28.1/lisp/org/org-install
> /home/puercopop/.emacs.d/lib/org/lisp/ob-R hides
> /usr/local/share/emacs/28.1/lisp/org/ob-R
> /home/puercopop/.emacs.d/lib/org/lisp/ol-gnus hides
> /usr/local/share/emacs/28.1/lisp/org/ol-gnus
> /home/puercopop/.emacs.d/lib/org/lisp/ob-tangle hides
> /usr/local/share/emacs/28.1/lisp/org/ob-tangle
> /home/puercopop/.emacs.d/lib/org/lisp/org-version hides
> /usr/local/share/emacs/28.1/lisp/org/org-version
> /home/puercopop/.emacs.d/lib/org/lisp/oc hides
> /usr/local/share/emacs/28.1/lisp/org/oc
> /home/puercopop/.emacs.d/lib/org/lisp/oc-natbib hides
> /usr/local/share/emacs/28.1/lisp/org/oc-natbib
> /home/puercopop/.emacs.d/lib/org/lisp/ob-calc hides
> /usr/local/share/emacs/28.1/lisp/org/ob-calc
> /home/puercopop/.emacs.d/lib/org/lisp/ol hides
> /usr/local/share/emacs/28.1/lisp/org/ol
> /home/puercopop/.emacs.d/lib/org/lisp/org-pcomplete hides
> /usr/local/share/emacs/28.1/lisp/org/org-pcomplete
> /home/puercopop/.emacs.d/lib/org/lisp/ob-python hides
> /usr/local/share/emacs/28.1/lisp/org/ob-python
> /home/puercopop/.emacs.d/lib/org/lisp/org-loaddefs hides
> /usr/local/share/emacs/28.1/lisp/org/org-loaddefs
> /home/puercopop/.emacs.d/lib/org/lisp/ob-js hides
> /usr/local/share/emacs/28.1/lisp/org/ob-js
>
> Features:
> (shadow sort mail-extr emacsbug sendmail cus-edit disp-table
> network-stream helm-external misearch multi-isearch vc-hg help-fns
> cl-print cus-start secrets tramp-archive tramp-gvfs tramp-cache zeroconf
> doom-1337-theme paredit circe lui-irc-colors irc lcs lui-logging
> lui-format lui tracking shorten flyspell ispell circe-compat elfeed-show
> elfeed-search elfeed-csv elfeed elfeed-curl elfeed-log elfeed-db
> elfeed-lib avl-tree xml-query mastodon mastodon-toot emojify ht socks
> elpher honcho sly sly-completion sly-buttons sly-messages sly-common
> apropos hyperspec shackle trace terraform-mode hcl-mode graphql-mode
> ediprolog rust-utils rust-mode rust-rustfmt rust-playpen rust-compile
> rust-cargo sql view qml-mode go-dlv go-mode find-file ffap gud bundler
> inf-ruby ruby-mode rails-log-mode chruby eglot array jsonrpc ert ewoc
> debug flymake-proc flymake warnings compile-eslint xref-js2 js2-mode
> etags fileloop tree-sitter-query scheme tree-sitter-debug generator
> tree-sitter-langs tree-sitter-langs-build tar-mode arc-mode archive-mode
> tree-sitter-hl tree-sitter tree-sitter-load tree-sitter-cli tsc tsc-dyn
> tsc-dyn-get dired-aux tsc-obsolete yaml-mode css-mode smie sgml-mode
> facemenu eww xdg url-queue shr kinsoku svg dom mm-url gnus nnheader
> elec-pair man xref dired-x notmuch hl-line notmuch-hello notmuch-tree
> notmuch-show notmuch-print notmuch-crypto notmuch-mua notmuch-message
> notmuch-draft notmuch-maildir-fcc notmuch-address notmuch-company
> notmuch-parser notmuch-wash coolj notmuch-query goto-addr icalendar
> diary-lib diary-loaddefs notmuch-tag notmuch-lib notmuch-version
> notmuch-compat mm-view mml-smime smime dig org-pomodoro alert
> notifications dbus org-timer org-feed helm-org org-protocol org-agenda
> org-refile org-archive org-datetree org-clock ob-shell ob-sql org
> org-macro org-footnote org-pcomplete org-list org-faces org-entities
> org-version ob-emacs-lisp org-table org-loaddefs cal-menu calendar
> cal-loaddefs es-mode request js cc-mode cc-fonts cc-guess cc-menus
> cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs ob-restclient ob
> ob-tangle ol org-src ob-ref ob-lob ob-table ob-exp ob-comint ob-core
> ob-eval org-keys oc org-compat org-macs restclient-helm restclient
> htmlize xterm-color moody doom-themes doom-themes-base tron-legacy-theme
> tangotango-theme exotica-theme acme-theme parchment-theme autothemer
> cyberpunk-theme moe-theme moe-dark-theme moe-light-theme gh-notify
> forge-list forge-commands forge-semi forge-bitbucket buck forge-gogs
> gogs forge-gitea gtea forge-gitlab glab forge-github ghub-graphql treepy
> gsexp ghub let-alist forge-notify forge-revnote forge-pullreq
> forge-issue forge-topic yaml bug-reference forge-post markdown-mode
> color noutline outline forge-repo forge forge-core forge-db closql
> emacsql-sqlite emacsql emacsql-compiler url-http url-auth url-gw nsm
> magit-bookmark magit-submodule magit-obsolete 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 package url-handlers magit-repos magit-apply
> magit-wip magit-log which-func imenu magit-diff smerge-mode git-commit
> log-edit message rmc rfc822 mml mml-sec gnus-util rmail rmail-loaddefs
> mm-decode mm-bodies mm-encode 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 magit-git
> magit-base magit-section crm dash vc-annotate vc vc-git diff-mode
> vc-dispatcher ediff ediff-merg ediff-mult ediff-wind ediff-diff
> ediff-help ediff-init ediff-util winner ace-window avy password-vault+
> epa-file epa derived epg rfc6068 epg-config pinentry transient darkroom
> face-remap helm-dash dash-docs use-package-dash-docs gnutls puny
> helm-descbinds helm-pages helm-bookmark helm-net browse-url xml url
> url-proxy url-privacy url-expand url-methods url-history url-cookie
> url-domsuf url-util url-parse url-vars mailcap helm-fuz helm-command
> helm-elisp helm-eval edebug backtrace find-func helm-info fuz fuz-extra
> inline fuz-core helm-adaptive consult easy-kill anzu advice thingatpt
> project bookmark pp proced recentf tree-widget wid-edit minions savehist
> jka-compr delsel autorevert mb-depth auto-compile packed use-package
> use-package-ensure use-package-delight use-package-diminish
> use-package-bind-key bind-key use-package-core rcirc helm-mode helm-misc
> helm-files image-dired image-mode dired dired-loaddefs exif filenotify
> tramp tramp-loaddefs trampver tramp-integration files-x tramp-compat
> shell pcomplete parse-time iso8601 time-date ls-lisp auth-source
> password-cache json map helm-buffers helm-occur helm-tags helm-locate
> helm-grep wgrep-helm wgrep grep compile text-property-search comint
> ansi-color ring helm-regexp format-spec helm-utils helm-help helm-types
> helm helm-core easy-mmode async-bytecomp helm-global-bindings
> helm-source eieio eieio-core cl-macs eieio-loaddefs helm-multi-match
> helm-lib async undo-tree diff queue cus-load edmacro kmacro rx
> helm-easymenu cl-extra help-mode seq byte-opt gv cl-seq borg subr-x
> pcase info cl-loaddefs cl-lib bytecomp byte-compile cconv autoload
> radix-tree lisp-mnt mail-parse rfc2231 rfc2047 rfc2045 mm-util
> ietf-drums mail-prsvr iso-transl tooltip eldoc paren electric uniquify
> ediff-hook vc-hooks lisp-float-type elisp-mode mwheel term/x-win x-win
> term/common-win x-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 cl-generic 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 simple abbrev obarray cl-preloaded nadvice button
> loaddefs faces cus-face macroexp files window text-properties overlay
> sha1 md5 base64 format env code-pages mule custom widget
> hashtable-print-readable backquote threads dbusbind inotify lcms2
> dynamic-setting system-font-setting font-render-setting cairo x-toolkit
> x multi-tty make-network-process emacs)
>
> Memory information:
> ((conses 16 698099 57754)
>  (symbols 48 56500 2)
>  (strings 32 197929 10143)
>  (string-bytes 1 6567580)
>  (vectors 16 104864)
>  (vector-slots 8 1221849 80720)
>  (floats 8 724 375)
>  (intervals 56 5608 1635)
>  (buffers 992 33))