Subject: Re: [PATCH] Expose isearch and suffix regions to widgets.
From: Daniel Shahaf <[email-masked]>
To: m0viefreak <[email-masked]>
Cc: [email-masked]
Date: Mon, 11 Apr 2016 06:16:47 +0000
List-Id: Zsh Workers List <zsh-workers.zsh.org>

m0viefreak wrote on Sun, Apr 10, 2016 at 15:10:39 +0200:
> On 10.04.2016 07:35, Bart Schaefer wrote:
> > And if the answer is going to be "during zle-isearch-update" then
> > won't ISEARCH_ACTIVE always be true?
> 
> No, I actually made a mistake in the docs for the original patch.
> 
> ISEARCH_ACTIVE does not describe the fact that the minibuffer is active,
> but the fact that a pattern that was typed in there does actually
> matches the BUFFER. If the search pattern does not match ("failing
> bck-i-search:") nothing is being underlined, and ISEARCH_ACTIVE will be 0.
> 
> I attached a small patch to improve the wording in the docs.

Rename the shell parameter, then?  I know the C variable is called
'isearch_active', but the shell parameter's name is an interface, and
I'd rather have the interface be named properly than have it accurately
represent an implementation detail.

(In z-sy-h I'll just track the rename, and pretend the ISEARCH_ACTIVE
name never existed.)

Cheers,

Daniel

P.S. I usually review patches such as the one below by converting them
to wdiff format by piping them through 'wdiff -d'.  It's a useful
command but not too well known, I think...

> From 87aaf78284752d04873aff4ece710ccc3279c563 Mon Sep 17 00:00:00 2001
> From: m0viefreak <[email-masked]>
> Date: Sun, 10 Apr 2016 14:57:51 +0200
> Subject: [PATCH] Improve wording of the ISEARCH_ACTIVE parameter.
> 
> ---
>  Doc/Zsh/zle.yo | 9 +++++----
>  1 file changed, 5 insertions(+), 4 deletions(-)
> 
> diff --git a/Doc/Zsh/zle.yo b/Doc/Zsh/zle.yo
> index 161cef7..c482a46 100644
> --- a/Doc/Zsh/zle.yo
> +++ b/Doc/Zsh/zle.yo
> @@ -841,10 +841,11 @@ vindex(ISEARCH_END)
>  xitem(tt(ISEARCH_ACTIVE) (integer))
>  xitem(tt(ISEARCH_START) (integer))
>  item(tt(ISEARCH_END) (integer))(
> -tt(ISEARCH_ACTIVE) indicates whether an incremental search minibuffer
> -is active. tt(ISEARCH_START) and tt(ISEARCH_END) give the location of
> -the matched pattern and are in the same units as tt(CURSOR). They are
> -only valid for reading when tt(ISEARCH_ACTIVE) is non-zero.
> +tt(ISEARCH_ACTIVE) indicates whether a part of the tt(BUFFER) is
> +currently matched by an incremental search pattern. tt(ISEARCH_START)
> +and tt(ISEARCH_END) give the location of the matched part and are
> +in the same units as tt(CURSOR). They are only valid for reading
> +when tt(ISEARCH_ACTIVE) is non-zero.
>  
>  All parameters are read-only.
>  )
> -- 
> 2.7.4
>