GNU bug report logs - #54227
29.0.50; [PATCH] Inconsistencies with Eshell variable interpolation

Previous Next

Package: emacs;

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

Date: Thu, 3 Mar 2022 06:36:01 UTC

Severity: normal

Tags: patch

Found in version 29.0.50

Fixed in version 29.1

Done: Lars Ingebrigtsen <larsi <at> gnus.org>

Bug is archived. No further changes may be made.

Full log


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

From: Jim Porter <jporterbugs <at> gmail.com>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 54227 <at> debbugs.gnu.org
Subject: Re: bug#54227: 29.0.50; [PATCH] Inconsistencies with Eshell variable
 interpolation
Date: Thu, 3 Mar 2022 11:29:49 -0800
[Message part 1 (text/plain, inline)]
On 3/3/2022 10:43 AM, Eli Zaretskii wrote:
>> Cc: 54227 <at> debbugs.gnu.org
>> From: Jim Porter <jporterbugs <at> 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 (text/plain, attachment)]

This bug report was last modified 3 years and 136 days ago.

Previous Next


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