bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#49897: 28.0.50; [PATCH] Make sense of url-retrieve-synchronously


From: dick . r . chiang
Subject: bug#49897: 28.0.50; [PATCH] Make sense of url-retrieve-synchronously
Date: Thu, 05 Aug 2021 12:46:59 -0400
User-agent: Gnus/5.14 (Gnus v5.14pre) Emacs/28.0.50 (gnu/linux)

>From b560aa029810dcfdee278b4b3614c938d996fa6c Mon Sep 17 00:00:00 2001
From: dickmao <none>
Date: Thu, 5 Aug 2021 12:41:39 -0400
Subject: [PATCH] Rationalize url-retrieve-synchronously

It's impossible to reason about this function without the
conveniences of throw-catch and unwind-protect.  Related bug#49861.

* lisp/url/url.el (url-retrieve-synchronously):
Accept-process-output on a null process.  That
is the safer, more conventional way of achieving
non-blocking sleep-for.
---
 lisp/url/url.el | 125 ++++++++++++++++++------------------------------
 1 file changed, 46 insertions(+), 79 deletions(-)

diff --git a/lisp/url/url.el b/lisp/url/url.el
index a6565e2cdb..be66510dd8 100644
--- a/lisp/url/url.el
+++ b/lisp/url/url.el
@@ -235,85 +235,52 @@ url-retrieve-synchronously
 TIMEOUT is passed, it should be a number that says (in seconds)
 how long to wait for a response before giving up."
   (url-do-setup)
