all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: dick.r.chiang@gmail.com
To: 49897@debbugs.gnu.org
Subject: bug#49897: 28.0.50; [PATCH] Make sense of url-retrieve-synchronously
Date: Thu, 05 Aug 2021 12:46:59 -0400	[thread overview]
Message-ID: <87h7g3g7p8.fsf@dick> (raw)

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: 0001-Rationalize-url-retrieve-synchronously.patch --]
[-- Type: text/x-diff, Size: 7446 bytes --]

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


[-- Attachment #2: Type: text/plain, Size: 33856 bytes --]




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	other threads:[~2021-08-05 16:46 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-08-05 16:46 dick.r.chiang [this message]
2021-08-06 11:27 ` bug#49897: 28.0.50; [PATCH] Make sense of url-retrieve-synchronously Lars Ingebrigtsen
2021-08-06 12:15   ` dick
2021-08-06 13:09   ` dick
2021-08-06 13:47     ` Lars Ingebrigtsen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87h7g3g7p8.fsf@dick \
    --to=dick.r.chiang@gmail.com \
    --cc=49897@debbugs.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.