From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: dick.r.chiang@gmail.com Newsgroups: gmane.emacs.bugs Subject: bug#49897: 28.0.50; [PATCH] Make sense of url-retrieve-synchronously Date: Thu, 05 Aug 2021 12:46:59 -0400 Message-ID: <87h7g3g7p8.fsf@dick> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="36302"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.14 (Gnus v5.14pre) Emacs/28.0.50 (gnu/linux) To: 49897@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Thu Aug 05 18:48:10 2021 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mBgXS-0009By-1P for geb-bug-gnu-emacs@m.gmane-mx.org; Thu, 05 Aug 2021 18:48:10 +0200 Original-Received: from localhost ([::1]:40468 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mBgXQ-0003hs-RZ for geb-bug-gnu-emacs@m.gmane-mx.org; Thu, 05 Aug 2021 12:48:08 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:41988) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mBgXK-0003fW-EZ for bug-gnu-emacs@gnu.org; Thu, 05 Aug 2021 12:48:02 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:36693) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mBgXK-00019O-7U for bug-gnu-emacs@gnu.org; Thu, 05 Aug 2021 12:48:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1mBgXJ-0002kw-Tt for bug-gnu-emacs@gnu.org; Thu, 05 Aug 2021 12:48:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: dick.r.chiang@gmail.com Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 05 Aug 2021 16:48:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 49897 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.162818203210528 (code B ref -1); Thu, 05 Aug 2021 16:48:01 +0000 Original-Received: (at submit) by debbugs.gnu.org; 5 Aug 2021 16:47:12 +0000 Original-Received: from localhost ([127.0.0.1]:48239 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mBgWU-0002ji-Aj for submit@debbugs.gnu.org; Thu, 05 Aug 2021 12:47:12 -0400 Original-Received: from lists.gnu.org ([209.51.188.17]:55238) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mBgWQ-0002jY-9M for submit@debbugs.gnu.org; Thu, 05 Aug 2021 12:47:08 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:41646) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mBgWQ-00033S-12 for bug-gnu-emacs@gnu.org; Thu, 05 Aug 2021 12:47:06 -0400 Original-Received: from mail-qk1-x733.google.com ([2607:f8b0:4864:20::733]:37710) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mBgWL-0000U2-Uy for bug-gnu-emacs@gnu.org; Thu, 05 Aug 2021 12:47:05 -0400 Original-Received: by mail-qk1-x733.google.com with SMTP id 14so6931218qkc.4 for ; Thu, 05 Aug 2021 09:47:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:user-agent:mime-version; bh=hJA7HkW7Er5fvnjNoOIcLk27SfRYdypRA6fDC1bT2iA=; b=UJFJgVESFQSwGLjdmGCenrvw3LHQur65N29WFygH1CzHU+bkNxGK/A6kg6gtRH+ouk 2GrYtKJDs5hzEbe1ASCw3qoX0Fti2ulLGPNadW3njRqxQsye8XVsjk4/zYo8WGFD/ND8 pZn17drFhzMRWV83r23r9z3rCQ3oPm1oDfnmTuUIXSBxftkVEhGSjiC461x3WyxkxuWk 1ySq6FOtAC4OwoCXvolGQeMzFP29RdQc8tIDCFmHrU9yQl+YZmX/30b5vxg07JIV3B7d mRHuHhslo4j4fev19AAl4ufJauxG0mvaQH0ifJJQTY1fsIp4usdX2e/idtBHgILJ5D8n UH2Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:user-agent :mime-version; bh=hJA7HkW7Er5fvnjNoOIcLk27SfRYdypRA6fDC1bT2iA=; b=sBXnM9TqSyhOPFwUqH+e+3JlTEauqp9JUE+ycoH3poiDio59p5mcB59Lm1gVrtBPuS 5jLlUtvv5/qE1Q9wM5hVfvyim+AgJBDmN2CW5sneAwh6rLYDfNhccYfsJNaHjd5144pj x3vXgniB6oGGFJPo13aQBvGfgOxKNfZ7NPJ5f1z+hn1yXRvrskTMf9yIW28tNs3+j7OE p36uIBFpaFSM4Erq95Zmib5x3z18aV3OcJeYp5f4uIJX1QWHTanDI0cxY/Ozp7eICLfE 83Qr5T8Ey+56nfnO7L1KasI+Cn73z+Zezn6bWgbQGNtXKFJIK5fbp35Kgn0ThuLiLwz6 BsgA== X-Gm-Message-State: AOAM5307vxwGEyFOlRDGe3q2SyQI2KmwkRJZNP2ATAIIQctYKlkJI1iX +FKHvH51EwWQukI9bm0lz0Q21KhY1js= X-Google-Smtp-Source: ABdhPJy8HOCv2BnXeRbsCD/Jbxj2/pwHDqZJe7grV+6HkSzRyar82CbkyT3fvvgnGuWsVfJehOTrgg== X-Received: by 2002:a37:2cc4:: with SMTP id s187mr5828489qkh.407.1628182020261; Thu, 05 Aug 2021 09:47:00 -0700 (PDT) Original-Received: from localhost ([68.237.93.126]) by smtp.gmail.com with ESMTPSA id l29sm2751220qtn.8.2021.08.05.09.46.59 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Thu, 05 Aug 2021 09:46:59 -0700 (PDT) Received-SPF: pass client-ip=2607:f8b0:4864:20::733; envelope-from=dick.r.chiang@gmail.com; helo=mail-qk1-x733.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:211251 Archived-At: --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=0001-Rationalize-url-retrieve-synchronously.patch >From b560aa029810dcfdee278b4b3614c938d996fa6c Mon Sep 17 00:00:00 2001 From: dickmao 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 --=-=-= Content-Type: text/plain 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)) --=-=-=--