--- Begin Message ---
Subject: |
29.0.50; [PATCH] Incorrect/missing documentation for some Eshell "$" syntaxes |
Date: |
Sun, 27 Feb 2022 13:34:26 -0800 |
In the documentation for lisp/eshell/esh-var.el (and
`eshell-parse-variable-ref' in that file), it says that "$<FOO>" is a
way of accessing the value of the variable FOO to disambiguate the
length of the variable name, sort of like "${FOO}" in ordinary shells.
However, that's not actually true. The correct syntax for that is:
$"FOO"
;; or...
$'FOO'
In fact, what "$<FOO>" does is to run FOO as a subcommand, writing its
stdout to a temp file, and returning that file's name. This is (very!)
subtly implied in the Eshell manual in the "Bugs and ideas" section,
where it says:
`grep python $<rpm -qa>' doesn't work, but using `*grep' does
This happens because the `grep' Lisp function returns immediately,
and then the asynchronous `grep' process expects to examine the
temporary file, which has since been deleted.
Attached is a patch which updates the documentation to correctly
describe the current behavior. Note: since this is just a documentation
change, it might be worth pushing to the 28 branch.
0001-Improve-correct-documentation-about-Eshell-variable-.patch
Description: Text document
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#54190: 29.0.50; [PATCH] Incorrect/missing documentation for some Eshell "$" syntaxes |
Date: |
Tue, 6 Sep 2022 20:50:14 -0700 |
On 9/6/2022 4:28 AM, Lars Ingebrigtsen wrote:
Jim Porter <jporterbugs@gmail.com> writes:
This doesn't do anything more elaborate like using generator.el's
machinery here; while (I think) that would be nice to have eventually,
we can address that in a separate bug, since it'd be a pretty big
change. We could probably close this bug after this new patch merges.
This was several months ago, but it doesn't look like this was ever
merged. If you still think this is the right solution, please go ahead
and merge. (The patch no longer merges cleanly.)
This got merged into Emacs 28 as
2c3d1b6bf41509bf0ba8995925fec9f20d8ed89d, but I think it was left open
since there was some discussion about rewriting 'eshell-do-eval' on top
of generator.el. Let's close this, and I'll file a separate followup for
the generator.el bit.
--- End Message ---