Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: PATCH: fix crash involving backslash quoting in set_comp_sep()



On Sat, May 30, 2026 at 7:51 AM Mikael Magnusson <mikachu@xxxxxxxxx> wrote:
>
> Originally reported in 46120, with minimal recipe in 46156.
>
> The QT_BACKSLASH case just removed backslashes without tracking how many, but we
> need to know that for later, so do it more like how QT_DOUBLE does it.
>
> Without the swe += bq, alias a=\\\[<tab> becomes a=\\\[\[ which isn't
> right.

I'm retracting this patch for now, the more I stared at this function,
the more I realize it can never work with complete_in_word the way
it's written. It tries to track the total number of removed quote
marks (whether it's " or ' or \) and then adjusts things based on
that, but it doesn't at all account for where these removed marks are
in relation to either the cursor or the start/end of the current word
(It's fairly trivial to come up with other examples that crash with
this patch too). I fiddled a bit with reworking it but it's obviously
a little tricky, don't hold your breath.

-- 
Mikael Magnusson




Messages sorted by: Reverse Date, Date, Thread, Author