GNU bug report logs - #48500
28.0.50; url-retrieve-synchronously exits abnormally due to pending keyboard input from terminal

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: emacs; Reported by: Shane Mulligan <mullikine@HIDDEN>; dated Tue, 18 May 2021 14:42:01 UTC; Maintainer for emacs is bug-gnu-emacs@HIDDEN.

Message received at 48500 <at> debbugs.gnu.org:


Received: (at 48500) by debbugs.gnu.org; 19 May 2021 13:12:28 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed May 19 09:12:28 2021
Received: from localhost ([127.0.0.1]:58394 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1ljLzw-0000Xx-Dr
	for submit <at> debbugs.gnu.org; Wed, 19 May 2021 09:12:28 -0400
Received: from mail-yb1-f181.google.com ([209.85.219.181]:40867)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <mullikine@HIDDEN>) id 1ljLzv-0000Xj-2L
 for 48500 <at> debbugs.gnu.org; Wed, 19 May 2021 09:12:27 -0400
Received: by mail-yb1-f181.google.com with SMTP id 191so12086456ybn.7
 for <48500 <at> debbugs.gnu.org>; Wed, 19 May 2021 06:12:27 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=mime-version:references:in-reply-to:from:date:message-id:subject:to
 :cc; bh=EAWAa5rZ6URwOP4Ubpewm5Eb/I6xH7gbIJkKs+74kq8=;
 b=sRf67D+fMNE82oVs1oyxnHnWG41++ZX/2lFr1uSKjaM4LwIjihE9jVhYx09TNyjMvB
 4rXzSr0xumn37NbDCtNapNTo0sU+iKShI1e5brb1Z+JGi+jKI6Jv+h67MVv0SCIZRsaq
 UkEDGz0kZ/bC6apFDL8Vdc2jjV0yMpVWM18jaXBysTJ4/T9QVM6kqeFtCvzaK0k0n+0A
 vMsoxsAjFcQnAcq8sfzXfTRJFpaQ2t/j/ZYx5qNSymZaP3RgbCBHKBZo78qEAImY8loR
 NPAZcfgMFYb1KVIAgD2gGUSNE+PHB6DL6Knaz376Gf9B0PEyumXjAEvNdswvmmgShl3O
 /JTg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:mime-version:references:in-reply-to:from:date
 :message-id:subject:to:cc;
 bh=EAWAa5rZ6URwOP4Ubpewm5Eb/I6xH7gbIJkKs+74kq8=;
 b=gWjF2GGA5hGSCaeEAx2/MQveN37xdFa47OCl2Yc+zP/RNExiGEAeup1S6iMqOVOqZc
 3XfXgz0/E2gYGxXrJTL2oy7+iAdMZ5CActZf+v5kFmhba4u6uVOPSowm41NWhxY0jE3S
 tiRhxiBLSYHovZnZKzAHM/maJ55kJ0h8wftGybujjRxbNpagYTXrQ0J2SMN2PC7HB6Yq
 l2glM1X54LM+ycBA4XnTVx90ihwmMQRsBLSFhz84ow4eEp8/4fmPKdwUQkFVXDKKpVxV
 D4u3Sp4ul+rczyS/GI3MC6b0+xTyq4elU0xcJ8g1Bp/5DXoWLostFzW6A+5qrU62vOcq
 xmcg==
X-Gm-Message-State: AOAM531F2/3WljhZ7ZrXx/2F+q5pNhJ5+kEVVQVGsHBJEaIxIkEdyN4k
 XyT9euvsQ4UokR+px2OhtsLAjYlH9Dwik98EMMjIX1YGvw==
X-Google-Smtp-Source: ABdhPJwJpErhmPjP9aQhPBB2JAb3hwtZznlqZD8SbnSwj02vT1Ek1NqQkcU01p4LEi7bLCuNWyMlP3zHsAbBaNx24qg=
X-Received: by 2002:a25:d8ca:: with SMTP id
 p193mr16347592ybg.208.1621429941753; 
 Wed, 19 May 2021 06:12:21 -0700 (PDT)
MIME-Version: 1.0
References: <87pmxo4kiu.wl-mullikine@HIDDEN> <8335ukrsj3.fsf@HIDDEN>
 <CACT87JpYLto5_HY8V=9+R3uvC614BxB_H_6gduW7hwnoJL1PDA@HIDDEN>
 <83sg2kq8yc.fsf@HIDDEN>
 <CACT87JqCO5bDpEavNQ28MjUp4xhuXTL+zebU-263b2ZjfAvEVg@HIDDEN>
 <CACT87JpViSY-hr1x+0EVF6ruXy1ZAdb6XAEegv4e0K-47XSCdg@HIDDEN>
 <835yzfq6lm.fsf@HIDDEN>
In-Reply-To: <835yzfq6lm.fsf@HIDDEN>
From: Shane Mulligan <mullikine@HIDDEN>
Date: Thu, 20 May 2021 01:12:10 +1200
Message-ID: <CACT87JqwLHqHZHtBU5xkxe46r_w3jxB-jq32x7XhN0+GP0ddvg@HIDDEN>
Subject: Re: bug#48500: 28.0.50; url-retrieve-synchronously exits abnormally
 due to pending keyboard input from terminal
To: Eli Zaretskii <eliz@HIDDEN>
Content-Type: multipart/alternative; boundary="000000000000b4dab405c2ae93a2"
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 48500
Cc: 48500 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

--000000000000b4dab405c2ae93a2
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

I will do some further studies to see if I can find exactly how quit is
being generated.

Shane Mulligan

How to contact me:
=F0=9F=87=A6=F0=9F=87=BA 00 61 421 641 250
=F0=9F=87=B3=F0=9F=87=BF 00 64 21 1462 759 <+64-21-1462-759>
mullikine@HIDDEN


On Wed, May 19, 2021 at 11:57 PM Eli Zaretskii <eliz@HIDDEN> wrote:

> > From: Shane Mulligan <mullikine@HIDDEN>
> > Date: Wed, 19 May 2021 18:48:09 +1200
> >
> > I may have resolved this issue with the following patch to
> `url-retrieve-synchronously`.
> > What this achieves is to trigger a `quit` in a controlled environment
> rather than allowing it to occur when
> > `accept-process-output` is run.
> > It's not always wanted to trigger a quit when `(input-pending-p)` is
> `t`. But I noticed from placing
> > `while-no-input` around `accept-process-output` to avoid the `quit` tha=
t
> `url-retrieve-synchronously` would
> > then hang but with the controlled `quit` happening beforehand,
> `accept-process-output` no longer needs
> > `while-no-input` around it. The end result is buttery smooth helm with
> no accidental `quit` from typing too
> > fast. I think this may have resulted in GUI helm faster too.
>
> Thanks, but what causes a quit in the first place?
>

--000000000000b4dab405c2ae93a2
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">I will do some further studies to see if I can find exactl=
y how quit is being generated.<br clear=3D"all"><div><div dir=3D"ltr" class=
=3D"gmail_signature" data-smartmail=3D"gmail_signature"><div dir=3D"ltr"><d=
iv dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr">

<br>Shane Mulligan</div><div><span style=3D"font-size:0.9em"><br><table sty=
le=3D"padding:0.5em;border:1px solid rgb(240,240,240);background:linear-gra=
dient(135deg,rgb(225,255,255) 0%,rgb(225,255,255) 7%,rgb(225,255,255) 12%,r=
gb(253,255,255) 12%,rgb(230,248,253) 30%,rgb(200,238,251) 54%,rgb(190,228,2=
48) 75%,rgb(177,216,245) 100%)"><tbody><tr><td colspan=3D"2" style=3D"paddi=
ng-bottom:0.2em"><div style=3D"display:inline-block">How to contact me:</di=
v></td></tr><tr><td><img alt=3D"" style=3D"border:1px solid rgb(255,255,255=
);display:inline-block;margin:0px 0.5em 0px 0.2em;vertical-align:top"></td>=
<td><table><tbody><tr><td>=F0=9F=87=A6=F0=9F=87=BA</td><td style=3D"display=
:inline-block;padding:0.1em 0.35em 0.2em 0.3em;background:linear-gradient(1=
35deg,rgb(255,255,255) 0%,rgba(255,255,255,0) 100%)"><a href=3D"tel:00+61+4=
21+641+250" target=3D"_blank">00 61 421 641 250</a></td></tr><tr><td>=F0=9F=
=87=B3=F0=9F=87=BF</td><td style=3D"display:inline-block;padding:0.1em 0.35=
em 0.2em 0.3em;background:linear-gradient(135deg,rgb(255,255,255) 0%,rgba(2=
55,255,255,0) 100%)"><a href=3D"tel:+64-21-1462-759" target=3D"_blank">00 6=
4 21 1462 759</a></td></tr><tr><td></td><td style=3D"display:inline-block;p=
adding:0.1em 0.35em 0.2em 0.3em;background:linear-gradient(135deg,rgb(255,2=
55,255) 0%,rgba(255,255,255,0) 100%)"><a href=3D"mailto:mullikine@HIDDEN=
" style=3D"color:rgb(0,0,255)" target=3D"_blank">mullikine@HIDDEN</a></t=
d></tr></tbody></table></td></tr></tbody></table></span><br>
</div></div></div></div></div></div></div><br></div><br><div class=3D"gmail=
_quote"><div dir=3D"ltr" class=3D"gmail_attr">On Wed, May 19, 2021 at 11:57=
 PM Eli Zaretskii &lt;<a href=3D"mailto:eliz@HIDDEN">eliz@HIDDEN</a>&gt; =
wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0=
px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">&gt; From=
: Shane Mulligan &lt;<a href=3D"mailto:mullikine@HIDDEN" target=3D"_blan=
k">mullikine@HIDDEN</a>&gt;<br>
&gt; Date: Wed, 19 May 2021 18:48:09 +1200<br>
&gt; <br>
&gt; I may have resolved this issue with the following patch to `url-retrie=
ve-synchronously`.<br>
&gt; What this achieves is to trigger a `quit` in a controlled environment =
rather than allowing it to occur when<br>
&gt; `accept-process-output` is run.<br>
&gt; It&#39;s not always wanted to trigger a quit when `(input-pending-p)` =
is `t`. But I noticed from placing<br>
&gt; `while-no-input` around `accept-process-output` to avoid the `quit` th=
at `url-retrieve-synchronously` would<br>
&gt; then hang but with the controlled `quit` happening beforehand, `accept=
-process-output` no longer needs<br>
&gt; `while-no-input` around it. The end result is buttery smooth helm with=
 no accidental `quit` from typing too<br>
&gt; fast. I think this may have resulted in GUI helm faster too.<br>
<br>
Thanks, but what causes a quit in the first place?<br>
</blockquote></div>

--000000000000b4dab405c2ae93a2--




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#48500; Package emacs. Full text available.

Message received at 48500 <at> debbugs.gnu.org:


Received: (at 48500) by debbugs.gnu.org; 19 May 2021 13:08:29 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed May 19 09:08:29 2021
Received: from localhost ([127.0.0.1]:58373 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1ljLw4-0000Qz-ET
	for submit <at> debbugs.gnu.org; Wed, 19 May 2021 09:08:29 -0400
Received: from mail-yb1-f177.google.com ([209.85.219.177]:34768)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <mullikine@HIDDEN>) id 1ljLw1-0000Qk-Kv
 for 48500 <at> debbugs.gnu.org; Wed, 19 May 2021 09:08:27 -0400
Received: by mail-yb1-f177.google.com with SMTP id w1so6667033ybt.1
 for <48500 <at> debbugs.gnu.org>; Wed, 19 May 2021 06:08:25 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=mime-version:references:in-reply-to:from:date:message-id:subject:to;
 bh=TTive+jFYqu8zLEo2TvLkJsEkwheB2wLlSdquRGAwxc=;
 b=R1K/2/RrIrdUgGx7jCWp4vL7OH2KAaFTz/96mOqDTsVftn0Hi9VQnBXAFFeAgjwAkm
 d2TAXFTINS8uk3Oy7kM4AWCFKiV0dgw8Y1czzWmAcx0HDNUeQgG5ta3K9c9NQWKavP/m
 fKLVkbZSET16ExBi5VgBEGrviN6mIzm3AuVeVdLOLrx0CwZ3sQP8HoTkM4UAlV1tPaUY
 dZna4Bx+N+7BGsbmxFBB34dqRT7kPebm++nEEdTBHJRS+DK5VPLmKlSQvJzcR/WssYcY
 kZdwISh91NB1h/GbxhEsBRv02ubvg7AzE4NtmHFQ0dlvJaM+cBSahNvXWShJaV4i2kPS
 Zqmg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:mime-version:references:in-reply-to:from:date
 :message-id:subject:to;
 bh=TTive+jFYqu8zLEo2TvLkJsEkwheB2wLlSdquRGAwxc=;
 b=VCELG977ETb8r2D20tMZJ49MVq4fOe1tBlTVBTSUKpwrhId4rU+6tQIZ0Z+b1wsXBf
 v8FwofNtmqE2XsxF9YRrsCA//EZTUyAtu3PWhTzZG89f+zKNXzJ5Ynqd5aBhuny68xTW
 GOEAFosxT9JBMBwTTRSlSmJGuTqEeGb6628hv7jITKEt0h7QPPeTT49unFRVtm7qjJFr
 cEGhqfx2rDEl3rCJx3lzhGBQZw5O+PxxZerqzgYbf4QmbIFiBtbsxA0FV/9btcdHSbU/
 hvzzWgibV1vp7//Rb65Xrzj+Pr0Lvi/z51BQ+37YJwIo+5YkrNJgt9+pzNVfl9JNCnr0
 nDIA==
X-Gm-Message-State: AOAM532SdNC82fSCOAK2lkazrNJTolq08cDMhfjY7hhlRPzU1nCuHCRR
 gEwFrV9DdqXasUZ8caD7mAvn4U2jrvyM3aww7Lw8kWscTA==
X-Google-Smtp-Source: ABdhPJwdf9l6Zh1ff+R3cvvE3d8APJ1Yn7lzyUF4jI7HRDxQhumqHj7DVzHbXJFmqSnMKk8aE6PgzRDuJQwgg4TfaTs=
X-Received: by 2002:a25:d8ca:: with SMTP id
 p193mr16317590ybg.208.1621429699846; 
 Wed, 19 May 2021 06:08:19 -0700 (PDT)
MIME-Version: 1.0
References: <87pmxo4kiu.wl-mullikine@HIDDEN> <8335ukrsj3.fsf@HIDDEN>
 <CACT87JpYLto5_HY8V=9+R3uvC614BxB_H_6gduW7hwnoJL1PDA@HIDDEN>
 <83sg2kq8yc.fsf@HIDDEN>
 <CACT87JqCO5bDpEavNQ28MjUp4xhuXTL+zebU-263b2ZjfAvEVg@HIDDEN>
 <CACT87JpViSY-hr1x+0EVF6ruXy1ZAdb6XAEegv4e0K-47XSCdg@HIDDEN>
 <835yzfq6lm.fsf@HIDDEN>
 <CACT87JrC=pzVBJXLGP9k22OCnXTd0_3SYimsiD=AX9A7QsJS2A@HIDDEN>
In-Reply-To: <CACT87JrC=pzVBJXLGP9k22OCnXTd0_3SYimsiD=AX9A7QsJS2A@HIDDEN>
From: Shane Mulligan <mullikine@HIDDEN>
Date: Thu, 20 May 2021 01:08:08 +1200
Message-ID: <CACT87JrOPEWiwEy_xgg0PEqPN7tN2JV4ZTB3k=ncn-e0MnQ6wQ@HIDDEN>
Subject: Fwd: bug#48500: 28.0.50; url-retrieve-synchronously exits abnormally
 due to pending keyboard input from terminal
To: 48500 <at> debbugs.gnu.org
Content-Type: multipart/alternative; boundary="00000000000049e30e05c2ae8501"
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 48500
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

--00000000000049e30e05c2ae8501
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Shane Mulligan

How to contact me:
=F0=9F=87=A6=F0=9F=87=BA 00 61 421 641 250
=F0=9F=87=B3=F0=9F=87=BF 00 64 21 1462 759 <+64-21-1462-759>
mullikine@HIDDEN


---------- Forwarded message ---------
From: Shane Mulligan <mullikine@HIDDEN>
Date: Thu, May 20, 2021 at 1:05 AM
Subject: Re: bug#48500: 28.0.50; url-retrieve-synchronously exits
abnormally due to pending keyboard input from terminal
To: Eli Zaretskii <eliz@HIDDEN>


Hey Eli,

I'm not sure where the quit is being generated but I will look into it.

Here are my insights.