-
-  (let ((retrieval-done nil)
-       (start-time (current-time))
-        (url-asynchronous nil)
-        (asynch-buffer nil)
-        (timed-out nil))
-    (setq asynch-buffer
-         (url-retrieve url (lambda (&rest ignored)
-                             (url-debug 'retrieval "Synchronous fetching done 
(%S)" (current-buffer))
-                             (setq retrieval-done t
-                                   asynch-buffer (current-buffer)))
-                       nil silent inhibit-cookies))
-    (if (null asynch-buffer)
-        ;; We do not need to do anything, it was a mailto or something
-        ;; similar that takes processing completely outside of the URL
-        ;; package.
-        nil
-      (let ((proc (get-buffer-process asynch-buffer)))
-       ;; If the access method was synchronous, `retrieval-done' should
-       ;; hopefully already be set to t.  If it is nil, and `proc' is also
-       ;; nil, it implies that the async process is not running in
-       ;; asynch-buffer.  This happens e.g. for FTP files.  In such a case
-       ;; url-file.el should probably set something like a `url-process'
-       ;; buffer-local variable so we can find the exact process that we
-       ;; should be waiting for.  In the mean time, we'll just wait for any
-       ;; process output.
-       (while (and (not retrieval-done)
-                    (or (not timeout)
-                       (not (setq timed-out
-                                   (time-less-p timeout
-                                                (time-since start-time))))))
-         (url-debug 'retrieval
-                    "Spinning in url-retrieve-synchronously: %S (%S)"
-                    retrieval-done asynch-buffer)
-          (if (buffer-local-value 'url-redirect-buffer asynch-buffer)
-              (setq proc (get-buffer-process
-                          (setq asynch-buffer
-                                (buffer-local-value 'url-redirect-buffer
-                                                    asynch-buffer))))
-            (if (and proc (memq (process-status proc)
-                                '(closed exit signal failed))
-                     ;; Make sure another process hasn't been started.
-                     (eq proc (or (get-buffer-process asynch-buffer) proc)))
-                ;; FIXME: It's not clear whether url-retrieve's callback is
-                ;; guaranteed to be called or not.  It seems that url-http
-                ;; decides sometimes consciously not to call it, so it's not
-                ;; clear that it's a bug, but even then we need to decide how
-                ;; url-http can then warn us that the download has completed.
-                ;; In the mean time, we use this here workaround.
-               ;; XXX: The callback must always be called.  Any
-               ;; exception is a bug that should be fixed, not worked
-               ;; around.
-               (progn ;; Call delete-process so we run any sentinel now.
-                 (delete-process proc)
-                 (setq retrieval-done t)))
-            ;; We used to use `sit-for' here, but in some cases it wouldn't
-            ;; work because apparently pending keyboard input would always
-            ;; interrupt it before it got a chance to handle process input.
-            ;; `sleep-for' was tried but it lead to other forms of
-            ;; hanging.  --Stef
-            (unless (or (with-local-quit
-                         (accept-process-output proc 1))
-                       (null proc))
-              ;; accept-process-output returned nil, maybe because the process
-              ;; exited (and may have been replaced with another).  If we got
-             ;; a quit, just stop.
-             (when quit-flag
-               (delete-process proc))
-              (setq proc (and (not quit-flag)
-                             (get-buffer-process asynch-buffer))))))
-        ;; On timeouts, make sure we kill any pending processes.
-        ;; There may be more than one if we had a redirect.
-        (when timed-out
-          (when (process-live-p proc)
-            (delete-process proc))
-          (when-let ((aproc (get-buffer-process asynch-buffer)))
-            (when (process-live-p aproc)
-              (delete-process aproc))))))
-    asynch-buffer))
+  (let* (url-asynchronous
+         data-buffer
+         (callback (lambda (&rest _args)
+                     (setq data-buffer (current-buffer))
+                     (url-debug 'retrieval
+                                "Synchronous fetching done (%S)"
+                                data-buffer))))
+    (if-let ((start-time (current-time))
+             (proc-buffer (url-retrieve url callback nil silent 
inhibit-cookies)))
+        (unwind-protect
+            (catch 'done
+              (while (not data-buffer)
+                (when (and timeout (time-less-p timeout (time-since 
start-time)))
+                  (url-debug 'retrieval "Timed out %s (after %ss)" url
+                             (float-time (time-since start-time)))
+                  (throw 'done 'timeout))
+               (url-debug 'retrieval
+                          "Spinning in url-retrieve-synchronously: nil (%S)"
+                          proc-buffer)
+                (when-let ((redirect-buffer (buffer-local-value
+                                             'url-redirect-buffer
+                                             proc-buffer)))
+                  (unless (eq redirect-buffer proc-buffer)
+                    (url-debug 'retrieval
+                              "Redirect in url-retrieve-synchronously: %S -> 
%S"
+                              proc-buffer redirect-buffer)
+                    (let (kill-buffer-query-functions)
+                      (kill-buffer proc-buffer))
+                    ;; Accommodate self-admitted hack in commit 55d1d8b
+                    (setq proc-buffer redirect-buffer)))
+                (when-let ((proc (get-buffer-process proc-buffer)))
+                  (when (memq (process-status proc)
+                              '(closed exit signal failed))
+                    ;; Process sentinel vagaries occasionally cause
+                    ;; url-retrieve to fail calling callback.
+                    (unless data-buffer
+                      (url-debug 'retrieval "Dead process %s" url)
+                     (throw 'done 'exception))))
+                ;; Querying over consumer internet in the US takes 100 ms,
+                ;; so split the difference.
+                (accept-process-output nil 0.05)))
+          (unless (eq data-buffer proc-buffer)
+            (let (kill-buffer-query-functions)
+              (kill-buffer proc-buffer))))
+      (url-debug 'retrieval "Synchronous fetching unnecessary %s" url))
+    data-buffer))
 
 ;; url-mm-callback called from url-mm, which requires mm-decode.
 (declare-function mm-dissect-buffer "mm-decode"
-- 
2.26.2



In GNU Emacs 28.0.50 (build 4, x86_64-pc-linux-gnu, GTK+ Version 3.22.30, cairo 
version 1.15.10)
 of 2021-08-05 built on dick
Repository revision: a9709f95a1a9c0f32227f9458bfe6410fccde0aa
Repository branch: el-gz
Windowing system distributor 'The X.Org Foundation', version 11.0.11906000
System Description: Ubuntu 18.04.4 LTS

Configured using:
 'configure --prefix=/home/dick/.local
 PKG_CONFIG_PATH=/home/dick/.local/lib/pkgconfig'
Configured features:
CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GSETTINGS HARFBUZZ JPEG JSON LCMS2
LIBSELINUX LIBXML2 MODULES NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND
THREADS TIFF TOOLKIT_SCROLL_BARS X11 XDBE XIM XPM GTK3 ZLIB
Important settings:
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Magit Log

Minor modes in effect:
  async-bytecomp-package-mode: t
  global-git-commit-mode: t
  magit-auto-revert-mode: t
  show-paren-mode: t
  projectile-mode: t
  flx-ido-mode: t
  override-global-mode: t
  shell-dirtrack-mode: t
  global-hl-line-mode: t
  winner-mode: t
  tooltip-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  buffer-read-only: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t

Load-path shadows:
/home/dick/ESS/lisp/obsolete/ess-swv hides /home/dick/ESS/lisp/ess-swv
/home/dick/ESS/lisp/obsolete/ess-rutils hides /home/dick/ESS/lisp/ess-rutils
/home/dick/ESS/lisp/obsolete/ess-noweb hides /home/dick/ESS/lisp/ess-noweb
/home/dick/ESS/lisp/obsolete/mouseme hides /home/dick/ESS/lisp/mouseme
/home/dick/ESS/lisp/obsolete/ess-mouse hides /home/dick/ESS/lisp/ess-mouse
/home/dick/ESS/lisp/obsolete/ess-noweb-mode hides 
/home/dick/ESS/lisp/ess-noweb-mode
/home/dick/ESS/lisp/obsolete/make-regexp hides /home/dick/ESS/lisp/make-regexp
/home/dick/ESS/lisp/obsolete/ess-r-a hides /home/dick/ESS/lisp/ess-r-a
/home/dick/ESS/lisp/obsolete/ess-noweb-font-lock-mode hides 
/home/dick/ESS/lisp/ess-noweb-font-lock-mode
/home/dick/gomacro-mode/gomacro-mode hides 
/home/dick/.emacs.d/elpa/gomacro-mode-20200326.1103/gomacro-mode
/home/dick/ESS/lisp/julia-mode hides 
/home/dick/.emacs.d/elpa/julia-mode-20200717.1915/julia-mode
/home/dick/ESS/lisp/julia-mode-latexsubs hides 
/home/dick/.emacs.d/elpa/julia-mode-20200717.1915/julia-mode-latexsubs
/home/dick/.emacs.d/elpa/hydra-20170924.2259/lv hides 
/home/dick/.emacs.d/elpa/lv-20191106.1238/lv
/home/dick/.emacs.d/elpa/gnus-5.14pre/ol-gnus hides 
/home/dick/.emacs.d/elpa/org-9.4.5/ol-gnus
/home/dick/org-gcal.el/org-gcal hides 
/home/dick/.emacs.d/elpa/org-gcal-0.3/org-gcal
/home/dick/.emacs.d/lisp/json hides 
/home/dick/.local/share/emacs/28.0.50/lisp/json
/home/dick/.emacs.d/elpa/transient-0.3.6/transient hides 
/home/dick/.local/share/emacs/28.0.50/lisp/transient
/home/dick/.emacs.d/elpa/org-9.4.5/ob-eval hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/ob-eval
/home/dick/.emacs.d/elpa/org-9.4.5/ob-perl hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/ob-perl
/home/dick/.emacs.d/elpa/org-9.4.5/ob-eshell hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/ob-eshell
/home/dick/.emacs.d/elpa/org-9.4.5/ob-abc hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/ob-abc
/home/dick/.emacs.d/elpa/org-9.4.5/ob-tangle hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/ob-tangle
/home/dick/.emacs.d/elpa/org-9.4.5/ob-vala hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/ob-vala
/home/dick/.emacs.d/elpa/org-9.4.5/org-attach-git hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/org-attach-git
/home/dick/.emacs.d/elpa/org-9.4.5/org-ctags hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/org-ctags
/home/dick/.emacs.d/elpa/org-9.4.5/ob-table hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/ob-table
/home/dick/.emacs.d/elpa/org-9.4.5/org-element hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/org-element
/home/dick/.emacs.d/elpa/org-9.4.5/org-colview hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/org-colview
/home/dick/.emacs.d/elpa/org-9.4.5/ol-mhe hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/ol-mhe
/home/dick/.emacs.d/elpa/org-9.4.5/ob-stan hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/ob-stan
/home/dick/.emacs.d/elpa/org-9.4.5/org-table hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/org-table
/home/dick/.emacs.d/elpa/org-9.4.5/org-keys hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/org-keys
/home/dick/.emacs.d/elpa/org-9.4.5/ol hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/ol
/home/dick/.emacs.d/elpa/org-9.4.5/ob-dot hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/ob-dot
/home/dick/.emacs.d/elpa/org-9.4.5/ob-js hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/ob-js
/home/dick/.emacs.d/elpa/org-9.4.5/ob-clojure hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/ob-clojure
/home/dick/.emacs.d/elpa/org-9.4.5/ob-fortran hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/ob-fortran
/home/dick/.emacs.d/elpa/org-9.4.5/org-refile hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/org-refile
/home/dick/.emacs.d/elpa/org-9.4.5/org-clock hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/org-clock
/home/dick/.emacs.d/elpa/org-9.4.5/ob-sql hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/ob-sql
/home/dick/.emacs.d/elpa/org-9.4.5/ob-exp hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/ob-exp
/home/dick/.emacs.d/elpa/org-9.4.5/ob-asymptote hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/ob-asymptote
/home/dick/.emacs.d/elpa/org-9.4.5/ob-org hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/ob-org
/home/dick/.emacs.d/elpa/org-9.4.5/org-compat hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/org-compat
/home/dick/.emacs.d/elpa/org-9.4.5/ob-python hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/ob-python
/home/dick/.emacs.d/elpa/org-9.4.5/ob-ref hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/ob-ref
/home/dick/.emacs.d/elpa/org-9.4.5/ox hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/ox
/home/dick/.emacs.d/elpa/org-9.4.5/ob-C hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/ob-C
/home/dick/.emacs.d/elpa/org-9.4.5/ol-info hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/ol-info
/home/dick/.emacs.d/elpa/org-9.4.5/org-tempo hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/org-tempo
/home/dick/.emacs.d/elpa/org-9.4.5/ox-md hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/ox-md
/home/dick/.emacs.d/elpa/org-9.4.5/ob-screen hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/ob-screen
/home/dick/.emacs.d/elpa/org-9.4.5/ob-lisp hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/ob-lisp
/home/dick/.emacs.d/elpa/org-9.4.5/ob-lua hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/ob-lua
/home/dick/.emacs.d/elpa/org-9.4.5/ob-matlab hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/ob-matlab
/home/dick/.emacs.d/elpa/org-9.4.5/org-list hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/org-list
/home/dick/.emacs.d/elpa/org-9.4.5/ob-groovy hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/ob-groovy
/home/dick/.emacs.d/elpa/org-9.4.5/ol-docview hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/ol-docview
/home/dick/.emacs.d/elpa/org-9.4.5/ob-ebnf hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/ob-ebnf
/home/dick/.emacs.d/elpa/org-9.4.5/ob-forth hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/ob-forth
/home/dick/.emacs.d/elpa/org-9.4.5/ox-html hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/ox-html
/home/dick/.emacs.d/elpa/org-9.4.5/ob-io hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/ob-io
/home/dick/.emacs.d/elpa/org-9.4.5/org-faces hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/org-faces
/home/dick/.emacs.d/elpa/org-9.4.5/ob-emacs-lisp hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/ob-emacs-lisp
/home/dick/.emacs.d/elpa/org-9.4.5/ob-ocaml hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/ob-ocaml
/home/dick/.emacs.d/elpa/org-9.4.5/ol-bbdb hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/ol-bbdb
/home/dick/.emacs.d/elpa/org-9.4.5/org-lint hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/org-lint
/home/dick/.emacs.d/elpa/org-9.4.5/ob-shen hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/ob-shen
/home/dick/.emacs.d/elpa/org-9.4.5/org-loaddefs hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/org-loaddefs
/home/dick/.emacs.d/elpa/org-9.4.5/ob-scheme hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/ob-scheme
/home/dick/.emacs.d/elpa/org-9.4.5/org-protocol hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/org-protocol
/home/dick/.emacs.d/elpa/org-9.4.5/ob-maxima hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/ob-maxima
/home/dick/.emacs.d/elpa/org-9.4.5/ox-latex hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/ox-latex
/home/dick/.emacs.d/elpa/org-9.4.5/ob-mscgen hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/ob-mscgen
/home/dick/.emacs.d/elpa/org-9.4.5/ob-R hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/ob-R
/home/dick/.emacs.d/elpa/org-9.4.5/ob-sed hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/ob-sed
/home/dick/.emacs.d/elpa/org-9.4.5/org hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/org
/home/dick/.emacs.d/elpa/org-9.4.5/org-plot hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/org-plot
/home/dick/.emacs.d/elpa/org-9.4.5/ox-beamer hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/ox-beamer
/home/dick/.emacs.d/elpa/org-9.4.5/org-pcomplete hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/org-pcomplete
/home/dick/.emacs.d/elpa/org-9.4.5/ob-plantuml hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/ob-plantuml
/home/dick/.emacs.d/elpa/org-9.4.5/ox-publish hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/ox-publish
/home/dick/.emacs.d/elpa/org-9.4.5/ob-java hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/ob-java
/home/dick/.emacs.d/elpa/org-9.4.5/ol-eww hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/ol-eww
/home/dick/.emacs.d/elpa/org-9.4.5/org-macs hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/org-macs
/home/dick/.emacs.d/elpa/org-9.4.5/ol-eshell hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/ol-eshell
/home/dick/.emacs.d/elpa/org-9.4.5/org-src hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/org-src
/home/dick/.emacs.d/elpa/org-9.4.5/ol-rmail hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/ol-rmail
/home/dick/.emacs.d/elpa/org-9.4.5/org-datetree hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/org-datetree
/home/dick/.emacs.d/elpa/org-9.4.5/ob-J hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/ob-J
/home/dick/.emacs.d/elpa/org-9.4.5/ob-shell hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/ob-shell
/home/dick/.emacs.d/elpa/org-9.4.5/org-archive hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/org-archive
/home/dick/.emacs.d/elpa/org-9.4.5/org-habit hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/org-habit
/home/dick/.emacs.d/elpa/org-9.4.5/ob-picolisp hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/ob-picolisp
/home/dick/.emacs.d/elpa/org-9.4.5/org-capture hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/org-capture
/home/dick/.emacs.d/elpa/org-9.4.5/ob-core hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/ob-core
/home/dick/.emacs.d/elpa/org-9.4.5/ob-octave hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/ob-octave
/home/dick/.emacs.d/elpa/org-9.4.5/org-mobile hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/org-mobile
/home/dick/.emacs.d/elpa/org-9.4.5/ol-bibtex hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/ol-bibtex
/home/dick/.emacs.d/elpa/org-9.4.5/org-goto hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/org-goto
/home/dick/.emacs.d/elpa/org-9.4.5/ox-odt hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/ox-odt
/home/dick/.emacs.d/elpa/org-9.4.5/ob-calc hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/ob-calc
/home/dick/.emacs.d/elpa/org-9.4.5/ob-gnuplot hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/ob-gnuplot
/home/dick/.emacs.d/elpa/org-9.4.5/org-macro hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/org-macro
/home/dick/.emacs.d/elpa/org-9.4.5/ob hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/ob
/home/dick/.emacs.d/elpa/org-9.4.5/ob-comint hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/ob-comint
/home/dick/.emacs.d/elpa/org-9.4.5/ob-ditaa hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/ob-ditaa
/home/dick/.emacs.d/elpa/org-9.4.5/org-duration hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/org-duration
/home/dick/.emacs.d/elpa/org-9.4.5/org-entities hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/org-entities
/home/dick/.emacs.d/elpa/org-9.4.5/org-agenda hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/org-agenda
/home/dick/.emacs.d/elpa/org-9.4.5/ox-ascii hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/ox-ascii
/home/dick/.emacs.d/elpa/org-9.4.5/org-num hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/org-num
/home/dick/.emacs.d/elpa/org-9.4.5/ob-awk hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/ob-awk
/home/dick/.emacs.d/elpa/org-9.4.5/ob-ruby hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/ob-ruby
/home/dick/.emacs.d/elpa/org-9.4.5/ox-man hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/ox-man
/home/dick/.emacs.d/elpa/org-9.4.5/ob-sqlite hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/ob-sqlite
/home/dick/.emacs.d/elpa/gnus-5.14pre/ol-gnus hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/ol-gnus
/home/dick/.emacs.d/elpa/org-9.4.5/org-attach hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/org-attach
/home/dick/.emacs.d/elpa/org-9.4.5/org-inlinetask hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/org-inlinetask
/home/dick/.emacs.d/elpa/org-9.4.5/ob-coq hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/ob-coq
/home/dick/.emacs.d/elpa/org-9.4.5/org-feed hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/org-feed
/home/dick/.emacs.d/elpa/org-9.4.5/ob-hledger hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/ob-hledger
/home/dick/.emacs.d/elpa/org-9.4.5/org-crypt hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/org-crypt
/home/dick/.emacs.d/elpa/org-9.4.5/ol-irc hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/ol-irc
/home/dick/.emacs.d/elpa/org-9.4.5/ob-css hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/ob-css
/home/dick/.emacs.d/elpa/org-9.4.5/ob-haskell hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/ob-haskell
/home/dick/.emacs.d/elpa/org-9.4.5/org-footnote hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/org-footnote
/home/dick/.emacs.d/elpa/org-9.4.5/org-indent hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/org-indent
/home/dick/.emacs.d/elpa/org-9.4.5/ox-icalendar hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/ox-icalendar
/home/dick/.emacs.d/elpa/org-9.4.5/ob-processing hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/ob-processing
/home/dick/.emacs.d/elpa/org-9.4.5/ob-ledger hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/ob-ledger
/home/dick/.emacs.d/elpa/org-9.4.5/org-id hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/org-id
/home/dick/.emacs.d/elpa/org-9.4.5/ox-org hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/ox-org
/home/dick/.emacs.d/elpa/org-9.4.5/ob-lob hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/ob-lob
/home/dick/.emacs.d/elpa/org-9.4.5/ob-latex hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/ob-latex
/home/dick/.emacs.d/elpa/org-9.4.5/ol-w3m hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/ol-w3m
/home/dick/.emacs.d/elpa/org-9.4.5/org-timer hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/org-timer
/home/dick/.emacs.d/elpa/org-9.4.5/ob-makefile hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/ob-makefile
/home/dick/.emacs.d/elpa/org-9.4.5/ob-lilypond hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/ob-lilypond
/home/dick/.emacs.d/elpa/org-9.4.5/ox-texinfo hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/ox-texinfo
/home/dick/.emacs.d/elpa/org-9.4.5/ob-sass hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/ob-sass
/home/dick/.emacs.d/elpa/org-9.4.5/org-mouse hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/org-mouse
/home/dick/.emacs.d/elpa/org-9.4.5/org-version hides 
/home/dick/.local/share/emacs/28.0.50/lisp/org/org-version
/home/dick/.emacs.d/elpa/gnus-5.14pre/mh-compat hides 
/home/dick/.local/share/emacs/28.0.50/lisp/mh-e/mh-compat
/home/dick/.emacs.d/elpa/gnus-5.14pre/nnmbox hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/nnmbox
/home/dick/.emacs.d/elpa/gnus-5.14pre/gnus-notifications hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/gnus-notifications
/home/dick/.emacs.d/elpa/gnus-5.14pre/spam-stat hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/spam-stat
/home/dick/.emacs.d/elpa/gnus-5.14pre/nndraft hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/nndraft
/home/dick/.emacs.d/elpa/gnus-5.14pre/mm-extern hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/mm-extern
/home/dick/.emacs.d/elpa/gnus-5.14pre/gnus-util hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/gnus-util
/home/dick/.emacs.d/elpa/gnus-5.14pre/gnus-win hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/gnus-win
/home/dick/.emacs.d/elpa/gnus-5.14pre/mail-source hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/mail-source
/home/dick/.emacs.d/elpa/gnus-5.14pre/gnus-diary hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/gnus-diary
/home/dick/.emacs.d/elpa/gnus-5.14pre/nnml hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/nnml
/home/dick/.emacs.d/elpa/gnus-5.14pre/spam-report hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/spam-report
/home/dick/.emacs.d/elpa/gnus-5.14pre/nnagent hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/nnagent
/home/dick/.emacs.d/elpa/gnus-5.14pre/gnus-cite hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/gnus-cite
/home/dick/.emacs.d/elpa/gnus-5.14pre/gnus-srvr hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/gnus-srvr
/home/dick/.emacs.d/elpa/gnus-5.14pre/nnrss hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/nnrss
/home/dick/.emacs.d/elpa/gnus-5.14pre/gnus-vm hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/gnus-vm
/home/dick/.emacs.d/elpa/gnus-5.14pre/gnus-spec hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/gnus-spec
/home/dick/.emacs.d/elpa/gnus-5.14pre/nndiary hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/nndiary
/home/dick/.emacs.d/elpa/gnus-5.14pre/mm-util hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/mm-util
/home/dick/.emacs.d/elpa/gnus-5.14pre/gnus-fun hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/gnus-fun
/home/dick/.emacs.d/elpa/gnus-5.14pre/mm-bodies hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/mm-bodies
/home/dick/.emacs.d/elpa/gnus-5.14pre/gnus-search hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/gnus-search
/home/dick/.emacs.d/elpa/gnus-5.14pre/nnvirtual hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/nnvirtual
/home/dick/.emacs.d/elpa/gnus-5.14pre/score-mode hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/score-mode
/home/dick/.emacs.d/elpa/gnus-5.14pre/gnus-ml hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/gnus-ml
/home/dick/.emacs.d/elpa/gnus-5.14pre/gmm-utils hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/gmm-utils
/home/dick/.emacs.d/elpa/gnus-5.14pre/message hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/message
/home/dick/.emacs.d/elpa/gnus-5.14pre/nnmh hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/nnmh
/home/dick/.emacs.d/elpa/gnus-5.14pre/nnspool hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/nnspool
/home/dick/.emacs.d/elpa/gnus-5.14pre/gnus-start hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/gnus-start
/home/dick/.emacs.d/elpa/gnus-5.14pre/smime hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/smime
/home/dick/.emacs.d/elpa/gnus-5.14pre/gnus-uu hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/gnus-uu
/home/dick/.emacs.d/elpa/gnus-5.14pre/gnus-draft hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/gnus-draft
/home/dick/.emacs.d/elpa/gnus-5.14pre/gnus-cloud hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/gnus-cloud
/home/dick/.emacs.d/elpa/gnus-5.14pre/gnus-undo hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/gnus-undo
/home/dick/.emacs.d/elpa/gnus-5.14pre/gnus-salt hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/gnus-salt
/home/dick/.emacs.d/elpa/gnus-5.14pre/canlock hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/canlock
/home/dick/.emacs.d/elpa/gnus-5.14pre/gnus hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/gnus
/home/dick/.emacs.d/elpa/gnus-5.14pre/gssapi hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/gssapi
/home/dick/.emacs.d/elpa/gnus-5.14pre/mml-sec hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/mml-sec
/home/dick/.emacs.d/elpa/gnus-5.14pre/mm-uu hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/mm-uu
/home/dick/.emacs.d/elpa/gnus-5.14pre/nnfolder hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/nnfolder
/home/dick/.emacs.d/elpa/gnus-5.14pre/nnmairix hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/nnmairix
/home/dick/.emacs.d/elpa/gnus-5.14pre/nnheader hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/nnheader
/home/dick/.emacs.d/elpa/gnus-5.14pre/gnus-dbus hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/gnus-dbus
/home/dick/.emacs.d/elpa/gnus-5.14pre/nnimap hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/nnimap
/home/dick/.emacs.d/elpa/gnus-5.14pre/gnus-bcklg hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/gnus-bcklg
/home/dick/.emacs.d/elpa/gnus-5.14pre/gnus-demon hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/gnus-demon
/home/dick/.emacs.d/elpa/gnus-5.14pre/nneething hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/nneething
/home/dick/.emacs.d/elpa/gnus-5.14pre/gnus-score hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/gnus-score
/home/dick/.emacs.d/elpa/gnus-5.14pre/gnus-html hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/gnus-html
/home/dick/.emacs.d/elpa/gnus-5.14pre/mml2015 hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/mml2015
/home/dick/.emacs.d/elpa/gnus-5.14pre/gnus-async hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/gnus-async
/home/dick/.emacs.d/elpa/gnus-5.14pre/gnus-sum hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/gnus-sum
/home/dick/.emacs.d/elpa/gnus-5.14pre/mml1991 hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/mml1991
/home/dick/.emacs.d/elpa/gnus-5.14pre/nnweb hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/nnweb
/home/dick/.emacs.d/elpa/gnus-5.14pre/mml-smime hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/mml-smime
/home/dick/.emacs.d/elpa/gnus-5.14pre/nnmail hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/nnmail
/home/dick/.emacs.d/elpa/gnus-5.14pre/nndir hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/nndir
/home/dick/.emacs.d/elpa/gnus-5.14pre/nndoc hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/nndoc
/home/dick/.emacs.d/elpa/gnus-5.14pre/gnus-art hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/gnus-art
/home/dick/.emacs.d/elpa/gnus-5.14pre/gnus-eform hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/gnus-eform
/home/dick/.emacs.d/elpa/gnus-5.14pre/gnus-cus hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/gnus-cus
/home/dick/.emacs.d/elpa/gnus-5.14pre/gnus-sieve hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/gnus-sieve
/home/dick/.emacs.d/elpa/gnus-5.14pre/gnus-mlspl hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/gnus-mlspl
/home/dick/.emacs.d/elpa/gnus-5.14pre/nnmaildir hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/nnmaildir
/home/dick/.emacs.d/elpa/gnus-5.14pre/gnus-agent hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/gnus-agent
/home/dick/.emacs.d/elpa/gnus-5.14pre/gnus-int hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/gnus-int
/home/dick/.emacs.d/elpa/gnus-5.14pre/gnus-delay hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/gnus-delay
/home/dick/.emacs.d/elpa/gnus-5.14pre/nnselect hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/nnselect
/home/dick/.emacs.d/elpa/gnus-5.14pre/mm-decode hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/mm-decode
/home/dick/.emacs.d/elpa/gnus-5.14pre/gnus-rfc1843 hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/gnus-rfc1843
/home/dick/.emacs.d/elpa/gnus-5.14pre/spam-wash hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/spam-wash
/home/dick/.emacs.d/elpa/gnus-5.14pre/nnoo hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/nnoo
/home/dick/.emacs.d/elpa/gnus-5.14pre/gnus-picon hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/gnus-picon
/home/dick/.emacs.d/elpa/gnus-5.14pre/smiley hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/smiley
/home/dick/.emacs.d/elpa/gnus-5.14pre/gnus-registry hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/gnus-registry
/home/dick/.emacs.d/elpa/gnus-5.14pre/gnus-range hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/gnus-range
/home/dick/.emacs.d/elpa/gnus-5.14pre/nnbabyl hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/nnbabyl
/home/dick/.emacs.d/elpa/gnus-5.14pre/mm-archive hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/mm-archive
/home/dick/.emacs.d/elpa/gnus-5.14pre/nntp hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/nntp
/home/dick/.emacs.d/elpa/gnus-5.14pre/gnus-icalendar hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/gnus-icalendar
/home/dick/.emacs.d/elpa/gnus-5.14pre/mm-url hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/mm-url
/home/dick/.emacs.d/elpa/gnus-5.14pre/spam hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/spam
/home/dick/.emacs.d/elpa/gnus-5.14pre/gnus-dup hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/gnus-dup
/home/dick/.emacs.d/elpa/gnus-5.14pre/nnregistry hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/nnregistry
/home/dick/.emacs.d/elpa/gnus-5.14pre/gnus-group hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/gnus-group
/home/dick/.emacs.d/elpa/gnus-5.14pre/gnus-bookmark hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/gnus-bookmark
/home/dick/.emacs.d/elpa/gnus-5.14pre/gnus-mh hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/gnus-mh
/home/dick/.emacs.d/elpa/gnus-5.14pre/gnus-kill hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/gnus-kill
/home/dick/.emacs.d/elpa/gnus-5.14pre/mml hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/mml
/home/dick/.emacs.d/elpa/gnus-5.14pre/mm-view hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/mm-view
/home/dick/.emacs.d/elpa/gnus-5.14pre/gnus-cache hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/gnus-cache
/home/dick/.emacs.d/elpa/gnus-5.14pre/mm-partial hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/mm-partial
/home/dick/.emacs.d/elpa/gnus-5.14pre/gnus-msg hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/gnus-msg
/home/dick/.emacs.d/elpa/gnus-5.14pre/mm-encode hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/mm-encode
/home/dick/.emacs.d/elpa/gnus-5.14pre/legacy-gnus-agent hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/legacy-gnus-agent
/home/dick/.emacs.d/elpa/gnus-5.14pre/gnus-dired hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/gnus-dired
/home/dick/.emacs.d/elpa/gnus-5.14pre/nnnil hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/nnnil
/home/dick/.emacs.d/elpa/gnus-5.14pre/gnus-gravatar hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/gnus-gravatar
/home/dick/.emacs.d/elpa/gnus-5.14pre/nngateway hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/nngateway
/home/dick/.emacs.d/elpa/gnus-5.14pre/gnus-logic hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/gnus-logic
/home/dick/.emacs.d/elpa/gnus-5.14pre/deuglify hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/deuglify
/home/dick/.emacs.d/elpa/gnus-5.14pre/gnus-topic hides 
/home/dick/.local/share/emacs/28.0.50/lisp/gnus/gnus-topic
/home/dick/.emacs.d/elpa/hierarchy-20171221.1151/hierarchy hides 
/home/dick/.local/share/emacs/28.0.50/lisp/emacs-lisp/hierarchy
/home/dick/.emacs.d/elpa/gnus-5.14pre/nnir hides 
/home/dick/.local/share/emacs/28.0.50/lisp/obsolete/nnir

Features:
(shadow emacsbug supercite regi bbdb-message sendmail footnote nndoc
debbugs-gnu debbugs soap-client rng-xsd rng-dt rng-util xsd-regexp goto-addr
magit-extras mule-util magit-patch-changelog magit-patch magit-submodule
magit-obsolete magit-popup async-bytecomp async 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 imenu magit-diff
git-commit log-edit pcvs-util add-log magit-core magit-autorevert magit-margin
magit-transient magit-process with-editor vterm face-remap vterm-module term
ehelp eshell esh-cmd esh-ext esh-opt esh-proc esh-io esh-arg esh-module
esh-groups esh-util server magit-mode transient magit-git magit-section
magit-utils tramp-archive tramp-gvfs tramp-cache zeroconf ivy delsel colir
ivy-overlay ffap dumb-jump f vc-git vc vc-dispatcher bug-reference cc-mode
cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars
cc-defs shortdoc emms-source-file locate url-about url-dired help-fns
radix-tree jka-compr misearch multi-isearch url-queue smerge-mode diff
diff-mode qp sort smiley shr-color gnus-async gnus-ml gravatar dns mail-extr
gnus-notifications gnus-fun notifications gnus-kill gnus-dup disp-table
mm-archive utf-7 gnutls network-stream url-cache nntwitter nntwitter-api nnrss
nndiscourse benchmark rbenv nnhackernews nnfolder bbdb-gnus gnus-demon nntp
nnmairix nnml nnreddit gnus-topic url-http url-auth url-gw nsm request
autorevert filenotify virtualenvwrapper gud s dash json-rpc python tramp-sh
tramp tramp-loaddefs trampver tramp-integration files-x tramp-compat ls-lisp
gnus-score score-mode gnus-bcklg gnus-srvr gnus-cite anaphora bbdb-mua
bbdb-com crm bbdb bbdb-site timezone gnus-delay gnus-draft gnus-cache
gnus-agent gnus-msg nnselect gnus-search eieio-opt speedbar ezimage dframe
find-func gnus-art mm-uu mml2015 mm-view mml-smime smime dig gnus-sum shr svg
dom nndraft nnmh gnus-group mm-url gnus-undo use-package use-package-delight
use-package-diminish gnus-start gnus-dbus dbus xml gnus-cloud nnimap nnmail
mail-source imap rfc2104 utf7 netrc nnoo parse-time iso8601 gnus-spec gnus-int
gnus-range gnus-win paredit-ext paredit subed subed-vtt subed-srt subed-common
subed-mpv subed-debug subed-config dired-x inf-ruby ruby-mode smie company
haskell-interactive-mode haskell-presentation-mode haskell-process
haskell-session haskell-compile haskell-mode haskell-cabal haskell-utils
haskell-font-lock haskell-indentation haskell-string haskell-sort-imports
haskell-lexeme haskell-align-imports haskell-complete-module
haskell-ghc-support etags fileloop generator dabbrev haskell-customize hydra
lv use-package-ensure paren solarized-theme solarized-definitions projectile
skeleton ibuf-macs find-dired ibuf-ext ibuffer ibuffer-loaddefs grep gnus
message rx rmc puny dired dired-loaddefs rfc822 mml mml-sec epa epg epg-config
mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils
mailheader pcase nnheader gnus-util rmail rmail-loaddefs rfc2047 rfc2045
ietf-drums mm-util mail-prsvr mail-utils time-date flx-ido flx
google-translate-default-ui google-translate-core-ui facemenu color ido
google-translate-core google-translate-tk google-translate-backend
use-package-bind-key bind-key auto-complete advice popup cus-edit pp cus-load
wid-edit ess-r-mode ess-r-flymake flymake-proc flymake warnings thingatpt
ess-r-xref xref ess-trns ess-r-package shell pcomplete ess-r-completion
ess-roxy ess-r-syntax ess-rd noutline outline easy-mmode hideshow ess-s-lang
ess-help ess-mode ess-inf project format-spec ess-tracebug ess ess-utils
ess-custom compile text-property-search comint ansi-color emms-player-mplayer
emms-player-simple emms emms-compat cl-extra help-mode use-package-core
derived hl-line winner ring edmacro kmacro finder-inf json-reformat-autoloads
json-snatcher-autoloads sml-mode-autoloads tornado-template-mode-autoloads
info package browse-url url url-proxy url-privacy url-expand url-methods
url-history url-cookie url-domsuf url-util mailcap url-handlers url-parse
auth-source cl-seq eieio eieio-core cl-macs eieio-loaddefs password-cache json
subr-x map url-vars seq byte-opt gv bytecomp byte-compile cconv cl-loaddefs
cl-lib iso-transl tooltip eldoc electric uniquify ediff-hook vc-hooks
lisp-float-type 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
elisp-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 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 move-toolbar gtk x-toolkit x multi-tty make-network-process emacs)

Memory information:
((conses 16 1311187 135586)
 (symbols 48 55510 4)
 (strings 32 206640 27720)
 (string-bytes 1 8554859)
 (vectors 16 76514)
 (vector-slots 8 2135257 126708)
 (floats 8 2336 4198)
 (intervals 56 5063 1552)
 (buffers 992 42))

reply via email to

[Prev in Thread] Current Thread [Next in Thread]