[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#62556: 29.0.60; [PATCH] Fix regression when calling 'eshell-command'
From: |
Jim Porter |
Subject: |
bug#62556: 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 |
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
Description: Text document
emacs-30--0001-Fix-using-background-commands-in-eshell-command.patch
Description: Text document
emacs-30--0002-Use-the-interactive-spec-to-set-arguments-for-eshell.patch
Description: Text document
- bug#62556: 29.0.60; [PATCH] Fix regression when calling 'eshell-command' with a pipeline in the background,
Jim Porter <=