From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-0.2 required=5.0 tests=DATE_IN_PAST_12_24, FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE autolearn=ham autolearn_force=no version=3.4.2 Received: from primenet.com.au (ns1.primenet.com.au [203.24.36.2]) by inbox.vuxu.org (OpenSMTPD) with ESMTP id 88230e24 for ; Sat, 7 Dec 2019 07:07:34 +0000 (UTC) Received: (qmail 362 invoked by alias); 7 Dec 2019 07:07:26 -0000 Mailing-List: contact zsh-users-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Users List List-Post: List-Help: List-Unsubscribe: X-Seq: 24501 Received: (qmail 4248 invoked by uid 1010); 7 Dec 2019 07:07:26 -0000 X-Qmail-Scanner-Diagnostics: from mout.gmx.net by f.primenet.com.au (envelope-from , uid 7791) with qmail-scanner-2.11 (clamdscan: 0.102.1/25653. spamassassin: 3.4.2. Clear:RC:0(212.227.17.20):SA:0(-2.6/5.0):. Processed in 3.753443 secs); 07 Dec 2019 07:07:26 -0000 X-Envelope-From: dominik.vogt@gmx.de X-Qmail-Scanner-Mime-Attachments: | X-Qmail-Scanner-Zip-Files: | Received-SPF: pass (ns1.primenet.com.au: SPF record at gmx.net designates 212.227.17.20 as permitted sender) X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Date: Fri, 6 Dec 2019 18:18:12 +0100 From: Dominik Vogt To: Zsh Users Subject: Brace expansion vs. TAB Message-ID: <20191206171812.vhynj65pxdk6woqh@gmx.de> Reply-To: dominik.vogt@gmx.de Mail-Followup-To: Zsh Users MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: NeoMutt/20170113 (1.7.2) X-Provags-ID: V03:K1:o/NYJBVHAwQufd1I7kv2tks1w+jCtyqpHnrKhp2Noo5YVLMqykX F2UkMwsLFrbfs4dKDHagTlv2IV4eb5uWWSca5ujAtORZlnO5eiQHgbltq/fbKTHvgk7BD3x UEIz43vR8uaVfmFH2C7xPLqv9nxZF+v0TGGsWB0m/Vn84qgXR4i/dl0Ex5DLJSleobqH91e F1Hqcbzf83J3/mIybcsfg== X-UI-Out-Filterresults: notjunk:1;V03:K0:Rs3k0xns5KI=:RLDHqV8PvZhQ1Ts1+WlG0a 6RF+Igi1X8p2kvSqQ6pJ+Y/wqn2CYc1GJJJ9ZTK3ugtf0Jc31AWjPbNZUTAgNgfTefY2FNQQp 0rH7T2jRSDSJxfDOzXW3ejrLHrp3vULbq3Ug8vonBzLmmBSRxllh75zQ/Ql2Fcil87PA2JlAe i/+gGUSp92oUxylFiPG8ZnxV0DCUQkwI/lHILqfLnSWyzcTfmrEHR3fBMBHFJexDRsr2Q2lp1 lJR28JBi543QxTDemRETbLmlxM/vJZE7+0wYz7lkVrOBDhvrUhk2sXdv0p0Gvd6T2eBVL0Leg pOxElfMrKE/wWdzAX4Jw/JPQsqBtPPd0R60FyPY3jdG7hyaYcoE211CUHUPYlP9+uF9+ZjzgA 3G6jwEVguViOg8znXzX+is+XK5D7xv8DWJRpt9QV65qtJaB/rrazFtwUc4eB3pMyVszxSLIS/ WcUI6AxDDOHBTwRoZlGqDhtreNJb1JCYIb/mxMK3ggFybVWlEhoNSaKzdQ/qWFV0/JZr+3mxP T8eGbSmJU/NU4PfrLn6pn7fpj+F4PG8xk2EQWva8QpHzHLJbrcImR4VrcFxwHvroiX3MOUMxz NS7GZ0RsGKs/XFYup0TUlY4Spjc+s44EnfIVqRrUZOLkXHG7YjhN5SbfCQ27MjbkK5W1XsVNu FrTrdWIrK5BCXY2guQpGprm8Exgg712EY4kd/OO40Nu5LoP6pWCdRLQIWZOEI8HxPgfylKrPT xT2pIhlHnB5VNbcqUQfE8F0H2vLeTgwcgKGL7jNqrvozckGtsY8nU+cKdTnTSxogWr8okKDI2 m76Odm45dyW//1DAviq7wR7/U0/1glEwLpgzwwO9GdEZU9jBU0r2YOcZ9I4MzIMeVQ+Wketpw sVYQShhkVh9Kil9NMnPN8ijuttR0PkQ+1tgsWP2KOoQBGmEp31VE/vwd39tMaQtAHd8KTVsBO CCUCchu/hPH+dA5UvQSA6wcIlRjeuPf4LRAbRBn1cr2+gtdAoK02tlxflJxL9ZKJUb08fzYMh U9Kv5wt9l2H+yfZEe6WufqHEAlZI0rz11Dq2aYKrTHQI81abwKN4+mPJ2QvaV+pFKIgXkltvR EJGMFOnRIq1CoOgYqP0aqMgTraP+y2lsc4sj5+WSUMcCqGTWNXX3Imz9EWVl7nx27zhSxcneP MkjzqMVspRXGq/cz8ZR8btfM+4VQFumChTqrF1aBY5+bQ9rOVB0401vzOu8ZgnoyggYqFuXrw QrKcIuR8eS1pR/7Pn9gz5OhNWa7kuqhuy9Lk30uuOs6HjvMHLx15wzKbwhgc= Content-Transfer-Encoding: quoted-printable (Using zsh 5.3.1 on Debian.) In a directory with c++ sources: $ ls * foo.cpp foo.h Now, $ grep ... *.{hpp,cpp} results in $ grep ... foo.cpp But $ grep ... *.{hpp,cpp} zsh: no matches found: *.hpp =2D- Q1: Well, that is probably because Tab expansion is totally different from filename generation and the NOMATH option is enabled (by default?). But is there a way to get rid of the error message in this specific case only? I.e. to disable the NOMATCH option in command using brace expansion only? Q2: What I really want to have is a simple way to get all c and c++ filenames in a singel pattern, like $ grep ... *.{h,c,hpp,cpp,hxx,cxx} $ grep ... **/*.{h,c,hpp,cpp,hxx,cxx} In an ideal world I'd like to have something very simple that worked with c sources, but not with c++. $ grep ... **/*.[ch] -> $ alias -g CH=3D"{h,c,hpp,cpp,hxx,cxx}" $ grep ... **/*.CH (Yeah, I know global aliases dont't work this way.) Ciao Dominik ^_^ ^_^ =2D- Dominik Vogt