GNU bug report logs - #43117
[PATCH] Add .git-blame-ignore-revs file

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: Brian Leung <leungbk@HIDDEN>; Keywords: patch; dated Sun, 30 Aug 2020 17:47:01 UTC; Maintainer for emacs is bug-gnu-emacs@HIDDEN.

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


Received: (at 43117) by debbugs.gnu.org; 13 Sep 2020 17:06:51 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Sep 13 13:06:51 2020
Received: from localhost ([127.0.0.1]:51565 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kHVSl-000428-BL
	for submit <at> debbugs.gnu.org; Sun, 13 Sep 2020 13:06:51 -0400
Received: from wilbur.contactoffice.com ([212.3.242.68]:53698)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <leungbk@HIDDEN>) id 1kHVSi-00041u-Am
 for 43117 <at> debbugs.gnu.org; Sun, 13 Sep 2020 13:06:49 -0400
Received: from ichabod.co-bxl (ichabod.co-bxl [10.2.0.36])
 by wilbur.contactoffice.com (Postfix) with ESMTP id C11186FD;
 Sun, 13 Sep 2020 19:06:42 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mailfence.com;
 s=20160819-nLV10XS2; t=1600016802;
 bh=2SjvuamwNG8riWqJEYn+6zPsDDsyBI4EvG6kCtpQLLM=;
 h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:From;
 b=uhUV7wfM3EVyt231V8wm0tzAcf9ye9Mii/zc92q2tN2KQDU8hjOd6uGc7+F4U6mtW
 3WZrYrpB9rr1OFqkH9nzdGDk9UqIf3P8wG35MX5XC3EOVLkb4/Yj4sGZPme/e9+yt/
 EMSXrUiOHoVJY6dUB/F/IYumLcyXtipHBdhnq5Yh1D8LUwkRh4xqSisH9LcEETl+vp
 CKNQVSCIQC5VHsdFJKEqzcH+x4O0KdJrIX8Q1nuJj3di6DGqF3K/DPIzVhwyLK0pf7
 QKEkCDC7+aV4FW6PUK/0mYv3UL7sTk+/bigvcJGgQVw5/g+RUiWgARh+RCaMLD9w9n
 Cr8CIiXHh8vrA==
Date: Sun, 13 Sep 2020 19:06:39 +0200 (CEST)
From: Brian Leung <leungbk@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Message-ID: <1670898213.459425.1600016799389@HIDDEN>
In-Reply-To: <83bli9db3t.fsf@HIDDEN>
References: <197409406.192953.1598809591346@HIDDEN>
 <m2zh6bf7cu.fsf@HIDDEN> <9aa79095-18d6-d0bd-18ad-aa5d90f0bb1d@HIDDEN>
 <m2bliqftb1.fsf@HIDDEN> <ec9e6648-a846-42bc-ad95-477e824afbea@HIDDEN>
 <m27dtefs8r.fsf@HIDDEN> <c839dfb3-f1f2-06f0-678c-438e66bba2e8@HIDDEN>
 <1898378843.430816.1599957743795@HIDDEN> <83bli9db3t.fsf@HIDDEN>
Subject: Re: bug#43117: [PATCH] Add .git-blame-ignore-revs file
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Priority: 3
X-Mailer: ContactOffice Mail
X-ContactOffice-Account: com:225491745
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 43117
Cc: rpluim@HIDDEN, 43117 <at> debbugs.gnu.org, dgutov@HIDDEN
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>
Reply-To: Brian Leung <leungbk@HIDDEN>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

> I'm not sure I understand the rationale: why would we want to replace
> all 'if's with 'when's?

I expected that people would find it easier to read 'when'/'unless' than si=
ngle-clause 'if' statements. The 'when'/'unless', along with the indentatio=
n of the corresponding 'then' clause, immediately signal that there is only=
 one possible non-nil form returned. With single-clause 'if' statements, yo=
u would have to continue reading past the 'then' clause to spot what the 'w=
hen'/'unless' and its differing indentation immediately tell you.

> ----------------------------------------
> From: Eli Zaretskii <eliz@HIDDEN>
> Sent: Sun Sep 13 16:07:02 CEST 2020
> To: Brian Leung <leungbk@HIDDEN>, Brian Leung <leungbk@HIDDEN=
om>
> Cc: <dgutov@HIDDEN>, <rpluim@HIDDEN>, <43117 <at> debbugs.gnu.org>
> Subject: Re: bug#43117: [PATCH] Add .git-blame-ignore-revs file
>=20
>=20
> > Cc: 43117 <at> debbugs.gnu.org
> > Date: Sun, 13 Sep 2020 02:42:23 +0200 (CEST)
> > From: Brian Leung via "Bug reports for GNU Emacs,
> >  the Swiss army knife of text editors" <bug-gnu-emacs@HIDDEN>
> >=20
> > OK, please see attached. Right now there are no extraneous whitespace c=
hanges, and the only changes I've made change if -> when in the eshell file=
s.
> > [...]
> > Subject: [PATCH 1/2] eshell: Replace single-clause if statements with w=
hens
>=20
> I'm not sure I understand the rationale: why would we want to replace
> all 'if's with 'when's?  Was that discussed, here or elsewhere? if so,
> could someone point me to that discussion?
>=20
> Thanks.


--=C2=A0
Sent with https://mailfence.com
Secure and private email




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

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


Received: (at 43117) by debbugs.gnu.org; 13 Sep 2020 14:07:13 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Sep 13 10:07:13 2020
Received: from localhost ([127.0.0.1]:51256 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kHSev-0003WP-44
	for submit <at> debbugs.gnu.org; Sun, 13 Sep 2020 10:07:13 -0400
Received: from eggs.gnu.org ([209.51.188.92]:55936)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1kHSeq-0003W9-9X
 for 43117 <at> debbugs.gnu.org; Sun, 13 Sep 2020 10:07:12 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:58404)
 by eggs.gnu.org with esmtp (Exim 4.90_1)
 (envelope-from <eliz@HIDDEN>)
 id 1kHSek-0002uy-92; Sun, 13 Sep 2020 10:07:02 -0400
Received: from [176.228.60.248] (port=2386 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <eliz@HIDDEN>)
 id 1kHSej-0007V8-AO; Sun, 13 Sep 2020 10:07:01 -0400
Date: Sun, 13 Sep 2020 17:07:02 +0300
Message-Id: <83bli9db3t.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Brian Leung <leungbk@HIDDEN>, Brian Leung
	<leungbk@HIDDEN>
In-Reply-To: <1898378843.430816.1599957743795@HIDDEN>
 (bug-gnu-emacs@HIDDEN)
Subject: Re: bug#43117: [PATCH] Add .git-blame-ignore-revs file
References: <197409406.192953.1598809591346@HIDDEN>
 <m2zh6bf7cu.fsf@HIDDEN> <9aa79095-18d6-d0bd-18ad-aa5d90f0bb1d@HIDDEN>
 <m2bliqftb1.fsf@HIDDEN> <ec9e6648-a846-42bc-ad95-477e824afbea@HIDDEN>
 <m27dtefs8r.fsf@HIDDEN> <c839dfb3-f1f2-06f0-678c-438e66bba2e8@HIDDEN>
 <1898378843.430816.1599957743795@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 43117
Cc: rpluim@HIDDEN, 43117 <at> debbugs.gnu.org, dgutov@HIDDEN
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 (---)

> Cc: 43117 <at> debbugs.gnu.org
> Date: Sun, 13 Sep 2020 02:42:23 +0200 (CEST)
> From: Brian Leung via "Bug reports for GNU Emacs,
>  the Swiss army knife of text editors" <bug-gnu-emacs@HIDDEN>
> 
> OK, please see attached. Right now there are no extraneous whitespace changes, and the only changes I've made change if -> when in the eshell files.
> [...]
> Subject: [PATCH 1/2] eshell: Replace single-clause if statements with whens

I'm not sure I understand the rationale: why would we want to replace
all 'if's with 'when's?  Was that discussed, here or elsewhere? if so,
could someone point me to that discussion?

Thanks.




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

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


Received: (at 43117) by debbugs.gnu.org; 13 Sep 2020 00:42:40 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Sep 12 20:42:40 2020
Received: from localhost ([127.0.0.1]:49193 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kHG6K-00025u-2P
	for submit <at> debbugs.gnu.org; Sat, 12 Sep 2020 20:42:40 -0400
Received: from wilbur.contactoffice.com ([212.3.242.68]:33216)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <leungbk@HIDDEN>) id 1kHG6H-00025f-HX
 for 43117 <at> debbugs.gnu.org; Sat, 12 Sep 2020 20:42:38 -0400
Received: from ichabod.co-bxl (ichabod.co-bxl [10.2.0.36])
 by wilbur.contactoffice.com (Postfix) with ESMTP id C55F67D1;
 Sun, 13 Sep 2020 02:42:30 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mailfence.com;
 s=20160819-nLV10XS2; t=1599957750;
 bh=hp8hAd6qB+V+TriwzJh69e8jlWyA4JksHuS2YCHMMsg=;
 h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:From;
 b=Aq3LwRaDAauBhae9l+PRJdqOinXY86zzMMS4lm/bPs8IrWaf1/sO65e8Vc7GoNTaO
 G8ll3xnHbQNVn7TPL5EZNfavXyQsrkzY+UwfmYa4tlDfg4fcMeZ88j+ZMOt4NKNASO
 OfBN2QCDQSQFBJx8M2HXLJpLfjMiLCUQpsOn0jRTDxCzYWdJM2Xbr6IHkOy8ecBzJu
 x6a5A3a8tPSIC3DPW+tp3t7ATaGzUBM9QRSZI7esjEuo7IfCWCHarRHUo1duio97SD
 IO0PlzJfK1zLnDr8EXnm1DwhfwjjUABgEf95MQ8CFdZ6T4LKoIix/suGY3fNPD7u+h
 kZd1cexNHO/og==
Date: Sun, 13 Sep 2020 02:42:23 +0200 (CEST)
From: Brian Leung <leungbk@HIDDEN>
To: Dmitry Gutov <dgutov@HIDDEN>, Robert Pluim <rpluim@HIDDEN>
Message-ID: <1898378843.430816.1599957743795@HIDDEN>
In-Reply-To: <c839dfb3-f1f2-06f0-678c-438e66bba2e8@HIDDEN>
References: <197409406.192953.1598809591346@HIDDEN>
 <m2zh6bf7cu.fsf@HIDDEN> <9aa79095-18d6-d0bd-18ad-aa5d90f0bb1d@HIDDEN>
 <m2bliqftb1.fsf@HIDDEN> <ec9e6648-a846-42bc-ad95-477e824afbea@HIDDEN>
 <m27dtefs8r.fsf@HIDDEN> <c839dfb3-f1f2-06f0-678c-438e66bba2e8@HIDDEN>
Subject: Re: bug#43117: [PATCH] Add .git-blame-ignore-revs file
MIME-Version: 1.0
Content-Type: multipart/mixed; 
 boundary="----=_Part_430784_1989196481.1599957637078"
X-Priority: 3
X-Mailer: ContactOffice Mail
X-ContactOffice-Account: com:225491745
X-Debbugs-Envelope-To: 43117
Cc: 43117 <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>
Reply-To: Brian Leung <leungbk@HIDDEN>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>

------=_Part_430784_1989196481.1599957637078
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

OK, please see attached. Right now there are no extraneous whitespace chang=
es, and the only changes I've made change if -> when in the eshell files.

> Pure re-indentation patches I thought were not acceptable unless
> accompanied by an actual code change near the re-indented lines.

With a .git-blame-ignore file of some sort, shouldn't this not be a hindran=
ce?

> ----------------------------------------
> From: Dmitry Gutov <dgutov@HIDDEN>
> Sent: Mon Aug 31 23:03:23 CEST 2020
> To: Robert Pluim <rpluim@HIDDEN>
> Cc: Brian Leung <leungbk@HIDDEN>, <43117 <at> debbugs.gnu.org>
> Subject: Re: bug#43117: [PATCH] Add .git-blame-ignore-revs file
>=20
>=20
> On 31.08.2020 23:57, Robert Pluim wrote:
>=20
> >      Dmitry> Do we accept reindentation patches, though? Ones where the=
 effective
> >      Dmitry> indentation does change.
> >=20
> > Didn=CA=BCt we just have this thread? :-)
>=20
> I might have missed it. :-(
>=20
> > Pure re-indentation patches I thought were not acceptable unless
> > accompanied by an actual code change near the re-indented lines.
>=20
> Okay.
>=20
> Brian, could you re-submit patches without extra re-indentation?


--=C2=A0
Sent with https://mailfence.com
Secure and private email
------=_Part_430784_1989196481.1599957637078
Content-Type: text/x-diff; charset=us-ascii; 
	name=0001-eshell-Replace-single-clause-if-statements-with-when.patch
Content-Transfer-Encoding: 7bit
Content-Description: File Attachment:
 0001-eshell-Replace-single-clause-if-statements-with-when.patch
Content-Disposition: attachment; 
	filename=0001-eshell-Replace-single-clause-if-statements-with-when.patch

From b535e0b426c2cc7b32c98304de76fbc9df0b17cf Mon Sep 17 00:00:00 2001
From: Brian Leung <leungbk@HIDDEN>
Date: Mon, 31 Aug 2020 20:31:58 -0700
Subject: [PATCH 1/2] eshell: Replace single-clause if statements with whens

* lisp/eshell/em-alias.el: if -> when where appropriate.
* lisp/eshell/em-basic.el: Same.
* lisp/eshell/em-cmpl.el: Same.
* lisp/eshell/em-dirs.el: Same.
* lisp/eshell/em-glob.el: Same.
* lisp/eshell/em-hist.el: Same.
* lisp/eshell/em-ls.el: Same.
* lisp/eshell/em-pred.el: Same.
* lisp/eshell/em-prompt.el: Same.
* lisp/eshell/em-rebind.el: Same.
* lisp/eshell/em-script.el: Same.
* lisp/eshell/em-smart.el: Same.
* lisp/eshell/em-term.el: Same.
* lisp/eshell/em-tramp.el: Same.
* lisp/eshell/em-unix.el: Same.
* lisp/eshell/esh-arg.el: Same.
* lisp/eshell/esh-cmd.el: Same.
* lisp/eshell/eshell.el: Same.
* lisp/eshell/esh-ext.el: Same.
* lisp/eshell/esh-io.el: Same.
* lisp/eshell/esh-mode.el: Same.
* lisp/eshell/esh-module.el: Same.
* lisp/eshell/esh-opt.el: Same.
* lisp/eshell/esh-proc.el: Same.
* lisp/eshell/esh-util.el: Same.
* lisp/eshell/esh-var.el: Same.
---
 lisp/eshell/em-alias.el   |  46 ++---
 lisp/eshell/em-basic.el   |   4 +-
 lisp/eshell/em-cmpl.el    |  78 ++++-----
 lisp/eshell/em-dirs.el    |  82 ++++-----
 lisp/eshell/em-glob.el    |  52 +++---
 lisp/eshell/em-hist.el    | 120 ++++++-------
 lisp/eshell/em-ls.el      | 214 +++++++++++------------
 lisp/eshell/em-pred.el    |  80 ++++-----
 lisp/eshell/em-prompt.el  |  14 +-
 lisp/eshell/em-rebind.el  |   6 +-
 lisp/eshell/em-script.el  |   4 +-
 lisp/eshell/em-smart.el   |  42 ++---
 lisp/eshell/em-term.el    |  18 +-
 lisp/eshell/em-tramp.el   |   4 +-
 lisp/eshell/em-unix.el    | 194 ++++++++++-----------
 lisp/eshell/esh-arg.el    |  66 +++----
 lisp/eshell/esh-cmd.el    | 350 +++++++++++++++++++-------------------
 lisp/eshell/esh-ext.el    |  56 +++---
 lisp/eshell/esh-io.el     |  82 ++++-----
 lisp/eshell/esh-mode.el   | 175 ++++++++++---------
 lisp/eshell/esh-module.el |  10 +-
 lisp/eshell/esh-opt.el    |  14 +-
 lisp/eshell/esh-proc.el   |  76 ++++-----
 lisp/eshell/esh-util.el   | 170 +++++++++---------
 lisp/eshell/esh-var.el    |  86 +++++-----
 lisp/eshell/eshell.el     |  40 ++---
 26 files changed, 1041 insertions(+), 1042 deletions(-)

diff --git a/lisp/eshell/em-alias.el b/lisp/eshell/em-alias.el
index 67e0c3fc08..09669477d8 100644
--- a/lisp/eshell/em-alias.el
+++ b/lisp/eshell/em-alias.el
@@ -167,9 +167,9 @@ eshell/alias
       (let ((def (assoc alias eshell-command-aliases-list))
 	    (alias-def (list alias
 			     (eshell-flatten-and-stringify definition))))
-	(if def
-	    (setq eshell-command-aliases-list
-		  (delq def eshell-command-aliases-list)))
+	(when def
+	  (setq eshell-command-aliases-list
+		(delq def eshell-command-aliases-list)))
 	(setq eshell-command-aliases-list
 	      (cons alias-def eshell-command-aliases-list))))
     (eshell-write-aliases-list))
