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