Mailing-List: contact zsh-workers-help@zsh.org; run by ezmlm
Precedence: bulk
X-No-Archive: yes
List-Id: Zsh Workers List <zsh-workers.zsh.org>
List-Post: <mailto:zsh-workers@zsh.org>
List-Help: <mailto:zsh-workers-help@zsh.org>
X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on f.primenet.com.au
X-Spam-Level: 
X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM,
	T_DKIM_INVALID autolearn=ham autolearn_force=no version=3.4.1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20120113;
        h=mime-version:from:date:message-id:subject:to;
        bh=N68lFIQ+DhkHfruO5DdOsIrsAhFvUdRCoq/mYuhg8p0=;
        b=vKML1TWs/KqtEl3j1UHtvbsZNdkr22MJ8UsowXg7Q6joywhhBof4yJCAMIigpqf/Zz
         5KE8sXP4SBbZH+rThjUzEu1Y6HKrcmTTv0FTphZfGZ+8Em32BbSTc4jpFHs5dBGxOzoV
         /JWChyecRZJ2KgO5cZTd9BOJqLHQh63X51Jbj2QvCGRweMo5duVQ1Qde4mU5WgFhwRc6
         QUF0NUmS0JofeEfGdYWrMIs1HU6gbgqHzybLSPNNVXymf3nlAK47qc5LV62huzw3l3Px
         TyAhF+DwVmJ7B0Gp8MKjg+ErrWMDCSCm52AYvHcXnWt1WxAOlFkIqtqMH2YQ6Jzm1hx1
         bU+A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20130820;
        h=x-gm-message-state:mime-version:from:date:message-id:subject:to;
        bh=N68lFIQ+DhkHfruO5DdOsIrsAhFvUdRCoq/mYuhg8p0=;
        b=LBtawkI94hhqZkEO+jWjadSGAj7sNx38TNICh7SHJBrinn1NsZbxbNiJQf4IZKSqkr
         AZmfu8fqyGKtGxU2JsfS925QclsapZinROHJw7120oqMOoS/UbUA8e4X+yj2Es0txaWd
         3lZUWAit1JPzl7qhRD3XSzHJp3O3eA2INOlTba8jl9rzwJm+EGqAJRmhFhCEmGu7qghi
         lRGsdYJWeZxJ4C1mQYC9JFRbpyiBucOqxjblhznNvIgILpRORcBHCCPAI6LffSLLq7ve
         pr0v/UI7jEshZoVx4cB7jbwNpNvbf6w3rnN3aW0pKD1cGxbDJxnckFEgkbDXBV0c5AHq
         znhA==
X-Gm-Message-State: ALyK8tJYiVP2Y6YUIM0gGiezyfTleAvkQQymKhCI2WBbw3agpdI3QY9CTeoLOlTmnBVTh9Lo4ptkoPmbapBfPg==
X-Received: by 10.140.254.213 with SMTP id z204mr45044082qhc.56.1464889313243;
 Thu, 02 Jun 2016 10:41:53 -0700 (PDT)
MIME-Version: 1.0
From: Sebastian Gniazdowski <sgniazdowski@gmail.com>
Date: Thu, 2 Jun 2016 19:41:33 +0200
Message-ID: <CAKc7PVDXOUzJfhQMtCuW8mknM+OzyXQzafj9BKWPHDzkxAwXLA@mail.gmail.com>
Subject: MBEGIN, MEND in #m when pattern has "|"
To: Zsh hackers list <zsh-workers@zsh.org>
Content-Type: text/plain; charset=UTF-8
X-Seq: zsh-workers 38582

Hello,
below is a code that uses indexes set by (#m) or (#b). Turns out the
indexes are set only when using (#b). For (#m) they are set when there
is no "|" in the pattern. Why?

Output is:
==========================

Text is: vim ~/.zshrc s, searching for: vim|s
|-1 0 fg=red,bold|
 ~/.z|-1 0 fg=red,bold|
hrc |-1 0 fg=red,bold|

Text is: vim ~/.zshrc s, searching for: vim|s
|0 3 fg=red,bold|
|8 9 fg=red,bold|
|13 14 fg=red,bold|

Code:
==========================

#!/usr/bin/env zsh

nl=$'\n'
text="vim ~/.zshrc s"
colsearch_pattern="vim|s"

harray=( "${(f)${text//(#mi)${~colsearch_pattern}/|$(( MBEGIN - 1 ))
$(( MEND )) fg=red,bold|$nl}%$nl*}" )
echo "Text is: $text, searching for: $colsearch_pattern"
print -rl -- "${harray[@]}"

print

harray=( "${(f)${(S)text//*(#bi)(${~colsearch_pattern})/|$(( mbegin[1]
- 1 )) $(( mend[1] )) fg=red,bold|$nl}%$nl*}" )
echo "Text is: $text, searching for: $colsearch_pattern"
print -rl -- "${harray[@]}"

