إطلاق لغة برمجة Tcl 8.6.14

بعد 15 شهرًا من التطوير، تم إصدار Tcl/Tk 8.6.14، وهي لغة برمجة ديناميكية موزعة مع مكتبة عبر الأنظمة الأساسية لعناصر واجهة المستخدم الرسومية الأساسية. تُستخدم Tcl على نطاق واسع كمنصة لإنشاء واجهات المستخدم وكلغة مضمنة، ولكن Tcl مناسبة أيضًا للنماذج الأولية السريعة وتطوير الويب وإنشاء تطبيقات الشبكة وإدارة النظام واختباره. يتم توزيع رمز المشروع بموجب ترخيص BSD.

من بين التغييرات:

  • تم جلب تطبيع مسارات الملفات ومعالجة الحرف "~" في المسارات إلى نموذج متعدد المنصات.
  • لا يتم استبدال اسم المسار الذي يبدأ بـ '//' بـ '/'، بما في ذلك في Cygwin وQNX.
  • السماح بالوضع الفارغ في [chan create] ("[chan create {} $cmd]") للسماح بإصدار refchan من [socket -server].
  • تحسين أداء الشوكة عند استخدام مؤشرات الترابط المتعددة مع vfork/spawn.
  • تأكد من استدعاء getockname(2) في Tcl_MakeFileChannel(3) فقط عند الضرورة.
  • يتم تعزيز أمان Tcl/tclsh باستخدام وظيفة تعهد OpenBSD (2) أو آليات مماثلة.
  • تم تكييف tcltest لدعم Tcl 9 (>= tcltest 2.5.7).
  • تمكين استخدام حرف بديل عند فك تشفير تسلسلات Unicode غير المكتملة.
  • تمت إضافة التحقق من mknod وtcdrain وuname في البرامج النصية الخاصة بالإنشاء لـ VxWorks أو الأنظمة الأساسية الأخرى.
  • لقد انتهى Cygwin 32 بت، لذا لم تعد هناك حاجة إلى وسيطة "--enable-64bit" لـ Cygwin.
  • لم يعد Tcl_VarEval مهملاً.
  • "[وقت الحد الأقصى للتداخل بالثواني]" حل مشكلة 2038.
  • تمت إزالة خيار utf16 من win/makefile.vc.
  • تم تحديث zlib إلى الإصدار 1.3.1.
  • تم تحديث libtommath إلى الإصدار 1.2.1.
  • تم تحديث install-sh إلى الإصدار 2020-11-14.01.
  • تمت إضافة دعم لليونيكود 15.1.
  • تم تحديث قاعدة بيانات المنطقة الزمنية لإصدار tzdata2024a.
  • تشير البيانات التعريفية للترخيص الثنائي لـ Window إلى جامعة كاليفورنيا.
  • تم إصلاح الخلل المتعلق بالتنسيق غير الصحيح للوسائط في صفحة الدليل.
  • تم إصلاح الخلل في معلومات Windows 11 المفقودة في tcl_platforms.
  • تم إصلاح الخلل في مقارنات السلسلة غير الصحيحة على الأنظمة ذات ترتيب البايت النهائي الكبير.
  • تم إصلاح العطل الذي حدث مع tcl_precision الذي يساوي 15..18.
  • تم إصلاح الأعطال النادرة عند مسح دفق memchan.
  • تم إصلاح مشكلة ظهور خطأ في الأمر zip عندما يكون تعليق الملف/اسم الملف طويلًا جدًا أو ليس بتشفير iso-latin-1.
  • تم إصلاح المشكلة المتعلقة بإرجاع usec من Tcl_GetTime على نظام التشغيل Windows.
  • تم إصلاح العطل عند تطبيق تحويل القناة على مقبس عميل TCP.
  • منع القراءة غير الصحيحة في Tcl_UtfToUniChar.
  • قام macOS 13 SDK بإهمال وظيفة sprintf().
  • تم إصلاح تجاوز سعة وسيطة الموضع في [وضع المسح %num$].
  • تحطم ثابت أثناء مكالمة الذيل.
  • إضافة الأخطاء الثابتة في فحص الساعة والساعة في حالات خاطئة أو مع خيارات مختصرة.
  • تم إصلاح الخلل في تجاهل ترميزات البايت المزدوج غير المكتملة، على سبيل المثال في [تحويل الترميز من gb12345 x].
  • تم إصلاح تعطل tclvfs tkt عند الخروج من المترجم مع تحميل tclvfs.
  • تم إصلاح مشكلة قراءة Tcl_GetUniChar للأحرف التي تتجاوز طول السلسلة لسلاسل ASCII.
  • تم إصلاح الخلل في إصدار MS Windows: يتم العثور على الملفات التي تحتوي على رموز تعبيرية عبر الكرة الأرضية، ولكن لا يتم تعريفها عبر الملف الموجود أو المفتوح.
  • تم إصلاح خطأ في الترجمة مع إصدار VC6 core-8-6-branch: "خطأ C2065: 'int16_t': معرف غير معلن".
  • الأخطاء الثابتة في ClockGetdatefieldsObjCmd(): تجاوز سعة الأعداد الصحيحة الموقعة والسلوك المستقل عن النظام الأساسي.
  • تم إصلاح الخلل في تهيئة fakeObject.refCount في tclOO.c.
  • تم إصلاح الخلل حيث يؤدي الاستخدام بعد الإرجاع في AddressSanitizer إلى تعطيل اختبارات NRE وcoroutines.
  • إصلاح الأخطاء الخاطئة من [تنسيق الساعة].
  • إصلاح إعادة التخصيص [exec %var%] في نظام التشغيل MS Windows. تم حظر هذا في 8.6.13.
  • إصلاح الوثائق لـ Tcl_PkgRequire: يشير سطر مواصفات الإصدار إلى "الحزمة المطلوبة".
  • تم إصلاح الخلل في [tcl_startOfPreviousWord end-1].
  • تم إصلاح العطل الذي حدث عند استدعاء Tcl_ReadChars على كائنات Unicode.
  • تم إصلاح التكرار عند تجاوز proc::history.
  • تم إصلاح التكرار عند نقل ::unknown إلى مساحة الاسم.

المصدر: opennet.ru

إضافة تعليق