** Original code
https://github.com/emacs-mirror/emacs/blob/HEAD/lisp/url/url.el

  292             ;; We used to use `sit-for' here, but in some cases it
wouldn't
  293             ;; work because apparently pending keyboard input would
always
  294             ;; interrupt it before it got a chance to handle process
input.
  295             ;; `sleep-for' was tried but it lead to other forms of
  296             ;; hanging.  --Stef
  297             (unless (or (with-local-quit
  298                           (accept-process-output proc 1))
  299                         (null proc))

https://github.com/emacs-mirror/emacs/blob/HEAD/src/keyboard.c

  10395 DEFUN ("input-pending-p", Finput_pending_p, Sinput_pending_p, 0, 1,
0,
  10396        doc: /* Return t if command input is currently available
with no wait.
  10397 Actually, the value is nil only if we can be sure that no input is
available;
  10398 if there is a doubt, the value is t.

** I discovered that placing while-no-input here prevented quit from
generating elsewhere
But then the overall function `url-retrieve-synchronously` would hang.

  112             (unless (or
  113                      (while-no-input
  114                        (with-local-quit
  115                          (accept-process-output proc 1)))
  116                      (null proc))

** Before discovering the 'fix' which is running keyboard-quit early (shown
below), I avoided the hang by reading the key.
But reading and discarding the key wasn't a solution. I found that by doing
the keyboard quit shown below instead of reading the key, the
keyboard input is preserved and somehow (unsure how), the pending input is
pacified `accept-process-output` is 'safe' now to run.

   96             (with-local-quit
   97               (if (input-pending-p)
   98                   (progn
   99                     (setq counter (1+ counter))
  100                     ;; (append-to-file (concat (char-to-string
(read-key)) "\n"))
  101                     (my-url-log (concat ">input pending" (str
counter)))
  102                     (if (> counter 20)
  103                         (progn
  104                           ;; (my-url-log (concat "QUIT" (str
counter)))
  105                           ;; (keyboard-quit))
  106                       ;; This discards the input
  107                       (read-key-sequence-vector nil nil t)
  108                       (never
  109                        (let ((k (read-key)))
  110                          (my-url-log (concat "discarding: "
(char-to-string k)))))
  111                       ))))
  112             (unless (or
- 113                      (while-no-input
  114                        (with-local-quit
=3D 115                          (accept-process-output proc 1)))
  116                      (null procj))

** Clues

*** Back in 2006, it was advised in a different place to use
input-pending-p instead of sit-for.

  6466 2006-09-12  Kim F. Storm  <storm@HIDDEN>
  6467
  6468         * simple.el (next-error-highlight,
next-error-highlight-no-select):
  6469         Fix spelling error.
  6470
  6471         * subr.el (sit-for): Rework to use input-pending-p and cond.
  6472         Return nil input is pending on entry also for SECONDS <=3D 0=
.
  6473         (while-no-input): Use input-pending-p instead of sit-for.

*** Quitting disabled when input-pendind-p is t

https://www.gnu.org/software/emacs/manual/html_node/elisp/Idle-Timers.html

https://github.com/emacs-mirror/emacs/blob/567c31121fdef6bdc8b645999a6ca1d9=
94378c89/lisp/play/zone.el#L50

  49 ;; window.  If the function loops, it *must* periodically check and
  50 ;; halt if `input-pending-p' is t (because quitting is disabled when
  51 ;; Emacs idle timers are run).


Shane Mulligan

How to contact me:
=F0=9F=87=A6=F0=9F=87=BA 00 61 421 641 250
=F0=9F=87=B3=F0=9F=87=BF 00 64 21 1462 759 <+64-21-1462-759>
mullikine@HIDDEN


On Wed, May 19, 2021 at 11:57 PM Eli Zaretskii <eliz@HIDDEN> wrote:

> > From: Shane Mulligan <mullikine@HIDDEN>
> > Date: Wed, 19 May 2021 18:48:09 +1200
> >
> > I may have resolved this issue with the following patch to
> `url-retrieve-synchronously`.
> > What this achieves is to trigger a `quit` in a controlled environment
> rather than allowing it to occur when
> > `accept-process-output` is run.
> > It's not always wanted to trigger a quit when `(input-pending-p)` is
> `t`. But I noticed from placing
> > `while-no-input` around `accept-process-output` to avoid the `quit` tha=
t
> `url-retrieve-synchronously` would
> > then hang but with the controlled `quit` happening beforehand,
> `accept-process-output` no longer needs
> > `while-no-input` around it. The end result is buttery smooth helm with
> no accidental `quit` from typing too
> > fast. I think this may have resulted in GUI helm faster too.
>
> Thanks, but what causes a quit in the first place?
>

--00000000000049e30e05c2ae8501
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><br clear=3D"all"><div><div dir=3D"ltr" class=3D"gmail_sig=
nature" data-smartmail=3D"gmail_signature"><div dir=3D"ltr"><div dir=3D"ltr=
"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr">

<br>Shane Mulligan</div><div><span style=3D"font-size:0.9em"><br><table sty=
le=3D"padding:0.5em;border:1px solid rgb(240,240,240);background:linear-gra=
dient(135deg,rgb(225,255,255) 0%,rgb(225,255,255) 7%,rgb(225,255,255) 12%,r=
gb(253,255,255) 12%,rgb(230,248,253) 30%,rgb(200,238,251) 54%,rgb(190,228,2=
48) 75%,rgb(177,216,245) 100%)"><tbody><tr><td colspan=3D"2" style=3D"paddi=
ng-bottom:0.2em"><div style=3D"display:inline-block">How to contact me:</di=
v></td></tr><tr><td><img alt=3D"" style=3D"border:1px solid rgb(255,255,255=
);display:inline-block;margin:0px 0.5em 0px 0.2em;vertical-align:top"></td>=
<td><table><tbody><tr><td>=F0=9F=87=A6=F0=9F=87=BA</td><td style=3D"display=
:inline-block;padding:0.1em 0.35em 0.2em 0.3em;background:linear-gradient(1=
35deg,rgb(255,255,255) 0%,rgba(255,255,255,0) 100%)"><a href=3D"tel:00+61+4=
21+641+250" target=3D"_blank">00 61 421 641 250</a></td></tr><tr><td>=F0=9F=
=87=B3=F0=9F=87=BF</td><td style=3D"display:inline-block;padding:0.1em 0.35=
em 0.2em 0.3em;background:linear-gradient(135deg,rgb(255,255,255) 0%,rgba(2=
55,255,255,0) 100%)"><a href=3D"tel:+64-21-1462-759" target=3D"_blank">00 6=
4 21 1462 759</a></td></tr><tr><td></td><td style=3D"display:inline-block;p=
adding:0.1em 0.35em 0.2em 0.3em;background:linear-gradient(135deg,rgb(255,2=
55,255) 0%,rgba(255,255,255,0) 100%)"><a href=3D"mailto:mullikine@HIDDEN=
" style=3D"color:rgb(0,0,255)" target=3D"_blank">mullikine@HIDDEN</a></t=
d></tr></tbody></table></td></tr></tbody></table></span><br>
</div></div></div></div></div></div></div><br><br><div class=3D"gmail_quote=
"><div dir=3D"ltr" class=3D"gmail_attr">---------- Forwarded message ------=
---<br>From: <strong class=3D"gmail_sendername" dir=3D"auto">Shane Mulligan=
</strong> <span dir=3D"auto">&lt;<a href=3D"mailto:mullikine@HIDDEN">mul=
likine@HIDDEN</a>&gt;</span><br>Date: Thu, May 20, 2021 at 1:05 AM<br>Su=
bject: Re: bug#48500: 28.0.50; url-retrieve-synchronously exits abnormally =
due to pending keyboard input from terminal<br>To: Eli Zaretskii &lt;<a hre=
f=3D"mailto:eliz@HIDDEN">eliz@HIDDEN</a>&gt;<br></div><br><br><div dir=3D=
"ltr"><div><div><div>Hey Eli,<br><br>I&#39;m not sure where the quit is bei=
ng generated but I will look into it.<br><br>Here are my insights.<br><br>*=
* Original code<br><a href=3D"https://github.com/emacs-mirror/emacs/blob/HE=
AD/lisp/url/url.el" target=3D"_blank">https://github.com/emacs-mirror/emacs=
/blob/HEAD/lisp/url/url.el</a><br><br>=C2=A0 292 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 ;; We used to use `sit-for&#39; here, but in some cases i=
t wouldn&#39;t<br>=C2=A0 293 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ;; w=
ork because apparently pending keyboard input would always<br>=C2=A0 294 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ;; interrupt it before it got a c=
hance to handle process input.<br>=C2=A0 295 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 ;; `sleep-for&#39; was tried but it lead to other forms of<br=
>=C2=A0 296 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ;; hanging. =C2=A0--S=
tef<br>=C2=A0 297 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (unless (or (wi=
th-local-quit<br>=C2=A0 298 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (accept-process-output proc 1=
))<br>=C2=A0 299 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 (null proc))<br><br><a href=3D"https://github.c=
om/emacs-mirror/emacs/blob/HEAD/src/keyboard.c" target=3D"_blank">https://g=
ithub.com/emacs-mirror/emacs/blob/HEAD/src/keyboard.c</a><br><br>=C2=A0 103=
95 DEFUN (&quot;input-pending-p&quot;, Finput_pending_p, Sinput_pending_p, =
0, 1, 0,<br>=C2=A0 10396 =C2=A0 =C2=A0 =C2=A0 =C2=A0doc: /* Return t if com=
mand input is currently available with no wait.<br>=C2=A0 10397 Actually, t=
he value is nil only if we can be sure that no input is available;<br>=C2=
=A0 10398 if there is a doubt, the value is t.<br><br>** I discovered that =
placing while-no-input here prevented quit from generating elsewhere<br>But=
 then the overall function `url-retrieve-synchronously` would hang.<br><br>=
=C2=A0 112 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (unless (or<br>=C2=A0 =
113 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0(while-no-input<br>=C2=A0 114 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(with-local-quit<br>=C2=A0 115=
 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0(accept-process-output proc 1)))<br>=C2=A0 116 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(null pro=
c))<br><br>** Before discovering the &#39;fix&#39; which is running keyboar=
d-quit early (shown below), I avoided the hang by reading the key.<br>But r=
eading and discarding the key wasn&#39;t a solution. I found that by doing =
the keyboard quit shown below instead of reading the key, the<br>keyboard i=
nput is preserved and somehow (unsure how), the pending input is pacified `=
accept-process-output` is &#39;safe&#39; now to run.<br><br>=C2=A0 =C2=A096=
 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (with-local-quit<br>=C2=A0 =C2=
=A097 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (if (input-pending-p=
)<br>=C2=A0 =C2=A098 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 (progn<br>=C2=A0 =C2=A099 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (setq counter (1+ counter))<br>=C2=A0 100 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ;; (a=
ppend-to-file (concat (char-to-string (read-key)) &quot;\n&quot;))<br>=C2=
=A0 101 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 (my-url-log (concat &quot;&gt;input pending&quot; (str counter)))<br>=
=C2=A0 102 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 (if (&gt; counter 20)<br>=C2=A0 103 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (progn<br>=C2=A0 104 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 ;; (my-url-log (concat &quot;QUIT&quot; (str counter)))<b=
r>=C2=A0 105 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0=
 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ;; (keyboard-quit))<br>=C2=A0 106 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ;; This =
discards the input<br>=C2=A0 107 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (read-key-sequence-vector nil nil t)<br>=
=C2=A0 108 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 (never<br>=C2=A0 109 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(let ((k (read-key)))<br>=C2=
=A0 110 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0(my-url-log (concat &quot;discarding: &quot; (char-=
to-string k)))))<br>=C2=A0 111 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ))))<br>=C2=A0 112 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 (unless (or<br>- 113 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(while-no-input<br>=C2=A0 114 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0(with-local-quit<br>=3D 115 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(accept-process-outp=
ut proc 1)))<br>=C2=A0 116 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0=
 =C2=A0 =C2=A0 =C2=A0 =C2=A0(null procj))<br><br>** Clues<br><br>*** Back i=
n 2006, it was advised in a different place to use input-pending-p instead =
of sit-for.<br><br>=C2=A0 6466 2006-09-12 =C2=A0Kim F. Storm =C2=A0&lt;<a h=
ref=3D"mailto:storm@HIDDEN" target=3D"_blank">storm@HIDDEN</a>&gt;<br>=C2=
=A0 6467<br>=C2=A0 6468 =C2=A0 =C2=A0 =C2=A0 =C2=A0 * simple.el (next-error=
-highlight, next-error-highlight-no-select):<br>=C2=A0 6469 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 Fix spelling error.<br>=C2=A0 6470<br>=C2=A0 6471 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 * subr.el (sit-for): Rework to use input-pending-p and co=
nd.<br>=C2=A0 6472 =C2=A0 =C2=A0 =C2=A0 =C2=A0 Return nil input is pending =
on entry also for SECONDS &lt;=3D 0.<br>=C2=A0 6473 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 (while-no-input): Use input-pending-p instead of sit-for.<br><br>***=
 Quitting disabled when input-pendind-p is t<br><br><a href=3D"https://www.=
gnu.org/software/emacs/manual/html_node/elisp/Idle-Timers.html" target=3D"_=
blank">https://www.gnu.org/software/emacs/manual/html_node/elisp/Idle-Timer=
s.html</a><br><br><a href=3D"https://github.com/emacs-mirror/emacs/blob/567=
c31121fdef6bdc8b645999a6ca1d994378c89/lisp/play/zone.el#L50" target=3D"_bla=
nk">https://github.com/emacs-mirror/emacs/blob/567c31121fdef6bdc8b645999a6c=
a1d994378c89/lisp/play/zone.el#L50</a><br><br>=C2=A0 49 ;; window.=C2=A0 If=
 the function loops, it *must* periodically check and<br>=C2=A0 50 ;; halt =
if `input-pending-p&#39; is t (because quitting is disabled when<br>=C2=A0 =
51 ;; Emacs idle timers are run).<br><br><div><div dir=3D"ltr" data-smartma=
il=3D"gmail_signature"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><=
div dir=3D"ltr"><div dir=3D"ltr">

<br>Shane Mulligan</div><div><span style=3D"font-size:0.9em"><br><table sty=
le=3D"padding:0.5em;border:1px solid rgb(240,240,240);background:linear-gra=
dient(135deg,rgb(225,255,255) 0%,rgb(225,255,255) 7%,rgb(225,255,255) 12%,r=
gb(253,255,255) 12%,rgb(230,248,253) 30%,rgb(200,238,251) 54%,rgb(190,228,2=
48) 75%,rgb(177,216,245) 100%)"><tbody><tr><td colspan=3D"2" style=3D"paddi=
ng-bottom:0.2em"><div style=3D"display:inline-block">How to contact me:</di=
v></td></tr><tr><td><img alt=3D"" style=3D"border:1px solid rgb(255,255,255=
);display:inline-block;margin:0px 0.5em 0px 0.2em;vertical-align:top"></td>=
<td><table><tbody><tr><td>=F0=9F=87=A6=F0=9F=87=BA</td><td style=3D"display=
:inline-block;padding:0.1em 0.35em 0.2em 0.3em;background:linear-gradient(1=
35deg,rgb(255,255,255) 0%,rgba(255,255,255,0) 100%)"><a href=3D"tel:00+61+4=
21+641+250" target=3D"_blank">00 61 421 641 250</a></td></tr><tr><td>=F0=9F=
=87=B3=F0=9F=87=BF</td><td style=3D"display:inline-block;padding:0.1em 0.35=
em 0.2em 0.3em;background:linear-gradient(135deg,rgb(255,255,255) 0%,rgba(2=
55,255,255,0) 100%)"><a href=3D"tel:+64-21-1462-759" target=3D"_blank">00 6=
4 21 1462 759</a></td></tr><tr><td></td><td style=3D"display:inline-block;p=
adding:0.1em 0.35em 0.2em 0.3em;background:linear-gradient(135deg,rgb(255,2=
55,255) 0%,rgba(255,255,255,0) 100%)"><a href=3D"mailto:mullikine@HIDDEN=
" style=3D"color:rgb(0,0,255)" target=3D"_blank">mullikine@HIDDEN</a></t=
d></tr></tbody></table></td></tr></tbody></table></span><br>
</div></div></div></div></div></div></div><br></div></div></div></div><br><=
div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr">On Wed, May=
 19, 2021 at 11:57 PM Eli Zaretskii &lt;<a href=3D"mailto:eliz@HIDDEN" tar=
get=3D"_blank">eliz@HIDDEN</a>&gt; wrote:<br></div><blockquote class=3D"gm=
ail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,=
204,204);padding-left:1ex">&gt; From: Shane Mulligan &lt;<a href=3D"mailto:=
mullikine@HIDDEN" target=3D"_blank">mullikine@HIDDEN</a>&gt;<br>
&gt; Date: Wed, 19 May 2021 18:48:09 +1200<br>
&gt; <br>
&gt; I may have resolved this issue with the following patch to `url-retrie=
ve-synchronously`.<br>
&gt; What this achieves is to trigger a `quit` in a controlled environment =
rather than allowing it to occur when<br>
&gt; `accept-process-output` is run.<br>
&gt; It&#39;s not always wanted to trigger a quit when `(input-pending-p)` =
is `t`. But I noticed from placing<br>
&gt; `while-no-input` around `accept-process-output` to avoid the `quit` th=
at `url-retrieve-synchronously` would<br>
&gt; then hang but with the controlled `quit` happening beforehand, `accept=
-process-output` no longer needs<br>
&gt; `while-no-input` around it. The end result is buttery smooth helm with=
 no accidental `quit` from typing too<br>
&gt; fast. I think this may have resulted in GUI helm faster too.<br>
<br>
Thanks, but what causes a quit in the first place?<br>
</blockquote></div>
</div></div>

--00000000000049e30e05c2ae8501--




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#48500; Package emacs. Full text available.

Message received at 48500 <at> debbugs.gnu.org:


Received: (at 48500) by debbugs.gnu.org; 19 May 2021 11:57:09 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed May 19 07:57:09 2021
Received: from localhost ([127.0.0.1]:58285 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1ljKp3-0004uv-LD
	for submit <at> debbugs.gnu.org; Wed, 19 May 2021 07:57:09 -0400
Received: from eggs.gnu.org ([209.51.188.92]:53642)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1ljKoz-0004u9-0S
 for 48500 <at> debbugs.gnu.org; Wed, 19 May 2021 07:57:08 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:45678)
 by eggs.gnu.org with esmtp (Exim 4.90_1)
 (envelope-from <eliz@HIDDEN>)
 id 1ljKot-00025C-OC; Wed, 19 May 2021 07:56:59 -0400
Received: from 84.94.185.95.cable.012.net.il ([84.94.185.95]:3132
 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1ljKot-0000Uk-9R; Wed, 19 May 2021 07:56:59 -0400
Date: Wed, 19 May 2021 14:57:09 +0300
Message-Id: <835yzfq6lm.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Shane Mulligan <mullikine@HIDDEN>
In-Reply-To: <CACT87JpViSY-hr1x+0EVF6ruXy1ZAdb6XAEegv4e0K-47XSCdg@HIDDEN>
 (message from Shane Mulligan on Wed, 19 May 2021 18:48:09 +1200)
Subject: Re: bug#48500: 28.0.50;
 url-retrieve-synchronously exits abnormally due to pending keyboard
 input from terminal
References: <87pmxo4kiu.wl-mullikine@HIDDEN> <8335ukrsj3.fsf@HIDDEN>
 <CACT87JpYLto5_HY8V=9+R3uvC614BxB_H_6gduW7hwnoJL1PDA@HIDDEN>
 <83sg2kq8yc.fsf@HIDDEN>
 <CACT87JqCO5bDpEavNQ28MjUp4xhuXTL+zebU-263b2ZjfAvEVg@HIDDEN>
 <CACT87JpViSY-hr1x+0EVF6ruXy1ZAdb6XAEegv4e0K-47XSCdg@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 48500
Cc: 48500 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> From: Shane Mulligan <mullikine@HIDDEN>
> Date: Wed, 19 May 2021 18:48:09 +1200
> 
> I may have resolved this issue with the following patch to `url-retrieve-synchronously`.
> What this achieves is to trigger a `quit` in a controlled environment rather than allowing it to occur when
> `accept-process-output` is run.
> It's not always wanted to trigger a quit when `(input-pending-p)` is `t`. But I noticed from placing
> `while-no-input` around `accept-process-output` to avoid the `quit` that `url-retrieve-synchronously` would
> then hang but with the controlled `quit` happening beforehand, `accept-process-output` no longer needs
> `while-no-input` around it. The end result is buttery smooth helm with no accidental `quit` from typing too
> fast. I think this may have resulted in GUI helm faster too.

Thanks, but what causes a quit in the first place?




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#48500; Package emacs. Full text available.

Message received at 48500 <at> debbugs.gnu.org:


Received: (at 48500) by debbugs.gnu.org; 19 May 2021 11:46:25 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed May 19 07:46:25 2021
Received: from localhost ([127.0.0.1]:58248 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1ljKee-0004b6-9K
	for submit <at> debbugs.gnu.org; Wed, 19 May 2021 07:46:24 -0400
Received: from mail-yb1-f169.google.com ([209.85.219.169]:39675)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <mullikine@HIDDEN>) id 1ljKeb-0004ar-Qs
 for 48500 <at> debbugs.gnu.org; Wed, 19 May 2021 07:46:22 -0400
Received: by mail-yb1-f169.google.com with SMTP id f9so17669620ybo.6
 for <48500 <at> debbugs.gnu.org>; Wed, 19 May 2021 04:46:21 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=mime-version:references:in-reply-to:from:date:message-id:subject:to;
 bh=3vV8kSRcxt1MQ/UruLhYYeK4Wi3AsyXFaEvJde/Lw80=;
 b=dZcvTZwyBCWcajQM3GNCA7nZn5pAXHm9OYKgisNU573aqSJkaP3qh8iLLoI7KNuPM9
 RihkpaksNWKCxhIV3kLkEh+KjZMMmmG6RSMCNpBI7SF5AIM7JdIMdFJyXMbRAeXdbdFV
 Arzc2qkplkxrv463Q89KqTARlzBYJIYvEYGLPVWxA25nz6LoL0HvWQi2+pSpDpi5ZpvC
 yqXPYnKL+ykAYe6lbAnVIZ6c9crNjuVRMzq8oO/kvjGQogXB3YlW91nQbkwL3ZhhTLhS
 +qgT2MmeiESAa6e+5pSSGaJWgfjAU4MZn2WN2/YAKaetW1jlosKEC4nLCXLh2kDTA9IB
 bWvg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:mime-version:references:in-reply-to:from:date
 :message-id:subject:to;
 bh=3vV8kSRcxt1MQ/UruLhYYeK4Wi3AsyXFaEvJde/Lw80=;
 b=d1uF5CdsTKabl6cFwS1IhbfDi3BbtRuLANaSaESC2DTE02gDk2TOfmlgUNmSqsxGj0
 Jmi1kRylY2DpzQ57HRWoLdTjPxFXN3ob1FCdvbcDCDhNIYnhTj4Vy/PoF+bI5kqDuoWW
 VhcUdxIJyLoHxNuiBN1AGalv4waaoAWR3QFcvoC+oqIzKZUQ7EsTKj95v+smrQHfM3vZ
 FZTYvBizC6DNWvwKeV4f1b4GsqD4KREK8CyehHImRhifc6ftPstXdXX68CdejOZSkQXL
 /nmjrnpZxKm550Qv+5BHDTT20F83VJGLtQT4TiE8Lx2JFmloanhMukRMhlfStPbBdNXW
 r4yg==
X-Gm-Message-State: AOAM531WmXVFa5NTN7ks73tkyaLoXPKueUgkrQBNVNa3Es8Kn6yVss5k
 dtIRACoQ54rNlevp8NKacJXFjPRCaHJHgh4eMdpXdkEugmRA
X-Google-Smtp-Source: ABdhPJztXDwmjn5DN71r+IEQn9Ln37lSY3XjWiMESMcjPddVBYKUo2x2GQoD2UAqxNH135nMqbrHZbf+RbGcrtCcPi0=
X-Received: by 2002:a25:585:: with SMTP id 127mr13567205ybf.299.1621424776060; 
 Wed, 19 May 2021 04:46:16 -0700 (PDT)
MIME-Version: 1.0
References: <87pmxo4kiu.wl-mullikine@HIDDEN> <8335ukrsj3.fsf@HIDDEN>
 <CACT87JpYLto5_HY8V=9+R3uvC614BxB_H_6gduW7hwnoJL1PDA@HIDDEN>
 <83sg2kq8yc.fsf@HIDDEN>
 <CACT87JqCO5bDpEavNQ28MjUp4xhuXTL+zebU-263b2ZjfAvEVg@HIDDEN>
 <CACT87JpViSY-hr1x+0EVF6ruXy1ZAdb6XAEegv4e0K-47XSCdg@HIDDEN>
 <CACT87Jq3vdUrCCPQxt2LWOdx+3+tXX4ff=Yj4-QKG0-zM2xP2g@HIDDEN>
In-Reply-To: <CACT87Jq3vdUrCCPQxt2LWOdx+3+tXX4ff=Yj4-QKG0-zM2xP2g@HIDDEN>
From: Shane Mulligan <mullikine@HIDDEN>
Date: Wed, 19 May 2021 23:46:04 +1200
Message-ID: <CACT87Jr4bW-Ey+A=dW4Eewm9rNrWuR7hnjaa2LPh8oBAa+DArA@HIDDEN>
Subject: Re: bug#48500: 28.0.50; url-retrieve-synchronously exits abnormally
 due to pending keyboard input from terminal
To: 48500 <at> debbugs.gnu.org, Eli Zaretskii <eliz@HIDDEN>
Content-Type: multipart/alternative; boundary="000000000000cea50405c2ad5fcc"
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 48500
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

--000000000000cea50405c2ad5fcc
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

I have done a write-up on this issue to clarify everything.

https://mullikine.github.io/posts/fixing-googling-tooling-in-emacs/

Shane Mulligan

How to contact me:
=F0=9F=87=A6=F0=9F=87=BA 00 61 421 641 250
=F0=9F=87=B3=F0=9F=87=BF 00 64 21 1462 759 <+64-21-1462-759>
mullikine@HIDDEN


On Wed, May 19, 2021 at 6:49 PM Shane Mulligan <mullikine@HIDDEN> wrote:

> Hi Eli,
>
> I tagged you back in this conversation because I may have fixed the issue
> :).
>
> Shane Mulligan
>
> How to contact me:
> =F0=9F=87=A6=F0=9F=87=BA 00 61 421 641 250
> =F0=9F=87=B3=F0=9F=87=BF 00 64 21 1462 759 <+64-21-1462-759>
> mullikine@HIDDEN
>
>
> On Wed, May 19, 2021 at 6:48 PM Shane Mulligan <mullikine@HIDDEN>
> wrote:
>
>> I may have resolved this issue with the following patch to
>> `url-retrieve-synchronously`.
>> What this achieves is to trigger a `quit` in a controlled environment
>> rather than allowing it to occur when `accept-process-output` is run.
>> It's not always wanted to trigger a quit when `(input-pending-p)` is `t`=
.
>> But I noticed from placing `while-no-input` around `accept-process-outpu=
t`
>> to avoid the `quit` that `url-retrieve-synchronously` would then hang bu=
t
>> with the controlled `quit` happening beforehand, `accept-process-output`=
 no
>> longer needs `while-no-input` around it. The end result is buttery smoot=
h
>> helm with no accidental `quit` from typing too fast. I think this may ha=
ve
>> resulted in GUI helm faster too.
>>
>> ```
>> 29c29,30
>> <       (let ((proc (get-buffer-process asynch-buffer)))
>> ---
>> >       (let ((proc (get-buffer-process asynch-buffer))
>> >             (counter 0))
>> 71a73,78
>> >             (with-local-quit
>> >               (if (input-pending-p)
>> >                   (progn
>> >                     (setq counter (1+ counter))
>> >                     (if (> counter 20)
>> >                         (keyboard-quit)))))
>> ```
>> Shane Mulligan
>>
>> How to contact me:
>> =F0=9F=87=A6=F0=9F=87=BA 00 61 421 641 250
>> =F0=9F=87=B3=F0=9F=87=BF 00 64 21 1462 759 <+64-21-1462-759>
>> mullikine@HIDDEN
>>
>>
>> On Wed, May 19, 2021 at 11:32 AM Shane Mulligan <mullikine@HIDDEN>
>> wrote:
>>
>>> My apologies. It was literally 5am when I wrote that. I think I have
>>> misunderstood `C-g` being generated with `quit-flag`. The bad behaviour=
 is
>>> very clearly still happening. I will try to clarify this problem furthe=
r by
>>> experimenting with it. I need to figure out why `while-no-input` suppre=
sses
>>> the `quit` but merely setting `quit-flag` does not. Something indirect =
may
>>> be happening.
>>>
>>> Thank you all,
>>> Shane Mulligan
>>>
>>> How to contact me:
>>> =F0=9F=87=A6=F0=9F=87=BA 00 61 421 641 250
>>> =F0=9F=87=B3=F0=9F=87=BF 00 64 21 1462 759 <+64-21-1462-759>
>>> mullikine@HIDDEN
>>>
>>>
>>> On Wed, May 19, 2021 at 4:54 AM Eli Zaretskii <eliz@HIDDEN> wrote:
>>>
>>>> > From: Shane Mulligan <mullikine@HIDDEN>
>>>> > Date: Wed, 19 May 2021 04:32:16 +1200
>>>> >
>>>> > Thanks for looking into this so quickly. First some background on th=
e
>>>> problem. I managed to work through
>>>> > this issue (https://github.com/emacs-helm/helm/issues/2417) with the
>>>> `emacs-helm` maintainer and we
>>>> > found what appears to be that the call to `accept-process-output`
>>>> inside of `url-retrieve-synchronously` will
>>>> > generate a `C-g` when there is pending input of any char. As far as =
I
>>>> can tell this is an issue only with
>>>> > terminal emacs. As I understand it, `inhibit-quit`, as used in
>>>> `accept-process-output` allows a `C-g` to be
>>>> > propagated outwards and handled and from what I can see by the
>>>> comments surrounding,
>>>> >
>>>> > ```
>>>> >               ;; accept-process-output returned nil, maybe because
>>>> the process
>>>> >               ;; exited (and may have been replaced with another).
>>>> If we got
>>>> >               ;; a quit, just stop.
>>>> > ```
>>>> >
>>>> > the `C-g` in this case is expected.
>>>> >
>>>> > But I wonder if `C-g` was meant to be generated if the user was
>>>> simply mashing keys on the keyboard.  In
>>>> > this case, the `C-g` emanating from `accept-process-output` was
>>>> bubbling up into `helm` and `helm` was
>>>> > treating it like an error.
>>>> >
>>>> > Here, you can see a quit being generated from the visual cue in the
>>>> minibuffer.
>>>> > https://asciinema.org/a/nAIB8Z1lGgZJqJg9Mt8YiNEM9
>>>> >
>>>> > Here, I have added `while-no-input` and I no longer get the `quit`.
>>>> > https://asciinema.org/a/x9ELZhwDP1IUtmOz0M1cly42H
>>>> >
>>>> > However, as I test the addition of `while-no-input` with
>>>> `helm-google-suggest` (as above), though Quit is no
>>>> > longer being generated from mashing keys, the key input which would
>>>> have generated the `quit` is not
>>>> > immediately shown in `helm`. Instead, it only appears on the next ke=
y
>>>> press. So my implementation may not
>>>> > be perfect or complete.
>>>> >
>>>> > Finding the solution would make the minibuffer far less interrupted
>>>> while typing when
>>>> > `url-retrieve-synchronously` is used in the background.
>>>> >
>>>> > Thank you.
>>>> >
>>>> > Shane Mulligan
>>>>
>>>> Please in the future send your responses with the bug address,
>>>> 48500 <at> debbugs.gnu.org, on the CC list, so that others will see your
>>>> detailed descriptions.  I won't have time to take a good look into
>>>> that in the next few days, so it's good to make others aware of your
>>>> findings, because they might look into it meanwhile.
>>>>
>>>> Personally, I find it very strange that typing on the keyboard
>>>> produces C-g, it shouldn't happen, neither on a TTY nor on a GUI
>>>> display.
>>>>
>>>

--000000000000cea50405c2ad5fcc
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div>I have done a write-up on this issue to clarify every=
thing.</div><div><br></div><a href=3D"https://mullikine.github.io/posts/fix=
ing-googling-tooling-in-emacs/">https://mullikine.github.io/posts/fixing-go=
ogling-tooling-in-emacs/</a><br clear=3D"all"><div><div dir=3D"ltr" class=
=3D"gmail_signature" data-smartmail=3D"gmail_signature"><div dir=3D"ltr"><d=
iv dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr">

<br>Shane Mulligan</div><div><span style=3D"font-size:0.9em"><br><table sty=
le=3D"padding:0.5em;border:1px solid rgb(240,240,240);background:linear-gra=
dient(135deg,rgb(225,255,255) 0%,rgb(225,255,255) 7%,rgb(225,255,255) 12%,r=
gb(253,255,255) 12%,rgb(230,248,253) 30%,rgb(200,238,251) 54%,rgb(190,228,2=
48) 75%,rgb(177,216,245) 100%)"><tbody><tr><td colspan=3D"2" style=3D"paddi=
ng-bottom:0.2em"><div style=3D"display:inline-block">How to contact me:</di=
v></td></tr><tr><td><img alt=3D"" style=3D"border:1px solid rgb(255,255,255=
);display:inline-block;margin:0px 0.5em 0px 0.2em;vertical-align:top"></td>=
<td><table><tbody><tr><td>=F0=9F=87=A6=F0=9F=87=BA</td><td style=3D"display=
:inline-block;padding:0.1em 0.35em 0.2em 0.3em;background:linear-gradient(1=
35deg,rgb(255,255,255) 0%,rgba(255,255,255,0) 100%)"><a href=3D"tel:00+61+4=
21+641+250" target=3D"_blank">00 61 421 641 250</a></td></tr><tr><td>=F0=9F=
=87=B3=F0=9F=87=BF</td><td style=3D"display:inline-block;padding:0.1em 0.35=
em 0.2em 0.3em;background:linear-gradient(135deg,rgb(255,255,255) 0%,rgba(2=
55,255,255,0) 100%)"><a href=3D"tel:+64-21-1462-759" target=3D"_blank">00 6=
4 21 1462 759</a></td></tr><tr><td></td><td style=3D"display:inline-block;p=
adding:0.1em 0.35em 0.2em 0.3em;background:linear-gradient(135deg,rgb(255,2=
55,255) 0%,rgba(255,255,255,0) 100%)"><a href=3D"mailto:mullikine@HIDDEN=
" style=3D"color:rgb(0,0,255)" target=3D"_blank">mullikine@HIDDEN</a></t=
d></tr></tbody></table></td></tr></tbody></table></span><br>
</div></div></div></div></div></div></div><br></div><br><div class=3D"gmail=
_quote"><div dir=3D"ltr" class=3D"gmail_attr">On Wed, May 19, 2021 at 6:49 =
PM Shane Mulligan &lt;<a href=3D"mailto:mullikine@HIDDEN">mullikine@gmai=
l.com</a>&gt; wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"ma=
rgin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:=
1ex"><div dir=3D"ltr">Hi Eli,<div><br></div><div>I tagged you back in this =
conversation because I may have fixed the issue :).</div><div><div><div dir=
=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr=
"><div dir=3D"ltr">

<br>Shane Mulligan</div><div><span style=3D"font-size:0.9em"><br><table sty=
le=3D"padding:0.5em;border:1px solid rgb(240,240,240);background:linear-gra=
dient(135deg,rgb(225,255,255) 0%,rgb(225,255,255) 7%,rgb(225,255,255) 12%,r=
gb(253,255,255) 12%,rgb(230,248,253) 30%,rgb(200,238,251) 54%,rgb(190,228,2=
48) 75%,rgb(177,216,245) 100%)"><tbody><tr><td colspan=3D"2" style=3D"paddi=
ng-bottom:0.2em"><div style=3D"display:inline-block">How to contact me:</di=
v></td></tr><tr><td><img alt=3D"" style=3D"border: 1px solid rgb(255, 255, =
255); display: inline-block; margin: 0px 0.5em 0px 0.2em; vertical-align: t=
op;"></td><td><table><tbody><tr><td>=F0=9F=87=A6=F0=9F=87=BA</td><td style=
=3D"display:inline-block;padding:0.1em 0.35em 0.2em 0.3em;background:linear=
-gradient(135deg,rgb(255,255,255) 0%,rgba(255,255,255,0) 100%)"><a href=3D"=
tel:00+61+421+641+250" target=3D"_blank">00 61 421 641 250</a></td></tr><tr=
><td>=F0=9F=87=B3=F0=9F=87=BF</td><td style=3D"display:inline-block;padding=
:0.1em 0.35em 0.2em 0.3em;background:linear-gradient(135deg,rgb(255,255,255=
) 0%,rgba(255,255,255,0) 100%)"><a href=3D"tel:+64-21-1462-759" target=3D"_=
blank">00 64 21 1462 759</a></td></tr><tr><td></td><td style=3D"display:inl=
ine-block;padding:0.1em 0.35em 0.2em 0.3em;background:linear-gradient(135de=
g,rgb(255,255,255) 0%,rgba(255,255,255,0) 100%)"><a href=3D"mailto:mullikin=
e@HIDDEN" style=3D"color:rgb(0,0,255)" target=3D"_blank">mullikine@gmail=
.com</a></td></tr></tbody></table></td></tr></tbody></table></span><br>
</div></div></div></div></div></div></div><br></div></div><br><div class=3D=
"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr">On Wed, May 19, 2021 at=
 6:48 PM Shane Mulligan &lt;<a href=3D"mailto:mullikine@HIDDEN" target=
=3D"_blank">mullikine@HIDDEN</a>&gt; wrote:<br></div><blockquote class=
=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rg=
b(204,204,204);padding-left:1ex"><div dir=3D"ltr"><div dir=3D"ltr"><div>I m=
ay have resolved this issue with the following patch to `url-retrieve-synch=
ronously`.</div><div>What this achieves is to trigger a `quit` in a control=
led environment rather than allowing it to occur when `accept-process-outpu=
t` is run.<br></div><div>It&#39;s not always wanted to trigger a quit when =
`(input-pending-p)` is `t`. But I noticed from placing `while-no-input` aro=
und `accept-process-output` to avoid the `quit` that `url-retrieve-synchron=
ously` would then hang but with the controlled `quit` happening beforehand,=
 `accept-process-output` no longer needs `while-no-input` around it. The en=
d result is buttery smooth helm with no accidental `quit` from typing too f=
ast. I think this may have resulted in GUI helm faster too.</div><div><br><=
/div><div>```</div>29c29,30<br>&lt; =C2=A0 =C2=A0 =C2=A0 (let ((proc (get-b=
uffer-process asynch-buffer)))<br>---<br>&gt; =C2=A0 =C2=A0 =C2=A0 (let ((p=
roc (get-buffer-process asynch-buffer))<br>&gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0=
 =C2=A0 =C2=A0 (counter 0))<br>71a73,78<br>&gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0=
 =C2=A0 =C2=A0 (with-local-quit<br>&gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 (if (input-pending-p)<br>&gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (progn<br>&gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (setq counter (1+ counter))<br>&g=
t; =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (i=
f (&gt; counter 20)<br>&gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (keyboard-quit)))))<br><div><div dir=
=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr=
"><div dir=3D"ltr">```</div><div dir=3D"ltr">Shane Mulligan</div><div><span=
 style=3D"font-size:0.9em"><br><table style=3D"padding:0.5em;border:1px sol=
id rgb(240,240,240);background:linear-gradient(135deg,rgb(225,255,255) 0%,r=
gb(225,255,255) 7%,rgb(225,255,255) 12%,rgb(253,255,255) 12%,rgb(230,248,25=
3) 30%,rgb(200,238,251) 54%,rgb(190,228,248) 75%,rgb(177,216,245) 100%)"><t=
body><tr><td colspan=3D"2" style=3D"padding-bottom:0.2em"><div style=3D"dis=
play:inline-block">How to contact me:</div></td></tr><tr><td><img alt=3D"" =
style=3D"border: 1px solid rgb(255, 255, 255); display: inline-block; margi=
n: 0px 0.5em 0px 0.2em; vertical-align: top;"></td><td><table><tbody><tr><t=
d>=F0=9F=87=A6=F0=9F=87=BA</td><td style=3D"display:inline-block;padding:0.=
1em 0.35em 0.2em 0.3em;background:linear-gradient(135deg,rgb(255,255,255) 0=
%,rgba(255,255,255,0) 100%)"><a href=3D"tel:00+61+421+641+250" target=3D"_b=
lank">00 61 421 641 250</a></td></tr><tr><td>=F0=9F=87=B3=F0=9F=87=BF</td><=
td style=3D"display:inline-block;padding:0.1em 0.35em 0.2em 0.3em;backgroun=
d:linear-gradient(135deg,rgb(255,255,255) 0%,rgba(255,255,255,0) 100%)"><a =
href=3D"tel:+64-21-1462-759" target=3D"_blank">00 64 21 1462 759</a></td></=
tr><tr><td></td><td style=3D"display:inline-block;padding:0.1em 0.35em 0.2e=
m 0.3em;background:linear-gradient(135deg,rgb(255,255,255) 0%,rgba(255,255,=
255,0) 100%)"><a href=3D"mailto:mullikine@HIDDEN" style=3D"color:rgb(0,0=
,255)" target=3D"_blank">mullikine@HIDDEN</a></td></tr></tbody></table><=
/td></tr></tbody></table></span><br>
</div></div></div></div></div></div></div><br></div><br><div class=3D"gmail=
_quote"><div dir=3D"ltr" class=3D"gmail_attr">On Wed, May 19, 2021 at 11:32=
 AM Shane Mulligan &lt;<a href=3D"mailto:mullikine@HIDDEN" target=3D"_bl=
ank">mullikine@HIDDEN</a>&gt; wrote:<br></div><blockquote class=3D"gmail=
_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204=
,204);padding-left:1ex"><div dir=3D"ltr">My apologies. It was literally 5am=
 when I wrote that. I think I have misunderstood `C-g` being generated with=
 `quit-flag`. The bad behaviour is very clearly still happening. I will try=
 to clarify this problem further by experimenting with it. I need to figure=
 out why `while-no-input` suppresses the `quit` but merely setting `quit-fl=
ag` does not. Something indirect may be happening.=C2=A0<div><br></div><div=
>Thank you all,<br><div><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr">=
<div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr">Shane Mulligan</div><div=
><span style=3D"font-size:0.9em"><br><table style=3D"padding:0.5em;border:1=
px solid rgb(240,240,240);background:linear-gradient(135deg,rgb(225,255,255=
) 0%,rgb(225,255,255) 7%,rgb(225,255,255) 12%,rgb(253,255,255) 12%,rgb(230,=
248,253) 30%,rgb(200,238,251) 54%,rgb(190,228,248) 75%,rgb(177,216,245) 100=
%)"><tbody><tr><td colspan=3D"2" style=3D"padding-bottom:0.2em"><div style=
=3D"display:inline-block">How to contact me:</div></td></tr><tr><td><img al=
t=3D"" style=3D"border: 1px solid rgb(255, 255, 255); display: inline-block=
; margin: 0px 0.5em 0px 0.2em; vertical-align: top;"></td><td><table><tbody=
><tr><td>=F0=9F=87=A6=F0=9F=87=BA</td><td style=3D"display:inline-block;pad=
ding:0.1em 0.35em 0.2em 0.3em;background:linear-gradient(135deg,rgb(255,255=
,255) 0%,rgba(255,255,255,0) 100%)"><a href=3D"tel:00+61+421+641+250" targe=
t=3D"_blank">00 61 421 641 250</a></td></tr><tr><td>=F0=9F=87=B3=F0=9F=87=
=BF</td><td style=3D"display:inline-block;padding:0.1em 0.35em 0.2em 0.3em;=
background:linear-gradient(135deg,rgb(255,255,255) 0%,rgba(255,255,255,0) 1=
00%)"><a href=3D"tel:+64-21-1462-759" target=3D"_blank">00 64 21 1462 759</=
a></td></tr><tr><td></td><td style=3D"display:inline-block;padding:0.1em 0.=
35em 0.2em 0.3em;background:linear-gradient(135deg,rgb(255,255,255) 0%,rgba=
(255,255,255,0) 100%)"><a href=3D"mailto:mullikine@HIDDEN" style=3D"colo=
r:rgb(0,0,255)" target=3D"_blank">mullikine@HIDDEN</a></td></tr></tbody>=
</table></td></tr></tbody></table></span><br>
</div></div></div></div></div></div></div><br></div></div><br><div class=3D=
"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr">On Wed, May 19, 2021 at=
 4:54 AM Eli Zaretskii &lt;<a href=3D"mailto:eliz@HIDDEN" target=3D"_blank=
">eliz@HIDDEN</a>&gt; wrote:<br></div><blockquote class=3D"gmail_quote" st=
yle=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padd=
ing-left:1ex">&gt; From: Shane Mulligan &lt;<a href=3D"mailto:mullikine@gma=
il.com" target=3D"_blank">mullikine@HIDDEN</a>&gt;<br>
&gt; Date: Wed, 19 May 2021 04:32:16 +1200<br>
&gt; <br>
&gt; Thanks for looking into this so quickly. First some background on the =
problem. I managed to work through<br>
&gt; this issue (<a href=3D"https://github.com/emacs-helm/helm/issues/2417"=
 rel=3D"noreferrer" target=3D"_blank">https://github.com/emacs-helm/helm/is=
sues/2417</a>) with the `emacs-helm` maintainer and we<br>
&gt; found what appears to be that the call to `accept-process-output` insi=
de of `url-retrieve-synchronously` will<br>
&gt; generate a `C-g` when there is pending input of any char. As far as I =
can tell this is an issue only with<br>
&gt; terminal emacs. As I understand it, `inhibit-quit`, as used in `accept=
-process-output` allows a `C-g` to be<br>
&gt; propagated outwards and handled and from what I can see by the comment=
s surrounding,<br>
&gt; <br>
&gt; ```<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0;; accept-proces=
s-output returned nil, maybe because the process<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0;; exited (and m=
ay have been replaced with another).=C2=A0 If we got<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0;; a quit, just =
stop.<br>
&gt; ```<br>
&gt; <br>
&gt; the `C-g` in this case is expected.<br>
&gt; <br>
&gt; But I wonder if `C-g` was meant to be generated if the user was simply=
 mashing keys on the keyboard.=C2=A0 In<br>
&gt; this case, the `C-g` emanating from `accept-process-output` was bubbli=
ng up into `helm` and `helm` was<br>
&gt; treating it like an error.<br>
&gt; <br>
&gt; Here, you can see a quit being generated from the visual cue in the mi=
nibuffer.<br>
&gt; <a href=3D"https://asciinema.org/a/nAIB8Z1lGgZJqJg9Mt8YiNEM9" rel=3D"n=
oreferrer" target=3D"_blank">https://asciinema.org/a/nAIB8Z1lGgZJqJg9Mt8YiN=
EM9</a><br>
&gt; <br>
&gt; Here, I have added `while-no-input` and I no longer get the `quit`.<br=
>
&gt; <a href=3D"https://asciinema.org/a/x9ELZhwDP1IUtmOz0M1cly42H" rel=3D"n=
oreferrer" target=3D"_blank">https://asciinema.org/a/x9ELZhwDP1IUtmOz0M1cly=
42H</a><br>
&gt; <br>
&gt; However, as I test the addition of `while-no-input` with `helm-google-=
suggest` (as above), though Quit is no<br>
&gt; longer being generated from mashing keys, the key input which would ha=
ve generated the `quit` is not<br>
&gt; immediately shown in `helm`. Instead, it only appears on the next key =
press. So my implementation may not<br>
&gt; be perfect or complete.<br>
&gt; <br>
&gt; Finding the solution would make the minibuffer far less interrupted wh=
ile typing when<br>
&gt; `url-retrieve-synchronously` is used in the background.<br>
&gt; <br>
&gt; Thank you.<br>
&gt; <br>
&gt; Shane Mulligan<br>
<br>
Please in the future send your responses with the bug address,<br>
<a href=3D"mailto:48500 <at> debbugs.gnu.org" target=3D"_blank">48500@HIDDEN=
u.org</a>, on the CC list, so that others will see your<br>
detailed descriptions.=C2=A0 I won&#39;t have time to take a good look into=
<br>
that in the next few days, so it&#39;s good to make others aware of your<br=
>
findings, because they might look into it meanwhile.<br>
<br>
Personally, I find it very strange that typing on the keyboard<br>
produces C-g, it shouldn&#39;t happen, neither on a TTY nor on a GUI<br>
display.<br>
</blockquote></div>
</blockquote></div></div>
</blockquote></div>
</blockquote></div>

--000000000000cea50405c2ad5fcc--




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#48500; Package emacs. Full text available.

Message received at 48500 <at> debbugs.gnu.org:


Received: (at 48500) by debbugs.gnu.org; 19 May 2021 06:50:05 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed May 19 02:50:05 2021
Received: from localhost ([127.0.0.1]:57821 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1ljG1s-0002n2-Bq
	for submit <at> debbugs.gnu.org; Wed, 19 May 2021 02:50:04 -0400
Received: from mail-yb1-f173.google.com ([209.85.219.173]:45602)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <mullikine@HIDDEN>) id 1ljG1q-0002mV-Hc
 for 48500 <at> debbugs.gnu.org; Wed, 19 May 2021 02:50:03 -0400
Received: by mail-yb1-f173.google.com with SMTP id g38so16636232ybi.12
 for <48500 <at> debbugs.gnu.org>; Tue, 18 May 2021 23:50:02 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=mime-version:references:in-reply-to:from:date:message-id:subject:to;
 bh=/oty3UUmlPnU64Y+yr5+zAEjDKfI1t/2DPd91zANhbc=;
 b=hmg8VlXaKa1ksW7RGDOJDONfMNgfBq+kNdqb+zJ2E/MMKYHHKHAK1dZEYT8rqgHE/Y
 bxkk+QgZUUYJ3xybbUjD9F8me4qGb6HvETTYeXRmVz7vclZ8iAa401j7QIO38kBNJqHf
 sSIKBcs5DfNqspHq2FswhW+ILVwbDCnxihqL/QG96Fp9NzTJVT04CVRyRS3VVGlWrmC4
 sEHSYXBxTdHCDNL8f0HfQJe1kYQiWrWYZno3x2BDaA2YYSsW8J+KJC/kzWJdQv1NO8IV
 YTObDpHxgor2EIPwg24kBfAaKdH21Br7RezRDR9Jhl+aq6fEvC3DbWq7icjH9dSLFo3F
 I+/g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:mime-version:references:in-reply-to:from:date
 :message-id:subject:to;
 bh=/oty3UUmlPnU64Y+yr5+zAEjDKfI1t/2DPd91zANhbc=;
 b=TSkQff4aM6hyU3fabWfnSYp5nTGENVkeqr7W9VG8P8gURplyly9lizIi4+vP1dBGG2
 l6F+gymCnHwD8j/HTeU97zkSxEkfjeSoT1mR5wnY/tWLrKLqeeJhfRrzNHY6aVdnIJLX
 Pfuu1su7ZpdaD/g86sw7AfY8rOLKi+iWVGAHszVecuKJMkxeiJL9rGi3AFd9sFWQwrYR
 AW5kDXpudwU0vpeqgKzQl+XYSMv03wbIHXwasNjsdqYvmmmrLCiHbHakNTSPGq/2D0ds
 ldQC6X//Hwag3EVJWbz68mMbZq7drE9djUIZuqBoD/VQ9nhpWu/ykB3xz61eOH0Mw1aj
 3WEQ==
X-Gm-Message-State: AOAM531BeFq7KI5d9wH34SZUOJXitewYpHlhjaEgf+7D8sYWpfcC/yPG
 8zTKVb/+DIGnxoA0x3Q2PeGdXhoB9GFuWprRBr2Tf7ge5w==
X-Google-Smtp-Source: ABdhPJxHm1R3QicTNwBotV2tgJBhSm/3GSUzPOagBcyMcigrlNpbwmFuZtvKp1lTXhfphTjioZIk3WBxgrr5PDb8W1U=
X-Received: by 2002:a25:81d1:: with SMTP id n17mr14368849ybm.74.1621406996953; 
 Tue, 18 May 2021 23:49:56 -0700 (PDT)
MIME-Version: 1.0
References: <87pmxo4kiu.wl-mullikine@HIDDEN> <8335ukrsj3.fsf@HIDDEN>
 <CACT87JpYLto5_HY8V=9+R3uvC614BxB_H_6gduW7hwnoJL1PDA@HIDDEN>
 <83sg2kq8yc.fsf@HIDDEN>
 <CACT87JqCO5bDpEavNQ28MjUp4xhuXTL+zebU-263b2ZjfAvEVg@HIDDEN>
 <CACT87JpViSY-hr1x+0EVF6ruXy1ZAdb6XAEegv4e0K-47XSCdg@HIDDEN>
In-Reply-To: <CACT87JpViSY-hr1x+0EVF6ruXy1ZAdb6XAEegv4e0K-47XSCdg@HIDDEN>
From: Shane Mulligan <mullikine@HIDDEN>
Date: Wed, 19 May 2021 18:49:46 +1200
Message-ID: <CACT87Jq3vdUrCCPQxt2LWOdx+3+tXX4ff=Yj4-QKG0-zM2xP2g@HIDDEN>
Subject: Re: bug#48500: 28.0.50; url-retrieve-synchronously exits abnormally
 due to pending keyboard input from terminal
To: 48500 <at> debbugs.gnu.org, Eli Zaretskii <eliz@HIDDEN>
Content-Type: multipart/alternative; boundary="00000000000016fd4205c2a93c37"
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 48500
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

--00000000000016fd4205c2a93c37
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi Eli,

I tagged you back in this conversation because I may have fixed the issue
:).

Shane Mulligan

How to contact me:
=F0=9F=87=A6=F0=9F=87=BA 00 61 421 641 250
=F0=9F=87=B3=F0=9F=87=BF 00 64 21 1462 759 <+64-21-1462-759>
mullikine@HIDDEN


On Wed, May 19, 2021 at 6:48 PM Shane Mulligan <mullikine@HIDDEN> wrote:

> I may have resolved this issue with the following patch to
> `url-retrieve-synchronously`.
> What this achieves is to trigger a `quit` in a controlled environment
> rather than allowing it to occur when `accept-process-output` is run.
> It's not always wanted to trigger a quit when `(input-pending-p)` is `t`.
> But I noticed from placing `while-no-input` around `accept-process-output=
`
> to avoid the `quit` that `url-retrieve-synchronously` would then hang but
> with the controlled `quit` happening beforehand, `accept-process-output` =
no
> longer needs `while-no-input` around it. The end result is buttery smooth
> helm with no accidental `quit` from typing too fast. I think this may hav=
e
> resulted in GUI helm faster too.
>
> ```
> 29c29,30
> <       (let ((proc (get-buffer-process asynch-buffer)))
> ---
> >       (let ((proc (get-buffer-process asynch-buffer))
> >             (counter 0))
> 71a73,78
> >             (with-local-quit
> >               (if (input-pending-p)
> >                   (progn
> >                     (setq counter (1+ counter))
> >                     (if (> counter 20)
> >                         (keyboard-quit)))))
> ```
> Shane Mulligan
>
> How to contact me:
> =F0=9F=87=A6=F0=9F=87=BA 00 61 421 641 250
> =F0=9F=87=B3=F0=9F=87=BF 00 64 21 1462 759 <+64-21-1462-759>
> mullikine@HIDDEN
>
>
> On Wed, May 19, 2021 at 11:32 AM Shane Mulligan <mullikine@HIDDEN>
> wrote:
>
>> My apologies. It was literally 5am when I wrote that. I think I have
>> misunderstood `C-g` being generated with `quit-flag`. The bad behaviour =
is
>> very clearly still happening. I will try to clarify this problem further=
 by
>> experimenting with it. I need to figure out why `while-no-input` suppres=
ses
>> the `quit` but merely setting `quit-flag` does not. Something indirect m=
ay
>> be happening.
>>
>> Thank you all,
>> Shane Mulligan
>>
>> How to contact me:
>> =F0=9F=87=A6=F0=9F=87=BA 00 61 421 641 250
>> =F0=9F=87=B3=F0=9F=87=BF 00 64 21 1462 759 <+64-21-1462-759>
>> mullikine@HIDDEN
>>
>>
>> On Wed, May 19, 2021 at 4:54 AM Eli Zaretskii <eliz@HIDDEN> wrote:
>>
>>> > From: Shane Mulligan <mullikine@HIDDEN>
>>> > Date: Wed, 19 May 2021 04:32:16 +1200
>>> >
>>> > Thanks for looking into this so quickly. First some background on the
>>> problem. I managed to work through
>>> > this issue (https://github.com/emacs-helm/helm/issues/2417) with the
>>> `emacs-helm` maintainer and we
>>> > found what appears to be that the call to `accept-process-output`
>>> inside of `url-retrieve-synchronously` will
>>> > generate a `C-g` when there is pending input of any char. As far as I
>>> can tell this is an issue only with
>>> > terminal emacs. As I understand it, `inhibit-quit`, as used in
>>> `accept-process-output` allows a `C-g` to be
>>> > propagated outwards and handled and from what I can see by the
>>> comments surrounding,
>>> >
>>> > ```
>>> >               ;; accept-process-output returned nil, maybe because th=
e
>>> process
>>> >               ;; exited (and may have been replaced with another).  I=
f
>>> we got
>>> >               ;; a quit, just stop.
>>> > ```
>>> >
>>> > the `C-g` in this case is expected.
>>> >
>>> > But I wonder if `C-g` was meant to be generated if the user was simpl=
y
>>> mashing keys on the keyboard.  In
>>> > this case, the `C-g` emanating from `accept-process-output` was
>>> bubbling up into `helm` and `helm` was
>>> > treating it like an error.
>>> >
>>> > Here, you can see a quit being generated from the visual cue in the
>>> minibuffer.
>>> > https://asciinema.org/a/nAIB8Z1lGgZJqJg9Mt8YiNEM9
>>> >
>>> > Here, I have added `while-no-input` and I no longer get the `quit`.
>>> > https://asciinema.org/a/x9ELZhwDP1IUtmOz0M1cly42H
>>> >
>>> > However, as I test the addition of `while-no-input` with
>>> `helm-google-suggest` (as above), though Quit is no
>>> > longer being generated from mashing keys, the key input which would
>>> have generated the `quit` is not
>>> > immediately shown in `helm`. Instead, it only appears on the next key
>>> press. So my implementation may not
>>> > be perfect or complete.
>>> >
>>> > Finding the solution would make the minibuffer far less interrupted
>>> while typing when
>>> > `url-retrieve-synchronously` is used in the background.
>>> >
>>> > Thank you.
>>> >
>>> > Shane Mulligan
>>>
>>> Please in the future send your responses with the bug address,
>>> 48500 <at> debbugs.gnu.org, on the CC list, so that others will see your
>>> detailed descriptions.  I won't have time to take a good look into
>>> that in the next few days, so it's good to make others aware of your
>>> findings, because they might look into it meanwhile.
>>>
>>> Personally, I find it very strange that typing on the keyboard
>>> produces C-g, it shouldn't happen, neither on a TTY nor on a GUI
>>> display.
>>>
>>

--00000000000016fd4205c2a93c37
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Hi Eli,<div><br></div><div>I tagged you back in this conve=
rsation because I may have fixed the issue :).</div><div><div><div dir=3D"l=
tr" class=3D"gmail_signature" data-smartmail=3D"gmail_signature"><div dir=
=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr=
">

<br>Shane Mulligan</div><div><span style=3D"font-size:0.9em"><br><table sty=
le=3D"padding:0.5em;border:1px solid rgb(240,240,240);background:linear-gra=
dient(135deg,rgb(225,255,255) 0%,rgb(225,255,255) 7%,rgb(225,255,255) 12%,r=
gb(253,255,255) 12%,rgb(230,248,253) 30%,rgb(200,238,251) 54%,rgb(190,228,2=
48) 75%,rgb(177,216,245) 100%)"><tbody><tr><td colspan=3D"2" style=3D"paddi=
ng-bottom:0.2em"><div style=3D"display:inline-block">How to contact me:</di=
v></td></tr><tr><td><img alt=3D"" style=3D"border:1px solid rgb(255,255,255=
);display:inline-block;margin:0px 0.5em 0px 0.2em;vertical-align:top"></td>=
<td><table><tbody><tr><td>=F0=9F=87=A6=F0=9F=87=BA</td><td style=3D"display=
:inline-block;padding:0.1em 0.35em 0.2em 0.3em;background:linear-gradient(1=
35deg,rgb(255,255,255) 0%,rgba(255,255,255,0) 100%)"><a href=3D"tel:00+61+4=
21+641+250" target=3D"_blank">00 61 421 641 250</a></td></tr><tr><td>=F0=9F=
=87=B3=F0=9F=87=BF</td><td style=3D"display:inline-block;padding:0.1em 0.35=
em 0.2em 0.3em;background:linear-gradient(135deg,rgb(255,255,255) 0%,rgba(2=
55,255,255,0) 100%)"><a href=3D"tel:+64-21-1462-759" target=3D"_blank">00 6=
4 21 1462 759</a></td></tr><tr><td></td><td style=3D"display:inline-block;p=
adding:0.1em 0.35em 0.2em 0.3em;background:linear-gradient(135deg,rgb(255,2=
55,255) 0%,rgba(255,255,255,0) 100%)"><a href=3D"mailto:mullikine@HIDDEN=
" style=3D"color:rgb(0,0,255)" target=3D"_blank">mullikine@HIDDEN</a></t=
d></tr></tbody></table></td></tr></tbody></table></span><br>
</div></div></div></div></div></div></div><br></div></div><br><div class=3D=
"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr">On Wed, May 19, 2021 at=
 6:48 PM Shane Mulligan &lt;<a href=3D"mailto:mullikine@HIDDEN">mullikin=
e@HIDDEN</a>&gt; wrote:<br></div><blockquote class=3D"gmail_quote" style=
=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding=
-left:1ex"><div dir=3D"ltr"><div dir=3D"ltr"><div>I may have resolved this =
issue with the following patch to `url-retrieve-synchronously`.</div><div>W=
hat this achieves is to trigger a `quit` in a controlled environment rather=
 than allowing it to occur when `accept-process-output` is run.<br></div><d=
iv>It&#39;s not always wanted to trigger a quit when `(input-pending-p)` is=
 `t`. But I noticed from placing `while-no-input` around `accept-process-ou=
tput` to avoid the `quit` that `url-retrieve-synchronously` would then hang=
 but with the controlled `quit` happening beforehand, `accept-process-outpu=
t` no longer needs `while-no-input` around it. The end result is buttery sm=
ooth helm with no accidental `quit` from typing too fast. I think this may =
have resulted in GUI helm faster too.</div><div><br></div><div>```</div>29c=
29,30<br>&lt; =C2=A0 =C2=A0 =C2=A0 (let ((proc (get-buffer-process asynch-b=
uffer)))<br>---<br>&gt; =C2=A0 =C2=A0 =C2=A0 (let ((proc (get-buffer-proces=
s asynch-buffer))<br>&gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (counte=
r 0))<br>71a73,78<br>&gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (with-l=
ocal-quit<br>&gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (if (inp=
ut-pending-p)<br>&gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 (progn<br>&gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 (setq counter (1+ counter))<br>&gt; =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (if (&gt; counter 20)<=
br>&gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 (keyboard-quit)))))<br><div><div dir=3D"ltr"><div dir=3D"=
ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr">``=
`</div><div dir=3D"ltr">Shane Mulligan</div><div><span style=3D"font-size:0=
.9em"><br><table style=3D"padding:0.5em;border:1px solid rgb(240,240,240);b=
ackground:linear-gradient(135deg,rgb(225,255,255) 0%,rgb(225,255,255) 7%,rg=
b(225,255,255) 12%,rgb(253,255,255) 12%,rgb(230,248,253) 30%,rgb(200,238,25=
1) 54%,rgb(190,228,248) 75%,rgb(177,216,245) 100%)"><tbody><tr><td colspan=
=3D"2" style=3D"padding-bottom:0.2em"><div style=3D"display:inline-block">H=
ow to contact me:</div></td></tr><tr><td><img alt=3D"" style=3D"border: 1px=
 solid rgb(255, 255, 255); display: inline-block; margin: 0px 0.5em 0px 0.2=
em; vertical-align: top;"></td><td><table><tbody><tr><td>=F0=9F=87=A6=F0=9F=
=87=BA</td><td style=3D"display:inline-block;padding:0.1em 0.35em 0.2em 0.3=
em;background:linear-gradient(135deg,rgb(255,255,255) 0%,rgba(255,255,255,0=
) 100%)"><a href=3D"tel:00+61+421+641+250" target=3D"_blank">00 61 421 641 =
250</a></td></tr><tr><td>=F0=9F=87=B3=F0=9F=87=BF</td><td style=3D"display:=
inline-block;padding:0.1em 0.35em 0.2em 0.3em;background:linear-gradient(13=
5deg,rgb(255,255,255) 0%,rgba(255,255,255,0) 100%)"><a href=3D"tel:+64-21-1=
462-759" target=3D"_blank">00 64 21 1462 759</a></td></tr><tr><td></td><td =
style=3D"display:inline-block;padding:0.1em 0.35em 0.2em 0.3em;background:l=
inear-gradient(135deg,rgb(255,255,255) 0%,rgba(255,255,255,0) 100%)"><a hre=
f=3D"mailto:mullikine@HIDDEN" style=3D"color:rgb(0,0,255)" target=3D"_bl=
ank">mullikine@HIDDEN</a></td></tr></tbody></table></td></tr></tbody></t=
able></span><br>
</div></div></div></div></div></div></div><br></div><br><div class=3D"gmail=
_quote"><div dir=3D"ltr" class=3D"gmail_attr">On Wed, May 19, 2021 at 11:32=
 AM Shane Mulligan &lt;<a href=3D"mailto:mullikine@HIDDEN" target=3D"_bl=
ank">mullikine@HIDDEN</a>&gt; wrote:<br></div><blockquote class=3D"gmail=
_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204=
,204);padding-left:1ex"><div dir=3D"ltr">My apologies. It was literally 5am=
 when I wrote that. I think I have misunderstood `C-g` being generated with=
 `quit-flag`. The bad behaviour is very clearly still happening. I will try=
 to clarify this problem further by experimenting with it. I need to figure=
 out why `while-no-input` suppresses the `quit` but merely setting `quit-fl=
ag` does not. Something indirect may be happening.=C2=A0<div><br></div><div=
>Thank you all,<br><div><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr">=
<div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr">Shane Mulligan</div><div=
><span style=3D"font-size:0.9em"><br><table style=3D"padding:0.5em;border:1=
px solid rgb(240,240,240);background:linear-gradient(135deg,rgb(225,255,255=
) 0%,rgb(225,255,255) 7%,rgb(225,255,255) 12%,rgb(253,255,255) 12%,rgb(230,=
248,253) 30%,rgb(200,238,251) 54%,rgb(190,228,248) 75%,rgb(177,216,245) 100=
%)"><tbody><tr><td colspan=3D"2" style=3D"padding-bottom:0.2em"><div style=
=3D"display:inline-block">How to contact me:</div></td></tr><tr><td><img al=
t=3D"" style=3D"border: 1px solid rgb(255, 255, 255); display: inline-block=
; margin: 0px 0.5em 0px 0.2em; vertical-align: top;"></td><td><table><tbody=
><tr><td>=F0=9F=87=A6=F0=9F=87=BA</td><td style=3D"display:inline-block;pad=
ding:0.1em 0.35em 0.2em 0.3em;background:linear-gradient(135deg,rgb(255,255=
,255) 0%,rgba(255,255,255,0) 100%)"><a href=3D"tel:00+61+421+641+250" targe=
t=3D"_blank">00 61 421 641 250</a></td></tr><tr><td>=F0=9F=87=B3=F0=9F=87=
=BF</td><td style=3D"display:inline-block;padding:0.1em 0.35em 0.2em 0.3em;=
background:linear-gradient(135deg,rgb(255,255,255) 0%,rgba(255,255,255,0) 1=
00%)"><a href=3D"tel:+64-21-1462-759" target=3D"_blank">00 64 21 1462 759</=
a></td></tr><tr><td></td><td style=3D"display:inline-block;padding:0.1em 0.=
35em 0.2em 0.3em;background:linear-gradient(135deg,rgb(255,255,255) 0%,rgba=
(255,255,255,0) 100%)"><a href=3D"mailto:mullikine@HIDDEN" style=3D"colo=
r:rgb(0,0,255)" target=3D"_blank">mullikine@HIDDEN</a></td></tr></tbody>=
</table></td></tr></tbody></table></span><br>
</div></div></div></div></div></div></div><br></div></div><br><div class=3D=
"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr">On Wed, May 19, 2021 at=
 4:54 AM Eli Zaretskii &lt;<a href=3D"mailto:eliz@HIDDEN" target=3D"_blank=
">eliz@HIDDEN</a>&gt; wrote:<br></div><blockquote class=3D"gmail_quote" st=
yle=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padd=
ing-left:1ex">&gt; From: Shane Mulligan &lt;<a href=3D"mailto:mullikine@gma=
il.com" target=3D"_blank">mullikine@HIDDEN</a>&gt;<br>
&gt; Date: Wed, 19 May 2021 04:32:16 +1200<br>
&gt; <br>
&gt; Thanks for looking into this so quickly. First some background on the =
problem. I managed to work through<br>
&gt; this issue (<a href=3D"https://github.com/emacs-helm/helm/issues/2417"=
 rel=3D"noreferrer" target=3D"_blank">https://github.com/emacs-helm/helm/is=
sues/2417</a>) with the `emacs-helm` maintainer and we<br>
&gt; found what appears to be that the call to `accept-process-output` insi=
de of `url-retrieve-synchronously` will<br>
&gt; generate a `C-g` when there is pending input of any char. As far as I =
can tell this is an issue only with<br>
&gt; terminal emacs. As I understand it, `inhibit-quit`, as used in `accept=
-process-output` allows a `C-g` to be<br>
&gt; propagated outwards and handled and from what I can see by the comment=
s surrounding,<br>
&gt; <br>
&gt; ```<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0;; accept-proces=
s-output returned nil, maybe because the process<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0;; exited (and m=
ay have been replaced with another).=C2=A0 If we got<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0;; a quit, just =
stop.<br>
&gt; ```<br>
&gt; <br>
&gt; the `C-g` in this case is expected.<br>
&gt; <br>
&gt; But I wonder if `C-g` was meant to be generated if the user was simply=
 mashing keys on the keyboard.=C2=A0 In<br>
&gt; this case, the `C-g` emanating from `accept-process-output` was bubbli=
ng up into `helm` and `helm` was<br>
&gt; treating it like an error.<br>
&gt; <br>
&gt; Here, you can see a quit being generated from the visual cue in the mi=
nibuffer.<br>
&gt; <a href=3D"https://asciinema.org/a/nAIB8Z1lGgZJqJg9Mt8YiNEM9" rel=3D"n=
oreferrer" target=3D"_blank">https://asciinema.org/a/nAIB8Z1lGgZJqJg9Mt8YiN=
EM9</a><br>
&gt; <br>
&gt; Here, I have added `while-no-input` and I no longer get the `quit`.<br=
>
&gt; <a href=3D"https://asciinema.org/a/x9ELZhwDP1IUtmOz0M1cly42H" rel=3D"n=
oreferrer" target=3D"_blank">https://asciinema.org/a/x9ELZhwDP1IUtmOz0M1cly=
42H</a><br>
&gt; <br>
&gt; However, as I test the addition of `while-no-input` with `helm-google-=
suggest` (as above), though Quit is no<br>
&gt; longer being generated from mashing keys, the key input which would ha=
ve generated the `quit` is not<br>
&gt; immediately shown in `helm`. Instead, it only appears on the next key =
press. So my implementation may not<br>
&gt; be perfect or complete.<br>
&gt; <br>
&gt; Finding the solution would make the minibuffer far less interrupted wh=
ile typing when<br>
&gt; `url-retrieve-synchronously` is used in the background.<br>
&gt; <br>
&gt; Thank you.<br>
&gt; <br>
&gt; Shane Mulligan<br>
<br>
Please in the future send your responses with the bug address,<br>
<a href=3D"mailto:48500 <at> debbugs.gnu.org" target=3D"_blank">48500@HIDDEN=
u.org</a>, on the CC list, so that others will see your<br>
detailed descriptions.=C2=A0 I won&#39;t have time to take a good look into=
<br>
that in the next few days, so it&#39;s good to make others aware of your<br=
>
findings, because they might look into it meanwhile.<br>
<br>
Personally, I find it very strange that typing on the keyboard<br>
produces C-g, it shouldn&#39;t happen, neither on a TTY nor on a GUI<br>
display.<br>
</blockquote></div>
</blockquote></div></div>
</blockquote></div>

--00000000000016fd4205c2a93c37--




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#48500; Package emacs. Full text available.

Message received at 48500 <at> debbugs.gnu.org:


Received: (at 48500) by debbugs.gnu.org; 19 May 2021 06:48:28 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed May 19 02:48:28 2021
Received: from localhost ([127.0.0.1]:57817 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1ljG0J-0002kT-Ee
	for submit <at> debbugs.gnu.org; Wed, 19 May 2021 02:48:28 -0400
Received: from mail-yb1-f182.google.com ([209.85.219.182]:40820)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <mullikine@HIDDEN>) id 1ljG0H-0002kG-Uu
 for 48500 <at> debbugs.gnu.org; Wed, 19 May 2021 02:48:26 -0400
Received: by mail-yb1-f182.google.com with SMTP id 191so10761099ybn.7
 for <48500 <at> debbugs.gnu.org>; Tue, 18 May 2021 23:48:25 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=mime-version:references:in-reply-to:from:date:message-id:subject:to;
 bh=Ox6hTkh1JXUHqpi+tat+MC43CVcQkzXPN0h0YpaQa4A=;
 b=h3KE4bvgRNH1jZeS5S8VLnY0v5DyG8ieZP7GrZnXJCVovg7E+9ueIUhP8JVXDxRzTa
 JQ9loQBOwe4VNHWm9DG9J9vbCgf6J3U5OPHfeLGGVCJhCTZWcMfS2SXre44XRLXTxnMr
 xq5rKLDfQC+JxvIlMhrRL+m97wz03hITMkahIEH7ZOtkmCxaKG+N7m4cPy6opV1Z6F2X
 n+Dw8kBhfQtay/ZqiVjtN/oHdGA+3pUeedJzEhualV8sv5OjMAZA0js+SvwqtZSiuTH1
 zgFWXfwBWBQTxBlzfYVuz2Z/PK3yJ8d5ggg1pcpeOX6dXAKIVdnkC8OV9446ZzhXZrIz
 G19g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:mime-version:references:in-reply-to:from:date
 :message-id:subject:to;
 bh=Ox6hTkh1JXUHqpi+tat+MC43CVcQkzXPN0h0YpaQa4A=;
 b=gsIvZcK3tQHCH4hQtZTE7qcbe5gSZmgIfwp0uka0g20MMmQfXRX2nX78+7SAUO2QjD
 DcAYBeBsSuZvPnHkl2I1K5M604bf0rpNm5c7FlBmYTDmOBsvGnj4RFquMPfPdzwC2Mfj
 AtxIa9iIPa6hucvJYBhJOCwJaHYTZwKms9DsAz4Cuhr0fYFL7z+DNf6/LbYR6XTn19It
 iaqODgFp1o/TmuBuzYTgjjn2xSwKgJDImWVaJ0unvqnoxgAoRLVZ6Kyd3Ph0f2lVvnhF
 37eraThy4lXu0GCIUby68sjQxzeHc5IkX80zUtj1bEHnP+Nce8ySzbqDpK4HtudT+M+F
 956Q==
X-Gm-Message-State: AOAM533NViNTLapXzrOS7lx+YEhPjnN1cbP3BP029qbaJo/TE/gv+twc
 J/APdEZUyc/aH6WUSdLgzK820Eo4QV2YQKIFv+TgKSrLMqZP
X-Google-Smtp-Source: ABdhPJynpzF7B8EgRo87CC7GLVdj+4OWP6yQu6WXA8JPgOJRS1LYcvLylg9Rzp24KVZtHhMd9jvQFkKYryFfs2afHrg=
X-Received: by 2002:a25:b108:: with SMTP id g8mr13812045ybj.472.1621406900117; 
 Tue, 18 May 2021 23:48:20 -0700 (PDT)
MIME-Version: 1.0
References: <87pmxo4kiu.wl-mullikine@HIDDEN> <8335ukrsj3.fsf@HIDDEN>
 <CACT87JpYLto5_HY8V=9+R3uvC614BxB_H_6gduW7hwnoJL1PDA@HIDDEN>
 <83sg2kq8yc.fsf@HIDDEN>
 <CACT87JqCO5bDpEavNQ28MjUp4xhuXTL+zebU-263b2ZjfAvEVg@HIDDEN>
In-Reply-To: <CACT87JqCO5bDpEavNQ28MjUp4xhuXTL+zebU-263b2ZjfAvEVg@HIDDEN>
From: Shane Mulligan <mullikine@HIDDEN>
Date: Wed, 19 May 2021 18:48:09 +1200
Message-ID: <CACT87JpViSY-hr1x+0EVF6ruXy1ZAdb6XAEegv4e0K-47XSCdg@HIDDEN>
Subject: Re: bug#48500: 28.0.50; url-retrieve-synchronously exits abnormally
 due to pending keyboard input from terminal
To: 48500 <at> debbugs.gnu.org
Content-Type: multipart/alternative; boundary="0000000000005161eb05c2a93684"
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 48500
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

--0000000000005161eb05c2a93684
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

I may have resolved this issue with the following patch to
`url-retrieve-synchronously`.
What this achieves is to trigger a `quit` in a controlled environment
rather than allowing it to occur when `accept-process-output` is run.
It's not always wanted to trigger a quit when `(input-pending-p)` is `t`.
But I noticed from placing `while-no-input` around `accept-process-output`
to avoid the `quit` that `url-retrieve-synchronously` would then hang but
with the controlled `quit` happening beforehand, `accept-process-output` no
longer needs `while-no-input` around it. The end result is buttery smooth
helm with no accidental `quit` from typing too fast. I think this may have
resulted in GUI helm faster too.

```
29c29,30
<       (let ((proc (get-buffer-process asynch-buffer)))
---
>       (let ((proc (get-buffer-process asynch-buffer))
>             (counter 0))
71a73,78
>             (with-local-quit
>               (if (input-pending-p)
>                   (progn
>                     (setq counter (1+ counter))
>                     (if (> counter 20)
>                         (keyboard-quit)))))
```
Shane Mulligan

How to contact me:
=F0=9F=87=A6=F0=9F=87=BA 00 61 421 641 250
=F0=9F=87=B3=F0=9F=87=BF 00 64 21 1462 759 <+64-21-1462-759>
mullikine@HIDDEN


On Wed, May 19, 2021 at 11:32 AM Shane Mulligan <mullikine@HIDDEN> wrote=
:

> My apologies. It was literally 5am when I wrote that. I think I have
> misunderstood `C-g` being generated with `quit-flag`. The bad behaviour i=
s
> very clearly still happening. I will try to clarify this problem further =
by
> experimenting with it. I need to figure out why `while-no-input` suppress=
es
> the `quit` but merely setting `quit-flag` does not. Something indirect ma=
y
> be happening.
>
> Thank you all,
> Shane Mulligan
>
> How to contact me:
> =F0=9F=87=A6=F0=9F=87=BA 00 61 421 641 250
> =F0=9F=87=B3=F0=9F=87=BF 00 64 21 1462 759 <+64-21-1462-759>
> mullikine@HIDDEN
>
>
> On Wed, May 19, 2021 at 4:54 AM Eli Zaretskii <eliz@HIDDEN> wrote:
>
>> > From: Shane Mulligan <mullikine@HIDDEN>
>> > Date: Wed, 19 May 2021 04:32:16 +1200
>> >
>> > Thanks for looking into this so quickly. First some background on the
>> problem. I managed to work through
>> > this issue (https://github.com/emacs-helm/helm/issues/2417) with the
>> `emacs-helm` maintainer and we
>> > found what appears to be that the call to `accept-process-output`
>> inside of `url-retrieve-synchronously` will
>> > generate a `C-g` when there is pending input of any char. As far as I
>> can tell this is an issue only with
>> > terminal emacs. As I understand it, `inhibit-quit`, as used in
>> `accept-process-output` allows a `C-g` to be
>> > propagated outwards and handled and from what I can see by the comment=
s
>> surrounding,
>> >
>> > ```
>> >               ;; accept-process-output returned nil, maybe because the
>> process
>> >               ;; exited (and may have been replaced with another).  If
>> we got
>> >               ;; a quit, just stop.
>> > ```
>> >
>> > the `C-g` in this case is expected.
>> >
>> > But I wonder if `C-g` was meant to be generated if the user was simply
>> mashing keys on the keyboard.  In
>> > this case, the `C-g` emanating from `accept-process-output` was
>> bubbling up into `helm` and `helm` was
>> > treating it like an error.
>> >
>> > Here, you can see a quit being generated from the visual cue in the
>> minibuffer.
>> > https://asciinema.org/a/nAIB8Z1lGgZJqJg9Mt8YiNEM9
>> >
>> > Here, I have added `while-no-input` and I no longer get the `quit`.
>> > https://asciinema.org/a/x9ELZhwDP1IUtmOz0M1cly42H
>> >
>> > However, as I test the addition of `while-no-input` with
>> `helm-google-suggest` (as above), though Quit is no
>> > longer being generated from mashing keys, the key input which would
>> have generated the `quit` is not
>> > immediately shown in `helm`. Instead, it only appears on the next key
>> press. So my implementation may not
>> > be perfect or complete.
>> >
>> > Finding the solution would make the minibuffer far less interrupted
>> while typing when
>> > `url-retrieve-synchronously` is used in the background.
>> >
>> > Thank you.
>> >
>> > Shane Mulligan
>>
>> Please in the future send your responses with the bug address,
>> 48500 <at> debbugs.gnu.org, on the CC list, so that others will see your
>> detailed descriptions.  I won't have time to take a good look into
>> that in the next few days, so it's good to make others aware of your
>> findings, because they might look into it meanwhile.
>>
>> Personally, I find it very strange that typing on the keyboard
>> produces C-g, it shouldn't happen, neither on a TTY nor on a GUI
>> display.
>>
>

--0000000000005161eb05c2a93684
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr"><div>I may have resolved this issue with =
the following patch to `url-retrieve-synchronously`.</div><div>What this ac=
hieves is to trigger a `quit` in a controlled environment rather than allow=
ing it to occur when `accept-process-output` is run.<br></div><div>It&#39;s=
 not always wanted to trigger a quit when `(input-pending-p)` is `t`. But I=
 noticed from placing `while-no-input` around `accept-process-output` to av=
oid the `quit` that `url-retrieve-synchronously` would then hang but with t=
he controlled `quit` happening beforehand, `accept-process-output` no longe=
r needs `while-no-input` around it. The end result is buttery smooth helm w=
ith no accidental `quit` from typing too fast. I think this may have result=
ed in GUI helm faster too.</div><div><br></div><div>```</div>29c29,30<br>&l=
t; =C2=A0 =C2=A0 =C2=A0 (let ((proc (get-buffer-process asynch-buffer)))<br=
>---<br>&gt; =C2=A0 =C2=A0 =C2=A0 (let ((proc (get-buffer-process asynch-bu=
ffer))<br>&gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (counter 0))<br>71=
a73,78<br>&gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (with-local-quit<b=
r>&gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (if (input-pending-=
p)<br>&gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (=
progn<br>&gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 (setq counter (1+ counter))<br>&gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (if (&gt; counter 20)<br>&gt; =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 (keyboard-quit)))))<br><div><div dir=3D"ltr" class=3D"gmail_signatur=
e" data-smartmail=3D"gmail_signature"><div dir=3D"ltr"><div dir=3D"ltr"><di=
v dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr">```</div><div dir=3D"ltr">S=
hane Mulligan</div><div><span style=3D"font-size:0.9em"><br><table style=3D=
"padding:0.5em;border:1px solid rgb(240,240,240);background:linear-gradient=
(135deg,rgb(225,255,255) 0%,rgb(225,255,255) 7%,rgb(225,255,255) 12%,rgb(25=
3,255,255) 12%,rgb(230,248,253) 30%,rgb(200,238,251) 54%,rgb(190,228,248) 7=
5%,rgb(177,216,245) 100%)"><tbody><tr><td colspan=3D"2" style=3D"padding-bo=
ttom:0.2em"><div style=3D"display:inline-block">How to contact me:</div></t=
d></tr><tr><td><img alt=3D"" style=3D"border:1px solid rgb(255,255,255);dis=
play:inline-block;margin:0px 0.5em 0px 0.2em;vertical-align:top"></td><td><=
table><tbody><tr><td>=F0=9F=87=A6=F0=9F=87=BA</td><td style=3D"display:inli=
ne-block;padding:0.1em 0.35em 0.2em 0.3em;background:linear-gradient(135deg=
,rgb(255,255,255) 0%,rgba(255,255,255,0) 100%)"><a href=3D"tel:00+61+421+64=
1+250" target=3D"_blank">00 61 421 641 250</a></td></tr><tr><td>=F0=9F=87=
=B3=F0=9F=87=BF</td><td style=3D"display:inline-block;padding:0.1em 0.35em =
0.2em 0.3em;background:linear-gradient(135deg,rgb(255,255,255) 0%,rgba(255,=
255,255,0) 100%)"><a href=3D"tel:+64-21-1462-759" target=3D"_blank">00 64 2=
1 1462 759</a></td></tr><tr><td></td><td style=3D"display:inline-block;padd=
ing:0.1em 0.35em 0.2em 0.3em;background:linear-gradient(135deg,rgb(255,255,=
255) 0%,rgba(255,255,255,0) 100%)"><a href=3D"mailto:mullikine@HIDDEN" s=
tyle=3D"color:rgb(0,0,255)" target=3D"_blank">mullikine@HIDDEN</a></td><=
/tr></tbody></table></td></tr></tbody></table></span><br>
</div></div></div></div></div></div></div><br></div><br><div class=3D"gmail=
_quote"><div dir=3D"ltr" class=3D"gmail_attr">On Wed, May 19, 2021 at 11:32=
 AM Shane Mulligan &lt;<a href=3D"mailto:mullikine@HIDDEN">mullikine@gma=
il.com</a>&gt; wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"m=
argin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left=
:1ex"><div dir=3D"ltr">My apologies. It was literally 5am when I wrote that=
. I think I have misunderstood `C-g` being generated with `quit-flag`. The =
bad behaviour is very clearly still happening. I will try to clarify this p=
roblem further by experimenting with it. I need to figure out why `while-no=
-input` suppresses the `quit` but merely setting `quit-flag` does not. Some=
thing indirect may be happening.=C2=A0<div><br></div><div>Thank you all,<br=
><div><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><=
div dir=3D"ltr"><div dir=3D"ltr">Shane Mulligan</div><div><span style=3D"fo=
nt-size:0.9em"><br><table style=3D"padding:0.5em;border:1px solid rgb(240,2=
40,240);background:linear-gradient(135deg,rgb(225,255,255) 0%,rgb(225,255,2=
55) 7%,rgb(225,255,255) 12%,rgb(253,255,255) 12%,rgb(230,248,253) 30%,rgb(2=
00,238,251) 54%,rgb(190,228,248) 75%,rgb(177,216,245) 100%)"><tbody><tr><td=
 colspan=3D"2" style=3D"padding-bottom:0.2em"><div style=3D"display:inline-=
block">How to contact me:</div></td></tr><tr><td><img alt=3D"" style=3D"bor=
der: 1px solid rgb(255, 255, 255); display: inline-block; margin: 0px 0.5em=
 0px 0.2em; vertical-align: top;"></td><td><table><tbody><tr><td>=F0=9F=87=
=A6=F0=9F=87=BA</td><td style=3D"display:inline-block;padding:0.1em 0.35em =
0.2em 0.3em;background:linear-gradient(135deg,rgb(255,255,255) 0%,rgba(255,=
255,255,0) 100%)"><a href=3D"tel:00+61+421+641+250" target=3D"_blank">00 61=
 421 641 250</a></td></tr><tr><td>=F0=9F=87=B3=F0=9F=87=BF</td><td style=3D=
"display:inline-block;padding:0.1em 0.35em 0.2em 0.3em;background:linear-gr=
adient(135deg,rgb(255,255,255) 0%,rgba(255,255,255,0) 100%)"><a href=3D"tel=
:+64-21-1462-759" target=3D"_blank">00 64 21 1462 759</a></td></tr><tr><td>=
</td><td style=3D"display:inline-block;padding:0.1em 0.35em 0.2em 0.3em;bac=
kground:linear-gradient(135deg,rgb(255,255,255) 0%,rgba(255,255,255,0) 100%=
)"><a href=3D"mailto:mullikine@HIDDEN" style=3D"color:rgb(0,0,255)" targ=
et=3D"_blank">mullikine@HIDDEN</a></td></tr></tbody></table></td></tr></=
tbody></table></span><br>
</div></div></div></div></div></div></div><br></div></div><br><div class=3D=
"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr">On Wed, May 19, 2021 at=
 4:54 AM Eli Zaretskii &lt;<a href=3D"mailto:eliz@HIDDEN" target=3D"_blank=
">eliz@HIDDEN</a>&gt; wrote:<br></div><blockquote class=3D"gmail_quote" st=
yle=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padd=
ing-left:1ex">&gt; From: Shane Mulligan &lt;<a href=3D"mailto:mullikine@gma=
il.com" target=3D"_blank">mullikine@HIDDEN</a>&gt;<br>
&gt; Date: Wed, 19 May 2021 04:32:16 +1200<br>
&gt; <br>
&gt; Thanks for looking into this so quickly. First some background on the =
problem. I managed to work through<br>
&gt; this issue (<a href=3D"https://github.com/emacs-helm/helm/issues/2417"=
 rel=3D"noreferrer" target=3D"_blank">https://github.com/emacs-helm/helm/is=
sues/2417</a>) with the `emacs-helm` maintainer and we<br>
&gt; found what appears to be that the call to `accept-process-output` insi=
de of `url-retrieve-synchronously` will<br>
&gt; generate a `C-g` when there is pending input of any char. As far as I =
can tell this is an issue only with<br>
&gt; terminal emacs. As I understand it, `inhibit-quit`, as used in `accept=
-process-output` allows a `C-g` to be<br>
&gt; propagated outwards and handled and from what I can see by the comment=
s surrounding,<br>
&gt; <br>
&gt; ```<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0;; accept-proces=
s-output returned nil, maybe because the process<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0;; exited (and m=
ay have been replaced with another).=C2=A0 If we got<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0;; a quit, just =
stop.<br>
&gt; ```<br>
&gt; <br>
&gt; the `C-g` in this case is expected.<br>
&gt; <br>
&gt; But I wonder if `C-g` was meant to be generated if the user was simply=
 mashing keys on the keyboard.=C2=A0 In<br>
&gt; this case, the `C-g` emanating from `accept-process-output` was bubbli=
ng up into `helm` and `helm` was<br>
&gt; treating it like an error.<br>
&gt; <br>
&gt; Here, you can see a quit being generated from the visual cue in the mi=
nibuffer.<br>
&gt; <a href=3D"https://asciinema.org/a/nAIB8Z1lGgZJqJg9Mt8YiNEM9" rel=3D"n=
oreferrer" target=3D"_blank">https://asciinema.org/a/nAIB8Z1lGgZJqJg9Mt8YiN=
EM9</a><br>
&gt; <br>
&gt; Here, I have added `while-no-input` and I no longer get the `quit`.<br=
>
&gt; <a href=3D"https://asciinema.org/a/x9ELZhwDP1IUtmOz0M1cly42H" rel=3D"n=
oreferrer" target=3D"_blank">https://asciinema.org/a/x9ELZhwDP1IUtmOz0M1cly=
42H</a><br>
&gt; <br>
&gt; However, as I test the addition of `while-no-input` with `helm-google-=
suggest` (as above), though Quit is no<br>
&gt; longer being generated from mashing keys, the key input which would ha=
ve generated the `quit` is not<br>
&gt; immediately shown in `helm`. Instead, it only appears on the next key =
press. So my implementation may not<br>
&gt; be perfect or complete.<br>
&gt; <br>
&gt; Finding the solution would make the minibuffer far less interrupted wh=
ile typing when<br>
&gt; `url-retrieve-synchronously` is used in the background.<br>
&gt; <br>
&gt; Thank you.<br>
&gt; <br>
&gt; Shane Mulligan<br>
<br>
Please in the future send your responses with the bug address,<br>
<a href=3D"mailto:48500 <at> debbugs.gnu.org" target=3D"_blank">48500@HIDDEN=
u.org</a>, on the CC list, so that others will see your<br>
detailed descriptions.=C2=A0 I won&#39;t have time to take a good look into=
<br>
that in the next few days, so it&#39;s good to make others aware of your<br=
>
findings, because they might look into it meanwhile.<br>
<br>
Personally, I find it very strange that typing on the keyboard<br>
produces C-g, it shouldn&#39;t happen, neither on a TTY nor on a GUI<br>
display.<br>
</blockquote></div>
</blockquote></div></div>

--0000000000005161eb05c2a93684--




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#48500; Package emacs. Full text available.

Message received at 48500 <at> debbugs.gnu.org:


Received: (at 48500) by debbugs.gnu.org; 19 May 2021 00:55:40 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue May 18 20:55:40 2021
Received: from localhost ([127.0.0.1]:57615 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1ljAUu-0002cg-7Q
	for submit <at> debbugs.gnu.org; Tue, 18 May 2021 20:55:40 -0400
Received: from mail-yb1-f177.google.com ([209.85.219.177]:35498)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <mullikine@HIDDEN>) id 1lj9CZ-0000ch-Oc
 for 48500 <at> debbugs.gnu.org; Tue, 18 May 2021 19:32:40 -0400
Received: by mail-yb1-f177.google.com with SMTP id i4so15646860ybe.2
 for <48500 <at> debbugs.gnu.org>; Tue, 18 May 2021 16:32:39 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=mime-version:references:in-reply-to:from:date:message-id:subject:to;
 bh=aeBuQ1L13DzOPBjB12ZVq/bptdMWYwvEgPQsfSZzYhs=;
 b=c2R+GyWeTxNJn0PuSXZJK4e6ZU94xM8I7QFWZN5B10JOY5tRuSuEMFtLvEaUHxVjtI
 sm+lqGqSLuNnovvr2O2s6taBQoYTIkcBglRvb/wbcUCQlUD4mZgDvvEuZffHWbpX8gjg
 T7khj13KzjuSnNykm9gxhs/nP46FXB/7lVgqLLNdqe9JvjptPLe5HVW/rFykTRx3YQm3
 ElT8EHUGkgonEgsMdirIJ6nPE3OVrTKffwj0wQ2SsmM/Cam4PH4bu5mOJYMhgmF3mpaJ
 KBfKlXf1qJuOdj3XgNrNXRWydILjPyaEEhY4NYxlV4ou7lg1pcG+JOdEz+sK1OKDEwsB
 kBGA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:mime-version:references:in-reply-to:from:date
 :message-id:subject:to;
 bh=aeBuQ1L13DzOPBjB12ZVq/bptdMWYwvEgPQsfSZzYhs=;
 b=r/d7iJtLX0FmwG0Y+U/mCUQuggOinQTuDaPDxZ8YV/78fGDTggRUpZBG/TjwmiRQn9
 ngeQQ449FcXysNIUeeoBkmttyvejN9uLXtBdLzZjF1VGW+PcyiLyPt8mfRyYzt1DzvK6
 Z91COdg1WGpMo6kDZ569+iklOzkvji5XTD5dRwOipsBOd3G+RtagsB+BJ65zd9aXnq8y
 wobvjjmQA3QEY6Sz3DR+FOkwlZIiAs5KP62Rfjgf/99hCwlGfRkxOVhjCeN6uXccxtrY
 cpG/OuaibulP38SbIKeQFCEtqKROd2aNN7iDV2WdOT+J9JBHSC7Fd8hfFEXZwFozlSgA
 th/g==
X-Gm-Message-State: AOAM532aE0HofC1i5qvtiZaN9tj9hMUBBWihlpig3bEG17pBJJiF2s9n
 ODI6ITbxCH4nIoiC/7rO5l/He1p3fxC20ZhhORV/P7u73L7Z
X-Google-Smtp-Source: ABdhPJznHxU6rSgKBE/pES2BSc15MJl30TiXvk7sVUl/zK+KZmW7BuRIMw2W9yPmnpGhdh2KVtNUqMUVreS3iFcHYnU=
X-Received: by 2002:a25:a466:: with SMTP id f93mr10663771ybi.264.1621380754026; 
 Tue, 18 May 2021 16:32:34 -0700 (PDT)
MIME-Version: 1.0
References: <87pmxo4kiu.wl-mullikine@HIDDEN> <8335ukrsj3.fsf@HIDDEN>
 <CACT87JpYLto5_HY8V=9+R3uvC614BxB_H_6gduW7hwnoJL1PDA@HIDDEN>
 <83sg2kq8yc.fsf@HIDDEN>
In-Reply-To: <83sg2kq8yc.fsf@HIDDEN>
From: Shane Mulligan <mullikine@HIDDEN>
Date: Wed, 19 May 2021 11:32:23 +1200
Message-ID: <CACT87JqCO5bDpEavNQ28MjUp4xhuXTL+zebU-263b2ZjfAvEVg@HIDDEN>
Subject: Re: bug#48500: 28.0.50; url-retrieve-synchronously exits abnormally
 due to pending keyboard input from terminal
To: 48500 <at> debbugs.gnu.org
Content-Type: multipart/alternative; boundary="000000000000e3b50505c2a31f6e"
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 48500
X-Mailman-Approved-At: Tue, 18 May 2021 20:55:39 -0400
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

--000000000000e3b50505c2a31f6e
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

My apologies. It was literally 5am when I wrote that. I think I have
misunderstood `C-g` being generated with `quit-flag`. The bad behaviour is
very clearly still happening. I will try to clarify this problem further by
experimenting with it. I need to figure out why `while-no-input` suppresses
the `quit` but merely setting `quit-flag` does not. Something indirect may
be happening.

Thank you all,
Shane Mulligan

How to contact me:
=F0=9F=87=A6=F0=9F=87=BA 00 61 421 641 250
=F0=9F=87=B3=F0=9F=87=BF 00 64 21 1462 759 <+64-21-1462-759>
mullikine@HIDDEN


On Wed, May 19, 2021 at 4:54 AM Eli Zaretskii <eliz@HIDDEN> wrote:

> > From: Shane Mulligan <mullikine@HIDDEN>
> > Date: Wed, 19 May 2021 04:32:16 +1200
> >
> > Thanks for looking into this so quickly. First some background on the
> problem. I managed to work through
> > this issue (https://github.com/emacs-helm/helm/issues/2417) with the
> `emacs-helm` maintainer and we
> > found what appears to be that the call to `accept-process-output` insid=
e
> of `url-retrieve-synchronously` will
> > generate a `C-g` when there is pending input of any char. As far as I
> can tell this is an issue only with
> > terminal emacs. As I understand it, `inhibit-quit`, as used in
> `accept-process-output` allows a `C-g` to be
> > propagated outwards and handled and from what I can see by the comments
> surrounding,
> >
> > ```
> >               ;; accept-process-output returned nil, maybe because the
> process
> >               ;; exited (and may have been replaced with another).  If
> we got
> >               ;; a quit, just stop.
> > ```
> >
> > the `C-g` in this case is expected.
> >
> > But I wonder if `C-g` was meant to be generated if the user was simply
> mashing keys on the keyboard.  In
> > this case, the `C-g` emanating from `accept-process-output` was bubblin=
g
> up into `helm` and `helm` was
> > treating it like an error.
> >
> > Here, you can see a quit being generated from the visual cue in the
> minibuffer.
> > https://asciinema.org/a/nAIB8Z1lGgZJqJg9Mt8YiNEM9
> >
> > Here, I have added `while-no-input` and I no longer get the `quit`.
> > https://asciinema.org/a/x9ELZhwDP1IUtmOz0M1cly42H
> >
> > However, as I test the addition of `while-no-input` with
> `helm-google-suggest` (as above), though Quit is no
> > longer being generated from mashing keys, the key input which would hav=
e
> generated the `quit` is not
> > immediately shown in `helm`. Instead, it only appears on the next key
> press. So my implementation may not
> > be perfect or complete.
> >
> > Finding the solution would make the minibuffer far less interrupted
> while typing when
> > `url-retrieve-synchronously` is used in the background.
> >
> > Thank you.
> >
> > Shane Mulligan
>
> Please in the future send your responses with the bug address,
> 48500 <at> debbugs.gnu.org, on the CC list, so that others will see your
> detailed descriptions.  I won't have time to take a good look into
> that in the next few days, so it's good to make others aware of your
> findings, because they might look into it meanwhile.
>
> Personally, I find it very strange that typing on the keyboard
> produces C-g, it shouldn't happen, neither on a TTY nor on a GUI
> display.
>

--000000000000e3b50505c2a31f6e
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">My apologies. It was literally 5am when I wrote that. I th=
ink I have misunderstood `C-g` being generated with `quit-flag`. The bad be=
haviour is very clearly still happening. I will try to clarify this problem=
 further by experimenting with it. I need to figure out why `while-no-input=
` suppresses the `quit` but merely setting `quit-flag` does not. Something =
indirect may be happening.=C2=A0<div><br></div><div>Thank you all,<br><div>=
<div dir=3D"ltr" class=3D"gmail_signature" data-smartmail=3D"gmail_signatur=
e"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div=
 dir=3D"ltr">Shane Mulligan</div><div><span style=3D"font-size:0.9em"><br><=
table style=3D"padding:0.5em;border:1px solid rgb(240,240,240);background:l=
inear-gradient(135deg,rgb(225,255,255) 0%,rgb(225,255,255) 7%,rgb(225,255,2=
55) 12%,rgb(253,255,255) 12%,rgb(230,248,253) 30%,rgb(200,238,251) 54%,rgb(=
190,228,248) 75%,rgb(177,216,245) 100%)"><tbody><tr><td colspan=3D"2" style=
=3D"padding-bottom:0.2em"><div style=3D"display:inline-block">How to contac=
t me:</div></td></tr><tr><td><img alt=3D"" style=3D"border:1px solid rgb(25=
5,255,255);display:inline-block;margin:0px 0.5em 0px 0.2em;vertical-align:t=
op"></td><td><table><tbody><tr><td>=F0=9F=87=A6=F0=9F=87=BA</td><td style=
=3D"display:inline-block;padding:0.1em 0.35em 0.2em 0.3em;background:linear=
-gradient(135deg,rgb(255,255,255) 0%,rgba(255,255,255,0) 100%)"><a href=3D"=
tel:00+61+421+641+250" target=3D"_blank">00 61 421 641 250</a></td></tr><tr=
><td>=F0=9F=87=B3=F0=9F=87=BF</td><td style=3D"display:inline-block;padding=
:0.1em 0.35em 0.2em 0.3em;background:linear-gradient(135deg,rgb(255,255,255=
) 0%,rgba(255,255,255,0) 100%)"><a href=3D"tel:+64-21-1462-759" target=3D"_=
blank">00 64 21 1462 759</a></td></tr><tr><td></td><td style=3D"display:inl=
ine-block;padding:0.1em 0.35em 0.2em 0.3em;background:linear-gradient(135de=
g,rgb(255,255,255) 0%,rgba(255,255,255,0) 100%)"><a href=3D"mailto:mullikin=
e@HIDDEN" style=3D"color:rgb(0,0,255)" target=3D"_blank">mullikine@gmail=
.com</a></td></tr></tbody></table></td></tr></tbody></table></span><br>
</div></div></div></div></div></div></div><br></div></div><br><div class=3D=
"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr">On Wed, May 19, 2021 at=
 4:54 AM Eli Zaretskii &lt;<a href=3D"mailto:eliz@HIDDEN">eliz@HIDDEN</a>=
&gt; wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px =
0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">&gt;=
 From: Shane Mulligan &lt;<a href=3D"mailto:mullikine@HIDDEN" target=3D"=
_blank">mullikine@HIDDEN</a>&gt;<br>
&gt; Date: Wed, 19 May 2021 04:32:16 +1200<br>
&gt; <br>
&gt; Thanks for looking into this so quickly. First some background on the =
problem. I managed to work through<br>
&gt; this issue (<a href=3D"https://github.com/emacs-helm/helm/issues/2417"=
 rel=3D"noreferrer" target=3D"_blank">https://github.com/emacs-helm/helm/is=
sues/2417</a>) with the `emacs-helm` maintainer and we<br>
&gt; found what appears to be that the call to `accept-process-output` insi=
de of `url-retrieve-synchronously` will<br>
&gt; generate a `C-g` when there is pending input of any char. As far as I =
can tell this is an issue only with<br>
&gt; terminal emacs. As I understand it, `inhibit-quit`, as used in `accept=
-process-output` allows a `C-g` to be<br>
&gt; propagated outwards and handled and from what I can see by the comment=
s surrounding,<br>
&gt; <br>
&gt; ```<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0;; accept-proces=
s-output returned nil, maybe because the process<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0;; exited (and m=
ay have been replaced with another).=C2=A0 If we got<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0;; a quit, just =
stop.<br>
&gt; ```<br>
&gt; <br>
&gt; the `C-g` in this case is expected.<br>
&gt; <br>
&gt; But I wonder if `C-g` was meant to be generated if the user was simply=
 mashing keys on the keyboard.=C2=A0 In<br>
&gt; this case, the `C-g` emanating from `accept-process-output` was bubbli=
ng up into `helm` and `helm` was<br>
&gt; treating it like an error.<br>
&gt; <br>
&gt; Here, you can see a quit being generated from the visual cue in the mi=
nibuffer.<br>
&gt; <a href=3D"https://asciinema.org/a/nAIB8Z1lGgZJqJg9Mt8YiNEM9" rel=3D"n=
oreferrer" target=3D"_blank">https://asciinema.org/a/nAIB8Z1lGgZJqJg9Mt8YiN=
EM9</a><br>
&gt; <br>
&gt; Here, I have added `while-no-input` and I no longer get the `quit`.<br=
>
&gt; <a href=3D"https://asciinema.org/a/x9ELZhwDP1IUtmOz0M1cly42H" rel=3D"n=
oreferrer" target=3D"_blank">https://asciinema.org/a/x9ELZhwDP1IUtmOz0M1cly=
42H</a><br>
&gt; <br>
&gt; However, as I test the addition of `while-no-input` with `helm-google-=
suggest` (as above), though Quit is no<br>
&gt; longer being generated from mashing keys, the key input which would ha=
ve generated the `quit` is not<br>
&gt; immediately shown in `helm`. Instead, it only appears on the next key =
press. So my implementation may not<br>
&gt; be perfect or complete.<br>
&gt; <br>
&gt; Finding the solution would make the minibuffer far less interrupted wh=
ile typing when<br>
&gt; `url-retrieve-synchronously` is used in the background.<br>
&gt; <br>
&gt; Thank you.<br>
&gt; <br>
&gt; Shane Mulligan<br>
<br>
Please in the future send your responses with the bug address,<br>
<a href=3D"mailto:48500 <at> debbugs.gnu.org" target=3D"_blank">48500@HIDDEN=
u.org</a>, on the CC list, so that others will see your<br>
detailed descriptions.=C2=A0 I won&#39;t have time to take a good look into=
<br>
that in the next few days, so it&#39;s good to make others aware of your<br=
>
findings, because they might look into it meanwhile.<br>
<br>
Personally, I find it very strange that typing on the keyboard<br>
produces C-g, it shouldn&#39;t happen, neither on a TTY nor on a GUI<br>
display.<br>
</blockquote></div>

--000000000000e3b50505c2a31f6e--




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#48500; Package emacs. Full text available.

Message received at 48500 <at> debbugs.gnu.org:


Received: (at 48500) by debbugs.gnu.org; 18 May 2021 16:54:07 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue May 18 12:54:07 2021
Received: from localhost ([127.0.0.1]:57169 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1lj2yt-0007cA-CY
	for submit <at> debbugs.gnu.org; Tue, 18 May 2021 12:54:07 -0400
Received: from eggs.gnu.org ([209.51.188.92]:35180)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1lj2yr-0007bh-Up
 for 48500 <at> debbugs.gnu.org; Tue, 18 May 2021 12:54:06 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:43924)
 by eggs.gnu.org with esmtp (Exim 4.90_1)
 (envelope-from <eliz@HIDDEN>)
 id 1lj2yl-0007ab-D1; Tue, 18 May 2021 12:54:00 -0400
Received: from 84.94.185.95.cable.012.net.il ([84.94.185.95]:4062
 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1lj2yk-0002yl-QQ; Tue, 18 May 2021 12:53:59 -0400
Date: Tue, 18 May 2021 19:54:03 +0300
Message-Id: <83sg2kq8yc.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Shane Mulligan <mullikine@HIDDEN>
In-Reply-To: <CACT87JpYLto5_HY8V=9+R3uvC614BxB_H_6gduW7hwnoJL1PDA@HIDDEN>
 (message from Shane Mulligan on Wed, 19 May 2021 04:32:16 +1200)
Subject: Re: bug#48500: 28.0.50; url-retrieve-synchronously exits abnormally
 due to pending keyboard input from terminal
References: <87pmxo4kiu.wl-mullikine@HIDDEN> <8335ukrsj3.fsf@HIDDEN>
 <CACT87JpYLto5_HY8V=9+R3uvC614BxB_H_6gduW7hwnoJL1PDA@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 48500
Cc: 48500 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> From: Shane Mulligan <mullikine@HIDDEN>
> Date: Wed, 19 May 2021 04:32:16 +1200
> 
> Thanks for looking into this so quickly. First some background on the problem. I managed to work through
> this issue (https://github.com/emacs-helm/helm/issues/2417) with the `emacs-helm` maintainer and we
> found what appears to be that the call to `accept-process-output` inside of `url-retrieve-synchronously` will
> generate a `C-g` when there is pending input of any char. As far as I can tell this is an issue only with
> terminal emacs. As I understand it, `inhibit-quit`, as used in `accept-process-output` allows a `C-g` to be
> propagated outwards and handled and from what I can see by the comments surrounding,
> 
> ```
>               ;; accept-process-output returned nil, maybe because the process
>               ;; exited (and may have been replaced with another).  If we got
>               ;; a quit, just stop.
> ```
> 
> the `C-g` in this case is expected.
> 
> But I wonder if `C-g` was meant to be generated if the user was simply mashing keys on the keyboard.  In
> this case, the `C-g` emanating from `accept-process-output` was bubbling up into `helm` and `helm` was
> treating it like an error.
> 
> Here, you can see a quit being generated from the visual cue in the minibuffer.
> https://asciinema.org/a/nAIB8Z1lGgZJqJg9Mt8YiNEM9
> 
> Here, I have added `while-no-input` and I no longer get the `quit`.
> https://asciinema.org/a/x9ELZhwDP1IUtmOz0M1cly42H
> 
> However, as I test the addition of `while-no-input` with `helm-google-suggest` (as above), though Quit is no
> longer being generated from mashing keys, the key input which would have generated the `quit` is not
> immediately shown in `helm`. Instead, it only appears on the next key press. So my implementation may not
> be perfect or complete.
> 
> Finding the solution would make the minibuffer far less interrupted while typing when
> `url-retrieve-synchronously` is used in the background.
> 
> Thank you.
> 
> Shane Mulligan

Please in the future send your responses with the bug address,
48500 <at> debbugs.gnu.org, on the CC list, so that others will see your
detailed descriptions.  I won't have time to take a good look into
that in the next few days, so it's good to make others aware of your
findings, because they might look into it meanwhile.

Personally, I find it very strange that typing on the keyboard
produces C-g, it shouldn't happen, neither on a TTY nor on a GUI
display.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#48500; Package emacs. Full text available.

Message received at 48500 <at> debbugs.gnu.org:


Received: (at 48500) by debbugs.gnu.org; 18 May 2021 15:05:56 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue May 18 11:05:56 2021
Received: from localhost ([127.0.0.1]:56926 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1lj1IC-0002K5-Gj
	for submit <at> debbugs.gnu.org; Tue, 18 May 2021 11:05:56 -0400
Received: from eggs.gnu.org ([209.51.188.92]:37496)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1lj1IA-0002Jt-TF
 for 48500 <at> debbugs.gnu.org; Tue, 18 May 2021 11:05:55 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:39284)
 by eggs.gnu.org with esmtp (Exim 4.90_1)
 (envelope-from <eliz@HIDDEN>)
 id 1lj1I5-0007Pr-M6; Tue, 18 May 2021 11:05:49 -0400
Received: from 84.94.185.95.cable.012.net.il ([84.94.185.95]:1167
 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1lj1I5-0000EG-72; Tue, 18 May 2021 11:05:49 -0400
Date: Tue, 18 May 2021 18:05:52 +0300
Message-Id: <8335ukrsj3.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Shane Mulligan <mullikine@HIDDEN>
In-Reply-To: <87pmxo4kiu.wl-mullikine@HIDDEN> (message from Shane Mulligan
 on Tue, 18 May 2021 18:35:05 +1200)
Subject: Re: bug#48500: 28.0.50;
 url-retrieve-synchronously exits abnormally due to pending keyboard
 input from terminal
References: <87pmxo4kiu.wl-mullikine@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 48500
Cc: 48500 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> Date: Tue, 18 May 2021 18:35:05 +1200
> From: Shane Mulligan <mullikine@HIDDEN>
> 
> 
> `url-retrieve-synchronously` exits abnormally due to pending keyboard input from terminal
> 
> This is related to a known issue documented in the `url-retrieve-synchronously` function of `url/url.el`.
> https://github.com/emacs-mirror/emacs/blob/7124598068ed267c34e1d70b49361f499fc31c9f/lisp/url/url.el#L297
> 
> If the code is changed to the following (the addition of `while-no-input`) then `accept-process-output` will no longer be interrupted.
> 
>             (unless (or (while-no-input
>                           (with-local-quit
>                             (accept-process-output proc 1)))
>                         (null proc))
> 
> The above possible fix is also documented here:
> https://github.com/emacs-helm/helm/pull/2419
> 
> In order to easily reproduce the issue, one way is to run emacs through terminal and to try to use the function `helm-google-suggest` from package `helm`.
> https://github.com/emacs-helm/helm/issues/2417
> 
> As you can see, the issue affects a lot of users. Currently, all users of terminal emacs that use helm.
> Unfortunately, it appears that it can't be handled outside of `url/url.el`.

I don't understand: with-local-quit isn't supposed to react to
keyboard input, only to C-g.  So what kind of pending keyboard input
interrupts it in this case?





Information forwarded to bug-gnu-emacs@HIDDEN:
bug#48500; Package emacs. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 18 May 2021 14:41:37 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue May 18 10:41:37 2021
Received: from localhost ([127.0.0.1]:56866 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1lj0uf-0007vl-GZ
	for submit <at> debbugs.gnu.org; Tue, 18 May 2021 10:41:37 -0400
Received: from lists.gnu.org ([209.51.188.17]:45280)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <mullikine@HIDDEN>) id 1litK8-0000mv-Le
 for submit <at> debbugs.gnu.org; Tue, 18 May 2021 02:35:24 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:51134)
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <mullikine@HIDDEN>)
 id 1litK8-0005i3-Cf
 for bug-gnu-emacs@HIDDEN; Tue, 18 May 2021 02:35:24 -0400
Received: from mail-pf1-x42f.google.com ([2607:f8b0:4864:20::42f]:46805)
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.90_1) (envelope-from <mullikine@HIDDEN>)
 id 1litK2-0001w2-Le
 for bug-gnu-emacs@HIDDEN; Tue, 18 May 2021 02:35:24 -0400
Received: by mail-pf1-x42f.google.com with SMTP id q2so6645837pfh.13
 for <bug-gnu-emacs@HIDDEN>; Mon, 17 May 2021 23:35:17 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=date:message-id:from:to:subject:user-agent:mime-version
 :content-transfer-encoding;
 bh=6OXtd9mVyRnUl5ynpkjOupv5hktpMfpCKvlyyroBOWA=;
 b=Jr9/Qlbfu/lt8BSgCY5A1rVKPyc6zVME65d9YTMXCMm6I+BkFwVxnuigo0LnElyRgd
 1CLw97UpW8QAnV/phj6t7TsiRB3pJdiDHFRo4xoWmrtPhIe3wLjppzxx98jcMvG6oIRx
 ONJpDa40EYhzhgY0nBavOVWcwEmqWIpyXxcMLFXnEHOxvLyC44WjABX+2hLSLGLVjEl7
 U5T5RBxSNl+YFPm1XIQX0AlOzUDAv8lYAdMtDKaJIS5+4tNeUt3zCZSCf1JWNsMKsLyR
 NPNhSbeYd4n+5eDWqccPIYoB5xaVRqkGlYVRE2YFW7H4UChXEhPUskZCCVi1D+x00rFU
 M3Dw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:date:message-id:from:to:subject:user-agent
 :mime-version:content-transfer-encoding;
 bh=6OXtd9mVyRnUl5ynpkjOupv5hktpMfpCKvlyyroBOWA=;
 b=nNxZkmc4tOzvq6Osd6Qqke+c5X4TItGqi6s6L+GYPfIwdlbnwMLULsXqLRBh4iYwqW
 9xYtCHN1IvUURPXQ7DYJV8H2HMHFYRpdm8zqDIUGneniI2YQOmCrtgQac3rKVb1s4BVa
 9NPvAGCFkH6AgVCEegYMvV5E31E3yEhZvSl+kcw2RBHOWZ6UdaTZygIfoC3qHgcF7aIm
 Acc8pue/MR+nPnrYpnYpQel15hriU8e6T4lde8WAOOBfwOufeR5XIMp9RR814/gHmjrF
 CpceVepYx0Ch/kGglVYDs3yphE2ndQ40Lrke5gS6SPSfeRkCoM+ak7r9MIdkOM18/urW
 i9Og==
X-Gm-Message-State: AOAM5325bTYWi/Cm6bZOVYhIWSGOn7HaQGByR0uciEftVtygDEEMOWMa
 6vvpQf1zYRLD0O+YWOmYPw/SISnMPO9H
X-Google-Smtp-Source: ABdhPJw48VKjDzHE9e+5u6/mFKiLSVFP+fsamy9RKzk8HNU6bogbFiazZlKEECPxID10uc2FPvoNqQ==
X-Received: by 2002:a65:67d5:: with SMTP id b21mr3449502pgs.117.1621319714064; 
 Mon, 17 May 2021 23:35:14 -0700 (PDT)
Received: from mele.gmail.com ([124.197.60.232])
 by smtp.gmail.com with ESMTPSA id 205sm11474746pfc.201.2021.05.17.23.35.11
 for <bug-gnu-emacs@HIDDEN>
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 17 May 2021 23:35:13 -0700 (PDT)
Date: Tue, 18 May 2021 18:35:05 +1200
Message-ID: <87pmxo4kiu.wl-mullikine@HIDDEN>
From: Shane Mulligan <mullikine@HIDDEN>
To: bug-gnu-emacs@HIDDEN
Subject: 28.0.50;
 url-retrieve-synchronously exits abnormally due to pending keyboard
 input from terminal
User-Agent: Wanderlust/2.15.9 (Almost Unreal) SEMI-EPG/1.14.7 (Harue)
 FLIM-LB/1.14.9 (=?ISO-8859-4?Q?Goj=F2?=) APEL-LB/10.8 EasyPG/1.0.0
 Emacs/28.0.50 (x86_64-pc-linux-gnu) MULE/6.0 (HANACHIRUSATO)
MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue")
Content-Type: text/plain; charset=ISO-8859-7
Content-Transfer-Encoding: quoted-printable
Received-SPF: pass client-ip=2607:f8b0:4864:20::42f;
 envelope-from=mullikine@HIDDEN; helo=mail-pf1-x42f.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-Debbugs-Envelope-To: submit
X-Mailman-Approved-At: Tue, 18 May 2021 10:41:36 -0400
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>


`url-retrieve-synchronously` exits abnormally due to pending keyboard input=
 from terminal

This is related to a known issue documented in the `url-retrieve-synchronou=
sly` function of `url/url.el`.
https://github.com/emacs-mirror/emacs/blob/7124598068ed267c34e1d70b49361f49=
9fc31c9f/lisp/url/url.el#L297

If the code is changed to the following (the addition of `while-no-input`) =
then `accept-process-output` will no longer be interrupted.

            (unless (or (while-no-input
                          (with-local-quit
                            (accept-process-output proc 1)))
                        (null proc))

The above possible fix is also documented here:
https://github.com/emacs-helm/helm/pull/2419

In order to easily reproduce the issue, one way is to run emacs through ter=
minal and to try to use the function `helm-google-suggest` from package `he=
lm`.
https://github.com/emacs-helm/helm/issues/2417

As you can see, the issue affects a lot of users. Currently, all users of t=
erminal emacs that use helm.
Unfortunately, it appears that it can't be handled outside of `url/url.el`.




In GNU Emacs 28.0.50 (build 2, x86_64-pc-linux-gnu, GTK+ Version 3.24.20, c=
airo version 1.16.0)
 of 2021-03-23 built on mele
Repository revision: 0a5e9cf2622a0282d56cc150af5a94b5d5fd71be
Repository branch: HEAD
System Description: Ubuntu 20.04.2 LTS

Configured using:
 'configure -with-all --without-makeinfo --with-modules --prefix=3D/home/sh=
ane/local/emacs28
--with-mailutils --with-json --disable-silent-rules --with-modules
--with-file-notification=3Dinotify --with-mailutils --with-x=3Dyes --with-x=
-toolkit=3Dgtk3
--with-xwidgets --with-lcms2 --with-imagemagick --with-json'

Configured features:
XPM JPEG TIFF GIF PNG RSVG CAIRO IMAGEMAGICK SOUND DBUS GSETTINGS GLIB NOTI=
FY INOTIFY
LIBSELINUX GNUTLS LIBXML2 FREETYPE HARFBUZZ ZLIB TOOLKIT_SCROLL_BARS GTK3 X=
11 XDBE XIM
MODULES THREADS XWIDGETS JSON PDUMPER LCMS2

Important settings:
  value of $LC_CTYPE: en_AU.UTF-8
  value of $LANG: en_AU.UTF-8
  locale-coding-system: utf-8-unix

Major mode: =EE

Minor modes in effect:
  global-display-line-numbers-mode: t
  display-line-numbers-mode: t
  erc-track-mode: t
  erc-services-mode: t
  erc-networks-mode: t
  pen.el: t
  editorconfig-mode: t
  marginalia-mode: t
  right-click-context-mode: t
  global-jump-tree-mode: t
  jump-tree-mode: t
  org-roam-mode: t
  eldoc-in-minibuffer-mode: t
  global-indent-tools-minor-mode: t
  indent-tools-minor-mode: t
  org-indent-mode: -1
  mode-line-bell-mode: t
  cyphejor-mode: t
  imenu-list-minor-mode: t
  dired-async-mode: t
  diredfl-global-mode: t
  openwith-mode: t
  key-chord-mode: t
  hi-lock-mode: t
  shackle-mode: t
  dap-tooltip-mode: t
  dap-ui-mode: t
  gdb-many-windows: t
  dap-mode: t
  el-patch-use-package-mode: t
  straight-use-package-mode: t
  straight-package-neutering-mode: t
  company-statistics-mode: t
  magit-circleci-mode: t
  pdf-occur-global-minor-mode: t
  recentf-mode: t
  cua-mode: t
  projectile-mode: t
  global-diff-hl-mode: t
  sly-symbol-completion-mode: t
  global-company-mode: t
  company-mode: t
  hl-todo-mode: t
  engine-mode: t
  show-paren-mode: t
  global-selected-minor-mode: t
  selected-minor-mode: t
  my-mode: t
  ivy-mode: t
  delete-selection-mode: t
  writegood-mode: t
  global-highlight-thing-mode: t
  highlight-thing-mode: t
  treemacs-filewatch-mode: t
  treemacs-follow-mode: t
  treemacs-git-mode: deferred
  treemacs-fringe-indicator-mode: t
  annotate-mode: t
  yas-global-mode: t
  yas-minor-mode: t
  winner-mode: t
  spaceline-info-mode: t
  spaceline-helm-mode: t
  save-place-mode: t
  savehist-mode: t
  pcre-mode: t
  popwin-mode: t
  persp-mode: t
  nyan-mode: t
  helm-descbinds-mode: t
  helm-mode: t
  helm--remap-mouse-mode: t
  async-bytecomp-package-mode: t
  flycheck-pos-tip-mode: t
  global-flycheck-mode: t
  global-fasd-mode: t
  eyebrowse-mode: t
  global-evil-surround-mode: t
  evil-surround-mode: t
  global-evil-search-highlight-persist: t
  evil-search-highlight-persist: t
  evil-escape-mode: t
  global-anzu-mode: t
  anzu-mode: t
  eval-sexp-fu-flash-mode: t
  global-edit-server-edit-mode: t
  clean-aindent-mode: t
  holy-mode: t
  which-key-mode: t
  flyspell-mode: t
  evil-mode: t
  evil-local-mode: t
  spacemacs-leader-override-mode: t
  global-spacemacs-leader-override-mode: t
  global-hl-line-mode: t
  xterm-mouse-mode: t
  override-global-mode: t
  ido-vertical-mode: t
  global-page-break-lines-mode: t
  global-git-gutter+-mode: t
  global-git-commit-mode: t
  magit-auto-revert-mode: t
  global-auto-revert-mode: t
  flx-ido-mode: t
  speed-of-thought-mode: t
  Info-breadcrumbs-in-mode-line-mode: t
  shell-dirtrack-mode: t
  image-diredx-async-mode: t
  image-diredx-adjust-mode: t
  volatile-highlights-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t
  auto-fill-mode: -1

Load-path shadows:
/home/shane/source/git/spacemacs/core/libs/ht hides /home/shane/.emacs.d/el=
pa/ht-20210119.741/ht
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ol-bibtex hides /hom=
e/shane/.emacs.d/elpa/org-plus-contrib-20210322/ol-bibtex
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-pcomplete hides =
/home/shane/.emacs.d/elpa/org-plus-contrib-20210322/org-pcomplete
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-octave hides /hom=
e/shane/.emacs.d/elpa/org-plus-contrib-20210322/ob-octave
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-java hides /home/=
shane/.emacs.d/elpa/org-plus-contrib-20210322/ob-java
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-footnote hides /=
home/shane/.emacs.d/elpa/org-plus-contrib-20210322/org-footnote
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ol-rmail hides /home=
/shane/.emacs.d/elpa/org-plus-contrib-20210322/ol-rmail
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org hides /home/shan=
e/.emacs.d/elpa/org-plus-contrib-20210322/org
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ol-w3m hides /home/s=
hane/.emacs.d/elpa/org-plus-contrib-20210322/ol-w3m
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ox-beamer hides /hom=
e/shane/.emacs.d/elpa/org-plus-contrib-20210322/ox-beamer
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-R hides /home/sha=
ne/.emacs.d/elpa/org-plus-contrib-20210322/ob-R
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-agenda hides /ho=
me/shane/.emacs.d/elpa/org-plus-contrib-20210322/org-agenda
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ol-bbdb hides /home/=
shane/.emacs.d/elpa/org-plus-contrib-20210322/ol-bbdb
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-lisp hides /home/=
shane/.emacs.d/elpa/org-plus-contrib-20210322/ob-lisp
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob hides /home/shane=
/.emacs.d/elpa/org-plus-contrib-20210322/ob
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-version hides /h=
ome/shane/.emacs.d/elpa/org-plus-contrib-20210322/org-version
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-mobile hides /ho=
me/shane/.emacs.d/elpa/org-plus-contrib-20210322/org-mobile
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-fortran hides /ho=
me/shane/.emacs.d/elpa/org-plus-contrib-20210322/ob-fortran
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-archive hides /h=
ome/shane/.emacs.d/elpa/org-plus-contrib-20210322/org-archive
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-ref hides /home/s=
hane/.emacs.d/elpa/org-plus-contrib-20210322/ob-ref
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-comint hides /hom=
e/shane/.emacs.d/elpa/org-plus-contrib-20210322/ob-comint
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-shen hides /home/=
shane/.emacs.d/elpa/org-plus-contrib-20210322/ob-shen
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-table hides /home=
/shane/.emacs.d/elpa/org-plus-contrib-20210322/ob-table
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ox-texinfo hides /ho=
me/shane/.emacs.d/elpa/org-plus-contrib-20210322/ox-texinfo
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-lua hides /home/s=
hane/.emacs.d/elpa/org-plus-contrib-20210322/ob-lua
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-eshell hides /hom=
e/shane/.emacs.d/elpa/org-plus-contrib-20210322/ob-eshell
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ol-gnus hides /home/=
shane/.emacs.d/elpa/org-plus-contrib-20210322/ol-gnus
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-J hides /home/sha=
ne/.emacs.d/elpa/org-plus-contrib-20210322/ob-J
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-src hides /home/=
shane/.emacs.d/elpa/org-plus-contrib-20210322/org-src
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-C hides /home/sha=
ne/.emacs.d/elpa/org-plus-contrib-20210322/ob-C
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ol hides /home/shane=
/.emacs.d/elpa/org-plus-contrib-20210322/ol
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-colview hides /h=
ome/shane/.emacs.d/elpa/org-plus-contrib-20210322/org-colview
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-matlab hides /hom=
e/shane/.emacs.d/elpa/org-plus-contrib-20210322/ob-matlab
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-indent hides /ho=
me/shane/.emacs.d/elpa/org-plus-contrib-20210322/org-indent
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-groovy hides /hom=
e/shane/.emacs.d/elpa/org-plus-contrib-20210322/ob-groovy
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-mouse hides /hom=
e/shane/.emacs.d/elpa/org-plus-contrib-20210322/org-mouse
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ox-odt hides /home/s=
hane/.emacs.d/elpa/org-plus-contrib-20210322/ox-odt
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-sqlite hides /hom=
e/shane/.emacs.d/elpa/org-plus-contrib-20210322/ob-sqlite
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-coq hides /home/s=
hane/.emacs.d/elpa/org-plus-contrib-20210322/ob-coq
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ox-ascii hides /home=
/shane/.emacs.d/elpa/org-plus-contrib-20210322/ox-ascii
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-emacs-lisp hides =
/home/shane/.emacs.d/elpa/org-plus-contrib-20210322/ob-emacs-lisp
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ox-latex hides /home=
/shane/.emacs.d/elpa/org-plus-contrib-20210322/ox-latex
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-hledger hides /ho=
me/shane/.emacs.d/elpa/org-plus-contrib-20210322/ob-hledger
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-crypt hides /hom=
e/shane/.emacs.d/elpa/org-plus-contrib-20210322/org-crypt
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-loaddefs hides /=
home/shane/.emacs.d/elpa/org-plus-contrib-20210322/org-loaddefs
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-inlinetask hides=
 /home/shane/.emacs.d/elpa/org-plus-contrib-20210322/org-inlinetask
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-keys hides /home=
/shane/.emacs.d/elpa/org-plus-contrib-20210322/org-keys
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-feed hides /home=
/shane/.emacs.d/elpa/org-plus-contrib-20210322/org-feed
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-datetree hides /=
home/shane/.emacs.d/elpa/org-plus-contrib-20210322/org-datetree
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-num hides /home/=
shane/.emacs.d/elpa/org-plus-contrib-20210322/org-num
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-mscgen hides /hom=
e/shane/.emacs.d/elpa/org-plus-contrib-20210322/ob-mscgen
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-macs hides /home=
/shane/.emacs.d/elpa/org-plus-contrib-20210322/org-macs
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-timer hides /hom=
e/shane/.emacs.d/elpa/org-plus-contrib-20210322/org-timer
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-id hides /home/s=
hane/.emacs.d/elpa/org-plus-contrib-20210322/org-id
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-faces hides /hom=
e/shane/.emacs.d/elpa/org-plus-contrib-20210322/org-faces
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-ocaml hides /home=
/shane/.emacs.d/elpa/org-plus-contrib-20210322/ob-ocaml
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-clock hides /hom=
e/shane/.emacs.d/elpa/org-plus-contrib-20210322/org-clock
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ol-info hides /home/=
shane/.emacs.d/elpa/org-plus-contrib-20210322/ol-info
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ol-docview hides /ho=
me/shane/.emacs.d/elpa/org-plus-contrib-20210322/ol-docview
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-list hides /home=
/shane/.emacs.d/elpa/org-plus-contrib-20210322/org-list
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-sed hides /home/s=
hane/.emacs.d/elpa/org-plus-contrib-20210322/ob-sed
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-css hides /home/s=
hane/.emacs.d/elpa/org-plus-contrib-20210322/ob-css
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-haskell hides /ho=
me/shane/.emacs.d/elpa/org-plus-contrib-20210322/ob-haskell
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-ditaa hides /home=
/shane/.emacs.d/elpa/org-plus-contrib-20210322/ob-ditaa
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-latex hides /home=
/shane/.emacs.d/elpa/org-plus-contrib-20210322/ob-latex
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-asymptote hides /=
home/shane/.emacs.d/elpa/org-plus-contrib-20210322/ob-asymptote
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-stan hides /home/=
shane/.emacs.d/elpa/org-plus-contrib-20210322/ob-stan
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ox hides /home/shane=
/.emacs.d/elpa/org-plus-contrib-20210322/ox
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-duration hides /=
home/shane/.emacs.d/elpa/org-plus-contrib-20210322/org-duration
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-perl hides /home/=
shane/.emacs.d/elpa/org-plus-contrib-20210322/ob-perl
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-tempo hides /hom=
e/shane/.emacs.d/elpa/org-plus-contrib-20210322/org-tempo
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ol-irc hides /home/s=
hane/.emacs.d/elpa/org-plus-contrib-20210322/ol-irc
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-dot hides /home/s=
hane/.emacs.d/elpa/org-plus-contrib-20210322/ob-dot
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-install hides /h=
ome/shane/.emacs.d/elpa/org-plus-contrib-20210322/org-install
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-protocol hides /=
home/shane/.emacs.d/elpa/org-plus-contrib-20210322/org-protocol
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-ledger hides /hom=
e/shane/.emacs.d/elpa/org-plus-contrib-20210322/ob-ledger
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ol-eshell hides /hom=
e/shane/.emacs.d/elpa/org-plus-contrib-20210322/ol-eshell
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-gnuplot hides /ho=
me/shane/.emacs.d/elpa/org-plus-contrib-20210322/ob-gnuplot
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-plot hides /home=
/shane/.emacs.d/elpa/org-plus-contrib-20210322/org-plot
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-makefile hides /h=
ome/shane/.emacs.d/elpa/org-plus-contrib-20210322/ob-makefile
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-lilypond hides /h=
ome/shane/.emacs.d/elpa/org-plus-contrib-20210322/ob-lilypond
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-picolisp hides /h=
ome/shane/.emacs.d/elpa/org-plus-contrib-20210322/ob-picolisp
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-ebnf hides /home/=
shane/.emacs.d/elpa/org-plus-contrib-20210322/ob-ebnf
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-goto hides /home=
/shane/.emacs.d/elpa/org-plus-contrib-20210322/org-goto
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-sass hides /home/=
shane/.emacs.d/elpa/org-plus-contrib-20210322/ob-sass
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-eval hides /home/=
shane/.emacs.d/elpa/org-plus-contrib-20210322/ob-eval
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-tangle hides /hom=
e/shane/.emacs.d/elpa/org-plus-contrib-20210322/ob-tangle
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ox-md hides /home/sh=
ane/.emacs.d/elpa/org-plus-contrib-20210322/ox-md
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-element hides /h=
ome/shane/.emacs.d/elpa/org-plus-contrib-20210322/org-element
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-lob hides /home/s=
hane/.emacs.d/elpa/org-plus-contrib-20210322/ob-lob
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-exp hides /home/s=
hane/.emacs.d/elpa/org-plus-contrib-20210322/ob-exp
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-org hides /home/s=
hane/.emacs.d/elpa/org-plus-contrib-20210322/ob-org
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-compat hides /ho=
me/shane/.emacs.d/elpa/org-plus-contrib-20210322/org-compat
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-python hides /hom=
e/shane/.emacs.d/elpa/org-plus-contrib-20210322/ob-python
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-awk hides /home/s=
hane/.emacs.d/elpa/org-plus-contrib-20210322/ob-awk
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-lint hides /home=
/shane/.emacs.d/elpa/org-plus-contrib-20210322/org-lint
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-sql hides /home/s=
hane/.emacs.d/elpa/org-plus-contrib-20210322/ob-sql
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-clojure hides /ho=
me/shane/.emacs.d/elpa/org-plus-contrib-20210322/ob-clojure
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-habit hides /hom=
e/shane/.emacs.d/elpa/org-plus-contrib-20210322/org-habit
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-shell hides /home=
/shane/.emacs.d/elpa/org-plus-contrib-20210322/ob-shell
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-abc hides /home/s=
hane/.emacs.d/elpa/org-plus-contrib-20210322/ob-abc
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-maxima hides /hom=
e/shane/.emacs.d/elpa/org-plus-contrib-20210322/ob-maxima
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ox-icalendar hides /=
home/shane/.emacs.d/elpa/org-plus-contrib-20210322/ox-icalendar
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-scheme hides /hom=
e/shane/.emacs.d/elpa/org-plus-contrib-20210322/ob-scheme
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-processing hides =
/home/shane/.emacs.d/elpa/org-plus-contrib-20210322/ob-processing
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-attach hides /ho=
me/shane/.emacs.d/elpa/org-plus-contrib-20210322/org-attach
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ox-man hides /home/s=
hane/.emacs.d/elpa/org-plus-contrib-20210322/ox-man
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-forth hides /home=
/shane/.emacs.d/elpa/org-plus-contrib-20210322/ob-forth
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-io hides /home/sh=
ane/.emacs.d/elpa/org-plus-contrib-20210322/ob-io
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-js hides /home/sh=
ane/.emacs.d/elpa/org-plus-contrib-20210322/ob-js
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-core hides /home/=
shane/.emacs.d/elpa/org-plus-contrib-20210322/ob-core
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-ctags hides /hom=
e/shane/.emacs.d/elpa/org-plus-contrib-20210322/org-ctags
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ox-html hides /home/=
shane/.emacs.d/elpa/org-plus-contrib-20210322/ox-html
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-macro hides /hom=
e/shane/.emacs.d/elpa/org-plus-contrib-20210322/org-macro
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-screen hides /hom=
e/shane/.emacs.d/elpa/org-plus-contrib-20210322/ob-screen
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ox-org hides /home/s=
hane/.emacs.d/elpa/org-plus-contrib-20210322/ox-org
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-table hides /hom=
e/shane/.emacs.d/elpa/org-plus-contrib-20210322/org-table
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-capture hides /h=
ome/shane/.emacs.d/elpa/org-plus-contrib-20210322/org-capture
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-calc hides /home/=
shane/.emacs.d/elpa/org-plus-contrib-20210322/ob-calc
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-vala hides /home/=
shane/.emacs.d/elpa/org-plus-contrib-20210322/ob-vala
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-attach-git hides=
 /home/shane/.emacs.d/elpa/org-plus-contrib-20210322/org-attach-git
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ol-eww hides /home/s=
hane/.emacs.d/elpa/org-plus-contrib-20210322/ol-eww
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-plantuml hides /h=
ome/shane/.emacs.d/elpa/org-plus-contrib-20210322/ob-plantuml
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-ruby hides /home/=
shane/.emacs.d/elpa/org-plus-contrib-20210322/ob-ruby
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ol-mhe hides /home/s=
hane/.emacs.d/elpa/org-plus-contrib-20210322/ol-mhe
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ox-publish hides /ho=
me/shane/.emacs.d/elpa/org-plus-contrib-20210322/ox-publish
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-entities hides /=
home/shane/.emacs.d/elpa/org-plus-contrib-20210322/org-entities
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/net/sasl hides /home/sha=
ne/.emacs.d/elpa/flim-20201117.825/sasl
/home/shane/var/smulliga/source/git/config/emacs/manual-packages/url-http-n=
tlm/url-http-ntlm hides /home/shane/.emacs.d/elpa/url-http-ntlm-2.0.4/url-h=
ttp-ntlm
/home/shane/source/git/spacemacs/core/libs/spacemacs-theme/spacemacs-dark-t=
heme hides /home/shane/.emacs.d/elpa/spacemacs-theme-20210206.1428/spacemac=
s-dark-theme
/home/shane/source/git/spacemacs/core/libs/spacemacs-theme/spacemacs-common=
 hides /home/shane/.emacs.d/elpa/spacemacs-theme-20210206.1428/spacemacs-co=
mmon
/home/shane/source/git/spacemacs/core/libs/spacemacs-theme/spacemacs-light-=
theme hides /home/shane/.emacs.d/elpa/spacemacs-theme-20210206.1428/spacema=
cs-light-theme
/home/shane/.emacs.d/elpa/tracking-20201101.1045/tracking hides /home/shane=
/.emacs.d/elpa/circe-20210111.2141/tracking
/home/shane/.emacs.d/elpa/tracking-20201101.1045/shorten hides /home/shane/=
.emacs.d/elpa/circe-20210111.2141/shorten
/home/shane/var/smulliga/source/git/config/emacs/manual-packages/selectrum/=
selectrum hides /home/shane/.emacs.d/elpa/selectrum-20210322.1647/selectrum
/home/shane/source/git/spacemacs/core/libs/quelpa hides /home/shane/.emacs.=
d/elpa/quelpa-20210317.1221/quelpa
/home/shane/source/git/spacemacs/core/libs/page-break-lines hides /home/sha=
ne/.emacs.d/elpa/page-break-lines-20210104.2224/page-break-lines
/home/shane/source/git/spacemacs/core/libs/package-build hides /home/shane/=
.emacs.d/elpa/package-build-20210318.1411/package-build
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ol-bibtex hides /hom=
e/shane/.emacs.d/elpa/org-20210322/ol-bibtex
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-pcomplete hides =
/home/shane/.emacs.d/elpa/org-20210322/org-pcomplete
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-octave hides /hom=
e/shane/.emacs.d/elpa/org-20210322/ob-octave
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-java hides /home/=
shane/.emacs.d/elpa/org-20210322/ob-java
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-footnote hides /=
home/shane/.emacs.d/elpa/org-20210322/org-footnote
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ol-rmail hides /home=
/shane/.emacs.d/elpa/org-20210322/ol-rmail
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org hides /home/shan=
e/.emacs.d/elpa/org-20210322/org
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ol-w3m hides /home/s=
hane/.emacs.d/elpa/org-20210322/ol-w3m
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ox-beamer hides /hom=
e/shane/.emacs.d/elpa/org-20210322/ox-beamer
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-R hides /home/sha=
ne/.emacs.d/elpa/org-20210322/ob-R
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-agenda hides /ho=
me/shane/.emacs.d/elpa/org-20210322/org-agenda
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ol-bbdb hides /home/=
shane/.emacs.d/elpa/org-20210322/ol-bbdb
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-lisp hides /home/=
shane/.emacs.d/elpa/org-20210322/ob-lisp
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob hides /home/shane=
/.emacs.d/elpa/org-20210322/ob
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-version hides /h=
ome/shane/.emacs.d/elpa/org-20210322/org-version
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-mobile hides /ho=
me/shane/.emacs.d/elpa/org-20210322/org-mobile
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-fortran hides /ho=
me/shane/.emacs.d/elpa/org-20210322/ob-fortran
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-archive hides /h=
ome/shane/.emacs.d/elpa/org-20210322/org-archive
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-ref hides /home/s=
hane/.emacs.d/elpa/org-20210322/ob-ref
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-comint hides /hom=
e/shane/.emacs.d/elpa/org-20210322/ob-comint
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-shen hides /home/=
shane/.emacs.d/elpa/org-20210322/ob-shen
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-table hides /home=
/shane/.emacs.d/elpa/org-20210322/ob-table
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ox-texinfo hides /ho=
me/shane/.emacs.d/elpa/org-20210322/ox-texinfo
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-lua hides /home/s=
hane/.emacs.d/elpa/org-20210322/ob-lua
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-eshell hides /hom=
e/shane/.emacs.d/elpa/org-20210322/ob-eshell
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ol-gnus hides /home/=
shane/.emacs.d/elpa/org-20210322/ol-gnus
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-J hides /home/sha=
ne/.emacs.d/elpa/org-20210322/ob-J
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-src hides /home/=
shane/.emacs.d/elpa/org-20210322/org-src
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-C hides /home/sha=
ne/.emacs.d/elpa/org-20210322/ob-C
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ol hides /home/shane=
/.emacs.d/elpa/org-20210322/ol
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-colview hides /h=
ome/shane/.emacs.d/elpa/org-20210322/org-colview
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-matlab hides /hom=
e/shane/.emacs.d/elpa/org-20210322/ob-matlab
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-indent hides /ho=
me/shane/.emacs.d/elpa/org-20210322/org-indent
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-groovy hides /hom=
e/shane/.emacs.d/elpa/org-20210322/ob-groovy
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-mouse hides /hom=
e/shane/.emacs.d/elpa/org-20210322/org-mouse
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ox-odt hides /home/s=
hane/.emacs.d/elpa/org-20210322/ox-odt
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-sqlite hides /hom=
e/shane/.emacs.d/elpa/org-20210322/ob-sqlite
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-coq hides /home/s=
hane/.emacs.d/elpa/org-20210322/ob-coq
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ox-ascii hides /home=
/shane/.emacs.d/elpa/org-20210322/ox-ascii
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-emacs-lisp hides =
/home/shane/.emacs.d/elpa/org-20210322/ob-emacs-lisp
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ox-latex hides /home=
/shane/.emacs.d/elpa/org-20210322/ox-latex
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-hledger hides /ho=
me/shane/.emacs.d/elpa/org-20210322/ob-hledger
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-crypt hides /hom=
e/shane/.emacs.d/elpa/org-20210322/org-crypt
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-loaddefs hides /=
home/shane/.emacs.d/elpa/org-20210322/org-loaddefs
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-inlinetask hides=
 /home/shane/.emacs.d/elpa/org-20210322/org-inlinetask
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-keys hides /home=
/shane/.emacs.d/elpa/org-20210322/org-keys
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-feed hides /home=
/shane/.emacs.d/elpa/org-20210322/org-feed
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-datetree hides /=
home/shane/.emacs.d/elpa/org-20210322/org-datetree
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-num hides /home/=
shane/.emacs.d/elpa/org-20210322/org-num
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-mscgen hides /hom=
e/shane/.emacs.d/elpa/org-20210322/ob-mscgen
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-macs hides /home=
/shane/.emacs.d/elpa/org-20210322/org-macs
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-timer hides /hom=
e/shane/.emacs.d/elpa/org-20210322/org-timer
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-id hides /home/s=
hane/.emacs.d/elpa/org-20210322/org-id
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-faces hides /hom=
e/shane/.emacs.d/elpa/org-20210322/org-faces
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-ocaml hides /home=
/shane/.emacs.d/elpa/org-20210322/ob-ocaml
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-clock hides /hom=
e/shane/.emacs.d/elpa/org-20210322/org-clock
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ol-info hides /home/=
shane/.emacs.d/elpa/org-20210322/ol-info
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ol-docview hides /ho=
me/shane/.emacs.d/elpa/org-20210322/ol-docview
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-list hides /home=
/shane/.emacs.d/elpa/org-20210322/org-list
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-sed hides /home/s=
hane/.emacs.d/elpa/org-20210322/ob-sed
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-css hides /home/s=
hane/.emacs.d/elpa/org-20210322/ob-css
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-haskell hides /ho=
me/shane/.emacs.d/elpa/org-20210322/ob-haskell
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-ditaa hides /home=
/shane/.emacs.d/elpa/org-20210322/ob-ditaa
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-latex hides /home=
/shane/.emacs.d/elpa/org-20210322/ob-latex
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-asymptote hides /=
home/shane/.emacs.d/elpa/org-20210322/ob-asymptote
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-stan hides /home/=
shane/.emacs.d/elpa/org-20210322/ob-stan
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ox hides /home/shane=
/.emacs.d/elpa/org-20210322/ox
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-duration hides /=
home/shane/.emacs.d/elpa/org-20210322/org-duration
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-perl hides /home/=
shane/.emacs.d/elpa/org-20210322/ob-perl
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-tempo hides /hom=
e/shane/.emacs.d/elpa/org-20210322/org-tempo
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ol-irc hides /home/s=
hane/.emacs.d/elpa/org-20210322/ol-irc
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-dot hides /home/s=
hane/.emacs.d/elpa/org-20210322/ob-dot
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-install hides /h=
ome/shane/.emacs.d/elpa/org-20210322/org-install
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-protocol hides /=
home/shane/.emacs.d/elpa/org-20210322/org-protocol
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-ledger hides /hom=
e/shane/.emacs.d/elpa/org-20210322/ob-ledger
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ol-eshell hides /hom=
e/shane/.emacs.d/elpa/org-20210322/ol-eshell
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-gnuplot hides /ho=
me/shane/.emacs.d/elpa/org-20210322/ob-gnuplot
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-plot hides /home=
/shane/.emacs.d/elpa/org-20210322/org-plot
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-makefile hides /h=
ome/shane/.emacs.d/elpa/org-20210322/ob-makefile
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-lilypond hides /h=
ome/shane/.emacs.d/elpa/org-20210322/ob-lilypond
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-picolisp hides /h=
ome/shane/.emacs.d/elpa/org-20210322/ob-picolisp
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-ebnf hides /home/=
shane/.emacs.d/elpa/org-20210322/ob-ebnf
/home/shane/.emacs.d/elpa/org-plus-contrib-20210322/org-refile hides /home/=
shane/.emacs.d/elpa/org-20210322/org-refile
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-goto hides /home=
/shane/.emacs.d/elpa/org-20210322/org-goto
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-sass hides /home/=
shane/.emacs.d/elpa/org-20210322/ob-sass
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-eval hides /home/=
shane/.emacs.d/elpa/org-20210322/ob-eval
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-tangle hides /hom=
e/shane/.emacs.d/elpa/org-20210322/ob-tangle
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ox-md hides /home/sh=
ane/.emacs.d/elpa/org-20210322/ox-md
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-element hides /h=
ome/shane/.emacs.d/elpa/org-20210322/org-element
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-lob hides /home/s=
hane/.emacs.d/elpa/org-20210322/ob-lob
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-exp hides /home/s=
hane/.emacs.d/elpa/org-20210322/ob-exp
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-org hides /home/s=
hane/.emacs.d/elpa/org-20210322/ob-org
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-compat hides /ho=
me/shane/.emacs.d/elpa/org-20210322/org-compat
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-python hides /hom=
e/shane/.emacs.d/elpa/org-20210322/ob-python
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-awk hides /home/s=
hane/.emacs.d/elpa/org-20210322/ob-awk
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-lint hides /home=
/shane/.emacs.d/elpa/org-20210322/org-lint
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-sql hides /home/s=
hane/.emacs.d/elpa/org-20210322/ob-sql
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-clojure hides /ho=
me/shane/.emacs.d/elpa/org-20210322/ob-clojure
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-habit hides /hom=
e/shane/.emacs.d/elpa/org-20210322/org-habit
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-shell hides /home=
/shane/.emacs.d/elpa/org-20210322/ob-shell
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-abc hides /home/s=
hane/.emacs.d/elpa/org-20210322/ob-abc
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-maxima hides /hom=
e/shane/.emacs.d/elpa/org-20210322/ob-maxima
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ox-icalendar hides /=
home/shane/.emacs.d/elpa/org-20210322/ox-icalendar
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-scheme hides /hom=
e/shane/.emacs.d/elpa/org-20210322/ob-scheme
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-processing hides =
/home/shane/.emacs.d/elpa/org-20210322/ob-processing
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-attach hides /ho=
me/shane/.emacs.d/elpa/org-20210322/org-attach
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ox-man hides /home/s=
hane/.emacs.d/elpa/org-20210322/ox-man
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-forth hides /home=
/shane/.emacs.d/elpa/org-20210322/ob-forth
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-io hides /home/sh=
ane/.emacs.d/elpa/org-20210322/ob-io
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-js hides /home/sh=
ane/.emacs.d/elpa/org-20210322/ob-js
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-core hides /home/=
shane/.emacs.d/elpa/org-20210322/ob-core
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-ctags hides /hom=
e/shane/.emacs.d/elpa/org-20210322/org-ctags
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ox-html hides /home/=
shane/.emacs.d/elpa/org-20210322/ox-html
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-macro hides /hom=
e/shane/.emacs.d/elpa/org-20210322/org-macro
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-screen hides /hom=
e/shane/.emacs.d/elpa/org-20210322/ob-screen
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ox-org hides /home/s=
hane/.emacs.d/elpa/org-20210322/ox-org
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-table hides /hom=
e/shane/.emacs.d/elpa/org-20210322/org-table
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-capture hides /h=
ome/shane/.emacs.d/elpa/org-20210322/org-capture
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-calc hides /home/=
shane/.emacs.d/elpa/org-20210322/ob-calc
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-vala hides /home/=
shane/.emacs.d/elpa/org-20210322/ob-vala
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-attach-git hides=
 /home/shane/.emacs.d/elpa/org-20210322/org-attach-git
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ol-eww hides /home/s=
hane/.emacs.d/elpa/org-20210322/ol-eww
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-plantuml hides /h=
ome/shane/.emacs.d/elpa/org-20210322/ob-plantuml
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-ruby hides /home/=
shane/.emacs.d/elpa/org-20210322/ob-ruby
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ol-mhe hides /home/s=
hane/.emacs.d/elpa/org-20210322/ol-mhe
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ox-publish hides /ho=
me/shane/.emacs.d/elpa/org-20210322/ox-publish
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-entities hides /=
home/shane/.emacs.d/elpa/org-20210322/org-entities
/home/shane/.emacs.d/elpa/orgtbl-join-20210225.923/org-insert-dblock hides =
/home/shane/.emacs.d/elpa/orgtbl-aggregate-20210315.1415/org-insert-dblock
/home/shane/var/smulliga/source/git/config/emacs/manual-packages/org-roam/o=
rg-roam hides /home/shane/.emacs.d/elpa/org-roam-20210308.457/org-roam
/home/shane/var/smulliga/source/git/config/emacs/manual-packages/org-roam/o=
rg-roam-protocol hides /home/shane/.emacs.d/elpa/org-roam-20210308.457/org-=
roam-protocol
/home/shane/.emacs.d/elpa/flim-20201117.825/hmac-sha1 hides /home/shane/.em=
acs.d/elpa/oauth-20130128.151/hmac-sha1
/home/shane/source/git/spacemacs/layers/+themes/colors/local/nyan-mode/nyan=
-mode hides /home/shane/.emacs.d/elpa/nyan-mode-20200526.1054/nyan-mode
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/emacs-lisp/hierarchy hid=
es /home/shane/.emacs.d/elpa/hierarchy-20190425.842/hierarchy
/home/shane/.emacs.d/elpa/magit-20210312.1012/magit-section hides /home/sha=
ne/.emacs.d/elpa/magit-section-20210224.1417/magit-section
/home/shane/.emacs.d/elpa/ample-regexps-20200508.1021/init-tryout hides /ho=
me/shane/.emacs.d/elpa/lua-mode-20201110.1250/init-tryout
/home/shane/.emacs.d/elpa/ivy-20210311.1638/elpa hides /home/shane/.emacs.d=
/elpa/lispy-20210121.926/elpa
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/jsonrpc hides /home/shan=
e/.emacs.d/elpa/jsonrpc-1.0.14/jsonrpc
/home/shane/source/git/spacemacs/layers/+lang/go/local/go-rename/go-rename =
hides /home/shane/.emacs.d/elpa/go-rename-20190805.2101/go-rename
/home/shane/source/git/spacemacs/layers/+emacs/org/local/evil-org/evil-org =
hides /home/shane/.emacs.d/elpa/evil-org-20201222.2023/evil-org
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/erc/erc-status-sidebar h=
ides /home/shane/.emacs.d/elpa/erc-status-sidebar-20200907.1307/erc-status-=
sidebar
/home/shane/.emacs.d/elpa/flycheck-elsa-20200203.1758/Elsafile hides /home/=
shane/.emacs.d/elpa/elsa-20201011.1950/Elsafile
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/emacs-lisp/eldoc hides /=
home/shane/.emacs.d/elpa/eldoc-1.11.0/eldoc
/home/shane/.emacs.d/elpa/load-relative-20201130.2202/el-get-install hides =
/home/shane/.emacs.d/elpa/el-get-20200912.1653/el-get-install
/home/shane/.opam/4.10.0/share/emacs/site-lisp/dune hides /home/shane/.emac=
s.d/elpa/dune-20210213.757/dune
/home/shane/.opam/4.10.0/share/emacs/site-lisp/dune-flymake hides /home/sha=
ne/.emacs.d/elpa/dune-20210213.757/dune-flymake
/home/shane/.emacs.d/elpa/debian-el-20201011.1543/debian-autoloads hides /h=
ome/shane/.emacs.d/elpa/dpkg-dev-el-20190824.2314/debian-autoloads
/home/shane/var/smulliga/source/git/config/emacs/manual-packages/docker.el/=
docker-container hides /home/shane/.emacs.d/elpa/docker-20210313.1943/docke=
r-container
/home/shane/var/smulliga/source/git/config/emacs/manual-packages/docker.el/=
docker-machine hides /home/shane/.emacs.d/elpa/docker-20210313.1943/docker-=
machine
/home/shane/var/smulliga/source/git/config/emacs/manual-packages/docker.el/=
docker-utils hides /home/shane/.emacs.d/elpa/docker-20210313.1943/docker-ut=
ils
/home/shane/var/smulliga/source/git/config/emacs/manual-packages/docker.el/=
docker-network hides /home/shane/.emacs.d/elpa/docker-20210313.1943/docker-=
network
/home/shane/var/smulliga/source/git/config/emacs/manual-packages/docker.el/=
docker-image hides /home/shane/.emacs.d/elpa/docker-20210313.1943/docker-im=
age
/home/shane/var/smulliga/source/git/config/emacs/manual-packages/docker.el/=
docker hides /home/shane/.emacs.d/elpa/docker-20210313.1943/docker
/home/shane/var/smulliga/source/git/config/emacs/manual-packages/docker.el/=
docker-volume hides /home/shane/.emacs.d/elpa/docker-20210313.1943/docker-v=
olume
/home/shane/var/smulliga/source/git/config/emacs/manual-packages/docker.el/=
docker-compose hides /home/shane/.emacs.d/elpa/docker-20210313.1943/docker-=
compose
/home/shane/var/smulliga/source/git/config/emacs/manual-packages/docker.el/=
docker-core hides /home/shane/.emacs.d/elpa/docker-20210313.1943/docker-core
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ol-bibtex hides /var=
/smulliga/source/git/config/emacs/packages27/org-20200316/ol-bibtex
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-pcomplete hides =
/var/smulliga/source/git/config/emacs/packages27/org-20200316/org-pcomplete
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-octave hides /var=
/smulliga/source/git/config/emacs/packages27/org-20200316/ob-octave
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-java hides /var/s=
mulliga/source/git/config/emacs/packages27/org-20200316/ob-java
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-footnote hides /=
var/smulliga/source/git/config/emacs/packages27/org-20200316/org-footnote
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ol-rmail hides /var/=
smulliga/source/git/config/emacs/packages27/org-20200316/ol-rmail
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org hides /var/smull=
iga/source/git/config/emacs/packages27/org-20200316/org
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ol-w3m hides /var/sm=
ulliga/source/git/config/emacs/packages27/org-20200316/ol-w3m
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ox-beamer hides /var=
/smulliga/source/git/config/emacs/packages27/org-20200316/ox-beamer
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-R hides /var/smul=
liga/source/git/config/emacs/packages27/org-20200316/ob-R
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-agenda hides /va=
r/smulliga/source/git/config/emacs/packages27/org-20200316/org-agenda
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ol-bbdb hides /var/s=
mulliga/source/git/config/emacs/packages27/org-20200316/ol-bbdb
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-lisp hides /var/s=
mulliga/source/git/config/emacs/packages27/org-20200316/ob-lisp
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob hides /var/smulli=
ga/source/git/config/emacs/packages27/org-20200316/ob
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-version hides /v=
ar/smulliga/source/git/config/emacs/packages27/org-20200316/org-version
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-mobile hides /va=
r/smulliga/source/git/config/emacs/packages27/org-20200316/org-mobile
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-fortran hides /va=
r/smulliga/source/git/config/emacs/packages27/org-20200316/ob-fortran
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-archive hides /v=
ar/smulliga/source/git/config/emacs/packages27/org-20200316/org-archive
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-ref hides /var/sm=
ulliga/source/git/config/emacs/packages27/org-20200316/ob-ref
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-comint hides /var=
/smulliga/source/git/config/emacs/packages27/org-20200316/ob-comint
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-shen hides /var/s=
mulliga/source/git/config/emacs/packages27/org-20200316/ob-shen
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-table hides /var/=
smulliga/source/git/config/emacs/packages27/org-20200316/ob-table
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ox-texinfo hides /va=
r/smulliga/source/git/config/emacs/packages27/org-20200316/ox-texinfo
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-lua hides /var/sm=
ulliga/source/git/config/emacs/packages27/org-20200316/ob-lua
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-eshell hides /var=
/smulliga/source/git/config/emacs/packages27/org-20200316/ob-eshell
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ol-gnus hides /var/s=
mulliga/source/git/config/emacs/packages27/org-20200316/ol-gnus
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-J hides /var/smul=
liga/source/git/config/emacs/packages27/org-20200316/ob-J
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-src hides /var/s=
mulliga/source/git/config/emacs/packages27/org-20200316/org-src
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-C hides /var/smul=
liga/source/git/config/emacs/packages27/org-20200316/ob-C
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ol hides /var/smulli=
ga/source/git/config/emacs/packages27/org-20200316/ol
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-colview hides /v=
ar/smulliga/source/git/config/emacs/packages27/org-20200316/org-colview
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-matlab hides /var=
/smulliga/source/git/config/emacs/packages27/org-20200316/ob-matlab
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-indent hides /va=
r/smulliga/source/git/config/emacs/packages27/org-20200316/org-indent
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-groovy hides /var=
/smulliga/source/git/config/emacs/packages27/org-20200316/ob-groovy
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-mouse hides /var=
/smulliga/source/git/config/emacs/packages27/org-20200316/org-mouse
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ox-odt hides /var/sm=
ulliga/source/git/config/emacs/packages27/org-20200316/ox-odt
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-sqlite hides /var=
/smulliga/source/git/config/emacs/packages27/org-20200316/ob-sqlite
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-coq hides /var/sm=
ulliga/source/git/config/emacs/packages27/org-20200316/ob-coq
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ox-ascii hides /var/=
smulliga/source/git/config/emacs/packages27/org-20200316/ox-ascii
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-emacs-lisp hides =
/var/smulliga/source/git/config/emacs/packages27/org-20200316/ob-emacs-lisp
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ox-latex hides /var/=
smulliga/source/git/config/emacs/packages27/org-20200316/ox-latex
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-hledger hides /va=
r/smulliga/source/git/config/emacs/packages27/org-20200316/ob-hledger
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-crypt hides /var=
/smulliga/source/git/config/emacs/packages27/org-20200316/org-crypt
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-loaddefs hides /=
var/smulliga/source/git/config/emacs/packages27/org-20200316/org-loaddefs
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-inlinetask hides=
 /var/smulliga/source/git/config/emacs/packages27/org-20200316/org-inlineta=
sk
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-keys hides /var/=
smulliga/source/git/config/emacs/packages27/org-20200316/org-keys
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-feed hides /var/=
smulliga/source/git/config/emacs/packages27/org-20200316/org-feed
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-datetree hides /=
var/smulliga/source/git/config/emacs/packages27/org-20200316/org-datetree
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-num hides /var/s=
mulliga/source/git/config/emacs/packages27/org-20200316/org-num
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-mscgen hides /var=
/smulliga/source/git/config/emacs/packages27/org-20200316/ob-mscgen
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-macs hides /var/=
smulliga/source/git/config/emacs/packages27/org-20200316/org-macs
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-timer hides /var=
/smulliga/source/git/config/emacs/packages27/org-20200316/org-timer
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-id hides /var/sm=
ulliga/source/git/config/emacs/packages27/org-20200316/org-id
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-faces hides /var=
/smulliga/source/git/config/emacs/packages27/org-20200316/org-faces
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-ocaml hides /var/=
smulliga/source/git/config/emacs/packages27/org-20200316/ob-ocaml
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-clock hides /var=
/smulliga/source/git/config/emacs/packages27/org-20200316/org-clock
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ol-info hides /var/s=
mulliga/source/git/config/emacs/packages27/org-20200316/ol-info
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ol-docview hides /va=
r/smulliga/source/git/config/emacs/packages27/org-20200316/ol-docview
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-list hides /var/=
smulliga/source/git/config/emacs/packages27/org-20200316/org-list
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-sed hides /var/sm=
ulliga/source/git/config/emacs/packages27/org-20200316/ob-sed
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-css hides /var/sm=
ulliga/source/git/config/emacs/packages27/org-20200316/ob-css
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-haskell hides /va=
r/smulliga/source/git/config/emacs/packages27/org-20200316/ob-haskell
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-ditaa hides /var/=
smulliga/source/git/config/emacs/packages27/org-20200316/ob-ditaa
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-latex hides /var/=
smulliga/source/git/config/emacs/packages27/org-20200316/ob-latex
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-asymptote hides /=
var/smulliga/source/git/config/emacs/packages27/org-20200316/ob-asymptote
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-stan hides /var/s=
mulliga/source/git/config/emacs/packages27/org-20200316/ob-stan
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ox hides /var/smulli=
ga/source/git/config/emacs/packages27/org-20200316/ox
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-duration hides /=
var/smulliga/source/git/config/emacs/packages27/org-20200316/org-duration
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-perl hides /var/s=
mulliga/source/git/config/emacs/packages27/org-20200316/ob-perl
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-tempo hides /var=
/smulliga/source/git/config/emacs/packages27/org-20200316/org-tempo
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ol-irc hides /var/sm=
ulliga/source/git/config/emacs/packages27/org-20200316/ol-irc
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-dot hides /var/sm=
ulliga/source/git/config/emacs/packages27/org-20200316/ob-dot
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-install hides /v=
ar/smulliga/source/git/config/emacs/packages27/org-20200316/org-install
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-protocol hides /=
var/smulliga/source/git/config/emacs/packages27/org-20200316/org-protocol
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-ledger hides /var=
/smulliga/source/git/config/emacs/packages27/org-20200316/ob-ledger
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ol-eshell hides /var=
/smulliga/source/git/config/emacs/packages27/org-20200316/ol-eshell
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-gnuplot hides /va=
r/smulliga/source/git/config/emacs/packages27/org-20200316/ob-gnuplot
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-plot hides /var/=
smulliga/source/git/config/emacs/packages27/org-20200316/org-plot
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-makefile hides /v=
ar/smulliga/source/git/config/emacs/packages27/org-20200316/ob-makefile
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-lilypond hides /v=
ar/smulliga/source/git/config/emacs/packages27/org-20200316/ob-lilypond
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-picolisp hides /v=
ar/smulliga/source/git/config/emacs/packages27/org-20200316/ob-picolisp
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-ebnf hides /var/s=
mulliga/source/git/config/emacs/packages27/org-20200316/ob-ebnf
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-goto hides /var/=
smulliga/source/git/config/emacs/packages27/org-20200316/org-goto
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-sass hides /var/s=
mulliga/source/git/config/emacs/packages27/org-20200316/ob-sass
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-eval hides /var/s=
mulliga/source/git/config/emacs/packages27/org-20200316/ob-eval
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-tangle hides /var=
/smulliga/source/git/config/emacs/packages27/org-20200316/ob-tangle
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ox-md hides /var/smu=
lliga/source/git/config/emacs/packages27/org-20200316/ox-md
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-element hides /v=
ar/smulliga/source/git/config/emacs/packages27/org-20200316/org-element
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-lob hides /var/sm=
ulliga/source/git/config/emacs/packages27/org-20200316/ob-lob
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-exp hides /var/sm=
ulliga/source/git/config/emacs/packages27/org-20200316/ob-exp
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-org hides /var/sm=
ulliga/source/git/config/emacs/packages27/org-20200316/ob-org
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-compat hides /va=
r/smulliga/source/git/config/emacs/packages27/org-20200316/org-compat
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-python hides /var=
/smulliga/source/git/config/emacs/packages27/org-20200316/ob-python
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-awk hides /var/sm=
ulliga/source/git/config/emacs/packages27/org-20200316/ob-awk
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-lint hides /var/=
smulliga/source/git/config/emacs/packages27/org-20200316/org-lint
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-sql hides /var/sm=
ulliga/source/git/config/emacs/packages27/org-20200316/ob-sql
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-clojure hides /va=
r/smulliga/source/git/config/emacs/packages27/org-20200316/ob-clojure
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-habit hides /var=
/smulliga/source/git/config/emacs/packages27/org-20200316/org-habit
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-shell hides /var/=
smulliga/source/git/config/emacs/packages27/org-20200316/ob-shell
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-abc hides /var/sm=
ulliga/source/git/config/emacs/packages27/org-20200316/ob-abc
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-maxima hides /var=
/smulliga/source/git/config/emacs/packages27/org-20200316/ob-maxima
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ox-icalendar hides /=
var/smulliga/source/git/config/emacs/packages27/org-20200316/ox-icalendar
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-scheme hides /var=
/smulliga/source/git/config/emacs/packages27/org-20200316/ob-scheme
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-processing hides =
/var/smulliga/source/git/config/emacs/packages27/org-20200316/ob-processing
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-attach hides /va=
r/smulliga/source/git/config/emacs/packages27/org-20200316/org-attach
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ox-man hides /var/sm=
ulliga/source/git/config/emacs/packages27/org-20200316/ox-man
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-forth hides /var/=
smulliga/source/git/config/emacs/packages27/org-20200316/ob-forth
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-io hides /var/smu=
lliga/source/git/config/emacs/packages27/org-20200316/ob-io
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-js hides /var/smu=
lliga/source/git/config/emacs/packages27/org-20200316/ob-js
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-core hides /var/s=
mulliga/source/git/config/emacs/packages27/org-20200316/ob-core
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-ctags hides /var=
/smulliga/source/git/config/emacs/packages27/org-20200316/org-ctags
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ox-html hides /var/s=
mulliga/source/git/config/emacs/packages27/org-20200316/ox-html
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-macro hides /var=
/smulliga/source/git/config/emacs/packages27/org-20200316/org-macro
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-screen hides /var=
/smulliga/source/git/config/emacs/packages27/org-20200316/ob-screen
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ox-org hides /var/sm=
ulliga/source/git/config/emacs/packages27/org-20200316/ox-org
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-table hides /var=
/smulliga/source/git/config/emacs/packages27/org-20200316/org-table
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-capture hides /v=
ar/smulliga/source/git/config/emacs/packages27/org-20200316/org-capture
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-calc hides /var/s=
mulliga/source/git/config/emacs/packages27/org-20200316/ob-calc
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-vala hides /var/s=
mulliga/source/git/config/emacs/packages27/org-20200316/ob-vala
/home/shane/.emacs.d/elpa/org-20210322/org-autoloads hides /var/smulliga/so=
urce/git/config/emacs/packages27/org-20200316/org-autoloads
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-attach-git hides=
 /var/smulliga/source/git/config/emacs/packages27/org-20200316/org-attach-g=
it
/home/shane/.emacs.d/elpa/org-20210322/org-pkg hides /var/smulliga/source/g=
it/config/emacs/packages27/org-20200316/org-pkg
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ol-eww hides /var/sm=
ulliga/source/git/config/emacs/packages27/org-20200316/ol-eww
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-plantuml hides /v=
ar/smulliga/source/git/config/emacs/packages27/org-20200316/ob-plantuml
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ob-ruby hides /var/s=
mulliga/source/git/config/emacs/packages27/org-20200316/ob-ruby
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ol-mhe hides /var/sm=
ulliga/source/git/config/emacs/packages27/org-20200316/ol-mhe
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/ox-publish hides /va=
r/smulliga/source/git/config/emacs/packages27/org-20200316/ox-publish
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/org/org-entities hides /=
var/smulliga/source/git/config/emacs/packages27/org-20200316/org-entities
/home/shane/.emacs.d/elpa/mmm-mode-20200908.2236/mmm-class hides /home/shan=
e/.emacs.d/packages28/mmm-mode-0.5.8/mmm-class
/home/shane/.emacs.d/elpa/mmm-mode-20200908.2236/mmm-mode-pkg hides /home/s=
hane/.emacs.d/packages28/mmm-mode-0.5.8/mmm-mode-pkg
/home/shane/.emacs.d/elpa/mmm-mode-20200908.2236/mmm-region hides /home/sha=
ne/.emacs.d/packages28/mmm-mode-0.5.8/mmm-region
/home/shane/.emacs.d/elpa/mmm-mode-20200908.2236/mmm-defaults hides /home/s=
hane/.emacs.d/packages28/mmm-mode-0.5.8/mmm-defaults
/home/shane/.emacs.d/elpa/mmm-mode-20200908.2236/mmm-mode hides /home/shane=
/.emacs.d/packages28/mmm-mode-0.5.8/mmm-mode
/home/shane/.emacs.d/elpa/mmm-mode-20200908.2236/mmm-myghty hides /home/sha=
ne/.emacs.d/packages28/mmm-mode-0.5.8/mmm-myghty
/home/shane/.emacs.d/elpa/mmm-mode-20200908.2236/mmm-rpm hides /home/shane/=
.emacs.d/packages28/mmm-mode-0.5.8/mmm-rpm
/home/shane/.emacs.d/elpa/mmm-mode-20200908.2236/mmm-mode-autoloads hides /=
home/shane/.emacs.d/packages28/mmm-mode-0.5.8/mmm-mode-autoloads
/home/shane/.emacs.d/elpa/mmm-mode-20200908.2236/mmm-noweb hides /home/shan=
e/.emacs.d/packages28/mmm-mode-0.5.8/mmm-noweb
/home/shane/.emacs.d/elpa/mmm-mode-20200908.2236/mmm-sample hides /home/sha=
ne/.emacs.d/packages28/mmm-mode-0.5.8/mmm-sample
/home/shane/.emacs.d/elpa/mmm-mode-20200908.2236/mmm-vars hides /home/shane=
/.emacs.d/packages28/mmm-mode-0.5.8/mmm-vars
/home/shane/.emacs.d/elpa/mmm-mode-20200908.2236/mmm-erb hides /home/shane/=
.emacs.d/packages28/mmm-mode-0.5.8/mmm-erb
/home/shane/.emacs.d/elpa/mmm-mode-20200908.2236/mmm-auto hides /home/shane=
/.emacs.d/packages28/mmm-mode-0.5.8/mmm-auto
/home/shane/.emacs.d/elpa/mmm-mode-20200908.2236/mmm-utils hides /home/shan=
e/.emacs.d/packages28/mmm-mode-0.5.8/mmm-utils
/home/shane/.emacs.d/elpa/mmm-mode-20200908.2236/mmm-cweb hides /home/shane=
/.emacs.d/packages28/mmm-mode-0.5.8/mmm-cweb
/home/shane/.emacs.d/elpa/mmm-mode-20200908.2236/mmm-univ hides /home/shane=
/.emacs.d/packages28/mmm-mode-0.5.8/mmm-univ
/home/shane/.emacs.d/elpa/mmm-mode-20200908.2236/mmm-compat hides /home/sha=
ne/.emacs.d/packages28/mmm-mode-0.5.8/mmm-compat
/home/shane/.emacs.d/elpa/mmm-mode-20200908.2236/mmm-cmds hides /home/shane=
/.emacs.d/packages28/mmm-mode-0.5.8/mmm-cmds
/home/shane/.emacs.d/elpa/mmm-mode-20200908.2236/mmm-mason hides /home/shan=
e/.emacs.d/packages28/mmm-mode-0.5.8/mmm-mason
/home/shane/.emacs.d/elpa/vlf-20191126.2250/vlf-search hides /home/shane/.e=
macs.d/packages28/vlf-1.7.2/vlf-search
/home/shane/.emacs.d/elpa/vlf-20191126.2250/vlf-follow hides /home/shane/.e=
macs.d/packages28/vlf-1.7.2/vlf-follow
/home/shane/.emacs.d/elpa/vlf-20191126.2250/vlf-write hides /home/shane/.em=
acs.d/packages28/vlf-1.7.2/vlf-write
/home/shane/.emacs.d/elpa/vlf-20191126.2250/vlf-base hides /home/shane/.ema=
cs.d/packages28/vlf-1.7.2/vlf-base
/home/shane/.emacs.d/elpa/vlf-20191126.2250/vlf-ediff hides /home/shane/.em=
acs.d/packages28/vlf-1.7.2/vlf-ediff
/home/shane/.emacs.d/elpa/vlf-20191126.2250/vlf-setup hides /home/shane/.em=
acs.d/packages28/vlf-1.7.2/vlf-setup
/home/shane/.emacs.d/elpa/vlf-20191126.2250/vlf hides /home/shane/.emacs.d/=
packages28/vlf-1.7.2/vlf
/home/shane/.emacs.d/elpa/vlf-20191126.2250/vlf-tune hides /home/shane/.ema=
cs.d/packages28/vlf-1.7.2/vlf-tune
/home/shane/.emacs.d/elpa/vlf-20191126.2250/vlf-occur hides /home/shane/.em=
acs.d/packages28/vlf-1.7.2/vlf-occur
/home/shane/.emacs.d/elpa/vlf-20191126.2250/vlf-autoloads hides /home/shane=
/.emacs.d/packages28/vlf-1.7.2/vlf-autoloads
/home/shane/.emacs.d/elpa/vlf-20191126.2250/vlf-pkg hides /home/shane/.emac=
s.d/packages28/vlf-1.7.2/vlf-pkg
/home/shane/.emacs.d/elpa/company-20210502.15/company-bbdb hides /home/shan=
e/.emacs.d/packages28/company-20210224.2244/company-bbdb
/home/shane/.emacs.d/elpa/company-20210502.15/company-files hides /home/sha=
ne/.emacs.d/packages28/company-20210224.2244/company-files
/home/shane/.emacs.d/elpa/company-20210502.15/company-nxml hides /home/shan=
e/.emacs.d/packages28/company-20210224.2244/company-nxml
/home/shane/.emacs.d/elpa/company-20210502.15/company-dabbrev-code hides /h=
ome/shane/.emacs.d/packages28/company-20210224.2244/company-dabbrev-code
/home/shane/.emacs.d/elpa/company-20210502.15/company-ispell hides /home/sh=
ane/.emacs.d/packages28/company-20210224.2244/company-ispell
/home/shane/.emacs.d/elpa/company-20210502.15/company-cmake hides /home/sha=
ne/.emacs.d/packages28/company-20210224.2244/company-cmake
/home/shane/.emacs.d/elpa/company-20210502.15/company-css hides /home/shane=
/.emacs.d/packages28/company-20210224.2244/company-css
/home/shane/.emacs.d/elpa/company-20210502.15/company hides /home/shane/.em=
acs.d/packages28/company-20210224.2244/company
/home/shane/.emacs.d/elpa/company-20210502.15/company-capf hides /home/shan=
e/.emacs.d/packages28/company-20210224.2244/company-capf
/home/shane/.emacs.d/elpa/company-20210502.15/company-tng hides /home/shane=
/.emacs.d/packages28/company-20210224.2244/company-tng
/home/shane/.emacs.d/elpa/company-20210502.15/company-dabbrev hides /home/s=
hane/.emacs.d/packages28/company-20210224.2244/company-dabbrev
/home/shane/.emacs.d/elpa/company-20210502.15/company-keywords hides /home/=
shane/.emacs.d/packages28/company-20210224.2244/company-keywords
/home/shane/.emacs.d/elpa/company-20210502.15/company-yasnippet hides /home=
/shane/.emacs.d/packages28/company-20210224.2244/company-yasnippet
/home/shane/.emacs.d/elpa/company-20210502.15/company-abbrev hides /home/sh=
ane/.emacs.d/packages28/company-20210224.2244/company-abbrev
/home/shane/.emacs.d/elpa/company-20210502.15/company-gtags hides /home/sha=
ne/.emacs.d/packages28/company-20210224.2244/company-gtags
/home/shane/.emacs.d/elpa/company-20210502.15/company-tempo hides /home/sha=
ne/.emacs.d/packages28/company-20210224.2244/company-tempo
/home/shane/.emacs.d/elpa/company-20210502.15/company-template hides /home/=
shane/.emacs.d/packages28/company-20210224.2244/company-template
/home/shane/.emacs.d/elpa/company-20210502.15/company-elisp hides /home/sha=
ne/.emacs.d/packages28/company-20210224.2244/company-elisp
/home/shane/.emacs.d/elpa/company-20210502.15/company-oddmuse hides /home/s=
hane/.emacs.d/packages28/company-20210224.2244/company-oddmuse
/home/shane/.emacs.d/elpa/company-20210502.15/company-etags hides /home/sha=
ne/.emacs.d/packages28/company-20210224.2244/company-etags
/home/shane/.emacs.d/elpa/company-20210502.15/company-clang hides /home/sha=
ne/.emacs.d/packages28/company-20210224.2244/company-clang
/home/shane/.emacs.d/elpa/company-20210502.15/company-semantic hides /home/=
shane/.emacs.d/packages28/company-20210224.2244/company-semantic
/home/shane/.emacs.d/elpa/company-20210502.15/company-autoloads hides /home=
/shane/.emacs.d/packages28/company-20210224.2244/company-autoloads
/home/shane/.emacs.d/elpa/company-20210502.15/company-pkg hides /home/shane=
/.emacs.d/packages28/company-20210224.2244/company-pkg
/home/shane/.emacs.d/elpa/expand-region-20200304.1839/octave-expansions hid=
es /home/shane/.emacs.d/packages28/expand-region-0.11.0/octave-expansions
/home/shane/.emacs.d/elpa/expand-region-20200304.1839/js-mode-expansions hi=
des /home/shane/.emacs.d/packages28/expand-region-0.11.0/js-mode-expansions
/home/shane/.emacs.d/elpa/expand-region-20200304.1839/expand-region-autoloa=
ds hides /home/shane/.emacs.d/packages28/expand-region-0.11.0/expand-region=
-autoloads
/home/shane/.emacs.d/elpa/expand-region-20200304.1839/erlang-mode-expansion=
s hides /home/shane/.emacs.d/packages28/expand-region-0.11.0/erlang-mode-ex=
pansions
/home/shane/.emacs.d/elpa/expand-region-20200304.1839/ruby-mode-expansions =
hides /home/shane/.emacs.d/packages28/expand-region-0.11.0/ruby-mode-expans=
ions
/home/shane/.emacs.d/elpa/expand-region-20200304.1839/text-mode-expansions =
hides /home/shane/.emacs.d/packages28/expand-region-0.11.0/text-mode-expans=
ions
/home/shane/.emacs.d/elpa/expand-region-20200304.1839/web-mode-expansions h=
ides /home/shane/.emacs.d/packages28/expand-region-0.11.0/web-mode-expansio=
ns
/home/shane/.emacs.d/elpa/expand-region-20200304.1839/html-mode-expansions =
hides /home/shane/.emacs.d/packages28/expand-region-0.11.0/html-mode-expans=
ions
/home/shane/.emacs.d/elpa/expand-region-20200304.1839/expand-region-core hi=
des /home/shane/.emacs.d/packages28/expand-region-0.11.0/expand-region-core
/home/shane/.emacs.d/elpa/expand-region-20200304.1839/cc-mode-expansions hi=
des /home/shane/.emacs.d/packages28/expand-region-0.11.0/cc-mode-expansions
/home/shane/.emacs.d/elpa/expand-region-20200304.1839/jsp-expansions hides =
/home/shane/.emacs.d/packages28/expand-region-0.11.0/jsp-expansions
/home/shane/.emacs.d/elpa/expand-region-20200304.1839/python-mode-expansion=
s hides /home/shane/.emacs.d/packages28/expand-region-0.11.0/python-mode-ex=
pansions
/home/shane/.emacs.d/elpa/expand-region-20200304.1839/js2-mode-expansions h=
ides /home/shane/.emacs.d/packages28/expand-region-0.11.0/js2-mode-expansio=
ns
/home/shane/.emacs.d/elpa/expand-region-20200304.1839/cperl-mode-expansions=
 hides /home/shane/.emacs.d/packages28/expand-region-0.11.0/cperl-mode-expa=
nsions
/home/shane/.emacs.d/elpa/expand-region-20200304.1839/clojure-mode-expansio=
ns hides /home/shane/.emacs.d/packages28/expand-region-0.11.0/clojure-mode-=
expansions
/home/shane/.emacs.d/elpa/expand-region-20200304.1839/expand-region-pkg hid=
es /home/shane/.emacs.d/packages28/expand-region-0.11.0/expand-region-pkg
/home/shane/.emacs.d/elpa/expand-region-20200304.1839/subword-mode-expansio=
ns hides /home/shane/.emacs.d/packages28/expand-region-0.11.0/subword-mode-=
expansions
/home/shane/.emacs.d/elpa/expand-region-20200304.1839/feature-mode-expansio=
ns hides /home/shane/.emacs.d/packages28/expand-region-0.11.0/feature-mode-=
expansions
/home/shane/.emacs.d/elpa/expand-region-20200304.1839/css-mode-expansions h=
ides /home/shane/.emacs.d/packages28/expand-region-0.11.0/css-mode-expansio=
ns
/home/shane/.emacs.d/elpa/expand-region-20200304.1839/nxml-mode-expansions =
hides /home/shane/.emacs.d/packages28/expand-region-0.11.0/nxml-mode-expans=
ions
/home/shane/.emacs.d/elpa/expand-region-20200304.1839/python-el-fgallina-ex=
pansions hides /home/shane/.emacs.d/packages28/expand-region-0.11.0/python-=
el-fgallina-expansions
/home/shane/.emacs.d/elpa/expand-region-20200304.1839/python-el-expansions =
hides /home/shane/.emacs.d/packages28/expand-region-0.11.0/python-el-expans=
ions
/home/shane/.emacs.d/elpa/expand-region-20200304.1839/expand-region hides /=
home/shane/.emacs.d/packages28/expand-region-0.11.0/expand-region
/home/shane/.emacs.d/elpa/expand-region-20200304.1839/enh-ruby-mode-expansi=
ons hides /home/shane/.emacs.d/packages28/expand-region-0.11.0/enh-ruby-mod=
e-expansions
/home/shane/.emacs.d/elpa/expand-region-20200304.1839/expand-region-custom =
hides /home/shane/.emacs.d/packages28/expand-region-0.11.0/expand-region-cu=
stom
/home/shane/.emacs.d/elpa/expand-region-20200304.1839/latex-mode-expansions=
 hides /home/shane/.emacs.d/packages28/expand-region-0.11.0/latex-mode-expa=
nsions
/home/shane/.emacs.d/elpa/expand-region-20200304.1839/er-basic-expansions h=
ides /home/shane/.emacs.d/packages28/expand-region-0.11.0/er-basic-expansio=
ns
/home/shane/.emacs.d/elpa/expand-region-20200304.1839/sml-mode-expansions h=
ides /home/shane/.emacs.d/packages28/expand-region-0.11.0/sml-mode-expansio=
ns
/home/shane/.emacs.d/elpa/expand-region-20200304.1839/the-org-mode-expansio=
ns hides /home/shane/.emacs.d/packages28/expand-region-0.11.0/the-org-mode-=
expansions
/home/shane/.emacs.d/elpa/posframe-20210311.937/posframe hides /home/shane/=
.emacs.d/packages28/posframe-0.8.8/posframe
/home/shane/.emacs.d/elpa/posframe-20210311.937/posframe-pkg hides /home/sh=
ane/.emacs.d/packages28/posframe-0.8.8/posframe-pkg
/home/shane/.emacs.d/elpa/posframe-20210311.937/posframe-autoloads hides /h=
ome/shane/.emacs.d/packages28/posframe-0.8.8/posframe-autoloads
/home/shane/.emacs.d/elpa/company-statistics-20170210.1933/company-statisti=
cs-pkg hides /home/shane/.emacs.d/packages28/company-statistics-0.2.3/compa=
ny-statistics-pkg
/home/shane/.emacs.d/elpa/company-statistics-20170210.1933/company-statisti=
cs-autoloads hides /home/shane/.emacs.d/packages28/company-statistics-0.2.3=
/company-statistics-autoloads
/home/shane/.emacs.d/elpa/company-statistics-20170210.1933/company-statisti=
cs hides /home/shane/.emacs.d/packages28/company-statistics-0.2.3/company-s=
tatistics
/home/shane/.emacs.d/elpa/goto-line-preview-20210323.328/goto-line-preview-=
autoloads hides /home/shane/.emacs.d/packages28/goto-line-preview-20210113.=
616/goto-line-preview-autoloads
/home/shane/.emacs.d/elpa/goto-line-preview-20210323.328/goto-line-preview =
hides /home/shane/.emacs.d/packages28/goto-line-preview-20210113.616/goto-l=
ine-preview
/home/shane/.emacs.d/elpa/goto-line-preview-20210323.328/goto-line-preview-=
pkg hides /home/shane/.emacs.d/packages28/goto-line-preview-20210113.616/go=
to-line-preview-pkg
/home/shane/.emacs.d/elpa/realgud-20201221.1435/realgud-autoloads hides /ho=
me/shane/.emacs.d/packages28/realgud-1.5.1/realgud-autoloads
/home/shane/.emacs.d/elpa/realgud-20201221.1435/realgud hides /home/shane/.=
emacs.d/packages28/realgud-1.5.1/realgud
/home/shane/.emacs.d/elpa/realgud-20201221.1435/realgud-pkg hides /home/sha=
ne/.emacs.d/packages28/realgud-1.5.1/realgud-pkg
/home/shane/.emacs.d/elpa/graphviz-dot-mode-20200304.432/graphviz-dot-mode-=
pkg hides /home/shane/.emacs.d/packages28/graphviz-dot-mode-20160129.2134/g=
raphviz-dot-mode-pkg
/home/shane/.emacs.d/elpa/graphviz-dot-mode-20200304.432/graphviz-dot-mode =
hides /home/shane/.emacs.d/packages28/graphviz-dot-mode-20160129.2134/graph=
viz-dot-mode
/home/shane/.emacs.d/elpa/graphviz-dot-mode-20200304.432/graphviz-dot-mode-=
autoloads hides /home/shane/.emacs.d/packages28/graphviz-dot-mode-20160129.=
2134/graphviz-dot-mode-autoloads
/home/shane/.emacs.d/elpa/json-mode-20190123.422/json-mode-pkg hides /home/=
shane/.emacs.d/packages28/json-mode-0.2/json-mode-pkg
/home/shane/.emacs.d/elpa/json-mode-20190123.422/json-mode hides /home/shan=
e/.emacs.d/packages28/json-mode-0.2/json-mode
/home/shane/.emacs.d/elpa/json-mode-20190123.422/json-mode-autoloads hides =
/home/shane/.emacs.d/packages28/json-mode-0.2/json-mode-autoloads
/home/shane/.emacs.d/elpa/highlight-escape-sequences-20201214.1730/highligh=
t-escape-sequences hides /home/shane/.emacs.d/packages28/highlight-escape-s=
equences-0.4/highlight-escape-sequences
/home/shane/.emacs.d/elpa/highlight-escape-sequences-20201214.1730/highligh=
t-escape-sequences-pkg hides /home/shane/.emacs.d/packages28/highlight-esca=
pe-sequences-0.4/highlight-escape-sequences-pkg
/home/shane/.emacs.d/elpa/highlight-escape-sequences-20201214.1730/highligh=
t-escape-sequences-autoloads hides /home/shane/.emacs.d/packages28/highligh=
t-escape-sequences-0.4/highlight-escape-sequences-autoloads
/home/shane/.emacs.d/elpa/which-key-20210131.1837/which-key-autoloads hides=
 /home/shane/.emacs.d/packages28/which-key-3.5.1/which-key-autoloads
/home/shane/.emacs.d/elpa/which-key-20210131.1837/which-key hides /home/sha=
ne/.emacs.d/packages28/which-key-3.5.1/which-key
/home/shane/.emacs.d/elpa/which-key-20210131.1837/which-key-pkg hides /home=
/shane/.emacs.d/packages28/which-key-3.5.1/which-key-pkg
/home/shane/.emacs.d/elpa/swiper-20210310.1230/swiper-autoloads hides /home=
/shane/.emacs.d/packages28/swiper-0.13.4/swiper-autoloads
/home/shane/.emacs.d/elpa/swiper-20210310.1230/swiper-pkg hides /home/shane=
/.emacs.d/packages28/swiper-0.13.4/swiper-pkg
/home/shane/.emacs.d/elpa/swiper-20210310.1230/swiper hides /home/shane/.em=
acs.d/packages28/swiper-0.13.4/swiper
/home/shane/.emacs.d/elpa/beacon-20190104.1931/beacon hides /home/shane/.em=
acs.d/packages28/beacon-1.3.3/beacon
/home/shane/.emacs.d/elpa/beacon-20190104.1931/beacon-pkg hides /home/shane=
/.emacs.d/packages28/beacon-1.3.3/beacon-pkg
/home/shane/.emacs.d/elpa/beacon-20190104.1931/beacon-autoloads hides /home=
/shane/.emacs.d/packages28/beacon-1.3.3/beacon-autoloads
/home/shane/.emacs.d/elpa/aggressive-indent-20200824.2352/aggressive-indent=
-pkg hides /home/shane/.emacs.d/packages28/aggressive-indent-1.8.3/aggressi=
ve-indent-pkg
/home/shane/.emacs.d/elpa/aggressive-indent-20200824.2352/aggressive-indent=
 hides /home/shane/.emacs.d/packages28/aggressive-indent-1.8.3/aggressive-i=
ndent
/home/shane/.emacs.d/elpa/aggressive-indent-20200824.2352/aggressive-indent=
-autoloads hides /home/shane/.emacs.d/packages28/aggressive-indent-1.8.3/ag=
gressive-indent-autoloads
/home/shane/.emacs.d/elpa/command-log-mode-20160413.447/command-log-mode hi=
des /home/shane/.emacs.d/packages28/command-log-mode-20151208.2052/command-=
log-mode
/home/shane/.emacs.d/elpa/command-log-mode-20160413.447/command-log-mode-pk=
g hides /home/shane/.emacs.d/packages28/command-log-mode-20151208.2052/comm=
and-log-mode-pkg
/home/shane/.emacs.d/elpa/command-log-mode-20160413.447/command-log-mode-au=
toloads hides /home/shane/.emacs.d/packages28/command-log-mode-20151208.205=
2/command-log-mode-autoloads
/home/shane/.emacs.d/elpa/yasnippet-20200604.246/yasnippet-pkg hides /home/=
shane/.emacs.d/packages28/yasnippet-0.14.0/yasnippet-pkg
/home/shane/.emacs.d/elpa/yasnippet-20200604.246/yasnippet-autoloads hides =
/home/shane/.emacs.d/packages28/yasnippet-0.14.0/yasnippet-autoloads
/home/shane/.emacs.d/elpa/yasnippet-20200604.246/yasnippet hides /home/shan=
e/.emacs.d/packages28/yasnippet-0.14.0/yasnippet
/home/shane/.emacs.d/elpa/rich-minority-20190419.1136/rich-minority-autoloa=
ds hides /home/shane/.emacs.d/packages28/rich-minority-1.0.3/rich-minority-=
autoloads
/home/shane/.emacs.d/elpa/rich-minority-20190419.1136/rich-minority hides /=
home/shane/.emacs.d/packages28/rich-minority-1.0.3/rich-minority
/home/shane/.emacs.d/elpa/rich-minority-20190419.1136/rich-minority-pkg hid=
es /home/shane/.emacs.d/packages28/rich-minority-1.0.3/rich-minority-pkg
/home/shane/.emacs.d/elpa/cider-20210318.837/cider-cheatsheet hides /home/s=
hane/.emacs.d/packages28/cider-1.0.0/cider-cheatsheet
/home/shane/.emacs.d/elpa/cider-20210318.837/cider-apropos hides /home/shan=
e/.emacs.d/packages28/cider-1.0.0/cider-apropos
/home/shane/.emacs.d/elpa/cider-20210318.837/cider hides /home/shane/.emacs=
.d/packages28/cider-1.0.0/cider
/home/shane/.emacs.d/elpa/cider-20210318.837/nrepl-client hides /home/shane=
/.emacs.d/packages28/cider-1.0.0/nrepl-client
/home/shane/.emacs.d/elpa/cider-20210318.837/cider-test hides /home/shane/.=
emacs.d/packages28/cider-1.0.0/cider-test
/home/shane/.emacs.d/elpa/cider-20210318.837/cider-resolve hides /home/shan=
e/.emacs.d/packages28/cider-1.0.0/cider-resolve
/home/shane/.emacs.d/elpa/cider-20210318.837/cider-repl-history hides /home=
/shane/.emacs.d/packages28/cider-1.0.0/cider-repl-history
/home/shane/.emacs.d/elpa/cider-20210318.837/cider-overlays hides /home/sha=
ne/.emacs.d/packages28/cider-1.0.0/cider-overlays
/home/shane/.emacs.d/elpa/cider-20210318.837/cider-stacktrace hides /home/s=
hane/.emacs.d/packages28/cider-1.0.0/cider-stacktrace
/home/shane/.emacs.d/elpa/cider-20210318.837/cider-autoloads hides /home/sh=
ane/.emacs.d/packages28/cider-1.0.0/cider-autoloads
/home/shane/.emacs.d/elpa/cider-20210318.837/cider-mode hides /home/shane/.=
emacs.d/packages28/cider-1.0.0/cider-mode
/home/shane/.emacs.d/elpa/cider-20210318.837/cider-debug hides /home/shane/=
.emacs.d/packages28/cider-1.0.0/cider-debug
/home/shane/.emacs.d/elpa/cider-20210318.837/cider-inspector hides /home/sh=
ane/.emacs.d/packages28/cider-1.0.0/cider-inspector
/home/shane/.emacs.d/elpa/cider-20210318.837/cider-selector hides /home/sha=
ne/.emacs.d/packages28/cider-1.0.0/cider-selector
/home/shane/.emacs.d/elpa/cider-20210318.837/cider-common hides /home/shane=
/.emacs.d/packages28/cider-1.0.0/cider-common
/home/shane/.emacs.d/elpa/cider-20210318.837/cider-format hides /home/shane=
/.emacs.d/packages28/cider-1.0.0/cider-format
/home/shane/.emacs.d/elpa/cider-20210318.837/cider-pkg hides /home/shane/.e=
macs.d/packages28/cider-1.0.0/cider-pkg
/home/shane/.emacs.d/elpa/cider-20210318.837/cider-completion hides /home/s=
hane/.emacs.d/packages28/cider-1.0.0/cider-completion
/home/shane/.emacs.d/elpa/cider-20210318.837/cider-repl hides /home/shane/.=
emacs.d/packages28/cider-1.0.0/cider-repl
/home/shane/.emacs.d/elpa/cider-20210318.837/cider-profile hides /home/shan=
e/.emacs.d/packages28/cider-1.0.0/cider-profile
/home/shane/.emacs.d/elpa/cider-20210318.837/nrepl-dict hides /home/shane/.=
emacs.d/packages28/cider-1.0.0/nrepl-dict
/home/shane/.emacs.d/elpa/cider-20210318.837/cider-eval hides /home/shane/.=
emacs.d/packages28/cider-1.0.0/cider-eval
/home/shane/.emacs.d/elpa/cider-20210318.837/cider-macroexpansion hides /ho=
me/shane/.emacs.d/packages28/cider-1.0.0/cider-macroexpansion
/home/shane/.emacs.d/elpa/cider-20210318.837/cider-ns hides /home/shane/.em=
acs.d/packages28/cider-1.0.0/cider-ns
/home/shane/.emacs.d/elpa/cider-20210318.837/cider-scratch hides /home/shan=
e/.emacs.d/packages28/cider-1.0.0/cider-scratch
/home/shane/.emacs.d/elpa/cider-20210318.837/cider-eldoc hides /home/shane/=
.emacs.d/packages28/cider-1.0.0/cider-eldoc
/home/shane/.emacs.d/elpa/cider-20210318.837/cider-xref hides /home/shane/.=
emacs.d/packages28/cider-1.0.0/cider-xref
/home/shane/.emacs.d/elpa/cider-20210318.837/cider-util hides /home/shane/.=
emacs.d/packages28/cider-1.0.0/cider-util
/home/shane/.emacs.d/elpa/cider-20210318.837/cider-client hides /home/shane=
/.emacs.d/packages28/cider-1.0.0/cider-client
/home/shane/.emacs.d/elpa/cider-20210318.837/cider-tracing hides /home/shan=
e/.emacs.d/packages28/cider-1.0.0/cider-tracing
/home/shane/.emacs.d/elpa/cider-20210318.837/cider-find hides /home/shane/.=
emacs.d/packages28/cider-1.0.0/cider-find
/home/shane/.emacs.d/elpa/cider-20210318.837/cider-browse-ns hides /home/sh=
ane/.emacs.d/packages28/cider-1.0.0/cider-browse-ns
/home/shane/.emacs.d/elpa/cider-20210318.837/cider-doc hides /home/shane/.e=
macs.d/packages28/cider-1.0.0/cider-doc
/home/shane/.emacs.d/elpa/cider-20210318.837/cider-popup hides /home/shane/=
.emacs.d/packages28/cider-1.0.0/cider-popup
/home/shane/.emacs.d/elpa/cider-20210318.837/cider-classpath hides /home/sh=
ane/.emacs.d/packages28/cider-1.0.0/cider-classpath
/home/shane/.emacs.d/elpa/cider-20210318.837/cider-connection hides /home/s=
hane/.emacs.d/packages28/cider-1.0.0/cider-connection
/home/shane/.emacs.d/elpa/cider-20210318.837/cider-browse-spec hides /home/=
shane/.emacs.d/packages28/cider-1.0.0/cider-browse-spec
/home/shane/.emacs.d/elpa/cider-20210318.837/cider-compat hides /home/shane=
/.emacs.d/packages28/cider-1.0.0/cider-compat
/home/shane/.emacs.d/elpa/cider-20210318.837/cider-clojuredocs hides /home/=
shane/.emacs.d/packages28/cider-1.0.0/cider-clojuredocs
/home/shane/.emacs.d/elpa/parsec-20180730.16/parsec hides /home/shane/.emac=
s.d/packages28/parsec-0.1.3/parsec
/home/shane/.emacs.d/elpa/parsec-20180730.16/parsec-autoloads hides /home/s=
hane/.emacs.d/packages28/parsec-0.1.3/parsec-autoloads
/home/shane/.emacs.d/elpa/parsec-20180730.16/parsec-pkg hides /home/shane/.=
emacs.d/packages28/parsec-0.1.3/parsec-pkg
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/progmodes/scheme hides /=
home/shane/.emacs.d/packages28/parsec-0.1.3/examples/scheme
/home/shane/.emacs.d/elpa/company-20210502.15/company-bbdb hides /home/shan=
e/.emacs.d/packages28/company-0.9.13/company-bbdb
/home/shane/.emacs.d/elpa/company-20210502.15/company-files hides /home/sha=
ne/.emacs.d/packages28/company-0.9.13/company-files
/home/shane/.emacs.d/elpa/company-20210502.15/company-nxml hides /home/shan=
e/.emacs.d/packages28/company-0.9.13/company-nxml
/home/shane/.emacs.d/elpa/company-20210502.15/company-dabbrev-code hides /h=
ome/shane/.emacs.d/packages28/company-0.9.13/company-dabbrev-code
/home/shane/.emacs.d/elpa/company-20210502.15/company-ispell hides /home/sh=
ane/.emacs.d/packages28/company-0.9.13/company-ispell
/home/shane/.emacs.d/elpa/company-20210502.15/company-cmake hides /home/sha=
ne/.emacs.d/packages28/company-0.9.13/company-cmake
/home/shane/.emacs.d/elpa/company-20210502.15/company-css hides /home/shane=
/.emacs.d/packages28/company-0.9.13/company-css
/home/shane/.emacs.d/elpa/company-20210502.15/company hides /home/shane/.em=
acs.d/packages28/company-0.9.13/company
/home/shane/.emacs.d/elpa/company-20210502.15/company-capf hides /home/shan=
e/.emacs.d/packages28/company-0.9.13/company-capf
/home/shane/.emacs.d/elpa/company-20210502.15/company-tng hides /home/shane=
/.emacs.d/packages28/company-0.9.13/company-tng
/home/shane/.emacs.d/elpa/company-20210502.15/company-dabbrev hides /home/s=
hane/.emacs.d/packages28/company-0.9.13/company-dabbrev
/home/shane/.emacs.d/elpa/company-20210502.15/company-keywords hides /home/=
shane/.emacs.d/packages28/company-0.9.13/company-keywords
/home/shane/.emacs.d/elpa/company-20210502.15/company-yasnippet hides /home=
/shane/.emacs.d/packages28/company-0.9.13/company-yasnippet
/home/shane/.emacs.d/elpa/company-20210502.15/company-abbrev hides /home/sh=
ane/.emacs.d/packages28/company-0.9.13/company-abbrev
/home/shane/.emacs.d/elpa/company-20210502.15/company-gtags hides /home/sha=
ne/.emacs.d/packages28/company-0.9.13/company-gtags
/home/shane/.emacs.d/elpa/company-20210502.15/company-tempo hides /home/sha=
ne/.emacs.d/packages28/company-0.9.13/company-tempo
/home/shane/.emacs.d/elpa/company-20210502.15/company-template hides /home/=
shane/.emacs.d/packages28/company-0.9.13/company-template
/home/shane/.emacs.d/elpa/company-20210502.15/company-elisp hides /home/sha=
ne/.emacs.d/packages28/company-0.9.13/company-elisp
/home/shane/.emacs.d/elpa/company-20210502.15/company-oddmuse hides /home/s=
hane/.emacs.d/packages28/company-0.9.13/company-oddmuse
/home/shane/.emacs.d/elpa/company-20210502.15/company-etags hides /home/sha=
ne/.emacs.d/packages28/company-0.9.13/company-etags
/home/shane/.emacs.d/elpa/company-20210502.15/company-clang hides /home/sha=
ne/.emacs.d/packages28/company-0.9.13/company-clang
/home/shane/.emacs.d/elpa/company-20210502.15/company-semantic hides /home/=
shane/.emacs.d/packages28/company-0.9.13/company-semantic
/home/shane/.emacs.d/elpa/company-20210502.15/company-autoloads hides /home=
/shane/.emacs.d/packages28/company-0.9.13/company-autoloads
/home/shane/.emacs.d/elpa/company-20210502.15/company-pkg hides /home/shane=
/.emacs.d/packages28/company-0.9.13/company-pkg
/home/shane/.emacs.d/elpa/system-packages-20210103.8/system-packages hides =
/home/shane/.emacs.d/packages28/system-packages-1.0.11/system-packages
/home/shane/.emacs.d/elpa/system-packages-20210103.8/system-packages-autolo=
ads hides /home/shane/.emacs.d/packages28/system-packages-1.0.11/system-pac=
kages-autoloads
/home/shane/.emacs.d/elpa/system-packages-20210103.8/system-packages-pkg hi=
des /home/shane/.emacs.d/packages28/system-packages-1.0.11/system-packages-=
pkg
/home/shane/.emacs.d/elpa/bnf-mode-20200323.1348/bnf-mode-autoloads hides /=
home/shane/.emacs.d/packages28/bnf-mode-0.4.5/bnf-mode-autoloads
/home/shane/.emacs.d/elpa/bnf-mode-20200323.1348/bnf-mode hides /home/shane=
/.emacs.d/packages28/bnf-mode-0.4.5/bnf-mode
/home/shane/.emacs.d/elpa/bnf-mode-20200323.1348/bnf-mode-pkg hides /home/s=
hane/.emacs.d/packages28/bnf-mode-0.4.5/bnf-mode-pkg
/home/shane/.emacs.d/elpa/ivy-posframe-20210122.45/ivy-posframe-autoloads h=
ides /home/shane/.emacs.d/packages28/ivy-posframe-0.5.5/ivy-posframe-autolo=
ads
/home/shane/.emacs.d/elpa/ivy-posframe-20210122.45/ivy-posframe hides /home=
/shane/.emacs.d/packages28/ivy-posframe-0.5.5/ivy-posframe
/home/shane/.emacs.d/elpa/ivy-posframe-20210122.45/ivy-posframe-pkg hides /=
home/shane/.emacs.d/packages28/ivy-posframe-0.5.5/ivy-posframe-pkg
/home/shane/.emacs.d/elpa/realgud-node-inspect-20190523.1251/realgud-node-i=
nspect-autoloads hides /home/shane/.emacs.d/packages28/realgud-node-inspect=
-1.0.0/realgud-node-inspect-autoloads
/home/shane/.emacs.d/elpa/realgud-node-inspect-20190523.1251/realgud-node-i=
nspect hides /home/shane/.emacs.d/packages28/realgud-node-inspect-1.0.0/rea=
lgud-node-inspect
/home/shane/.emacs.d/elpa/realgud-node-inspect-20190523.1251/realgud-node-i=
nspect-pkg hides /home/shane/.emacs.d/packages28/realgud-node-inspect-1.0.0=
/realgud-node-inspect-pkg
/home/shane/.emacs.d/packages28/realgud-pry-20201011.1815/pry/track-mode hi=
des /home/shane/.emacs.d/packages28/realgud-node-inspect-1.0.0/realgud-node=
-inspect/track-mode
/home/shane/.emacs.d/packages28/realgud-pry-20201011.1815/pry/core hides /h=
ome/shane/.emacs.d/packages28/realgud-node-inspect-1.0.0/realgud-node-inspe=
ct/core
/home/shane/.emacs.d/packages28/realgud-pry-20201011.1815/pry/init hides /h=
ome/shane/.emacs.d/packages28/realgud-node-inspect-1.0.0/realgud-node-inspe=
ct/init
/home/shane/.emacs.d/packages28/realgud-1.5.1/test/regexp-helper hides /hom=
e/shane/.emacs.d/packages28/realgud-node-inspect-1.0.0/test/regexp-helper
/home/shane/.emacs.d/elpa/vdiff-20201103.1427/vdiff hides /home/shane/.emac=
s.d/packages28/vdiff-0.2.4/vdiff
/home/shane/.emacs.d/elpa/vdiff-20201103.1427/vdiff-pkg hides /home/shane/.=
emacs.d/packages28/vdiff-0.2.4/vdiff-pkg
/home/shane/.emacs.d/elpa/vdiff-20201103.1427/vdiff-autoloads hides /home/s=
hane/.emacs.d/packages28/vdiff-0.2.4/vdiff-autoloads
/home/shane/.emacs.d/elpa/websocket-20210110.17/websocket-autoloads hides /=
home/shane/.emacs.d/packages28/websocket-1.13.1/websocket-autoloads
/home/shane/.emacs.d/elpa/websocket-20210110.17/websocket-pkg hides /home/s=
hane/.emacs.d/packages28/websocket-1.13.1/websocket-pkg
/home/shane/.emacs.d/elpa/websocket-20210110.17/websocket hides /home/shane=
/.emacs.d/packages28/websocket-1.13.1/websocket
/home/shane/.emacs.d/elpa/ssh-deploy-20201006.1213/ssh-deploy-autoloads hid=
es /home/shane/.emacs.d/packages28/ssh-deploy-3.1.12/ssh-deploy-autoloads
/home/shane/.emacs.d/elpa/ssh-deploy-20201006.1213/ssh-deploy-diff-mode hid=
es /home/shane/.emacs.d/packages28/ssh-deploy-3.1.12/ssh-deploy-diff-mode
/home/shane/.emacs.d/elpa/ssh-deploy-20201006.1213/ssh-deploy-hydra hides /=
home/shane/.emacs.d/packages28/ssh-deploy-3.1.12/ssh-deploy-hydra
/home/shane/.emacs.d/elpa/ssh-deploy-20201006.1213/ssh-deploy-pkg hides /ho=
me/shane/.emacs.d/packages28/ssh-deploy-3.1.12/ssh-deploy-pkg
/home/shane/.emacs.d/elpa/ssh-deploy-20201006.1213/ssh-deploy hides /home/s=
hane/.emacs.d/packages28/ssh-deploy-3.1.12/ssh-deploy
/home/shane/.emacs.d/elpa/sotlisp-20190211.2026/sotlisp-pkg hides /home/sha=
ne/.emacs.d/packages28/sotlisp-1.6.2/sotlisp-pkg
/home/shane/.emacs.d/elpa/sotlisp-20190211.2026/sotlisp hides /home/shane/.=
emacs.d/packages28/sotlisp-1.6.2/sotlisp
/home/shane/.emacs.d/elpa/sotlisp-20190211.2026/sotlisp-autoloads hides /ho=
me/shane/.emacs.d/packages28/sotlisp-1.6.2/sotlisp-autoloads
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/color hides /home/shane/=
.emacs.d/packages28/auctex-13.0.5/style/color
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/url/url hides /home/shan=
e/.emacs.d/packages28/auctex-13.0.5/style/url
/home/shane/.emacs.d/elpa/auctex-13.0.5/preview hides /home/shane/.emacs.d/=
packages28/auctex-13.0.5/style/preview
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/language/slovak hides /h=
ome/shane/.emacs.d/packages28/auctex-13.0.5/style/slovak
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/language/czech hides /ho=
me/shane/.emacs.d/packages28/auctex-13.0.5/style/czech
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/array hides /home/shane/=
.emacs.d/packages28/auctex-13.0.5/style/array
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/language/english hides /=
home/shane/.emacs.d/packages28/auctex-13.0.5/style/english
/home/shane/.emacs.d/elpa/bm-20201116.2341/bm hides /home/shane/.emacs.d/pa=
ckages28/auctex-13.0.5/style/bm
/home/shane/.emacs.d/elpa/loc-changes-20200722.1111/loc-changes-pkg hides /=
home/shane/.emacs.d/packages28/loc-changes-1.2/loc-changes-pkg
/home/shane/.emacs.d/elpa/loc-changes-20200722.1111/loc-changes hides /home=
/shane/.emacs.d/packages28/loc-changes-1.2/loc-changes
/home/shane/.emacs.d/elpa/loc-changes-20200722.1111/loc-changes-autoloads h=
ides /home/shane/.emacs.d/packages28/loc-changes-1.2/loc-changes-autoloads
/home/shane/.emacs.d/elpa/ggtags-20190320.2208/ggtags-pkg hides /home/shane=
/.emacs.d/packages28/ggtags-0.8.13/ggtags-pkg
/home/shane/.emacs.d/elpa/ggtags-20190320.2208/ggtags hides /home/shane/.em=
acs.d/packages28/ggtags-0.8.13/ggtags
/home/shane/.emacs.d/elpa/ggtags-20190320.2208/ggtags-autoloads hides /home=
/shane/.emacs.d/packages28/ggtags-0.8.13/ggtags-autoloads
/home/shane/.emacs.d/packages28/realgud-pry-20201011.1815/pry/track-mode hi=
des /home/shane/.emacs.d/packages28/realgud-node-inspect-20190523.1251/real=
gud-node-inspect/track-mode
/home/shane/.emacs.d/packages28/realgud-pry-20201011.1815/pry/core hides /h=
ome/shane/.emacs.d/packages28/realgud-node-inspect-20190523.1251/realgud-no=
de-inspect/core
/home/shane/.emacs.d/packages28/realgud-pry-20201011.1815/pry/init hides /h=
ome/shane/.emacs.d/packages28/realgud-node-inspect-20190523.1251/realgud-no=
de-inspect/init
/home/shane/.emacs.d/elpa/ztree-20210215.2111/ztree-autoloads hides /home/s=
hane/.emacs.d/packages28/ztree-1.0.5/ztree-autoloads
/home/shane/.emacs.d/elpa/ztree-20210215.2111/ztree-util hides /home/shane/=
.emacs.d/packages28/ztree-1.0.5/ztree-util
/home/shane/.emacs.d/elpa/ztree-20210215.2111/ztree-pkg hides /home/shane/.=
emacs.d/packages28/ztree-1.0.5/ztree-pkg
/home/shane/.emacs.d/elpa/ztree-20210215.2111/ztree-diff-model hides /home/=
shane/.emacs.d/packages28/ztree-1.0.5/ztree-diff-model
/home/shane/.emacs.d/elpa/ztree-20210215.2111/ztree-diff hides /home/shane/=
.emacs.d/packages28/ztree-1.0.5/ztree-diff
/home/shane/.emacs.d/elpa/ztree-20210215.2111/ztree-view hides /home/shane/=
.emacs.d/packages28/ztree-1.0.5/ztree-view
/home/shane/.emacs.d/elpa/ztree-20210215.2111/ztree hides /home/shane/.emac=
s.d/packages28/ztree-1.0.5/ztree
/home/shane/.emacs.d/elpa/ztree-20210215.2111/ztree-dir hides /home/shane/.=
emacs.d/packages28/ztree-1.0.5/ztree-dir
/home/shane/.emacs.d/elpa/test-simple-20200722.1121/test-simple-autoloads h=
ides /home/shane/.emacs.d/packages28/test-simple-1.3.0/test-simple-autoloads
/home/shane/.emacs.d/elpa/test-simple-20200722.1121/test-simple-pkg hides /=
home/shane/.emacs.d/packages28/test-simple-1.3.0/test-simple-pkg
/home/shane/.emacs.d/elpa/test-simple-20200722.1121/test-simple hides /home=
/shane/.emacs.d/packages28/test-simple-1.3.0/test-simple
/home/shane/.emacs.d/elpa/web-server-20210209.58/web-server-pkg hides /home=
/shane/.emacs.d/packages28/web-server-0.1.2/web-server-pkg
/home/shane/.emacs.d/elpa/web-server-20210209.58/web-server hides /home/sha=
ne/.emacs.d/packages28/web-server-0.1.2/web-server
/home/shane/.emacs.d/elpa/web-server-20210209.58/web-server-autoloads hides=
 /home/shane/.emacs.d/packages28/web-server-0.1.2/web-server-autoloads
/home/shane/.emacs.d/elpa/web-server-20210209.58/web-server-status-codes hi=
des /home/shane/.emacs.d/packages28/web-server-0.1.2/web-server-status-codes
/home/shane/.emacs.d/elpa/emms-20210310.2103/emms-playing-time hides /home/=
shane/.emacs.d/packages28/emms-6.3/emms-playing-time
/home/shane/.emacs.d/elpa/emms-20210310.2103/emms-info hides /home/shane/.e=
macs.d/packages28/emms-6.3/emms-info
/home/shane/.emacs.d/elpa/emms-20210310.2103/emms-cue hides /home/shane/.em=
acs.d/packages28/emms-6.3/emms-cue
/home/shane/.emacs.d/elpa/emms-20210310.2103/emms-librefm-stream hides /hom=
e/shane/.emacs.d/packages28/emms-6.3/emms-librefm-stream
/home/shane/.emacs.d/elpa/emms-20210310.2103/emms-setup hides /home/shane/.=
emacs.d/packages28/emms-6.3/emms-setup
/home/shane/.emacs.d/elpa/emms-20210310.2103/emms-source-file hides /home/s=
hane/.emacs.d/packages28/emms-6.3/emms-source-file
/home/shane/.emacs.d/elpa/emms-20210310.2103/emms-bookmarks hides /home/sha=
ne/.emacs.d/packages28/emms-6.3/emms-bookmarks
/home/shane/.emacs.d/elpa/emms-20210310.2103/emms-volume-amixer hides /home=
/shane/.emacs.d/packages28/emms-6.3/emms-volume-amixer
/home/shane/.emacs.d/elpa/emms-20210310.2103/emms-i18n hides /home/shane/.e=
macs.d/packages28/emms-6.3/emms-i18n
/home/shane/.emacs.d/elpa/emms-20210310.2103/emms-history hides /home/shane=
/.emacs.d/packages28/emms-6.3/emms-history
/home/shane/.emacs.d/elpa/emms-20210310.2103/emms-source-playlist hides /ho=
me/shane/.emacs.d/packages28/emms-6.3/emms-source-playlist
/home/shane/.emacs.d/elpa/emms-20210310.2103/emms-player-xine hides /home/s=
hane/.emacs.d/packages28/emms-6.3/emms-player-xine
/home/shane/.emacs.d/elpa/emms-20210310.2103/emms-player-mplayer hides /hom=
e/shane/.emacs.d/packages28/emms-6.3/emms-player-mplayer
/home/shane/.emacs.d/elpa/emms-20210310.2103/emms-metaplaylist-mode hides /=
home/shane/.emacs.d/packages28/emms-6.3/emms-metaplaylist-mode
/home/shane/.emacs.d/elpa/emms-20210310.2103/emms-info-mp3info hides /home/=
shane/.emacs.d/packages28/emms-6.3/emms-info-mp3info
/home/shane/.emacs.d/elpa/emms-20210310.2103/emms-librefm-scrobbler hides /=
home/shane/.emacs.d/packages28/emms-6.3/emms-librefm-scrobbler
/home/shane/.emacs.d/elpa/emms-20210310.2103/emms-tag-editor hides /home/sh=
ane/.emacs.d/packages28/emms-6.3/emms-tag-editor
/home/shane/.emacs.d/elpa/emms-20210310.2103/emms-pkg hides /home/shane/.em=
acs.d/packages28/emms-6.3/emms-pkg
/home/shane/.emacs.d/elpa/emms-20210310.2103/emms-info-opusinfo hides /home=
/shane/.emacs.d/packages28/emms-6.3/emms-info-opusinfo
/home/shane/.emacs.d/elpa/emms-20210310.2103/emms-info-metaflac hides /home=
/shane/.emacs.d/packages28/emms-6.3/emms-info-metaflac
/home/shane/.emacs.d/elpa/emms-20210310.2103/emms-player-mpd hides /home/sh=
ane/.emacs.d/packages28/emms-6.3/emms-player-mpd
/home/shane/.emacs.d/elpa/emms-20210310.2103/emms-player-simple hides /home=
/shane/.emacs.d/packages28/emms-6.3/emms-player-simple
/home/shane/.emacs.d/elpa/emms-20210310.2103/emms-info-tinytag hides /home/=
shane/.emacs.d/packages28/emms-6.3/emms-info-tinytag
/home/shane/.emacs.d/elpa/emms-20210310.2103/emms-mode-line hides /home/sha=
ne/.emacs.d/packages28/emms-6.3/emms-mode-line
/home/shane/.emacs.d/elpa/emms-20210310.2103/emms-info-exiftool hides /home=
/shane/.emacs.d/packages28/emms-6.3/emms-info-exiftool
/home/shane/.emacs.d/elpa/emms-20210310.2103/emms-streams hides /home/shane=
/.emacs.d/packages28/emms-6.3/emms-streams
/home/shane/.emacs.d/elpa/emms-20210310.2103/emms-show-all hides /home/shan=
e/.emacs.d/packages28/emms-6.3/emms-show-all
/home/shane/.emacs.d/elpa/emms-20210310.2103/emms-later-do hides /home/shan=
e/.emacs.d/packages28/emms-6.3/emms-later-do
/home/shane/.emacs.d/elpa/emms-20210310.2103/emms-volume-mixerctl hides /ho=
me/shane/.emacs.d/packages28/emms-6.3/emms-volume-mixerctl
/home/shane/.emacs.d/elpa/emms-20210310.2103/emms-playlist-limit hides /hom=
e/shane/.emacs.d/packages28/emms-6.3/emms-playlist-limit
/home/shane/.emacs.d/elpa/emms-20210310.2103/emms-player-mpv hides /home/sh=
ane/.emacs.d/packages28/emms-6.3/emms-player-mpv
/home/shane/.emacs.d/elpa/emms-20210310.2103/emms-maint hides /home/shane/.=
emacs.d/packages28/emms-6.3/emms-maint
/home/shane/.emacs.d/elpa/emms-20210310.2103/emms-player-mpg321-remote hide=
s /home/shane/.emacs.d/packages28/emms-6.3/emms-player-mpg321-remote
/home/shane/.emacs.d/elpa/emms-20210310.2103/emms-browser hides /home/shane=
/.emacs.d/packages28/emms-6.3/emms-browser
/home/shane/.emacs.d/elpa/emms-20210310.2103/emms-playlist-sort hides /home=
/shane/.emacs.d/packages28/emms-6.3/emms-playlist-sort
/home/shane/.emacs.d/elpa/emms-20210310.2103/emms-mark hides /home/shane/.e=
macs.d/packages28/emms-6.3/emms-mark
/home/shane/.emacs.d/elpa/emms-20210310.2103/emms-volume-pulse hides /home/=
shane/.emacs.d/packages28/emms-6.3/emms-volume-pulse
/home/shane/.emacs.d/elpa/emms-20210310.2103/emms-info-libtag hides /home/s=
hane/.emacs.d/packages28/emms-6.3/emms-info-libtag
/home/shane/.emacs.d/elpa/emms-20210310.2103/emms-cache hides /home/shane/.=
emacs.d/packages28/emms-6.3/emms-cache
/home/shane/.emacs.d/elpa/emms-20210310.2103/emms-score hides /home/shane/.=
emacs.d/packages28/emms-6.3/emms-score
/home/shane/.emacs.d/elpa/emms-20210310.2103/emms-last-played hides /home/s=
hane/.emacs.d/packages28/emms-6.3/emms-last-played
/home/shane/.emacs.d/elpa/emms-20210310.2103/emms-compat hides /home/shane/=
.emacs.d/packages28/emms-6.3/emms-compat
/home/shane/.emacs.d/elpa/emms-20210310.2103/emms-volume hides /home/shane/=
.emacs.d/packages28/emms-6.3/emms-volume
/home/shane/.emacs.d/elpa/emms-20210310.2103/emms-lyrics hides /home/shane/=
.emacs.d/packages28/emms-6.3/emms-lyrics
/home/shane/.emacs.d/elpa/emms-20210310.2103/emms-url hides /home/shane/.em=
acs.d/packages28/emms-6.3/emms-url
/home/shane/.emacs.d/elpa/emms-20210310.2103/emms-player-vlc hides /home/sh=
ane/.emacs.d/packages28/emms-6.3/emms-player-vlc
/home/shane/.emacs.d/elpa/emms-20210310.2103/emms-mode-line-icon hides /hom=
e/shane/.emacs.d/packages28/emms-6.3/emms-mode-line-icon
/home/shane/.emacs.d/elpa/emms-20210310.2103/emms-info-ogginfo hides /home/=
shane/.emacs.d/packages28/emms-6.3/emms-info-ogginfo
/home/shane/.emacs.d/elpa/emms-20210310.2103/emms-autoloads hides /home/sha=
ne/.emacs.d/packages28/emms-6.3/emms-autoloads
/home/shane/.emacs.d/elpa/emms-20210310.2103/emms-playlist-mode hides /home=
/shane/.emacs.d/packages28/emms-6.3/emms-playlist-mode
/home/shane/.emacs.d/elpa/emms-20210310.2103/emms hides /home/shane/.emacs.=
d/packages28/emms-6.3/emms
/home/shane/.emacs.d/elpa/emms-20210310.2103/emms-stream-info hides /home/s=
hane/.emacs.d/packages28/emms-6.3/emms-stream-info
/home/shane/.emacs.d/elpa/emms-20210310.2103/jack hides /home/shane/.emacs.=
d/packages28/emms-6.3/jack
/home/shane/.emacs.d/elpa/transient-20210315.1902/transient-pkg hides /home=
/shane/.emacs.d/packages28/transient-0.3.0/transient-pkg
/home/shane/.emacs.d/elpa/transient-20210315.1902/transient-autoloads hides=
 /home/shane/.emacs.d/packages28/transient-0.3.0/transient-autoloads
/home/shane/.emacs.d/elpa/transient-20210315.1902/transient hides /home/sha=
ne/.emacs.d/packages28/transient-0.3.0/transient
/home/shane/.emacs.d/elpa/names-20180321.1155/names-autoloads hides /home/s=
hane/.emacs.d/packages28/names-20151201.0/names-autoloads
/home/shane/.emacs.d/elpa/names-20180321.1155/names-pkg hides /home/shane/.=
emacs.d/packages28/names-20151201.0/names-pkg
/home/shane/.emacs.d/elpa/names-20180321.1155/names-dev hides /home/shane/.=
emacs.d/packages28/names-20151201.0/names-dev
/home/shane/.emacs.d/elpa/names-20180321.1155/names hides /home/shane/.emac=
s.d/packages28/names-20151201.0/names
/home/shane/.emacs.d/elpa/easy-kill-20181114.2330/easy-kill-pkg hides /home=
/shane/.emacs.d/packages28/easy-kill-0.9.4/easy-kill-pkg
/home/shane/.emacs.d/elpa/easy-kill-20181114.2330/easy-kill hides /home/sha=
ne/.emacs.d/packages28/easy-kill-0.9.4/easy-kill
/home/shane/.emacs.d/elpa/easy-kill-20181114.2330/easy-kill-autoloads hides=
 /home/shane/.emacs.d/packages28/easy-kill-0.9.4/easy-kill-autoloads
/home/shane/.emacs.d/elpa/ace-window-20200606.1259/ace-window-autoloads hid=
es /home/shane/.emacs.d/packages28/ace-window-0.10.0/ace-window-autoloads
/home/shane/.emacs.d/elpa/ace-window-20200606.1259/ace-window hides /home/s=
hane/.emacs.d/packages28/ace-window-0.10.0/ace-window
/home/shane/.emacs.d/elpa/ace-window-20200606.1259/ace-window-pkg hides /ho=
me/shane/.emacs.d/packages28/ace-window-0.10.0/ace-window-pkg
/home/shane/.emacs.d/elpa/ivy-20210311.1638/elpa hides /home/shane/.emacs.d=
/packages28/ace-window-0.10.0/test/elpa
/home/shane/.emacs.d/elpa/ivy-20210311.1638/ivy-overlay hides /home/shane/.=
emacs.d/packages28/ivy-0.13.4/ivy-overlay
/home/shane/.emacs.d/elpa/ivy-20210311.1638/ivy hides /home/shane/.emacs.d/=
packages28/ivy-0.13.4/ivy
/home/shane/.emacs.d/elpa/ivy-20210311.1638/ivy-autoloads hides /home/shane=
/.emacs.d/packages28/ivy-0.13.4/ivy-autoloads
/home/shane/.emacs.d/elpa/ivy-20210311.1638/ivy-pkg hides /home/shane/.emac=
s.d/packages28/ivy-0.13.4/ivy-pkg
/home/shane/.emacs.d/elpa/ivy-20210311.1638/ivy-faces hides /home/shane/.em=
acs.d/packages28/ivy-0.13.4/ivy-faces
/home/shane/.emacs.d/elpa/ivy-20210311.1638/colir hides /home/shane/.emacs.=
d/packages28/ivy-0.13.4/colir
/home/shane/.emacs.d/elpa/load-relative-20201130.2202/load-relative-autoloa=
ds hides /home/shane/.emacs.d/packages28/load-relative-1.3.1/load-relative-=
autoloads
/home/shane/.emacs.d/elpa/load-relative-20201130.2202/load-relative hides /=
home/shane/.emacs.d/packages28/load-relative-1.3.1/load-relative
/home/shane/.emacs.d/elpa/load-relative-20201130.2202/load-relative-pkg hid=
es /home/shane/.emacs.d/packages28/load-relative-1.3.1/load-relative-pkg
/home/shane/.emacs.d/elpa/async-20210117.718/async hides /home/shane/.emacs=
.d/packages28/async-1.9.3/async
/home/shane/.emacs.d/elpa/async-20210117.718/async-autoloads hides /home/sh=
ane/.emacs.d/packages28/async-1.9.3/async-autoloads
/home/shane/.emacs.d/elpa/async-20210117.718/dired-async hides /home/shane/=
.emacs.d/packages28/async-1.9.3/dired-async
/home/shane/.emacs.d/elpa/async-20210117.718/smtpmail-async hides /home/sha=
ne/.emacs.d/packages28/async-1.9.3/smtpmail-async
/home/shane/.emacs.d/elpa/async-20210117.718/async-bytecomp hides /home/sha=
ne/.emacs.d/packages28/async-1.9.3/async-bytecomp
/home/shane/.emacs.d/elpa/async-20210117.718/async-pkg hides /home/shane/.e=
macs.d/packages28/async-1.9.3/async-pkg
/home/shane/.emacs.d/elpa/ivy-hydra-20210311.1108/ivy-hydra-pkg hides /home=
/shane/.emacs.d/packages28/ivy-hydra-0.13.5/ivy-hydra-pkg
/home/shane/.emacs.d/elpa/ivy-hydra-20210311.1108/ivy-hydra-autoloads hides=
 /home/shane/.emacs.d/packages28/ivy-hydra-0.13.5/ivy-hydra-autoloads
/home/shane/.emacs.d/elpa/ivy-hydra-20210311.1108/ivy-hydra hides /home/sha=
ne/.emacs.d/packages28/ivy-hydra-0.13.5/ivy-hydra
/home/shane/.emacs.d/packages28/slime-20210214.2243/lib/hyperspec hides /ho=
me/shane/.emacs.d/packages28/sly-20210303.1148/lib/hyperspec
/home/shane/.emacs.d/elpa/coffee-mode-20200315.1133/coffee-mode-pkg hides /=
home/shane/.emacs.d/packages28/coffee-mode-0.4.1.1/coffee-mode-pkg
/home/shane/.emacs.d/elpa/coffee-mode-20200315.1133/coffee-mode-autoloads h=
ides /home/shane/.emacs.d/packages28/coffee-mode-0.4.1.1/coffee-mode-autolo=
ads
/home/shane/.emacs.d/elpa/coffee-mode-20200315.1133/coffee-mode hides /home=
/shane/.emacs.d/packages28/coffee-mode-0.4.1.1/coffee-mode
/home/shane/.emacs.d/elpa/dash-20210308.2109/dash-autoloads hides /home/sha=
ne/.emacs.d/packages28/dash-2.18.1/dash-autoloads
/home/shane/.emacs.d/elpa/dash-functional-20210210.1449/dash-functional hid=
es /home/shane/.emacs.d/packages28/dash-2.18.1/dash-functional
/home/shane/.emacs.d/elpa/dash-20210308.2109/dash-pkg hides /home/shane/.em=
acs.d/packages28/dash-2.18.1/dash-pkg
/home/shane/.emacs.d/elpa/dash-20210308.2109/dash hides /home/shane/.emacs.=
d/packages28/dash-2.18.1/dash
/home/shane/.emacs.d/elpa/counsel-20210322.24/counsel hides /home/shane/.em=
acs.d/packages28/counsel-0.13.4/counsel
/home/shane/.emacs.d/elpa/counsel-20210322.24/counsel-autoloads hides /home=
/shane/.emacs.d/packages28/counsel-0.13.4/counsel-autoloads
/home/shane/.emacs.d/elpa/counsel-20210322.24/counsel-pkg hides /home/shane=
/.emacs.d/packages28/counsel-0.13.4/counsel-pkg
/home/shane/.emacs.d/elpa/evil-collection-20210323.310/evil-collection-pkg =
hides /home/shane/.emacs.d/packages28/evil-collection-20210319.1440/evil-co=
llection-pkg
/home/shane/.emacs.d/elpa/evil-collection-20210323.310/evil-collection-auto=
loads hides /home/shane/.emacs.d/packages28/evil-collection-20210319.1440/e=
vil-collection-autoloads
/home/shane/.emacs.d/elpa/evil-collection-20210323.310/evil-collection hide=
s /home/shane/.emacs.d/packages28/evil-collection-20210319.1440/evil-collec=
tion
/home/shane/.emacs.d/elpa/js2-mode-20201220.1718/js2-mode-autoloads hides /=
home/shane/.emacs.d/packages28/js2-mode-20201220/js2-mode-autoloads
/home/shane/.emacs.d/elpa/js2-mode-20201220.1718/js2-imenu-extras hides /ho=
me/shane/.emacs.d/packages28/js2-mode-20201220/js2-imenu-extras
/home/shane/.emacs.d/elpa/js2-mode-20201220.1718/js2-old-indent hides /home=
/shane/.emacs.d/packages28/js2-mode-20201220/js2-old-indent
/home/shane/.emacs.d/elpa/js2-mode-20201220.1718/js2-mode hides /home/shane=
/.emacs.d/packages28/js2-mode-20201220/js2-mode
/home/shane/.emacs.d/elpa/js2-mode-20201220.1718/js2-mode-pkg hides /home/s=
hane/.emacs.d/packages28/js2-mode-20201220/js2-mode-pkg
/home/shane/.emacs.d/elpa/avy-20201226.1734/avy-pkg hides /home/shane/.emac=
s.d/packages28/avy-0.5.0/avy-pkg
/home/shane/.emacs.d/elpa/avy-20201226.1734/avy-autoloads hides /home/shane=
/.emacs.d/packages28/avy-0.5.0/avy-autoloads
/home/shane/.emacs.d/elpa/avy-20201226.1734/avy hides /home/shane/.emacs.d/=
packages28/avy-0.5.0/avy
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/emacs-lisp/checkdoc hide=
s /home/shane/.emacs.d/packages28/avy-0.5.0/targets/checkdoc
/home/shane/.emacs.d/elpa/realgud-node-debug-20190525.1634/realgud-node-deb=
ug-autoloads hides /home/shane/.emacs.d/packages28/realgud-node-debug-1.0.0=
/realgud-node-debug-autoloads
/home/shane/.emacs.d/elpa/realgud-node-debug-20190525.1634/realgud-node-deb=
ug-pkg hides /home/shane/.emacs.d/packages28/realgud-node-debug-1.0.0/realg=
ud-node-debug-pkg
/home/shane/.emacs.d/elpa/realgud-node-debug-20190525.1634/realgud-node-deb=
ug hides /home/shane/.emacs.d/packages28/realgud-node-debug-1.0.0/realgud-n=
ode-debug
/home/shane/.emacs.d/packages28/realgud-pry-20201011.1815/pry/track-mode hi=
des /home/shane/.emacs.d/packages28/realgud-node-debug-1.0.0/realgud-node-d=
ebug/track-mode
/home/shane/.emacs.d/packages28/realgud-pry-20201011.1815/pry/core hides /h=
ome/shane/.emacs.d/packages28/realgud-node-debug-1.0.0/realgud-node-debug/c=
ore
/home/shane/.emacs.d/packages28/realgud-pry-20201011.1815/pry/init hides /h=
ome/shane/.emacs.d/packages28/realgud-node-debug-1.0.0/realgud-node-debug/i=
nit
/home/shane/.emacs.d/packages28/realgud-node-inspect-1.0.0/realgud-node-ins=
pect/main hides /home/shane/.emacs.d/packages28/realgud-node-debug-1.0.0/re=
algud-node-debug/main
/home/shane/.emacs.d/packages28/realgud-1.5.1/test/regexp-helper hides /hom=
e/shane/.emacs.d/packages28/realgud-node-debug-1.0.0/test/regexp-helper
/home/shane/.emacs.d/elpa/leaf-20210316.1822/leaf-autoloads hides /home/sha=
ne/.emacs.d/packages28/leaf-4.4.4/leaf-autoloads
/home/shane/.emacs.d/elpa/leaf-20210316.1822/leaf-pkg hides /home/shane/.em=
acs.d/packages28/leaf-4.4.4/leaf-pkg
/home/shane/.emacs.d/elpa/leaf-20210316.1822/leaf hides /home/shane/.emacs.=
d/packages28/leaf-4.4.4/leaf
/home/shane/.emacs.d/elpa/eglot-20210319.2010/eglot-pkg hides /home/shane/.=
emacs.d/packages28/eglot-1.7/eglot-pkg
/home/shane/.emacs.d/elpa/eglot-20210319.2010/eglot hides /home/shane/.emac=
s.d/packages28/eglot-1.7/eglot
/home/shane/.emacs.d/elpa/eglot-20210319.2010/eglot-autoloads hides /home/s=
hane/.emacs.d/packages28/eglot-1.7/eglot-autoloads
/home/shane/.emacs.d/elpa/guess-language-20210308.1514/guess-language-pkg h=
ides /home/shane/.emacs.d/packages28/guess-language-0.0.1/guess-language-pkg
/home/shane/.emacs.d/elpa/guess-language-20210308.1514/guess-language hides=
 /home/shane/.emacs.d/packages28/guess-language-0.0.1/guess-language
/home/shane/.emacs.d/elpa/guess-language-20210308.1514/guess-language-autol=
oads hides /home/shane/.emacs.d/packages28/guess-language-0.0.1/guess-langu=
age-autoloads
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/emacs-lisp/eldoc hides /=
home/shane/.emacs.d/packages28/drupal-mode-20200210.2222/drupal/eldoc
/home/shane/.emacs.d/elpa/helm-gtags-20200602.1610/helm-gtags hides /home/s=
hane/.emacs.d/packages28/drupal-mode-20200210.2222/drupal/helm-gtags
/home/shane/.emacs.d/elpa/flycheck-20210321.852/flycheck hides /home/shane/=
.emacs.d/packages28/drupal-mode-20200210.2222/drupal/flycheck
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/pcomplete hides /home/sh=
ane/.emacs.d/packages28/drupal-mode-20200210.2222/drupal/pcomplete
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/progmodes/etags hides /h=
ome/shane/.emacs.d/packages28/drupal-mode-20200210.2222/drupal/etags
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/net/webjump hides /home/=
shane/.emacs.d/packages28/drupal-mode-20200210.2222/drupal/webjump
/home/shane/.emacs.d/elpa/ggtags-20190320.2208/ggtags hides /home/shane/.em=
acs.d/packages28/drupal-mode-20200210.2222/drupal/ggtags
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/autoinsert hides /home/s=
hane/.emacs.d/packages28/drupal-mode-20200210.2222/drupal/autoinsert
/home/shane/local/emacs28/share/emacs/28.0.50/lisp/textmodes/ispell hides /=
home/shane/.emacs.d/packages28/drupal-mode-20200210.2222/drupal/ispell
/home/shane/.emacs.d/elpa/nameless-20190429.1202/nameless hides /home/shane=
/.emacs.d/packages28/nameless-1.0.2/nameless
/home/shane/.emacs.d/elpa/nameless-20190429.1202/nameless-autoloads hides /=
home/shane/.emacs.d/packages28/nameless-1.0.2/nameless-autoloads
/home/shane/.emacs.d/elpa/nameless-20190429.1202/nameless-pkg hides /home/s=
hane/.emacs.d/packages28/nameless-1.0.2/nameless-pkg
/home/shane/.emacs.d/packages28/realgud-pry-20201011.1815/pry/track-mode hi=
des /home/shane/.emacs.d/packages28/realgud-node-debug-20190525.1634/realgu=
d-node-debug/track-mode
/home/shane/.emacs.d/packages28/realgud-pry-20201011.1815/pry/core hides /h=
ome/shane/.emacs.d/packages28/realgud-node-debug-20190525.1634/realgud-node=
-debug/core
/home/shane/.emacs.d/packages28/realgud-pry-20201011.1815/pry/init hides /h=
ome/shane/.emacs.d/packages28/realgud-node-debug-20190525.1634/realgud-node=
-debug/init
/home/shane/.emacs.d/elpa/hydra-20201115.1055/hydra hides /home/shane/.emac=
s.d/packages28/hydra-0.14.0/hydra
/home/shane/.emacs.d/elpa/hydra-20201115.1055/hydra-examples hides /home/sh=
ane/.emacs.d/packages28/hydra-0.14.0/hydra-examples
/home/shane/.emacs.d/elpa/hydra-20201115.1055/hydra-ox hides /home/shane/.e=
macs.d/packages28/hydra-0.14.0/hydra-ox
/home/shane/.emacs.d/elpa/hydra-20201115.1055/hydra-pkg hides /home/shane/.=
emacs.d/packages28/hydra-0.14.0/hydra-pkg
/home/shane/.emacs.d/elpa/lv-20200507.1518/lv hides /home/shane/.emacs.d/pa=
ckages28/hydra-0.14.0/lv
/home/shane/.emacs.d/elpa/hydra-20201115.1055/hydra-autoloads hides /home/s=
hane/.emacs.d/packages28/hydra-0.14.0/hydra-autoloads
/home/shane/.emacs.d/elpa/diff-hl-20210318.1413/diff-hl-pkg hides /home/sha=
ne/.emacs.d/packages28/diff-hl-1.8.8/diff-hl-pkg
/home/shane/.emacs.d/elpa/diff-hl-20210318.1413/diff-hl-flydiff hides /home=
/shane/.emacs.d/packages28/diff-hl-1.8.8/diff-hl-flydiff
/home/shane/.emacs.d/elpa/diff-hl-20210318.1413/diff-hl-dired hides /home/s=
hane/.emacs.d/packages28/diff-hl-1.8.8/diff-hl-dired
/home/shane/.emacs.d/elpa/diff-hl-20210318.1413/diff-hl-autoloads hides /ho=
me/shane/.emacs.d/packages28/diff-hl-1.8.8/diff-hl-autoloads
/home/shane/.emacs.d/elpa/diff-hl-20210318.1413/diff-hl hides /home/shane/.=
emacs.d/packages28/diff-hl-1.8.8/diff-hl
/home/shane/.emacs.d/elpa/diff-hl-20210318.1413/diff-hl-amend hides /home/s=
hane/.emacs.d/packages28/diff-hl-1.8.8/diff-hl-amend
/home/shane/.emacs.d/elpa/diff-hl-20210318.1413/diff-hl-margin hides /home/=
shane/.emacs.d/packages28/diff-hl-1.8.8/diff-hl-margin

Features:
(shadow my-flim mel-q-ccl flycheck-elm flycheck-credo flycheck-haskell lsp-=
d lsp-css
lsp-csharp lsp-crystal lsp-cmake lsp-clangd lsp-bash lsp-angular lsp-ada ls=
p-actionscript
company-clang company-c-headers w3m-form w3m-symbol mime-w3m elmo-internal =
modb-legacy
modb-standard cl-print debug elmo-passwd utf-7 elmo-imap4 wl-template wl-fl=
dmgr wl-score
wl-demo wl-thread wl-action wl wl-draft wl-folder elmo-nntp ps-print ps-pri=
nt-loaddefs
ps-def lpr elmo-filter wl-summary wl-refile wl-message wl-mime mime-play fi=
lename smtp
sasl sasl-anonymous sasl-login sasl-plain wl-e21 wl-highlight elmo-mime mme=
lmo-buffer
mmelmo-imap mmimap mmbuffer wl-address pldap wl-util wl-vars wl-version elm=
o-net
elmo-cache elmo-map elmo-dop modb-generic elmo-flag elmo-localdir elmo elmo=
-signal
elmo-msgdb modb modb-entity elmo-date elmo-util elmo-vars elmo-version mime=
-edit mime-view
mime-conf calist invisible inv-23 mime-setup mail-mime-setup semi-setup sem=
i-def
mime-parse mime mmgeneric eword-encode eword-decode mel path-util pces pces=
-e20 pces-20
mime-def luna alist mcs-e20 mcs-20 mcharset std11 pccl pccl-20 ccl broken s=
tatic apel-ver
product emacsbug mwim helm-command display-line-numbers misearch multi-isea=
rch my-url
magit-extras magit-imenu git-rebase mm-view mml-smime smime dig helm-x-files
helm-for-files helm-bookmark helm-adaptive helm-external helm-net term/scre=
en term/xterm
xterm my-erc-sasl erc-sasl my-erc erc-social-graph erc-tex erc-yt erc-image=
 erc-track
erc-match erc-services erc-networks erc-hl-nicks erc-button erc-fill erc-st=
amp erc-goodies
erc erc-backend erc-loaddefs my-global my-recentf my-polymode poly-org my-w=
arnings
my-google-chrome my-quick-edit-conf-file my-files pen my-openai imaginary e=
xamplary
examplary-library examplary-core pen-library pen-company pen-ivy pen-core m=
y-apps helm-sys
my-web-mode my-term my-themes my-editorconfig editorconfig editorconfig-core
editorconfig-core-handle editorconfig-fnmatch hide-mode-line inf-mongo
my-mode-line-progressbar my-org-tidbits my-twittering twittering-mode tls m=
y-hn my-messer
my-load-manually org-transclusion calibre-query inf-kjv inf-messer systemd-=
services
systemd-services-volume systemd-services-network systemd-services-machine
systemd-services-image systemd-services-container systemd-services-utils
systemd-services-core my-find-file my-bash-completion bash-completion my-me=
moize
my-new-project my-text-coding-system my-transient my-nlp my-marginalia marg=
inalia
my-selectrum selectrum my-sh my-right-click-context right-click-context my-=
sql-mode
my-readme my-widgets my-directory-navigation my-hercules hercules my-wa
my-universal-file-conversion my-calibredb my-elfeed elfeed-org elfeed-show =
elfeed-search
elfeed-csv elfeed elfeed-curl elfeed-log elfeed-db elfeed-lib xml-query my-=
graphviz
graphviz-dot-mode my-default-google my-programs my-custom-repls my-outline =
my-zone zone
my-system-custom session my-custom my-code-questions my-tor my-aws aws-ec2 =
tblui
my-calendar lunar my-file-local-variables my-proxy my-special hackernews my=
-calfw calfw
holidays hol-loaddefs my-helm-org-rifle my-server-suggest my-skeletor skele=
tor
my-jump-tree jump-tree jump-tree-visualizer jump-tree-pos my-iedit my-hyper=
bole hyperbole
hinit hibtypes hib-doc-id hsys-org hsys-www klink hib-kbd hib-social hib-de=
bbugs hui-mini
hui hactypes hui-mouse hmouse-key hargs hui-menu hyrolo-menu hui-jmenu hmou=
se-sh
hmouse-drv hypb hui-window hycontrol zoom-frm frame-cmds frame-fns hsetting=
s hui-em-but
hyrolo google-contacts google-oauth oauth2 plstore bbdb bbdb-site hmail hbu=
t hact hpath
hhist hbdata htz cal-julian hbmap hmoccur hui-select web-mode-expansions we=
b-mode
nxml-mode-expansions rng-nxml rng-valid nxml-mode nxml-outln nxml-rap hvar =
set hversion
hload-path my-status-buttoncloud my-toggle-scripts my-buttoncloud my-sugges=
t-imports
my-file-parsers my-filter-cmd-buttonize my-glossary my-glossary-error my-qa=
 my-pipe
my-default-keywords my-computed-context my-position-list-navigator my-compl=
etion-style
orderless my-cc my-lint my-makefile-executor makefile-executor make-mode my=
-hexl
my-code-architecture my-context-functions my-ordinal ordinal my-github lice=
nse-templates
github-search gh-search gh-repos gh-users my-wordnut my-bell my-kubel kubel=
 my-kubernetes
kubernetes kubernetes-overview kubernetes-services kubernetes-secrets
kubernetes-namespaces kubernetes-jobs kubernetes-pod-line kubernetes-ingress
kubernetes-errors kubernetes-nodes kubernetes-statefulsets kubernetes-deplo=
yments
kubernetes-contexts kubernetes-configmaps kubernetes-logs kubernetes-labels
kubernetes-pods kubernetes-yaml kubernetes-loading-container kubernetes-com=
mands
kubernetes-utils kubernetes-timers kubernetes-kubectl kubernetes-process ku=
bernetes-props
kubernetes-popups kubernetes-state kubernetes-vars kubernetes-modes kuberne=
tes-ast my-gnus
my-org-link-minor-mode my-org-tables my-org-roam org-roam my-fs fs-mode roo=
t-cmd bannedit
mount-mode unpackaged my-docker docker-compose docker docker-volume docker-=
network
docker-machine docker-image docker-container docker-utils docker-core org-w=
iki bufler
bufler-group-tree my-subed subed subed-srt subed-common subed-mpv subed-deb=
ug subed-config
edbi-sqlite my-helm-spotify-plus helm-spotify-plus multi my-vuiet vuiet mpv=
 org-timer
org-clock versuri esqlite esxml-query my-lastfm lastfm elquery anaphora my-=
alert
my-treemacs my-magit-section jenkinsfile-mode groovy-mode my-mermaid mermai=
d-mode
my-plantuml-mode plantuml-mode my-grip grip-mode gitlab-ci-mode-flycheck gt=
est-mode
magit-pretty-graph my-cmd-tabulated-list my-xah-get-thing xah-get-thing my-=
tablist-modes
mygit-tablist-mode aws-users-tablist-mode aws-policies-tablist-mode ports-t=
ablist-mode
subnetscan-tablist-mode prompts-tablist-mode arp-tablist-mode my-tablist pc=
sv my-csv csv
my-micro-blogging my-slack my-calc my-gitlab gitlab-ci-mode gitlab-pipeline=
 gitlab
gitlab-users gitlab-mode gitlab-issues gitlab-notes gitlab-milestones gitla=
b-projects
gitlab-session gitlab-utils gitlab-http gitlab-browse gitlab-api gitlab-ver=
sion
my-mode-highlighting my-command-log-mode command-log-mode my-uniqify my-fra=
me my-crux crux
my-undo-tree my-kmacro my-lfe lfe-mode my-buffers my-slime-repl my-simple
stolen-from-spacemacs my-procfile my-eww-modes asciinema-eww-mode hn-eww-mo=
de
my-smart-scholar my-term-modes df-bay12-term-mode tpb-term-mode dive-term-m=
ode
zsh-term-mode sen-term-mode weechat-term-mode mc-term-mode nano-term-mode i=
rssi-term-mode
rat-term-mode lazydocker-term-mode chkservice-term-mode k9s-term-mode
rubiks-cube-term-mode vim-term-mode gq-term-mode br-term-mode ncdu-term-mode
asciimation-term-mode tmux-term-mode my-eldoc-eval my-ros ros my-window tra=
nspose-frame
org-graph-view my-goto graph kubectl eldoc-eval ql-mode-base dbscheme-mode =
elexandria
my-zeal lua-eldoc-mode counsel-web linkd csh-mode sln-mode font-lock-ext aw=
k-ward my-ghci
ghci-repl perl-repl cperl-mode-expansions cperl-mode tshell per-mode my-tty=
 my-daemons
daemons-systemd daemons-sysvinit daemons my-edbi edbi my-annotate my-git-me=
ssenger
my-pretty-hydra major-mode-hydra pretty-hydra my-tmux my-clql-mode my-helm-=
fzf
my-playgrounds my-clean-aindent my-attrap my-json my-ranger my-css my-wgrep=
 my-sx sx-load
sx-tab sx-search sx-notify sx-inbox sx-interaction sx-question-list sx-ques=
tion-mode
sx-switchto sx-favorites sx-networks sx-site sx-compose sx-tag sx-time my-m=
ode-line
my-reference-lists my-func-lists my-minimap my-systemd systemd my-log my-tr=
ace-mode
my-protobuf my-r my-visual-line my-conf my-latex zotelo my-k8s k8s-mode my-=
xref my-gtags
helm-gtags my-pollen company-pollen pollen-mode my-gitignore gitignore-mode=
 conf-mode
my-mastodon mastodon my-omnisharp my-git-timemachine git-timemachine my-lib=
verm
my-circleci my-travis travis travis-mode travis-builds travis-repos travis-=
users
travis-auth travis-ui travis-utils travis-api travis-version my-jenkins jen=
kins my-todo
todo-mode diary-lib diary-loaddefs my-w3m my-gist gist gh-gist gh-oauth gh-=
api logito
gh-cache pcache gh-auth gh-common marshal gh-url gh-profile my-general gene=
ral my-deadgrep
deadgrep my-globalized-minor-modes my-indent-tools indent-tools yafolding
indent-tools-indentation-of my-helpful helpful info-look elisp-refs my-goto=
-chg goto-chg
my-parsec parsec my-tetris tetris gamegrid my-persp my-hugo my-list-process=
es my-cursor
my-ghcide my-prodigy my-prolog ob-prolog prolog my-forth my-exordium my-gpg=
 epa-file
my-editing my-navigation my-lispify my-avy ivy-avy my-subr my-foundation my=
-lispier
my-header-line my-profiler my-deft deft my-insert-shebang insert-shebang my=
-tab my-smerge
my-hl my-occur my-nyan my-dash my-shoebox my-java my-flyspell helm-flyspell=
 my-flycheck
my-eldoc eldoc-box my-ansible ansible my-pipenv my-circe circe lui-irc-colo=
rs irc lcs
lui-format lui tracking shorten circe-compat my-intero my-anaconda my-link-=
hint
my-ace-link my-org-brain org-projectile org-category-capture org-capture or=
g-indent
my-lists org-brain picture org-attach my-babel ob-C ob-tmux ob-go ob-dot ob=
-js ob-R
ob-python helm-generic-find helm-fzf ob-show-dot ob-problog my-dictionary d=
ictionary link
connection my-yamlmod yamlmod-wrapper yamlmod my-highlight-indent-guides
hierarchy-examples-fs my-arxiv biblio-arxiv biblio-doi biblio-core my-space=
macs uuidgen
calc-misc calc-ext calc calc-loaddefs calc-macs my-fp my-mouse hierarchy cc=
-playground
direnv rpl-mode mustache-mode antlr-mode slack-search ob-jq jq-mode my-sani=
tyinc nav-flash
mode-line-bell my-repl-toggle repl-toggle fullframe my-rust-playground rust=
-playground
my-ruby robe inf-ruby my-glimpse glimpse my-compilation my-elasticsearch
my-goto-definition my-trello my-yaml my-lingo my-blimp blimp eimp extensibl=
e-shell-mode
my-automation my-ob-racket ob-racket my-path my-music my-apis my-regex my-l=
ibraries
wgrep-pt wgrep-ack wgrep-ag realgud-pry realgud:pry-track-mode realgud:pry-=
init
realgud:pry-core realgud realgud-lang-java realgud-zshdb realgud:zshdb-trac=
k-mode
realgud:zshdb-core realgud:zshdb-init realgud-trepan3k realgud:trepan3k-tra=
ck-mode
realgud:trepan3k-core realgud:trepan3k-init realgud-trepan2 realgud:trepan2=
-track-mode
realgud:trepan2-core realgud:trepan2-init realgud-trepanpl realgud:trepanpl=
-track-mode
realgud:trepanpl-core realgud:trepanpl-init realgud-trepanjs realgud:trepan=
js-track-mode
realgud:trepanjs-core realgud:trepanjs-init realgud-lang-js realgud-trepan
realgud:trepan-track-mode realgud:trepan-core realgud:trepan-init realgud-r=
emake
realgud:remake-track-mode realgud:remake-core realgud:remake-init realgud-r=
debug
realgud-rdebug-track-mode realgud-rdebug-core realgud-rdebug-init realgud-l=
ang-ruby
realgud-perldb realgud:perldb-track-mode realgud:perldb-core realgud:perldb=
-init
realgud-lang-perl realgud-pdb realgud:pdb-track-mode realgud:pdb-core realg=
ud:pdb-init
realgud-lang-python realgud-kshdb realgud:kshdb-track-mode realgud:kshdb-co=
re
realgud:kshdb-init realgud-gub realgud:gub-track-mode realgud:gub-core real=
gud:gub-init
realgud-gdb realgud:gdb-track-mode realgud:gdb-init realgud:gdb-core realgu=
d-bashdb
realgud:bashdb-track-mode realgud:bashdb-core realgud:bashdb-init realgud-l=
ang-posix-shell
realgud:run realgud-locals-mode realgud-breakpoint-mode realgud-backtrack-m=
ode
realgud-track-mode realgud-backtrace-mode realgud-track realgud-init realgu=
d-file
realgud-attach realgud-shortkey realgud-menu realgud-eval realgud-cmds real=
gud-core
realgud-reset realgud-bp realgud-bp-image-data realgud-lang realgud-send re=
algud-window
realgud-buffer-helper realgud-buffer-breakpoint realgud-buffer-backtrace re=
algud-locals
realgud-buffer-locals realgud-utils realgud-buffer-command realgud-buffer-i=
nfo
realgud-regexp realgud-lochist realgud-loc realgud-buffer-source realgud-key
realgud-custom key realgud-follow loc-changes realgud-fringe realgud-helper=
 load-relative
ob-perl my-scratch highlight-indent-guides my-projectile my-emacs my-emacs-=
lisp
my-helm-dash helm-dash dash-docs my-comparators my-git github-pullrequest m=
y-aliases-2
sf-ruby my-prelude my-purcell my-x my-accessors le-racket my-racket racket-=
mode
racket-bug-report racket-collection racket-repl-buffer-name racket-stepper =
racket-logger
racket-profile racket-smart-open racket-xp racket-xp-complete racket-show r=
acket-imenu
racket-edit racket-repl semantic/symref/grep semantic/symref racket-eldoc r=
acket-describe
racket-visit racket-complete racket-common racket-parens racket-indent rack=
et-font-lock
racket-ppss racket-keywords-and-builtins racket-doc racket-cmd racket-util
racket-browse-url racket-custom sh-script executable flymake-racket flychec=
k-rust cargo
cargo-process racer rustic-flycheck rustic-racer rustic-babel rustic-popup =
rustic-compile
rustic-util rustic-cargo rustic-interaction rustic rustic-common my-rust my=
-encryption
my-appearance my-lentic lentic m-buffer-at m-buffer m-buffer-macro my-comin=
t my-dumb-jump
my-go-playground go-playground time-stamp gotest my-radix-tree my-man man m=
y-pdf-view
my-tls my-eww ace-link eww-lnum my-url-cookie my-asciinema my-terraform com=
pany-terraform
company-terraform-data terraform-mode hcl-mode my-bm my-tramp my-proselint =
my-powerline
smart-mode-line-dark-theme smart-mode-line-powerline-theme my-find-cmd find=
-cmd
js2-mode-expansions js2-mode my-javascript my-speed-of-thought my-hide-sens=
itive-password
password-mode hide-minor-modes cyphejor my-predicates my-scheme my-imenu im=
enu-list
yaml-imenu go-imenu dired-imenu imenu-anywhere turn-off-messaging myhl-comp=
ilation
my-threading my-desktop desktop frameset my-wordnet define-it wiki-summary
google-translate google-translate-default-ui google-translate-core-ui
google-translate-core google-translate-tk google-translate-backend my-perl =
company-plsense
my-dired dired-async dired-subtree dired-narrow dired-hacks-utils diredfl d=
ired-git-info
ranger my-open my-openwith openwith key-chord my-grep my-ox my-org org-tran=
slate org-habit
org-id wordnut wordnut-history wordnut-u my-alist my-thesaurus my-emms emms=
-player-vlc
emms-player-mpv emms-player-mplayer emms-setup emms-librefm-stream emms-lib=
refm-scrobbler
emms-playlist-limit emms-volume emms-volume-mixerctl emms-volume-pulse emms=
-volume-amixer
emms-i18n emms-history emms-score emms-stream-info emms-metaplaylist-mode e=
mms-bookmarks
emms-cue emms-mode-line-icon emms-browser sort emms-playlist-sort emms-last=
-played
emms-player-xine emms-player-mpd emms-playing-time emms-lyrics emms-url emm=
s-player-simple
emms-streams emms-show-all emms-tag-editor emms-mark emms-mode-line emms-ca=
che
emms-info-native emms-info-exiftool emms-info-tinytag emms-info-metaflac
emms-info-opusinfo emms-info-ogginfo emms-info-mp3info emms-info emms-later=
-do
emms-playlist-mode emms-source-playlist emms-source-file locate emms emms-c=
ompat my-eshell
test-case-mode fringe-helper open-junk-file git-attr-linguist git-attr hi-l=
ock em-alias
my-helm ace-jump-helm-line my-hy hy-mode hy-jedhy hy-shell hy-font-lock hy-=
base my-info
my-swipe helm-org-rifle helm-swoop my-adoc adoc-mode markup-faces my-markdo=
wn markdown-toc
my-bpr bpr my-highlight-thing my-minibuffer miniedit my-newfile my-shackle =
setup-shackle
shackle trace my-ivy ivy-rich diminish my-semantic my-dap dap-python dap-mo=
use my-lsp-java
dap-java lsp-java my-ht keepass-mode lsp-kotlin company-lsp my-lsp helm-lsp=
 helm-imenu
dap-go dap-gdb-lldb dap-utils dap-hydra dap-ui gdb-mi bindat bui bui-list b=
ui-info
bui-entry bui-core bui-history bui-button bui-utils lsp-lens dap-mode dap-l=
aunch
dap-overlays rust-mode ccls ccls-member-hierarchy ccls-inheritance-hierarchy
ccls-call-hierarchy ccls-tree ccls-code-lens ccls-semantic-highlight ccls-c=
ommon
lsp-clojure lsp-racket lsp-julia julia-mode julia-mode-latexsubs lsp-haskel=
l el-patch
my-lsp-clients lsp my-paredit my-google my-expand-region my-clojerl my-cloj=
ure helm-cider
helm-cider-spec helm-cider-repl helm-cider-cheatsheet helm-cider-util cider=
-cheatsheet
monroe clomacs simple-httpd net-utils ob-clojure le-clojure cider-find clj-=
refactor
pkg-info epl subword-mode-expansions cap-words superword subword inflections
clj-refactor-compat cider cider-debug cider-browse-ns cider-mode cider-insp=
ector
cider-completion cider-profile cider-eval cider-repl-history my-youtube my-=
hooks logpad
my-parent-modes my-prolog-ls my-piper piper piper-operations piper-script
source-environment em-glob my-backspace hledger-mode hledger-webservice hle=
dger-mail
hledger-reports hledger-navigate hledger-defuns hledger-core my-haskell has=
kell-decl-scan
ob-haskell intero my-advice my-pcre my-exwm my-quelpa my-el-get el-get el-g=
et-autoloading
el-get-list-packages el-get-dependencies el-get-build el-get-status el-get-=
methods
el-get-fossil el-get-svn el-get-pacman el-get-github-zip el-get-github-tar =
el-get-http-zip
el-get-http-tar el-get-hg el-get-go el-get-git-svn el-get-fink el-get-emacs=
wiki
el-get-http el-get-notify el-get-emacsmirror el-get-github el-get-git el-ge=
t-elpa
el-get-darcs el-get-cvs el-get-bzr el-get-brew el-get-builtin el-get-apt-get
el-get-recipes el-get-byte-compile el-get-custom el-get-core my-straight sh=
elldon
shelldon-autoloads straight-autoloads ggtags hippie-exp checkdoc matlab-com=
plete matlab
matlab-compat straight autoload my-fuzzyfinders my-prefix-maps eldoc-overla=
y my-company
my-company/go company-statistics company-childframe company-posframe posfra=
me omnisharp
omnisharp-unit-test-actions omnisharp-code-structure omnisharp-server-insta=
llation
omnisharp-format-actions omnisharp-solution-actions omnisharp-helm-integrat=
ion
omnisharp-navigation-actions omnisharp-current-symbol-actions
omnisharp-auto-complete-actions omnisharp-server-actions omnisharp-http-uti=
ls
omnisharp-utils omnisharp-server-management omnisharp-settings csharp-mode
csharp-compilation cc-langs my-tabnine company-tabnine unicode-escape names
org-link-minor-mode my-magithub my-magit magit-gitflow magithub magithub-da=
sh
magithub-notification magithub-orgs magithub-issue-tricks magithub-issue-po=
st
magithub-edit-mode magithub-repo magithub-ci magithub-issue magithub-label =
magithub-user
magithub-core magithub-faces magithub-settings ghub+ apiwrap magit-todos fo=
rge-list
forge-commands forge-semi forge-bitbucket buck forge-gogs gogs forge-gitea =
gtea
forge-gitlab glab forge-github ghub-graphql treepy gsexp ghub forge-notify =
forge-revnote
forge-pullreq forge-issue forge-topic forge-post forge-repo forge forge-cor=
e forge-db
closql emacsql-sqlite emacsql emacsql-compiler magit-circleci setup-magit m=
y-evil-escape
my-my-evil helm-projectile ob-elasticsearch es-parse yaml-mode lacarte pyve=
nv bm
recursive-narrow sotclojure-on ox-hugo org-refile ox-blackfriday ansible-do=
c alert
notifications gntp ample-regexps bitly my-misc my-pretty org-google org-man=
 my-link-types
my-pdf-tools pdf-occur tablist tablist-filter semantic/wisent/comp semantic=
/wisent
semantic/wisent/wisent pdf-isearch pdf-misc pdf-tools pdf-view pdf-cache pd=
f-info tq
pdf-util my-help my-hash describe-hash recentf my-python python-pytest impo=
rtmagic epc
ctable concurrent deferred anaconda-mode pythonic pydoc my-manage-minor-mod=
e dtrt-indent
manage-minor-mode ox-ipynb ox-md my-buttons my-cscope-ctags my-cpp cmake-id=
e levenshtein
my-org-agenda cua-base find-lisp codesearch log4e vi-tilde-fringe
python-el-fgallina-expansions python tramp-sh malinka rtags repeat tramp-ar=
chive
tramp-gvfs zeroconf projectile ibuf-macs find-dired ibuf-ext ibuffer ibuffe=
r-loaddefs ls
dash-functional xah-lookup browse-at-remote my-prettify-symbols my-which-ke=
y my-mc
my-shebang auto-mode-load cff diff-hl vc-hg vc-git log-view vc-dir auto-min=
or-mode
evil-org scheme my-clipboard expand-region text-mode-expansions cc-mode-exp=
ansions
the-org-mode-expansions ruby-mode-expansions js-mode-expansions html-mode-e=
xpansions
clojure-mode-expansions er-basic-expansions expand-region-core expand-regio=
n-custom my-vim
my-ssh ssh-agency my-slime sly-repl-ansi-color sly-quicklisp sly-named-read=
tables
sly-hello-world sly-asdf sly sly-completion sly-buttons sly-messages sly-co=
mmon my-lispy
slime-sbcl-exts slime-fancy slime-indentation slime-cl-indent slime-trace-d=
ialog
slime-fontifying-fu slime-package-fu slime-references slime-compiler-notes-=
tree
slime-scratch slime-presentations bridge slime-macrostep macrostep slime-md=
ot-fu
slime-enclosing-context slime-fuzzy slime-fancy-trace slime-fancy-inspector=
 slime-c-p-c
slime-editing-commands slime-autodoc slime-repl elp slime-parse slime-compa=
ny slime gud
apropos arc-mode archive-mode hyperspec cider-repl cider-resolve cider-eldo=
c cider-test
cider-overlays cider-stacktrace cider-doc cider-browse-spec cider-clojuredo=
cs cider-client
cider-common cider-connection cider-util cider-popup sesman-browser nrepl-c=
lient queue
nrepl-dict cider-compat parseedn parseclj-parser parseclj-lex a sesman cloj=
ure-mode
company-files company-keywords company-etags company-gtags company-template
company-dabbrev-code company-dabbrev company-capf php-extras company vc-svn=
 vc-cvs vc-rcs
vc vc-dispatcher bug-reference auto-highlight-symbol highlight-numbers
highlight-parentheses hl-todo rainbow-delimiters my-troubleshooting my-doc =
go-mode
my-engine my-search my-hydra helm-config my-org-templates link-hint ace-win=
dow
my-hydra-window my-auto-complete auto-complete-config ac-ispell auto-comple=
te popup
engine-mode my-browser paredit paren my-lisp my-fuzzy-lists my-selected mc-=
edit-lines
selected my-isearch my-rc my-prog my-handle handle parent-mode my-counsel c=
ounsel
elisp-slime-nav my-translation-map two-column avoid my-region-filters my-ag=
da my-linum
my-repl-history ob-shell my-packages cpan haskell haskell-completions haske=
ll-load
haskell-commands highlight-uses-mode haskell-modules haskell-sandbox
haskell-navigate-imports haskell-repl haskell-svg haskell-collapse hideshow=
 haskell-debug
haskell-interactive-mode haskell-presentation-mode haskell-compile haskell-=
process
haskell-session haskell-hoogle my-mode helm-ring helm-elisp helm-eval helm-=
info lispy
swiper lispy-inline avy edebug backtrace lispy-tags semantic/db semantic/ut=
il-modes
semantic/util semantic semantic/tag semantic/lex semantic/fw mode-local ced=
et ediff
ediff-merg ediff-mult ediff-wind ediff-diff ediff-help ediff-init ediff-uti=
l scratch
my-distributions aok ob-ruby my-yatemplate yatemplate autoinsert my-yasnipp=
et
rainbow-identifiers my-rainbow select-distribution my-telephone-line my-gui=
de-key
guide-key my-faces calibredb calibredb-org calibredb-library calibredb-ivy =
calibredb-utils
calibredb-annotation calibredb-transient calibredb-helm calibredb-show cali=
bredb-search
calibredb-faces calibredb-core all-the-icons all-the-icons-faces data-mater=
ial
data-weathericons data-octicons data-fileicons data-faicons data-alltheicon=
s sendmail sql
sx-question-print sx-user sx-babel sx-button sx-question sx-method sx-auth =
sx-filter
sx-request sx-encoding sx-cache sx smart-mode-line rich-minority telephone-=
line
telephone-line-segments telephone-line-separators telephone-line-utils ivy =
delsel
ivy-faces ivy-overlay colir writegood-mode eterm-256color highlight-thing l=
sp-treemacs
lsp-treemacs-themes treemacs treemacs-header-line treemacs-compatibility tr=
eemacs-mode
treemacs-bookmarks treemacs-interface treemacs-extensions treemacs-mouse-in=
terface
treemacs-tags treemacs-persistence treemacs-filewatch-mode treemacs-follow-=
mode
treemacs-rendering treemacs-async treemacs-workspaces treemacs-dom treemacs=
-visuals
treemacs-fringe-indicator treemacs-scope pulse treemacs-faces treemacs-icons
treemacs-themes treemacs-core-utils pfuture treemacs-logging treemacs-custo=
mization
treemacs-macros lsp-modeline iedit help-macro iedit-lib mc-hide-unmatched-l=
ines-mode
mc-mark-more mc-cycle-cursors multiple-cursors-core annotate eww xdg url-qu=
eue w3m
timezone w3m-hist w3m-fb bookmark-w3m w3m-ems mule-util w3m-favicon w3m-ima=
ge tab-line
w3m-proc w3m-util lsp-headerline lsp-icons haskell-mode haskell-cabal haske=
ll-utils
haskell-font-lock haskell-indentation haskell-string haskell-sort-imports h=
askell-lexeme
haskell-align-imports haskell-complete-module haskell-ghc-support flymake-p=
roc flymake
dabbrev haskell-customize lsp-ui lsp-ui-flycheck lsp-ui-doc xwidget magit-b=
ookmark
bookmark pp goto-addr lsp-ui-imenu lsp-ui-peek lsp-ui-sideline face-remap l=
sp-mode
aws-snippets clojure-snippets common-lisp-snippets django-snippets docbook-=
snippets
elixir-yasnippets elm-yasnippets es-mode request js go-snippets java-snippe=
ts
js-react-redux-yasnippets mallard-snippets pig-snippets pony-snippets proce=
ssing-snippets
react-snippets vala-snippets vdm-snippets vertica-snippets yasnippet-snippe=
ts
angular-snippets buster-snippets buster-snippet-helpers datomic-snippets em=
ber-yasnippets
mocha-snippets sclang-snippets yasnippet tree-widget spinner inline ewoc ls=
p-ui-util
lsp-protocol xterm-color x86-lookup ws-butler winum winner undo-tree tmux s=
paceline-config
spaceline-segments spaceline saveplace savehist ruby-test-mode pcre2el rxt =
re-builder
ruby-mode restclient-helm restclient rase solar cal-dst osx-location prodig=
y popwin
persp-mode ox-pandoc ox-org ox-odt rng-loc rng-uri rng-parse rng-match rng-=
dt rng-util
rng-pttrn nxml-parse nxml-ns nxml-enc xmltok nxml-util ox-latex ox-icalenda=
r ox-html table
ox-ascii ox-publish ox nyan-mode nix-mode nix-repl nix-shell nix-store nix-=
instantiate
nix-shebang nix-format nix nasm-mode linum helm-nixos-options helm-descbind=
s helm-mode
helm-files dired-x dired-aux helm-buffers helm-occur helm-tags helm-locate =
helm-grep
wgrep-helm wgrep grep helm-regexp helm-utils helm-help helm-types helm asyn=
c-bytecomp
helm-global-bindings helm-source helm-multi-match helm-lib async nixos-opti=
ons go-rename
nnrss mm-url gmail-message-mode ham-mode markdown-mode edit-indirect html-t=
o-markdown
flycheck-pos-tip pos-tip flycheck-nim flycheck-ledger flycheck let-alist fa=
sd eyebrowse
evil-unimpaired evil-surround evil-search-highlight-persist highlight evil-=
numbers
evil-lisp-state smartparens evil-indent-plus evil-exchange evil-escape evil=
-args evil-anzu
anzu cider-eval-sexp-fu eval-sexp-fu eshell-z em-dirs esh-var em-term edit-=
server
clean-aindent-mode clang-format compile asm-mode adaptive-wrap hybrid-mode
exec-path-from-shell evil-evilified-state which-key use-package use-package=
-ensure
use-package-delight use-package-diminish use-package-bind-key hydra lv evil
evil-keybindings evil-integration evil-maps evil-commands ffap reveal flysp=
ell ispell
evil-jumps evil-command-window evil-types evil-search evil-ex evil-macros e=
vil-repeat
evil-states evil-core evil-common windmove rect evil-digraphs evil-vars mm-=
archive
url-http-ntlm ntlm hmac-md5 hex-util md4 gnutls network-stream url-http url=
-gw nsm
url-cache quelpa help-fns radix-tree package-build lisp-mnt hl-line xt-mous=
e bind-map
powerline powerline-separators powerline-themes bind-key use-package-core
spacemacs-dark-theme spacemacs-common core-configuration-layer eieio-compat=
 ht
org-trello-setup org-trello-hash org-trello-log org-trello-utils ido-vertic=
al-mode
core-spacemacs core-use-package-ext core-transient-state core-micro-state c=
ore-toggle
core-keybindings core-fonts-support core-spacemacs-buffer core-funcs core-t=
hemes-support
core-display-init core-jump core-auto-completion core-release-management co=
re-dotspacemacs
core-command-line core-debug profiler page-break-lines git-gutter+ kubernet=
es-tramp
lxc-tramp docker-tramp tramp-cache vagrant-tramp term disp-table ehelp tramp
tramp-loaddefs trampver tramp-integration files-x tramp-compat ls-lisp tage=
dit sgml-mode
my-remove-bad-packages my-compatibility my-operators my-tools my-myrc my-ni=
x eshell
em-unix esh-mode esh-cmd esh-ext esh-opt esh-proc esh-io esh-arg esh-module=
 esh-groups
esh-util my-fuzzy my-el-db my-prefixes my-filters warnings my-advice-1 my-s=
how-map my-net
parse-csv my-utils my-utils-2 my-utils-1 shut-up org-tempo tempo org-elemen=
t avl-tree
ol-eww ol-rmail ol-mhe ol-irc ol-info ol-gnus nnir ol-docview doc-view jka-=
compr ol-bibtex
bibtex ol-bbdb ol-w3m org-location-google-maps org-agenda google-maps googl=
e-maps-static
google-maps-geocode google-maps-base orgit magit-submodule magit-obsolete m=
agit-popup
magit-blame magit-stash magit-reflog magit-bisect magit-push magit-pull mag=
it-fetch
magit-clone magit-remote magit-commit magit-sequence magit-notes magit-work=
tree magit-tag
magit-merge magit-branch magit-reset magit-files magit-refs magit-status ma=
git magit-repos
magit-apply magit-wip magit-log which-func magit-diff smerge-mode diff diff=
-mode
git-commit log-edit pcvs-util add-log magit-core magit-autorevert autorever=
t filenotify
magit-margin magit-transient magit-process with-editor server magit-mode tr=
ansient
cl-extra help-mode magit-git magit-section benchmark magit-utils crm orgtbl=
-ascii-plot
org-insert-dblock org org-macro org-footnote org-pcomplete org-list org-fac=
es org-entities
noutline outline org-version ob-emacs-lisp org-table org-loaddefs cal-menu =
calendar
cal-loaddefs gnus-sum url url-proxy url-privacy url-expand url-methods url-=
history mailcap
shr kinsoku url-cookie url-domsuf url-util svg dom gnus-group gnus-undo gnu=
s-start
gnus-dbus dbus ido-completing-read+ flx-ido flx cus-edit cus-start cus-load=
 minibuf-eldef
ido xml gnus-cloud nnimap nnmail mail-source utf7 netrc nnoo parse-time iso=
8601 gnus-spec
gnus-int gnus-range message rmc puny rfc822 mml mml-sec epa epg epg-config =
mm-decode
mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader gnus=
-win gnus
nnheader gnus-util rmail rmail-loaddefs rfc2047 rfc2045 ietf-drums text-pro=
perty-search
time-date mail-utils mm-util mail-prsvr find-file cc-mode cc-fonts cc-guess=
 cc-menus
cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs glsl-mode cppref find-=
func sotlisp
skeleton wn-org pipe noflet cl-indent ob-php ob ob-tangle ol org-src ob-ref=
 ob-lob
ob-table ob-exp ob-comint ob-core ob-eval org-keys org-compat org-macs asoc=
 f info+
thingatpt s problog smie align shell drupal/pcomplete pcomplete imenu comin=
t ansi-color
memoize my-strings my-aliases dash my-tags etags fileloop generator xref pr=
oject ring
my-gud my-custom-conf my-kill my-global-argument my-syntax-extensions my-me=
ssages
my-basic.el generic langdoc view ede/auto dpkg-dev-el debian-el finder-inf =
fix-word
kotl-autoloads image-dired+ image-dired image-mode exif dired dired-loaddef=
s mosey
helm-easymenu tex-site org2blog-autoloads polymode poly-lock polymode-base =
polymode-weave
polymode-export polymode-compat polymode-methods pcase polymode-core derive=
d format-spec
polymode-classes eieio-custom wid-edit eieio-base color proof-site proof-au=
toloads
volatile-highlights realgud-recursive-autoloads easy-mmode slime-autoloads =
cl rx url-auth
w3m-load edmacro kmacro advice info package easymenu browse-url url-handler=
s url-parse
auth-source cl-seq eieio eieio-core cl-macs eieio-loaddefs password-cache j=
son subr-x map
url-vars seq byte-opt gv bytecomp byte-compile cconv cl-loaddefs cl-lib too=
ltip eldoc
electric uniquify ediff-hook vc-hooks lisp-float-type mwheel term/x-win x-w=
in
term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe tabulate=
d-list replace
newcomment text-mode elisp-mode lisp-mode prog-mode register page tab-bar m=
enu-bar
rfn-eshadow isearch timer select scroll-bar mouse jit-lock font-lock syntax=
 facemenu
font-core term/tty-colors frame minibuffer cl-generic cham georgian utf-8-l=
ang misc-lang
vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebre=
w greek
romanian slovak czech european ethiopic indian cyrillic chinese composite c=
harscript
charprop case-table epa-hook jka-cmpr-hook help simple abbrev obarray cl-pr=
eloaded nadvice
button loaddefs faces cus-face macroexp files window text-properties overla=
y sha1 md5
base64 format env code-pages mule custom widget hashtable-print-readable ba=
ckquote threads
xwidget-internal dbusbind inotify lcms2 dynamic-setting system-font-setting
font-render-setting cairo move-toolbar gtk x-toolkit x multi-tty make-netwo=
rk-process
emacs)

Memory information:
((conses 16 6660681 1999670)
 (symbols 48 218797 336)
 (strings 32 1194809 253108)
 (string-bytes 1 46686771)
 (vectors 16 197933)
 (vector-slots 8 3925982 717559)
 (floats 8 10045 2312)
 (intervals 56 43472 19361)
 (buffers 992 183))




Acknowledgement sent to Shane Mulligan <mullikine@HIDDEN>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs@HIDDEN. Full text available.
Report forwarded to bug-gnu-emacs@HIDDEN:
bug#48500; Package emacs. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Wed, 19 May 2021 13:15:01 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.