GNU bug report logs - #62556
29.0.60; [PATCH] Fix regression when calling 'eshell-command' with a pipeline in the background

Previous Next

Package: emacs;

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

Date: Fri, 31 Mar 2023 04:19:02 UTC

Severity: normal

Tags: patch

Found in version 29.0.60

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>
Subject: bug#62556: closed (Re: bug#62556: 29.0.60; [PATCH] Fix regression
 when calling 'eshell-command' with a pipeline in the background)
Date: Sun, 02 Apr 2023 22:10:02 +0000
[Message part 1 (text/plain, inline)]
Your bug report

#62556: 29.0.60; [PATCH] Fix regression when calling 'eshell-command' with a pipeline in the background

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to 62556 <at> debbugs.gnu.org.

-- 
62556: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=62556
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: Eli Zaretskii <eliz <at> gnu.org>
Cc: 62556-done <at> debbugs.gnu.org
Subject: Re: bug#62556: 29.0.60; [PATCH] Fix regression when calling
 'eshell-command' with a pipeline in the background
Date: Sun, 2 Apr 2023 15:09:01 -0700
On 4/1/2023 10:31 AM, Jim Porter wrote:
> I'll make sure these issues are addressed in the patches for master and 
> then push them in a day or so, too.

Pushed to master as 093a360251a. Closing this now.

Hopefully this works on MS-Windows; I think I wrote it in a way where it 
should behave the same on all platforms. If not, just let me know, and 
I'll try to fix it.


[Message part 3 (message/rfc822, inline)]
From: Jim Porter <jporterbugs <at> gmail.com>
To: bug-gnu-emacs <at> gnu.org
Subject: 29.0.60; [PATCH] Fix regression when calling 'eshell-command' with a
 pipeline in the background
Date: Thu, 30 Mar 2023 21:18:10 -0700
[Message part 4 (text/plain, inline)]
Starting from "emacs -Q":

  M-x eshell-command RET *echo hi | *cat & RET

You'll see the following error in the *Messages* buffer instead of the 
result:

  eshell-eval-command: Unmatched delimiter: (#<process echo> . 
#<process cat>)

This is a regression from my fix for bug#53715, which changed how
Eshell pipelines return the processes in the pipeline. Attached are some 
patches to fix it. One for the emacs-29 branch, and one for master.

Eli, is it ok to merge the patch for emacs-29? I tried to keep the 
change as minimal as possible for that branch.

The patch for master is a bit more extensive, and also fixes another 
issue where this would fail due to incorrect syntax in the Eshell 
command form:

  (eshell-command "*echo hi &" t)

Previously, it turned the command into "*echo hi & >>> 
#<current-buffer>", but that's not right; the "&" needs to go last.

For master, I also thought it would be nice to clean up 'eshell-command' 
slightly (see patch 0002); this just changes it to handle its arguments 
in the interactive spec.
[emacs-29--0001-Fix-using-background-commands-in-eshell-command.patch (text/plain, attachment)]
[emacs-30--0001-Fix-using-background-commands-in-eshell-command.patch (text/plain, attachment)]
[emacs-30--0002-Use-the-interactive-spec-to-set-arguments-for-eshell.patch (text/plain, attachment)]

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

Previous Next


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