Subject: 29.0.50; url-open-stream has no option pass tls options per call

From: Björn Bidar <[email-masked]>
Date: Mon, 31 Oct 2022 13:35:16 +0200

While investigating who to use magit with tls client certificates
I noticed that url-open-stream has no option to pass options to
network-open-stream on a per connection basis to do thing like e.g.
request the use of tls client certificates.

If this was possible the client could be able to call url with something
like (url-http "https://example.com" 'my-cb gw-options) to pass more
options to the specific gateway that is used.

I know it is possible to use network-stream-use-client-certificates
however that might be not always as elegant to use.

In GNU Emacs 29.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version
 3.24.34, cairo version 1.17.6) of 2022-10-16 built on 2461399
Repository revision: 0ff389c0c17b0b2938e79640e86b594344f20e55
Repository branch: master
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 --with-libotf --without-gconf --with-libsystemd
 --enable-link-time-optimization --with-native-compilation
 --with-xinput2 --with-pgtk --without-xaw3d --with-sound=alsa
 --without-gpm '--program-transform-name=s/\([ec]tags\)/\1.emacs/'
 'CFLAGS=-march=x86-64 -mtune=native -O2 -pipe -fno-plt -fexceptions
 -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security
 -fstack-clash-protection -fcf-protection -flto=auto'
 'LDFLAGS=-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now -flto=auto'
 'CXXFLAGS=-march=x86-64 -mtune=native -O2 -pipe -fno-plt -fexceptions
 -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security
 -fstack-clash-protection -fcf-protection -Wp,-D_GLIBCXX_ASSERTIONS
 -flto=auto''

Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GSETTINGS HARFBUZZ JPEG JSON
LCMS2 LIBOTF LIBSYSTEMD LIBXML2 MODULES NATIVE_COMP NOTIFY INOTIFY
PDUMPER PGTK PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF
TOOLKIT_SCROLL_BARS WEBP XIM GTK3 ZLIB

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

Major mode: Grep

Minor modes in effect:
  global-atomic-chrome-edit-mode: t
  minions-mode: t
  back-button-mode: t
  recentf-mode: t
  savehist-mode: t
  treemacs-icons-dired-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
  global-auto-revert-mode: t
  treemacs-filewatch-mode: t
  treemacs-git-mode: t
  treemacs-fringe-indicator-mode: t
  goto-address-mode: t
  emms-playing-time-display-mode: t
  emms-playing-time-mode: t
  gnus-desktop-notify-mode: t
  doom-modeline-mode: t
  tracking-mode: t
  org-super-agenda-mode: t
  projectile-mode: t
  global-company-mode: t
  company-mode: t
  electric-pair-mode: t
  editorconfig-mode: t
  marginalia-mode: t
  which-key-mode: t
  dired-async-mode: t
  helm-mode: t
  helm-minibuffer-history-mode: t
  global-so-long-mode: t
  change-cursor-mode: t
  mode-icons-mode: t
  global-emojify-mode: t
  emojify-mode: t
  shell-dirtrack-mode: t
  helm-autoresize-mode: t
  helm--remap-mouse-mode: t
  async-bytecomp-package-mode: t
  desktop-save-mode: t
  save-place-mode: t
  delete-selection-mode: t
  override-global-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  buffer-read-only: 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/bidar/.emacs.d/lib/w3m/w3m-autoloads hides /home/bidar/.emacs.d/lib/w3m/shimbun/w3m-autoloads
