Subject: 30.0.50; gnus-summary-refer-article fails to find article on nnimap

From: Renaud Casenave-Péré <[email-masked]>
Date: Fri, 09 Jun 2023 14:24:35 +0200

Hi,

I’ve been wanting to use gnus-summary-refer-article to get a 
specific article but the imap server always returns this error:

158104 BAD Error in IMAP command UID SEARCH: Invalid characters in 
atom (0.001 + 0.000 secs).

Stepping into gnus’ code, I got the following callstack. In my 
setup, ‘message-id’ will be a string with some properties, due to 
the package ws-butler it seems, which gnus doesn’t expect.
I could make the above function work by first stripping 
‘message-id’ of its properties with ‘substring-no-properties’ 
before calling ‘nnimap-send-command’ in 
‘nnimap-find-article-by-message-id’ but there might be a better 
fix for this.

  (nnimap-send-command "UID SEARCH%s HEADER Message-Id %S" (if 
  (and limit number-of-article) (format " %s:*" (- 
  (string-to-number number-of-article) limit -1)) "") message-id)
  (let* ((change-group-result (nnimap-change-group group server 
  nil t)) (number-of-article (and (listp change-group-result) 
  (catch 'found (let ((tail ...)) (while tail (let ... ... 
  ...)))))) (sequence (nnimap-send-command "UID SEARCH%s HEADER 
  Message-Id %S" (if (and limit number-of-article) (format " %s:*" 
  (- (string-to-number number-of-article) limit -1)) "") 
  (substring-no-properties message-id)))) (if 
  (nnimap-wait-for-response sequence) (progn (let ((article (car 
  (last ...)))) (if article (string-to-number article) (if (and 
  limit number-of-article) (progn 
  (nnimap-find-article-by-message-id group server 
  message-id))))))))
  (save-current-buffer (set-buffer (nnimap-buffer)) (erase-buffer) 
  (let* ((change-group-result (nnimap-change-group group server 
  nil t)) (number-of-article (and (listp change-group-result) 
  (catch 'found (let (...) (while tail ...))))) (sequence 
  (nnimap-send-command "UID SEARCH%s HEADER Message-Id %S" (if 
  (and limit number-of-article) (format " %s:*" (- ... limit -1)) 
  "") (substring-no-properties message-id)))) (if 
  (nnimap-wait-for-response sequence) (progn (let ((article (car 
  ...))) (if article (string-to-number article) (if (and limit 
  number-of-article) (progn ...))))))))
  nnimap-find-article-by-message-id("list.emacs-devel" 
  "casenave-pere.fr" #("<87ttxil7k3.fsf@localhost>" 0 26 
  (ws-butler-chg chg)))
  nnimap-request-article(#("<87ttxil7k3.fsf@localhost>" 0 26 
  (ws-butler-chg chg)) "list.emacs-devel" "casenave-pere.fr" 
  #<buffer *Article list.emacs-devel*>)
  gnus-request-article(#("<87ttxil7k3.fsf@localhost>" 0 26 
  (ws-butler-chg chg)) "list.emacs-devel" #<buffer *Article 
  list.emacs-devel*>)
  (cond ((gnus-request-article article group (current-buffer)) (if 
  (numberp article) (progn (gnus-async-prefetch-next group article 
  gnus-summary-buffer) (if gnus-keep-backlog (progn 
  (gnus-backlog-enter-article group article (current-buffer)))) 
  (if (and gnus-agent gnus-agent-eagerly-store-articles 
  (gnus-agent-group-covered-p group)) (progn 
  (gnus-agent-store-article article group))))) (setq result 
  'article)) (methods (setq gnus-override-method (car-safe (prog1 
  methods (setq methods (cdr methods)))))) ((not (string-match 
  "^400 " (nnheader-get-report backend))) (setq result 'done)))
  (while (not result) (erase-buffer) (gnus-kill-all-overlays) 
  (setq bidi-paragraph-direction nil) (let ((gnus-newsgroup-name 
  group)) (gnus-check-group-server)) (cond ((gnus-request-article 
  article group (current-buffer)) (if (numberp article) (progn 
  (gnus-async-prefetch-next group article gnus-summary-buffer) (if 
  gnus-keep-backlog (progn (gnus-backlog-enter-article group 
  article ...))) (if (and gnus-agent 
  gnus-agent-eagerly-store-articles (gnus-agent-group-covered-p 
  group)) (progn (gnus-agent-store-article article group))))) 
  (setq result 'article)) (methods (setq gnus-override-method 
  (car-safe (prog1 methods (setq methods (cdr methods)))))) ((not 
  (string-match "^400 " (nnheader-get-report backend))) (setq 
  result 'done))))
  (let ((gnus-override-method gnus-override-method) (methods (and 
  (stringp article) (save-current-buffer (set-buffer 
  gnus-summary-buffer) (gnus-refer-article-methods)))) (backend 
  (car (gnus-find-method-for-group gnus-newsgroup-name))) result 
  (inhibit-read-only t)) (if (and (null gnus-override-method) 
  methods) (progn (setq gnus-override-method (car-safe (prog1 
  methods (setq methods (cdr methods))))))) (while (not result) 
  (erase-buffer) (gnus-kill-all-overlays) (setq 
  bidi-paragraph-direction nil) (let ((gnus-newsgroup-name group)) 
  (gnus-check-group-server)) (cond ((gnus-request-article article 
  group (current-buffer)) (if (numberp article) (progn 
  (gnus-async-prefetch-next group article gnus-summary-buffer) (if 
  gnus-keep-backlog (progn ...)) (if (and gnus-agent 
  gnus-agent-eagerly-store-articles ...) (progn ...)))) (setq 
  result 'article)) (methods (setq gnus-override-method (car-safe 
  (prog1 methods (setq methods ...))))) ((not (string-match "^400 
  " (nnheader-get-report backend))) (setq result 'done)))) (and 
  (eq result 'article) 'article))
  (cond ((and (numberp article) (gnus-buffer-live-p 
  gnus-summary-buffer) (eq (save-current-buffer (set-buffer 
  gnus-summary-buffer) (cdr (assq article gnus-newsgroup-reads))) 
  gnus-canceled-mark)) nil) ((and (get-buffer 
  gnus-original-article-buffer) (numberp article) 
  (save-current-buffer (set-buffer gnus-original-article-buffer) 
  (and (equal (car gnus-original-article) group) (eq (cdr 
  gnus-original-article) article)))) (insert-buffer-substring 
  gnus-original-article-buffer) 'article) ((and gnus-keep-backlog 
  (gnus-backlog-request-article group article (current-buffer))) 
  'article) ((gnus-async-request-fetched-article group article 
  (current-buffer)) (gnus-async-prefetch-next group article 
  gnus-summary-buffer) (if (and (numberp article) 
  gnus-keep-backlog) (progn (gnus-backlog-enter-article group 
  article (current-buffer)))) 'article) ((and gnus-use-cache 
  (numberp article) (gnus-cache-request-article article group)) 
  'article) ((gnus-agent-request-article article group) 'article) 
  ((or (stringp article) (numberp article)) (let 
  ((gnus-override-method gnus-override-method) (methods (and 
  (stringp article) (save-current-buffer (set-buffer 
  gnus-summary-buffer) (gnus-refer-article-methods)))) (backend 
  (car (gnus-find-method-for-group gnus-newsgroup-name))) result 
  (inhibit-read-only t)) (if (and (null gnus-override-method) 
  methods) (progn (setq gnus-override-method (car-safe (prog1 
  methods ...))))) (while (not result) (erase-buffer) 
  (gnus-kill-all-overlays) (setq bidi-paragraph-direction nil) 
  (let ((gnus-newsgroup-name group)) (gnus-check-group-server)) 
  (cond ((gnus-request-article article group (current-buffer)) (if 
  (numberp article) (progn ... ... ...)) (setq result 'article)) 
  (methods (setq gnus-override-method (car-safe ...))) ((not 
  (string-match "^400 " ...)) (setq result 'done)))) (and (eq 
  result 'article) 'article))) (t article))
  (save-excursion (erase-buffer) (gnus-kill-all-overlays) (setq 
  bidi-paragraph-direction nil) (setq group (or group 
  gnus-newsgroup-name)) (if (stringp article) (progn 
  (gnus-read-header article))) (if (and (numberp article) 
  (gnus-buffer-live-p gnus-summary-buffer)) (progn 
  (save-current-buffer (set-buffer gnus-summary-buffer) (let 
  ((header (let ... ...))) (if (< article 0) (progn (cond ... ... 
  ...))) (let ((method ...)) (if (and ... ...) (progn ...))))))) 
  (cond ((and (numberp article) (gnus-buffer-live-p 
  gnus-summary-buffer) (eq (save-current-buffer (set-buffer 
  gnus-summary-buffer) (cdr (assq article gnus-newsgroup-reads))) 
  gnus-canceled-mark)) nil) ((and (get-buffer 
  gnus-original-article-buffer) (numberp article) 
  (save-current-buffer (set-buffer gnus-original-article-buffer) 
  (and (equal (car gnus-original-article) group) (eq (cdr 
  gnus-original-article) article)))) (insert-buffer-substring 
  gnus-original-article-buffer) 'article) ((and gnus-keep-backlog 
  (gnus-backlog-request-article group article (current-buffer))) 
  'article) ((gnus-async-request-fetched-article group article 
  (current-buffer)) (gnus-async-prefetch-next group article 
  gnus-summary-buffer) (if (and (numberp article) 
  gnus-keep-backlog) (progn (gnus-backlog-enter-article group 
  article (current-buffer)))) 'article) ((and gnus-use-cache 
  (numberp article) (gnus-cache-request-article article group)) 
  'article) ((gnus-agent-request-article article group) 'article) 
  ((or (stringp article) (numberp article)) (let 
  ((gnus-override-method gnus-override-method) (methods (and 
  (stringp article) (save-current-buffer ... ...))) (backend (car 
  (gnus-find-method-for-group gnus-newsgroup-name))) result 
  (inhibit-read-only t)) (if (and (null gnus-override-method) 
  methods) (progn (setq gnus-override-method (car-safe ...)))) 
  (while (not result) (erase-buffer) (gnus-kill-all-overlays) 
  (setq bidi-paragraph-direction nil) (let ((gnus-newsgroup-name 
  group)) (gnus-check-group-server)) (cond ((gnus-request-article 
  article group ...) (if ... ...) (setq result ...)) (methods 
  (setq gnus-override-method ...)) ((not ...) (setq result ...)))) 
  (and (eq result 'article) 'article))) (t article)))
  (prog1 (save-excursion (erase-buffer) (gnus-kill-all-overlays) 
  (setq bidi-paragraph-direction nil) (setq group (or group 
  gnus-newsgroup-name)) (if (stringp article) (progn 
  (gnus-read-header article))) (if (and (numberp article) 
  (gnus-buffer-live-p gnus-summary-buffer)) (progn 
  (save-current-buffer (set-buffer gnus-summary-buffer) (let 
  ((header ...)) (if (< article 0) (progn ...)) (let (...) (if ... 
  ...)))))) (cond ((and (numberp article) (gnus-buffer-live-p 
  gnus-summary-buffer) (eq (save-current-buffer (set-buffer 
  gnus-summary-buffer) (cdr ...)) gnus-canceled-mark)) nil) ((and 
  (get-buffer gnus-original-article-buffer) (numberp article) 
  (save-current-buffer (set-buffer gnus-original-article-buffer) 
  (and (equal ... group) (eq ... article)))) 
  (insert-buffer-substring gnus-original-article-buffer) 'article) 
  ((and gnus-keep-backlog (gnus-backlog-request-article group 
  article (current-buffer))) 'article) 
  ((gnus-async-request-fetched-article group article 
  (current-buffer)) (gnus-async-prefetch-next group article 
  gnus-summary-buffer) (if (and (numberp article) 
  gnus-keep-backlog) (progn (gnus-backlog-enter-article group 
  article (current-buffer)))) 'article) ((and gnus-use-cache 
  (numberp article) (gnus-cache-request-article article group)) 
  'article) ((gnus-agent-request-article article group) 'article) 
  ((or (stringp article) (numberp article)) (let 
  ((gnus-override-method gnus-override-method) (methods (and ... 
  ...)) (backend (car ...)) result (inhibit-read-only t)) (if (and 
  (null gnus-override-method) methods) (progn (setq 
  gnus-override-method ...))) (while (not result) (erase-buffer) 
  (gnus-kill-all-overlays) (setq bidi-paragraph-direction nil) 
  (let (...) (gnus-check-group-server)) (cond (... ... ...) 
  (methods ...) (... ...))) (and (eq result 'article) 'article))) 
  (t article))) (setq gnus-article-current-summary 
  gnus-summary-buffer) (if (and (get-buffer gnus-article-buffer) 
  (equal (buffer-name (current-buffer)) (buffer-name (get-buffer 
  gnus-article-buffer)))) (progn (save-excursion (if (get-buffer 
  gnus-original-article-buffer) (set-buffer 
  gnus-original-article-buffer) (set-buffer 
  (gnus-get-buffer-create gnus-original-article-buffer)) 
  (buffer-disable-undo) (setq major-mode 
  'gnus-original-article-mode) (setq buffer-read-only t)) (let 
  ((inhibit-read-only t)) (erase-buffer) (insert-buffer-substring 
  gnus-article-buffer)) (setq gnus-original-article (cons group 
  article))) (run-hooks 'gnus-article-decode-hook) (setq 
  gnus-article-decoded-p gnus-article-decode-hook))) (if (and 
  do-update-line (or (numberp article) (stringp article))) (progn 
  (save-current-buffer (set-buffer gnus-summary-buffer) 
  (gnus-summary-update-article do-update-line sparse-header) 
  (gnus-summary-goto-subject do-update-line nil t) 
  (set-window-point (gnus-get-buffer-window (current-buffer) t) 
  (point))))))
  (let (do-update-line sparse-header) (prog1 (save-excursion 
  (erase-buffer) (gnus-kill-all-overlays) (setq 
  bidi-paragraph-direction nil) (setq group (or group 
  gnus-newsgroup-name)) (if (stringp article) (progn 
  (gnus-read-header article))) (if (and (numberp article) 
  (gnus-buffer-live-p gnus-summary-buffer)) (progn 
  (save-current-buffer (set-buffer gnus-summary-buffer) (let (...) 
  (if ... ...) (let ... ...))))) (cond ((and (numberp article) 
  (gnus-buffer-live-p gnus-summary-buffer) (eq 
  (save-current-buffer ... ...) gnus-canceled-mark)) nil) ((and 
  (get-buffer gnus-original-article-buffer) (numberp article) 
  (save-current-buffer (set-buffer gnus-original-article-buffer) 
  (and ... ...))) (insert-buffer-substring 
  gnus-original-article-buffer) 'article) ((and gnus-keep-backlog 
  (gnus-backlog-request-article group article (current-buffer))) 
  'article) ((gnus-async-request-fetched-article group article 
  (current-buffer)) (gnus-async-prefetch-next group article 
  gnus-summary-buffer) (if (and (numberp article) 
  gnus-keep-backlog) (progn (gnus-backlog-enter-article group 
  article ...))) 'article) ((and gnus-use-cache (numberp article) 
  (gnus-cache-request-article article group)) 'article) 
  ((gnus-agent-request-article article group) 'article) ((or 
  (stringp article) (numberp article)) (let ((gnus-override-method 
  gnus-override-method) (methods ...) (backend ...) result 
  (inhibit-read-only t)) (if (and ... methods) (progn ...)) (while 
  (not result) (erase-buffer) (gnus-kill-all-overlays) (setq 
  bidi-paragraph-direction nil) (let ... ...) (cond ... ... ...)) 
  (and (eq result ...) 'article))) (t article))) (setq 
  gnus-article-current-summary gnus-summary-buffer) (if (and 
  (get-buffer gnus-article-buffer) (equal (buffer-name 
  (current-buffer)) (buffer-name (get-buffer 
  gnus-article-buffer)))) (progn (save-excursion (if (get-buffer 
  gnus-original-article-buffer) (set-buffer 
  gnus-original-article-buffer) (set-buffer 
  (gnus-get-buffer-create gnus-original-article-buffer)) 
  (buffer-disable-undo) (setq major-mode 
  'gnus-original-article-mode) (setq buffer-read-only t)) (let 
  ((inhibit-read-only t)) (erase-buffer) (insert-buffer-substring 
  gnus-article-buffer)) (setq gnus-original-article (cons group 
  article))) (run-hooks 'gnus-article-decode-hook) (setq 
  gnus-article-decoded-p gnus-article-decode-hook))) (if (and 
  do-update-line (or (numberp article) (stringp article))) (progn 
  (save-current-buffer (set-buffer gnus-summary-buffer) 
  (gnus-summary-update-article do-update-line sparse-header) 
  (gnus-summary-goto-subject do-update-line nil t) 
  (set-window-point (gnus-get-buffer-window (current-buffer) t) 
  (point)))))))
  gnus-request-article-this-buffer(-1 "list.emacs-devel")
  gnus-article-prepare(-1 nil)
  gnus-summary-display-article(-1 nil)
  gnus-summary-select-article(nil nil nil -1)
  (progn (gnus-summary-select-article nil nil nil number) (throw 
  'found t))
  (if (and (gnus-check-server gnus-override-method) (setq number 
  (gnus-summary-insert-subject message-id))) (progn 
  (gnus-summary-select-article nil nil nil number) (throw 'found 
  t)))
  (let ((gnus-override-method (car tail))) (if (and 
  (gnus-check-server gnus-override-method) (setq number 
  (gnus-summary-insert-subject message-id))) (progn 
  (gnus-summary-select-article nil nil nil number) (throw 'found 
  t))) (setq tail (cdr tail)))
  (while tail (let ((gnus-override-method (car tail))) (if (and 
  (gnus-check-server gnus-override-method) (setq number 
  (gnus-summary-insert-subject message-id))) (progn 
  (gnus-summary-select-article nil nil nil number) (throw 'found 
  t))) (setq tail (cdr tail))))
  (let ((tail (gnus-refer-article-methods))) (while tail (let 
  ((gnus-override-method (car tail))) (if (and (gnus-check-server 
  gnus-override-method) (setq number (gnus-summary-insert-subject 
  message-id))) (progn (gnus-summary-select-article nil nil nil 
  number) (throw 'found t))) (setq tail (cdr tail)))))
  (catch 'found (let ((tail (gnus-refer-article-methods))) (while 
  tail (let ((gnus-override-method (car tail))) (if (and 
  (gnus-check-server gnus-override-method) (setq number 
  (gnus-summary-insert-subject message-id))) (progn 
  (gnus-summary-select-article nil nil nil number) (throw 'found 
  t))) (setq tail (cdr tail))))) (gnus-message 3 "Couldn't fetch 
  article %s" message-id))
  (cond ((and header (or (not (memq (let (...) (progn ...)) 
  gnus-newsgroup-sparse)) sparse)) (prog1 
  (gnus-summary-goto-article (let ((cl-x header)) (progn (progn 
  (aref cl-x 0)))) nil t) (if sparse (progn 
  (gnus-summary-update-article (let (...) (progn ...))))))) (t 
  (catch 'found (let ((tail (gnus-refer-article-methods))) (while 
  tail (let ((gnus-override-method ...)) (if (and ... ...) (progn 
  ... ...)) (setq tail (cdr tail))))) (gnus-message 3 "Couldn't 
  fetch article %s" message-id))))
  (let* ((header (gnus-id-to-header message-id)) (sparse (and 
  header (memq (let ((cl-x header)) (progn (progn ...))) 
  gnus-newsgroup-sparse) (memq (let ((cl-x header)) (progn (progn 
  ...))) gnus-newsgroup-limit))) number) (cond ((and header (or 
  (not (memq (let ... ...) gnus-newsgroup-sparse)) sparse)) (prog1 
  (gnus-summary-goto-article (let ((cl-x header)) (progn (progn 
  ...))) nil t) (if sparse (progn (gnus-summary-update-article 
  (let ... ...)))))) (t (catch 'found (let ((tail 
  (gnus-refer-article-methods))) (while tail (let (...) (if ... 
  ...) (setq tail ...)))) (gnus-message 3 "Couldn't fetch article 
  %s" message-id)))))
  (progn (setq message-id (string-replace " " "" message-id)) (if 
  (string-match "^<" message-id) nil (setq message-id (concat "<" 
  message-id))) (if (string-match ">$" message-id) nil (setq 
  message-id (concat message-id ">"))) (if (string-search "@" 
  message-id) nil (setq message-id (gnus-url-unhex-string 
  message-id))) (let* ((header (gnus-id-to-header message-id)) 
  (sparse (and header (memq (let (...) (progn ...)) 
  gnus-newsgroup-sparse) (memq (let (...) (progn ...)) 
  gnus-newsgroup-limit))) number) (cond ((and header (or (not 
  (memq ... gnus-newsgroup-sparse)) sparse)) (prog1 
  (gnus-summary-goto-article (let (...) (progn ...)) nil t) (if 
  sparse (progn (gnus-summary-update-article ...))))) (t (catch 
  'found (let ((tail ...)) (while tail (let ... ... ...))) 
  (gnus-message 3 "Couldn't fetch article %s" message-id))))))
  (if (and (stringp message-id) (not (= 0 (length message-id)))) 
  (progn (setq message-id (string-replace " " "" message-id)) (if 
  (string-match "^<" message-id) nil (setq message-id (concat "<" 
  message-id))) (if (string-match ">$" message-id) nil (setq 
  message-id (concat message-id ">"))) (if (string-search "@" 
  message-id) nil (setq message-id (gnus-url-unhex-string 
  message-id))) (let* ((header (gnus-id-to-header message-id)) 
  (sparse (and header (memq (let ... ...) gnus-newsgroup-sparse) 
  (memq (let ... ...) gnus-newsgroup-limit))) number) (cond ((and 
  header (or (not ...) sparse)) (prog1 (gnus-summary-goto-article 
  (let ... ...) nil t) (if sparse (progn ...)))) (t (catch 'found 
  (let (...) (while tail ...)) (gnus-message 3 "Couldn't fetch 
  article %s" message-id)))))))
  gnus-summary-refer-article("<87ttxil7k3.fsf@localhost>")
  eval-expression((gnus-summary-refer-article 
  "<87ttxil7k3.fsf@localhost>") nil nil 127)
  funcall-interactively(eval-expression 
  (gnus-summary-refer-article "<87ttxil7k3.fsf@localhost>") nil 
  nil 127)
  command-execute(eval-expression)

In GNU Emacs 30.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 
3.24.37, cairo
 version 1.16.0) of 2023-06-07 built on wks-210806-ln
Windowing system distributor 'The X.Org Foundation', version 
11.0.12101007
System Description: Debian GNU/Linux 12 (bookworm)

Configured using:
 'configure --prefix=/home/rcasenave/opt/emacs 
 --with-x-toolkit=gtk3
 --with-xwidgets --with-modules --with-mailutils 
 --with-native-compilation'
Configured features:
CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ 
JPEG JSON LCMS2
LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 M17N_FLT MODULES NATIVE_COMP 
NOTIFY INOTIFY
PDUMPER PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF 
TOOLKIT_SCROLL_BARS
TREE_SITTER WEBP X11 XDBE XIM XINPUT2 XPM XWIDGETS GTK3 ZLIB
Important settings:
  value of $LC_ALL: en_US.UTF-8
  value of $LANG: en_US.UTF-8
  value of $XMODIFIERS: @im=uim
  locale-coding-system: utf-8-unix

Major mode: Group

Minor modes in effect:
  dap-tooltip-mode: t
  dap-ui-many-windows-mode: t
  dap-ui-controls-mode: t
  dap-ui-mode: t
  treemacs-filewatch-mode: t
  treemacs-follow-mode: t
  treemacs-git-mode: t
  treemacs-fringe-indicator-mode: t
  dap-auto-configure-mode: t
  dap-mode: t
  gdb-many-windows: t
  global-git-commit-mode: t
  windmove-mode: t
  gnus-topic-mode: t
  gnus-desktop-notify-mode: t
  global-evil-surround-mode: t
  evil-surround-mode: t
  helm-descbinds-mode: t
  helm-mode: t
  helm-minibuffer-history-mode: t
  async-bytecomp-package-mode: t
  global-git-gutter-mode: t
  global-display-line-numbers-mode: t
  company-statistics-mode: t
  company-quickhelp-mode: t
  company-quickhelp-local-mode: t
  eval-sexp-fu-flash-mode: t
  yas-global-mode: t
  yas-minor-mode: t
  global-subword-mode: t
  subword-mode: t
  winner-mode: t
  global-spacemacs-whitespace-cleanup-mode: t
  spacemacs-whitespace-cleanup-mode: t
  ws-butler-global-mode: t
  ws-butler-mode: t
  winum-mode: t
  volatile-highlights-mode: t
  global-vi-tilde-fringe-mode: t
  unkillable-scratch: t
  global-undo-tree-mode: t
  projectile-mode: t
  gnus-undo-mode: t
  spaceline-info-mode: t
  spaceline-helm-mode: t
  shell-dirtrack-mode: t
  sly-symbol-completion-mode: t
  save-place-mode: t
  savehist-mode: t
  show-smartparens-global-mode: t
  flycheck-pos-tip-mode: t
  global-flycheck-mode: t
  rcirc-color-mode: t
  global-rainbow-identifiers-mode: t
  persp-mode: t
  persistent-scratch-autosave-mode: t
  Info-breadcrumbs-in-mode-line-mode: t
  global-hl-todo-mode: t
  eyebrowse-mode: t
  server-mode: t
  global-anzu-mode: t
  anzu-mode: t
  editorconfig-mode: t
  desktop-environment-mode: t
  clean-aindent-mode: t
  hybrid-mode: t
  which-key-mode: t
  evil-mode: t
  evil-local-mode: t
  spacemacs-leader-override-mode: t
  global-spacemacs-leader-override-mode: t
  minibuffer-depth-indicate-mode: t
  global-hl-line-mode: t
  xterm-mouse-mode: t
  global-auto-revert-mode: t
  recentf-mode: t
  override-global-mode: t
  ido-vertical-mode: t
  global-page-break-lines-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  global-prettify-symbols-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  buffer-read-only: 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/rcasenave/.emacs.d/elpa/30.0/develop/load-env-vars-20180511.2210/load-env-vars 
hides 
/home/rcasenave/.emacs.d/core/../core/libs/forks/load-env-vars
/home/rcasenave/.emacs.d/elpa/30.0/develop/spinner-1.7.4/spinner 
hides /home/rcasenave/.emacs.d/core/../core/libs/spinner
/home/rcasenave/.emacs.d/elpa/30.0/develop/transient-20230602.2121/transient 
hides /home/rcasenave/opt/emacs/share/emacs/30.0.50/lisp/transient
/home/rcasenave/.emacs.d/elpa/30.0/develop/flim-20230205.1423/sasl 
hides /home/rcasenave/opt/emacs/share/emacs/30.0.50/lisp/net/sasl
/home/rcasenave/.emacs.d/elpa/30.0/develop/hierarchy-20190425.842/hierarchy 
hides 
/home/rcasenave/opt/emacs/share/emacs/30.0.50/lisp/emacs-lisp/hierarchy

Features:
(unfill shadow emacsbug ffap avy cmake-mode smartparens-rst rst 
empc json-mode
json-snatcher smartparens-javascript js c-ts-common org-journal 
cal-move
yaml-mode nnmbox nnspool magit-extras mailalias flow-fill 
ecomplete tabify
messages-are-flowing gnus-search eieio-opt speedbar ezimage dframe
magit-gitignore evil-args whitespace helm-ls-git clang-format 
hideif helpful
cc-langs trace info-look elisp-refs cl-print sort gnus-cite 
shr-color mm-archive
mail-extr textsec uni-scripts idna-mapping ucs-normalize 
uni-confusable
textsec-check gnus-async gnus-bcklg qp gnus-ml mwim 
auto-highlight-symbol
all-the-icons all-the-icons-faces data-material data-weathericons 
data-octicons
data-fileicons data-faicons data-alltheicons helm-xref lsp-origami 
origami
origami-parsers flycheck-haskell flycheck-rust lsp-diagnostics 
lsp-headerline
lsp-icons lsp-modeline lsp-ui lsp-ui-flycheck lsp-ui-doc xwidget 
lsp-ui-imenu
lsp-ui-peek lsp-ui-sideline lsp-ui-util view lsp-zig lsp-tilt 
lsp-steep
lsp-svelte lsp-sqls lsp-ruby-syntax-tree lsp-ruby-lsp lsp-yaml 
lsp-xml
lsp-vimscript lsp-vhdl lsp-volar lsp-vetur lsp-html lsp-verilog 
lsp-vala lsp-v
lsp-typeprof lsp-ttcn3 lsp-toml lsp-terraform lsp-tex lsp-sorbet 
lsp-solargraph
lsp-semgrep lsp-rust lsp-rf lsp-ruff-lsp lsp-remark lsp-racket 
lsp-r
lsp-purescript lsp-python-ms lsp-pyright lsp-pylsp lsp-pyls 
lsp-pwsh lsp-php
lsp-pls lsp-perlnavigator lsp-perl lsp-openscad lsp-ocaml 
lsp-magik lsp-nix
lsp-nim lsp-nginx lsp-mint lsp-marksman lsp-markdown lsp-lua 
lsp-latex
lsp-kotlin lsp-json lsp-javascript lsp-idris lsp-haxe lsp-haskell 
lsp-groovy
lsp-hack lsp-graphql lsp-glsl lsp-gleam lsp-go lsp-completion 
lsp-gdscript
lsp-fsharp lsp-fortran lsp-eslint lsp-erlang lsp-emmet lsp-elixir 
lsp-elm
lsp-dockerfile lsp-dhall lsp-d lsp-css lsp-csharp lsp-crystal 
lsp-cmake
lsp-clojure lsp-semantic-tokens lsp-clangd lsp-beancount lsp-bash 
lsp-astro
lsp-ansible lsp-angular lsp-ada lsp-actionscript ccls 
ccls-member-hierarchy
ccls-inheritance-hierarchy ccls-call-hierarchy ccls-tree 
ccls-code-lens
ccls-semantic-highlight ccls-common dap-cpptools dap-utils 
dap-mouse dap-ui
lsp-treemacs lsp-treemacs-generic lsp-treemacs-themes 
treemacs-treelib 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-faces treemacs-icons treemacs-scope treemacs-themes 
treemacs-core-utils
pfuture treemacs-logging treemacs-customization treemacs-macros 
bui bui-list
bui-info bui-entry bui-core bui-history bui-button bui-utils 
lsp-lens dap-mode
dap-tasks dap-launch lsp-docker posframe dap-overlays lsp-mode 
lsp-protocol
inline ht company-c-headers cus-start gdb-mi bindat gud gravatar 
url-cache
emacsql-sqlite-builtin sqlite magit-delta magit-svn git-rebase
evil-collection-forge 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 smartparens-markdown markdown-mode 
forge-repo forge
forge-core forge-db closql emacsql-sqlite-common emacsql 
emacsql-compiler
evil-collection-magit magit-bookmark magit-submodule magit-blame 
magit-stash
magit-reflog magit-bisect magit-push magit-pull magit-fetch 
magit-clone
magit-remote magit-commit magit-sequence magit-notes 
magit-worktree magit-tag
magit-merge magit-branch magit-reset magit-files magit-refs 
magit-status magit
magit-repos magit-apply magit-wip magit-log which-func magit-diff 
smerge-mode
git-commit log-edit add-log magit-core magit-autorevert 
magit-margin
magit-transient magit-process magit-mode magit-git magit-base crm 
windmove
gnus-topic ement-room-list taxy-magit-section taxy svg-lib persist
ement-tabulated-room-list nnfolder utf-7 network-stream gnus-demon
gnus-desktop-notify alert log4e gntp gnus-delay gnus-draft 
gnus-agent gnus-srvr
gnus-score score-mode nnvirtual nntp gnus-cache gnus-msg nndraft 
nnmh cal-iso
epa-file password-store with-editor evil-surround misearch 
multi-isearch
conf-mode helm-x-files helm-for-files helm-bookmark helm-adaptive 
helm-external
helm-net tramp-sh evil-collection-vterm vterm term ehelp 
vterm-module term/xterm
xterm mule-util tramp-archive tramp-gvfs tramp-cache zeroconf 
helm-command
helm-elisp helm-eval edebug debug backtrace helm-info 
helm-descbinds helm-mode
helm-misc helm-files helm-buffers helm-occur helm-tags helm-locate 
helm-grep
helm-regexp helm-utils helm-help helm-types helm 
helm-global-bindings helm-core
async-bytecomp helm-source helm-multi-match helm-lib 
git-gutter-fringe
fringe-helper git-gutter display-line-numbers diary-lib 
diary-loaddefs org-eldoc
evil-org org-download org-attach org-sticky-header toc-org 
org-indent image-file
image-converter oc-basic ol-eww evil-collection-eww eww mm-url 
ol-rmail ol-mhe
ol-irc ol-info ol-gnus nnselect ol-docview ol-bibtex bibtex 
ol-bbdb ol-w3m
ol-doi org-link-doi org-habit org-crypt org-protocol 
org-annotate-file
org-superstar org-checklist company-statistics company-files 
company-keywords
company-etags company-gtags company-semantic company-template 
company-yasnippet
company-dabbrev-code company-dabbrev company-capf 
company-quickhelp company
eval-sexp-fu yasnippet-snippets vala-snippets yasnippet 
window-purpose-x
imenu-list cap-words superword subword winner tildify typo async 
diminish
ox-koma-letter org-depend org-jira org-jira-sdk jiralib request 
soap-client
rng-xsd xsd-regexp org-clock xterm-color xelb x86-lookup doc-view 
jka-compr
spacemacs-whitespace-cleanup ws-butler winum wdired wl-fldmgr 
wl-template
wl-demo wl-thread wl-action wl wl-draft wl-folder elmo-nntp 
elmo-net elmo-cache
elmo-map elmo-dop elmo-filter wl-summary wl-refile wl-message 
wl-mime mime-play
filename mime-edit mime-setup mail-mime-setup semi-setup 
mime-image wl-e21
wl-highlight invisible inv-23 elmo-mime mmelmo-buffer mmelmo-imap 
mmimap
mmbuffer mmgeneric mime-view mime-conf calist semi-def wl-address 
wl-util
wl-vars wl-version modb-generic elmo-flag elmo-localdir elmo 
elmo-signal
elmo-msgdb modb modb-entity elmo-date eword-encode mime-parse mime 
elmo-util
eword-decode mel mime-def alist pces pces-e20 pces-20 mcs-e20 
mcs-20 mcharset
timezone elmo-vars path-util elmo-version luna std11 pccl pccl-20 
broken static
apel-ver product volatile-highlights vi-tilde-fringe 
unkillable-scratch
persistent-soft list-utils pcache font-utils unicode-fonts 
undo-tree diff queue
symbol-overlay string-inflection steam smartparens-org 
org-re-reveal ox-odt
rng-loc rng-uri rng-parse rng-match rng-dt rng-util rng-pttrn 
nxml-parse nxml-ns
nxml-enc xmltok nxml-util ox-latex ox-icalendar org-contacts 
org-projectile
projectile grep ibuf-ext ibuffer ibuffer-loaddefs 
org-category-capture
org-capture gnus-art mm-uu mml2015 mm-view mml-smime smime dig 
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 gnus nnheader 
range org-agenda
ox-html table ox-ascii ox-jira ox-publish ox org-element 
org-persist org-id
org-refile org ob ob-tangle ob-ref ob-lob ob-table ob-exp 
org-macro org-src
ob-comint org-pcomplete org-list org-footnote org-faces 
org-entities
ob-emacs-lisp ob-core ob-eval org-cycle org-table ol org-fold 
org-fold-core
org-keys oc org-loaddefs cal-menu calendar cal-loaddefs 
org-version org-compat
org-macs spacemacs-xclipboard spaceline-config spaceline-segments 
spaceline
powerline powerline-separators powerline-themes smartparens-config
smartparens-text smartparens-haskell smartparens-c 
sly-repl-ansi-color
sly-quicklisp sly-named-readtables sly-macrostep macrostep 
sly-fancy sly-tramp
tramp tramp-loaddefs trampver tramp-integration files-x 
tramp-compat shell
pcomplete ls-lisp sly-indentation sly-cl-indent sly-stickers 
hi-lock
sly-trace-dialog sly-fontifying-fu sly-package-fu sly-scratch 
sly-fancy-trace
sly-fancy-inspector sly-mrepl sly-autodoc sly-parse sly 
sly-completion
sly-buttons sly-messages sly-common apropos arc-mode archive-mode 
hyperspec
saveplace savehist sauron cl restart-emacs desktop frameset 
erc-image
image-dired image-dired-tags image-dired-external image-dired-util 
xdg
image-mode exif overseer pkg-info url-http url-auth url-gw epl 
auto-compile
elisp-slime-nav flycheck-elsa flycheck-package package-lint finder
lisp-extra-font-lock goto-addr vc-hg vc-bzr vc-src vc-sccs vc-svn 
vc-cvs vc-rcs
log-view pcvs-util vc bug-reference evil-lisp-state smartparens 
loadhist
flycheck-pos-tip pos-tip flycheck-ledger flycheck find-func 
highlight-numbers
parent-mode highlight-parentheses hideshow rainbow-delimiters erc 
erc-backend
erc-networks erc-common erc-compat erc-loaddefs rcirc-styles 
rcirc-color
rcirc-notify rcirc parse-time iso8601 rainbow-identifiers 
protobuf-mode cc-mode
cc-fonts cc-guess cc-menus cc-cmds popwin persp-mode 
persistent-scratch
org-rich-yank nasm-mode imenu mozc mew-auth mew-config mew-imap2 
mew-imap
mew-nntp2 mew-nntp mew-pop mew-smtp nsm gnutls mew-ssl mew-ssh 
mew-net
mew-highlight mew-sort mew-fib mew-ext mew-refile mew-demo 
mew-attach mew-draft
mew-message mew-thread mew-virtual mew-summary4 mew-summary3 
mew-summary2
mew-summary mew-search mew-pick mew-passwd mew-scan mew-syntax 
mew-bq mew-smime
mew-pgp mew-header mew-exec mew-mark mew-mime mew-edit mew-decode 
mew-encode
mew-cache mew-minibuf mew-complete mew-addrbook mew-local 
mew-vars3 mew-vars2
mew-vars mew-env mew-mule3 mew-mule mew-gemacs mew-key mew-func 
mew-blvs
mew-const mew journalctl-mode array info+ hl-todo haskell-debug
haskell-interactive-mode haskell-presentation-mode haskell-compile 
haskell-mode
haskell-font-lock haskell-indentation haskell-sort-imports 
haskell-lexeme
haskell-align-imports haskell-complete-module haskell-ghc-support 
flymake-proc
flymake etags fileloop xref project compile comint ansi-osc 
dabbrev ansi-color
haskell-process haskell-string haskell-session haskell-customize 
haskell-cabal
haskell-utils gemini-mode time-stamp window-purpose 
window-purpose-fixes
window-purpose-prefix-overload window-purpose-switch let-alist
window-purpose-layout window-purpose-core 
window-purpose-configuration
window-purpose-utils eyebrowse 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 server 
evil-unimpaired f
f-shortdoc s evil-textobj-line evil-mc-extras evil-mc-extras-num 
evil-numbers
evil-mc evil-mc-command-execute evil-mc-command-record 
evil-mc-cursor-make
evil-mc-region evil-mc-cursor-state evil-mc-undo evil-mc-vars
evil-mc-known-commands evil-mc-common evil-easymotion 
evil-collection-dired
evil-collection-buff-menu evil-collection annalist evil-anzu anzu 
ement
ement-notify notifications ement-room transient face-remap ewoc 
ement-lib
ement-api ement-structs ement-macros magit-section dash 
cursor-sensor compat plz
dns elfeed-protocol-ttrss elfeed-protocol-owncloud 
elfeed-protocol-newsblur
elfeed-protocol-fever elfeed-protocol elfeed-protocol-common 
elfeed-show
elfeed-search vc-git diff-mode vc-dispatcher ebuild-mode skeleton 
sh-script smie
treesit executable insert-shebang open-junk-file matlab 
matlab-scan
matlab-syntax matlab-compat pulse bookmark message yank-media 
dired
dired-loaddefs rfc822 mml mml-sec epa gnus-util mailabbrev 
gmm-utils mailheader
shr text-property-search pixel-fill kinsoku puny svg dom 
elfeed-csv elfeed
elfeed-curl elfeed-log elfeed-db elfeed-lib time-date avl-tree 
generator
url-queue url-file xml-query editorconfig editorconfig-core
editorconfig-core-handle editorconfig-fnmatch noutline outline 
drag-stuff
desktop-environment dbus xml command-log-mode column-enforce-mode
clean-aindent-mode auth-source-pass asm-mode 
zenburn-theme-autoloads
yasnippet-snippets-autoloads yapfify-autoloads yaml-mode-autoloads
x86-lookup-autoloads ws-butler-autoloads writeroom-mode-autoloads
visual-fill-column-autoloads wolfram-mode-autoloads 
winum-autoloads
web-beautify-autoloads wanderlust-autoloads semi-autoloads 
flim-autoloads
oauth2-autoloads apel-autoloads volume-autoloads 
volatile-highlights-autoloads
vimrc-mode-autoloads vim-powerline-autoloads 
vi-tilde-fringe-autoloads
vala-snippets-autoloads vala-mode-autoloads cc-styles cc-align 
cc-engine cc-vars
cc-defs uuidgen-autoloads unkillable-scratch-autoloads 
unicode-fonts-autoloads
ucs-utils-autoloads font-utils-autoloads persistent-soft-autoloads
unfill-autoloads undo-tree-autoloads queue-autoloads 
typo-autoloads
toml-mode-autoloads toc-org-autoloads thrift-autoloads 
terminal-here-autoloads
term-cursor-autoloads systemd-autoloads symon-autoloads 
symbol-overlay-autoloads
string-inflection-autoloads string-edit-at-point-autoloads 
steam-autoloads
stan-mode-autoloads sphinx-doc-autoloads 
spacemacs-whitespace-cleanup-autoloads
spacemacs-purpose-popwin-autoloads spaceline-autoloads 
powerline-autoloads
space-doc-autoloads smeargle-autoloads 
sly-repl-ansi-color-autoloads
sly-quicklisp-autoloads sly-named-readtables-autoloads 
sly-macrostep-autoloads
sly-autoloads shfmt-autoloads reformatter-autoloads 
shell-pop-autoloads
seeing-is-believing-autoloads scad-mode-autoloads sauron-autoloads
sailfish-scratchbox-autoloads rvm-autoloads rust-mode-autoloads
ruby-tools-autoloads ruby-test-mode-autoloads 
ruby-refactor-autoloads
ruby-hash-syntax-autoloads rubocopfmt-autoloads rubocop-autoloads
rspec-mode-autoloads ron-mode-autoloads robe-autoloads 
restart-emacs-autoloads
rcirc-styles-autoloads rcirc-notify-autoloads 
rcirc-color-autoloads
rbenv-autoloads rake-autoloads rainbow-mode-autoloads
rainbow-identifiers-autoloads rainbow-delimiters-autoloads 
quickrun-autoloads
qml-mode-autoloads pytest-autoloads pylookup-autoloads 
pyenv-mode-autoloads
pydoc-autoloads py-isort-autoloads protobuf-mode-autoloads 
prettier-js-autoloads
powershell-autoloads popwin-autoloads poetry-autoloads 
pkgbuild-mode-autoloads
pippel-autoloads pipenv-autoloads load-env-vars-autoloads 
pyvenv-autoloads
pip-requirements-autoloads persp-mode-autoloads 
persistent-scratch-autoloads
pdf-view-restore-autoloads pdf-tools-autoloads tablist-autoloads
password-store-otp-autoloads password-generator-autoloads 
paradox-autoloads
ox-jira-autoloads overseer-autoloads orgit-forge-autoloads 
orgit-autoloads
org-vcard-autoloads org-superstar-autoloads 
org-sticky-header-autoloads
org-rich-yank-autoloads org-re-reveal-autoloads 
org-projectile-autoloads
org-category-capture-autoloads org-present-autoloads 
org-pomodoro-autoloads
alert-autoloads log4e-autoloads gntp-autoloads org-mime-autoloads
org-journal-autoloads org-jira-autoloads org-download-autoloads
org-contrib-autoloads org-contacts-autoloads 
org-cliplink-autoloads
org-caldav-autoloads openwith-autoloads opencl-mode-autoloads
open-junk-file-autoloads npm-mode-autoloads nose-autoloads 
nodejs-repl-autoloads
neotree-autoloads nasm-mode-autoloads nameless-autoloads 
mwim-autoloads
multi-vterm-autoloads vterm-autoloads multi-term-autoloads 
multi-line-autoloads
shut-up-autoloads mozc-autoloads mmm-mode-autoloads 
minitest-autoloads
mew-autoloads messages-are-flowing-autoloads matlab-mode-autoloads
markdown-toc-autoloads magit-svn-autoloads magit-delta-autoloads
xterm-color-autoloads magic-latex-buffer-autoloads 
macrostep-autoloads
lsp-ui-autoloads lsp-python-ms-autoloads lsp-pyright-autoloads
lsp-origami-autoloads origami-autoloads lsp-latex-autoloads
lsp-haskell-autoloads lorem-ipsum-autoloads logcat-autoloads
livid-mode-autoloads skewer-mode-autoloads simple-httpd-autoloads
live-py-mode-autoloads lisp-extra-font-lock-autoloads 
link-hint-autoloads
json-reformat-autoloads json-navigator-autoloads 
hierarchy-autoloads
json-mode-autoloads json-snatcher-autoloads js2-refactor-autoloads
multiple-cursors-autoloads js2-mode-autoloads js-doc-autoloads
journalctl-mode-autoloads jabber-autoloads srv-autoloads 
fsm-autoloads
inspector-autoloads insert-shebang-autoloads info+-autoloads
indent-guide-autoloads importmagic-autoloads epc-autoloads 
ctable-autoloads
concurrent-autoloads hungry-delete-autoloads htmlize-autoloads
hoon-mode-autoloads hlint-refactor-autoloads hl-todo-autoloads 
hindent-autoloads
highlight-parentheses-autoloads highlight-numbers-autoloads
parent-mode-autoloads highlight-indentation-autoloads 
hide-comnt-autoloads
helpful-autoloads elisp-refs-autoloads help-fns+-autoloads 
helm-xref-autoloads
helm-themes-autoloads helm-swoop-autoloads helm-rtags-autoloads
helm-pydoc-autoloads helm-purpose-autoloads 
window-purpose-autoloads
imenu-list-autoloads helm-projectile-autoloads helm-pass-autoloads
password-store-autoloads helm-org-rifle-autoloads 
helm-org-autoloads
helm-easymenu helm-mode-manager-autoloads helm-make-autoloads 
helm-lsp-autoloads
helm-ls-git-autoloads helm-hoogle-autoloads helm-gtags-autoloads
helm-git-grep-autoloads helm-descbinds-autoloads 
helm-ctest-autoloads
helm-company-autoloads helm-c-yasnippet-autoloads 
helm-ag-autoloads
haskell-snippets-autoloads groovy-mode-autoloads 
groovy-imports-autoloads
pcache-autoloads google-translate-autoloads 
google-c-style-autoloads
golden-ratio-autoloads gnus-desktop-notify-autoloads 
gnuplot-autoloads
glsl-mode-autoloads gitignore-templates-autoloads 
git-timemachine-autoloads
git-modes-autoloads git-messenger-autoloads git-link-autoloads
git-gutter-fringe-autoloads fringe-helper-autoloads 
git-gutter-autoloads
gh-md-autoloads ggtags-autoloads gendoxy-autoloads 
gemini-mode-autoloads
geiser-autoloads fuzzy-autoloads forge-autoloads magit-autoloads
git-commit-autoloads with-editor-autoloads ghub-autoloads 
treepy-autoloads
closql-autoloads emacsql-autoloads flyspell-correct-helm-autoloads
flyspell-correct-autoloads flycheck-ycmd-autoloads 
flycheck-rust-autoloads
flycheck-rtags-autoloads flycheck-pos-tip-autoloads 
flycheck-package-autoloads
package-lint-autoloads flycheck-ledger-autoloads 
flycheck-haskell-autoloads
haskell-mode-autoloads flycheck-elsa-autoloads 
flycheck-bashate-autoloads
flx-ido-autoloads flx-autoloads fish-mode-autoloads 
fancy-battery-autoloads
eyebrowse-autoloads exwm-autoloads xelb-autoloads 
expand-region-autoloads
evil-visualstar-autoloads evil-visual-mark-mode-autoloads
evil-unimpaired-autoloads evil-tutor-autoloads 
evil-textobj-line-autoloads
evil-tex-autoloads evil-surround-autoloads evil-org-autoloads
evil-nerd-commenter-autoloads evil-mc-extras-autoloads 
evil-numbers-autoloads
evil-mc-autoloads evil-matchit-autoloads evil-lisp-state-autoloads
evil-lion-autoloads evil-ledger-autoloads ledger-mode-autoloads
evil-indent-plus-autoloads evil-iedit-state-autoloads 
evil-goggles-autoloads
evil-exchange-autoloads evil-easymotion-autoloads 
evil-collection-autoloads
annalist-autoloads evil-cleverparens-autoloads 
smartparens-autoloads
evil-args-autoloads evil-anzu-autoloads anzu-autoloads 
eval-sexp-fu-autoloads
eshell-z-autoloads eshell-prompt-extras-autoloads 
esh-help-autoloads
erc-image-autoloads engine-mode-autoloads emr-autoloads 
iedit-autoloads
projectile-autoloads paredit-autoloads list-utils-autoloads 
ement-autoloads
transient-autoloads svg-lib-autoloads taxy-magit-section-autoloads
magit-section-autoloads compat-autoloads taxy-autoloads 
plz-autoloads
persist-autoloads elisp-slime-nav-autoloads elisp-def-autoloads
elfeed-protocol-autoloads elfeed-autoloads editorconfig-autoloads
ebuild-mode-autoloads dumb-jump-autoloads drag-stuff-autoloads
disaster-autoloads dired-quick-sort-autoloads 
dired-atool-autoloads
devdocs-autoloads desktop-environment-autoloads 
define-word-autoloads
dap-mode-autoloads lsp-docker-autoloads yaml-autoloads 
lsp-treemacs-autoloads
treemacs-autoloads cfrs-autoloads posframe-autoloads 
pfuture-autoloads
bui-autoloads dante-autoloads lcr-autoloads flycheck-autoloads
dactyl-mode-autoloads cython-mode-autoloads cuda-mode-autoloads
csv-mode-autoloads cpp-auto-include-autoloads 
company-ycmd-autoloads
ycmd-autoloads pkg-info-autoloads epl-autoloads 
request-deferred-autoloads
request-autoloads deferred-autoloads company-statistics-autoloads
company-shell-autoloads company-rtags-autoloads rtags-autoloads
company-reftex-autoloads company-quickhelp-autoloads 
pos-tip-autoloads
company-math-autoloads math-symbol-lists-autoloads 
company-cabal-autoloads
company-c-headers-autoloads company-auctex-autoloads 
company-anaconda-autoloads
command-log-mode-autoloads column-enforce-mode-autoloads
color-identifiers-mode-autoloads code-cells-autoloads 
cmm-mode-autoloads
cmake-mode-autoloads clean-aindent-mode-autoloads 
clang-format-autoloads
chruby-autoloads centered-cursor-mode-autoloads ccls-autoloads
lsp-mode-autoloads cargo-autoloads markdown-mode-autoloads 
bundler-autoloads
inf-ruby-autoloads browse-at-remote-autoloads bmx-mode-autoloads
company-autoloads blacken-autoloads auto-yasnippet-autoloads 
yasnippet-autoloads
auto-highlight-symbol-autoloads ht-autoloads 
auto-dictionary-autoloads
auto-compile-autoloads auctex-autoloads tex-site attrap-autoloads
arduino-mode-autoloads ede/auto eieio-base spinner-autoloads
anaconda-mode-autoloads pythonic-autoloads f-autoloads 
dash-autoloads
s-autoloads all-the-icons-autoloads aggressive-indent-autoloads
ace-window-autoloads ace-link-autoloads 
ace-jump-helm-line-autoloads
helm-autoloads helm-core-autoloads avy-autoloads 
ac-ispell-autoloads
auto-complete-autoloads popup-autoloads hybrid-mode 
evil-evilified-state
pcre2el-autoloads hybrid-mode-autoloads holy-mode-autoloads
evil-evilified-state-autoloads dotenv-mode-autoloads which-key 
hydra lv evil
evil-integration evil-maps evil-commands reveal evil-jumps 
evil-command-window
evil-search evil-ex evil-types evil-macros evil-repeat evil-states 
evil-core
evil-common thingatpt rect evil-digraphs evil-vars ring bind-map
which-key-autoloads hydra-autoloads lv-autoloads info 
evil-autoloads
goto-chg-autoloads diminish-autoloads bind-map-autoloads 
async-autoloads quelpa
mm-decode mm-bodies mm-encode mail-parse rfc2231 lisp-mnt help-fns 
radix-tree
smtpmail sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr 
mail-utils
mb-depth avoid hl-line xt-mouse autorevert filenotify comp 
comp-cstr rx edmacro
kmacro cl-extra disp-table recentf tree-widget 
solarized-light-theme solarized
solarized-faces color solarized-theme-autoloads format-spec 
finder-inf
use-package use-package-ensure use-package-delight 
use-package-diminish
use-package-bind-key bind-key use-package-core ido-vertical-mode 
ido
core-spacemacs core-use-package-ext core-spacebind 
core-transient-state
core-micro-state core-toggle core-keybindings core-fonts-support
core-themes-support core-display-init core-jump 
core-release-management
core-custom-settings core-configuration-layer core-progress-bar
core-spacemacs-buffer core-funcs easy-mmode spacemacs-ht help-mode 
warnings
package browse-url url url-proxy url-privacy url-expand 
url-methods url-history
url-cookie generate-lisp-file url-domsuf url-util mailcap 
url-handlers url-parse
auth-source cl-seq password-cache json map url-vars eieio byte-opt 
eieio-core
epg rfc6068 epg-config core-command-line core-debug derived 
core-hooks
page-break-lines core-env load-env-vars core-dotspacemacs advice
core-customization validate cus-edit pp cus-load icons wid-edit
core-emacs-backports core-compilation pcase bytecomp byte-compile 
subr-x
core-dumper cl-macs gv cl-loaddefs cl-lib spinner core-versions 
core-load-paths
core-early-funcs 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 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
xwidget-internal dbusbind inotify lcms2 dynamic-setting 
system-font-setting
font-render-setting cairo move-toolbar gtk x-toolkit xinput2 x 
multi-tty
make-network-process native-compile emacs)

Memory information:
((conses 16 13987362 3372401)
 (symbols 48 618901 17)
 (strings 32 1829611 162666)
 (string-bytes 1 97398235)
 (vectors 16 595045)
 (vector-slots 8 10818452 3062141)
 (floats 8 5198 99588)
 (intervals 56 1123606 68826)
 (buffers 984 229))

-- 
Renaud Casenave-Péré