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

From: Javier Olaechea <[email-masked]>
Date: Fri, 10 Jun 2022 22:46:16 -0500

You are right I can't reproduce from emacs -Q. The only difference I can
see is that I have secrets:Login as an auth-source. auth-sources value is
("~/.authinfo.gpg" "~/.authinfo" "secrets:Login"). I'll look into how
secrets:Login is implemented to see if I can pin down the issue.

On Wed, May 18, 2022 at 6:26 PM Philip Kaludercic <[email-masked]>
wrote:

> 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))
>

-- 
"I object to doing things that computers can do." — Olin Shivers