Este es un derivado de este comentario en el número 4206 de @0rax.
Confirmar d383e3b cambió read
para definir siempre la variable incluso si no se leyeron datos. Supuso que se proporcionó al menos un nombre de variable. Pero actualmente es legal invocar read
sin nombres de variables. Lo cual no tiene sentido. La única razón que tiene sentido en bash y shells similares es que tienen por defecto el nombre de var REPLY
. Fish no hace eso y, por lo tanto, no debería permitir invocar read
sin al menos un nombre de var. Incluso si el usuario simplemente desea descartar una línea de entrada, debe especificar un nombre de var en el que almacenar la línea de texto.
La pregunta es si deberíamos cambiar esto para la versión 2.7.0, la versión final de la serie 2.x. Absolutamente deberíamos cambiar esto para la versión 3.0.0.
Creo que hacer que se comporte como lo hizo para 2.7 y convertirlo en un error para 3.0.
Puede confirmar que 71af1a9 restaura el comportamiento deseado descrito en https://github.com/fish-shell/fish-shell/issues/4206.
¡Gracias por la solución rápida!
Se fusionó con la rama principal para su inclusión en nuestra versión fish 3.0.
Comentario más útil
Creo que hacer que se comporte como lo hizo para 2.7 y convertirlo en un error para 3.0.