Subject: Re: bug#54190: 29.0.50; [PATCH] Incorrect/missing documentation for some Eshell "$" syntaxes

From: Eli Zaretskii <[email-masked]>
Date: Mon, 28 Feb 2022 15:28:03 +0200

> Cc: Jim Porter <[email-masked]>, [email-masked]
> Date: Mon, 28 Feb 2022 08:18:26 -0500
> From:  Stefan Monnier via "Bug reports for GNU Emacs,
>  the Swiss army knife of text editors" <[email-masked]>
> 
> > diff --git a/lisp/eshell/esh-var.el b/lisp/eshell/esh-var.el
> > index 96838d4132..7388279f15 100644
> > --- a/lisp/eshell/esh-var.el
> > +++ b/lisp/eshell/esh-var.el
> > @@ -463,8 +463,8 @@ eshell-parse-variable-ref
> >                     (eshell-as-subcommand ,(eshell-parse-command cmd))
> >                     (ignore
> >                      (nconc eshell-this-command-hook
> > -                           (list (function (lambda ()
> > -                                              (delete-file ,temp))))))
> > +                           (list (lambda ()
> > +                                   (delete-file ,temp)))))
> >                     (quote ,temp)))
> >              (goto-char (1+ end)))))))
> >     ((eq (char-after) ?\()
> >
> >
> > Trying to follow the logic of how this is eventually evaluated isn't,
> > er, obvious, but I'm not sure how that change could break anything,
> > either.  Perhaps Stefan has a comment; added to the CCs.
> 
> Looks like a bug somewhere in the `eshell-do-eval` machinery, yes.
> Until we find the problem (or rewrite `eshell-do-eval` on top of the CPS
> converter of `generator.el`), I think reverting this change (and adding
> a comment pointing to this bug) sounds like a great plan.

I agree.  We should revert this on the release branch, since this is a
regression wrt Emacs 27.

Thanks.