Este é um spinoff deste comentário na edição #4206 de @0rax.
Commit d383e3b mudou read
para sempre definir a variável mesmo que nenhum dado tenha sido lido. Ele assumiu que pelo menos um nome de variável foi fornecido. Mas é legal no momento invocar read
sem nomes de variáveis. O que não faz sentido. A única razão que faz sentido em bash e shells semelhantes é que eles usam como padrão var name REPLY
. Fish não faz isso e, portanto, não deve permitir invocar read
sem pelo menos um nome de var. Mesmo que o usuário simplesmente queira descartar uma linha de entrada, ele deve especificar um nome var no qual armazenar a linha de texto.
A questão é se devemos mudar isso para a versão 2.7.0 -- a versão final da série 2.x. Nós absolutamente devemos mudar isso para a versão 3.0.0.
Acho que fazê-lo se comportar como fez para 2.7 e torná-lo um erro para 3.0.
Pode confirmar que 71af1a9 restaura o comportamento desejado descrito em https://github.com/fish-shell/fish-shell/issues/4206.
Obrigado pela solução rápida!
Incorporado ao ramo principal para inclusão em nossa versão fish 3.0.
Comentários muito úteis
Acho que fazê-lo se comportar como fez para 2.7 e torná-lo um erro para 3.0.