/home/bidar/.emacs.d/lib/org/lisp/ox-koma-letter hides /home/bidar/.emacs.d/lib/lisp/ox-koma-letter
/home/bidar/.emacs.d/lib/org-contrib/lisp/ox-groff hides /home/bidar/.emacs.d/lib/lisp/ox-groff
/home/bidar/.emacs.d/lib/vim-modeline/vim-modeline hides /home/bidar/.emacs.d/lib/lisp/vim-modeline
/home/bidar/.emacs.d/lib/lisp/htmlize hides /home/bidar/.emacs.d/lib/htmlize/htmlize
/home/bidar/.emacs.d/lib/lisp/cursor-chg hides /home/bidar/.emacs.d/lib/cursor-chg/cursor-chg
/home/bidar/.emacs.d/lib/cmake-mode/cmake-mode hides /usr/share/emacs/site-lisp/cmake-mode
/home/bidar/.emacs.d/lib/pkgbuild-mode/pkgbuild-mode hides /usr/share/emacs/site-lisp/pkgbuild-mode
/home/bidar/.emacs.d/lib/dash/dash hides /usr/share/emacs/site-lisp/dash/dash
/home/bidar/.emacs.d/lib/dash/dash-functional hides /usr/share/emacs/site-lisp/dash/dash-functional
/home/bidar/.emacs.d/lib/web-mode/web-mode hides /usr/share/emacs/site-lisp/web-mode/web-mode
/home/bidar/.emacs.d/lib/transient/lisp/transient hides /usr/share/emacs/29.0.50/lisp/transient
/home/bidar/.emacs.d/lib/org/lisp/ox hides /usr/share/emacs/29.0.50/lisp/org/ox
/home/bidar/.emacs.d/lib/org/lisp/ox-texinfo hides /usr/share/emacs/29.0.50/lisp/org/ox-texinfo
/home/bidar/.emacs.d/lib/org/lisp/ox-publish hides /usr/share/emacs/29.0.50/lisp/org/ox-publish
/home/bidar/.emacs.d/lib/org/lisp/ox-org hides /usr/share/emacs/29.0.50/lisp/org/ox-org
/home/bidar/.emacs.d/lib/org/lisp/ox-odt hides /usr/share/emacs/29.0.50/lisp/org/ox-odt
/home/bidar/.emacs.d/lib/org/lisp/ox-md hides /usr/share/emacs/29.0.50/lisp/org/ox-md
/home/bidar/.emacs.d/lib/org/lisp/ox-man hides /usr/share/emacs/29.0.50/lisp/org/ox-man
/home/bidar/.emacs.d/lib/org/lisp/ox-latex hides /usr/share/emacs/29.0.50/lisp/org/ox-latex
/home/bidar/.emacs.d/lib/org/lisp/ox-koma-letter hides /usr/share/emacs/29.0.50/lisp/org/ox-koma-letter
/home/bidar/.emacs.d/lib/org/lisp/ox-icalendar hides /usr/share/emacs/29.0.50/lisp/org/ox-icalendar
/home/bidar/.emacs.d/lib/org/lisp/ox-html hides /usr/share/emacs/29.0.50/lisp/org/ox-html
/home/bidar/.emacs.d/lib/org/lisp/ox-beamer hides /usr/share/emacs/29.0.50/lisp/org/ox-beamer
/home/bidar/.emacs.d/lib/org/lisp/ox-ascii hides /usr/share/emacs/29.0.50/lisp/org/ox-ascii
/home/bidar/.emacs.d/lib/org/lisp/org hides /usr/share/emacs/29.0.50/lisp/org/org
/home/bidar/.emacs.d/lib/org/lisp/org-version hides /usr/share/emacs/29.0.50/lisp/org/org-version
/home/bidar/.emacs.d/lib/org/lisp/org-timer hides /usr/share/emacs/29.0.50/lisp/org/org-timer
/home/bidar/.emacs.d/lib/org/lisp/org-tempo hides /usr/share/emacs/29.0.50/lisp/org/org-tempo
/home/bidar/.emacs.d/lib/org/lisp/org-table hides /usr/share/emacs/29.0.50/lisp/org/org-table
/home/bidar/.emacs.d/lib/org/lisp/org-src hides /usr/share/emacs/29.0.50/lisp/org/org-src
/home/bidar/.emacs.d/lib/org/lisp/org-refile hides /usr/share/emacs/29.0.50/lisp/org/org-refile
/home/bidar/.emacs.d/lib/org/lisp/org-protocol hides /usr/share/emacs/29.0.50/lisp/org/org-protocol
/home/bidar/.emacs.d/lib/org/lisp/org-plot hides /usr/share/emacs/29.0.50/lisp/org/org-plot
/home/bidar/.emacs.d/lib/org/lisp/org-pcomplete hides /usr/share/emacs/29.0.50/lisp/org/org-pcomplete
/home/bidar/.emacs.d/lib/org/lisp/org-num hides /usr/share/emacs/29.0.50/lisp/org/org-num
/home/bidar/.emacs.d/lib/org/lisp/org-mouse hides /usr/share/emacs/29.0.50/lisp/org/org-mouse
/home/bidar/.emacs.d/lib/org/lisp/org-mobile hides /usr/share/emacs/29.0.50/lisp/org/org-mobile
/home/bidar/.emacs.d/lib/org/lisp/org-macs hides /usr/share/emacs/29.0.50/lisp/org/org-macs
/home/bidar/.emacs.d/lib/org/lisp/org-macro hides /usr/share/emacs/29.0.50/lisp/org/org-macro
/home/bidar/.emacs.d/lib/org/lisp/org-loaddefs hides /usr/share/emacs/29.0.50/lisp/org/org-loaddefs
/home/bidar/.emacs.d/lib/org/lisp/org-list hides /usr/share/emacs/29.0.50/lisp/org/org-list
/home/bidar/.emacs.d/lib/org/lisp/org-lint hides /usr/share/emacs/29.0.50/lisp/org/org-lint
/home/bidar/.emacs.d/lib/org/lisp/org-keys hides /usr/share/emacs/29.0.50/lisp/org/org-keys
/home/bidar/.emacs.d/lib/org/lisp/org-inlinetask hides /usr/share/emacs/29.0.50/lisp/org/org-inlinetask
/home/bidar/.emacs.d/lib/org/lisp/org-indent hides /usr/share/emacs/29.0.50/lisp/org/org-indent
/home/bidar/.emacs.d/lib/org/lisp/org-id hides /usr/share/emacs/29.0.50/lisp/org/org-id
/home/bidar/.emacs.d/lib/org/lisp/org-habit hides /usr/share/emacs/29.0.50/lisp/org/org-habit
/home/bidar/.emacs.d/lib/org/lisp/org-goto hides /usr/share/emacs/29.0.50/lisp/org/org-goto
/home/bidar/.emacs.d/lib/org/lisp/org-footnote hides /usr/share/emacs/29.0.50/lisp/org/org-footnote
/home/bidar/.emacs.d/lib/org/lisp/org-feed hides /usr/share/emacs/29.0.50/lisp/org/org-feed
/home/bidar/.emacs.d/lib/org/lisp/org-faces hides /usr/share/emacs/29.0.50/lisp/org/org-faces
/home/bidar/.emacs.d/lib/org/lisp/org-entities hides /usr/share/emacs/29.0.50/lisp/org/org-entities
/home/bidar/.emacs.d/lib/org/lisp/org-element hides /usr/share/emacs/29.0.50/lisp/org/org-element
/home/bidar/.emacs.d/lib/org/lisp/org-duration hides /usr/share/emacs/29.0.50/lisp/org/org-duration
/home/bidar/.emacs.d/lib/org/lisp/org-datetree hides /usr/share/emacs/29.0.50/lisp/org/org-datetree
/home/bidar/.emacs.d/lib/org/lisp/org-ctags hides /usr/share/emacs/29.0.50/lisp/org/org-ctags
/home/bidar/.emacs.d/lib/org/lisp/org-crypt hides /usr/share/emacs/29.0.50/lisp/org/org-crypt
/home/bidar/.emacs.d/lib/org/lisp/org-compat hides /usr/share/emacs/29.0.50/lisp/org/org-compat
/home/bidar/.emacs.d/lib/org/lisp/org-colview hides /usr/share/emacs/29.0.50/lisp/org/org-colview
/home/bidar/.emacs.d/lib/org/lisp/org-clock hides /usr/share/emacs/29.0.50/lisp/org/org-clock
/home/bidar/.emacs.d/lib/org/lisp/org-capture hides /usr/share/emacs/29.0.50/lisp/org/org-capture
/home/bidar/.emacs.d/lib/org/lisp/org-attach hides /usr/share/emacs/29.0.50/lisp/org/org-attach
/home/bidar/.emacs.d/lib/org/lisp/org-attach-git hides /usr/share/emacs/29.0.50/lisp/org/org-attach-git
/home/bidar/.emacs.d/lib/org/lisp/org-archive hides /usr/share/emacs/29.0.50/lisp/org/org-archive
/home/bidar/.emacs.d/lib/org/lisp/org-agenda hides /usr/share/emacs/29.0.50/lisp/org/org-agenda
/home/bidar/.emacs.d/lib/org/lisp/ol hides /usr/share/emacs/29.0.50/lisp/org/ol
/home/bidar/.emacs.d/lib/org/lisp/ol-w3m hides /usr/share/emacs/29.0.50/lisp/org/ol-w3m
/home/bidar/.emacs.d/lib/org/lisp/ol-rmail hides /usr/share/emacs/29.0.50/lisp/org/ol-rmail
/home/bidar/.emacs.d/lib/org/lisp/ol-mhe hides /usr/share/emacs/29.0.50/lisp/org/ol-mhe
/home/bidar/.emacs.d/lib/org/lisp/ol-man hides /usr/share/emacs/29.0.50/lisp/org/ol-man
/home/bidar/.emacs.d/lib/org/lisp/ol-irc hides /usr/share/emacs/29.0.50/lisp/org/ol-irc
/home/bidar/.emacs.d/lib/org/lisp/ol-info hides /usr/share/emacs/29.0.50/lisp/org/ol-info
/home/bidar/.emacs.d/lib/org/lisp/ol-gnus hides /usr/share/emacs/29.0.50/lisp/org/ol-gnus
/home/bidar/.emacs.d/lib/org/lisp/ol-eww hides /usr/share/emacs/29.0.50/lisp/org/ol-eww
/home/bidar/.emacs.d/lib/org/lisp/ol-eshell hides /usr/share/emacs/29.0.50/lisp/org/ol-eshell
/home/bidar/.emacs.d/lib/org/lisp/ol-doi hides /usr/share/emacs/29.0.50/lisp/org/ol-doi
/home/bidar/.emacs.d/lib/org/lisp/ol-docview hides /usr/share/emacs/29.0.50/lisp/org/ol-docview
/home/bidar/.emacs.d/lib/org/lisp/ol-bibtex hides /usr/share/emacs/29.0.50/lisp/org/ol-bibtex
/home/bidar/.emacs.d/lib/org/lisp/ol-bbdb hides /usr/share/emacs/29.0.50/lisp/org/ol-bbdb
/home/bidar/.emacs.d/lib/org/lisp/oc hides /usr/share/emacs/29.0.50/lisp/org/oc
/home/bidar/.emacs.d/lib/org/lisp/oc-natbib hides /usr/share/emacs/29.0.50/lisp/org/oc-natbib
/home/bidar/.emacs.d/lib/org/lisp/oc-csl hides /usr/share/emacs/29.0.50/lisp/org/oc-csl
/home/bidar/.emacs.d/lib/org/lisp/oc-biblatex hides /usr/share/emacs/29.0.50/lisp/org/oc-biblatex
/home/bidar/.emacs.d/lib/org/lisp/oc-basic hides /usr/share/emacs/29.0.50/lisp/org/oc-basic
/home/bidar/.emacs.d/lib/org/lisp/ob hides /usr/share/emacs/29.0.50/lisp/org/ob
/home/bidar/.emacs.d/lib/org/lisp/ob-tangle hides /usr/share/emacs/29.0.50/lisp/org/ob-tangle
/home/bidar/.emacs.d/lib/org/lisp/ob-table hides /usr/share/emacs/29.0.50/lisp/org/ob-table
/home/bidar/.emacs.d/lib/org/lisp/ob-sqlite hides /usr/share/emacs/29.0.50/lisp/org/ob-sqlite
/home/bidar/.emacs.d/lib/org/lisp/ob-sql hides /usr/share/emacs/29.0.50/lisp/org/ob-sql
/home/bidar/.emacs.d/lib/org/lisp/ob-shell hides /usr/share/emacs/29.0.50/lisp/org/ob-shell
/home/bidar/.emacs.d/lib/org/lisp/ob-sed hides /usr/share/emacs/29.0.50/lisp/org/ob-sed
/home/bidar/.emacs.d/lib/org/lisp/ob-screen hides /usr/share/emacs/29.0.50/lisp/org/ob-screen
/home/bidar/.emacs.d/lib/org/lisp/ob-scheme hides /usr/share/emacs/29.0.50/lisp/org/ob-scheme
/home/bidar/.emacs.d/lib/org/lisp/ob-sass hides /usr/share/emacs/29.0.50/lisp/org/ob-sass
/home/bidar/.emacs.d/lib/org/lisp/ob-ruby hides /usr/share/emacs/29.0.50/lisp/org/ob-ruby
/home/bidar/.emacs.d/lib/org/lisp/ob-ref hides /usr/share/emacs/29.0.50/lisp/org/ob-ref
/home/bidar/.emacs.d/lib/org/lisp/ob-python hides /usr/share/emacs/29.0.50/lisp/org/ob-python
/home/bidar/.emacs.d/lib/org/lisp/ob-processing hides /usr/share/emacs/29.0.50/lisp/org/ob-processing
/home/bidar/.emacs.d/lib/org/lisp/ob-plantuml hides /usr/share/emacs/29.0.50/lisp/org/ob-plantuml
/home/bidar/.emacs.d/lib/org/lisp/ob-perl hides /usr/share/emacs/29.0.50/lisp/org/ob-perl
/home/bidar/.emacs.d/lib/org/lisp/ob-org hides /usr/share/emacs/29.0.50/lisp/org/ob-org
/home/bidar/.emacs.d/lib/org/lisp/ob-octave hides /usr/share/emacs/29.0.50/lisp/org/ob-octave
/home/bidar/.emacs.d/lib/org/lisp/ob-ocaml hides /usr/share/emacs/29.0.50/lisp/org/ob-ocaml
/home/bidar/.emacs.d/lib/org/lisp/ob-maxima hides /usr/share/emacs/29.0.50/lisp/org/ob-maxima
/home/bidar/.emacs.d/lib/org/lisp/ob-matlab hides /usr/share/emacs/29.0.50/lisp/org/ob-matlab
/home/bidar/.emacs.d/lib/org/lisp/ob-makefile hides /usr/share/emacs/29.0.50/lisp/org/ob-makefile
/home/bidar/.emacs.d/lib/org/lisp/ob-lua hides /usr/share/emacs/29.0.50/lisp/org/ob-lua
/home/bidar/.emacs.d/lib/org/lisp/ob-lob hides /usr/share/emacs/29.0.50/lisp/org/ob-lob
/home/bidar/.emacs.d/lib/org/lisp/ob-lisp hides /usr/share/emacs/29.0.50/lisp/org/ob-lisp
/home/bidar/.emacs.d/lib/org/lisp/ob-lilypond hides /usr/share/emacs/29.0.50/lisp/org/ob-lilypond
/home/bidar/.emacs.d/lib/org/lisp/ob-latex hides /usr/share/emacs/29.0.50/lisp/org/ob-latex
/home/bidar/.emacs.d/lib/org/lisp/ob-julia hides /usr/share/emacs/29.0.50/lisp/org/ob-julia
/home/bidar/.emacs.d/lib/org/lisp/ob-js hides /usr/share/emacs/29.0.50/lisp/org/ob-js
/home/bidar/.emacs.d/lib/org/lisp/ob-java hides /usr/share/emacs/29.0.50/lisp/org/ob-java
/home/bidar/.emacs.d/lib/org/lisp/ob-haskell hides /usr/share/emacs/29.0.50/lisp/org/ob-haskell
/home/bidar/.emacs.d/lib/org/lisp/ob-groovy hides /usr/share/emacs/29.0.50/lisp/org/ob-groovy
/home/bidar/.emacs.d/lib/org/lisp/ob-gnuplot hides /usr/share/emacs/29.0.50/lisp/org/ob-gnuplot
/home/bidar/.emacs.d/lib/org/lisp/ob-fortran hides /usr/share/emacs/29.0.50/lisp/org/ob-fortran
/home/bidar/.emacs.d/lib/org/lisp/ob-forth hides /usr/share/emacs/29.0.50/lisp/org/ob-forth
/home/bidar/.emacs.d/lib/org/lisp/ob-exp hides /usr/share/emacs/29.0.50/lisp/org/ob-exp
/home/bidar/.emacs.d/lib/org/lisp/ob-eval hides /usr/share/emacs/29.0.50/lisp/org/ob-eval
/home/bidar/.emacs.d/lib/org/lisp/ob-eshell hides /usr/share/emacs/29.0.50/lisp/org/ob-eshell
/home/bidar/.emacs.d/lib/org/lisp/ob-emacs-lisp hides /usr/share/emacs/29.0.50/lisp/org/ob-emacs-lisp
/home/bidar/.emacs.d/lib/org/lisp/ob-dot hides /usr/share/emacs/29.0.50/lisp/org/ob-dot
/home/bidar/.emacs.d/lib/org/lisp/ob-ditaa hides /usr/share/emacs/29.0.50/lisp/org/ob-ditaa
/home/bidar/.emacs.d/lib/org/lisp/ob-css hides /usr/share/emacs/29.0.50/lisp/org/ob-css
/home/bidar/.emacs.d/lib/org/lisp/ob-core hides /usr/share/emacs/29.0.50/lisp/org/ob-core
/home/bidar/.emacs.d/lib/org/lisp/ob-comint hides /usr/share/emacs/29.0.50/lisp/org/ob-comint
/home/bidar/.emacs.d/lib/org/lisp/ob-clojure hides /usr/share/emacs/29.0.50/lisp/org/ob-clojure
/home/bidar/.emacs.d/lib/org/lisp/ob-calc hides /usr/share/emacs/29.0.50/lisp/org/ob-calc
/home/bidar/.emacs.d/lib/org/lisp/ob-awk hides /usr/share/emacs/29.0.50/lisp/org/ob-awk
/home/bidar/.emacs.d/lib/org/lisp/ob-R hides /usr/share/emacs/29.0.50/lisp/org/ob-R
/home/bidar/.emacs.d/lib/org/lisp/ob-C hides /usr/share/emacs/29.0.50/lisp/org/ob-C
/home/bidar/.emacs.d/lib/flim/sasl hides /usr/share/emacs/29.0.50/lisp/net/sasl
/home/bidar/.emacs.d/lib/let-alist/let-alist hides /usr/share/emacs/29.0.50/lisp/emacs-lisp/let-alist

