Subject: Re: bracket-paste-magic adds backslashes inside a quoted string if URL is pasted ("regression" compared to pre-5.1 url-quote-magic)
From: Mikael Magnusson <[email-masked]>
To: Daniel Shahaf <[email-masked]>
Cc: Zsh hackers list <[email-masked]>
Date: Sat, 14 May 2016 03:33:46 +0200
List-Id: Zsh Workers List <zsh-workers.zsh.org>

On Sat, May 14, 2016 at 12:20 AM, Daniel Shahaf <[email-masked]> wrote:
> Bart Schaefer wrote on Fri, May 13, 2016 at 04:06:45 -0700:
>> Stepping outside the box a little here -- when url-quote-magic was
>> written there was no such thing as the zle-line-pre-redraw hook.  It
>> might be that a better approach would be to examine the entire buffer
>> in that hook after the paste has finished and apply the quoting
>> retroactively, rather than to do it character by character during the
>> paste.  (On the other hand zle-line-pre-redraw is thoroughly co-opted
>> by popular plugins like zsh-syntax-highlighting.)
>
> So perhaps it's time to permit registering multiple functions to be
> invoked at pre-redraw, as proposed in 37639?  This way, z-sy-h and
> url-quote-magic could each register a pre-redraw hook function.
>
> zle-line-pre-redraw has not yet been released: its interface can be
> changed arbitrarily.  z-sy-h will be updated to use whatever interface
> zsh-5.3 will be released with.

It's already possible to do

zle-line-pre-redraw() {
  whatever code
  other code
  z-sy-h-hook
  yet more code
}

Surely there has to be some limit to how lazy a user can be?

Also, if multiple things register for this automatically, it feels
pretty likely more than one of them will be trying to do highlighting
and then things will be wonky. And if you modify the buffer in one of
them like in the GP example, the order _definitely_ matters or you
will have highlights in the wrong place, so the user will have to
intervene in that case. If "plugins" are automatically registering
your more generic hook interface, it is very difficult for the user to
arrange for the order to be correct.

This has a weak NAK from me.

-- 
Mikael Magnusson