|
From: | Jim Porter |
Subject: | bug#54227: 29.0.50; [PATCH] Inconsistencies with Eshell variable interpolation |
Date: | Thu, 3 Mar 2022 11:29:49 -0800 |
On 3/3/2022 10:43 AM, Eli Zaretskii wrote:
Cc: 54227@debbugs.gnu.org From: Jim Porter <jporterbugs@gmail.com> Date: Thu, 3 Mar 2022 09:56:14 -0800 If you have any ideas about how to improve the wording, I'm happy to update it though. I'll try to keep thinking as well.Something like the below: (defmacro eshell-with-temp-command (region &rest body) "Narrow the buffer to REGION and execute the forms in BODY. REGION is a cons cell (START . END) that specifies the region to which to narrow the buffer. REGION can also be a string, in which case the macro temporarily inserts it into the buffer at point, and narrows the buffer to the inserted string. Before executing BODY, point is set to the beginning of the narrowed REGION.
Thanks, updated to use that docstring.
diff --git a/doc/misc/eshell.texi b/doc/misc/eshell.texi index 5581e5cd9e..47f8902d5a 100644 --- a/doc/misc/eshell.texi +++ b/doc/misc/eshell.texi @@ -1043,15 +1043,16 @@ Dollars Expansion
[snip]
-Multiple sets of indices can also be specified. For example, if-@var{var} is a list of lists, @samp{$@var{var}[0][0]} is equivalent to -@samp{(caar @var{var})}. +Multiple sets of indices can also be specified. For example, if +@var{var} is @samp{((1 2) (3 4))}, then @samp{$@var{var}[0][1]} will +expand to @code{2}.I would add to the last sentence: ", i.e.@: the second element of the first list member (all indices are zero-based)."
Ok, added.
Also, it sounds like you just dropped the ball on the alist use case?
I think we just had different ideas of how much detail was necessary. Given your above comment, I think I have a better idea of the level of detail, so I've expanded this section into a table. The single paragraph was a little too dense, so breaking it out into separate blocks for each data type makes it easier to provide a more thorough explanation.
-(defun eshell-parse-inner-double-quote (bound) - "Parse the inner part of a double quoted string. +(defun eshell-unescape-inner-double-quote (bound) + "Unescape the inner part of a double quoted string."Unescape escaped characters of a double-quoted string."
Done, though I worded it as, "Unescape escaped characters inside a double-quoted string." I wanted to be extra-clear that this only operates on the bits *between* the double-quotes, but doesn't do anything with the surrounding double-quotes themselves.
0001-Improve-wording-of-Eshell-variable-interpolation-cod.patch
Description: Text document
[Prev in Thread] | Current Thread | [Next in Thread] |