zsh-users
 help / color / mirror / code / Atom feed
From: Peter Stephenson <p.w.stephenson@ntlworld.com>
To: zsh-users@zsh.org
Subject: Re: Alias call in function fails...
Date: Tue, 23 Jun 2020 10:14:41 +0100 (BST)	[thread overview]
Message-ID: <1729280279.18645.1592903681952@mail2.virginmedia.com> (raw)
In-Reply-To: <20200623083703.GA13538@pooh.prefix.duckdns.org>

> On 23 June 2020 at 09:37 Andreas Kusalananda Kähäri <andreas.kahari@abc.se> wrote:
> On Tue, Jun 23, 2020 at 01:23:55AM +0200, Mikael Magnusson wrote:
>> On 6/22/20, Frank Gallacher <franxg@gmail.com> wrote:
>>> Greetings,
>>>
>>> I have a function:
>>>
>> [...]
>>>
>>> Which calls an alias:
>>>
>>> alias dumpit='hexdump -C -n 128'
>>>
>>> It works fine in bash, but with zsh now I get:
>>>
>>> :::::::: test.txt ::::::::
>>> dumpall:11: command not found: dumpit
>>>
>>> Am I doing something wrong???
>> 
>> Aliases are expanded on parse time, which means aliases defined in a
>> file won't be usable in that same file. (Because it is parsed in its
>> entirety before any of the code is actually run).
> 
> If the alias is defined before the definition of the function, it ought to work.

It's a bit more complicated than that.  There's a difference between a file
that's being executed line by line, which includes initialisation files
and sourced files as well as scripts, and a file that's parsed and then executed,
which would include an autoloaded function definition.  In the former case,
the alias is defined before the function definition is executed; in the latter
case it isn't, even though the line with the alias definitions appears before
the function definition.

For sure you can't define the alias *after* the function definition.

pws

  reply	other threads:[~2020-06-23  9:15 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-06-22 12:49 Frank Gallacher
2020-06-22 23:23 ` Mikael Magnusson
2020-06-23  8:37   ` Andreas Kusalananda Kähäri
2020-06-23  9:14     ` Peter Stephenson [this message]
2020-06-23  9:55     ` Mikael Magnusson
2020-06-23 11:28       ` Andreas Kusalananda Kähäri
2020-06-23 12:04         ` Daniel Shahaf
2020-06-23 12:46           ` Perry Smith
2020-06-23 13:10             ` Kamil Dudka
2020-06-23 16:03               ` Bart Schaefer
2020-06-23 21:14                 ` Perry Smith
2020-06-23 22:54                   ` Daniel Shahaf
2020-06-23 23:29                     ` Perry Smith
2020-06-23 23:43                       ` Bart Schaefer
2020-06-24  0:47                         ` Perry Smith
2020-06-24  9:28                           ` Daniel Shahaf
2020-06-24 12:55                             ` Perry Smith
2020-06-23 23:40                     ` Bart Schaefer
2020-06-24 10:10                       ` Daniel Shahaf
2020-06-24 10:47                         ` Daniel Shahaf
2020-06-24  2:58                   ` Grant Taylor
2020-06-29 16:24   ` Sebastian Gniazdowski
2020-06-29 16:55     ` Bart Schaefer
2020-06-30  4:02       ` 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=1729280279.18645.1592903681952@mail2.virginmedia.com \
    --to=p.w.stephenson@ntlworld.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).