Features:
(shadow emacsbug gnus-gravatar smiley gnus-cite mm-archive textsec
uni-scripts idna-mapping ucs-normalize uni-confusable textsec-check
gnus-async gnus-bcklg qp gnus-ml gnus-topic nndraft nnmh utf-7 nnfolder
nnnil gnus-agent gnus-srvr gnus-score score-mode nnvirtual gnus-cache
cursor-sensor ace-window avy help-fns cus-start epa-file image-file
image-converter mail-extr char-fold misearch multi-isearch company-shell
helm-x-files helm-for-files helm-external network-stream gravatar dns
url-cache vc-hg vc-bzr vc-src vc-sccs vc-svn vc-cvs vc-rcs log-view
winner tramp-archive tramp-gvfs helm-command generic-x atomic-chrome
websocket minions back-button smartrep recentf tree-widget savehist
mule-util tramp-cache time-stamp tramp-sh systemd gitconfig-mode
cap-words superword subword dired-collapse treemacs-icons-dired
treemacs-all-the-icons treemacs-magit 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
forge-notify forge-revnote forge-pullreq forge-issue forge-topic yaml
forge-post markdown-mode forge-repo forge forge-core forge-db
magit-bookmark magit-submodule magit-obsolete magit-popup 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 magit-diff smerge-mode diff git-commit log-edit
pcvs-util add-log magit-core magit-autorevert autorevert magit-margin
magit-transient magit-process magit-mode transient treemacs
treemacs-header-line treemacs-compatibility treemacs-mode
treemacs-bookmarks treemacs-tags treemacs-interface treemacs-persistence
treemacs-filewatch-mode treemacs-follow-mode treemacs-rendering
treemacs-annotations treemacs-async treemacs-workspaces treemacs-dom
treemacs-visuals treemacs-fringe-indicator treemacs-scope pulse
treemacs-faces texinfo texinfo-loaddefs org-edit-indirect edit-indirect
rainbow-delimiters goto-addr ligature symbol-overlay hideshow vc
bug-reference emms-i18n emms-history emms-score emms-stream-info
emms-metaplaylist-mode emms-bookmarks emms-cue emms-mode-line-icon
emms-browser sort emms-volume emms-volume-sndioctl emms-volume-mixerctl
emms-volume-pulse emms-volume-amixer emms-playlist-sort emms-last-played
emms-player-mpd tq emms-playing-time emms-lyrics emms-url
emms-player-simple emms-streams emms-show-all emms-tag-editor
emms-tag-tracktag emms-info-mp3info emms-mark emms-mode-line emms-cache
emms-info-native bindat emms-info-libtag emms-playlist-mode emms-info
emms-later-do emms-source-playlist emms-source-file locate emms
emms-compat gnus-icalendar org-capture gnus-alias smtpmail-async
smtpmail gnus-msg gnus-desktop-notify doom-modeline
doom-modeline-segments doom-modeline-env doom-modeline-core shrink-path
gnus-demon nntp lui-track company-emoji company-emoji-list helm-circe
circe-notifications alert notifications circe-display-images
circe-color-nicks circe lui-irc-colors irc lcs lui-logging lui-format
lui tracking shorten circe-compat org-caldav let-alist icalendar
ox-extra 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-koma-letter
ox-latex ox-icalendar ox-html table ox-ascii ox-publish ox url-dav
url-http url-auth url-gw nsm org-expiry ol-man org-super-agenda ts
org-habit org-eldoc cdlatex reftex reftex-loaddefs reftex-vars
org-appear org-modern guess-language ws-butler selected flyspell
oc-basic org-element org-persist org-id avl-tree ol-eww eww url-queue
mm-url ol-rmail ol-mhe ol-irc ol-info ol-gnus nnselect gnus-art mm-uu
mml2015 mm-view mml-smime smime gnutls dig ol-docview doc-view jka-compr
ol-bibtex bibtex ol-bbdb ol-w3m ol-doi org-link-doi cal-china lunar
solar cal-dst cal-bahai cal-islam cal-hebrew holidays holiday-loaddefs
vim-modeline company-yasnippet company-anaconda appt org-agenda
org-refile org-clock ob-sqlite ob-sql ob-shell ob-python ob-plantuml
ob-org ob-octave ob-lua ob-js ob-gnuplot ob-dot ob-ditaa ob-clojure ob-C
outshine outshine-org-cmds outorg smartparens-org smartparens-text
smartparens org ob ob-tangle ob-ref ob-lob ob-table ob-exp org-macro
org-footnote org-src ob-comint org-pcomplete org-list 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 gnus-sum shr pixel-fill
kinsoku url-file svg dom gnus-group gnus-undo gnus-start gnus-dbus dbus
gnus-cloud nnimap nnmail mail-source utf7 nnoo gnus-spec gnus-int
gnus-range message sendmail yank-media puny rfc822 mml mml-sec epa epg
rfc6068 epg-config mm-decode mm-bodies mm-encode mail-parse rfc2231
rfc2047 rfc2045 ietf-drums mailabbrev gmm-utils mailheader gnus-win gnus
nnheader gnus-util mail-utils range mm-util mail-prsvr org-version
org-compat org-macs noutline outline anaconda-mode pythonic python
perl-completion woman man dabbrev cperl-mode facemenu helm-elisp
helm-eval cl cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles
cc-align cc-engine cc-vars cc-defs ggtags ewoc flycheck-color-mode-line
flycheck meson-mode bitbake-modes bitbake autoinsert conf-bitbake-mode
conf-mode bitbake-ff find-file bitbake-mmm sh-script smie executable
mmm-mode mmm-univ mmm-class mmm-region mmm-auto mmm-vars mmm-utils
mmm-compat bitbake-functions bitbake-compat xterm-color magit-libgit
libgit libegit2 magit-git magit-base which-func imenu edebug debug
backtrace vc-git vc-dispatcher ido magit-section benchmark crm compat-27
diff-mode diary-lib diary-loaddefs cal-menu calendar cal-loaddefs
midnight vlf-setup multi-vterm vterm face-remap term disp-table ehelp
vterm-module term/xterm xterm projectile skeleton ibuf-macs ibuf-ext
ibuffer ibuffer-loaddefs ispell company-oddmuse company-keywords
company-etags etags fileloop generator xref project company-gtags
company-dabbrev-code company-dabbrev company-files company-clang
company-capf company-cmake company-semantic company-template
company-bbdb company elec-pair editorconfig editorconfig-core
editorconfig-core-handle editorconfig-fnmatch package url-handlers
marginalia which-key dired-ranger dired-avfs dired-rainbow
dired-hacks-utils dired-async dired-du find-dired wdired helm-icons
all-the-icons all-the-icons-faces data-material data-weathericons
data-octicons data-fileicons data-faicons data-alltheicons
treemacs-icons treemacs-themes treemacs-core-utils treemacs-macros
treemacs-logging treemacs-customization pfuture inline hl-line f
f-shortdoc shortdoc s helm-bookmark helm-net browse-url xml url
url-proxy url-privacy url-expand url-methods url-history url-cookie
url-domsuf url-util mailcap helm-adaptive helm-info bookmark helm-mode
helm-misc helm-files image-dired image-dired-tags image-dired-external
image-dired-util xdg image-mode exif filenotify dired-x dired-aux dired
dired-loaddefs ffap tramp tramp-loaddefs trampver tramp-integration
cus-edit pp cus-load files-x tramp-compat parse-time iso8601 time-date
ls-lisp helm-buffers helm-occur helm-tags helm-locate helm-grep
wgrep-helm wgrep grep compile text-property-search helm-regexp
format-spec helm-utils helm-help helm-types helm-config so-long
cursor-chg mode-icons emojify apropos tar-mode arc-mode archive-mode ht
dash color modus-vivendi-theme modus-themes helm-pass thingatpt
password-store with-editor shell pcomplete comint ansi-osc ansi-color
ring server helm helm-global-bindings helm-easymenu helm-core
async-bytecomp helm-source helm-multi-match helm-lib async
auth-source-pass url-parse url-vars auth-source password-cache printing
ps-print ps-print-loaddefs lpr desktop frameset edmacro kmacro saveplace
delsel no-littering epkg-melpa json map epkg-gelpa epkg-utils epkg-list
epkg-desc wid-edit find-func epkg closql emacsql-sqlite advice emacsql
emacsql-compiler compat-26 compat compat-macs comp comp-cstr warnings
icons use-package use-package-ensure use-package-delight
use-package-diminish use-package-bind-key bind-key easy-mmode
use-package-core w3m-load rx bbdb-loaddefs cl-extra help-mode cl-seq
borg derived eieio byte-opt eieio-core cl-macs gv subr-x pcase info
bytecomp byte-compile cconv autoload loaddefs-gen generate-lisp-file
radix-tree cl-loaddefs cl-lib lisp-mnt rmc iso-transl tooltip eldoc
paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode
mwheel term/pgtk-win pgtk-win term/common-win pgtk-dnd tool-bar dnd
fontset image regexp-opt fringe tabulated-list replace newcomment
text-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow
isearch easymenu timer select scroll-bar mouse jit-lock font-lock syntax
font-core term/tty-colors frame minibuffer nadvice seq simple cl-generic
indonesian philippine cham georgian utf-8-lang misc-lang vietnamese
tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek
romanian slovak czech european ethiopic indian cyrillic chinese
composite emoji-zwj charscript charprop case-table epa-hook
jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs
theme-loaddefs faces cus-face macroexp files window text-properties
overlay sha1 md5 base64 format env code-pages mule custom widget keymap
hashtable-print-readable backquote threads dbusbind inotify
dynamic-setting system-font-setting font-render-setting cairo gtk pgtk
lcms2 multi-tty make-network-process native-compile emacs)

Memory information:
((conses 16 3495588 2639148)
 (symbols 48 101146 19)
 (strings 32 576980 267491)
 (string-bytes 1 16882909)
 (vectors 16 189321)
 (vector-slots 8 6275330 530749)
 (floats 8 6760 1954)
 (intervals 56 69165 9694)
 (buffers 1000 160))