GNU bug report logs - #61954
30.0.50; [PATCH] Simplify structured commands in Eshell

Previous Next

Package: emacs;

Reported by: Jim Porter <jporterbugs <at> gmail.com>

Date: Sat, 4 Mar 2023 07:29:02 UTC

Severity: normal

Tags: patch

Found in version 30.0.50

Done: Jim Porter <jporterbugs <at> gmail.com>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Jim Porter <jporterbugs <at> gmail.com>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#61954: closed (30.0.50; [PATCH] Simplify structured commands
 in Eshell)
Date: Fri, 17 Mar 2023 05:34:02 +0000
[Message part 1 (text/plain, inline)]
Your message dated Thu, 16 Mar 2023 22:33:09 -0700
with message-id <e5000fd2-350a-eaea-c787-0551aa30ac23 <at> gmail.com>
and subject line Re: bug#61954: 30.0.50; [PATCH] Simplify structured commands in Eshell
has caused the debbugs.gnu.org bug report #61954,
regarding 30.0.50; [PATCH] Simplify structured commands in Eshell
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)


-- 
61954: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=61954
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Jim Porter <jporterbugs <at> gmail.com>
To: bug-gnu-emacs <at> gnu.org
Subject: 30.0.50; [PATCH] Simplify structured commands in Eshell
Date: Fri, 3 Mar 2023 23:28:46 -0800
[Message part 3 (text/plain, inline)]
Structured commands are just Eshell flow control commands, like 'if' and 
'while'. These expected you to set 'eshell-test-body' and 
'eshell-command-body' when implementing them, and were very hard to get 
right (see bug#12571 for example).

Instead, let's improve Eshell's iterative command evaluation some more 
so that you can write the implementations for these commands like 
normal. I think this is beneficial for two main reasons: a) it should 
get us closer to replacing Eshell's iterative evaluation with the CPS 
machinery in generator.el (bug#37635)[1], and b) third-parties should 
have an easier time writing their own fancy Eshell commands using the 
command-rewriting hooks.

Given that we have fairly thorough regression tests in Eshell now, I'm 
pretty confident that these patches don't break anything.

[1] I think I mentioned it elsewhere, but I'm hoping to make sure that 
when we do switch to the CPS machinery (or maybe to threads), it's just 
a drop-in replacement. That way, if there are problems, it should be 
easy to revert to the classic iterative evaluation code. Maybe we could 
even provide a defcustom for it just in case.
[0001-Simplify-iteration-in-Eshell-for-loops.patch (text/plain, attachment)]
[0002-Simplify-how-Eshell-s-iterative-evaluation-handles-i.patch (text/plain, attachment)]
[0003-Simplify-usage-of-while-forms-in-Eshell-s-iterative-.patch (text/plain, attachment)]
[Message part 7 (message/rfc822, inline)]
From: Jim Porter <jporterbugs <at> gmail.com>
To: 61954-done <at> debbugs.gnu.org
Subject: Re: bug#61954: 30.0.50; [PATCH] Simplify structured commands in Eshell
Date: Thu, 16 Mar 2023 22:33:09 -0700
On 3/3/2023 11:28 PM, Jim Porter wrote:
> Structured commands are just Eshell flow control commands, like 'if' and 
> 'while'. These expected you to set 'eshell-test-body' and 
> 'eshell-command-body' when implementing them, and were very hard to get 
> right (see bug#12571 for example).
> 
> Instead, let's improve Eshell's iterative command evaluation some more 
> so that you can write the implementations for these commands like 
> normal.

Since there haven't been any concerns about the patches themselves in 
the last two weeks-ish, merging this now as 1565dbcae3 and closing the bug.


This bug report was last modified 2 years and 70 days ago.

Previous Next


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