Subject: Re: SH_GLOB influence on a script and on an autoload function
From: Bart Schaefer <[email-masked]>
To: Zsh hackers list <[email-masked]>
Date: Sat, 11 Jun 2016 10:14:12 -0700
List-Id: Zsh Workers List <zsh-workers.zsh.org>

On Jun 11,  7:11am, Sebastian Gniazdowski wrote:
}
} Below is a simple script (save to file rtest1) that works well despite
} SH_GLOB should or could stop the pattern from parsing. The same
} doesn't work for autoload.

A script is executed line by line as it is parsed.  An autoloaded function
is fully parsed first, then executed.  Hence in the script, the "emulate"
command resets the parsing rules before the expression is encountered.

This is one of the drawbacks to attempting to accurately emulate parsing
rules that are inherently contradictory.

} setopt shglob
} FPATH=$FPATH:`pwd`
} autoload rtest1
} rtest1
} 
} Probably no workaround for this?

In "recent" zsh (since roughly 2009) you can do this:

    emulate zsh -c 'autoload rtest1'

but of course you have to know a priori what emulation mode the function
is going to want.