Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: Bug report: `setopt noaliases` not respected in `local` statement without assignment.



On Thu, Mar 26, 2020 at 11:34 PM Daniel Shahaf <d.s@xxxxxxxxxxxxxxxxxx> wrote:
>
> There are a few other options to worry about, e.g., KSH_ARRAYS,
> IGNORE_CLOES_BRACES.

Good point.

I also should've mentioned that `emulate zsh -o no_aliases -c "..."`
shouldn't be used if some of the functions you define must run with
user-defined options. E.g., if you want to respect user's
dot_glob/no_dot_glob (fzf does) or
interactive_comments/no_interactive_comments (f-sy-h does), then this
approach is out.

Here's another option that doesn't require one to create a new file:

  () { 'emulate' '-L' 'zsh' '-o' 'no_aliases' && 'eval' "$(<<\END

  # original file content goes here

  END
  )"; }

Downsides:

  - one fork (increases loading time)
  - breaks syntax highlighting in code editors
  - zcompile won't be effective at speeding up loading time
  - some aliases can still break this; for example: alias -g '()'=nope

Roman.



Messages sorted by: Reverse Date, Date, Thread, Author