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 #28 received at 54227 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Jim Porter <jporterbugs <at> gmail.com>
Cc: 54227 <at> debbugs.gnu.org
Subject: Re: bug#54227: 29.0.50; [PATCH] Inconsistencies with Eshell variable
 interpolation
Date: Thu, 03 Mar 2022 21:50:46 +0200
> Cc: 54227 <at> debbugs.gnu.org
> From: Jim Porter <jporterbugs <at> gmail.com>
> Date: Thu, 3 Mar 2022 11:29:49 -0800
> 
> 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.

Thanks, this now LGTM.




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.