Sobre o uso de $ hash_array [$ (global_alias)]

3

O código idêntico funciona em um sistema e falha em outro:

% zsh --version
zsh 5.0.7 (x86_64-pc-linux-gnu)
% typeset -A frobozz
% alias -g foo='echo xyz'
% frobozz[$(foo)]=9
% echo ${(kv)frobozz}
xyz 9
% zsh --version
zsh 5.1 (i386-unknown-netbsdelf6.1)
% typeset -A frobozz
% alias -g foo='echo xyz'
% frobozz[$(foo)]=9
zsh: not an identifier: frobozz[$(fooech9

Gostaria de saber como fazer isso funcionar nos dois sistemas.

Também seria bom entender o que está acontecendo no caso falho.

E como sempre, qualquer conselho sobre como depurar zsh scripts é sempre bem-vindo. (Eu acho zsh scripts essencialmente undebuggable ... O exemplo acima é uma ilustração muito típica disso.)

    
por kjo 13.11.2015 / 01:12

1 resposta

1

Isso foi um erro (regressão).

  • denunciado (por você, obrigado) no link
  • Corrigido no link ( confirmar )
  • Lançado na versão 5.2 em dezembro de 2015
  • Introduzido em este commit a partir de janeiro de 2015 (de acordo com git bisect ) para que o bug fosse afetando as versões 5.0.8 (junho de 2015), 5.1 e 5.1.1.
por 18.12.2017 / 23:18