From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 5589 invoked by alias); 2 Sep 2015 15:33:37 -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: X-Seq: 36403 Received: (qmail 8330 invoked from network); 2 Sep 2015 15:33:34 -0000 X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU autolearn=ham autolearn_force=no version=3.4.0 DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d= daniel.shahaf.name; h=content-type:date:from:message-id :mime-version:subject:to:x-sasl-enc:x-sasl-enc; s=mesmtp; bh=WH6 lOEVK0TpkDWToKjfQEJ5/bes=; b=sJxCW60qLz3FfRui+3hz25+CGs4lmDmZc/5 L1YUXoiM3tAla+X3ICHCP9PdhtdDvcLpLbu6tNuIwq+B9kIJuVL2l+sfN5E2ZBw5 eajOz+jC5A7Uvnt+u4b0mVVQbucrUgjaFRaq8RlSEJ6qs+AaefL6xS3kdGenrRkY M4mgvntU= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d= messagingengine.com; h=content-type:date:from:message-id :mime-version:subject:to:x-sasl-enc:x-sasl-enc; s=smtpout; bh=WH 6lOEVK0TpkDWToKjfQEJ5/bes=; b=hDPSVi/se97VIqGrSnipHZxajYPDkCu+OR VHExGCmrDsaKtBu5AYbCH7zIf1XbS46MVOKdPymVf00Oscdrics+R+WA6aF1Dik7 Sj26hx0y4S1cci2Q8zUotY2Q2aXCMBe4uEXKA0pyZ62ya3Z+7k7O/R4rpYXmVxLQ MgqD61/ic= X-Sasl-enc: jP4RV2o5QOxF3PDQfB9YK62hNe0u7F8zI/f6vPuc/wZi 1441208009 Date: Wed, 2 Sep 2015 15:33:22 +0000 From: Daniel Shahaf To: zsh-workers@zsh.org Subject: [PATCH] type -w += suffix alias Message-ID: <20150902153322.GA9026@tarsus.local2> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.21 (2010-09-15) This makes 'type -w' distinguish suffix aliases from regular aliases, like bare 'type' already does. Use-case: detecting programmatically whether the command word is indeed a valid command word (see ) diff --git a/Src/hashtable.c b/Src/hashtable.c index 90739a8..2d1ff87 100644 --- a/Src/hashtable.c +++ b/Src/hashtable.c @@ -1234,7 +1234,10 @@ printaliasnode(HashNode hn, int printflags) } if (printflags & PRINT_WHENCE_WORD) { - printf("%s: alias\n", a->node.nam); + if (a->node.flags & ALIAS_SUFFIX) + printf("%s: suffix alias\n", a->node.nam); + else + printf("%s: alias\n", a->node.nam); return; } diff --git a/Test/A02alias.ztst b/Test/A02alias.ztst index b294e65..3896178 100644 --- a/Test/A02alias.ztst +++ b/Test/A02alias.ztst @@ -91,5 +91,8 @@ 0:unalias -a alias -s foo=print + type bar.foo; type -w bar.foo unalias -as 0:unalias -as +>foo is a suffix alias for print +>foo: suffix alias