@@ -191,22 +191,22 @@ eshell-read-aliases-list
 	      (let (eshell-command-aliases-list)
 		(insert-file-contents file)
 		(while (not (eobp))
-		  (if (re-search-forward
-		       "^alias\\s-+\\(\\S-+\\)\\s-+\\(.+\\)")
-		      (setq eshell-command-aliases-list
-			    (cons (list (match-string 1)
-					(match-string 2))
-				  eshell-command-aliases-list)))
+		  (when (re-search-forward
+		         "^alias\\s-+\\(\\S-+\\)\\s-+\\(.+\\)")
+		    (setq eshell-command-aliases-list
+			  (cons (list (match-string 1)
+				      (match-string 2))
+				eshell-command-aliases-list)))
 		  (forward-line 1))
 		eshell-command-aliases-list))))))
 
 (defun eshell-write-aliases-list ()
   "Write out the current aliases into `eshell-aliases-file'."
-  (if (file-writable-p (file-name-directory eshell-aliases-file))
-      (let ((eshell-current-handles
-	     (eshell-create-handles eshell-aliases-file 'overwrite)))
-	(eshell/alias)
-	(eshell-close-handles 0))))
+  (when (file-writable-p (file-name-directory eshell-aliases-file))
+    (let ((eshell-current-handles
+	   (eshell-create-handles eshell-aliases-file 'overwrite)))
+      (eshell/alias)
+      (eshell-close-handles 0))))
 
 (defsubst eshell-lookup-alias (name)
   "Check whether NAME is aliased.  Return the alias if there is one."
@@ -219,21 +219,21 @@ eshell-maybe-replace-by-alias
   (unless (and eshell-prevent-alias-expansion
 	       (member command eshell-prevent-alias-expansion))
     (let ((alias (eshell-lookup-alias command)))
-      (if alias
-	  (throw 'eshell-replace-command
-		 `(let ((eshell-command-name ',eshell-last-command-name)
-                        (eshell-command-arguments ',eshell-last-arguments)
-                        (eshell-prevent-alias-expansion
-                         ',(cons command eshell-prevent-alias-expansion)))
-                    ,(eshell-parse-command (nth 1 alias))))))))
+      (when alias
+	(throw 'eshell-replace-command
+	       `(let ((eshell-command-name ',eshell-last-command-name)
+                      (eshell-command-arguments ',eshell-last-arguments)
+                      (eshell-prevent-alias-expansion
+                       ',(cons command eshell-prevent-alias-expansion)))
+                  ,(eshell-parse-command (nth 1 alias))))))))
 
 (defun eshell-alias-completions (name)
   "Find all possible completions for NAME.
 These are all the command aliases which begin with NAME."
   (let (completions)
     (dolist (alias eshell-command-aliases-list)
-      (if (string-match (concat "^" name) (car alias))
-	  (setq completions (cons (car alias) completions))))
+      (when (string-match (concat "^" name) (car alias))
+	(setq completions (cons (car alias) completions))))
     completions))
 
 (defun eshell-fix-bad-commands (name)
diff --git a/lisp/eshell/em-basic.el b/lisp/eshell/em-basic.el
index 6cfc89cce6..d3cbcb183f 100644
--- a/lisp/eshell/em-basic.el
+++ b/lisp/eshell/em-basic.el
@@ -92,8 +92,8 @@ eshell-echo
 	     (mapcar
 	      (function
 	       (lambda (arg)
-		 (if (stringp arg)
-		     (set-text-properties 0 (length arg) nil arg))
+		 (when (stringp arg)
+		   (set-text-properties 0 (length arg) nil arg))
 		 arg))
 	      args)))))
       (if output-newline
diff --git a/lisp/eshell/em-cmpl.el b/lisp/eshell/em-cmpl.el
index 8a444c9100..69cefdda3a 100644
--- a/lisp/eshell/em-cmpl.el
+++ b/lisp/eshell/em-cmpl.el
@@ -285,9 +285,9 @@ eshell-cmpl-initialize
        eshell-cmpl-ignore-case)
   (set (make-local-variable 'pcomplete-autolist)
        eshell-cmpl-autolist)
-  (if (boundp 'pcomplete-suffix-list)
-      (set (make-local-variable 'pcomplete-suffix-list)
-           eshell-cmpl-suffix-list))
+  (when (boundp 'pcomplete-suffix-list)
+    (set (make-local-variable 'pcomplete-suffix-list)
+         eshell-cmpl-suffix-list))
   (set (make-local-variable 'pcomplete-recexact)
        eshell-cmpl-recexact)
   (set (make-local-variable 'pcomplete-man-function)
@@ -348,29 +348,29 @@ eshell-complete-parse-arguments
     (when (memq this-command '(pcomplete-expand
 			       pcomplete-expand-and-complete))
       (run-hook-with-args 'eshell-expand-input-functions begin end)
-      (if (= begin end)
-	  (end-of-line))
+      (when (= begin end)
+	(end-of-line))
       (setq end (point-marker)))
-    (if (setq delim
-	      (catch 'eshell-incomplete
-		(ignore
-		 (setq args (eshell-parse-arguments begin end)))))
-	(cond ((memq (car delim) '(?\{ ?\<))
-	       (setq begin (1+ (cadr delim))
-		     args (eshell-parse-arguments begin end)))
-	      ((eq (car delim) ?\()
-	       (eshell-complete-lisp-symbol)
-	       (throw 'pcompleted t))
-	      (t
-	       (insert-and-inherit "\t")
-	       (throw 'pcompleted t))))
+    (when (setq delim
+	        (catch 'eshell-incomplete
+		  (ignore
+		   (setq args (eshell-parse-arguments begin end)))))
+      (cond ((memq (car delim) '(?\{ ?\<))
+	     (setq begin (1+ (cadr delim))
+		   args (eshell-parse-arguments begin end)))
+	    ((eq (car delim) ?\()
+	     (eshell-complete-lisp-symbol)
+	     (throw 'pcompleted t))
+	    (t
+	     (insert-and-inherit "\t")
+	     (throw 'pcompleted t))))
     (when (get-text-property (1- end) 'comment)
       (insert-and-inherit "\t")
       (throw 'pcompleted t))
     (let ((pos begin))
       (while (< pos end)
-	(if (get-text-property pos 'arg-begin)
-	    (nconc posns (list pos)))
+	(when (get-text-property pos 'arg-begin)
+	  (nconc posns (list pos)))
 	(setq pos (1+ pos))))
     (setq posns (cdr posns))
     (cl-assert (= (length args) (length posns)))
@@ -378,9 +378,9 @@ eshell-complete-parse-arguments
 	  (i 0)
 	  l)
       (while a
-	(if (and (consp (car a))
-		 (eq (caar a) 'eshell-operator))
-	    (setq l i))
+	(when (and (consp (car a))
+		   (eq (caar a) 'eshell-operator))
+	  (setq l i))
 	(setq a (cdr a) i (1+ i)))
       (and l
 	   (setq args (nthcdr (1+ l) args)
@@ -401,8 +401,8 @@ eshell-complete-parse-arguments
 			   (cl-assert (eq (car result) 'quote))
 			   (cadr result))
 		       arg)))
-		(if (numberp val)
-		    (setq val (number-to-string val)))
+		(when (numberp val)
+		  (setq val (number-to-string val)))
 		(or val ""))))
 	   args)
 	  posns)))
@@ -414,11 +414,11 @@ eshell-complete-commands-list
         (if eshell-force-execution
             (pcomplete-dirs-or-entries nil #'file-readable-p)
           (pcomplete-executables))
-      (if (and (> (length filename) 0)
-	       (eq (aref filename 0) eshell-explicit-command-char))
-	  (setq filename (substring filename 1)
-		pcomplete-stub filename
-		glob-name t))
+      (when (and (> (length filename) 0)
+	         (eq (aref filename 0) eshell-explicit-command-char))
+	(setq filename (substring filename 1)
+	      pcomplete-stub filename
+	      glob-name t))
       (let* ((paths (eshell-get-path))
 	     (cwd (file-name-as-directory
 		   (expand-file-name default-directory)))
@@ -436,13 +436,13 @@ eshell-complete-commands-list
 	  (while comps-in-path
 	    (setq file (car comps-in-path)
 		  filepath (concat path file))
-	    (if (and (not (member file completions)) ;
-		     (or (string-equal path cwd)
-			 (not (file-directory-p filepath)))
-                     (if eshell-force-execution
-                         (file-readable-p filepath)
-                       (file-executable-p filepath)))
-		(setq completions (cons file completions)))
+	    (when (and (not (member file completions)) ;
+		       (or (string-equal path cwd)
+			   (not (file-directory-p filepath)))
+                       (if eshell-force-execution
+                           (file-readable-p filepath)
+                         (file-executable-p filepath)))
+	      (setq completions (cons file completions)))
 	    (setq comps-in-path (cdr comps-in-path)))
 	  (setq paths (cdr paths)))
 	;; Add aliases which are currently visible, and Lisp functions.
@@ -450,8 +450,8 @@ eshell-complete-commands-list
 	 (if glob-name
 	     completions
 	   (setq completions
-		 (append (if (fboundp 'eshell-alias-completions)
-			      (eshell-alias-completions filename))
+		 (append (when (fboundp 'eshell-alias-completions)
+			   (eshell-alias-completions filename))
 			 (eshell-winnow-list
 			  (mapcar
 			   (function
diff --git a/lisp/eshell/em-dirs.el b/lisp/eshell/em-dirs.el
index 51df6fa1d5..d6a964c881 100644
--- a/lisp/eshell/em-dirs.el
+++ b/lisp/eshell/em-dirs.el
@@ -208,9 +208,9 @@ eshell-dirs-initialize
 
   (add-hook 'eshell-parse-argument-hook
 	    #'eshell-parse-user-reference nil t)
-  (if (eshell-under-windows-p)
-      (add-hook 'eshell-parse-argument-hook
-		#'eshell-parse-drive-letter nil t))
+  (when (eshell-under-windows-p)
+    (add-hook 'eshell-parse-argument-hook
+	      #'eshell-parse-drive-letter nil t))
 
   (when (eshell-using-module 'eshell-cmpl)
     (add-hook 'pcomplete-try-first-hook
@@ -219,8 +219,8 @@ eshell-dirs-initialize
   (make-local-variable 'eshell-dirstack)
   (make-local-variable 'eshell-last-dir-ring)
 
-  (if eshell-last-dir-ring-file-name
-      (eshell-read-last-dir-ring))
+  (when eshell-last-dir-ring-file-name
+    (eshell-read-last-dir-ring))
   (unless eshell-last-dir-ring
     (setq eshell-last-dir-ring (make-ring eshell-last-dir-ring-size)))
 
@@ -231,16 +231,16 @@ eshell-dirs-initialize
 (defun eshell-save-some-last-dir ()
   "Save the list-dir-ring for any open Eshell buffers."
   (dolist (buf (buffer-list))
-    (if (buffer-live-p buf)
-	(with-current-buffer buf
-	  (if (and eshell-mode
+    (when (buffer-live-p buf)
+      (with-current-buffer buf
+	(when (and eshell-mode
 		   eshell-ask-to-save-last-dir
 		   (or (eq eshell-ask-to-save-last-dir 'always)
 		       (y-or-n-p
-			(format-message
-			 "Save last dir ring for Eshell buffer `%s'? "
-			 (buffer-name buf)))))
-	      (eshell-write-last-dir-ring))))))
+		        (format-message
+		         "Save last dir ring for Eshell buffer `%s'? "
+		         (buffer-name buf)))))
+	  (eshell-write-last-dir-ring))))))
 
 (defun eshell-lone-directory-p (file)
   "Test whether FILE is just a directory name, and not a command name."
@@ -298,11 +298,11 @@ eshell/pwd
   "Change output from `pwd' to be cleaner."
   (let* ((path default-directory)
 	 (len (length path)))
-    (if (and (> len 1)
-	     (eq (aref path (1- len)) ?/)
-	     (not (and (eshell-under-windows-p)
-		       (string-match "\\`[A-Za-z]:[\\/]\\'" path))))
-	(setq path (substring path 0 (1- (length path)))))
+    (when (and (> len 1)
+	       (eq (aref path (1- len)) ?/)
+	       (not (and (eshell-under-windows-p)
+		         (string-match "\\`[A-Za-z]:[\\/]\\'" path))))
+      (setq path (substring path 0 (1- (length path)))))
     (funcall (or eshell-pwd-convert-function #'identity) path)))
 
 (defun eshell-expand-multiple-dots (filename)
@@ -335,13 +335,13 @@ eshell-find-previous-directory
   (let ((index 0)
 	(len (ring-length eshell-last-dir-ring))
 	oldpath)
-    (if (> (length regexp) 0)
-	(while (< index len)
-	  (setq oldpath (ring-ref eshell-last-dir-ring index))
-	  (if (string-match regexp oldpath)
-	      (setq index len)
-	    (setq oldpath nil
-		  index (1+ index)))))
+    (when (> (length regexp) 0)
+      (while (< index len)
+	(setq oldpath (ring-ref eshell-last-dir-ring index))
+	(if (string-match regexp oldpath)
+	    (setq index len)
+	  (setq oldpath nil
+		index (1+ index)))))
     oldpath))
 
 (defun eshell/cd (&rest args)           ; all but first ignored
@@ -351,10 +351,10 @@ eshell/cd
 	(subpath (car (cdr args)))
 	(case-fold-search (eshell-under-windows-p))
 	handled)
-    (if (numberp path)
-	(setq path (number-to-string path)))
-    (if (numberp subpath)
-	(setq subpath (number-to-string subpath)))
+    (when (numberp path)
+      (setq path (number-to-string path)))
+    (when (numberp subpath)
+      (setq subpath (number-to-string subpath)))
     (cond
      (subpath
       (let ((curdir (eshell/pwd)))
@@ -375,8 +375,8 @@ eshell/cd
 	    (setq path oldpath)
 	  (let ((len (ring-length eshell-last-dir-ring))
 		(index 0))
-	    (if (= len 0)
-		(error "Directory ring empty"))
+	    (when (= len 0)
+	      (error "Directory ring empty"))
 	    (eshell-init-print-buffer)
 	    (while (< index len)
 	      (eshell-buffered-print
@@ -408,13 +408,13 @@ eshell-add-to-dir-ring
   "Add PATH to the last-dir-ring, if applicable."
   (unless (and (not (ring-empty-p eshell-last-dir-ring))
 	       (equal path (ring-ref eshell-last-dir-ring 0)))
-    (if eshell-last-dir-unique
-	(let ((index 0)
-	      (len (ring-length eshell-last-dir-ring)))
-	  (while (< index len)
-	    (if (equal (ring-ref eshell-last-dir-ring index) path)
-		(ring-remove eshell-last-dir-ring index)
-	      (setq index (1+ index))))))
+    (when eshell-last-dir-unique
+      (let ((index 0)
+	    (len (ring-length eshell-last-dir-ring)))
+	(while (< index len)
+	  (if (equal (ring-ref eshell-last-dir-ring index) path)
+	      (ring-remove eshell-last-dir-ring index)
+	    (setq index (1+ index))))))
     (ring-insert eshell-last-dir-ring path)))
 
 ;;; pushd [+n | dir]
@@ -459,9 +459,9 @@ eshell/pushd
       ;; pushd <dir>
       (let ((old-wd (eshell/pwd)))
 	(eshell/cd path)
-	(if (or (null eshell-pushd-dunique)
-		(not (member old-wd eshell-dirstack)))
-	    (setq eshell-dirstack (cons old-wd eshell-dirstack)))
+	(when (or (null eshell-pushd-dunique)
+		  (not (member old-wd eshell-dirstack)))
+	  (setq eshell-dirstack (cons old-wd eshell-dirstack)))
 	(eshell/dirs t)))))
   nil)
 
@@ -546,7 +546,7 @@ eshell-read-last-dir-ring
 (defun eshell-write-last-dir-ring ()
   "Write the buffer's `eshell-last-dir-ring' to a history file."
   (let* ((file eshell-last-dir-ring-file-name)
-	 (resolved-file (if (stringp file) (file-truename file))))
+	 (resolved-file (when (stringp file) (file-truename file))))
     (cond
      ((or (null file)
 	  (equal file "")
diff --git a/lisp/eshell/em-glob.el b/lisp/eshell/em-glob.el
index a32a6abe29..7d534d85f7 100644
--- a/lisp/eshell/em-glob.el
+++ b/lisp/eshell/em-glob.el
@@ -257,8 +257,8 @@ eshell-extended-glob
 	    (eshell-glob-entries (file-name-as-directory (car paths))
 				 (cdr paths))
 	  (eshell-glob-entries (file-name-as-directory ".") paths))
-      (if message-shown
-	  (message nil)))
+      (when message-shown
+	(message nil)))
     (or (and eshell-glob-matches (sort eshell-glob-matches #'string<))
 	(if eshell-error-if-no-glob
 	    (error "No matches found: %s" glob)
@@ -286,8 +286,8 @@ eshell-glob-entries
 		   globs (cdr globs)
 		   glob (car globs)
 		   len (length glob)))))
-    (if (and recurse-p (not glob))
-	(error "`**' cannot end a globbing pattern"))
+    (when (and recurse-p (not glob))
+      (error "`**' cannot end a globbing pattern"))
     (let ((index 1))
       (setq incl glob)
       (while (and (eq incl glob)
@@ -300,12 +300,12 @@ eshell-glob-entries
     ;; can't use `directory-file-name' because it strips away text
     ;; properties in the string
     (let ((len (1- (length incl))))
-      (if (eq (aref incl len) ?/)
-	  (setq incl (substring incl 0 len)))
+      (when (eq (aref incl len) ?/)
+	(setq incl (substring incl 0 len)))
       (when excl
 	(setq len (1- (length excl)))
-	(if (eq (aref excl len) ?/)
-	    (setq excl (substring excl 0 len)))))
+	(when (eq (aref excl len) ?/)
+	  (setq excl (substring excl 0 len)))))
     (setq incl (eshell-glob-regexp incl)
 	  excl (and excl (eshell-glob-regexp excl)))
     (if (or eshell-glob-include-dot-files
@@ -322,28 +322,28 @@ eshell-glob-entries
       (message "Building file list...%d so far: %s"
 	       (length eshell-glob-matches) path)
       (setq message-shown t))
-    (if (equal path "./") (setq path ""))
+    (when (equal path "./") (setq path ""))
     (while entries
       (setq name (car entries)
 	    len (length name)
 	    isdir (eq (aref name (1- len)) ?/))
-      (if (let ((fname (directory-file-name name)))
-	    (and (not (and excl (string-match excl fname)))
-		 (string-match incl fname)))
-	  (if (cdr globs)
-	      (if isdir
-		  (setq dirs (cons (concat path name) dirs)))
-	    (setq eshell-glob-matches
-		  (cons (concat path name) eshell-glob-matches))))
-      (if (and recurse-p isdir
-	       (or (> len 3)
-		   (not (or (and (= len 2) (equal name "./"))
-			    (and (= len 3) (equal name "../")))))
-	       (setq pathname (concat path name))
-	       (not (and (= recurse-p 2)
-			 (file-symlink-p
-			  (directory-file-name pathname)))))
-	  (setq rdirs (cons pathname rdirs)))
+      (when (let ((fname (directory-file-name name)))
+	      (and (not (and excl (string-match excl fname)))
+		   (string-match incl fname)))
+	(if (cdr globs)
+	    (when isdir
+	      (setq dirs (cons (concat path name) dirs)))
+	  (setq eshell-glob-matches
+		(cons (concat path name) eshell-glob-matches))))
+      (when (and recurse-p isdir
+	         (or (> len 3)
+		     (not (or (and (= len 2) (equal name "./"))
+			      (and (= len 3) (equal name "../")))))
+	         (setq pathname (concat path name))
+	         (not (and (= recurse-p 2)
+			   (file-symlink-p
+			    (directory-file-name pathname)))))
+	(setq rdirs (cons pathname rdirs)))
       (setq entries (cdr entries)))
     (setq dirs (nreverse dirs)
 	  rdirs (nreverse rdirs))
diff --git a/lisp/eshell/em-hist.el b/lisp/eshell/em-hist.el
index 5cee1bad36..d089498f33 100644
--- a/lisp/eshell/em-hist.el
+++ b/lisp/eshell/em-hist.el
@@ -265,9 +265,9 @@ eshell-hist-initialize
 	(add-hook 'isearch-mode-hook
 		  (function
 		   (lambda ()
-		     (if (>= (point) eshell-last-output-end)
-			 (setq overriding-terminal-local-map
-			       eshell-isearch-map))))
+		     (when (>= (point) eshell-last-output-end)
+		       (setq overriding-terminal-local-map
+			     eshell-isearch-map))))
                   nil t)
 	(add-hook 'isearch-mode-end-hook
 		  (function
@@ -296,8 +296,8 @@ eshell-hist-initialize
   (if (minibuffer-window-active-p (selected-window))
       (set (make-local-variable 'eshell-save-history-on-exit) nil)
     (set (make-local-variable 'eshell-history-ring) nil)
-    (if eshell-history-file-name
-	(eshell-read-history nil t))
+    (when eshell-history-file-name
+      (eshell-read-history nil t))
 
     (add-hook 'eshell-exit-hook #'eshell-write-history nil t))
 
@@ -314,17 +314,17 @@ eshell-hist-initialize
 (defun eshell-save-some-history ()
   "Save the history for any open Eshell buffers."
   (dolist (buf (buffer-list))
-    (if (buffer-live-p buf)
-	(with-current-buffer buf
-	  (if (and eshell-mode
+    (when (buffer-live-p buf)
+      (with-current-buffer buf
+	(when (and eshell-mode
 		   eshell-history-file-name
 		   eshell-save-history-on-exit
 		   (or (eq eshell-save-history-on-exit t)
 		       (y-or-n-p
-			(format-message
-			 "Save input history for Eshell buffer `%s'? "
-			 (buffer-name buf)))))
-	      (eshell-write-history))))))
+		        (format-message
+		         "Save input history for Eshell buffer `%s'? "
+		         (buffer-name buf)))))
+	  (eshell-write-history))))))
 
 (defun eshell/history (&rest args)
   "List in help buffer the buffer's input history."
@@ -389,12 +389,12 @@ eshell-add-input-to-history
 Input is entered into the input history ring, if the value of
 variable `eshell-input-filter' returns non-nil when called on the
 input."
-  (if (and (funcall eshell-input-filter input)
-	   (or (null eshell-hist-ignoredups)
-	       (not (ring-p eshell-history-ring))
-	       (ring-empty-p eshell-history-ring)
-	       (not (string-equal (eshell-get-history 0) input))))
-      (eshell-put-history input))
+  (when (and (funcall eshell-input-filter input)
+	     (or (null eshell-hist-ignoredups)
+	         (not (ring-p eshell-history-ring))
+	         (ring-empty-p eshell-history-ring)
+	         (not (string-equal (eshell-get-history 0) input))))
+    (eshell-put-history input))
   (setq eshell-save-history-index eshell-history-index)
   (setq eshell-history-index nil))
 
@@ -455,11 +455,11 @@ eshell-read-history
 		      (re-search-backward "^[ \t]*\\([^#\n].*\\)[ \t]*$"
 					  nil t))
 	    (let ((history (match-string 1)))
-	      (if (or (null ignore-dups)
-		      (ring-empty-p ring)
-		      (not (string-equal (ring-ref ring 0) history)))
-		  (ring-insert-at-beginning
-		   ring (subst-char-in-string ?\177 ?\n history))))
+	      (when (or (null ignore-dups)
+		        (ring-empty-p ring)
+		        (not (string-equal (ring-ref ring 0) history)))
+		(ring-insert-at-beginning
+		 ring (subst-char-in-string ?\177 ?\n history))))
 	    (setq count (1+ count))))
 	(setq eshell-history-ring ring
 	      eshell-history-index nil))))))
@@ -475,7 +475,7 @@ eshell-write-history
 
 See also `eshell-read-history'."
   (let* ((file (or filename eshell-history-file-name))
-	 (resolved-file (if (stringp file) (file-truename file))))
+	 (resolved-file (when (stringp file) (file-truename file))))
     (cond
      ((or (null file)
 	  (equal file "")
@@ -506,9 +506,9 @@ eshell-list-history
   (interactive)
   (let (prefix prelen)
     (save-excursion
-      (if (re-search-backward "!\\(.+\\)" (line-beginning-position) t)
-	  (setq prefix (match-string 1)
-		prelen (length prefix))))
+      (when (re-search-backward "!\\(.+\\)" (line-beginning-position) t)
+	(setq prefix (match-string 1)
+	      prelen (length prefix))))
     (if (or (not (ring-p eshell-history-ring))
 	    (ring-empty-p eshell-history-ring))
 	(message "No history")
@@ -519,10 +519,10 @@ eshell-list-history
 	;; We have to build up a list ourselves from the ring vector.
 	(while (>= index 0)
 	  (let ((hist (eshell-get-history index)))
-	    (if (or (not prefix)
-		    (and (>= (length hist) prelen)
-			 (string= (substring hist 0 prelen) prefix)))
-		(setq history (cons hist history))))
+	    (when (or (not prefix)
+		      (and (>= (length hist) prelen)
+			   (string= (substring hist 0 prelen) prefix)))
+	      (setq history (cons hist history))))
 	  (setq index (1- index)))
 	;; Change "completion" to "history reference"
 	;; to make the display accurate.
@@ -564,13 +564,13 @@ eshell-hist-parse-arguments
       (save-excursion
 	(goto-char begin)
 	(while (< (point) end)
-	  (if (get-text-property (point) 'arg-begin)
-	      (nconc posb (list (point))))
-	  (if (get-text-property (point) 'arg-end)
-	      (nconc pose
-		     (list (if (= (1+ (point)) end)
-			       (1+ (point))
-			     (point)))))
+	  (when (get-text-property (point) 'arg-begin)
+	    (nconc posb (list (point))))
+	  (when (get-text-property (point) 'arg-end)
+	    (nconc pose
+		   (list (if (= (1+ (point)) end)
+			     (1+ (point))
+			   (point)))))
 	  (forward-char))
 	(setq posb (cdr posb)
 	      pose (cdr pose))
@@ -633,12 +633,12 @@ eshell-complete-history-reference
 	       ;; vector.
 	       (while (>= index 0)
 		 (let ((hist (eshell-get-history index)))
-		   (if (and (>= (length hist) stublen)
-			    (string= (substring hist 0 stublen)
-				     pcomplete-stub)
-			    (string-match "^\\([^:^$*% \t\n]+\\)" hist))
-		       (setq history (cons (match-string 1 hist)
-					   history))))
+		   (when (and (>= (length hist) stublen)
+			      (string= (substring hist 0 stublen)
+				       pcomplete-stub)
+			      (string-match "^\\([^:^$*% \t\n]+\\)" hist))
+		     (setq history (cons (match-string 1 hist)
+					 history))))
 		 (setq index (1- index)))
 	       (let ((fhist (list t)))
 		 ;; uniquify the list, but preserve the order
@@ -740,11 +740,11 @@ eshell-hist-parse-word-designator
       (insert hist)
       (setq textargs (car (eshell-hist-parse-arguments here (point))))
       (delete-region here (point))
-      (if (string= nth "*")
-	  (if mth
-	      (error "Invalid history word designator `%s'"
-		     reference)
-	    (setq nth 1 mth "-$")))
+      (when (string= nth "*")
+	(if mth
+	    (error "Invalid history word designator `%s'"
+		   reference)
+	  (setq nth 1 mth "-$")))
       (if (not mth)
 	  (if nth
 	      (setq mth nth)
@@ -793,9 +793,9 @@ eshell-get-next-from-history
 (defun eshell-search-arg (arg)
   ;; First make sure there is a ring and that we are after the process
   ;; mark
-  (if (and eshell-hist-move-to-end
-	   (< (point) eshell-last-output-end))
-      (goto-char eshell-last-output-end))
+  (when (and eshell-hist-move-to-end
+	     (< (point) eshell-last-output-end))
+    (goto-char eshell-last-output-end))
   (cond ((or (null eshell-history-ring)
 	     (ring-empty-p eshell-history-ring))
 	 (error "Empty input ring"))
@@ -841,15 +841,15 @@ eshell-previous-matching-input-string
   "Return the string matching REGEXP ARG places along the input ring.
 Moves relative to `eshell-history-index'."
   (let* ((pos (eshell-previous-matching-input-string-position regexp arg)))
-    (if pos (eshell-get-history pos))))
+    (when pos (eshell-get-history pos))))
 
 (defun eshell-previous-matching-input-string-position
   (regexp arg &optional start)
   "Return the index matching REGEXP ARG places along the input ring.
 Moves relative to START, or `eshell-history-index'."
-  (if (or (not (ring-p eshell-history-ring))
-	  (ring-empty-p eshell-history-ring))
-      (error "No history"))
+  (when (or (not (ring-p eshell-history-ring))
+	    (ring-empty-p eshell-history-ring))
+    (error "No history"))
   (let* ((len (ring-length eshell-history-ring))
 	 (motion (if (> arg 0) 1 -1))
 	 (n (mod (- (or start (eshell-search-start arg)) motion) len))
@@ -870,8 +870,8 @@ eshell-previous-matching-input-string-position
       (setq arg (if (> arg 0) (1- arg) (1+ arg))))
     ;; Now that we know which ring element to use, if we found it,
     ;; return that.
-    (if (string-match regexp (eshell-get-history n))
-	n)))
+    (when (string-match regexp (eshell-get-history n))
+      n)))
 
 (defun eshell-previous-matching-input (regexp arg)
   "Search backwards through input history for match for REGEXP.
@@ -880,8 +880,8 @@ eshell-previous-matching-input
 If N is negative, find the next or Nth next match."
   (interactive (eshell-regexp-arg "Previous input matching (regexp): "))
   (setq arg (eshell-search-arg arg))
-  (if (> eshell-last-output-end (point))
-      (error "Point not located after prompt"))
+  (when (> eshell-last-output-end (point))
+    (error "Point not located after prompt"))
   (let ((pos (eshell-previous-matching-input-string-position regexp arg)))
     ;; Has a match been found?
     (if (null pos)
diff --git a/lisp/eshell/em-ls.el b/lisp/eshell/em-ls.el
index c1a022ee52..f9d4e91ca1 100644
--- a/lisp/eshell/em-ls.el
+++ b/lisp/eshell/em-ls.el
@@ -185,8 +185,8 @@ eshell-ls-clutter
 
 (defsubst eshell-ls-filetype-p (attrs type)
   "Test whether ATTRS specifies a file of type TYPE."
-  (if (file-attribute-modes attrs)
-      (eq (aref (file-attribute-modes attrs) 0) type)))
+  (when (file-attribute-modes attrs)
+    (eq (aref (file-attribute-modes attrs) 0) type)))
 
 (defmacro eshell-ls-applicable (attrs index func file)
   "Test whether, for ATTRS, the user can do what corresponds to INDEX.
@@ -264,8 +264,8 @@ eshell-ls--insert-directory
       (if handler
           (funcall handler 'insert-directory file switches
                    wildcard full-directory-p)
-        (if (stringp switches)
-            (setq switches (split-string switches)))
+        (when (stringp switches)
+          (setq switches (split-string switches)))
         (let (eshell-current-handles
               eshell-current-subjob-p
               font-lock-mode)
@@ -274,10 +274,10 @@ eshell-ls--insert-directory
                      (featurep 'font-lock))
             (font-lock-mode -1)
             (setq font-lock-defaults nil)
-            (if (boundp 'font-lock-buffers)
-                (set 'font-lock-buffers
-                     (delq (current-buffer)
-                           (symbol-value 'font-lock-buffers)))))
+            (when (boundp 'font-lock-buffers)
+              (set 'font-lock-buffers
+                   (delq (current-buffer)
+                         (symbol-value 'font-lock-buffers)))))
           (require 'em-glob)
           (let* ((insert-func 'insert)
                  (error-func 'insert)
@@ -497,8 +497,8 @@ eshell-ls-file
 	    (funcall insert-func file "\n"))
 	(let ((line
 	       (concat
-		(if show-size
-		    (concat (eshell-ls-size-string attrs size-width) " "))
+		(when show-size
+		  (concat (eshell-ls-size-string attrs size-width) " "))
 		(format
 		 (if numeric-uid-gid
 		     "%s%4d %-8s %-8s "
@@ -549,14 +549,14 @@ eshell-ls-dir
 	(funcall error-func (format "%s: No such file or directory\n" dir))
       (if dir-literal
 	  (eshell-ls-file dirinfo size-width)
-	(if insert-name
-	    (funcall insert-func
-		     (eshell-ls-decorated-name
-		      (cons (concat
-			     (if root-dir
-				 (file-relative-name dir root-dir)
-			       (expand-file-name dir)))
-			    (cdr dirinfo))) ":\n"))
+	(when insert-name
+	  (funcall insert-func
+		   (eshell-ls-decorated-name
+		    (cons (concat
+			   (if root-dir
+			       (file-relative-name dir root-dir)
+			     (expand-file-name dir)))
+			  (cdr dirinfo))) ":\n"))
 	(let ((entries (eshell-directory-files-and-attributes
 			dir nil (and (not (or show-all show-almost-all))
 				     eshell-ls-exclude-hidden
@@ -587,16 +587,16 @@ eshell-ls-dir
 	    (let ((total 0.0))
 	      (setq size-width 0)
 	      (dolist (e entries)
-		(if (file-attribute-size (cdr e))
-		    (setq total (+ total (file-attribute-size (cdr e)))
-			  size-width
-			  (max size-width
-			       (length (eshell-ls-printable-size
-					(file-attribute-size (cdr e))
-					(not
-					 ;; If we are under -l, count length
-					 ;; of sizes in bytes, not in blocks.
-					 (eq listing-style 'long-listing))))))))
+		(when (file-attribute-size (cdr e))
+		  (setq total (+ total (file-attribute-size (cdr e)))
+			size-width
+			(max size-width
+			     (length (eshell-ls-printable-size
+				      (file-attribute-size (cdr e))
+				      (not
+				       ;; If we are under -l, count length
+				       ;; of sizes in bytes, not in blocks.
+				       (eq listing-style 'long-listing))))))))
 	      (funcall insert-func "total "
 		       (eshell-ls-printable-size total t) "\n")))
 	  (let ((default-directory (expand-file-name dir)))
@@ -677,8 +677,8 @@ eshell-ls-files
 	       (not (eq listing-style 'by-lines)))
 	  (memq listing-style '(long-listing single-column)))
       (dolist (file files)
-	(if file
-	    (eshell-ls-file file size-width copy-fileinfo)))
+	(when file
+	  (eshell-ls-file file size-width copy-fileinfo)))
     (let ((f files)
 	  last-f
 	  display-files
@@ -704,8 +704,8 @@ eshell-ls-files
 	(dolist (file files)
 	  (let* ((str (eshell-ls-printable-size (file-attribute-size (cdr file)) t))
 		 (len (length str)))
-	    (if (< len size-width)
-		(setq str (concat (make-string (- size-width len) ? ) str)))
+	    (when (< len size-width)
+	      (setq str (concat (make-string (- size-width len) ? ) str)))
 	    (setq file (eshell-ls-annotate file)
 		  display-files (cons (cons (concat str " " (car file))
 					    (cdr file))
@@ -741,8 +741,8 @@ eshell-ls-files
 		      col-index (1+ col-index))
 	      (funcall insert-func need-return name "\n")
 	      (setq col-index 1 need-return nil))))
-	(if need-return
-	    (funcall insert-func need-return "\n"))))))
+	(when need-return
+	  (funcall insert-func need-return "\n"))))))
 
 (defun eshell-ls-entries (entries &optional separate root-dir)
   "Output PATH's directory ENTRIES.
@@ -765,17 +765,17 @@ eshell-ls-entries
 	    (unless separate
 	      (setq files (cons entry files)
 		    size-width
-		    (if show-size
-			(max size-width
-			     (length (eshell-ls-printable-size
-				      (file-attribute-size (cdr entry)) t))))))
+		    (when show-size
+		      (max size-width
+			   (length (eshell-ls-printable-size
+				    (file-attribute-size (cdr entry)) t))))))
 	    (setq dirs (cons entry dirs)))
 	(setq files (cons entry files)
 	      size-width
-	      (if show-size
-		  (max size-width
-		       (length (eshell-ls-printable-size
-				(file-attribute-size (cdr entry)) t)))))))
+	      (when show-size
+		(max size-width
+		     (length (eshell-ls-printable-size
+			      (file-attribute-size (cdr entry)) t)))))))
     (when files
       (eshell-ls-files (eshell-ls-sort-entries files)
 		       size-width show-recursive)
@@ -783,8 +783,8 @@ eshell-ls-entries
     (setq show-names (or show-recursive
 			 (> (+ (length files) (length dirs)) 1)))
     (dolist (dir (eshell-ls-sort-entries dirs))
-      (if (and need-return (not dir-literal))
-	  (funcall insert-func "\n"))
+      (when (and need-return (not dir-literal))
+	(funcall insert-func "\n"))
       (eshell-ls-dir dir show-names
 		     (unless (file-name-absolute-p (car dir)) root-dir)
 		     size-width)
@@ -821,18 +821,18 @@ eshell-ls-find-column-widths
 	    (colw (make-vector numcols 0))
 	    (w widths))
 	(while w
-	  (if (= i numcols)
-	      (setq i 0))
+	  (when (= i numcols)
+	    (setq i 0))
 	  (aset colw i (max (aref colw i) (car w)))
 	  (setq w (cdr w) i (1+ i)))
 	(setq i 0 width 0)
 	(while (< i numcols)
 	  (setq width (+ width (aref colw i))
 		i (1+ i)))
-	(if (and (< width max-width)
-		 (> width best-width))
-	    (setq col-widths colw
-		  best-width width)))
+	(when (and (< width max-width)
+		   (> width best-width))
+	  (setq col-widths colw
+		best-width width)))
       (setq numcols (1- numcols)))
 
     (cons (or col-widths (vector max-width)) files)))
@@ -868,8 +868,8 @@ eshell-ls-find-column-lengths
 			(float (1- numcols))))
 	  (setq colw (make-vector numcols 0))
 	  (while (> len 0)
-	    (if (= i numcols)
-		(setq i 0 index (1+ index)))
+	    (when (= i numcols)
+	      (setq i 0 index (1+ index)))
 	    (aset colw i
 		  (max (aref colw i)
 		       (or (nth (+ (* i rows) index) w) 0)))
@@ -880,8 +880,8 @@ eshell-ls-find-column-lengths
 		  i (1+ i))))
 	(if (>= width max-width)
 	    (setq numcols nil)
-	  (if colw
-	      (setq col-widths colw))
+	  (when colw
+	    (setq col-widths colw))
 	  (if (>= numcols (length widths))
 	      (setq numcols nil)
 	    (setq numcols (1+ numcols))))))
@@ -897,8 +897,8 @@ eshell-ls-find-column-lengths
 	     (i 0)
 	     (j 0))
 	(while (< j len)
-	  (if (= i numcols)
-	      (setq i 0 index (1+ index)))
+	  (when (= i numcols)
+	    (setq i 0 index (1+ index)))
 	  (setcar (nthcdr j newfiles)
 		  (nth (+ (* i rows) index) files))
 	  (setq j (1+ j) i (1+ i)))
@@ -906,57 +906,57 @@ eshell-ls-find-column-lengths
 
 (defun eshell-ls-decorated-name (file)
   "Return FILE, possibly decorated."
-  (if eshell-ls-use-colors
-      (let ((face
-	     (cond
-	      ((not (cdr file))
-	       'eshell-ls-missing)
-
-	      ((stringp (cadr file))
-	       'eshell-ls-symlink)
-
-	      ((eq (cadr file) t)
-	       'eshell-ls-directory)
-
-	      ((not (eshell-ls-filetype-p (cdr file) ?-))
-	       'eshell-ls-special)
-
-	      ((and (/= (user-uid) 0) ; root can execute anything
-		    (eshell-ls-applicable (cdr file) 3
-					  'file-executable-p (car file)))
-	       'eshell-ls-executable)
-
-	      ((not (eshell-ls-applicable (cdr file) 1
-					  'file-readable-p (car file)))
-	       'eshell-ls-unreadable)
-
-	      ((string-match eshell-ls-archive-regexp (car file))
-	       'eshell-ls-archive)
-
-	      ((string-match eshell-ls-backup-regexp (car file))
-	       'eshell-ls-backup)
-
-	      ((string-match eshell-ls-product-regexp (car file))
-	       'eshell-ls-product)
-
-	      ((string-match eshell-ls-clutter-regexp (car file))
-	       'eshell-ls-clutter)
-
-	      ((not (eshell-ls-applicable (cdr file) 2
-					  'file-writable-p (car file)))
-	       'eshell-ls-readonly)
-	      (eshell-ls-highlight-alist
-	       (let ((tests eshell-ls-highlight-alist)
-		     value)
-		 (while tests
-		   (if (funcall (caar tests) (car file) (cdr file))
-		       (setq value (cdar tests) tests nil)
-		     (setq tests (cdr tests))))
-		 value)))))
-	(if face
-	    (add-text-properties 0 (length (car file))
-				 (list 'font-lock-face face)
-				 (car file)))))
+  (when eshell-ls-use-colors
+    (let ((face
+	   (cond
+	    ((not (cdr file))
+	     'eshell-ls-missing)
+
+	    ((stringp (cadr file))
+	     'eshell-ls-symlink)
+
+	    ((eq (cadr file) t)
+	     'eshell-ls-directory)
+
+	    ((not (eshell-ls-filetype-p (cdr file) ?-))
+	     'eshell-ls-special)
+
+	    ((and (/= (user-uid) 0)     ; root can execute anything
+		  (eshell-ls-applicable (cdr file) 3
+					'file-executable-p (car file)))
+	     'eshell-ls-executable)
+
+	    ((not (eshell-ls-applicable (cdr file) 1
+					'file-readable-p (car file)))
+	     'eshell-ls-unreadable)
+
+	    ((string-match eshell-ls-archive-regexp (car file))
+	     'eshell-ls-archive)
+
+	    ((string-match eshell-ls-backup-regexp (car file))
+	     'eshell-ls-backup)
+
+	    ((string-match eshell-ls-product-regexp (car file))
+	     'eshell-ls-product)
+
+	    ((string-match eshell-ls-clutter-regexp (car file))
+	     'eshell-ls-clutter)
+
+	    ((not (eshell-ls-applicable (cdr file) 2
+					'file-writable-p (car file)))
+	     'eshell-ls-readonly)
+	    (eshell-ls-highlight-alist
+	     (let ((tests eshell-ls-highlight-alist)
+		   value)
+	       (while tests
+		 (if (funcall (caar tests) (car file) (cdr file))
+		     (setq value (cdar tests) tests nil)
+		   (setq tests (cdr tests))))
+	       value)))))
+      (when face
+	(add-text-properties 0 (length (car file))
+			     (list 'font-lock-face face)
+			     (car file)))))
   (car file))
 
 (defun eshell-ls-unload-function ()
diff --git a/lisp/eshell/em-pred.el b/lisp/eshell/em-pred.el
index c26f654e27..6746c68c99 100644
--- a/lisp/eshell/em-pred.el
+++ b/lisp/eshell/em-pred.el
@@ -86,9 +86,9 @@ eshell-predicate-alist
     (?S . (eshell-pred-file-mode 2000)) ; setgid
     (?t . (eshell-pred-file-mode 1000)) ; sticky bit
     (?U . #'(lambda (file)                   ; owned by effective uid
-              (if (file-exists-p file)
-                  (= (file-attribute-user-id (file-attributes file))
-		     (user-uid)))))
+              (when (file-exists-p file)
+                (= (file-attribute-user-id (file-attributes file))
+		   (user-uid)))))
     ;; (?G . #'(lambda (file)               ; owned by effective gid
     ;;          (if (file-exists-p file)
     ;;              (= (file-attribute-user-id (file-attributes file))
@@ -266,9 +266,9 @@ eshell-pred-initialize
 (defun eshell-apply-modifiers (lst predicates modifiers)
   "Apply to LIST a series of PREDICATES and MODIFIERS."
   (let (stringified)
-    (if (stringp lst)
-	(setq lst (list lst)
-	      stringified t))
+    (when (stringp lst)
+      (setq lst (list lst)
+	    stringified t))
     (when (listp lst)
       (setq lst (eshell-winnow-list lst nil predicates))
       (while modifiers
@@ -371,12 +371,12 @@ eshell-parse-modifiers
 
 (defun eshell-add-pred-func (pred funcs negate follow)
   "Add the predicate function PRED to FUNCS."
-  (if negate
-      (setq pred `(lambda (file)
-		    (not (funcall ,pred file)))))
-  (if follow
-      (setq pred `(lambda (file)
-		    (funcall ,pred (file-truename file)))))
+  (when negate
+    (setq pred `(lambda (file)
+		  (not (funcall ,pred file)))))
+  (when follow
+    (setq pred `(lambda (file)
+		  (funcall ,pred (file-truename file)))))
   (cons pred funcs))
 
 (defun eshell-pred-user-or-group (mod-char mod-type attr-index get-id-func)
@@ -404,8 +404,8 @@ eshell-pred-user-or-group
 	     mod-type mod-char))
     `(lambda (file)
        (let ((attrs (file-attributes file)))
-	 (if attrs
-	     (= (nth ,attr-index attrs) ,ugid))))))
+	 (when attrs
+	   (= (nth ,attr-index attrs) ,ugid))))))
 
 (defun eshell-pred-file-time (mod-char mod-type attr-index)
   "Return a predicate to test whether a file matches a certain time."
@@ -450,11 +450,11 @@ eshell-pred-file-time
       (goto-char (1+ end)))
     `(lambda (file)
        (let ((attrs (file-attributes file)))
-	 (if attrs
-             (,(cond ((eq qual ?-) #'time-less-p)
-                     ((eq qual ?+) (lambda (a b) (time-less-p b a)))
-                     (#'time-equal-p))
-	      ,when (nth ,attr-index attrs)))))))
+	 (when attrs
+           (,(cond ((eq qual ?-) #'time-less-p)
+                   ((eq qual ?+) (lambda (a b) (time-less-p b a)))
+                   (#'time-equal-p))
+	    ,when (nth ,attr-index attrs)))))))
 
 (defun eshell-pred-file-type (type)
   "Return a test which tests that the file is of a certain TYPE.
@@ -467,18 +467,18 @@ eshell-pred-file-type
       (setq type ?%)))
   `(lambda (file)
      (let ((attrs (eshell-file-attributes (directory-file-name file))))
-       (if attrs
-	   (memq (aref (file-attribute-modes attrs) 0)
-		 ,(if (eq type ?%)
-		      '(?b ?c)
-		    (list 'quote (list type))))))))
+       (when attrs
+	 (memq (aref (file-attribute-modes attrs) 0)
+	       ,(if (eq type ?%)
+		    '(?b ?c)
+		  (list 'quote (list type))))))))
 
 (defsubst eshell-pred-file-mode (mode)
   "Return a test which tests that MODE pertains to the file."
   `(lambda (file)
      (let ((modes (file-modes file 'nofollow)))
-       (if modes
-	   (logand ,mode modes)))))
+       (when modes
+	 (logand ,mode modes)))))
 
 (defun eshell-pred-file-links ()
   "Return a predicate to test whether a file has a given number of links."
@@ -492,13 +492,13 @@ eshell-pred-file-links
     (goto-char (match-end 0))
     `(lambda (file)
        (let ((attrs (eshell-file-attributes file)))
-	 (if attrs
-	     (,(if (eq qual ?-)
-		   '<
-		 (if (eq qual ?+)
-		     '>
-		   '=))
-	      (file-attribute-link-number attrs) ,amount))))))
+	 (when attrs
+	   (,(if (eq qual ?-)
+		 '<
+	       (if (eq qual ?+)
+		   '>
+		 '=))
+	    (file-attribute-link-number attrs) ,amount))))))
 
 (defun eshell-pred-file-size ()
   "Return a predicate to test whether a file is of a given size."
@@ -522,13 +522,13 @@ eshell-pred-file-size
     (goto-char (match-end 0))
     `(lambda (file)
        (let ((attrs (eshell-file-attributes file)))
-	 (if attrs
-	     (,(if (eq qual ?-)
-		   '<
-		 (if (eq qual ?+)
-		     '>
-		   '=))
-	      (file-attribute-size attrs) ,amount))))))
+	 (when attrs
+	   (,(if (eq qual ?-)
+		 '<
+	       (if (eq qual ?+)
+		   '>
+		 '=))
+	    (file-attribute-size attrs) ,amount))))))
 
 (defun eshell-pred-substitute (&optional repeat)
   "Return a modifier function that will substitute matches."
diff --git a/lisp/eshell/em-prompt.el b/lisp/eshell/em-prompt.el
index 9ae5ae1281..37873cefc9 100644
--- a/lisp/eshell/em-prompt.el
+++ b/lisp/eshell/em-prompt.el
@@ -117,8 +117,8 @@ eshell-prompt-initialize
     (add-hook 'eshell-post-command-hook 'eshell-emit-prompt nil t)
 
     (make-local-variable 'eshell-prompt-regexp)
-    (if eshell-prompt-regexp
-	(set (make-local-variable 'paragraph-start) eshell-prompt-regexp))
+    (when eshell-prompt-regexp
+      (set (make-local-variable 'paragraph-start) eshell-prompt-regexp))
 
     (set (make-local-variable 'eshell-skip-prompt-function)
 	 'eshell-skip-prompt)
@@ -150,8 +150,8 @@ eshell-backward-matching-input
   (interactive (eshell-regexp-arg "Backward input matching (regexp): "))
   (let* ((re (concat eshell-prompt-regexp ".*" regexp))
 	 (pos (save-excursion (end-of-line (if (> arg 0) 0 1))
-			      (if (re-search-backward re nil t arg)
-				  (point)))))
+			      (when (re-search-backward re nil t arg)
+				(point)))))
     (if (null pos)
 	(progn (message "Not found")
 	       (ding))
@@ -194,9 +194,9 @@ eshell-skip-prompt
   "Skip past the text matching regexp `eshell-prompt-regexp'.
 If this takes us past the end of the current line, don't skip at all."
   (let ((eol (line-end-position)))
-    (if (and (looking-at eshell-prompt-regexp)
-	     (<= (match-end 0) eol))
-	(goto-char (match-end 0)))))
+    (when (and (looking-at eshell-prompt-regexp)
+	       (<= (match-end 0) eol))
+      (goto-char (match-end 0)))))
 
 (provide 'em-prompt)
 
diff --git a/lisp/eshell/em-rebind.el b/lisp/eshell/em-rebind.el
index 7991c63177..3b5604f3d7 100644
--- a/lisp/eshell/em-rebind.el
+++ b/lisp/eshell/em-rebind.el
@@ -212,9 +212,9 @@ eshell-rebind-input-map
 	      (progn
 		(use-local-map eshell-input-keymap)
 		(goto-char begin)
-		(if (and eshell-error-if-move-away
-			 (not (eq this-command 'kill-region)))
-		    (beep)))
+		(when (and eshell-error-if-move-away
+			   (not (eq this-command 'kill-region)))
+		  (beep)))
 	    (use-local-map eshell-mode-map)))))))
 
 (defun eshell-setup-input-keymap ()
diff --git a/lisp/eshell/em-script.el b/lisp/eshell/em-script.el
index 5c2f145f59..113c15971a 100644
--- a/lisp/eshell/em-script.el
+++ b/lisp/eshell/em-script.el
@@ -106,8 +106,8 @@ eshell-source-file
                              (list 'eshell-command-arguments
                                    (list 'quote args)))
                        (let ((cmd (eshell-parse-command (cons here (point)))))
-                         (if subcommand-p
-                             (setq cmd (list 'eshell-as-subcommand cmd)))
+                         (when subcommand-p
+                           (setq cmd (list 'eshell-as-subcommand cmd)))
                          cmd))
                (delete-region here (point))
                (goto-char orig))))))
diff --git a/lisp/eshell/em-smart.el b/lisp/eshell/em-smart.el
index f173c8db9c..226de22204 100644
--- a/lisp/eshell/em-smart.el
+++ b/lisp/eshell/em-smart.el
@@ -211,14 +211,14 @@ eshell-refresh-windows
      (function
       (lambda (wind)
 	(with-current-buffer (window-buffer wind)
-	  (if eshell-mode
-	      (let (window-scroll-functions) ;;FIXME: Why?
-		(eshell-smart-scroll-window wind (window-start))
-		(setq affected t))))))
+	  (when eshell-mode
+	    (let (window-scroll-functions) ;;FIXME: Why?
+	      (eshell-smart-scroll-window wind (window-start))
+	      (setq affected t))))))
      0 frame)
-    (if affected
-	(let (window-scroll-functions) ;;FIXME: Why?
-	  (eshell-redisplay)))))
+    (when affected
+      (let (window-scroll-functions) ;;FIXME: Why?
+	(eshell-redisplay)))))
 
 (defun eshell-smart-display-setup ()
   "Set the point to somewhere in the beginning of the last command."
@@ -228,8 +228,8 @@ eshell-smart-display-setup
    ((eq eshell-where-to-jump 'after)
     (goto-char (next-single-property-change
 		eshell-last-input-start 'arg-end))
-    (if (= (point) (- eshell-last-input-end 2))
-	(forward-char)))
+    (when (= (point) (- eshell-last-input-end 2))
+      (forward-char)))
    ((eq eshell-where-to-jump 'end)
     (goto-char (1- eshell-last-input-end)))
    (t
@@ -272,14 +272,14 @@ eshell-smart-redisplay
 	   (< (point) eshell-last-input-end)
 	   (set-window-start (selected-window)
 			     (line-beginning-position) t))
-      (if (pos-visible-in-window-p (point-max))
-	  (save-excursion
-	    (goto-char (point-max))
-	    (recenter -1)
-	    (unless (pos-visible-in-window-p top-point)
-	      (goto-char top-point)
-	      (set-window-start (selected-window)
-				(line-beginning-position) t)))))))
+      (when (pos-visible-in-window-p (point-max))
+	(save-excursion
+	  (goto-char (point-max))
+	  (recenter -1)
+	  (unless (pos-visible-in-window-p top-point)
+	    (goto-char top-point)
+	    (set-window-start (selected-window)
+			      (line-beginning-position) t)))))))
 
 (defun eshell-smart-goto-end ()
   "Like `end-of-buffer', but do not push a mark."
@@ -315,16 +315,16 @@ eshell-smart-display-move
 		  (scroll-down))
 		(eshell-show-output))
 	    (scroll-down)
-	    (if (pos-visible-in-window-p eshell-last-input-end)
-		(eshell-show-output)))))
+	    (when (pos-visible-in-window-p eshell-last-input-end)
+	      (eshell-show-output)))))
        ((or (memq this-command eshell-smart-display-navigate-list)
 	    (and (eq this-command 'eshell-send-input)
 		 (not (and (>= (point) eshell-last-input-start)
 			   (< (point) eshell-last-input-end)))))
 	(setq clear t)
 	(goto-char (point-max)))))
-    (if clear
-	(remove-hook 'pre-command-hook 'eshell-smart-display-move t))))
+    (when clear
+      (remove-hook 'pre-command-hook 'eshell-smart-display-move t))))
 
 (provide 'em-smart)
 
diff --git a/lisp/eshell/em-term.el b/lisp/eshell/em-term.el
index f52b3cda73..d1c4e1af6b 100644
--- a/lisp/eshell/em-term.el
+++ b/lisp/eshell/em-term.el
@@ -188,8 +188,8 @@ eshell-exec-visual
 	    (set-process-sentinel proc #'eshell-term-sentinel)
 	  (error "Failed to invoke visual command")))
       (term-char-mode)
-      (if eshell-escape-control-x
-	  (term-set-escape-char ?\C-x))))
+      (when eshell-escape-control-x
+	(term-set-escape-char ?\C-x))))
   nil)
 
 ;; Process sentinels receive two arguments.
@@ -203,13 +203,13 @@ eshell-term-sentinel
       (when (and proc-buf (buffer-live-p proc-buf)
                  (not (eq 'run (process-status proc)))
                  (= (process-exit-status proc) 0))
-        (if (eq (current-buffer) proc-buf)
-            (let ((buf (and (boundp 'eshell-parent-buffer)
-                            eshell-parent-buffer
-                            (buffer-live-p eshell-parent-buffer)
-                            eshell-parent-buffer)))
-              (if buf
-                  (switch-to-buffer buf))))
+        (when (eq (current-buffer) proc-buf)
+          (let ((buf (and (boundp 'eshell-parent-buffer)
+                          eshell-parent-buffer
+                          (buffer-live-p eshell-parent-buffer)
+                          eshell-parent-buffer)))
+            (when buf
+              (switch-to-buffer buf))))
         (kill-buffer proc-buf)))))
 
 ;; jww (1999-09-17): The code below will allow Eshell to send input
diff --git a/lisp/eshell/em-tramp.el b/lisp/eshell/em-tramp.el
index 01f7038e46..a2201ce86c 100644
--- a/lisp/eshell/em-tramp.el
+++ b/lisp/eshell/em-tramp.el
@@ -80,8 +80,8 @@ eshell/su
 	      (dolist (arg args)
 		(if (string-equal arg "-") (setq login t) (setq user arg)))
 	      ;; `eshell-eval-using-options' does not handle "-".
-	      (if (member "-" orig-args) (setq login t))
-	      (if login (setq dir "~/"))
+	      (when (member "-" orig-args) (setq login t))
+	      (when login (setq dir "~/"))
 	      (if (and prefix
 		       (or
 			(not (string-equal
diff --git a/lisp/eshell/em-unix.el b/lisp/eshell/em-unix.el
index fbd3cfbb6f..567ce097d8 100644
--- a/lisp/eshell/em-unix.el
+++ b/lisp/eshell/em-unix.el
@@ -199,14 +199,14 @@ eshell-remove-entries
   (while files
     (if (string-match "\\`\\.\\.?\\'"
 		      (file-name-nondirectory (car files)))
-	(if toplevel
-	    (eshell-error "rm: cannot remove `.' or `..'\n"))
+	(when toplevel
+	  (eshell-error "rm: cannot remove `.' or `..'\n"))
       (if (and (file-directory-p (car files))
 	       (not (file-symlink-p (car files))))
 	  (progn
-	    (if em-verbose
-		(eshell-printn (format-message "rm: removing directory `%s'"
-					       (car files))))
+	    (when em-verbose
+	      (eshell-printn (format-message "rm: removing directory `%s'"
+					     (car files))))
 	    (unless
 		(or em-preview
 		    (and em-interactive
@@ -214,9 +214,9 @@ eshell-remove-entries
 			       (format-message "rm: remove directory `%s'? "
 					       (car files))))))
 	      (eshell-funcalln 'delete-directory (car files) t t)))
-	(if em-verbose
-	    (eshell-printn (format-message "rm: removing file `%s'"
-					   (car files))))
+	(when em-verbose
+	  (eshell-printn (format-message "rm: removing file `%s'"
+					 (car files))))
 	(unless (or em-preview
 		    (and em-interactive
 			 (not (y-or-n-p
@@ -248,8 +248,8 @@ eshell/rm
 Remove (unlink) the FILE(s).")
    (unless em-interactive
      (setq em-interactive eshell-rm-interactive-query))
-   (if (and force-removal em-interactive)
-       (setq em-interactive nil))
+   (when (and force-removal em-interactive)
+     (setq em-interactive nil))
    (while args
      (let ((entry (if (stringp (car args))
 		      (directory-file-name (car args))
@@ -258,8 +258,8 @@ eshell/rm
 		      (car args)))))
        (cond
 	((bufferp entry)
-	 (if em-verbose
-	     (eshell-printn (format-message "rm: removing buffer `%s'" entry)))
+	 (when em-verbose
+	   (eshell-printn (format-message "rm: removing buffer `%s'" entry)))
 	 (unless (or em-preview
 		     (and em-interactive
 			  (not (y-or-n-p (format-message
@@ -267,8 +267,8 @@ eshell/rm
 					  entry)))))
 	   (eshell-funcalln 'kill-buffer entry)))
 	((eshell-processp entry)
-	 (if em-verbose
-	     (eshell-printn (format-message "rm: killing process `%s'" entry)))
+	 (when em-verbose
+	   (eshell-printn (format-message "rm: killing process `%s'" entry)))
 	 (unless (or em-preview
 		     (and em-interactive
 			  (not (y-or-n-p (format-message
@@ -276,9 +276,9 @@ eshell/rm
 					  entry)))))
 	   (eshell-funcalln 'kill-process entry)))
 	((symbolp entry)
-	 (if em-verbose
-	     (eshell-printn (format-message
-			     "rm: uninterning symbol `%s'" entry)))
+	 (when em-verbose
+	   (eshell-printn (format-message
+			   "rm: uninterning symbol `%s'" entry)))
 	 (unless
 	     (or em-preview
 		 (and em-interactive
@@ -294,11 +294,11 @@ eshell/rm
 		    (not (file-symlink-p entry)))
 	       (if (or em-recursive
 		       eshell-rm-removes-directories)
-		   (if (or em-preview
-			   (not em-interactive)
-			   (y-or-n-p
-			    (format-message "rm: descend into directory `%s'? "
-					    entry)))
+		   (when (or em-preview
+			     (not em-interactive)
+			     (y-or-n-p
+			      (format-message "rm: descend into directory `%s'? "
+					      entry)))
 		     (eshell-remove-entries (list entry) t))
 		 (eshell-error (format "rm: %s: is a directory\n" entry)))
 	     (eshell-remove-entries (list entry) t))))))
@@ -353,18 +353,18 @@ eshell-shuffle-files
 	(is-dir (or (file-directory-p target)
 		    (and em-preview (not eshell-warn-dot-directories))))
 	attr)
-    (if (and (not em-preview) (not is-dir)
-	     (> (length files) 1))
-	(error "%s: when %s multiple files, last argument must be a directory"
-	       command action))
+    (when (and (not em-preview) (not is-dir)
+	       (> (length files) 1))
+      (error "%s: when %s multiple files, last argument must be a directory"
+	     command action))
     (while files
       (setcar files (directory-file-name (car files)))
       (cond
        ((string-match "\\`\\.\\.?\\'"
 		      (file-name-nondirectory (car files)))
-	(if eshell-warn-dot-directories
-	    (eshell-error (format "%s: %s: omitting directory\n"
-				  command (car files)))))
+	(when eshell-warn-dot-directories
+	  (eshell-error (format "%s: %s: omitting directory\n"
+				command (car files)))))
        ((and attr-target
 	     (or (not (eshell-under-windows-p))
 		 (eq system-type 'ms-dos))
@@ -410,10 +410,10 @@ eshell-shuffle-files
 				      (expand-file-name target)))))))
 		      (apply 'eshell-funcalln func source target args)
 		  (unless (file-directory-p target)
-		    (if em-verbose
-			(eshell-printn
-			 (format "%s: making directory %s"
-				 command target)))
+		    (when em-verbose
+		      (eshell-printn
+		       (format "%s: making directory %s"
+			       command target)))
 		    (unless em-preview
 		      (eshell-funcalln 'make-directory target)))
 		  (apply 'eshell-shuffle-files
@@ -425,15 +425,15 @@ eshell-shuffle-files
 			  (directory-files source))
 			 target func t args)
 		  (when (eq func 'rename-file)
-		    (if em-verbose
-			(eshell-printn
-			 (format "%s: deleting directory %s"
-				 command source)))
+		    (when em-verbose
+		      (eshell-printn
+		       (format "%s: deleting directory %s"
+			       command source)))
 		    (unless em-preview
 		      (eshell-funcalln 'delete-directory source))))))
-	    (if em-verbose
-		(eshell-printn (format "%s: %s -> %s" command
-				       source target)))
+	    (when em-verbose
+	      (eshell-printn (format "%s: %s -> %s" command
+				     source target)))
 	    (unless em-preview
 	      (if (and no-dereference
 		       (setq link (file-symlink-p source)))
@@ -459,10 +459,10 @@ eshell-shorthand-tar-command
     (if (file-exists-p archive)
 	(setq tar-args (concat "u" tar-args))
       (setq tar-args (concat "c" tar-args)))
-    (if em-verbose
-	(setq tar-args (concat "v" tar-args)))
-    (if (equal command "mv")
-	(setq tar-args (concat "--remove-files -" tar-args)))
+    (when em-verbose
+      (setq tar-args (concat "v" tar-args)))
+    (when (equal command "mv")
+      (setq tar-args (concat "--remove-files -" tar-args)))
     ;; truncate the archive name from the arguments
     (setcdr (last args 2) nil)
     (throw 'eshell-replace-command
@@ -473,11 +473,11 @@ eshell-shorthand-tar-command
 (defmacro eshell-mvcpln-template (command action func query-var
 					  force-var &optional preserve)
   `(let ((len (length args)))
-     (if (or (= len 0)
-	     (and (= len 1) (null eshell-default-target-is-dot)))
-	 (error "%s: missing destination file or directory" ,command))
-     (if (= len 1)
-	 (nconc args '(".")))
+     (when (or (= len 0)
+	       (and (= len 1) (null eshell-default-target-is-dot)))
+       (error "%s: missing destination file or directory" ,command))
+     (when (= len 1)
+       (nconc args '(".")))
      (setq args (eshell-stringify-list (flatten-tree args)))
      (if (and ,(not (equal command "ln"))
 	      (string-match eshell-tar-regexp (car (last args)))
@@ -495,8 +495,8 @@ eshell-mvcpln-template
 			    ,query-var)
 			(not force))
 		   1 (or force ,force-var)))
-	     (if preserve
-		 (list preserve)))))
+	     (when preserve
+	       (list preserve)))))
        nil)))
 
 (defun eshell/mv (&rest args)
@@ -556,8 +556,8 @@ eshell/cp
      :usage "[OPTION]... SOURCE DEST
    or:  cp [OPTION]... SOURCE... DIRECTORY
 Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.")
-   (if archive
-       (setq preserve t no-dereference t em-recursive t))
+   (when archive
+     (setq preserve t no-dereference t em-recursive t))
    (eshell-mvcpln-template "cp" "copying" 'copy-file
 			   eshell-cp-interactive-query
 			   eshell-cp-overwrite-files preserve)))
@@ -630,9 +630,9 @@ eshell/cat
        :usage "[OPTION] FILE...
 Concatenate FILE(s), or standard input, to standard output.")
      (dolist (file args)
-       (if (string= file "-")
-	   (throw 'eshell-external
-		  (eshell-external-command "cat" args))))
+       (when (string= file "-")
+	 (throw 'eshell-external
+		(eshell-external-command "cat" args))))
      (let ((curbuf (current-buffer)))
        (dolist (file args)
 	 (with-temp-buffer
@@ -705,19 +705,19 @@ eshell-poor-mans-grep
 		(inhibit-redisplay t)
 		string)
 	    (when (car args)
-	      (if (get-buffer "*Occur*")
-		  (kill-buffer (get-buffer "*Occur*")))
+	      (when (get-buffer "*Occur*")
+		(kill-buffer (get-buffer "*Occur*")))
 	      (setq string nil)
 	      (while files
 		(with-current-buffer (find-file-noselect (car files))
 		  (save-excursion
 		    (ignore-errors
 		      (occur (car args))))
-		  (if (get-buffer "*Occur*")
-		      (with-current-buffer (get-buffer "*Occur*")
-			(setq string (buffer-string))
-			(kill-buffer (current-buffer)))))
-		(if string (insert string))
+		  (when (get-buffer "*Occur*")
+		    (with-current-buffer (get-buffer "*Occur*")
+		      (setq string (buffer-string))
+		      (kill-buffer (current-buffer)))))
+		(when string (insert string))
 		(setq string nil
 		      files (cdr files)))))
 	  (local-set-key [mouse-2] 'eshell-occur-mode-mouse-goto)
@@ -831,8 +831,8 @@ show-all
 (defsubst eshell-du-size-string (size)
   (let* ((str (eshell-printable-size size human-readable block-size t))
 	 (len (length str)))
-    (concat str (if (< len 8)
-		    (make-string (- 8 len) ? )))))
+    (concat str (when (< len 8)
+		  (make-string (- 8 len) ? )))))
 
 (defun eshell-du-sum-directory (path depth)
   "Summarize PATH, and its member directories."
@@ -848,8 +848,8 @@ eshell-du-sum-directory
 		      (and only-one-filesystem
 			   (/= only-one-filesystem
 			       (file-attribute-device-number (cdar entries)))))
-	    (if symlink
-		(setq entry symlink))
+	    (when symlink
+	      (setq entry symlink))
 	    (setq size
 		  (+ size
 		     (if (eq t (car (cdar entries)))
@@ -857,16 +857,16 @@ eshell-du-sum-directory
 		       (let ((file-size (file-attribute-size (cdar entries))))
 			 (prog1
 			     file-size
-			   (if show-all
-			       (eshell-print
-				(concat (eshell-du-size-string file-size)
-					entry "\n")))))))))))
+			   (when show-all
+			     (eshell-print
+			      (concat (eshell-du-size-string file-size)
+				      entry "\n")))))))))))
       (setq entries (cdr entries)))
-    (if (or (not max-depth)
-	    (= depth max-depth)
-	    (= depth 0))
-	(eshell-print (concat (eshell-du-size-string size)
-			      (directory-file-name path) "\n")))
+    (when (or (not max-depth)
+	      (= depth max-depth)
+	      (= depth 0))
+      (eshell-print (concat (eshell-du-size-string size)
+			    (directory-file-name path) "\n")))
     size))
 
 (defun eshell/du (&rest args)
@@ -878,9 +878,9 @@ eshell/du
     (if (and ext-du
 	     (not (catch 'have-ange-path
 		    (dolist (arg args)
-		      (if (string-equal
-			   (file-remote-p (expand-file-name arg) 'method) "ftp")
-			  (throw 'have-ange-path t))))))
+		      (when (string-equal
+			     (file-remote-p (expand-file-name arg) 'method) "ftp")
+			(throw 'have-ange-path t))))))
 	(throw 'eshell-replace-command
 	       (eshell-parse-command (eshell-quote-argument ext-du) args))
       (eshell-eval-using-options
@@ -916,23 +916,23 @@ eshell/du
 Summarize disk usage of each FILE, recursively for directories.")
        (unless by-bytes
 	 (setq block-size (or block-size 1024)))
-       (if (and max-depth (stringp max-depth))
-	   (setq max-depth (string-to-number max-depth)))
+       (when (and max-depth (stringp max-depth))
+	 (setq max-depth (string-to-number max-depth)))
        ;; filesystem support means nothing under Windows
-       (if (eshell-under-windows-p)
-	   (setq only-one-filesystem nil))
+       (when (eshell-under-windows-p)
+	 (setq only-one-filesystem nil))
        (let ((size 0.0))
 	 (while args
-	   (if only-one-filesystem
-	       (setq only-one-filesystem
-		     (file-attribute-device-number (eshell-file-attributes
-			      (file-name-as-directory (car args))))))
+	   (when only-one-filesystem
+	     (setq only-one-filesystem
+		   (file-attribute-device-number (eshell-file-attributes
+			                          (file-name-as-directory (car args))))))
 	   (setq size (+ size (eshell-du-sum-directory
 			       (directory-file-name (car args)) 0)))
 	   (setq args (cdr args)))
-	 (if grand-total
-	     (eshell-print (concat (eshell-du-size-string size)
-				   "total\n"))))))))
+	 (when grand-total
+	   (eshell-print (concat (eshell-du-size-string size)
+				 "total\n"))))))))
 
 (put 'eshell/du 'eshell-filename-arguments t)
 
@@ -984,8 +984,8 @@ eshell-diff-window-config
 (defun eshell-diff-quit ()
   "Restore the window configuration previous to diff'ing."
   (interactive)
-  (if eshell-diff-window-config
-      (set-window-configuration eshell-diff-window-config)))
+  (when eshell-diff-window-config
+    (set-window-configuration eshell-diff-window-config)))
 
 (defun nil-blank-string (string)
   "Return STRING, or nil if STRING contains only non-blank characters."
@@ -1005,9 +1005,9 @@ eshell/diff
 	(throw 'eshell-replace-command
 	       (eshell-parse-command "*diff" orig-args))
       (setq args (copy-sequence orig-args))
-      (if (< (length args) 2)
-	  (throw 'eshell-replace-command
-		 (eshell-parse-command "*diff" orig-args)))
+      (when (< (length args) 2)
+	(throw 'eshell-replace-command
+	       (eshell-parse-command "*diff" orig-args)))
       (let ((old (car (last args 2)))
 	    (new (car (last args)))
 	    (config (current-window-configuration)))
@@ -1032,8 +1032,8 @@ eshell/diff
 		  (set (make-local-variable 'eshell-diff-window-config)
 		       ,config)
 		  (local-set-key [?q] 'eshell-diff-quit)
-		  (if (fboundp 'turn-on-font-lock-if-enabled)
-		      (turn-on-font-lock-if-enabled))
+		  (when (fboundp 'turn-on-font-lock-if-enabled)
+		    (turn-on-font-lock-if-enabled))
 		  (goto-char (point-min))))))
 	  (pop-to-buffer (current-buffer))))))
   nil)
diff --git a/lisp/eshell/esh-arg.el b/lisp/eshell/esh-arg.el
index e7b07b4208..190ffd3a31 100644
--- a/lisp/eshell/esh-arg.el
+++ b/lisp/eshell/esh-arg.el
@@ -93,8 +93,8 @@ eshell-parse-argument-hook
 		 (eshell-arg-delimiter (match-end 0)))
 	(goto-char (match-end 0))
 	(let ((str (match-string 0)))
-	  (if (> (length str) 0)
-	      (add-text-properties 0 (length str) '(number t) str))
+	  (when (> (length str) 0)
+	    (add-text-properties 0 (length str) '(number t) str))
 	  str))))
 
    ;; parse any non-special characters, based on the current context
@@ -113,8 +113,8 @@ eshell-parse-argument-hook
 			  eshell-outside-quote-regexp))
 	(goto-char (match-end 0))
 	(let ((str (match-string 0)))
-	  (if str
-	      (set-text-properties 0 (length str) nil str))
+	  (when str
+	    (set-text-properties 0 (length str) nil str))
 	  str))))
 
    ;; whitespace or a comment is an argument delimiter
@@ -125,9 +125,9 @@ eshell-parse-argument-hook
 		  (and (not eshell-current-argument)
 		       (looking-at "#\\([^<'].*\\|$\\)")
 		       (setq comment-p t)))
-	  (if comment-p
-	      (add-text-properties (match-beginning 0) (match-end 0)
-				   '(comment t)))
+	  (when comment-p
+	    (add-text-properties (match-beginning 0) (match-end 0)
+				 '(comment t)))
 	  (goto-char (match-end 0))
 	  (eshell-finish-arg)))))
 
@@ -181,8 +181,8 @@ eshell-insert-buffer-name
 
 (defsubst eshell-escape-arg (string)
   "Return STRING with the `escaped' property on it."
-  (if (stringp string)
-      (add-text-properties 0 (length string) '(escaped t) string))
+  (when (stringp string)
+    (add-text-properties 0 (length string) '(escaped t) string))
   string)
 
 (defun eshell-resolve-current-argument ()
@@ -207,8 +207,8 @@ eshell-resolve-current-argument
 
 (defun eshell-finish-arg (&optional argument)
   "Finish the current argument being processed."
-  (if argument
-      (setq eshell-current-argument argument))
+  (when argument
+    (setq eshell-current-argument argument))
   (throw 'eshell-arg-done t))
 
 (defun eshell-quote-argument (string)
@@ -239,19 +239,19 @@ eshell-parse-arguments
         (with-silent-modifications
           (remove-text-properties (point-min) (point-max)
                                   '(arg-begin nil arg-end nil))
-          (if (setq
-               delim
-               (catch 'eshell-incomplete
-                 (while (not (eobp))
-                   (let* ((here (point))
-                          (arg (eshell-parse-argument)))
-                     (if (= (point) here)
+          (when (setq
+                 delim
+                 (catch 'eshell-incomplete
+                   (while (not (eobp))
+                     (let* ((here (point))
+                            (arg (eshell-parse-argument)))
+                       (when (= (point) here)
                          (error "Failed to parse argument `%s'"
                                 (buffer-substring here (point-max))))
-                     (and arg (nconc args (list arg)))))))
-              (throw 'eshell-incomplete (if (listp delim)
-                                            delim
-                                          (list delim (point) (cdr args)))))
+                       (and arg (nconc args (list arg)))))))
+            (throw 'eshell-incomplete (if (listp delim)
+                                          delim
+                                        (list delim (point) (cdr args)))))
           (cdr args))))))
 
 (defun eshell-parse-argument ()
@@ -304,8 +304,8 @@ eshell-quote-backslash
   (let ((char (aref string index)))
     (if (eq char ?\\)
 	(char-to-string char)
-      (if (memq char eshell-special-chars-outside-quoting)
-	  (string ?\\ char)))))
+      (when (memq char eshell-special-chars-outside-quoting)
+	(string ?\\ char)))))
 
 (defun eshell-parse-backslash ()
   "Parse a single backslash (\\) character and the character after.
@@ -332,15 +332,15 @@ eshell-parse-backslash
 
 (defun eshell-parse-literal-quote ()
   "Parse a literally quoted string.  Nothing has special meaning!"
-  (if (eq (char-after) ?\')
-      (let ((end (eshell-find-delimiter ?\' ?\')))
-	(if (not end)
-	    (throw 'eshell-incomplete ?\')
-	  (let ((string (buffer-substring-no-properties (1+ (point)) end)))
-	    (goto-char (1+ end))
-	    (while (string-match "''" string)
-	      (setq string (replace-match "'" t t string)))
-	    (list 'eshell-escape-arg string))))))
+  (when (eq (char-after) ?\')
+    (let ((end (eshell-find-delimiter ?\' ?\')))
+      (if (not end)
+	  (throw 'eshell-incomplete ?\')
+	(let ((string (buffer-substring-no-properties (1+ (point)) end)))
+	  (goto-char (1+ end))
+	  (while (string-match "''" string)
+	    (setq string (replace-match "'" t t string)))
+	  (list 'eshell-escape-arg string))))))
 
 (defun eshell-parse-double-quote ()
   "Parse a double quoted string, which allows for variable interpolation."
diff --git a/lisp/eshell/esh-cmd.el b/lisp/eshell/esh-cmd.el
index e0348ba501..88dd6d768a 100644
--- a/lisp/eshell/esh-cmd.el
+++ b/lisp/eshell/esh-cmd.el
@@ -370,8 +370,8 @@ eshell-parse-command
 	   (eshell-separate-commands terms "[&;]" nil 'eshell--sep-terms))))
     (let ((cmd commands))
       (while cmd
-	(if (cdr cmd)
-	    (setcar cmd `(eshell-commands ,(car cmd))))
+	(when (cdr cmd)
+	  (setcar cmd `(eshell-commands ,(car cmd))))
 	(setq cmd (cdr cmd))))
     (if toplevel
 	`(eshell-commands (progn
@@ -394,38 +394,38 @@ eshell-debug-command
 (defun eshell-debug-show-parsed-args (terms)
   "Display parsed arguments in the debug buffer."
   (ignore
-   (if eshell-debug-command
-       (eshell-debug-command "parsed arguments" terms))))
+   (when eshell-debug-command
+     (eshell-debug-command "parsed arguments" terms))))
 
 (defun eshell-no-command-conversion (terms)
   "Don't convert the command argument."
   (ignore
-   (if (and (listp (car terms))
-	    (eq (caar terms) 'eshell-convert))
-       (setcar terms (cadr (car terms))))))
+   (when (and (listp (car terms))
+	      (eq (caar terms) 'eshell-convert))
+     (setcar terms (cadr (car terms))))))
 
 (defun eshell-subcommand-arg-values (terms)
   "Convert subcommand arguments {x} to ${x}, in order to take their values."
   (setq terms (cdr terms))		; skip command argument
   (while terms
-    (if (and (listp (car terms))
-	     (eq (caar terms) 'eshell-as-subcommand))
-	(setcar terms `(eshell-convert
-                        (eshell-command-to-value ,(car terms)))))
+    (when (and (listp (car terms))
+	       (eq (caar terms) 'eshell-as-subcommand))
+      (setcar terms `(eshell-convert
+                      (eshell-command-to-value ,(car terms)))))
     (setq terms (cdr terms))))
 
 (defun eshell-rewrite-sexp-command (terms)
   "Rewrite a sexp in initial position, such as `(+ 1 2)'."
   ;; this occurs when a Lisp expression is in first position
-  (if (and (listp (car terms))
-	   (eq (caar terms) 'eshell-command-to-value))
-      (car (cdar terms))))
+  (when (and (listp (car terms))
+	     (eq (caar terms) 'eshell-command-to-value))
+    (car (cdar terms))))
 
 (defun eshell-rewrite-initial-subcommand (terms)
   "Rewrite a subcommand in initial position, such as `{+ 1 2}'."
-  (if (and (listp (car terms))
-	   (eq (caar terms) 'eshell-as-subcommand))
-      (car terms)))
+  (when (and (listp (car terms))
+	     (eq (caar terms) 'eshell-as-subcommand))
+    (car terms)))
 
 (defun eshell-rewrite-named-command (terms)
   "If no other rewriting rule transforms TERMS, assume a named command."
@@ -473,32 +473,32 @@ eshell-rewrite-for-command
 Because the implementation of `for' relies upon conditional evaluation
 of its argument (i.e., use of a Lisp special form), it must be
 implemented via rewriting, rather than as a function."
-  (if (and (equal (car terms) "for")
-	   (equal (nth 2 terms) "in"))
-      (let ((body (car (last terms))))
-	(setcdr (last terms 2) nil)
-	`(let ((for-items
-		(copy-tree
-		 (append
-		  ,@(mapcar
-		     (lambda (elem)
-		       (if (listp elem)
-			   elem
-			 `(list ,elem)))
-		     (cdr (cddr terms))))))
-	       (eshell-command-body '(nil))
-               (eshell-test-body '(nil)))
-	   (while (car for-items)
-	     (let ((,(intern (cadr terms)) (car for-items))
-		   (eshell--local-vars (cons ',(intern (cadr terms))
-					    eshell--local-vars)))
-	       (eshell-protect
-	   	,(eshell-invokify-arg body t)))
-	     (setcar for-items (cadr for-items))
-	     (setcdr for-items (cddr for-items)))
-           (eshell-close-handles
-            eshell-last-command-status
-            (list 'quote eshell-last-command-result))))))
+  (when (and (equal (car terms) "for")
+	     (equal (nth 2 terms) "in"))
+    (let ((body (car (last terms))))
+      (setcdr (last terms 2) nil)
+      `(let ((for-items
+	      (copy-tree
+	       (append
+		,@(mapcar
+		   (lambda (elem)
+		     (if (listp elem)
+			 elem
+		       `(list ,elem)))
+		   (cdr (cddr terms))))))
+	     (eshell-command-body '(nil))
+             (eshell-test-body '(nil)))
+	 (while (car for-items)
+	   (let ((,(intern (cadr terms)) (car for-items))
+		 (eshell--local-vars (cons ',(intern (cadr terms))
+					   eshell--local-vars)))
+	     (eshell-protect
+	      ,(eshell-invokify-arg body t)))
+	   (setcar for-items (cadr for-items))
+	   (setcdr for-items (cddr for-items)))
+         (eshell-close-handles
+          eshell-last-command-status
+          (list 'quote eshell-last-command-result))))))
 
 (defun eshell-structure-basic-command (func names keyword test body
 					    &optional else)
@@ -519,10 +519,10 @@ eshell-structure-basic-command
   ;; Otherwise, it can be a pair of strings; if the keyword
   ;; we're using matches the second member of that pair (a
   ;; list), we should reverse it.
-  (if (or (eq names nil)
-	  (and (listp names)
-	       (string= keyword (cadr names))))
-      (setq test `(not ,test)))
+  (when (or (eq names nil)
+	    (and (listp names)
+	         (string= keyword (cadr names))))
+    (setq test `(not ,test)))
 
   ;; finally, create the form that represents this structured
   ;; command
@@ -538,30 +538,30 @@ eshell-rewrite-while-command
 Because the implementation of `while' relies upon conditional
 evaluation of its argument (i.e., use of a Lisp special form), it
 must be implemented via rewriting, rather than as a function."
-  (if (and (stringp (car terms))
-	   (member (car terms) '("while" "until")))
-      (eshell-structure-basic-command
-       'while '("while" "until") (car terms)
-       (eshell-invokify-arg (cadr terms) nil t)
-       `(eshell-protect
-         ,(eshell-invokify-arg (car (last terms)) t)))))
+  (when (and (stringp (car terms))
+	     (member (car terms) '("while" "until")))
+    (eshell-structure-basic-command
+     'while '("while" "until") (car terms)
+     (eshell-invokify-arg (cadr terms) nil t)
+     `(eshell-protect
+       ,(eshell-invokify-arg (car (last terms)) t)))))
 
 (defun eshell-rewrite-if-command (terms)
   "Rewrite an `if' command into its equivalent Eshell command form.
 Because the implementation of `if' relies upon conditional
 evaluation of its argument (i.e., use of a Lisp special form), it
 must be implemented via rewriting, rather than as a function."
-  (if (and (stringp (car terms))
-	   (member (car terms) '("if" "unless")))
-      (eshell-structure-basic-command
-       'if '("if" "unless") (car terms)
-       (eshell-invokify-arg (cadr terms) nil t)
-       `(eshell-protect
-         ,(eshell-invokify-arg (car (last terms (if (= (length terms) 4) 2)))
-                               t))
-       (if (= (length terms) 4)
-	   `(eshell-protect
-             ,(eshell-invokify-arg (car (last terms)))) t))))
+  (when (and (stringp (car terms))
+	     (member (car terms) '("if" "unless")))
+    (eshell-structure-basic-command
+     'if '("if" "unless") (car terms)
+     (eshell-invokify-arg (cadr terms) nil t)
+     `(eshell-protect
+       ,(eshell-invokify-arg (car (last terms (when (= (length terms) 4) 2)))
+                             t))
+     (if (= (length terms) 4)
+	 `(eshell-protect
+           ,(eshell-invokify-arg (car (last terms)))) t))))
 
 (defvar eshell-last-command-result)     ;Defined in esh-io.el.
 
@@ -621,35 +621,35 @@ eshell-parse-pipeline
 
 (defun eshell-parse-subcommand-argument ()
   "Parse a subcommand argument of the form `{command}'."
-  (if (and (not eshell-current-argument)
-	   (not eshell-current-quoted)
-	   (eq (char-after) ?\{)
-	   (or (= (point-max) (1+ (point)))
-	       (not (eq (char-after (1+ (point))) ?\}))))
-      (let ((end (eshell-find-delimiter ?\{ ?\})))
-	(if (not end)
-	    (throw 'eshell-incomplete ?\{)
-	  (when (eshell-arg-delimiter (1+ end))
-	    (prog1
-		`(eshell-as-subcommand
-                  ,(eshell-parse-command (cons (1+ (point)) end)))
-	      (goto-char (1+ end))))))))
+  (when (and (not eshell-current-argument)
+	     (not eshell-current-quoted)
+	     (eq (char-after) ?\{)
+	     (or (= (point-max) (1+ (point)))
+	         (not (eq (char-after (1+ (point))) ?\}))))
+    (let ((end (eshell-find-delimiter ?\{ ?\})))
+      (if (not end)
+	  (throw 'eshell-incomplete ?\{)
+	(when (eshell-arg-delimiter (1+ end))
+	  (prog1
+	      `(eshell-as-subcommand
+                ,(eshell-parse-command (cons (1+ (point)) end)))
+	    (goto-char (1+ end))))))))
 
 (defun eshell-parse-lisp-argument ()
   "Parse a Lisp expression which is specified as an argument."
-  (if (and (not eshell-current-argument)
-	   (not eshell-current-quoted)
-	   (looking-at eshell-lisp-regexp))
-      (let* ((here (point))
-	     (obj
-	      (condition-case nil
-		  (read (current-buffer))
-		(end-of-file
-		 (throw 'eshell-incomplete ?\()))))
-	(if (eshell-arg-delimiter)
-	    `(eshell-command-to-value
-              (eshell-lisp-command (quote ,obj)))
-	  (ignore (goto-char here))))))
+  (when (and (not eshell-current-argument)
+	     (not eshell-current-quoted)
+	     (looking-at eshell-lisp-regexp))
+    (let* ((here (point))
+	   (obj
+	    (condition-case nil
+		(read (current-buffer))
+	      (end-of-file
+	       (throw 'eshell-incomplete ?\()))))
+      (if (eshell-arg-delimiter)
+	  `(eshell-command-to-value
+            (eshell-lisp-command (quote ,obj)))
+	(ignore (goto-char here))))))
 
 (defun eshell-separate-commands (terms separator &optional
 				       reversed last-terms-sym)
@@ -672,15 +672,15 @@ eshell-separate-commands
 		  sub-terms (list t)))
 	(nconc sub-terms (list (car terms))))
       (setq terms (cdr terms)))
-    (if (> (length sub-terms) 1)
-	(setq subchains (cons (cdr sub-terms) subchains)))
+    (when (> (length sub-terms) 1)
+      (setq subchains (cons (cdr sub-terms) subchains)))
     (if reversed
 	(progn
-	  (if last-terms-sym
-	      (set last-terms-sym (reverse (cdr eshell-sep-terms))))
+	  (when last-terms-sym
+	    (set last-terms-sym (reverse (cdr eshell-sep-terms))))
 	  subchains)                    ; already reversed
-      (if last-terms-sym
-	  (set last-terms-sym (cdr eshell-sep-terms)))
+      (when last-terms-sym
+	(set last-terms-sym (cdr eshell-sep-terms)))
       (nreverse subchains))))
 
 ;;_* Command evaluation macros
@@ -769,8 +769,8 @@ eshell-do-pipelines
                                         'append nextproc)
               (setq tailproc (or tailproc nextproc))))
 	,(let ((head (car pipeline)))
-	   (if (memq (car head) '(let progn))
-	       (setq head (car (last head))))
+	   (when (memq (car head) '(let progn))
+	     (setq head (car (last head))))
 	   (when (memq (car head) eshell-deferrable-commands)
 	     (ignore
 	      (setcar head
@@ -798,8 +798,8 @@ eshell-do-pipelines-synchronously
              (eshell-set-output-handle ,eshell-error-handle
                                        'append output-marker)))
        ,(let ((head (car pipeline)))
-          (if (memq (car head) '(let progn))
-              (setq head (car (last head))))
+          (when (memq (car head) '(let progn))
+            (setq head (car (last head))))
           ;; FIXME: is deferrable significant here?
           (when (memq (car head) eshell-deferrable-commands)
             (ignore
@@ -879,10 +879,10 @@ eshell/eshell-debug
   (ignore
    (cond
     ((not args)
-     (if eshell-handle-errors
-	 (eshell-print "errors\n"))
-     (if eshell-debug-command
-	 (eshell-print "commands\n")))
+     (when eshell-handle-errors
+       (eshell-print "errors\n"))
+     (when eshell-debug-command
+       (eshell-print "commands\n")))
     ((member (car args) '("-h" "--help"))
      (eshell-print "usage: eshell-debug [kinds]
 
@@ -908,17 +908,17 @@ pcomplete/eshell-mode/eshell-debug
 
 (defun eshell-invoke-directly (command)
   (let ((base (cadr (nth 2 (nth 2 (cadr command))))) name)
-    (if (and (eq (car base) 'eshell-trap-errors)
-	     (eq (car (cadr base)) 'eshell-named-command))
-	(setq name (cadr (cadr base))))
+    (when (and (eq (car base) 'eshell-trap-errors)
+	       (eq (car (cadr base)) 'eshell-named-command))
+      (setq name (cadr (cadr base))))
     (and name (stringp name)
 	 (not (member name eshell-complex-commands))
 	 (catch 'simple
 	   (progn
 	    (dolist (pred eshell-complex-commands)
-	      (if (and (functionp pred)
-		       (funcall pred name))
-		  (throw 'simple nil)))
+	      (when (and (functionp pred)
+		         (funcall pred name))
+		(throw 'simple nil)))
 	    t))
 	 (fboundp (intern-soft (concat "eshell/" name))))))
 
@@ -931,8 +931,8 @@ eshell-eval-command
 	      (list `(let ((here (and (eobp) (point))))
                        ,(and input
                              `(insert-and-inherit ,(concat input "\n")))
-                       (if here
-                           (eshell-update-markers here))
+                       (when here
+                         (eshell-update-markers here))
                        (eshell-do-eval ',command))))
     (and eshell-debug-command
          (with-current-buffer (get-buffer-create "*eshell last cmd*")
@@ -943,10 +943,10 @@ eshell-eval-command
 		   (eshell-resume-eval))))
       ;; On systems that don't support async subprocesses, eshell-resume
       ;; can return t.  Don't treat that as an error.
-      (if (listp delim)
-	  (setq delim (car delim)))
-      (if (and delim (not (eq delim t)))
-	  (error "Unmatched delimiter: %c" delim)))))
+      (when (listp delim)
+	(setq delim (car delim)))
+      (when (and delim (not (eq delim t)))
+	(error "Unmatched delimiter: %c" delim)))))
 
 (defun eshell-resume-command (proc status)
   "Resume the current command when a process ends."
@@ -954,8 +954,8 @@ eshell-resume-command
     (unless (or (not (stringp status))
 		(string= "stopped" status)
 		(string-match eshell-reset-signals status))
-      (if (eq proc (eshell-interactive-process))
-	  (eshell-resume-eval)))))
+      (when (eq proc (eshell-interactive-process))
+	(eshell-resume-eval)))))
 
 (defun eshell-resume-eval ()
   "Destructively evaluate a form which may need to be deferred."
@@ -1002,12 +1002,12 @@ eshell-do-eval
       (setq form (cadr (cadr form))))
     ;; expand any macros directly into the form.  This is done so that
     ;; we can modify any `let' forms to evaluate only once.
-    (if (macrop (car form))
-	(let ((exp (eshell-copy-tree (macroexpand form))))
-	  (eshell-manipulate (format-message "expanding macro `%s'"
-					     (symbol-name (car form)))
-	    (setcar form (car exp))
-	    (setcdr form (cdr exp)))))
+    (when (macrop (car form))
+      (let ((exp (eshell-copy-tree (macroexpand form))))
+	(eshell-manipulate (format-message "expanding macro `%s'"
+					   (symbol-name (car form)))
+	  (setcar form (car exp))
+	  (setcdr form (cdr exp)))))
     (let ((args (cdr form)))
       (cond
        ((eq (car form) 'while)
@@ -1053,19 +1053,19 @@ eshell-do-eval
 	(setcar (cdr args) (eshell-do-eval (cadr args) synchronous-p))
 	(eval form))
        ((eq (car form) 'let)
-	(if (not (eq (car (cadr args)) 'eshell-do-eval))
-	    (eshell-manipulate "evaluating let args"
-	      (dolist (letarg (car args))
-		(if (and (listp letarg)
-			 (not (eq (cadr letarg) 'quote)))
-		    (setcdr letarg
-			    (list (eshell-do-eval
-				   (cadr letarg) synchronous-p)))))))
+	(when (not (eq (car (cadr args)) 'eshell-do-eval))
+	  (eshell-manipulate "evaluating let args"
+	    (dolist (letarg (car args))
+	      (when (and (listp letarg)
+		         (not (eq (cadr letarg) 'quote)))
+		(setcdr letarg
+			(list (eshell-do-eval
+			       (cadr letarg) synchronous-p)))))))
         (cl-progv
             (mapcar (lambda (binding) (if (consp binding) (car binding) binding))
                     (car args))
             ;; These expressions should all be constants now.
-            (mapcar (lambda (binding) (if (consp binding) (eval (cadr binding))))
+            (mapcar (lambda (binding) (when (consp binding) (eval (cadr binding))))
                     (car args))
 	  (eshell-do-eval (macroexp-progn (cdr args)) synchronous-p)))
        ((memq (car form) '(catch condition-case unwind-protect))
@@ -1083,18 +1083,18 @@ eshell-do-eval
 	    (setcar args `(eshell-do-eval ',(car args) ,synchronous-p))))
 	(eval form))
        ((eq (car form) 'setq)
-	(if (cddr args) (error "Unsupported form (setq X1 E1 X2 E2..)"))
+	(when (cddr args) (error "Unsupported form (setq X1 E1 X2 E2..)"))
         (eshell-manipulate "evaluating arguments to setq"
           (setcar (cdr args) (eshell-do-eval (cadr args) synchronous-p)))
 	(list 'quote (eval form)))
        (t
-	(if (and args (not (memq (car form) '(run-hooks))))
-	    (eshell-manipulate
-		(format-message "evaluating arguments to `%s'"
-				(symbol-name (car form)))
-	      (while args
-		(setcar args (eshell-do-eval (car args) synchronous-p))
-		(setq args (cdr args)))))
+	(when (and args (not (memq (car form) '(run-hooks))))
+	  (eshell-manipulate
+	      (format-message "evaluating arguments to `%s'"
+			      (symbol-name (car form)))
+	    (while args
+	      (setcar args (eshell-do-eval (car args) synchronous-p))
+	      (setq args (cdr args)))))
 	(cond
 	 ((eq (car form) 'progn)
 	  (car (last form)))
@@ -1154,16 +1154,16 @@ eshell/which
   "Identify the COMMAND, and where it is located."
   (dolist (name (cons command names))
     (let (program alias direct)
-      (if (eq (aref name 0) eshell-explicit-command-char)
-	  (setq name (substring name 1)
-		direct t))
-      (if (and (not direct)
-	       (fboundp 'eshell-lookup-alias)
-	       (setq alias
-		     (eshell-lookup-alias name)))
-	  (setq program
-		(concat name " is an alias, defined as \""
-			(cadr alias) "\"")))
+      (when (eq (aref name 0) eshell-explicit-command-char)
+	(setq name (substring name 1)
+	      direct t))
+      (when (and (not direct)
+	         (fboundp 'eshell-lookup-alias)
+	         (setq alias
+		       (eshell-lookup-alias name)))
+	(setq program
+	      (concat name " is an alias, defined as \""
+		      (cadr alias) "\"")))
       (unless program
         (setq program
               (let* ((esym (eshell-find-alias-function name))
@@ -1190,12 +1190,12 @@ eshell-named-command
 	eshell-last-command-name (eshell-stringify command))
   (run-hook-with-args 'eshell-prepare-command-hook)
   (cl-assert (stringp eshell-last-command-name))
-  (if eshell-last-command-name
-      (or (run-hook-with-args-until-success
-	   'eshell-named-command-hook eshell-last-command-name
-	   eshell-last-arguments)
-	  (eshell-plain-command eshell-last-command-name
-				eshell-last-arguments))))
+  (when eshell-last-command-name
+    (or (run-hook-with-args-until-success
+	 'eshell-named-command-hook eshell-last-command-name
+	 eshell-last-arguments)
+	(eshell-plain-command eshell-last-command-name
+			      eshell-last-arguments))))
 
 (defalias 'eshell-named-command* 'eshell-named-command)
 
@@ -1210,14 +1210,14 @@ eshell-find-alias-function
 	     (string-match "\\`\\(em\\|esh\\)-\\([[:alnum:]]+\\)\\'" file))
 	(let ((module-sym
 	       (intern (concat "eshell-" (match-string 2 file)))))
-	  (if (and (functionp sym)
-		   (or (null module-sym)
-		       (eshell-using-module module-sym)
-		       (memq module-sym (eshell-subgroups 'eshell))))
-	      sym))
+	  (when (and (functionp sym)
+		     (or (null module-sym)
+		         (eshell-using-module module-sym)
+		         (memq module-sym (eshell-subgroups 'eshell))))
+	    sym))
       ;; Otherwise, if it's bound, return it.
-      (if (functionp sym)
-	  sym))))
+      (when (functionp sym)
+	sym))))
 
 (defun eshell-plain-command (command args)
   "Insert output from a plain COMMAND, using ARGS.
@@ -1247,11 +1247,11 @@ eshell-exec-lisp
     (error
      (setq eshell-last-command-status 1)
      (let ((msg (error-message-string err)))
-       (if (and (not form-p)
-                (string-match "^Wrong number of arguments" msg)
-                (fboundp 'eldoc-get-fnsym-args-string))
-           (let ((func-doc (eldoc-get-fnsym-args-string func-or-form)))
-             (setq msg (format "usage: %s" func-doc))))
+       (when (and (not form-p)
+                  (string-match "^Wrong number of arguments" msg)
+                  (fboundp 'eldoc-get-fnsym-args-string))
+         (let ((func-doc (eldoc-get-fnsym-args-string func-or-form)))
+           (setq msg (format "usage: %s" func-doc))))
        (funcall errprint msg))
      nil)))
 
@@ -1333,11 +1333,11 @@ eshell-lisp-command
               (setq eshell-last-arguments args
                     eshell-last-command-name "#<Lisp object>")
               (eshell-eval object))))
-      (if (and eshell-ensure-newline-p
-	       (save-excursion
-		 (goto-char eshell-last-output-end)
-		 (not (bolp))))
-	  (eshell-print "\n"))
+      (when (and eshell-ensure-newline-p
+	         (save-excursion
+		   (goto-char eshell-last-output-end)
+		   (not (bolp))))
+	(eshell-print "\n"))
       (eshell-close-handles 0 (list 'quote result)))))
 
 (defalias 'eshell-lisp-command* #'eshell-lisp-command)
diff --git a/lisp/eshell/esh-ext.el b/lisp/eshell/esh-ext.el
index c88d3c9f59..7fbdefbb23 100644
--- a/lisp/eshell/esh-ext.el
+++ b/lisp/eshell/esh-ext.el
@@ -81,11 +81,11 @@ eshell-search-path
 	(setq suffixes eshell-binary-suffixes)
 	(while suffixes
 	  (setq n2 (concat n1 (car suffixes)))
-	  (if (and (or (file-executable-p n2)
-		       (and eshell-force-execution
-			    (file-readable-p n2)))
-		   (not (file-directory-p n2)))
-	      (setq file n2 suffixes nil list nil))
+	  (when (and (or (file-executable-p n2)
+		         (and eshell-force-execution
+			      (file-readable-p n2)))
+		     (not (file-directory-p n2)))
+	    (setq file n2 suffixes nil list nil))
 	  (setq suffixes (cdr suffixes)))
 	(setq list (cdr list)))
       file)))
@@ -260,17 +260,17 @@ eshell-script-interpreter
 
   (INTERPRETER [ARGS] FILE)"
   (let ((maxlen eshell-command-interpreter-max-length))
-    (if (and (file-readable-p file)
-	     (file-regular-p file))
-	(with-temp-buffer
-	  (insert-file-contents-literally file nil 0 maxlen)
-	  (if (looking-at "#![ \t]*\\([^ \r\t\n]+\\)\\([ \t]+\\(.+\\)\\)?")
-	      (if (match-string 3)
-		  (list (match-string 1)
-			(match-string 3)
-			file)
+    (when (and (file-readable-p file)
+	       (file-regular-p file))
+      (with-temp-buffer
+	(insert-file-contents-literally file nil 0 maxlen)
+	(if (looking-at "#![ \t]*\\([^ \r\t\n]+\\)\\([ \t]+\\(.+\\)\\)?")
+	    (if (match-string 3)
 		(list (match-string 1)
-		      file)))))))
+		      (match-string 3)
+		      file)
+	      (list (match-string 1)
+		    file)))))))
 
 (defun eshell-find-interpreter (file args &optional no-examine-p)
   "Find the command interpreter with which to execute FILE.
@@ -302,15 +302,15 @@ eshell-find-interpreter
                 (if (file-name-absolute-p fullname)
                     (concat (file-remote-p default-directory) fullname)
                   (expand-file-name fullname default-directory))))
-	(if (and fullname (not (or eshell-force-execution
-				   (file-executable-p fullname))))
-	    (while suffixes
-	      (let ((try (concat fullname (car suffixes))))
-		(if (or (file-executable-p try)
-			(and eshell-force-execution
-			     (file-readable-p try)))
-		    (setq fullname try suffixes nil)
-		  (setq suffixes (cdr suffixes))))))
+	(when (and fullname (not (or eshell-force-execution
+				     (file-executable-p fullname))))
+	  (while suffixes
+	    (let ((try (concat fullname (car suffixes))))
+	      (if (or (file-executable-p try)
+		      (and eshell-force-execution
+			   (file-readable-p try)))
+		  (setq fullname try suffixes nil)
+		(setq suffixes (cdr suffixes))))))
 	(cond ((not (and fullname (file-exists-p fullname)))
 	       (let ((name (or fullname file)))
 		 (unless (setq fullname
@@ -323,10 +323,10 @@ eshell-find-interpreter
 	(let (interp)
 	  (unless no-examine-p
 	    (setq interp (eshell-script-interpreter fullname))
-	    (if interp
-		(setq interp
-		      (cons (car (eshell-find-interpreter (car interp) args t))
-			    (cdr interp)))))
+	    (when interp
+	      (setq interp
+		    (cons (car (eshell-find-interpreter (car interp) args t))
+			  (cdr interp)))))
 	  (or interp (list fullname)))))))
 
 (provide 'esh-ext)
diff --git a/lisp/eshell/esh-io.el b/lisp/eshell/esh-io.el
index b415486190..8aaf4edf04 100644
--- a/lisp/eshell/esh-io.el
+++ b/lisp/eshell/esh-io.el
@@ -118,13 +118,13 @@ eshell-print-queue-size
 (defcustom eshell-virtual-targets
   '(("/dev/eshell" eshell-interactive-print nil)
     ("/dev/kill" (lambda (mode)
-		   (if (eq mode 'overwrite)
-		       (kill-new ""))
+		   (when (eq mode 'overwrite)
+		     (kill-new ""))
 		   'eshell-kill-append) t)
     ("/dev/clip" (lambda (mode)
-		   (if (eq mode 'overwrite)
-		       (let ((select-enable-clipboard t))
-			 (kill-new "")))
+		   (when (eq mode 'overwrite)
+		     (let ((select-enable-clipboard t))
+		       (kill-new "")))
 		   'eshell-clipboard-append) t))
   "Map virtual devices name to Emacs Lisp functions.
 If the user specifies any of the filenames above as a redirection
@@ -189,8 +189,8 @@ eshell-parse-redirection
 	      (oper (match-string 2))
 ;	      (th (match-string 3))
 	      )
-	  (if (string= oper "<")
-	      (error "Eshell does not support input redirection"))
+	  (when (string= oper "<")
+	    (error "Eshell does not support input redirection"))
 	  (eshell-finish-arg
 	   (prog1
 	       (list 'eshell-set-output-handle
@@ -247,9 +247,9 @@ eshell-protect-handles
   "Protect the handles in HANDLES from a being closed."
   (let ((idx 0))
     (while (< idx eshell-number-of-handles)
-      (if (aref handles idx)
-	  (setcdr (aref handles idx)
-		  (1+ (cdr (aref handles idx)))))
+      (when (aref handles idx)
+	(setcdr (aref handles idx)
+		(1+ (cdr (aref handles idx)))))
       (setq idx (1+ idx))))
   handles)
 
@@ -275,8 +275,8 @@ eshell-close-target
    ;; If we're redirecting to a process (via a pipe, or process
    ;; redirection), send it EOF so that it knows we're finished.
    ((eshell-processp target)
-    (if (eq (process-status target) 'run)
-	(process-send-eof target)))
+    (when (eq (process-status target) 'run)
+      (process-send-eof target)))
 
    ;; A plain function redirection needs no additional arguments
    ;; passed.
@@ -317,14 +317,14 @@ eshell-close-handles
 
 (defun eshell-kill-append (string)
   "Call `kill-append' with STRING, if it is indeed a string."
-  (if (stringp string)
-      (kill-append string nil)))
+  (when (stringp string)
+    (kill-append string nil)))
 
 (defun eshell-clipboard-append (string)
   "Call `kill-append' with STRING, if it is indeed a string."
-  (if (stringp string)
-      (let ((select-enable-clipboard t))
-	(kill-append string nil))))
+  (when (stringp string)
+    (let ((select-enable-clipboard t))
+      (kill-append string nil))))
 
 (defun eshell-get-target (target &optional mode)
   "Convert TARGET, which is a raw argument, into a valid output target.
@@ -341,8 +341,8 @@ eshell-get-target
 	(let* ((exists (get-file-buffer target))
 	       (buf (find-file-noselect target t)))
 	  (with-current-buffer buf
-	    (if buffer-file-read-only
-		(error "Cannot write to read-only file `%s'" target))
+	    (when buffer-file-read-only
+	      (error "Cannot write to read-only file `%s'" target))
 	    (setq buffer-read-only nil)
 	    (set (make-local-variable 'eshell-output-file-buffer)
 		 (if (eq exists buf) 0 t))
@@ -364,8 +364,8 @@ eshell-get-target
    ((functionp target) nil)
 
    ((symbolp target)
-    (if (eq mode 'overwrite)
-	(set target nil))
+    (when (eq mode 'overwrite)
+      (set target nil))
     target)
 
    ((or (eshell-processp target)
@@ -391,8 +391,8 @@ eshell-set-output-handle
 		 (not (member where current)))
 	    (setq current (append current (list where)))
 	  (setq current (list where)))
-	(if (not (aref eshell-current-handles index))
-	    (aset eshell-current-handles index (cons nil 1)))
+	(when (not (aref eshell-current-handles index))
+	  (aset eshell-current-handles index (cons nil 1)))
 	(setcar (aref eshell-current-handles index) current)))))
 
 (defun eshell-interactive-output-p ()
@@ -417,8 +417,8 @@ eshell-flush
    (if reset-p
        (setq eshell-print-queue nil
 	     eshell-print-queue-count reset-p)
-     (if eshell-print-queue
-	 (eshell-print eshell-print-queue))
+     (when eshell-print-queue
+       (eshell-print eshell-print-queue))
      (eshell-flush 0))))
 
 (defun eshell-init-print-buffer ()
@@ -431,8 +431,8 @@ eshell-buffered-print
       (progn
 	(eshell-print (apply 'concat strings))
 	(setq eshell-print-queue-count 0))
-    (if (= eshell-print-queue-count eshell-print-queue-size)
-	(eshell-flush))
+    (when (= eshell-print-queue-count eshell-print-queue-size)
+      (eshell-flush))
     (setq eshell-print-queue
 	  (concat eshell-print-queue (apply 'concat strings))
 	  eshell-print-queue-count (1+ eshell-print-queue-count))))
@@ -466,23 +466,23 @@ eshell-output-object-to-target
       (if (not (symbol-value target))
 	  (set target object)
 	(setq object (eshell-stringify object))
-	(if (not (stringp (symbol-value target)))
-	    (set target (eshell-stringify
-			 (symbol-value target))))
+	(when (not (stringp (symbol-value target)))
+	  (set target (eshell-stringify
+		       (symbol-value target))))
 	(set target (concat (symbol-value target) object)))))
 
    ((markerp target)
-    (if (buffer-live-p (marker-buffer target))
-	(with-current-buffer (marker-buffer target)
-	  (let ((moving (= (point) target)))
-	    (save-excursion
-	      (goto-char target)
-	      (unless (stringp object)
-		(setq object (eshell-stringify object)))
-	      (insert-and-inherit object)
-	      (set-marker target (point-marker)))
-	    (if moving
-		(goto-char target))))))
+    (when (buffer-live-p (marker-buffer target))
+      (with-current-buffer (marker-buffer target)
+	(let ((moving (= (point) target)))
+	  (save-excursion
+	    (goto-char target)
+	    (unless (stringp object)
+	      (setq object (eshell-stringify object)))
+	    (insert-and-inherit object)
+	    (set-marker target (point-marker)))
+	  (when moving
+	    (goto-char target))))))
 
    ((eshell-processp target)
     (when (eq (process-status target) 'run)
diff --git a/lisp/eshell/esh-mode.el b/lisp/eshell/esh-mode.el
index e0e86348bd..e6dc311ced 100644
--- a/lisp/eshell/esh-mode.el
+++ b/lisp/eshell/esh-mode.el
@@ -309,8 +309,8 @@ eshell-mode
     (let ((fmt (copy-sequence mode-line-format)))
       (setq-local mode-line-format fmt))
     (let ((mode-line-elt (memq 'mode-line-modified mode-line-format)))
-      (if mode-line-elt
-	  (setcar mode-line-elt 'eshell-command-running-string))))
+      (when mode-line-elt
+	(setcar mode-line-elt 'eshell-command-running-string))))
 
   (set (make-local-variable 'bookmark-make-record-function)
        'eshell-bookmark-make-record)
@@ -327,10 +327,10 @@ eshell-mode
   (setq auto-fill-function nil)
 
   ;; always display everything from a return value
-  (if (boundp 'print-length)
-      (set (make-local-variable 'print-length) nil))
-  (if (boundp 'print-level)
-      (set (make-local-variable 'print-level) nil))
+  (when (boundp 'print-length)
+    (set (make-local-variable 'print-length) nil))
+  (when (boundp 'print-level)
+    (set (make-local-variable 'print-level) nil))
 
   ;; set require-final-newline to nil; otherwise, all redirected
   ;; output will end with a newline, whether or not the source
@@ -363,9 +363,9 @@ eshell-mode
   (dolist (module eshell-modules-list)
     (let ((module-fullname (symbol-name module))
 	  module-shortname)
-      (if (string-match "^eshell-\\(.*\\)" module-fullname)
-	  (setq module-shortname
-		(concat "em-" (match-string 1 module-fullname))))
+      (when (string-match "^eshell-\\(.*\\)" module-fullname)
+	(setq module-shortname
+	      (concat "em-" (match-string 1 module-fullname))))
       (unless module-shortname
 	(error "Invalid Eshell module name: %s" module-fullname))
       (unless (featurep (intern module-shortname))
@@ -379,16 +379,16 @@ eshell-mode
     (let ((load-hook (intern-soft (format "%s-load-hook" module)))
           (initfunc (intern-soft (format "%s-initialize" module))))
       (when (and load-hook (boundp load-hook))
-        (if (memq initfunc (symbol-value load-hook)) (setq initfunc nil))
+        (when (memq initfunc (symbol-value load-hook)) (setq initfunc nil))
         (run-hooks load-hook))
       ;; So we don't need the -initialize functions on the hooks (bug#5375).
       (and initfunc (fboundp initfunc) (funcall initfunc))))
 
-  (if eshell-send-direct-to-subprocesses
-      (add-hook 'pre-command-hook #'eshell-intercept-commands t t))
+  (when eshell-send-direct-to-subprocesses
+    (add-hook 'pre-command-hook #'eshell-intercept-commands t t))
 
-  (if eshell-scroll-to-bottom-on-input
-      (add-hook 'pre-command-hook #'eshell-preinput-scroll-to-bottom t t))
+  (when eshell-scroll-to-bottom-on-input
+    (add-hook 'pre-command-hook #'eshell-preinput-scroll-to-bottom t t))
 
   (when eshell-scroll-show-maximum-output
     (set (make-local-variable 'scroll-conservatively) 1000))
@@ -399,8 +399,8 @@ eshell-mode
 
   (add-hook 'kill-buffer-hook #'eshell-kill-buffer-function t t)
 
-  (if eshell-first-time-p
-      (run-hooks 'eshell-first-time-mode-hook))
+  (when eshell-first-time-p
+    (run-hooks 'eshell-first-time-mode-hook))
   (run-hooks 'eshell-post-command-hook))
 
 (put 'eshell-mode 'mode-class 'special)
@@ -452,8 +452,8 @@ eshell-intercept-commands
 	  (if (> (length (car possible-events)) 1)
 	      (setq intercept nil possible-events nil)
 	    (setq possible-events (cdr possible-events)))))
-      (if intercept
-	  (setq this-command 'eshell-self-insert-command)))))
+      (when intercept
+	(setq this-command 'eshell-self-insert-command)))))
 
 (declare-function find-tag-interactive "etags" (prompt &optional no-default))
 
@@ -477,15 +477,15 @@ eshell-move-argument
   (let ((pos (save-excursion
 	       (funcall func 1)
 	       (while (and (> arg 0) (/= (point) limit))
-		 (if (get-text-property (point) property)
-		     (setq arg (1- arg)))
-		 (if (> arg 0)
-		     (funcall func 1)))
+		 (when (get-text-property (point) property)
+		   (setq arg (1- arg)))
+		 (when (> arg 0)
+		   (funcall func 1)))
 	       (point))))
     (goto-char pos)
-    (if (and (eq func 'forward-char)
-	     (= (1+ pos) limit))
-	(forward-char 1))))
+    (when (and (eq func 'forward-char)
+	       (= (1+ pos) limit))
+      (forward-char 1))))
 
 (defun eshell-forward-argument (&optional arg)
   "Move forward ARG arguments."
@@ -695,21 +695,21 @@ eshell-output-filter
               (widen)
               (goto-char eshell-last-output-end)
               (setq ostart (point))
-              (if (<= (point) opoint)
-                  (setq opoint (+ opoint nchars)))
-              (if (< (point) obeg)
-                  (setq obeg (+ obeg nchars)))
-              (if (<= (point) oend)
-                  (setq oend (+ oend nchars)))
+              (when (<= (point) opoint)
+                (setq opoint (+ opoint nchars)))
+              (when (< (point) obeg)
+                (setq obeg (+ obeg nchars)))
+              (when (<= (point) oend)
+                (setq oend (+ oend nchars)))
               ;; Let the ansi-color overlay hooks run.
               (let ((inhibit-modification-hooks nil))
                 (insert-before-markers string))
-              (if (= (window-start) (point))
-                  (set-window-start (selected-window)
-                                    (- (point) nchars)))
-              (if (= (point) eshell-last-input-end)
-                  (set-marker eshell-last-input-end
-                              (- eshell-last-input-end nchars)))
+              (when (= (window-start) (point))
+                (set-window-start (selected-window)
+                                  (- (point) nchars)))
+              (when (= (point) eshell-last-input-end)
+                (set-marker eshell-last-input-end
+                            (- eshell-last-input-end nchars)))
               (set-marker eshell-last-output-start ostart)
               (set-marker eshell-last-output-end (point))
               (force-mode-line-update))
@@ -734,22 +734,22 @@ eshell-preinput-scroll-to-bottom
 `eshell-scroll-to-bottom-on-input'.
 
 This function should be a pre-command hook."
-  (if (memq this-command '(self-insert-command yank hilit-yank))
-      (let* ((selected (selected-window))
-	     (current (current-buffer))
-	     (scroll eshell-scroll-to-bottom-on-input))
-	(if (< (point) eshell-last-output-end)
-	    (if (eq scroll 'this)
-		(goto-char (point-max))
-	      (walk-windows
-	       (function
-		(lambda (window)
-		  (when (and (eq (window-buffer window) current)
-			     (or (eq scroll t) (eq scroll 'all)))
-		    (select-window window)
-		    (goto-char (point-max))
-		    (select-window selected))))
-	       nil t))))))
+  (when (memq this-command '(self-insert-command yank hilit-yank))
+    (let* ((selected (selected-window))
+	   (current (current-buffer))
+	   (scroll eshell-scroll-to-bottom-on-input))
+      (if (< (point) eshell-last-output-end)
+	  (if (eq scroll 'this)
+	      (goto-char (point-max))
+	    (walk-windows
+	     (function
+	      (lambda (window)
+		(when (and (eq (window-buffer window) current)
+			   (or (eq scroll t) (eq scroll 'all)))
+		  (select-window window)
+		  (goto-char (point-max))
+		  (select-window selected))))
+	     nil t))))))
 
 ;;; jww (1999-10-23): this needs testing
 (defun eshell-postoutput-scroll-to-bottom ()
@@ -766,27 +766,26 @@ eshell-postoutput-scroll-to-bottom
 	(walk-windows
 	 (function
 	  (lambda (window)
-	    (if (eq (window-buffer window) current)
-		(progn
-		  (select-window window)
-		  (if (and (< (point) eshell-last-output-end)
-			   (or (eq scroll t) (eq scroll 'all)
-			       ;; Maybe user wants point to jump to end.
-			       (and (eq scroll 'this)
-				    (eq selected window))
-			       (and (eq scroll 'others)
-				    (not (eq selected window)))
-			       ;; If point was at the end, keep it at end.
-			       (>= (point) eshell-last-output-start)))
-		      (goto-char eshell-last-output-end))
-		  ;; Optionally scroll so that the text
-		  ;; ends at the bottom of the window.
-		  (if (and eshell-scroll-show-maximum-output
-			   (>= (point) eshell-last-output-end))
-		      (save-excursion
-			(goto-char (point-max))
-			(recenter -1)))
-		  (select-window selected)))))
+	    (when (eq (window-buffer window) current)
+              (select-window window)
+	      (when (and (< (point) eshell-last-output-end)
+			 (or (eq scroll t) (eq scroll 'all)
+			     ;; Maybe user wants point to jump to end.
+			     (and (eq scroll 'this)
+				  (eq selected window))
+			     (and (eq scroll 'others)
+				  (not (eq selected window)))
+			     ;; If point was at the end, keep it at end.
+			     (>= (point) eshell-last-output-start)))
+		(goto-char eshell-last-output-end))
+	      ;; Optionally scroll so that the text
+	      ;; ends at the bottom of the window.
+	      (when (and eshell-scroll-show-maximum-output
+			 (>= (point) eshell-last-output-end))
+		(save-excursion
+		  (goto-char (point-max))
+		  (recenter -1)))
+	      (select-window selected))))
 	 nil t)
       (set-buffer current))))
 
@@ -823,9 +822,9 @@ eshell-show-output
 		    (save-excursion
 		      (goto-char (eshell-beginning-of-input))
 		      (line-beginning-position)))
-  (if arg
-      (narrow-to-region (eshell-beginning-of-output)
-			(eshell-end-of-output)))
+  (when arg
+    (narrow-to-region (eshell-beginning-of-output)
+		      (eshell-end-of-output)))
   (eshell-end-of-output))
 
 (defun eshell-mark-output (&optional arg)
@@ -848,8 +847,8 @@ eshell-show-maximum-output
   "Put the end of the buffer at the bottom of the window.
 When run interactively, widen the buffer first."
   (interactive "p")
-  (if interactive
-      (widen))
+  (when interactive
+    (widen))
   (goto-char (point-max))
   (recenter -1))
 
@@ -912,13 +911,13 @@ eshell-truncate-buffer
       (beginning-of-line)
       (let ((pos (point)))
 	(if (bobp)
-	    (if (called-interactively-p 'interactive)
-		(message "Buffer too short to truncate"))
+	    (when (called-interactively-p 'interactive)
+	      (message "Buffer too short to truncate"))
 	  (delete-region (point-min) (point))
-	  (if (called-interactively-p 'interactive)
-	      (message "Truncated buffer from %d to %d lines (%.1fk freed)"
-		       lines eshell-buffer-maximum-lines
-		       (/ pos 1024.0))))))))
+	  (when (called-interactively-p 'interactive)
+	    (message "Truncated buffer from %d to %d lines (%.1fk freed)"
+		     lines eshell-buffer-maximum-lines
+		     (/ pos 1024.0))))))))
 
 (custom-add-option 'eshell-output-filter-functions
 		   'eshell-truncate-buffer)
@@ -947,9 +946,9 @@ eshell-watch-for-password-prompt
       (let ((case-fold-search t))
 	(goto-char eshell-last-output-block-begin)
 	(beginning-of-line)
-	(if (re-search-forward eshell-password-prompt-regexp
-			       eshell-last-output-end t)
-	    (eshell-send-invisible))))))
+	(when (re-search-forward eshell-password-prompt-regexp
+			         eshell-last-output-end t)
+	  (eshell-send-invisible))))))
 
 (custom-add-option 'eshell-output-filter-functions
 		   'eshell-watch-for-password-prompt)
diff --git a/lisp/eshell/esh-module.el b/lisp/eshell/esh-module.el
index 45c4c9e13c..59b874933e 100644
--- a/lisp/eshell/esh-module.el
+++ b/lisp/eshell/esh-module.el
@@ -92,11 +92,11 @@ eshell-using-module
 (defun eshell-unload-extension-modules ()
   "Unload any memory resident extension modules."
   (dolist (module (eshell-subgroups 'eshell-module))
-    (if (featurep module)
-	(ignore-errors
-	  (message "Unloading %s..." (symbol-name module))
-	  (unload-feature module)
-	  (message "Unloading %s...done" (symbol-name module))))))
+    (when (featurep module)
+      (ignore-errors
+	(message "Unloading %s..." (symbol-name module))
+	(unload-feature module)
+	(message "Unloading %s...done" (symbol-name module))))))
 
 (provide 'esh-module)
 ;;; esh-module.el ends here
diff --git a/lisp/eshell/esh-opt.el b/lisp/eshell/esh-opt.el
index dc8918891b..990ca4daba 100644
--- a/lisp/eshell/esh-opt.el
+++ b/lisp/eshell/esh-opt.el
@@ -181,15 +181,15 @@ eshell-show-usage
 				       (nth 4 opt)))))
 		(t (setq had-option nil)))))
       (setq options (cdr options)))
-    (if post-usage
-	(setq usage (concat usage (and had-option "\n")
-			    (cadr post-usage))))
+    (when post-usage
+      (setq usage (concat usage (and had-option "\n")
+			  (cadr post-usage))))
     (when extcmd
       (setq extcmd (eshell-search-path (cadr extcmd)))
-      (if extcmd
-	  (setq usage
-		(concat usage
-			(format-message "
+      (when extcmd
+	(setq usage
+	      (concat usage
+		      (format-message "
 This command is implemented in Lisp.  If an unrecognized option is
 passed to this command, the external version `%s'
 will be called instead." extcmd)))))
diff --git a/lisp/eshell/esh-proc.el b/lisp/eshell/esh-proc.el
index db1b258c8f..5d68930f28 100644
--- a/lisp/eshell/esh-proc.el
+++ b/lisp/eshell/esh-proc.el
@@ -126,8 +126,8 @@ eshell-kill-process-function
 Runs `eshell-reset-after-proc' and `eshell-kill-hook', passing arguments
 PROC and STATUS to functions on the latter."
   ;; Was there till 24.1, but it is not optional.
-  (if (memq #'eshell-reset-after-proc eshell-kill-hook)
-      (setq eshell-kill-hook (delq #'eshell-reset-after-proc eshell-kill-hook)))
+  (when (memq #'eshell-reset-after-proc eshell-kill-hook)
+    (setq eshell-kill-hook (delq #'eshell-reset-after-proc eshell-kill-hook)))
   (eshell-reset-after-proc status)
   (run-hook-with-args 'eshell-kill-hook proc status))
 
@@ -159,8 +159,8 @@ eshell-wait-for-process
       (when (eshell-processp proc)
 	;; NYI: If the process gets stopped here, that's bad.
 	(while (assq proc eshell-process-list)
-	  (if (input-pending-p)
-	      (discard-input))
+	  (when (input-pending-p)
+	    (discard-input))
 	  (sit-for eshell-process-wait-seconds
 		   eshell-process-wait-milliseconds))))
     (setq procs (cdr procs))))
@@ -243,11 +243,11 @@ eshell-record-process-object
 
 (defun eshell-remove-process-entry (entry)
   "Record the process ENTRY as fully completed."
-  (if (and (eshell-processp (car entry))
-	   (nth 2 entry)
-	   eshell-done-messages-in-minibuffer)
-      (message "[%s]+ Done %s" (process-name (car entry))
-	       (process-command (car entry))))
+  (when (and (eshell-processp (car entry))
+	     (nth 2 entry)
+	     eshell-done-messages-in-minibuffer)
+    (message "[%s]+ Done %s" (process-name (car entry))
+	     (process-command (car entry))))
   (setq eshell-process-list
 	(delq entry eshell-process-list)))
 
@@ -276,10 +276,10 @@ eshell-needs-pipe-p
        ;; neither 'first nor 'last?  See bug#1388 discussion.
        (catch 'found
 	 (dolist (exe eshell-needs-pipe)
-	   (if (string-equal exe (if (string-match "/" exe)
-				     command
-				   (file-name-nondirectory command)))
-	       (throw 'found t))))))
+	   (when (string-equal exe (if (string-match "/" exe)
+				       command
+				     (file-name-nondirectory command)))
+	     (throw 'found t))))))
 
 (defun eshell-gather-process-output (command args)
   "Gather the output from COMMAND + ARGS."
@@ -318,18 +318,18 @@ eshell-gather-process-output
 	;; decoding data sent from the process and the coding system
 	;; doesn't specify EOL conversion, we had better convert CRLF
 	;; to LF.
-	(if (vectorp (coding-system-eol-type decoding))
-	    (setq decoding (coding-system-change-eol-conversion decoding 'dos)
-		  changed t))
+	(when (vectorp (coding-system-eol-type decoding))
+	  (setq decoding (coding-system-change-eol-conversion decoding 'dos)
+		changed t))
 	;; Even if start-process left the coding system for encoding
 	;; data sent from the process undecided, we had better use the
 	;; same one as what we use for decoding.  But, we should
 	;; suppress EOL conversion.
-	(if (and decoding (not encoding))
-	    (setq encoding (coding-system-change-eol-conversion decoding 'unix)
-		  changed t))
-	(if changed
-	    (set-process-coding-system proc decoding encoding))))
+	(when (and decoding (not encoding))
+	  (setq encoding (coding-system-change-eol-conversion decoding 'unix)
+		changed t))
+	(when changed
+	  (set-process-coding-system proc decoding encoding))))
      (t
       ;; No async subprocesses...
       (let ((oldbuf (current-buffer))
@@ -376,7 +376,7 @@ eshell-gather-process-output
 	(eshell-kill-process-function command exit-status)
 	(or (bound-and-true-p eshell-in-pipeline-p)
 	    (setq eshell-last-sync-output-start nil))
-	(if (not (numberp exit-status))
+	(when (not (numberp exit-status))
 	  (error "%s: external command failed: %s" command exit-status))
 	(setq proc t))))
     proc))
@@ -438,14 +438,14 @@ eshell-process-interact
 If QUERY is non-nil, query the user with QUERY before calling FUNC."
   (let (defunct result)
     (dolist (entry eshell-process-list)
-      (if (and (memq (process-status (car entry))
-		    '(run stop open closed))
-	       (or all
-		   (not (nth 2 entry)))
-	       (or (not query)
-		   (y-or-n-p (format-message query
-					     (process-name (car entry))))))
-	  (setq result (funcall func (car entry))))
+      (when (and (memq (process-status (car entry))
+		       '(run stop open closed))
+	         (or all
+		     (not (nth 2 entry)))
+	         (or (not query)
+		     (y-or-n-p (format-message query
+					       (process-name (car entry))))))
+	(setq result (funcall func (car entry))))
       (unless (memq (process-status (car entry))
 		    '(run stop open closed))
 	(setq defunct (cons entry defunct))))
@@ -514,15 +514,15 @@ eshell-query-kill-processes
 	     eshell-process-list)
     (save-window-excursion
       (list-processes)
-      (if (or (not (eq eshell-kill-processes-on-exit 'ask))
-	      (y-or-n-p (format-message "Kill processes owned by `%s'? "
-					(buffer-name))))
-	  (eshell-round-robin-kill
-	   (if (eq eshell-kill-processes-on-exit 'every)
-	       "Kill Eshell child process `%s'? ")))
+      (when (or (not (eq eshell-kill-processes-on-exit 'ask))
+	        (y-or-n-p (format-message "Kill processes owned by `%s'? "
+					  (buffer-name))))
+	(eshell-round-robin-kill
+	 (if (eq eshell-kill-processes-on-exit 'every)
+	     "Kill Eshell child process `%s'? ")))
       (let ((buf (get-buffer "*Process List*")))
-	(if (and buf (buffer-live-p buf))
-	    (kill-buffer buf)))
+	(when (and buf (buffer-live-p buf))
+	  (kill-buffer buf)))
       (message nil))))
 
 (defun eshell-interrupt-process ()
diff --git a/lisp/eshell/esh-util.el b/lisp/eshell/esh-util.el
index ab030ede05..f0affe1381 100644
--- a/lisp/eshell/esh-util.el
+++ b/lisp/eshell/esh-util.el
@@ -203,8 +203,8 @@ eshell-convert
     (let ((len (length string)))
       (if (= len 0)
 	  string
-	(if (eq (aref string (1- len)) ?\n)
-	    (setq string (substring string 0 (1- len))))
+	(when (eq (aref string (1- len)) ?\n)
+	  (setq string (substring string 0 (1- len))))
 	(if (string-match "\n" string)
 	    (split-string string "\n")
 	  (if (and eshell-convert-numeric-arguments
@@ -218,8 +218,8 @@ eshell-sublist
   "Return from LIST the N to M elements.
 If N or M is nil, it means the end of the list."
   (let ((a (copy-sequence l)))
-    (if (and m (consp (nthcdr m a)))
-	(setcdr (nthcdr m a) nil))
+    (when (and m (consp (nthcdr m a)))
+      (setcdr (nthcdr m a) nil))
     (if n
 	(setq a (nthcdr n a))
       (setq n (1- (length a))
@@ -255,30 +255,30 @@ eshell-split-path
   (let ((len (length path))
 	(i 0) (li 0)
 	parts)
-    (if (and (eshell-under-windows-p)
-	     (> len 2)
-	     (eq (aref path 0) ?/)
-	     (eq (aref path 1) ?/))
-	(setq i 2))
+    (when (and (eshell-under-windows-p)
+	       (> len 2)
+	       (eq (aref path 0) ?/)
+	       (eq (aref path 1) ?/))
+      (setq i 2))
     (while (< i len)
-      (if (and (eq (aref path i) ?/)
-	       (not (get-text-property i 'escaped path)))
-	  (setq parts (cons (if (= li i) "/"
-			      (substring path li (1+ i))) parts)
-		li (1+ i)))
+      (when (and (eq (aref path i) ?/)
+	         (not (get-text-property i 'escaped path)))
+	(setq parts (cons (if (= li i) "/"
+			    (substring path li (1+ i))) parts)
+	      li (1+ i)))
       (setq i (1+ i)))
-    (if (< li i)
-	(setq parts (cons (substring path li i) parts)))
-    (if (and (eshell-under-windows-p)
-	     (string-match "\\`[A-Za-z]:\\'" (car (last parts))))
-	(setcar (last parts) (concat (car (last parts)) "/")))
+    (when (< li i)
+      (setq parts (cons (substring path li i) parts)))
+    (when (and (eshell-under-windows-p)
+	       (string-match "\\`[A-Za-z]:\\'" (car (last parts))))
+      (setcar (last parts) (concat (car (last parts)) "/")))
     (nreverse parts)))
 
 (defun eshell-to-flat-string (value)
   "Make value a string.  If separated by newlines change them to spaces."
   (let ((text (eshell-stringify value)))
-    (if (string-match "\n+\\'" text)
-	(setq text (replace-match "" t t text)))
+    (when (string-match "\n+\\'" text)
+      (setq text (replace-match "" t t text)))
     (while (string-match "\n+" text)
       (setq text (replace-match " " t t text)))
     text))
@@ -370,21 +370,21 @@ eshell-printable-size
 		(let ((str (if (<= size 9.94)
 			       (format "%.1fM" size)
 			     (format "%.0fM" size))))
-		  (if use-colors
-		      (put-text-property 0 (length str)
-					 'face 'bold str))
+		  (when use-colors
+		    (put-text-property 0 (length str)
+				       'face 'bold str))
 		  str)
 	      (setq size (/ size human-readable))
-	      (if (< size human-readable)
-		  (let ((str (if (<= size 9.94)
-				 (format "%.1fG" size)
-			       (format "%.0fG" size))))
-		    (if use-colors
-			(put-text-property 0 (length str)
-					   'face 'bold-italic str))
-		    str)))))
-      (if block-size
-	  (setq size (/ size block-size)))
+	      (when (< size human-readable)
+		(let ((str (if (<= size 9.94)
+			       (format "%.1fG" size)
+			     (format "%.0fG" size))))
+		  (when use-colors
+		    (put-text-property 0 (length str)
+				       'face 'bold-italic str))
+		  str)))))
+      (when block-size
+	(setq size (/ size block-size)))
       (format "%.0f" size))))
 
 (defun eshell-winnow-list (entries exclude &optional predicates)
@@ -433,31 +433,31 @@ eshell-read-passwd-file
 		  (split-string (buffer-substring
 				 (point) (progn (end-of-line)
 						(point))) ":")))
-	    (if (and (and fields (nth 0 fields) (nth 2 fields))
-		     (not (assq (string-to-number (nth 2 fields)) names)))
-		(setq names (cons (cons (string-to-number (nth 2 fields))
-					(nth 0 fields))
-				  names))))
+	    (when (and (and fields (nth 0 fields) (nth 2 fields))
+		       (not (assq (string-to-number (nth 2 fields)) names)))
+	      (setq names (cons (cons (string-to-number (nth 2 fields))
+				      (nth 0 fields))
+				names))))
 	  (forward-line))))
     names))
 
 (defun eshell-read-passwd (file result-var timestamp-var)
   "Read the contents of /etc/passwd for user names."
-  (if (or (not (symbol-value result-var))
-	  (not (symbol-value timestamp-var))
-	  (time-less-p
-	   (symbol-value timestamp-var)
-	   (file-attribute-modification-time (file-attributes file))))
-      (progn
-	(set result-var (eshell-read-passwd-file file))
-	(set timestamp-var (current-time))))
+  (when (or (not (symbol-value result-var))
+	    (not (symbol-value timestamp-var))
+	    (time-less-p
+	     (symbol-value timestamp-var)
+	     (file-attribute-modification-time (file-attributes file))))
+    (progn
+      (set result-var (eshell-read-passwd-file file))
+      (set timestamp-var (current-time))))
   (symbol-value result-var))
 
 (defun eshell-read-group-names ()
   "Read the contents of /etc/group for group names."
-  (if eshell-group-file
-      (eshell-read-passwd eshell-group-file 'eshell-group-names
-			  'eshell-group-timestamp)))
+  (when eshell-group-file
+    (eshell-read-passwd eshell-group-file 'eshell-group-names
+			'eshell-group-timestamp)))
 
 (defsubst eshell-group-id (name)
   "Return the user id for user NAME."
@@ -469,9 +469,9 @@ eshell-group-name
 
 (defun eshell-read-user-names ()
   "Read the contents of /etc/passwd for user names."
-  (if eshell-passwd-file
-      (eshell-read-passwd eshell-passwd-file 'eshell-user-names
-			  'eshell-user-timestamp)))
+  (when eshell-passwd-file
+    (eshell-read-passwd eshell-passwd-file 'eshell-user-names
+			'eshell-user-timestamp)))
 
 (defsubst eshell-user-id (name)
   "Return the user id for user NAME."
@@ -495,21 +495,21 @@ eshell-read-hosts-file
 
 (defun eshell-read-hosts (file result-var timestamp-var)
   "Read the contents of /etc/hosts for host names."
-  (if (or (not (symbol-value result-var))
-	  (not (symbol-value timestamp-var))
-	  (time-less-p
-	   (symbol-value timestamp-var)
-	   (file-attribute-modification-time (file-attributes file))))
-      (progn
-	(set result-var (apply #'nconc (eshell-read-hosts-file file)))
-	(set timestamp-var (current-time))))
+  (when (or (not (symbol-value result-var))
+	    (not (symbol-value timestamp-var))
+	    (time-less-p
+	     (symbol-value timestamp-var)
+	     (file-attribute-modification-time (file-attributes file))))
+    (progn
+      (set result-var (apply #'nconc (eshell-read-hosts-file file)))
+      (set timestamp-var (current-time))))
   (symbol-value result-var))
 
 (defun eshell-read-host-names ()
   "Read the contents of /etc/hosts for host names."
-  (if eshell-hosts-file
-      (eshell-read-hosts eshell-hosts-file 'eshell-host-names
-			 'eshell-host-timestamp)))
+  (when eshell-hosts-file
+    (eshell-read-hosts eshell-hosts-file 'eshell-host-names
+		       'eshell-host-timestamp)))
 
 (defsubst eshell-copy-environment ()
   "Return an unrelated copy of `process-environment'."
@@ -520,8 +520,8 @@ eshell-subgroups
   (let ((subgroups (get groupsym 'custom-group))
 	(subg (list t)))
     (while subgroups
-      (if (eq (cadr (car subgroups)) 'custom-group)
-	  (nconc subg (list (caar subgroups))))
+      (when (eq (cadr (car subgroups)) 'custom-group)
+	(nconc subg (list (caar subgroups))))
       (setq subgroups (cdr subgroups)))
     (cdr subg)))
 
@@ -558,13 +558,13 @@ eshell-directory-files-and-attributes
       (directory-files-and-attributes dir full match nosort id-format))))
 
 (defun eshell-current-ange-uids ()
-  (if (string-match "/\\([^@]+\\)@\\([^:]+\\):" default-directory)
-      (let* ((host (match-string 2 default-directory))
-	     (user (match-string 1 default-directory))
-	     (host-users (assoc host eshell-ange-ls-uids)))
-	(when host-users
-	  (setq host-users (cdr host-users))
-	  (cdr (assoc user host-users))))))
+  (when (string-match "/\\([^@]+\\)@\\([^:]+\\):" default-directory)
+    (let* ((host (match-string 2 default-directory))
+	   (user (match-string 1 default-directory))
+	   (host-users (assoc host eshell-ange-ls-uids)))
+      (when host-users
+	(setq host-users (cdr host-users))
+	(cdr (assoc user host-users))))))
 
 (autoload 'parse-time-string "parse-time")
 
@@ -595,10 +595,10 @@ eshell-parse-ange-ls
     (with-temp-buffer
       (insert (ange-ftp-ls dir "-la" nil))
       (goto-char (point-min))
-      (if (looking-at "^total [0-9]+$")
-	  (forward-line 1))
+      (when (looking-at "^total [0-9]+$")
+	(forward-line 1))
       ;; Some systems put in a blank line here.
-      (if (eolp) (forward-line 1))
+      (when (eolp) (forward-line 1))
       (while (looking-at
 	      `,(concat "\\([dlscb-][rwxst-]+\\)"
 			"\\s-*" "\\([0-9]+\\)" "\\s-+"
@@ -621,9 +621,9 @@ eshell-parse-ange-ls
                     (setf (decoded-time-hour moment) 0))
 		  (encode-time moment)))
 	       symlink)
-	  (if (string-match "\\(.+\\) -> \\(.+\\)" name)
-	      (setq symlink (match-string 2 name)
-		    name (match-string 1 name)))
+	  (when (string-match "\\(.+\\) -> \\(.+\\)" name)
+	    (setq symlink (match-string 2 name)
+		  name (match-string 1 name)))
 	  (setq entry
 		(cons
 		 (cons name
@@ -646,14 +646,14 @@ eshell-file-attributes
     (if (string-equal (file-remote-p file 'method) "ftp")
 	(let ((base (file-name-nondirectory file))
 	      (dir (file-name-directory file)))
-	  (if (string-equal "" base) (setq base "."))
+	  (when (string-equal "" base) (setq base "."))
 	  (unless entry
 	    (setq entry (eshell-parse-ange-ls dir))
-	    (if entry
-		(let ((fentry (assoc base (cdr entry))))
-		  (if fentry
-		      (setq entry (cdr fentry))
-		    (setq entry nil)))))
+	    (when entry
+	      (let ((fentry (assoc base (cdr entry))))
+		(if fentry
+		    (setq entry (cdr fentry))
+		  (setq entry nil)))))
 	  entry)
       (file-attributes file id-format))))
 
diff --git a/lisp/eshell/esh-var.el b/lisp/eshell/esh-var.el
index 96838d4132..a32861f34f 100644
--- a/lisp/eshell/esh-var.el
+++ b/lisp/eshell/esh-var.el
@@ -267,25 +267,25 @@ eshell-handle-local-variables
     ;; setenv immediately before the command is invoked.  This means
     ;; that 'BLAH=x cd blah' won't work exactly as expected, but that
     ;; is by no means a typical use of local environment variables.
-    (if (and command (string-match setvar command))
-	(throw
-	 'eshell-replace-command
-	 (list
-	  'eshell-as-subcommand
-	  (append
-	   (list 'progn)
-	   (let ((l (list t)))
-	     (while (string-match setvar command)
-	       (nconc
-		l (list
-		   (list 'setenv (match-string 1 command)
-			 (match-string 2 command)
-			 (= (length (match-string 2 command)) 0))))
-	       (setq command (eshell-stringify (car args))
-		     args (cdr args)))
-	     (cdr l))
-	   (list (list 'eshell-named-command
-		       command (list 'quote args)))))))))
+    (when (and command (string-match setvar command))
+      (throw
+       'eshell-replace-command
+       (list
+	'eshell-as-subcommand
+	(append
+	 (list 'progn)
+	 (let ((l (list t)))
+	   (while (string-match setvar command)
+	     (nconc
+	      l (list
+		 (list 'setenv (match-string 1 command)
+		       (match-string 2 command)
+		       (= (length (match-string 2 command)) 0))))
+	     (setq command (eshell-stringify (car args))
+		   args (cdr args)))
+	   (cdr l))
+	 (list (list 'eshell-named-command
+		     command (list 'quote args)))))))))
 
 (defun eshell-interpolate-variable ()
   "Parse a variable interpolation.
@@ -308,10 +308,10 @@ eshell/define
 		 (list 'quote (if (= (length definition) 1)
 				  (car definition)
 				definition)))))
-      (if def
-	  (setq eshell-variable-aliases-list
-		(delq (assoc var-alias eshell-variable-aliases-list)
-		      eshell-variable-aliases-list)))
+      (when def
+	(setq eshell-variable-aliases-list
+	      (delq (assoc var-alias eshell-variable-aliases-list)
+		    eshell-variable-aliases-list)))
       (setq eshell-variable-aliases-list
 	    (cons alias-def
 		  eshell-variable-aliases-list))))
@@ -320,10 +320,10 @@ eshell/define
 (defun eshell/export (&rest sets)
   "This alias allows the `export' command to act as bash users expect."
   (while sets
-    (if (and (stringp (car sets))
-	     (string-match "^\\([^=]+\\)=\\(.*\\)" (car sets)))
-	(setenv (match-string 1 (car sets))
-		(match-string 2 (car sets))))
+    (when (and (stringp (car sets))
+	       (string-match "^\\([^=]+\\)=\\(.*\\)" (car sets)))
+      (setenv (match-string 1 (car sets))
+	      (match-string 2 (car sets))))
     (setq sets (cdr sets))))
 
 (defun pcomplete/eshell-mode/export ()
@@ -336,8 +336,8 @@ pcomplete/eshell-mode/export
 (defun eshell/unset (&rest args)
   "Unset an environment variable."
   (while args
-    (if (stringp (car args))
-	(setenv (car args) nil t))
+    (when (stringp (car args))
+      (setenv (car args) nil t))
     (setq args (cdr args))))
 
 (defun pcomplete/eshell-mode/unset ()
@@ -393,10 +393,10 @@ eshell-environment-variables
 environment, as specified in `eshell-variable-aliases-list'."
   (let ((process-environment (eshell-copy-environment)))
     (dolist (var-alias eshell-variable-aliases-list)
-      (if (nth 2 var-alias)
-	  (setenv (car var-alias)
-		  (eshell-stringify
-		   (or (eshell-get-variable (car var-alias)) "")))))
+      (when (nth 2 var-alias)
+	(setenv (car var-alias)
+		(eshell-stringify
+		 (or (eshell-get-variable (car var-alias)) "")))))
     process-environment))
 
 (defun eshell-parse-variable ()
@@ -548,12 +548,12 @@ eshell-apply-indices
     (let ((refs (car indices)))
       (when (stringp value)
 	(let (separator)
-	  (if (not (or (not (stringp (caar indices)))
-		       (string-match
-			(concat "^" eshell-variable-name-regexp "$")
-			(caar indices))))
-	      (setq separator (caar indices)
-		    refs (cdr refs)))
+	  (when (not (or (not (stringp (caar indices)))
+		         (string-match
+			  (concat "^" eshell-variable-name-regexp "$")
+			  (caar indices))))
+	    (setq separator (caar indices)
+		  refs (cdr refs)))
 	  (setq value
 		(mapcar #'eshell-convert
 			(split-string value separator)))))
@@ -613,8 +613,8 @@ eshell-variables-list
   (let ((argname pcomplete-stub)
 	completions)
     (dolist (alias eshell-variable-aliases-list)
-      (if (string-match (concat "^" argname) (car alias))
-	  (setq completions (cons (car alias) completions))))
+      (when (string-match (concat "^" argname) (car alias))
+	(setq completions (cons (car alias) completions))))
     (sort
      (append
       (mapcar
@@ -636,8 +636,8 @@ eshell-complete-variable-assignment
   (let ((arg (pcomplete-actual-arg)) pos)
     (when (string-match (concat "\\`" eshell-variable-name-regexp "=") arg)
       (setq pos (match-end 0))
-      (if (string-match "\\(:\\)[^:]*\\'" arg)
-	  (setq pos (match-end 1)))
+      (when (string-match "\\(:\\)[^:]*\\'" arg)
+	(setq pos (match-end 1)))
       (setq pcomplete-stub (substring arg pos))
       (throw 'pcomplete-completions (pcomplete-entries)))))
 
diff --git a/lisp/eshell/eshell.el b/lisp/eshell/eshell.el
index 6698ca45de..b5433f25a1 100644
--- a/lisp/eshell/eshell.el
+++ b/lisp/eshell/eshell.el
@@ -299,8 +299,8 @@ eshell-command
                                     (eshell-command-mode +1))
       (unless command
         (setq command (read-from-minibuffer "Emacs shell command: "))
-	(if (eshell-using-module 'eshell-hist)
-	    (eshell-add-input-to-history command)))))
+	(when (eshell-using-module 'eshell-hist)
+	  (eshell-add-input-to-history command)))))
   (unless command
     (error "No command specified!"))
   ;; redirection into the current buffer is achieved by adding an
@@ -308,11 +308,11 @@ eshell-command
   ;; 'COMMAND >>> #<buffer BUFFER>'.  This will not interfere with
   ;; other redirections, since multiple redirections merely cause the
   ;; output to be copied to multiple target locations
-  (if arg
-      (setq command
-	    (concat command
-		    (format " >>> #<buffer %s>"
-			    (buffer-name (current-buffer))))))
+  (when arg
+    (setq command
+	  (concat command
+		  (format " >>> #<buffer %s>"
+			  (buffer-name (current-buffer))))))
   (save-excursion
     (let ((buf (set-buffer (generate-new-buffer " *eshell cmd*")))
 	  (eshell-non-interactive-p t))
@@ -325,15 +325,15 @@ eshell-command
 			  "*Eshell Async Command Output*"
 			(setq intr t)
 			"*Eshell Command Output*")))
-	(if (buffer-live-p (get-buffer bufname))
-	    (kill-buffer bufname))
+	(when (buffer-live-p (get-buffer bufname))
+	  (kill-buffer bufname))
 	(rename-buffer bufname)
 	;; things get a little coarse here, since the desire is to
 	;; make the output as attractive as possible, with no
 	;; extraneous newlines
 	(when intr
-	  (if (eshell-interactive-process)
-	      (eshell-wait-for-process (eshell-interactive-process)))
+	  (when (eshell-interactive-process)
+	    (eshell-wait-for-process (eshell-interactive-process)))
 	  (cl-assert (not (eshell-interactive-process)))
 	  (goto-char (point-max))
 	  (while (and (bolp) (not (bobp)))
@@ -369,8 +369,8 @@ eshell-command-result
   ;; a null command produces a null, successful result
   (if (not command)
       (ignore
-       (if (and status-var (symbolp status-var))
-	   (set status-var 0)))
+       (when (and status-var (symbolp status-var))
+	 (set status-var 0)))
     (with-temp-buffer
       (let ((eshell-non-interactive-p t))
 	(eshell-mode)
@@ -380,8 +380,8 @@ eshell-command-result
 				   (eshell-parse-command command)))
                        t)))
 	  (cl-assert (eq (car result) 'quote))
-	  (if (and status-var (symbolp status-var))
-	      (set status-var eshell-last-command-status))
+	  (when (and status-var (symbolp status-var))
+	    (set status-var eshell-last-command-status))
 	  (cadr result))))))
 
 ;;; Code:
@@ -400,11 +400,11 @@ eshell-unload-all-modules
       ;; since other `require' references (such as by customizing
       ;; `eshell-prefer-to-shell' to a non-nil value) might make it
       ;; impossible to unload Eshell completely
-      (if (featurep module)
-	  (ignore-errors
-	    (message "Unloading %s..." (symbol-name module))
-	    (unload-feature module)
-	    (message "Unloading %s...done" (symbol-name module)))))
+      (when (featurep module)
+	(ignore-errors
+	  (message "Unloading %s..." (symbol-name module))
+	  (unload-feature module)
+	  (message "Unloading %s...done" (symbol-name module)))))
     (message "Unloading eshell...done")))
 
 (run-hooks 'eshell-load-hook)
-- 
2.28.0


------=_Part_430784_1989196481.1599957637078
Content-Type: text/x-diff; charset=us-ascii; 
	name=0002-Add-.git-blame-ignore-revs.patch
Content-Transfer-Encoding: 7bit
Content-Description: File Attachment: 0002-Add-.git-blame-ignore-revs.patch
Content-Disposition: attachment; 
	filename=0002-Add-.git-blame-ignore-revs.patch

From 55caa714c1774e57c3b9716e2b632c4158a7135f Mon Sep 17 00:00:00 2001
From: Brian Leung <leungbk@HIDDEN>
Date: Mon, 31 Aug 2020 21:30:24 -0700
Subject: [PATCH 2/2] Add .git-blame-ignore-revs

Git 2.23 introduced the ability to use an ignore file for git blame,
allowing specified commits to be ignored during git-blame sessions.
---
 .git-blame-ignore-revs | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)
 create mode 100644 .git-blame-ignore-revs

diff --git a/.git-blame-ignore-revs b/.git-blame-ignore-revs
new file mode 100644
index 0000000000..60d0b5c9a6
--- /dev/null
+++ b/.git-blame-ignore-revs
@@ -0,0 +1,30 @@
+# Configure git to ignore commits listed in this file with:
+#
+#   git config blame.ignoreRevsFile .git-blame-ignore-revs
+
+# eshell: Replace single-clause if statements with whens
+b535e0b426c2cc7b32c98304de76fbc9df0b17cf
+
+# ; tiny indentation fix to lisp/progmodes/elisp-mode.el
+bf018eefa2a9c33f9f80e977ee085e89df526992
+
+# ; Fix typos
+a3ca5318760b350309e50adf38fabc259c48ba06
+
+# ; Fix typos in etc/NEWS
+a6b45145824043eb0c049270ef37e64f1a677b4e
+
+# ; * lisp/textmodes/flyspell.el (flyspell-mode-on): Fix typo.
+f8082a5ccae11508c7eb80ca4d9fabb341985419
+
+# ; * lisp/info.el (Info-up): Fix a typo in a comment.
+478c2e23620eeda65030458762a843231f7e9b35
+
+# ; Fix typos; change "Emacs-Lisp" to "Emacs Lisp"
+abca75d2e9b2a406157383dfb7fe3f185e0b5741
+
+# ; * lisp/man.el (Man-mode): Fix formatting.
+9b35b0c99ceaeca74a16bea86a665ae5f44430a1
+
+# ; Fix typo in last change
+60cb56e9999050740f4b987ccb806ee6e8227c07
-- 
2.28.0


------=_Part_430784_1989196481.1599957637078--




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

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


Received: (at 43117) by debbugs.gnu.org; 31 Aug 2020 21:03:33 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Aug 31 17:03:33 2020
Received: from localhost ([127.0.0.1]:53906 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kCqxh-0005i3-Et
	for submit <at> debbugs.gnu.org; Mon, 31 Aug 2020 17:03:33 -0400
Received: from mail-lf1-f53.google.com ([209.85.167.53]:45485)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <raaahh@HIDDEN>) id 1kCqxe-0005hp-Jh
 for 43117 <at> debbugs.gnu.org; Mon, 31 Aug 2020 17:03:32 -0400
Received: by mail-lf1-f53.google.com with SMTP id z17so4280997lfi.12
 for <43117 <at> debbugs.gnu.org>; Mon, 31 Aug 2020 14:03:30 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=sender:subject:to:cc:references:from:message-id:date:user-agent
 :mime-version:in-reply-to:content-language:content-transfer-encoding;
 bh=ZOLxYhS+RFu30L6kXWj91AoIfQv7LcUXzEq9ulpLobc=;
 b=YRUDtzf6k28JIRxx3SHoVDlSC6Q0V1s1J3PEr7hLpcUAo2oanviH0GPfv5ahUPRYHY
 946dKM7GB+lC6p9LFeAODn8gtcPK1L3lJsf1u4pOYRJS1AjqKvNvkGvCerSeNCWG4Jjw
 9CkOf9AQdeObF9+wd3Xaat33fsRaIAhKLWlu7Lx/ECkF/06zrPKvGmH2Pdv/s/hgKUi4
 48YyGF6BK/bMJzVevlpyd9rjA5COGqr0Woz2qie/TLxRnXFoPm6Jl01FFiJ7YHqr2bWE
 NK+lXaI6tMJdr0K7UYEnThfyNEj9h2CnzTDJKCvuDjFodzArHXDGxK6Fkp7Xo39BnDEQ
 fdOA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:sender:subject:to:cc:references:from:message-id
 :date:user-agent:mime-version:in-reply-to:content-language
 :content-transfer-encoding;
 bh=ZOLxYhS+RFu30L6kXWj91AoIfQv7LcUXzEq9ulpLobc=;
 b=cF2bSqAlkcJR3uMn22Dd8rwUVCtRTfEp0DHbXm3E2+GjHxI02ECop/38XJG7oTXu13
 nvZI0iq4HXkiwhr9KaQgG1rj+5cVFVVUEM/5rdGaumWNx8pWtila5W3TPk5Vws0iWcFa
 XVq0F8o4D7cgm/HxeS52fj+YSPNJmSmwZuU+IUz4v8nfR9u89/ITxM/84xU6apNs6xIi
 FBoMxqP2U+BI4H2NZflF6l2WLWXqZQ5z+HtGZOcvCnjZQoP6FMp9W8WFnmyjVnlcmpDU
 nemVoBZ6w7rr0H0POvi24FZUVYfobdN5l39f6HgwGNLuwg9wWqHt8tyfqshaVrLyN/KF
 SH1g==
X-Gm-Message-State: AOAM533ijSwaU/PjkFtt7dyhWuOYM0AVT465MBAzBJAGRfBlWeEPU6fO
 hs7kk5DHNtwpkMLpbnlWRCWfUt6c5khKcw==
X-Google-Smtp-Source: ABdhPJyLNWHIJjMhaVIOObmjbYXQaQo7iG+hp3c2TCbIZoygnT5bVriTBg6Bc+kt5xn442AIat6NPA==
X-Received: by 2002:a19:8142:: with SMTP id c63mr173529lfd.175.1598907804313; 
 Mon, 31 Aug 2020 14:03:24 -0700 (PDT)
Received: from [192.168.0.104] ([94.229.108.16])
 by smtp.googlemail.com with ESMTPSA id v7sm2237564lfg.49.2020.08.31.14.03.23
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 31 Aug 2020 14:03:23 -0700 (PDT)
Subject: Re: bug#43117: [PATCH] Add .git-blame-ignore-revs file
To: Robert Pluim <rpluim@HIDDEN>
References: <197409406.192953.1598809591346@HIDDEN>
 <m2zh6bf7cu.fsf@HIDDEN> <9aa79095-18d6-d0bd-18ad-aa5d90f0bb1d@HIDDEN>
 <m2bliqftb1.fsf@HIDDEN> <ec9e6648-a846-42bc-ad95-477e824afbea@HIDDEN>
 <m27dtefs8r.fsf@HIDDEN>
From: Dmitry Gutov <dgutov@HIDDEN>
Message-ID: <c839dfb3-f1f2-06f0-678c-438e66bba2e8@HIDDEN>
Date: Tue, 1 Sep 2020 00:03:23 +0300
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
 Thunderbird/68.10.0
MIME-Version: 1.0
In-Reply-To: <m27dtefs8r.fsf@HIDDEN>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 8bit
X-Spam-Score: -1.9 (-)
X-Debbugs-Envelope-To: 43117
Cc: Brian Leung <leungbk@HIDDEN>, 43117 <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: -2.9 (--)

On 31.08.2020 23:57, Robert Pluim wrote:

>      Dmitry> Do we accept reindentation patches, though? Ones where the effective
>      Dmitry> indentation does change.
> 
> Didn╩╝t we just have this thread? :-)

I might have missed it. :-(

> Pure re-indentation patches I thought were not acceptable unless
> accompanied by an actual code change near the re-indented lines.

Okay.

Brian, could you re-submit patches without extra re-indentation?




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

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


Received: (at 43117) by debbugs.gnu.org; 31 Aug 2020 20:57:51 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Aug 31 16:57:51 2020
Received: from localhost ([127.0.0.1]:53900 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kCqsA-0003MI-RM
	for submit <at> debbugs.gnu.org; Mon, 31 Aug 2020 16:57:51 -0400
Received: from mail-wm1-f51.google.com ([209.85.128.51]:51054)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <rpluim@HIDDEN>) id 1kCqs8-0003M2-7z
 for 43117 <at> debbugs.gnu.org; Mon, 31 Aug 2020 16:57:50 -0400
Received: by mail-wm1-f51.google.com with SMTP id e17so773160wme.0
 for <43117 <at> debbugs.gnu.org>; Mon, 31 Aug 2020 13:57:48 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=from:to:cc:subject:references:date:in-reply-to:message-id
 :mime-version:content-transfer-encoding;
 bh=jXXHKMscQfEROESOQLyf3ZF4AFfrgqDlkKjIJ73Ka9g=;
 b=Z+rHMmTkWdAoQ9nPsUy4Cm96HpwFOT9mYva9oCk+U/ftgQxmho5FVp8mLKKHCZDuG2
 tnYrgHKmb1r044qp2RaE37AflbrmE10Oio0blTkr9uWO2Cl391lHww0MlC6KMGz5AcDk
 Lv7Q07qm/bZu2DtHOZHWzG+dTS+bzfUzFfNKIgsuKqkSuQs8+9LPQMA3yR4V2FGWpECL
 oPpshWrvB6IkcQTdBgAc7BjztRKPHXh8/uChBP/waNvCSO6EeOQCjmdGgyJS5XU5E36T
 GMA/LgXvOh8H2BrH21PAKFZbaYCVo69UIkG69MSdOeJveGK38Ddb+TXmqX6i+S84ngEY
 uPqQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to
 :message-id:mime-version:content-transfer-encoding;
 bh=jXXHKMscQfEROESOQLyf3ZF4AFfrgqDlkKjIJ73Ka9g=;
 b=sSonpRO/7zvMlGatbkBH9rwZahw0ZztmHmGNgE0zc/5G61wB30QDLdQjAVMvMON/af
 +XL8QeIIzo99AVb7C9KX0plEPlI6W4basj0BVvTKOOzh7rWk0vGzU/pm45ZZL+MO+jQy
 +ZGiNTA2ioOqu/leAnQRmDnWiu/VyPUNl73d7aJh+LH5pZyAaXj4QeBm/fLwJYRV/fgt
 BV9fZWVK8lhluQVIK02OzRBXW4wbd10a9Knp1nDgiQKh6p/Ak4WQo+Y0e/6flP9V+APY
 wUEaGzJpcgipD5kxMJpQBvdCFlnO6IHge/vWYnDMhYw3kzFFGfBRsiImtTWFKzulDiqU
 kbFw==
X-Gm-Message-State: AOAM533DuFYph+pEZ8y73UW8wA4Mc3DyOIthI7Uw9LDvp1PZLwlTfNEf
 lT2O2jpp2U1OB+IvxE78LhMMe0/AV93UUA==
X-Google-Smtp-Source: ABdhPJznE8uy5PpVzCp6FZ9Vw8NbSf0TQYG3P2CXBAW3wGfN17lq8vXoIyOxsjGlEDM611PV0xyStQ==
X-Received: by 2002:a7b:c00c:: with SMTP id c12mr1107608wmb.54.1598907461897; 
 Mon, 31 Aug 2020 13:57:41 -0700 (PDT)
Received: from rpluim-mac ([2a01:e34:ecfc:a860:4833:59bb:ac1c:3d8d])
 by smtp.gmail.com with ESMTPSA id t13sm13523032wru.65.2020.08.31.13.57.40
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 31 Aug 2020 13:57:41 -0700 (PDT)
From: Robert Pluim <rpluim@HIDDEN>
To: Dmitry Gutov <dgutov@HIDDEN>
Subject: Re: bug#43117: [PATCH] Add .git-blame-ignore-revs file
References: <197409406.192953.1598809591346@HIDDEN>
 <m2zh6bf7cu.fsf@HIDDEN>
 <9aa79095-18d6-d0bd-18ad-aa5d90f0bb1d@HIDDEN>
 <m2bliqftb1.fsf@HIDDEN>
 <ec9e6648-a846-42bc-ad95-477e824afbea@HIDDEN>
Date: Mon, 31 Aug 2020 22:57:40 +0200
In-Reply-To: <ec9e6648-a846-42bc-ad95-477e824afbea@HIDDEN> (Dmitry Gutov's
 message of "Mon, 31 Aug 2020 23:45:55 +0300")
Message-ID: <m27dtefs8r.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 43117
Cc: Brian Leung <leungbk@HIDDEN>, 43117 <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 (-)

>>>>> On Mon, 31 Aug 2020 23:45:55 +0300, Dmitry Gutov <dgutov@HIDDEN> s=
aid:

    Dmitry> On 31.08.2020 23:34, Robert Pluim wrote:
    Dmitry> On 31.08.2020 13:16, Robert Pluim wrote:
    >> >> You've configured emacs to replace TAB with SPC.
    Dmitry> That's what our .dir-locals.el does, doesn't it?
    >> Only for lines that you change. The patch has wholesale TAB->SPC
    >> replacement for lines which haven't otherwise been modified.

    Dmitry> Right.

    Dmitry> In that case, we should probably clarify that we don't usually
    Dmitry> whitespace-only changes far from the code that's being changes.

    Dmitry> Do we accept reindentation patches, though? Ones where the effe=
ctive
    Dmitry> indentation does change.

Didn=CA=BCt we just have this thread? :-)

Pure re-indentation patches I thought were not acceptable unless
accompanied by an actual code change near the re-indented lines.

Robert




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

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


Received: (at 43117) by debbugs.gnu.org; 31 Aug 2020 20:46:14 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Aug 31 16:46:13 2020
Received: from localhost ([127.0.0.1]:53845 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kCqgv-00032n-Ly
	for submit <at> debbugs.gnu.org; Mon, 31 Aug 2020 16:46:13 -0400
Received: from mail-lf1-f44.google.com ([209.85.167.44]:32825)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <raaahh@HIDDEN>) id 1kCqgl-00031h-R8
 for 43117 <at> debbugs.gnu.org; Mon, 31 Aug 2020 16:46:08 -0400
Received: by mail-lf1-f44.google.com with SMTP id x77so4289402lfa.0
 for <43117 <at> debbugs.gnu.org>; Mon, 31 Aug 2020 13:46:03 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=sender:subject:to:cc:references:from:message-id:date:user-agent
 :mime-version:in-reply-to:content-language:content-transfer-encoding;
 bh=M385yrQIozDA+YMvjmdnnuzIQF2KiQP74WQv8RHuyYw=;
 b=b82UqCelx4GyWeYT8Nnv5dLc0OE1r/kbapzPx0YmQHjrkC5aJnBWHy4KBtH9fN3svg
 v987+PDCdfJhQy3kmLgryXGCWkNPLfKsGoAXo7uv0vAcewSePVPbtFxt4jcvYQJd5nxr
 r59Rec/w18D6++Wld1yBYHcHchieHi2bpnMRnB6pvTwYOuPyMT6ibdORq3oQ3JsK8Vq2
 WogyFBAtfXrnCFZcgsUnGmnua5Piju5uqOv43XiwDCFfd2DbTQXFekw7pFU5ON/0Qrl3
 aLtMJX9qi0XbxWeYhtNXOPD6jx7rJ7OEh0VlmSLbWwsG/MkODi4GA+MTHEFMrrW6i9Z2
 L0ng==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:sender:subject:to:cc:references:from:message-id
 :date:user-agent:mime-version:in-reply-to:content-language
 :content-transfer-encoding;
 bh=M385yrQIozDA+YMvjmdnnuzIQF2KiQP74WQv8RHuyYw=;
 b=EOuWW/9jQp6EHjWXpFar0qbFGbcRund9gX6DenufK+UHk6cVMQ81DqEkovviqn8au0
 MA2CYBHDlnx0/7G6euy20SBKx938SsUzllT54LNZdIGY0e7rtqux3NtNaFtRDGTFpDJU
 MSFjPsBRvfin4g8+Sy6u7vd33F4N40oMCz7m7U6P5KL4fs/88GvbG7Ice1r1Z31jILRs
 g3PeuYSuQyvmwX0xpMpNTY/NMRFhgZ5Q5hSsH48cYAg1SIEPbMJagSu9hbSBnc5cJbXl
 sx1KSoqVP4G/luBUIWELYVYdoA7+WkFYgf1C0TC+bf6hjJPJzlTYeLK60A4esELc9TM/
 ysXQ==
X-Gm-Message-State: AOAM531skHJM2om3I+cSDe8HSW110vRzpr0tOc7QVvypFiJccfwKBu2f
 kRG33xaAl3RZYNTZXv1wKVT9YUuEx35c/A==
X-Google-Smtp-Source: ABdhPJwX/p8LWttimOgXzJfYJXMLD3wkFn25Q/63W/gMH3XcTIrwJtQ8WNggnVHkQhsMKPaNyr+12g==
X-Received: by 2002:a19:23c6:: with SMTP id j189mr1460872lfj.79.1598906757375; 
 Mon, 31 Aug 2020 13:45:57 -0700 (PDT)
Received: from [192.168.0.104] ([94.229.108.16])
 by smtp.googlemail.com with ESMTPSA id n24sm2209647lfe.38.2020.08.31.13.45.55
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 31 Aug 2020 13:45:56 -0700 (PDT)
Subject: Re: bug#43117: [PATCH] Add .git-blame-ignore-revs file
To: Robert Pluim <rpluim@HIDDEN>
References: <197409406.192953.1598809591346@HIDDEN>
 <m2zh6bf7cu.fsf@HIDDEN> <9aa79095-18d6-d0bd-18ad-aa5d90f0bb1d@HIDDEN>
 <m2bliqftb1.fsf@HIDDEN>
From: Dmitry Gutov <dgutov@HIDDEN>
Message-ID: <ec9e6648-a846-42bc-ad95-477e824afbea@HIDDEN>
Date: Mon, 31 Aug 2020 23:45:55 +0300
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
 Thunderbird/68.10.0
MIME-Version: 1.0
In-Reply-To: <m2bliqftb1.fsf@HIDDEN>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-Spam-Score: -1.9 (-)
X-Debbugs-Envelope-To: 43117
Cc: Brian Leung <leungbk@HIDDEN>, 43117 <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: -2.9 (--)

On 31.08.2020 23:34, Robert Pluim wrote:
>      Dmitry> On 31.08.2020 13:16, Robert Pluim wrote:
>      >> You've configured emacs to replace TAB with SPC.
> 
>      Dmitry> That's what our .dir-locals.el does, doesn't it?
> 
> Only for lines that you change. The patch has wholesale TAB->SPC
> replacement for lines which haven't otherwise been modified.

Right.

In that case, we should probably clarify that we don't usually 
whitespace-only changes far from the code that's being changes.

Do we accept reindentation patches, though? Ones where the effective 
indentation does change.




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

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


Received: (at 43117) by debbugs.gnu.org; 31 Aug 2020 20:34:54 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Aug 31 16:34:54 2020
Received: from localhost ([127.0.0.1]:53834 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kCqVy-0002m2-7y
	for submit <at> debbugs.gnu.org; Mon, 31 Aug 2020 16:34:54 -0400
Received: from mail-wr1-f50.google.com ([209.85.221.50]:39339)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <rpluim@HIDDEN>) id 1kCqVv-0002lp-6D
 for 43117 <at> debbugs.gnu.org; Mon, 31 Aug 2020 16:34:52 -0400
Received: by mail-wr1-f50.google.com with SMTP id a17so6367494wrn.6
 for <43117 <at> debbugs.gnu.org>; Mon, 31 Aug 2020 13:34:51 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=from:to:cc:subject:references:date:in-reply-to:message-id
 :mime-version; bh=BZ4gQz0wRI86d0+xUrkbks3QGxWbC/lMx2mT0GKKUos=;
 b=k9jwV+x8GjswgQPp/8+V8snJqaa3KLwZV3txfdZLiQ/43CqAzru56lgstVfD5DYZTW
 NglCmHrcG02yqaff04zBmJeCI6JgjlR/d4wy+yLjQvEA6/vXAp/eQAJHrQiHdJlDp5rb
 Gl2xv7e6CTnm7oEkNa+MMNAcduUa7wj1IU+40NpVzPhAHhsQcVePHN5+HZmmDWKt/u7S
 glUq4PwHNLps9wr1zuBQzTZg1XY0rtWnNVXyT6W503/+Zh8KY/qEi6NRtAknKgGc23BQ
 etsmPN3rE9uGkKjEcjxXzcCYDRui5Y1jY613DPEOh4iBzp3jpB5mDcTSTJnodG4+rbTJ
 pF9A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to
 :message-id:mime-version;
 bh=BZ4gQz0wRI86d0+xUrkbks3QGxWbC/lMx2mT0GKKUos=;
 b=Rg9loQmmbCrmyjj+HZb8O8tPJqwpv3rD7rkvmiv0S23Zye2miloXfz056chMYGYD1+
 b2SaJP7ssPYKM4lwzZahTtCATju9ZgKnj9Dy3ujbr62I6T3GOErjHx169uFoV87SbR5/
 TWG9FxtKX7YzEm72w55w6tNYYSyQLAvEfajDSF/Jt/A94B6SnWaKhNoP/TSywQtwShjO
 tBux0XGxb6GbvaJGhFeLmEej8Wsrjd9J6ILJeEKClyw5meCyuUvu73A78VL5AUsL6G3k
 l7q4wRN/qwjAdI7rS3eTw3D6a1sxvXLghQ583Zxk13XFHxB5xkvAbPV52XO+2e2g3rpp
 llmA==
X-Gm-Message-State: AOAM532G+zjkbqfq4OLzTM7Nc9ufXQMwsweylFlqGwKxlgjZSFJpunOw
 yl5idjONJh00GvFAO5l09b8=
X-Google-Smtp-Source: ABdhPJyGe7uMg6TeYUXBhsSBlPcEQK4EiJtvcJP+TRiJ6aQ2JtpJcUuHwpDoB8lgeFWSoXp09S1F0Q==
X-Received: by 2002:adf:d4c1:: with SMTP id w1mr3153912wrk.108.1598906085186; 
 Mon, 31 Aug 2020 13:34:45 -0700 (PDT)
Received: from rpluim-mac ([2a01:e34:ecfc:a860:4833:59bb:ac1c:3d8d])
 by smtp.gmail.com with ESMTPSA id u126sm1201165wmu.9.2020.08.31.13.34.43
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 31 Aug 2020 13:34:44 -0700 (PDT)
From: Robert Pluim <rpluim@HIDDEN>
To: Dmitry Gutov <dgutov@HIDDEN>
Subject: Re: bug#43117: [PATCH] Add .git-blame-ignore-revs file
References: <197409406.192953.1598809591346@HIDDEN>
 <m2zh6bf7cu.fsf@HIDDEN>
 <9aa79095-18d6-d0bd-18ad-aa5d90f0bb1d@HIDDEN>
Date: Mon, 31 Aug 2020 22:34:42 +0200
In-Reply-To: <9aa79095-18d6-d0bd-18ad-aa5d90f0bb1d@HIDDEN> (Dmitry Gutov's
 message of "Mon, 31 Aug 2020 23:11:37 +0300")
Message-ID: <m2bliqftb1.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 43117
Cc: Brian Leung <leungbk@HIDDEN>, 43117 <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 (-)

>>>>> On Mon, 31 Aug 2020 23:11:37 +0300, Dmitry Gutov <dgutov@HIDDEN> said:

    Dmitry> On 31.08.2020 13:16, Robert Pluim wrote:
    >> You've configured emacs to replace TAB with SPC.

    Dmitry> That's what our .dir-locals.el does, doesn't it?

Only for lines that you change. The patch has wholesale TAB->SPC
replacement for lines which haven't otherwise been modified.

Robert




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

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


Received: (at 43117) by debbugs.gnu.org; 31 Aug 2020 20:11:55 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Aug 31 16:11:55 2020
Received: from localhost ([127.0.0.1]:53780 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kCq9j-00029e-2E
	for submit <at> debbugs.gnu.org; Mon, 31 Aug 2020 16:11:55 -0400
Received: from mail-lj1-f175.google.com ([209.85.208.175]:46247)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <raaahh@HIDDEN>) id 1kCq9e-00029F-0j
 for 43117 <at> debbugs.gnu.org; Mon, 31 Aug 2020 16:11:54 -0400
Received: by mail-lj1-f175.google.com with SMTP id h19so8144014ljg.13
 for <43117 <at> debbugs.gnu.org>; Mon, 31 Aug 2020 13:11:49 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=sender:subject:to:cc:references:from:message-id:date:user-agent
 :mime-version:in-reply-to:content-language:content-transfer-encoding;
 bh=fVFWZI3crEOfs1izNoEoYvyHBFr8HqTVcE9W4J98+6w=;
 b=uULOybSZAQXMYjernCYj1wNCnhSnHBYwfNuGk3Ke2KVhBNMj7iPRjpqXPiVW7r/NQV
 gJK0mrWbrkUIAfFYttwn9I1/oyBClc6gKlTHAVmZYS03zz/iGrJcBDQDuH74v9THJ6Ky
 s0JvBe/a5IJTyyGL2F67PKUmotoiWDAVdXMgenlSsgqmkhITL7uB69NCvgwTRwMqSrgn
 /u6/xPy3L4tpkMJEp5F4hOyogfCTANNJT3rHmQ/Dy8T7NQH5XxYZj9pmGC0/xDYdcFXk
 KM8dI5o4qLEUQV9Glf3CXFQV+b9iXh2GKGtTicnS2yfnGXusEi6GqlheFT3+c10s9vv2
 GwcQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:sender:subject:to:cc:references:from:message-id
 :date:user-agent:mime-version:in-reply-to:content-language
 :content-transfer-encoding;
 bh=fVFWZI3crEOfs1izNoEoYvyHBFr8HqTVcE9W4J98+6w=;
 b=gF922SShhCuvO8OtjrCpWM64OGkK61QGC4zv6HW58Fxo9LtJqXDv11YZgYkgfiRWIj
 JoDDExF5R4c+25tnC0jQ7OaSTrRun37ujpij9EJkm3AuraBlSAasTXulDoOPfwsTSW3L
 bPSZHRi9GGP25BTqwce+kYugmpG2F99omVLBtMeJDj7tOPEpV93slPZsXYeb06fM+L4U
 nEDEUTX8Ia1VI732TPnrnWEIWMv4QK3lnMpzkwLbYRIQIyqX+RYZRMOJcsrAlA/tVul4
 RzWAdMZTkOjRgH/yQiE3LG5qJfXgpCi+7C73PNaMIUVwrcxZX3Z/vyuB6EqnHBIPMxhL
 9Fzw==
X-Gm-Message-State: AOAM531th2ZuaCm788CimgZUTf6SO9dHoC9qjYSu/i2BGKmFBc95Zvuo
 xdXN2MPE4Gn7tLAr3ZiKcoU=
X-Google-Smtp-Source: ABdhPJwn9Cw1Pth22QsiZNxC8FxGuQu2hF4pwxDH+dHsuvnngJeDaRwHASv4F0g9JD0J9hY816ExMw==
X-Received: by 2002:a05:651c:1b4:: with SMTP id
 c20mr1303710ljn.432.1598904703959; 
 Mon, 31 Aug 2020 13:11:43 -0700 (PDT)
Received: from [192.168.0.104] ([94.229.108.16])
 by smtp.googlemail.com with ESMTPSA id e21sm2209136lfc.97.2020.08.31.13.11.43
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 31 Aug 2020 13:11:43 -0700 (PDT)
Subject: Re: bug#43117: [PATCH] Add .git-blame-ignore-revs file
To: Robert Pluim <rpluim@HIDDEN>, 43117 <at> debbugs.gnu.org
References: <197409406.192953.1598809591346@HIDDEN>
 <m2zh6bf7cu.fsf@HIDDEN>
From: Dmitry Gutov <dgutov@HIDDEN>
Message-ID: <9aa79095-18d6-d0bd-18ad-aa5d90f0bb1d@HIDDEN>
Date: Mon, 31 Aug 2020 23:11:37 +0300
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
 Thunderbird/68.10.0
MIME-Version: 1.0
In-Reply-To: <m2zh6bf7cu.fsf@HIDDEN>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-Spam-Score: -1.9 (-)
X-Debbugs-Envelope-To: 43117
Cc: Brian Leung <leungbk@HIDDEN>
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: -2.9 (--)

On 31.08.2020 13:16, Robert Pluim wrote:
> You've configured emacs to replace TAB with SPC.

That's what our .dir-locals.el does, doesn't it?




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

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


Received: (at 43117) by debbugs.gnu.org; 31 Aug 2020 10:16:42 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Aug 31 06:16:42 2020
Received: from localhost ([127.0.0.1]:51614 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kCgri-0005p8-5B
	for submit <at> debbugs.gnu.org; Mon, 31 Aug 2020 06:16:42 -0400
Received: from mail-wr1-f45.google.com ([209.85.221.45]:35508)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <rpluim@HIDDEN>) id 1kCgrg-0005ov-G8
 for 43117 <at> debbugs.gnu.org; Mon, 31 Aug 2020 06:16:41 -0400
Received: by mail-wr1-f45.google.com with SMTP id e16so5365464wrm.2
 for <43117 <at> debbugs.gnu.org>; Mon, 31 Aug 2020 03:16:40 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=from:to:cc:subject:references:date:in-reply-to:message-id
 :mime-version:content-transfer-encoding;
 bh=FmvQn616TLqGftNb4fZiTlJkWVe4vNFllzbmVzLSBdQ=;
 b=OeTFwXvOkQDLWoNaRgALWIREI5bLNz9CW6GetPAQ73nvKpGGTpT0YT/aRfll0t83Q3
 i+7YMZHLOtLg/L6GeYAKcZW0ejPbe9ttMgBxmfKIA+FLNVrI8zvr6RCSIEbJkmTHCf4Q
 D26v3XzjvSkt6kPC1vi8LjOF5sFesS0tvGwPppHu5FKMzEYwnXQ3FfjZKCSwu06eJkmx
 vH6gblrgfE6XnzR3ngRP86gJEc4P8/Dl4PCj+iXEOWsgrxwSCLrqimG0p8M5RFlU1Xl4
 +Gh+v88Lk1wdoiIrcJUloI9K8v0acOxBtp6iH4/2RY5e+ShM5DcW2rKVVB4raDVNaBST
 37ww==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to
 :message-id:mime-version:content-transfer-encoding;
 bh=FmvQn616TLqGftNb4fZiTlJkWVe4vNFllzbmVzLSBdQ=;
 b=k0s6FNxuX+RG53VabcBb+dRDC7bSLMld0flzSpXKCVuc8IlBbMYzByc/Oh/0e9ce1t
 eAsdc9ONvUcnT2qMZvaESD+j7GdieashMFY17Iv00+5WSA94S9Dr5GdeHVd8XklSKBVB
 myCYOd8qhmnjaMhiV3YC8ndYP+8zbzjkCTmJoECaOvSvHD/HiVjwHi9l6svVKL9Lek/Y
 SSqE+f0ZG/hV7yi0D8oy5OYIcJRCv2vqLgfxCbPSk/Z4wGTFHJrVtainbGThIOl0wibz
 zl7mJN/oMqGd3R+fugFs35W0kyplS0wCz1pKz9dGyhcSDQJY0MEmR2NYsZ8UisDaFuRK
 WO2g==
X-Gm-Message-State: AOAM533SEsP3BUM56z0BjtTiSz7rS7Q2IAbs/brMpC5zUjzUkp9DAhzE
 sDl9VPUjOMDFG0B7TdCDuv9ogekB0Rc=
X-Google-Smtp-Source: ABdhPJwgq7aMMScODlZh1B8PvHEaZsBfFNCMh/RP2MzK1JucCewyBXklDNTeDr4pZj4bNoCBqcG1mA==
X-Received: by 2002:adf:c3cc:: with SMTP id d12mr952846wrg.399.1598868994899; 
 Mon, 31 Aug 2020 03:16:34 -0700 (PDT)
Received: from rpluim-mac ([2a01:e34:ecfc:a860:4833:59bb:ac1c:3d8d])
 by smtp.gmail.com with ESMTPSA id g9sm11715724wrw.63.2020.08.31.03.16.34
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 31 Aug 2020 03:16:34 -0700 (PDT)
From: Robert Pluim <rpluim@HIDDEN>
To: 43117 <at> debbugs.gnu.org
Subject: Re: bug#43117: [PATCH] Add .git-blame-ignore-revs file
References: <197409406.192953.1598809591346@HIDDEN>
Date: Mon, 31 Aug 2020 12:16:33 +0200
In-Reply-To: <197409406.192953.1598809591346@HIDDEN> (Brian Leung
 via's message of "Sun, 30 Aug 2020 19:46:31 +0200 (CEST)")
Message-ID: <m2zh6bf7cu.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 43117
Cc: Brian Leung <leungbk@HIDDEN>
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 (-)

>>>>> On Sun, 30 Aug 2020 19:46:31 +0200 (CEST), Brian Leung via "Bug repor=
ts for GNU Emacs, the Swiss army knife of text editors" <bug-gnu-emacs@gnu.=
org> said:

    Brian> I made some style changes to em-hist.el and registered that comm=
it in
    Brian> the new .git-blame-ignore-revs file to preserve blame data of ot=
her
    Brian> commits. The single-clause if statements frequently throw me off=
, so I
    Brian> think it's worth removing them now that there's a way to do so w=
ithout
    Brian> ruining git blame sessions.

    Brian> I signed an FSF copyright assignment about a year ago when I sub=
mitted
    Brian> something to the Emacs package Ivy. Attached are the files they =
sent
    Brian> me confirming successful registration. If I need to send somethi=
ng
    Brian> else instead, please let me know.

You've configured emacs to replace TAB with SPC. Please don=CA=BCt do that,
it makes it very hard to figure out what you've actually changed.

Robert




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

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


Received: (at submit) by debbugs.gnu.org; 30 Aug 2020 17:46:47 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Aug 30 13:46:47 2020
Received: from localhost ([127.0.0.1]:50701 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kCRPj-0000Zb-Hq
	for submit <at> debbugs.gnu.org; Sun, 30 Aug 2020 13:46:47 -0400
Received: from lists.gnu.org ([209.51.188.17]:55782)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <leungbk@HIDDEN>) id 1kCRPi-0000ZU-6Q
 for submit <at> debbugs.gnu.org; Sun, 30 Aug 2020 13:46:46 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:49662)
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <leungbk@HIDDEN>)
 id 1kCRPh-0007E0-St
 for bug-gnu-emacs@HIDDEN; Sun, 30 Aug 2020 13:46:46 -0400
Received: from wilbur.contactoffice.com ([212.3.242.68]:46824)
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <leungbk@HIDDEN>)
 id 1kCRPc-0003NJ-1b
 for bug-gnu-emacs@HIDDEN; Sun, 30 Aug 2020 13:46:45 -0400
Received: from ichabod.co-bxl (ichabod.co-bxl [10.2.0.36])
 by wilbur.contactoffice.com (Postfix) with ESMTP id 2972BB06
 for <bug-gnu-emacs@HIDDEN>; Sun, 30 Aug 2020 19:46:35 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mailfence.com;
 s=20160819-nLV10XS2; t=1598809595;
 bh=94bo33zKjnCAkGIF3xQL4eYDS5UgcojHgXN94xcvKUQ=;
 h=Date:Subject:Reply-To:From:To:From;
 b=SPtbjZdqkPHwoOlFl8aA0JaLtuZITLOqaLhPHOLSiwLE0AI+Smtt78IE2TjZ6zj17
 NgvrGQHe8Fg2yLn+8+Je8z5iWS0t9nRyk9SNSi8QJcPPoVEzAgUNnIrBiI6xENLfCv
 OT3eNjmR3GnvWAJfi7j0nckoPvA0hWpj41eCYwujqXBETxxRk2d8LyLgCJXp6uWyxs
 nExGuKl7OOMA+bs5E+ItWNkAW2NPvw9Gr/O/371DBMIieBmvs95CDcGdH0+sPfb+q4
 SQ0CwW7fZcPFiv8fYZcxuWr+rX1aG+Z2NrKbaeAu03/FueeU4sb007b64c09BBzXUT
 oLpRA2Yq//CHw==
Date: Sun, 30 Aug 2020 19:46:31 +0200 (CEST)
Message-ID: <197409406.192953.1598809591346@HIDDEN>
MIME-Version: 1.0
Content-Type: multipart/mixed; 
 boundary="----=_Part_192799_133127925.1598809356621"
Subject: [PATCH] Add .git-blame-ignore-revs file
X-Priority: 3
From: Brian Leung <leungbk@HIDDEN>
To: bug-gnu-emacs@HIDDEN
X-Mailer: ContactOffice Mail
X-ContactOffice-Account: com:225491745
Received-SPF: pass client-ip=212.3.242.68; envelope-from=leungbk@HIDDEN;
 helo=wilbur.contactoffice.com
X-detected-operating-system: by eggs.gnu.org: First seen = 2020/08/30 13:46:35
X-ACL-Warn: Detected OS   = Linux 2.2.x-3.x [generic]
X-Spam_score_int: -27
X-Spam_score: -2.8
X-Spam_bar: --
X-Spam_report: (-2.8 / 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,
 RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H4=-0.01, RCVD_IN_MSPIKE_WL=-0.01,
 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-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>
Reply-To: Brian Leung <leungbk@HIDDEN>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>

------=_Part_192799_133127925.1598809356621
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

I made some style changes to em-hist.el and registered that commit in the n=
ew .git-blame-ignore-revs file to preserve blame data of other commits. The=
 single-clause if statements frequently throw me off, so I think it's worth=
 removing them now that there's a way to do so without ruining git blame se=
ssions.

I signed an FSF copyright assignment about a year ago when I submitted some=
thing to the Emacs package Ivy. Attached are the files they sent me confirm=
ing successful registration. If I need to send something else instead, plea=
se let me know.

Thanks,=20
Brian
--=C2=A0
Sent with https://mailfence.com
Secure and private email
------=_Part_192799_133127925.1598809356621
Content-Type: text/x-diff; charset=us-ascii; 
	name=0001-eshell-em-hist-Style-and-indentation-cleanup.patch
Content-Transfer-Encoding: 7bit
Content-Description: File Attachment:
 0001-eshell-em-hist-Style-and-indentation-cleanup.patch
Content-Disposition: attachment; 
	filename=0001-eshell-em-hist-Style-and-indentation-cleanup.patch

From faccfdb5aa35595ef5746ff98fe254f8ab32288e Mon Sep 17 00:00:00 2001
From: Brian Leung <leungbk@HIDDEN>
Date: Sun, 30 Aug 2020 10:25:16 -0700
Subject: [PATCH 1/2] eshell/em-hist: Style and indentation cleanup

* lisp/eshell/em-hist.el: Use spaces over tabs, when over
single-clause if, and more consistent indentation.
---
 lisp/eshell/em-hist.el | 728 ++++++++++++++++++++---------------------
 1 file changed, 364 insertions(+), 364 deletions(-)

diff --git a/lisp/eshell/em-hist.el b/lisp/eshell/em-hist.el
index 5cee1bad36..99a1229295 100644
--- a/lisp/eshell/em-hist.el
+++ b/lisp/eshell/em-hist.el
@@ -65,10 +65,10 @@
 
 ;;;###autoload
 (progn
-(defgroup eshell-hist nil
-  "This module provides command history management."
-  :tag "History list management"
-  :group 'eshell-module))
+  (defgroup eshell-hist nil
+    "This module provides command history management."
+    :tag "History list management"
+    :group 'eshell-module))
 
 ;;; User Variables:
 
@@ -93,13 +93,13 @@ eshell-history-file-name
 See also `eshell-read-history' and `eshell-write-history'.
 If it is nil, Eshell will use the value of HISTFILE."
   :type '(choice (const :tag "Use HISTFILE" nil)
-		 file)
+                 file)
   :group 'eshell-hist)
 
 (defcustom eshell-history-size 128
   "Size of the input history ring.  If nil, use envvar HISTSIZE."
   :type '(choice (const :tag "Use HISTSIZE" nil)
-		 integer)
+                 integer)
   :group 'eshell-hist)
 
 (defcustom eshell-hist-ignoredups nil
@@ -117,8 +117,8 @@ eshell-save-history-on-exit
 If set to `ask', ask if any Eshell buffers are open at exit time.
 If set to t, history will always be saved, silently."
   :type '(choice (const :tag "Never" nil)
-		 (const :tag "Ask" ask)
-		 (const :tag "Always save" t))
+                 (const :tag "Ask" ask)
+                 (const :tag "Always save" t))
   :group 'eshell-hist)
 
 (defcustom eshell-input-filter 'eshell-input-filter-default
@@ -179,8 +179,8 @@ eshell-hist-rebind-keys-alist
     ([down]           . eshell-next-matching-input-from-input))
   "History keys to bind differently if point is in input text."
   :type '(repeat (cons (vector :tag "Keys to bind"
-			       (repeat :inline t sexp))
-		       (function :tag "Command")))
+                               (repeat :inline t sexp))
+                       (function :tag "Command")))
   :group 'eshell-hist)
 
 ;;; Internal Variables:
@@ -215,11 +215,11 @@ eshell-hist-mode-map
     ;; FIXME: Relies on `eshell-hist-match-partial' being set _before_
     ;; em-hist is loaded and won't respect changes.
     (if eshell-hist-match-partial
-	(progn
-	  (define-key map [(meta ?p)] 'eshell-previous-matching-input-from-input)
-	  (define-key map [(meta ?n)] 'eshell-next-matching-input-from-input)
-	  (define-key map (kbd "C-c M-p") #'eshell-previous-input)
-	  (define-key map (kbd "C-c M-n") #'eshell-next-input))
+        (progn
+          (define-key map [(meta ?p)] 'eshell-previous-matching-input-from-input)
+          (define-key map [(meta ?n)] 'eshell-next-matching-input-from-input)
+          (define-key map (kbd "C-c M-p") #'eshell-previous-input)
+          (define-key map (kbd "C-c M-n") #'eshell-next-input))
       (define-key map [(meta ?p)] #'eshell-previous-input)
       (define-key map [(meta ?n)] #'eshell-next-input)
       (define-key map (kbd "C-c M-p") #'eshell-previous-matching-input-from-input)
@@ -252,27 +252,27 @@ eshell-hist-initialize
   "Initialize the history management code for one Eshell buffer."
   (when (eshell-using-module 'eshell-cmpl)
     (add-hook 'pcomplete-try-first-hook
-	      #'eshell-complete-history-reference nil t))
+              #'eshell-complete-history-reference nil t))
 
   (if (and (eshell-using-module 'eshell-rebind)
-	   (not eshell-non-interactive-p))
+           (not eshell-non-interactive-p))
       (let ((rebind-alist eshell-rebind-keys-alist))
-	(make-local-variable 'eshell-rebind-keys-alist)
-	(setq eshell-rebind-keys-alist
-	      (append rebind-alist eshell-hist-rebind-keys-alist))
-	(set (make-local-variable 'search-invisible) t)
-	(set (make-local-variable 'search-exit-option) t)
-	(add-hook 'isearch-mode-hook
-		  (function
-		   (lambda ()
-		     (if (>= (point) eshell-last-output-end)
-			 (setq overriding-terminal-local-map
-			       eshell-isearch-map))))
+        (make-local-variable 'eshell-rebind-keys-alist)
+        (setq eshell-rebind-keys-alist
+              (append rebind-alist eshell-hist-rebind-keys-alist))
+        (set (make-local-variable 'search-invisible) t)
+        (set (make-local-variable 'search-exit-option) t)
+        (add-hook 'isearch-mode-hook
+                  (function
+                   (lambda ()
+                     (when (>= (point) eshell-last-output-end)
+                       (setq overriding-terminal-local-map
+                             eshell-isearch-map))))
                   nil t)
-	(add-hook 'isearch-mode-end-hook
-		  (function
-		   (lambda ()
-		     (setq overriding-terminal-local-map nil)))
+        (add-hook 'isearch-mode-end-hook
+                  (function
+                   (lambda ()
+                     (setq overriding-terminal-local-map nil)))
                   nil t))
     (eshell-hist-mode))
 
@@ -280,11 +280,11 @@ eshell-hist-initialize
   (or eshell-history-size
       (let ((hsize (getenv "HISTSIZE")))
         (setq eshell-history-size
-	      (if (and (stringp hsize)
-		       (integerp (setq hsize (string-to-number hsize)))
-		       (> hsize 0))
-		  hsize
-		128))))
+              (if (and (stringp hsize)
+                       (integerp (setq hsize (string-to-number hsize)))
+                       (> hsize 0))
+                  hsize
+                128))))
 
   (make-local-variable 'eshell-history-file-name)
   (or eshell-history-file-name
@@ -296,8 +296,8 @@ eshell-hist-initialize
   (if (minibuffer-window-active-p (selected-window))
       (set (make-local-variable 'eshell-save-history-on-exit) nil)
     (set (make-local-variable 'eshell-history-ring) nil)
-    (if eshell-history-file-name
-	(eshell-read-history nil t))
+    (when eshell-history-file-name
+      (eshell-read-history nil t))
 
     (add-hook 'eshell-exit-hook #'eshell-write-history nil t))
 
@@ -314,17 +314,17 @@ eshell-hist-initialize
 (defun eshell-save-some-history ()
   "Save the history for any open Eshell buffers."
   (dolist (buf (buffer-list))
-    (if (buffer-live-p buf)
-	(with-current-buffer buf
-	  (if (and eshell-mode
-		   eshell-history-file-name
-		   eshell-save-history-on-exit
-		   (or (eq eshell-save-history-on-exit t)
-		       (y-or-n-p
-			(format-message
-			 "Save input history for Eshell buffer `%s'? "
-			 (buffer-name buf)))))
-	      (eshell-write-history))))))
+    (when (buffer-live-p buf)
+      (with-current-buffer buf
+        (when (and eshell-mode
+                   eshell-history-file-name
+                   eshell-save-history-on-exit
+                   (or (eq eshell-save-history-on-exit t)
+                       (y-or-n-p
+                        (format-message
+                         "Save input history for Eshell buffer `%s'? "
+                         (buffer-name buf)))))
+          (eshell-write-history))))))
 
 (defun eshell/history (&rest args)
   "List in help buffer the buffer's input history."
@@ -332,44 +332,44 @@ eshell/history
   (eshell-eval-using-options
    "history" args
    '((?r "read" nil read-history
-	 "read from history file to current history list")
+         "read from history file to current history list")
      (?w "write" nil write-history
-	 "write current history list to history file")
+         "write current history list to history file")
      (?a "append" nil append-history
-	 "append current history list to history file")
+         "append current history list to history file")
      (?h "help" nil nil "display this usage message")
      :usage "[n] [-rwa [filename]]"
      :post-usage
-"When Eshell is started, history is read from `eshell-history-file-name'.
+     "When Eshell is started, history is read from `eshell-history-file-name'.
 This is also the location where history info will be saved by this command,
 unless a different file is specified on the command line.")
    (and (or (not (ring-p eshell-history-ring))
-	   (ring-empty-p eshell-history-ring))
-	(error "No history"))
+            (ring-empty-p eshell-history-ring))
+        (error "No history"))
    (let (length file)
      (when (and args (string-match "^[0-9]+$" (car args)))
        (setq length (min (eshell-convert (car args))
-			 (ring-length eshell-history-ring))
-	     args (cdr args)))
+                         (ring-length eshell-history-ring))
+             args (cdr args)))
      (and length
-	  (or read-history write-history append-history)
-	  (error "history: extra arguments"))
+          (or read-history write-history append-history)
+          (error "history: extra arguments"))
      (when (and args (stringp (car args)))
        (setq file (car args)
-	     args (cdr args)))
+             args (cdr args)))
      (cond
       (read-history (eshell-read-history file))
       (write-history (eshell-write-history file))
       (append-history (eshell-write-history file t))
       (t
        (let* ((index (1- (or length (ring-length eshell-history-ring))))
-	      (ref (- (ring-length eshell-history-ring) index)))
-	 ;; We have to build up a list ourselves from the ring vector.
-	 (while (>= index 0)
-	   (eshell-buffered-print
-	    (format "%5d  %s\n" ref (eshell-get-history index)))
-	   (setq index (1- index)
-		 ref (1+ ref)))))))
+              (ref (- (ring-length eshell-history-ring) index)))
+         ;; We have to build up a list ourselves from the ring vector.
+         (while (>= index 0)
+           (eshell-buffered-print
+            (format "%5d  %s\n" ref (eshell-get-history index)))
+           (setq index (1- index)
+                 ref (1+ ref)))))))
    (eshell-flush)
    nil))
 
@@ -389,12 +389,12 @@ eshell-add-input-to-history
 Input is entered into the input history ring, if the value of
 variable `eshell-input-filter' returns non-nil when called on the
 input."
-  (if (and (funcall eshell-input-filter input)
-	   (or (null eshell-hist-ignoredups)
-	       (not (ring-p eshell-history-ring))
-	       (ring-empty-p eshell-history-ring)
-	       (not (string-equal (eshell-get-history 0) input))))
-      (eshell-put-history input))
+  (when (and (funcall eshell-input-filter input)
+             (or (null eshell-hist-ignoredups)
+                 (not (ring-p eshell-history-ring))
+                 (ring-empty-p eshell-history-ring)
+                 (not (string-equal (eshell-get-history 0) input))))
+    (eshell-put-history input))
   (setq eshell-save-history-index eshell-history-index)
   (setq eshell-history-index nil))
 
@@ -416,7 +416,7 @@ eshell-add-to-history
 command."
   (when (> (1- eshell-last-input-end) eshell-last-input-start)
     (let ((input (buffer-substring eshell-last-input-start
-				   (1- eshell-last-input-end))))
+                                   (1- eshell-last-input-end))))
       (eshell-add-input-to-history input))))
 
 (defun eshell-read-history (&optional filename silent)
@@ -437,32 +437,32 @@ eshell-read-history
   (let ((file (or filename eshell-history-file-name)))
     (cond
      ((or (null file)
-	  (equal file ""))
+          (equal file ""))
       nil)
      ((not (file-readable-p file))
       (or silent
-	  (message "Cannot read history file %s" file)))
+          (message "Cannot read history file %s" file)))
      (t
       (let* ((count 0)
-	     (size eshell-history-size)
-	     (ring (make-ring size))
-	     (ignore-dups eshell-hist-ignoredups))
-	(with-temp-buffer
-	  (insert-file-contents file)
-	  ;; Watch for those date stamps in history files!
-	  (goto-char (point-max))
-	  (while (and (< count size)
-		      (re-search-backward "^[ \t]*\\([^#\n].*\\)[ \t]*$"
-					  nil t))
-	    (let ((history (match-string 1)))
-	      (if (or (null ignore-dups)
-		      (ring-empty-p ring)
-		      (not (string-equal (ring-ref ring 0) history)))
-		  (ring-insert-at-beginning
-		   ring (subst-char-in-string ?\177 ?\n history))))
-	    (setq count (1+ count))))
-	(setq eshell-history-ring ring
-	      eshell-history-index nil))))))
+             (size eshell-history-size)
+             (ring (make-ring size))
+             (ignore-dups eshell-hist-ignoredups))
+        (with-temp-buffer
+          (insert-file-contents file)
+          ;; Watch for those date stamps in history files!
+          (goto-char (point-max))
+          (while (and (< count size)
+                      (re-search-backward "^[ \t]*\\([^#\n].*\\)[ \t]*$"
+                                          nil t))
+            (let ((history (match-string 1)))
+              (when (or (null ignore-dups)
+                        (ring-empty-p ring)
+                        (not (string-equal (ring-ref ring 0) history)))
+                (ring-insert-at-beginning
+                 ring (subst-char-in-string ?\177 ?\n history))))
+            (setq count (1+ count))))
+        (setq eshell-history-ring ring
+              eshell-history-index nil))))))
 
 (defun eshell-write-history (&optional filename append)
   "Writes the buffer's `eshell-history-ring' to a history file.
@@ -475,70 +475,70 @@ eshell-write-history
 
 See also `eshell-read-history'."
   (let* ((file (or filename eshell-history-file-name))
-	 (resolved-file (if (stringp file) (file-truename file))))
+         (resolved-file (when (stringp file) (file-truename file))))
     (cond
      ((or (null file)
-	  (equal file "")
-	  (null eshell-history-ring)
-	  (ring-empty-p eshell-history-ring))
+          (equal file "")
+          (null eshell-history-ring)
+          (ring-empty-p eshell-history-ring))
       nil)
      ((not (file-writable-p resolved-file))
       (message "Cannot write history file %s" resolved-file))
      (t
       (let* ((ring eshell-history-ring)
-	     (index (ring-length ring)))
-	;; Write it all out into a buffer first.  Much faster, but
-	;; messier, than writing it one line at a time.
-	(with-temp-buffer
-	  (while (> index 0)
-	    (setq index (1- index))
-	    (let ((start (point)))
+             (index (ring-length ring)))
+        ;; Write it all out into a buffer first.  Much faster, but
+        ;; messier, than writing it one line at a time.
+        (with-temp-buffer
+          (while (> index 0)
+            (setq index (1- index))
+            (let ((start (point)))
               ;; Remove properties before inserting, to avoid trouble
               ;; with read-only strings (Bug#28700).
               (insert (substring-no-properties (ring-ref ring index)) ?\n)
-	      (subst-char-in-region start (1- (point)) ?\n ?\177)))
-	  (eshell-with-private-file-modes
-	   (write-region (point-min) (point-max) resolved-file append
-			 'no-message))))))))
+              (subst-char-in-region start (1- (point)) ?\n ?\177)))
+          (eshell-with-private-file-modes
+           (write-region (point-min) (point-max) resolved-file append
+                         'no-message))))))))
 
 (defun eshell-list-history ()
   "List in help buffer the buffer's input history."
   (interactive)
   (let (prefix prelen)
     (save-excursion
-      (if (re-search-backward "!\\(.+\\)" (line-beginning-position) t)
-	  (setq prefix (match-string 1)
-		prelen (length prefix))))
+      (when (re-search-backward "!\\(.+\\)" (line-beginning-position) t)
+        (setq prefix (match-string 1)
+              prelen (length prefix))))
     (if (or (not (ring-p eshell-history-ring))
-	    (ring-empty-p eshell-history-ring))
-	(message "No history")
+            (ring-empty-p eshell-history-ring))
+        (message "No history")
       (let ((history nil)
-	    (history-buffer " *Input History*")
-	    (index (1- (ring-length eshell-history-ring)))
-	    (conf (current-window-configuration)))
-	;; We have to build up a list ourselves from the ring vector.
-	(while (>= index 0)
-	  (let ((hist (eshell-get-history index)))
-	    (if (or (not prefix)
-		    (and (>= (length hist) prelen)
-			 (string= (substring hist 0 prelen) prefix)))
-		(setq history (cons hist history))))
-	  (setq index (1- index)))
-	;; Change "completion" to "history reference"
-	;; to make the display accurate.
-	(with-output-to-temp-buffer history-buffer
-	  (display-completion-list
-	   (completion-hilit-commonality history (length prefix)))
-	  (set-buffer history-buffer)
-	  (forward-line 3)
-	  (while (search-backward "completion" nil 'move)
-	    (replace-match "history reference")))
-	(eshell-redisplay)
-	(message "Hit space to flush")
-	(let ((ch (read-event)))
-	  (if (eq ch ?\ )
-	      (set-window-configuration conf)
-	    (push ch unread-command-events)))))))
+            (history-buffer " *Input History*")
+            (index (1- (ring-length eshell-history-ring)))
+            (conf (current-window-configuration)))
+        ;; We have to build up a list ourselves from the ring vector.
+        (while (>= index 0)
+          (let ((hist (eshell-get-history index)))
+            (when (or (not prefix)
+                      (and (>= (length hist) prelen)
+                           (string= (substring hist 0 prelen) prefix)))
+              (setq history (cons hist history))))
+          (setq index (1- index)))
+        ;; Change "completion" to "history reference"
+        ;; to make the display accurate.
+        (with-output-to-temp-buffer history-buffer
+          (display-completion-list
+           (completion-hilit-commonality history (length prefix)))
+          (set-buffer history-buffer)
+          (forward-line 3)
+          (while (search-backward "completion" nil 'move)
+            (replace-match "history reference")))
+        (eshell-redisplay)
+        (message "Hit space to flush")
+        (let ((ch (read-event)))
+          (if (eq ch ?\ )
+              (set-window-configuration conf)
+            (push ch unread-command-events)))))))
 
 (defun eshell-hist-word-reference (ref)
   "Return the word designator index referred to by REF."
@@ -553,37 +553,37 @@ eshell-hist-word-reference
 (defun eshell-hist-parse-arguments (&optional b e)
   "Parse current command arguments in a history-code-friendly way."
   (let ((end (or e (point)))
-	(begin (or b (save-excursion (eshell-bol) (point))))
-	(posb (list t))
-	(pose (list t))
-	(textargs (list t))
-	hist args)
+        (begin (or b (save-excursion (eshell-bol) (point))))
+        (posb (list t))
+        (pose (list t))
+        (textargs (list t))
+        hist args)
     (unless (catch 'eshell-incomplete
-	      (ignore
-	       (setq args (eshell-parse-arguments begin end))))
+              (ignore
+               (setq args (eshell-parse-arguments begin end))))
       (save-excursion
-	(goto-char begin)
-	(while (< (point) end)
-	  (if (get-text-property (point) 'arg-begin)
-	      (nconc posb (list (point))))
-	  (if (get-text-property (point) 'arg-end)
-	      (nconc pose
-		     (list (if (= (1+ (point)) end)
-			       (1+ (point))
-			     (point)))))
-	  (forward-char))
-	(setq posb (cdr posb)
-	      pose (cdr pose))
-	(cl-assert (= (length posb) (length args)))
-	(cl-assert (<= (length posb) (length pose))))
+        (goto-char begin)
+        (while (< (point) end)
+          (when (get-text-property (point) 'arg-begin)
+            (nconc posb (list (point))))
+          (when (get-text-property (point) 'arg-end)
+            (nconc pose
+                   (list (if (= (1+ (point)) end)
+                             (1+ (point))
+                           (point)))))
+          (forward-char))
+        (setq posb (cdr posb)
+              pose (cdr pose))
+        (cl-assert (= (length posb) (length args)))
+        (cl-assert (<= (length posb) (length pose))))
       (setq hist (buffer-substring-no-properties begin end))
       (let ((b posb) (e pose))
-	(while b
-	  (nconc textargs
-		 (list (substring hist (- (car b) begin)
-				  (- (car e) begin))))
-	  (setq b (cdr b)
-		e (cdr e))))
+        (while b
+          (nconc textargs
+                 (list (substring hist (- (car b) begin)
+                                  (- (car e) begin))))
+          (setq b (cdr b)
+                e (cdr e))))
       (setq textargs (cdr textargs))
       (cl-assert (= (length textargs) (length args)))
       (list textargs posb pose))))
@@ -591,29 +591,29 @@ eshell-hist-parse-arguments
 (defun eshell-expand-history-references (beg end)
   "Parse and expand any history references in current input."
   (let ((result (eshell-hist-parse-arguments beg end))
-	(full-line (buffer-substring-no-properties beg end)))
+        (full-line (buffer-substring-no-properties beg end)))
     (when result
       (let ((textargs (nreverse (nth 0 result)))
-	    (posb (nreverse (nth 1 result)))
-	    (pose (nreverse (nth 2 result)))
-	    (full-line-subst (eshell-history-substitution full-line)))
-	(save-excursion
-	  (if full-line-subst
-	      ;; Found a ^foo^bar substitution
-	      (progn
-		(goto-char beg)
-		(insert-and-inherit full-line-subst)
-		(delete-char (- end beg)))
-	    ;; Try to expand other substitutions
-	    (while textargs
-	      (let ((str (eshell-history-reference (car textargs))))
-		(unless (eq str (car textargs))
-		  (goto-char (car posb))
-		  (insert-and-inherit str)
-		  (delete-char (- (car pose) (car posb)))))
-	      (setq textargs (cdr textargs)
-		    posb (cdr posb)
-		    pose (cdr pose)))))))))
+            (posb (nreverse (nth 1 result)))
+            (pose (nreverse (nth 2 result)))
+            (full-line-subst (eshell-history-substitution full-line)))
+        (save-excursion
+          (if full-line-subst
+              ;; Found a ^foo^bar substitution
+              (progn
+                (goto-char beg)
+                (insert-and-inherit full-line-subst)
+                (delete-char (- end beg)))
+            ;; Try to expand other substitutions
+            (while textargs
+              (let ((str (eshell-history-reference (car textargs))))
+                (unless (eq str (car textargs))
+                  (goto-char (car posb))
+                  (insert-and-inherit str)
+                  (delete-char (- (car pose) (car posb)))))
+              (setq textargs (cdr textargs)
+                    posb (cdr posb)
+                    pose (cdr pose)))))))))
 
 (defvar pcomplete-stub)
 (defvar pcomplete-last-completion-raw)
@@ -624,29 +624,29 @@ eshell-complete-history-reference
   (let ((arg (pcomplete-actual-arg)))
     (when (string-match "\\`![^:^$*%]*\\'" arg)
       (setq pcomplete-stub (substring arg 1)
-	    pcomplete-last-completion-raw t)
+            pcomplete-last-completion-raw t)
       (throw 'pcomplete-completions
-	     (let ((history nil)
-		   (index (1- (ring-length eshell-history-ring)))
-		   (stublen (length pcomplete-stub)))
-	       ;; We have to build up a list ourselves from the ring
-	       ;; vector.
-	       (while (>= index 0)
-		 (let ((hist (eshell-get-history index)))
-		   (if (and (>= (length hist) stublen)
-			    (string= (substring hist 0 stublen)
-				     pcomplete-stub)
-			    (string-match "^\\([^:^$*% \t\n]+\\)" hist))
-		       (setq history (cons (match-string 1 hist)
-					   history))))
-		 (setq index (1- index)))
-	       (let ((fhist (list t)))
-		 ;; uniquify the list, but preserve the order
-		 (while history
-		   (unless (member (car history) fhist)
-		     (nconc fhist (list (car history))))
-		   (setq history (cdr history)))
-		 (cdr fhist)))))))
+             (let ((history nil)
+                   (index (1- (ring-length eshell-history-ring)))
+                   (stublen (length pcomplete-stub)))
+               ;; We have to build up a list ourselves from the ring
+               ;; vector.
+               (while (>= index 0)
+                 (let ((hist (eshell-get-history index)))
+                   (when (and (>= (length hist) stublen)
+                              (string= (substring hist 0 stublen)
+                                       pcomplete-stub)
+                              (string-match "^\\([^:^$*% \t\n]+\\)" hist))
+                     (setq history (cons (match-string 1 hist)
+                                         history))))
+                 (setq index (1- index)))
+               (let ((fhist (list t)))
+                 ;; uniquify the list, but preserve the order
+                 (while history
+                   (unless (member (car history) fhist)
+                     (nconc fhist (list (car history))))
+                   (setq history (cdr history)))
+                 (cdr fhist)))))))
 
 (defun eshell-history-substitution (line)
   "Expand quick hist substitutions formatted as ^foo^bar^.
@@ -656,16 +656,16 @@ eshell-history-substitution
   ;;      Quick Substitution.  Repeat the last command, replacing
   ;;      STRING1 with STRING2.  Equivalent to `!!:s/string1/string2/'
   (when (and (eshell-using-module 'eshell-pred)
-	     (string-match
-	      "^\\^\\([^^]+\\)\\^\\([^^]+\\)\\(?:\\^\\(.*\\)\\)?$"
-	      line))
+             (string-match
+              "^\\^\\([^^]+\\)\\^\\([^^]+\\)\\(?:\\^\\(.*\\)\\)?$"
+              line))
     ;; Save trailing match as `eshell-history-reference' runs string-match.
     (let ((matched-end (match-string 3 line)))
       (concat
        (eshell-history-reference
-	(format "!!:s/%s/%s/"
-		(match-string 1 line)
-		(match-string 2 line)))
+        (format "!!:s/%s/%s/"
+                (match-string 1 line)
+                (match-string 2 line)))
        matched-end))))
 
 (defun eshell-history-reference (reference)
@@ -681,102 +681,102 @@ eshell-history-reference
     (setq eshell-history-index nil)
     (let ((event (eshell-hist-parse-event-designator reference)))
       (unless event
-	(error "Could not find history event `%s'" reference))
+        (error "Could not find history event `%s'" reference))
       (setq eshell-history-index (car event)
-	    reference (substring reference (cdr event))
-	    event (eshell-get-history eshell-history-index))
+            reference (substring reference (cdr event))
+            event (eshell-get-history eshell-history-index))
       (if (not (string-match "^[:^$*%]" reference))
-	  event
-	(let ((word (eshell-hist-parse-word-designator
-		     event reference)))
-	  (unless word
-	    (error "Unable to honor word designator `%s'" reference))
-	  (unless (string-match "^[:^$*%][[$^*%0-9-]" reference)
-	    (setcdr word 0))
-	  (setq event (car word)
-		reference (substring reference (cdr word)))
-	  (if (not (and (eshell-using-module 'eshell-pred)
-			(string-match "^:" reference)))
-	      event
-	    (eshell-hist-parse-modifier event reference)))))))
+          event
+        (let ((word (eshell-hist-parse-word-designator
+                     event reference)))
+          (unless word
+            (error "Unable to honor word designator `%s'" reference))
+          (unless (string-match "^[:^$*%][[$^*%0-9-]" reference)
+            (setcdr word 0))
+          (setq event (car word)
+                reference (substring reference (cdr word)))
+          (if (not (and (eshell-using-module 'eshell-pred)
+                        (string-match "^:" reference)))
+              event
+            (eshell-hist-parse-modifier event reference)))))))
 
 (defun eshell-hist-parse-event-designator (reference)
   "Parse a history event designator beginning in REFERENCE."
   (let* ((index (string-match eshell-hist-event-designator reference))
-	 (end (and index (match-end 0))))
+         (end (and index (match-end 0))))
     (unless index
       (error "Invalid history event designator `%s'" reference))
     (let* ((event (match-string 1 reference))
-	   (pos
-	    (cond
-	     ((string= event "!") (ring-length eshell-history-ring))
-	     ((string= event "#") (error "!# not yet implemented"))
-	     ((string-match "^-?[0-9]+$" event)
-	      (let ((num (string-to-number event)))
-		(if (>= num 0)
-		    (- (ring-length eshell-history-ring) num)
-		  (1- (abs num)))))
-	     ((string-match "^\\(\\??\\)\\([^?]+\\)\\??$" event)
-	      (let ((pref (if (> (length (match-string 1 event)) 0)
-			      "" "^"))
-		    (str (match-string 2 event)))
-		(save-match-data
-		  (eshell-previous-matching-input-string-position
-		   (concat pref (regexp-quote str)) 1))))
-	     (t
-	      (error "Failed to parse event designator `%s'" event)))))
+           (pos
+            (cond
+             ((string= event "!") (ring-length eshell-history-ring))
+             ((string= event "#") (error "!# not yet implemented"))
+             ((string-match "^-?[0-9]+$" event)
+              (let ((num (string-to-number event)))
+                (if (>= num 0)
+                    (- (ring-length eshell-history-ring) num)
+                  (1- (abs num)))))
+             ((string-match "^\\(\\??\\)\\([^?]+\\)\\??$" event)
+              (let ((pref (if (> (length (match-string 1 event)) 0)
+                              "" "^"))
+                    (str (match-string 2 event)))
+                (save-match-data
+                  (eshell-previous-matching-input-string-position
+                   (concat pref (regexp-quote str)) 1))))
+             (t
+              (error "Failed to parse event designator `%s'" event)))))
       (and pos (cons pos end)))))
 
 (defun eshell-hist-parse-word-designator (hist reference)
   "Parse a history word designator beginning for HIST in REFERENCE."
   (let* ((index (string-match eshell-hist-word-designator reference))
-	 (end (and index (match-end 0))))
+         (end (and index (match-end 0))))
     (unless (memq (aref reference 0) '(?: ?^ ?$ ?* ?%))
       (error "Invalid history word designator `%s'" reference))
     (let ((nth (match-string 1 reference))
-	  (mth (match-string 2 reference))
-	  (here (point))
-	  textargs)
+          (mth (match-string 2 reference))
+          (here (point))
+          textargs)
       (insert hist)
       (setq textargs (car (eshell-hist-parse-arguments here (point))))
       (delete-region here (point))
-      (if (string= nth "*")
-	  (if mth
-	      (error "Invalid history word designator `%s'"
-		     reference)
-	    (setq nth 1 mth "-$")))
+      (when (string= nth "*")
+        (if mth
+            (error "Invalid history word designator `%s'"
+                   reference)
+          (setq nth 1 mth "-$")))
       (if (not mth)
-	  (if nth
-	      (setq mth nth)
-	    (setq nth 0 mth "$"))
-	(if (string= mth "-")
-	    (setq mth (- (length textargs) 2))
-	  (if (string= mth "*")
-	      (setq mth "$")
-	    (if (not (and (> (length mth) 1)
-			  (eq (aref mth 0) ?-)))
-		(error "Invalid history word designator `%s'"
-		       reference)
-	      (setq mth (substring mth 1))))))
+          (if nth
+              (setq mth nth)
+            (setq nth 0 mth "$"))
+        (if (string= mth "-")
+            (setq mth (- (length textargs) 2))
+          (if (string= mth "*")
+              (setq mth "$")
+            (if (not (and (> (length mth) 1)
+                          (eq (aref mth 0) ?-)))
+                (error "Invalid history word designator `%s'"
+                       reference)
+              (setq mth (substring mth 1))))))
       (unless (numberp nth)
-	(setq nth (eshell-hist-word-reference nth)))
+        (setq nth (eshell-hist-word-reference nth)))
       (unless (numberp mth)
-	(setq mth (eshell-hist-word-reference mth)))
+        (setq mth (eshell-hist-word-reference mth)))
       (cons (mapconcat #'identity (eshell-sublist textargs nth mth) " ")
-	    end))))
+            end))))
 
 (defun eshell-hist-parse-modifier (hist reference)
   "Parse a history modifier beginning for HIST in REFERENCE."
   (let ((here (point)))
     (insert reference)
     (prog1
-	(save-restriction
-	  (narrow-to-region here (point))
-	  (goto-char (point-min))
-	  (let ((modifiers (cdr (eshell-parse-modifiers))))
-	    (dolist (mod modifiers)
-	      (setq hist (car (funcall mod (list hist)))))
-	    hist))
+        (save-restriction
+          (narrow-to-region here (point))
+          (goto-char (point-min))
+          (let ((modifiers (cdr (eshell-parse-modifiers))))
+            (dolist (mod modifiers)
+              (setq hist (car (funcall mod (list hist)))))
+            hist))
       (delete-region here (point)))))
 
 (defun eshell-get-next-from-history ()
@@ -786,36 +786,36 @@ eshell-get-next-from-history
   (interactive)
   (if eshell-save-history-index
       (progn
-	(setq eshell-history-index (1+ eshell-save-history-index))
-	(eshell-next-input 1))
+        (setq eshell-history-index (1+ eshell-save-history-index))
+        (eshell-next-input 1))
     (message "No previous history command")))
 
 (defun eshell-search-arg (arg)
   ;; First make sure there is a ring and that we are after the process
   ;; mark
-  (if (and eshell-hist-move-to-end
-	   (< (point) eshell-last-output-end))
-      (goto-char eshell-last-output-end))
+  (when (and eshell-hist-move-to-end
+             (< (point) eshell-last-output-end))
+    (goto-char eshell-last-output-end))
   (cond ((or (null eshell-history-ring)
-	     (ring-empty-p eshell-history-ring))
-	 (error "Empty input ring"))
-	((zerop arg)
-	 ;; arg of zero resets search from beginning, and uses arg of
-	 ;; 1
-	 (setq eshell-history-index nil)
-	 1)
-	(t
-	 arg)))
+             (ring-empty-p eshell-history-ring))
+         (error "Empty input ring"))
+        ((zerop arg)
+         ;; arg of zero resets search from beginning, and uses arg of
+         ;; 1
+         (setq eshell-history-index nil)
+         1)
+        (t
+         arg)))
 
 (defun eshell-search-start (arg)
   "Index to start a directional search, starting at `eshell-history-index'."
   (if eshell-history-index
       ;; If a search is running, offset by 1 in direction of arg
       (mod (+ eshell-history-index (if (> arg 0) 1 -1))
-	   (ring-length eshell-history-ring))
+           (ring-length eshell-history-ring))
     ;; For a new search, start from beginning or end, as appropriate
     (if (>= arg 0)
-	0                               ; First elt for forward search
+        0                               ; First elt for forward search
       ;; Last elt for backward search
       (1- (ring-length eshell-history-ring)))))
 
@@ -823,9 +823,9 @@ eshell-previous-input-string
   "Return the string ARG places along the input ring.
 Moves relative to `eshell-history-index'."
   (eshell-get-history (if eshell-history-index
-			  (mod (+ arg eshell-history-index)
-			       (ring-length eshell-history-ring))
-			arg)))
+                          (mod (+ arg eshell-history-index)
+                               (ring-length eshell-history-ring))
+                        arg)))
 
 (defun eshell-previous-input (arg)
   "Cycle backwards through input history."
@@ -841,37 +841,37 @@ eshell-previous-matching-input-string
   "Return the string matching REGEXP ARG places along the input ring.
 Moves relative to `eshell-history-index'."
   (let* ((pos (eshell-previous-matching-input-string-position regexp arg)))
-    (if pos (eshell-get-history pos))))
+    (when pos (eshell-get-history pos))))
 
 (defun eshell-previous-matching-input-string-position
-  (regexp arg &optional start)
+    (regexp arg &optional start)
   "Return the index matching REGEXP ARG places along the input ring.
 Moves relative to START, or `eshell-history-index'."
-  (if (or (not (ring-p eshell-history-ring))
-	  (ring-empty-p eshell-history-ring))
-      (error "No history"))
+  (when (or (not (ring-p eshell-history-ring))
+            (ring-empty-p eshell-history-ring))
+    (error "No history"))
   (let* ((len (ring-length eshell-history-ring))
-	 (motion (if (> arg 0) 1 -1))
-	 (n (mod (- (or start (eshell-search-start arg)) motion) len))
-	 (tried-each-ring-item nil)
-	 (case-fold-search (eshell-under-windows-p))
-	 (prev nil))
+         (motion (if (> arg 0) 1 -1))
+         (n (mod (- (or start (eshell-search-start arg)) motion) len))
+         (tried-each-ring-item nil)
+         (case-fold-search (eshell-under-windows-p))
+         (prev nil))
     ;; Do the whole search as many times as the argument says.
     (while (and (/= arg 0) (not tried-each-ring-item))
       ;; Step once.
       (setq prev n
-	    n (mod (+ n motion) len))
+            n (mod (+ n motion) len))
       ;; If we haven't reached a match, step some more.
       (while (and (not tried-each-ring-item)
-		  (not (string-match regexp (eshell-get-history n))))
-	(setq n (mod (+ n motion) len)
-	      ;; If we have gone all the way around in this search.
-	      tried-each-ring-item (= n prev)))
+                  (not (string-match regexp (eshell-get-history n))))
+        (setq n (mod (+ n motion) len)
+              ;; If we have gone all the way around in this search.
+              tried-each-ring-item (= n prev)))
       (setq arg (if (> arg 0) (1- arg) (1+ arg))))
     ;; Now that we know which ring element to use, if we found it,
     ;; return that.
-    (if (string-match regexp (eshell-get-history n))
-	n)))
+    (when (string-match regexp (eshell-get-history n))
+      n)))
 
 (defun eshell-previous-matching-input (regexp arg)
   "Search backwards through input history for match for REGEXP.
@@ -880,15 +880,15 @@ eshell-previous-matching-input
 If N is negative, find the next or Nth next match."
   (interactive (eshell-regexp-arg "Previous input matching (regexp): "))
   (setq arg (eshell-search-arg arg))
-  (if (> eshell-last-output-end (point))
-      (error "Point not located after prompt"))
+  (when (> eshell-last-output-end (point))
+    (error "Point not located after prompt"))
   (let ((pos (eshell-previous-matching-input-string-position regexp arg)))
     ;; Has a match been found?
     (if (null pos)
-	(error "Not found")
+        (error "Not found")
       (setq eshell-history-index pos)
       (unless (minibuffer-window-active-p (selected-window))
-	(message "History item: %d" (- (ring-length eshell-history-ring) pos)))
+        (message "History item: %d" (- (ring-length eshell-history-ring) pos)))
       ;; Can't use kill-region as it sets this-command
       (delete-region eshell-last-output-end (point))
       (insert-and-inherit (eshell-get-history pos)))))
@@ -907,13 +907,13 @@ eshell-previous-matching-input-from-input
 With prefix argument N, search for Nth previous match.
 If N is negative, search forwards for the -Nth following match."
   (interactive "p")
-  (if (not (memq last-command '(eshell-previous-matching-input-from-input
-				eshell-next-matching-input-from-input)))
-      ;; Starting a new search
-      (setq eshell-matching-input-from-input-string
-	    (buffer-substring (save-excursion (eshell-bol) (point))
-			      (point))
-	    eshell-history-index nil))
+  (when (not (memq last-command '(eshell-previous-matching-input-from-input
+                                  eshell-next-matching-input-from-input)))
+    ;; Starting a new search
+    (setq eshell-matching-input-from-input-string
+          (buffer-substring (save-excursion (eshell-bol) (point))
+                            (point))
+          eshell-history-index nil))
   (eshell-previous-matching-input
    (concat "^" (regexp-quote eshell-matching-input-from-input-string))
    arg))
@@ -933,42 +933,42 @@ eshell-test-imatch
     (let ((before (point)))
       (eshell-bol)
       (if (and (not (bolp))
-	       (<= (point) before))
-	  t
-	(if isearch-forward
-	    (progn
-	      (end-of-line)
-	      (forward-char))
-	  (beginning-of-line)
-	  (backward-char))))))
+               (<= (point) before))
+          t
+        (if isearch-forward
+            (progn
+              (end-of-line)
+              (forward-char))
+          (beginning-of-line)
+          (backward-char))))))
 
 (defun eshell-return-to-prompt ()
   "Once a search string matches, insert it at the end and go there."
   (setq isearch-other-end nil)
   (let ((found (eshell-test-imatch)) before)
     (while (and (not found)
-		(setq before
-		      (funcall (if isearch-forward
-				   're-search-forward
-				 're-search-backward)
-			       isearch-string nil t)))
+                (setq before
+                      (funcall (if isearch-forward
+                                   're-search-forward
+                                 're-search-backward)
+                               isearch-string nil t)))
       (setq found (eshell-test-imatch)))
     (if (not found)
-	(progn
-	  (goto-char eshell-last-output-end)
-	  (delete-region (point) (point-max)))
+        (progn
+          (goto-char eshell-last-output-end)
+          (delete-region (point) (point-max)))
       (setq before (point))
       (let ((text (buffer-substring-no-properties
-		   (point) (line-end-position)))
-	    (orig (marker-position eshell-last-output-end)))
-	(goto-char eshell-last-output-end)
-	(delete-region (point) (point-max))
-	(when (and text (> (length text) 0))
-	  (insert text)
-	  (put-text-property (1- (point)) (point)
-			     'last-search-pos before)
-	  (set-marker eshell-last-output-end orig)
-	  (goto-char eshell-last-output-end))))))
+                   (point) (line-end-position)))
+            (orig (marker-position eshell-last-output-end)))
+        (goto-char eshell-last-output-end)
+        (delete-region (point) (point-max))
+        (when (and text (> (length text) 0))
+          (insert text)
+          (put-text-property (1- (point)) (point)
+                             'last-search-pos before)
+          (set-marker eshell-last-output-end orig)
+          (goto-char eshell-last-output-end))))))
 
 (defun eshell-prepare-for-search ()
   "Make sure the old history file is at the beginning of the buffer."
@@ -976,9 +976,9 @@ eshell-prepare-for-search
     (save-excursion
       (goto-char (point-min))
       (let ((end (copy-marker (point) t)))
-	(insert-file-contents eshell-history-file-name)
-	(set-text-properties (point-min) end
-			     '(history t invisible t))))))
+        (insert-file-contents eshell-history-file-name)
+        (set-text-properties (point-min) end
+                             '(history t invisible t))))))
 
 (defun eshell-isearch-backward (&optional invert)
   "Do incremental regexp search backward through past commands."
@@ -994,12 +994,12 @@ eshell-isearch-repeat-backward
   "Do incremental regexp search backward through past commands."
   (interactive)
   (let ((old-pos (get-text-property (1- (point-max))
-				    'last-search-pos)))
+                                    'last-search-pos)))
     (when old-pos
       (goto-char old-pos)
       (if invert
-	  (end-of-line)
-	(backward-char)))
+          (end-of-line)
+        (backward-char)))
     (setq isearch-forward invert)
     (isearch-search-and-update)))
 
@@ -1028,7 +1028,7 @@ eshell-isearch-abort
 (defun eshell-isearch-delete-char ()
   (interactive)
   (save-excursion
-  (isearch-delete-char)))
+    (isearch-delete-char)))
 
 (defun eshell-isearch-return ()
   (interactive)
-- 
2.28.0


------=_Part_192799_133127925.1598809356621
Content-Type: text/x-diff; charset=us-ascii; 
	name=0002-Add-.git-blame-ignore-revs.patch
Content-Transfer-Encoding: 7bit
Content-Description: File Attachment: 0002-Add-.git-blame-ignore-revs.patch
Content-Disposition: attachment; 
	filename=0002-Add-.git-blame-ignore-revs.patch

From 82823e208b9a922a129e2e7c2a70497e6325ab56 Mon Sep 17 00:00:00 2001
From: Brian Leung <leungbk@HIDDEN>
Date: Sun, 30 Aug 2020 10:29:41 -0700
Subject: [PATCH 2/2] Add .git-blame-ignore-revs

Git 2.23 introduced the ability to ignore certain revisions during git
blame. We can thus freely make changes to style and indentation while
preserving blame data.
---
 .git-blame-ignore-revs | 9 +++++++++
 1 file changed, 9 insertions(+)
 create mode 100644 .git-blame-ignore-revs

diff --git a/.git-blame-ignore-revs b/.git-blame-ignore-revs
new file mode 100644
index 0000000000..f259eeba66
--- /dev/null
+++ b/.git-blame-ignore-revs
@@ -0,0 +1,9 @@
+# Configure git to ignore commits listed in this file with:
+#
+#   git config blame.ignoreRevsFile .git-blame-ignore-revs
+
+# eshell/em-hist: Style and indentation cleanup
+faccfdb5aa35595ef5746ff98fe254f8ab32288e
+
+# ; tiny indentation fix to lisp/progmodes/elisp-mode.el
+bf018eefa2a9c33f9f80e977ee085e89df526992
-- 
2.28.0


------=_Part_192799_133127925.1598809356621
Content-Type: text/plain; charset=us-ascii; name=Hsieh.pdf.asc
Content-Transfer-Encoding: 7bit
Content-Description: File Attachment: Hsieh.pdf.asc
Content-Disposition: attachment; filename=Hsieh.pdf.asc

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iQIcBAABAgAGBQJctjg6AAoJEGG4Juh6gMjWmGMP/R6As9UGMJb7w6YfQPB/9Dv6
FbFq4+5V/OyhUxtJTV/1k/+5KKa/YliRaEjDC4LEgPMPL3UnDobl+f9t3OngU6aA
yy3AgFgztdVhe7x0kcrX8+vO3oghl4qahXJWmHgxqTvnEs0AjBbKM6TSxEOS9KrM
EoiZ5DlbTY0eHjCuQgL4x6rfR/+8H1CQ1PRRzuvXbHmhQyehvKs0xqqvpllDV9dm
nc0CmOHbPDkcUgFwHHL0CMOey+3nJzKLbRggYMNTx5ONgwYYDHuPG01pvMUY1NuM
nJXFjocfSvucOiACjp4mVSY8o4dHNyzWs77Twyt9tTOvgy1YhAG5bwwr30juq5qt
Vd8ESnTpN/t77l4OINQcgMKD74aL+6dliYrF6KDlVQzSj265mqW1mZ7ZX+84A7Cn
rJs7EgEgcCrTiuXWSpnBswcmcEvFtysjI5d0MI+RhSQxpUyWgiVv2SHZ1aWUSaGz
FbjyTK141fLu50XWBa1HfGjVuX5eruOvhfCFu7G6zqeYfafbKUohXrLa/06ksVqE
OZi+gzTQ2fFSqzcHWIE7fZZLpIbTMR9e9ezpQhF4JNYWiiNTBl/7A8BILHCbHEnE
IUAxzOvPZ7FJSSc3RAU3kR4fWaHl3+TLa/7Buqmsh9QzLnoe1WprV0dOY/y1GtgO
PmltCtEMW78/RYy4VIod
=Pv9O
-----END PGP SIGNATURE-----

------=_Part_192799_133127925.1598809356621
Content-Type: application/pdf; name=Leung.pdf
Content-Transfer-Encoding: base64
Content-Description: File Attachment: Leung.pdf
Content-Disposition: attachment; filename=Leung.pdf

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
ansBkitQfxt4Y6VQAuOeU00DCkLQV786VcH+CQ6WOUQ9aHIqimZ8c34uTXmDrlbZLlEVvvwIOLtz
LsBD3eFwd2fmb+QR/IdyUe/mAtbA0pKKwB8zMH2ZR41d1rI7/QmEKYOw5j/5SwW1t0CM0AaIT7Fx
q4hqFkRO6ZFIZ+fBtLvRjacu1ufGAyJ4QBeGy2jAP0in/JNQb4+j6Miwm7y7DDE3zNideFldHwuT
8SscWOvflB6zhkmIP33pWNXfw8SdTebJDj1l1p9d7CaswTeKmwAv1OfG5jtb+v4cetQHQHcSIK9r
DzzpAtFhxm4IRHFqL8NaNH9n86+kwvK2eaS3+/txxV465K+YaI5I8Vor3JPkexv/hoSeBVBG4Ucn
PkzLeLuu5jh/o4we9wQbjKH5OxRjy1IJgYYJDSwX/HL57ZKO7i5x295iHjvJn3lqVv6QUb64FlKl
G0GWr5e///ryxz/9Gi63/14yqP8DRBCywwplbmRzdHJlYW0KZW5kb2JqCgozIDAgb2JqCjM5NDQK
ZW5kb2JqCgo0IDAgb2JqCjw8L1R5cGUvWE9iamVjdC9TdWJ0eXBlL0ltYWdlL1dpZHRoIDExMjkg
L0hlaWdodCAxMzEgL0JpdHNQZXJDb21wb25lbnQgOCAvQ29sb3JTcGFjZS9EZXZpY2VSR0IvRmls
dGVyL0RDVERlY29kZS9MZW5ndGggMzY5MTU+PgpzdHJlYW0K/9j/4AAQSkZJRgABAQEJ7AnsAAD/
2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsKCwsNDhIQDQ4RDgsLEBYQERMUFRUV
DA8XGBYUGBIUFRT/2wBDAQMEBAUEBQkFBQkUDQsNFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU
FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBT/wgARCACDBGkDASIAAhEBAxEB/8QAHQABAAIDAQEBAQAA
AAAAAAAAAAcIAQUGBAMCCf/EABsBAAEFAQEAAAAAAAAAAAAAAAACAwQFBgEH/9oADAMBAAIQAxAA
AAG1AAcvxfUK1zeib0ocr84AAGcAOShdqxsrq6i9c3YS5ze07JUeI/jPfo6mvvynflUvRb9Oq8KJ
mo++89PUaT0bT5jeOH6zaCu/2uMyc4HeAAAAKu2io5G0W9d5N7c+qi1eFRaq2M3+zcgxPDMgRYxf
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
zBCfvKtxJCCz266YdQn37/wlyX3947Hg/mt09N8DmrS0bRkS2ZT+Qp0i9UxyzGko2rpQ/MqhHkzn
fk/S3spcW7GYmI7dsjWAIGfhTj0OflqLCXtK6JG6P3lnw3jfJbu/Kd7jTRypJF39X2+jG9+SIoFN
UgvHm/baTA/mMGF5y8PGtw4oG7pwZpIymvkjbW3JWgbKwZ63LK+SBN1aKjU9cuNc7We7lEe1gtY4
4JPuS2Y39/JdaheqPOlvcDlI4hfSsIX0Wh8b6PjGGN0C0fxy+g/j0CU0CmVuZHN0cmVhbQplbmRv
YmoKCjcgMCBvYmoKMzcxOAplbmRvYmoKCjkgMCBvYmoKPDwvTGVuZ3RoIDEwIDAgUi9GaWx0ZXIv
RmxhdGVEZWNvZGUvTGVuZ3RoMSAxMzA3IC9MZW5ndGgyIDk5NTAyIC9MZW5ndGgzIDU0ND4+CnN0
cmVhbQp4nJy7Y5AuXbMt2rbt1bZt27Zt27Zt27Zt21ht2933/TbvvmefPzeeiKdq5sjMmTlq1IyK
qFkkBPJKNALGdoYmona2zjQMtPSc+LIWNoYuTop2NrJ2HNI0iiZmLvj/2FmhSEiULZytTf43BygS
VRNHJws7W87/dBVyNDFw/scgbOD8T4SyuQu+gIsZPj4jPgMTJwMzJzMHPiM9Pdt/Oto5cuKbOtoZ
QpEI2dl7OFqYmTtz4v/XKT65iqIaBRUV9X9bGDg4OPANPf4TwRc2cbIws8Un/R8J/rG6mljb2duY
2Dpz4Qv9Y7a2tjDCN7P2sDd3wjcwNjYx/lcOVQNrEyt8UQtrC3t7O1d8ciGK/5nln0IZaP75Y4Ei
wRczsTVx/Kelfwv8F2Wido5mJv/WCz0bIxM+ubmzsz0nHZ3pP5DpvyBaJ1NaWxNnun9ykojYGgvZ
2fyrGicoqH8FC1s4mhj907wH3f/CuZWtnZut1/+GmFrYGv9rAnxjF3s6FVsLBxcTCeH/8P/HBPXf
NjMTZ3wWekZ6DiYGfBMHfBN3I3O6f02s7GFv8m/gv5kNbI19vOzt7PFNDaydTHwsTE3+OUB5ORm4
muA7O7qY+Hj9v4H/OYJiYMA3tjByxjc0MbOwhfrv7P+YTUz/fSxj4Oxo4Y6vRU/7D5P49P/6/deZ
zj+X39jO1trjv91lDWxM8P+3vv/LQ1DQzh3fi4aBlR2fhpGdAZ+B/p/+OBiZ8X3+Z7b/4uE/Ofg3
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
8ehnM5h2B+W3NItfrlaj5zJZmVPNkdpFYtj5G8G70fGF0w1Ou7OKD5i6NZ4GKKeF6fDcfXrUMn+f
MlRgpkUn/ViuV8j0uybCPjkZPWF5JODKR39XZB53wiFmt7mFZU121j1Fgd7foq/yXqJuYFrcAfZR
IQVZ3wKntYrjoIxnCwU57u5+/Y7aS7Ac09EqyINUdPeg2EyKAgudS/uEJ9xkmqfpy3D0S9x+r5QK
0hDU7qKMIKt1qLZ5jXad+WBSVEo62vNZi366tuiSIf2bMfC6UAMheSW1UtXWkdeEYvDzsH4Brl+Y
8UE9l/lq0gTcVyH+eTDGol0T7E269STKzUQ5Ninp4GpNWxHuzdn5uw6KA5FAebs7qyFCzGHTOx2y
jhDACc/e7qha2gUROInd4CCK7M8/5bJAEtkQz/uslBl/llckTzmy9paN38Tpq7bCdiiPcrcVPyyO
vfiCP3WrlqynB/3p+FrN8cnGBVPq0mbmHIT/oNXAYjjHeNjdr7nFQRQXnP0CBoQH9rVpulzJmUkk
GgPAfZUwQGLijtrVcYw5cydY3ayBg4FoxkYH1PTnsQZJNCD8v+z/wP8GcBUfFkJIio8NIcQAyYSw
xKR4Qlh6VDjwX+P76hUKZW5kc3RyZWFtCmVuZG9iagoKMTAgMCBvYmoKMTAwNDQzCmVuZG9iagoK
MTEgMCBvYmoKPDwvVHlwZS9Gb250RGVzY3JpcHRvci9Gb250TmFtZS9OaW1idXNSb21ObzlMLVJl
Z3UKL0ZsYWdzIDQKL0ZvbnRCQm94Wy0xNjggLTI4MSAxMDMwIDkyNF0vSXRhbGljQW5nbGUgMAov
QXNjZW50IDkyNAovRGVzY2VudCAtMjgxCi9DYXBIZWlnaHQgOTI0Ci9TdGVtViA4MAovRm9udEZp
bGUgOSAwIFIKPj4KZW5kb2JqCgoxMiAwIG9iago8PC9MZW5ndGggODc1L0ZpbHRlci9GbGF0ZURl
Y29kZT4+CnN0cmVhbQp4nF3WzW7bOBQF4L2fQst2UVgS708MGAZIWQKymOmgaR/AsZnUQCMbirPI
21eHR53OdJH4iJKuPlI06XV3v78fz7f1P9Pl+JBv1dN5PE359fI2HXP1mJ/P46ppq9P5eFuOyv/j
y+G6Ws/3Pry/3vLL/fh02W5X6y/zudfb9F59iKfLY/64Wn+eTnk6j8/Vh2/dw3z88Ha9/sgvebxV
9Wq3q075aa7z1+H69+Elr8tdn+5P8+nz7f3TfMvvC76+X3PVluOGlOPllF+vh2OeDuNzXm3reldt
h2G3yuPpj3NNXfOex6fj98O02ra4tq5jvZtzU/L8MeeWuUUOzAFZmAVZmRXZmA3Z59zWzQb5ju13
yBvm0h6ZI3JiTsgdc4e8p22P3LO9Rx6Y5x5uA/0B/kB/gD/QH+AP9Af4A/0B/kB/gD/QH+APzuzI
9Af4A/0B/kB/gD/QH+AP9Af4A/0B/kB/gD/QH+AX+gV+oV/gF/oFfqFf4Bf6BX6hX+AX+gV+oV/g
F/oFfqFf4Bf6BX6hX+AX+gV+oV/gF/oFfqFf4Ff6FX6lX+FX+hV+pV/hV/oVfqVf4Vf6FX6lX+FX
+hV+pV/hV/oVfqVf4Vf6FX6lX+FX+hV+pV/ht5pzFfWNfoPf6Df4jX6D3+g3+I1+g9/oN/iNfoPf
6LdSn36D3+g3+I1+g9/oN/iNfoPf6Df4jX6D3zn+jvF3+h1+p9/hd/odfqff4Xf6HX6n3+F3+h1+
p9/hd/odfqff4Xf6HX6n3+F3+h1+p9/hj3RGOCOdEc5IZ4Qzwtm2DWyRzvkDK9qycsnm/wtZLB1o
NqUQOxDRgcgORHQ4LgtQaY988YBGdiCiA7Er7eVLHvfM6GREB4ZUF/TAjGelhnWATm3JLV5GCsy4
Pi2dQc3EgU4Y6MSFsiyy6Y518Ky0YcZgpcWJQUx0JjgTnWXBTYuzPJeTI2FydMuERnvHgU4Yh64M
dNvh3q5MiHaPceiU7XB2xna8+M6ZS/synqU9sh3mbrGV9j3bYe56Zpi7gfUx/vvliwdPT2fx9Msk
QM2+PKspC2LPd1c8fXluUxaXfnkurh9Yp0edofSlKZvBsNTB9QPrDKgzLHXw7gbW2Q//nWTYQLHD
/9qYq+PbNM2bcvkZUHZj7MPnMf/7S+F6ueKu8vcTcNfYDAplbmRzdHJlYW0KZW5kb2JqCgoxMyAw
IG9iago8PC9UeXBlL0ZvbnQvU3VidHlwZS9UeXBlMS9CYXNlRm9udC9OaW1idXNSb21ObzlMLVJl
Z3UKL1RvVW5pY29kZSAxMiAwIFIKL0ZpcnN0Q2hhciAwIC9MYXN0Q2hhciAyNTUKL1dpZHRoc1sw
IDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwCjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAg
MCAwIDAKMjUwIDMzMyA0MDggNTAwIDUwMCA4MzMgNzc4IDMzMyAzMzMgMzMzIDUwMCA1NjQgMjUw
IDMzMyAyNTAgMjc4CjUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCAyNzgg
Mjc4IDU2NCA1NjQgNTY0IDQ0NAo5MjEgNzIyIDY2NyA2NjcgNzIyIDYxMSA1NTYgNzIyIDcyMiAz
MzMgMzg5IDcyMiA2MTEgODg5IDcyMiA3MjIKNTU2IDcyMiA2NjcgNTU2IDYxMSA3MjIgNzIyIDk0
NCA3MjIgNzIyIDYxMSAzMzMgMjc4IDMzMyA0NjkgNTAwCjMzMyA0NDQgNTAwIDQ0NCA1MDAgNDQ0
IDMzMyA1MDAgNTAwIDI3OCAyNzggNTAwIDI3OCA3NzggNTAwIDUwMAo1MDAgNTAwIDMzMyAzODkg
Mjc4IDUwMCA1MDAgNzIyIDUwMCA1MDAgNDQ0IDQ4MCAyMDAgNDgwIDU0MSAwCjAgMCAwIDAgMCAw
IDAgMCAwIDAgMCAwIDAgMCAwIDAKMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMAowIDMz
MyA1MDAgNTAwIDE2NyA1MDAgNTAwIDUwMCA1MDAgMTgwIDQ0NCA1MDAgMzMzIDMzMyA1NTYgNTU2
CjAgNTAwIDUwMCA1MDAgMjUwIDAgNDUzIDM1MCAzMzMgNDQ0IDQ0NCA1MDAgMTAwMCAxMDAwIDAg
NDQ0CjAgMzMzIDMzMyAzMzMgMzMzIDMzMyAzMzMgMzMzIDMzMyAwIDMzMyAzMzMgMCAzMzMgMzMz
IDMzMwoxMDAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwCjAgODg5IDAgMjc2IDAgMCAw
IDAgNjExIDcyMiA4ODkgMzEwIDAgMCAwIDAKMCA2NjcgMCAwIDAgMjc4IDAgMCAyNzggNTAwIDcy
MiA1MDAgMCAwIDAgMApdCi9Gb250RGVzY3JpcHRvciAxMSAwIFI+PgplbmRvYmoKCjE0IDAgb2Jq
Cjw8L0YxIDEzIDAgUgo+PgplbmRvYmoKCjE1IDAgb2JqCjw8L0ZvbnQgMTQgMCBSCi9YT2JqZWN0
PDwvSW00IDQgMCBSPj4KL1Byb2NTZXRbL1BERi9UZXh0L0ltYWdlQy9JbWFnZUkvSW1hZ2VCXQo+
PgplbmRvYmoKCjEgMCBvYmoKPDwvVHlwZS9QYWdlL1BhcmVudCA4IDAgUi9SZXNvdXJjZXMgMTUg
MCBSL01lZGlhQm94WzAgMCA2MTIgNzkyXS9Hcm91cDw8L1MvVHJhbnNwYXJlbmN5L0NTL0Rldmlj
ZVJHQi9JIHRydWU+Pi9Db250ZW50cyAyIDAgUj4+CmVuZG9iagoKNSAwIG9iago8PC9UeXBlL1Bh
Z2UvUGFyZW50IDggMCBSL1Jlc291cmNlcyAxNSAwIFIvTWVkaWFCb3hbMCAwIDYxMiA3OTJdL0dy
b3VwPDwvUy9UcmFuc3BhcmVuY3kvQ1MvRGV2aWNlUkdCL0kgdHJ1ZT4+L0NvbnRlbnRzIDYgMCBS
Pj4KZW5kb2JqCgo4IDAgb2JqCjw8L1R5cGUvUGFnZXMKL1Jlc291cmNlcyAxNSAwIFIKL01lZGlh
Qm94WyAwIDAgNjEyIDc5MiBdCi9LaWRzWyAxIDAgUiA1IDAgUiBdCi9Db3VudCAyPj4KZW5kb2Jq
CgoxNiAwIG9iago8PC9UeXBlL0NhdGFsb2cvUGFnZXMgOCAwIFIKL09wZW5BY3Rpb25bMSAwIFIg
L1hZWiBudWxsIG51bGwgMF0KL0xhbmcoZW4tVVMpCj4+CmVuZG9iagoKMTcgMCBvYmoKPDwvQXV0
aG9yPEZFRkYwMDQxMDA2MTAwNzIwMDZGMDA2RT4KL0NyZWF0b3I8RkVGRjAwNTcwMDcyMDA2OTAw
NzQwMDY1MDA3Mj4KL1Byb2R1Y2VyPEZFRkYwMDRDMDA2OTAwNjIwMDcyMDA2NTAwNEYwMDY2MDA2
NjAwNjkwMDYzMDA2NTAwMjAwMDM1MDAyRTAwMzE+Ci9DcmVhdGlvbkRhdGUoRDoyMDE5MDMwODEw
MjEyNS0wNScwMCcpPj4KZW5kb2JqCgp4cmVmCjAgMTgKMDAwMDAwMDAwMCA2NTUzNSBmIAowMDAw
MTQ3NzU0IDAwMDAwIG4gCjAwMDAwMDAwMTkgMDAwMDAgbiAKMDAwMDAwNDAzNCAwMDAwMCBuIAow
MDAwMDA0MDU1IDAwMDAwIG4gCjAwMDAxNDc4OTcgMDAwMDAgbiAKMDAwMDA0MTEzMSAwMDAwMCBu
IAowMDAwMDQ0OTIwIDAwMDAwIG4gCjAwMDAxNDgwNDAgMDAwMDAgbiAKMDAwMDA0NDk0MSAwMDAw
MCBuIAowMDAwMTQ1NDk3IDAwMDAwIG4gCjAwMDAxNDU1MjEgMDAwMDAgbiAKMDAwMDE0NTcxMiAw
MDAwMCBuIAowMDAwMTQ2NjU3IDAwMDAwIG4gCjAwMDAxNDc2MjIgMDAwMDAgbiAKMDAwMDE0NzY1
NSAwMDAwMCBuIAowMDAwMTQ4MTQ1IDAwMDAwIG4gCjAwMDAxNDgyNDIgMDAwMDAgbiAKdHJhaWxl
cgo8PC9TaXplIDE4L1Jvb3QgMTYgMCBSCi9JbmZvIDE3IDAgUgovSUQgWyA8MUE3RjE0RTE3Q0VD
MTU4QTI2OUQwOUQ0RERERkEwRTM+CjwxQTdGMTRFMTdDRUMxNThBMjY5RDA5RDRERERGQTBFMz4g
XQovRG9jQ2hlY2tzdW0gL0RBMDc5OTA1QzRBMUQzNDg4RDMyQTQ0QjMxMTdDM0I5Cj4+CnN0YXJ0
eHJlZgoxNDg0NTEKJSVFT0YK
------=_Part_192799_133127925.1598809356621
Content-Type: text/plain; charset=us-ascii; name=Leung.pdf.asc
Content-Transfer-Encoding: 7bit
Content-Description: File Attachment: Leung.pdf.asc
Content-Disposition: attachment; filename=Leung.pdf.asc

-----BEGIN PGP SIGNATURE-----

iQIzBAABCAAdFiEERsXEEHUY1fR9w4GRPWmEBlIIm7oFAlyvps4ACgkQPWmEBlII
m7pJYQ/+IfWSHl6xBRy+/ZksrezBun5k41ltzzxD00FPLhLg9L/t33c9zBPc4iF4
E6X5iwRdTej/QRFQ0CbmrRuluiEydrgafHCNkxe/ordZj7OqE4336JqufnL4Y0kp
i2N2N1eC42IE9Y64qHe0uyp5BxhZyLW9cQsBABuHAaCG6X80m9ATeE4ZYc7DeLgu
vxksM+GUTLoLX0zw0n0YnDzZ/E0it8FGKaQHWQ93sj9MD6y9EIz6GHhIQqK9/G4n
QBpjk0U26dPvN2wjnwgxbo5KctNnJxvfTrGGqK+ZC1ugDJDdmaah3ZFPYKiHWuch
iAwaWmCp8Ob+sL3uDmmD3VIwLFcNyMQoRtJ8ock8R10wjjay1IS9AinB1L40OZXq
oBUNxx+OQXNNDtBpFWvu0pML5qqie5eT0SFUlVRy7MKXhQ7uM87T7FVvABFsRCsm
pq7WERB6DoWU0qqueMQbApoLR9cRV1da4hm7MhT+stwvQgk7HLnQjuTd1oy37gi2
XbEUWe34l6nDhbPjue7EO4FdrXQaSgXReo2r1vVOCH2Z00sSidK7SHKOJDz2DbVZ
NVSiNjB962MfsZwtMH+/Urp366/TmclG1HeXLxl4HIVSrIt6yYIx1tMkOQh4I5Ad
BqtoQmFyU0v+dibT+dC7Qe3dCBfe4OeemauxF0HOdPrHI/D9AYw=
=unJO
-----END PGP SIGNATURE-----

------=_Part_192799_133127925.1598809356621--




Acknowledgement sent to Brian Leung <leungbk@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#43117; 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: Sun, 13 Sep 2020 17:15:02 UTC

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