تم نشر إصدار SBCL 2.3.9 (Steel Bank Common Lisp)، وهو تطبيق مجاني للغة برمجة Common Lisp. رمز المشروع مكتوب بلغة Common Lisp وC، ويتم توزيعه بموجب ترخيص BSD.
في الإصدار الجديد:
- لا ينطبق الآن تخصيص المكدس عبر DYNAMIC-EXTENT على الارتباط الأولي فحسب، بل ينطبق أيضًا على جميع القيم التي يمكن أن يأخذها المتغير (على سبيل المثال، عبر SETQ). وهذا يجعل من الممكن، على سبيل المثال، تبسيط بناء الهياكل المعقدة أو العودية في المكدس من خلال التكرار.
- تم تصميم بعض الواجهات في وحدة SB-POSIX لتتوافق مع المواصفات، وتعتبر النتيجة NULL من مكتبة C خطأً إذا وفقط إذا تم تغيير errno بواسطة الاستدعاء. في هذه الحالة، سيتم إنشاء إشارة خطأ النظام.
- تحسين تشغيل وحدات الماكرو DO-PASSWDS وDO-GROUPS في وحدة SB-POSIX. تم تصميم وحدات الماكرو هذه للعمل بشكل آمن مع كلمة المرور وقاعدة بيانات المجموعة.
- تمت استعادة الدعم لمنصات Darwin x86 وPowerPC (بفضل Kirill A. Korinsky وSergey Fedorov وbarracuda156).
- تم إصلاح التجميع غير الصحيح الذي حدث بسبب استنتاج النوع الخاطئ عند ضرب قيم الإصلاح في القيم الكسرية.
- تم إصلاح خطأ المترجم الذي حدث في بعض الحالات عند التحقق من قيم 64 بت الموقعة وغير الموقعة.
- تم إصلاح خطأ في برنامج التحويل البرمجي عندما تكون الوسيطة ":INITIAL-CONTENTS" الخاصة بـ MAKE-ARRAY ثابتة غير تسلسلية.
- تم إصلاح خطأ في تجميع وظائف الالتواء في ثابت تسلسل معين عند إرجاع قيمة خاطئة من الدالات ":TEST" أو ":KEY".
- تم إصلاح الخلل عند تجميع وظائف المصفوفة أو التسلسلات باستخدام الوسائط التي تتضمن أحجام تسلسل كبيرة جدًا.
- تم إصلاح خطأ المحول البرمجي الذي يحدث عند عدم استخدام القيمة التي يتم إرجاعها من ADJUST-ARRAY.
- استدلال المترجم الأمثل لأنواع الوظائف التي يمكن نشرها للخلف من خلال تمثيل وسيط.
- تحسين استنتاج النوع لـ LDB وLOGBITP وRATIO.
- تم إجراء تحسينات لإزالة عمليات التحقق من الحدود غير الضرورية للعديد من حالات المقارنات المتعدية.
المصدر: opennet.ru
