zsh-users
 help / color / mirror / code / Atom feed
From: Ray Andrews <rayandrews@eastlink.ca>
To: zsh-users@zsh.org
Subject: Re: symlink chain.
Date: Fri, 02 Jan 2015 21:53:07 -0800	[thread overview]
Message-ID: <54A783C3.3000006@eastlink.ca> (raw)
In-Reply-To: <150102210337.ZM22099@torch.brasslantern.com>

On 01/02/2015 09:03 PM, Bart Schaefer wrote:
> On Jan 2,  5:08pm, Ray Andrews wrote:
> } Subject: Re: symlink chain.
> }
> } Needless to say, I have no idea if this is sound, however:
> }
> }      /* With -m option -- treat arguments as a glob patterns */
> } //    if (OPT_ISSET(ops,'m')) {
> }      if (OPT_ISSET(ops,'m') && **argv != '/' ) {
> }
> } ... seems to work.
>
> I wouldn't use the word "work" exactly.  All that does is turn off the
> pattern matching entirely.  You're probably next going to complain that
>
> % whence -m /\*/bin/zsh

I repeat that I have no idea if that is sound, I'm just fooling with 
it.  But I haven't broken it here (yet).


    $ whence -mas "/usr/bin/zsh"
    zsh-5.0.7-165-g2194da1
    /usr/bin/zsh -> /usr/local/bin/zsh-5.0.7-165-g2194da1


    $ whence -mas "*zsh*"
    zsh-5.0.7-165-g2194da1
    /usr/local/bin/zsh -> /usr/local/bin/zsh-5.0.7-165-g2194da1
    /usr/bin/zsh -> /usr/local/bin/zsh-5.0.7-165-g2194da1
    /bin/zsh -> /usr/local/bin/zsh-5.0.7-165-g2194da1
    /usr/local/bin/zsh,3,bart-fix-TRAPDEBUG
    /usr/local/bin/zsh-2014-11-14
    /usr/local/bin/zsh-5.0.7-109-g2598010
    /usr/local/bin/zsh-5.0.7-112-g49d6aac
    /usr/local/bin/zsh-5.0.7-125-g167a15a
    /usr/local/bin/zsh-5.0.7-136-g0a07ffd
    /usr/local/bin/zsh-5.0.7-138-g247f754
    /usr/local/bin/zsh-5.0.7-159-g89c692e
    /usr/local/bin/zsh-5.0.7-161-g1cd8023
    /usr/local/bin/zsh-5.0.7-165-g2194da1
    /usr/local/bin/zsh-5.0.7-dev-0
    /usr/local/bin/zsh-RayStyle1
    /usr/local/bin/zsh.old
    /bin/zsh4
    /bin/zsh5

... so pattern matching is still working, so far.
>
> should return /usr/bin/zsh and /usr/local/bin/zsh, or somthing of the
> kind.  This is just abusing the purpose of "whence", which is intended
> to tell you what a path search would find for a simple command name.

Well, what it 'should' be used for is subjective, and of course my views on
that are very junior.  I want it to give me every command that matches the
pattern, and not to crap out if  -m is given, just because a full path is
specified.  Ditto with -a.  And I'd like being able to use it to see 
symlink chains.
I think all of that makes the command more intuitive and far more useful
even  if it is a breach of tradition.
>
> If we *really* want this behavior -- which I submit that we don't, as
> we're wandering into silly territory like whence -m '*bin*' returning
> all commands in all directories named "bin",

Speaking for myself, that's not something I'd begin to want.  I want it 
to do what
it advertises itself to do, but with no gotchas.  I'd not call that silly.
> so we should stop futzing
> around with "whence" -- then the correct thing is rewriting the hash
> table scan to look at both the keys and the values when doing the
> pattern matching.
>
> Which has ramifications beyond "whence" because it uses the same hash
> table scan routines as everything else.  I confess I'm actually a bit
> surprised that PWS was willing to hack up something as deeply involved
> in the internals as xsymlinks() [in which we just finished fixing other
> obscure bugs] in order to implement whence -S.

Of course we leave final decisions to you guys as to what can be done 
safely.
But once I lean how to preserve them, I'll be keeping both of those:

... && **argv != '/' ...
changes, cuz they sure look good to me. (And the symlink chain once I learn
how to import a patch.)  That's presuming a better method isn't forthcoming.

> Shell functions exist so that if something like whence doesn't do what
> you want, you can write something else that does.

Yup.  I had those link-chains displayed with 'namei' just fine, but I 
still think
it is a natural addition to whence.  You guys know best.


  reply	other threads:[~2015-01-03  5:53 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-12-27  4:50 Ray Andrews
2014-12-27 23:38 ` Ray Andrews
2015-01-02 17:03 ` Peter Stephenson
2015-01-02 18:42   ` Ray Andrews
2015-01-02 20:27     ` Lawrence Velázquez
2015-01-02 21:19       ` Ray Andrews
2015-01-02 21:24     ` Peter Stephenson
2015-01-02 21:36       ` Ray Andrews
2015-01-02 21:53       ` Ray Andrews
2015-01-02 22:21         ` Peter Stephenson
2015-01-02 23:42           ` Ray Andrews
2015-01-03  1:08             ` Ray Andrews
2015-01-03  5:03               ` Bart Schaefer
2015-01-03  5:53                 ` Ray Andrews [this message]
2015-01-03  7:17                   ` Bart Schaefer
2015-01-03 17:14                     ` Ray Andrews
2015-01-03 20:02                       ` Bart Schaefer
2015-01-03 21:13                         ` Ray Andrews
2015-01-03 21:42                           ` Peter Stephenson
2015-01-03 22:42                             ` Ray Andrews
2015-01-04  0:41                               ` Bart Schaefer
2015-01-04  3:45                                 ` Ray Andrews
2015-01-04  0:40                           ` Bart Schaefer
2015-01-04  3:35                             ` Ray Andrews
2015-01-04  8:31                               ` Bart Schaefer
2015-01-04 20:49                                 ` Ray Andrews
2015-01-05  1:34                                   ` Bart Schaefer
2015-01-05  2:28                                     ` Lawrence Velázquez
2015-01-05  4:24                                       ` Ray Andrews
2015-01-02 22:22         ` Bart Schaefer

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=54A783C3.3000006@eastlink.ca \
    --to=rayandrews@eastlink.ca \
    --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).