zsh-users
 help / color / mirror / code / Atom feed
From: Bart Schaefer <schaefer@brasslantern.com>
To: zsh-users@zsh.org
Subject: Re: problem with zmv
Date: Sat, 3 Dec 2016 09:05:06 -0800	[thread overview]
Message-ID: <161203090506.ZM5554@torch.brasslantern.com> (raw)
In-Reply-To: <5842E867.2020700@eastlink.ca>

On Dec 3,  7:44am, Ray Andrews wrote:
}
} On 12/02/2016 07:51 PM, Bart Schaefer wrote:
} > It occurs to me that it might be slightly better to use
} >
} >      alias zmv='function { . zmv }'
} >
} Gotcha ... ok, thanks Bart, I'll not try to understand why, that's taken 
} on faith.

I was having trouble coming up with an example last night, but:

You may have noticed that "noglob" acts a bit like "command" in that
aliases are not expanded:

% alias foo='echo you typed'
% noglob foo *
zsh: command not found: foo

So suppose you want aliases expanded after noglob.  To do that, you
need:

% alias noglob='noglob '

(with the trailing space in the quotes).  Now:

% noglob foo *
you typed *
% 

However, if you have

% alias zmv='() { . zmv }'
% noglob zmv
% functions
noglob () {
        . zmv
}
% 

It's very unlikely this would happen because you'd probably put some
arguments after zmv and get a parse error, but if you replace () with
"function" then you get the parse error every time and no accidents.

If you want noglob with zmv you have to autoload the real function, as
there's no way to use precommand modifiers with an anonymous function.


  reply	other threads:[~2016-12-03 17:11 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-12-01 16:00 Ray Andrews
2016-12-02 20:54 ` Ray Andrews
2016-12-02 21:15   ` Bart Schaefer
2016-12-02 23:36     ` Ray Andrews
2016-12-02 23:47       ` Bart Schaefer
2016-12-03  0:15         ` Ray Andrews
2016-12-03  0:49           ` Bart Schaefer
2016-12-03  2:59             ` Ray Andrews
2016-12-03  3:51               ` Bart Schaefer
2016-12-03  5:58                 ` Mikael Magnusson
2016-12-03 16:05                   ` Ray Andrews
2016-12-03 15:44                 ` Ray Andrews
2016-12-03 17:05                   ` Bart Schaefer [this message]
2016-12-03 23:45                     ` Ray Andrews
2016-12-04  6:25                       ` Bart Schaefer
2016-12-04 16:41                         ` 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=161203090506.ZM5554@torch.brasslantern.com \
    --to=schaefer@brasslantern.com \
    --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).