zsh-users
 help / color / mirror / code / Atom feed
From: Jens Elkner <jel+zsh@cs.uni-magdeburg.de>
To: zsh-users@zsh.org
Subject: Re: whence question
Date: Sat, 14 Jan 2017 19:23:03 +0100	[thread overview]
Message-ID: <20170114182303.GB12641@trex.cs.ovgu.de> (raw)
In-Reply-To: <alpine.LRH.2.00.1701140953330.4560@toltec.zanshin.com>

On Sat, Jan 14, 2017 at 09:59:05AM -0800, Bart Schaefer wrote:
> On Sat, 14 Jan 2017, Jens Elkner wrote:
> 
> > especially in 'for' like statements, dropping it silently makes sense
> > (is expected). To accomplish this in an easy way, ksh93 allows one to
> > prefix the pattern with '~(N)' , e.g.:
> >
> > Would be nice, if zsh could do the same (and enhance compatibility) ...
> 
> Zsh has had this for many years, except you suffix the pattern rather
> than prefix it and there's no extra "~":
> 
>     for F in *.c(N) ; do ls $F ; done

Ah ok - good to know, thanx.
  
> Zsh can't readily adopt ksh's exact syntax here because ~(N)*.c is taken
> to be a pattern grouping, e.g. ~(N|M)*.c would match home directories
> for user names beginning with N or M and ending in .c.

Well, it is a special case, which needs some snooping, but does not
really collide with your example: as soon as something different than
'N' appears inside the parens, it can be handled as usual, otherwise
add the corresponding flag to the pattern (or wherever it is needed in
the state machine). If one really wants to have something from the
user[s] N* only, one can/should simply omit the parens - IMHO no big deal.

Have fun,
jel.
-- 
Otto-von-Guericke University     http://www.cs.uni-magdeburg.de/
Department of Computer Science   Geb. 29 R 027, Universitaetsplatz 2
39106 Magdeburg, Germany         Tel: +49 391 67 52768


  reply	other threads:[~2017-01-14 18:23 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-01-14  4:13 Ray Andrews
2017-01-14  5:11 ` Bart Schaefer
2017-01-14  6:09   ` Ray Andrews
     [not found]   ` <7b890e89-d01b-ab5c-32bf-b75bfa8d945c__41234.9168131643$1484374276$gmane$org@eastlink.ca>
2017-01-14  6:48     ` Daniel Shahaf
2017-01-14 16:36       ` Ray Andrews
2017-01-14 17:11         ` Bart Schaefer
2017-01-14 19:13           ` Ray Andrews
2017-01-14 17:46       ` Jens Elkner
2017-01-14 17:59         ` Bart Schaefer
2017-01-14 18:23           ` Jens Elkner [this message]
2017-01-14 19:08         ` Nikolay Aleksandrovich Pavlov (ZyX)
2017-01-14 20:13           ` Daniel Shahaf
2017-01-14 21:04             ` Bart Schaefer
     [not found]             ` <4cca17742cded21984e6092622265ab9@cmgw03.eastlink.ca>
2017-01-14 21:44               ` Ray Andrews
     [not found] <652bcc3f-7365-2e52-d39c-8576278606bc__74.9235078275845$1484367323$gmane$org@eastlink.ca>
2017-01-14  4:40 ` Daniel Shahaf
2017-01-14  4:57   ` Ray Andrews
2017-01-14 18:32     ` Ray Andrews
2017-01-14 18:55       ` Bart Schaefer
2017-01-14 19:51         ` Ray Andrews
2017-01-14 20:56           ` Daniel Shahaf
2017-01-14 21:26             ` Ray Andrews
2017-01-14 21:53               ` Daniel Shahaf
2017-01-15 19:53                 ` Ray Andrews
2017-01-14 21:43             ` Bart Schaefer
2017-01-14 21:55               ` Bart Schaefer
2017-01-15 20:06                 ` Ray Andrews

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170114182303.GB12641@trex.cs.ovgu.de \
    --to=jel+zsh@cs.uni-magdeburg.de \
    --cc=zsh-users@zsh.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).