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


Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

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 1 (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 104 days ago.

Previous Next


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