Subject: Re: bug#59622: 29.0.50; [PATCH] Regression in Eshell's handling of escaped newlines

From: Eli Zaretskii <[email-masked]>
Date: Mon, 05 Dec 2022 14:39:06 +0200

> Date: Sun, 4 Dec 2022 17:35:30 -0800
> Cc: [email-masked]
> From: Jim Porter <[email-masked]>
> 
> On 12/3/2022 11:26 PM, Eli Zaretskii wrote:
> >> Date: Sat, 3 Dec 2022 17:41:50 -0800
> >> From: Jim Porter <[email-masked]>
> >>
> >> Eli, since this is a regression from Emacs 28 (likely fallout from one
> >> of my changes to fix some longstanding bugs with quotes in Eshell),
> >> would my current patch be ok on the release branch?
> > 
> > Yes, but please do try to make it as safe as is feasible.
> 
> Thanks. How does this look? I just simplified the change in 
> 'eshell-parse-backslash' so that the only difference is an extra 
> conditional (plus whitespace changes).

Looks good, thanks.  One comment:

> +When you escape a character with @code{\} outside of quotes, the
> +result is the literal character immediately following it, so
> +@samp{\$10} means the literal string @code{$10}.  Inside of
> +double quotes, the result is the literal character following it if
> +that character is special, or the full @code{\@var{c}} sequence
> +otherwise; inside double-quotes, @code{\}, @code{"}, and @code{$} are
> +considered special.

The last sentence is very unclear, please try saying what you need in a
clearer way, and/or maybe add a couple of examples.