From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=0.3 required=5.0 tests=MAILING_LIST_MULTI, RCVD_IN_DNSWL_NONE,RDNS_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.2 Received: (qmail 32270 invoked from network); 25 Mar 2020 21:10:20 -0000 Received-SPF: pass (primenet.com.au: domain of zsh.org designates 203.24.36.2 as permitted sender) receiver=inbox.vuxu.org; client-ip=203.24.36.2 envelope-from= Received: from unknown (HELO primenet.com.au) (203.24.36.2) by inbox.vuxu.org with ESMTP; 25 Mar 2020 21:10:20 -0000 Received: (qmail 5031 invoked by alias); 25 Mar 2020 21:10:10 -0000 Mailing-List: contact zsh-workers-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Workers List List-Post: List-Help: List-Unsubscribe: X-Seq: 45616 Received: (qmail 7474 invoked by uid 1010); 25 Mar 2020 21:10:09 -0000 X-Qmail-Scanner-Diagnostics: from know-smtprelay-omc-7.server.virginmedia.net by f.primenet.com.au (envelope-from , uid 7791) with qmail-scanner-2.11 (clamdscan: 0.102.2/25758. spamassassin: 3.4.2. Clear:RC:0(80.0.253.71):SA:0(-2.0/5.0):. Processed in 2.742168 secs); 25 Mar 2020 21:10:09 -0000 X-Envelope-From: p.w.stephenson@ntlworld.com X-Qmail-Scanner-Mime-Attachments: | X-Qmail-Scanner-Zip-Files: | Received-SPF: pass (ns1.primenet.com.au: SPF record at _smtprelay.virginmedia.com designates 80.0.253.71 as permitted sender) X-Originating-IP: [86.16.88.158] X-Authenticated-User: p.w.stephenson@ntlworld.com X-Spam: 0 X-Authority: v=2.3 cv=Is0wjo3g c=1 sm=1 tr=0 a=MiHCjVqLJ44lE3bxSlffFQ==:117 a=MiHCjVqLJ44lE3bxSlffFQ==:17 a=jpOVt7BSZ2e4Z31A5e1TngXxSK0=:19 a=IkcTkHD0fZMA:10 a=QwSy0KU-gzKrqZcWrOMA:9 a=QEXdDO2ut3YA:10 Message-ID: <07c8c283193808eb50a4a79b8dc68b56cffe223d.camel@ntlworld.com> Subject: Re: globbing in the repeat-count word gives "illegal character" From: Peter Stephenson To: zsh-workers@zsh.org Date: Wed, 25 Mar 2020 21:09:28 +0000 In-Reply-To: References: <20200317032945.696066ab@tarpaulin.shahaf.local2> <20200323053155.6644a1d6@tarpaulin.shahaf.local2> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.28.5-0ubuntu0.18.04.1 Mime-Version: 1.0 Content-Transfer-Encoding: 7bit X-CMAE-Envelope: MS4wfDgvpCF8IblQrMZSaGd7gTFwuOaEaFzK1OTmVXVss+kOF3aZgQlZjMxwvrkPiuKcsNxhDtmRtRYm9dZHobmxxYIDMdlWVjUt61+4OzFlEH1ymDkDpYDm ont6yMKyL6V8dyHFg/WhrupoQAd4XAfsYUOJUFfwBrw96c3v3y8JvKbV This is straightforward. There is no reason to propagate tokens. diff --git a/Src/loop.c b/Src/loop.c index 95ef48b33..f13c8c4a9 100644 --- a/Src/loop.c +++ b/Src/loop.c @@ -499,8 +499,10 @@ execrepeat(Estate state, UNUSED(int do_exec)) lastval = 0; tmp = ecgetstr(state, EC_DUPTOK, &htok); - if (htok) + if (htok) { singsub(&tmp); + untokenize(tmp); + } count = mathevali(tmp); if (errflag) return 1; diff --git a/Test/A01grammar.ztst b/Test/A01grammar.ztst index 0dbf468f6..cefa1c974 100644 --- a/Test/A01grammar.ztst +++ b/Test/A01grammar.ztst @@ -557,6 +557,14 @@ >Hip hip hooray >Hip hip hooray + (setopt nonomatch + repeat 2*2 print yeah) +0:Tokens in repeat argument +>yeah +>yeah +>yeah +>yeah + case bravo { (alpha) print schmalpha ;;