هذا عرض ثانوي لهذا التعليق في الإصدار رقم 4206 بواسطة @ 0rax.
تم تغيير الالتزام d383e3b read
لتعريف المتغير دائمًا حتى لو لم تتم قراءة أي بيانات. من المفترض أنه تم توفير اسم متغير واحد على الأقل. لكن من القانوني في الوقت الحالي استدعاء read
بدون أسماء متغيرات. الذي لا معنى له. السبب الوحيد الذي يجعل الأمر منطقيًا في bash والأصداف المماثلة هو أنها تستخدم اسم var REPLY
بشكل افتراضي. لا يقوم Fish بذلك ، وبالتالي يجب ألا يسمح باستدعاء read
بدون اسم var واحد على الأقل. حتى إذا كان المستخدم يريد ببساطة تجاهل سطر الإدخال ، فيجب عليه تحديد اسم var لتخزين سطر النص فيه.
السؤال هو ما إذا كان علينا تغيير هذا للإصدار 2.7.0 - الإصدار الأخير في سلسلة 2.x. يجب علينا تغيير هذا تمامًا لإصدار 3.0.0.
أعتقد أنها تجعلها تتصرف كما فعلت مع 2.7 ، وجعلها خطأً لـ 3.0.
يمكن أن تؤكد أن 71af1a9 يستعيد السلوك المطلوب الموضح في https://github.com/fish-shell/fish-shell/issues/4206.
شكرا على الإصلاح السريع!
تم دمجه في الفرع الرئيسي لإدراجه في إصدار الأسماك 3.0 الخاص بنا.
التعليق الأكثر فائدة
أعتقد أنها تجعلها تتصرف كما فعلت مع 2.7 ، وجعلها خطأً لـ 3.0.