D'Verëffentlechung vum SBCL 2.3.11 (Steel Bank Common Lisp), eng gratis Ëmsetzung vun der Common Lisp Programméiersprooch, gouf publizéiert. De Projet Code ass a Common Lisp a C geschriwwen, a gëtt ënner der BSD Lizenz verdeelt. An der neier Verëffentlechung:
- Kleng Inkompatibilitéiten:
- Streame mat externen Format spezifizéiert mat ":REPLACEMENT" wäerten d'Donnéeën uwenden fir d'Informatioun eemol pro Stream ze ersetzen, wat zu Dekodéierungsfehler resultéiert (anstatt, an e puer Fäll, eemol fir eng Sequenz vu Bytes, déi all net e gültege Charakter ass Ausgangspositioun fir dëst extern Format).
- Extern Format Spezifizéierer signaliséieren elo e Feeler wann Dir net ënnerstëtzten oder net unerkannten Varianten benotzt.
- Verbesserungen:
- Wann Dir generesch Funktiounen verschéckt déi d'Standard oder d'Kuerzkombinatiounsmethod benotzen, wa keng primär Methoden verfügbar sinn, nennt de System déi generesch Funktioun SB-PCL:NO-PRIMARY-METHOD, deem säi Standardverhalen ass e Feeler ze signaliséieren. D'Benotzer kënnen Methode fir dës generesch Funktioun definéieren.
- Extern Formater ënnerstëtzen elo Newline Varianten fir Single-Byte an utf-8 Kodéierungen.
- Charakter Kodéierungs- an Dekodéierungsfehler signaliséiert vu Stream- oder Oktettfunktiounen ënnerstëtzen elo USE-VALUE Restart fir Handler déi Input- oder Output-Auswiesselungen ubidden.
- READ-SEQUENCE a WRITE-SEQUENCE ënnerstëtzen Benotzerdefinéiert Sequenzen; d'Standard Implementatioun Prozesser Element vun Element, liesen oder schreiwen een Byte oder Charakter ze / aus dem Baach, respektiv.
- Optimisatiounen:
- Extern Formater mat: REPLACEMENT Bindung net méi Fehlerhandterer fir Konversiounsfunktiounen, déi d'Zuel vun den Nodeeler Operatiounen reduzéieren an d'Performance verbesseren.
- Wann :EXTERNAL-FORMAT d'Argument fir STRING-TO-OCTETS oder OCTETS-TO-STRING ass an eng Kompiléierungszäitkonstant ass, da gëtt dat externt Format bei der Laaschtzäit geléist anstatt bei all Uruff.
- De Compiler kann d'Typen vun Argumenter fir e puer Funktiounen beschränken op Basis vun der ofgeleeten oder implizéierter Aart vum Wäert, dee vun där Funktioun zréckgeet.
- De Compiler reduzéiert d'Zuel vun de redundante Typchecken a Funktiounen wéi ASSOC a GETF.
- Bug Fixes:
- OCTETS-TO-STRING signaliséiert korrekt oder applizéiert Auswiesselungen wann Dir Single-Byte extern Formater benotzt fir manner heefeg Kodéierungen (wéi ISO-8859-3), anstatt Bits vun der NIL Adress ze huelen an dës Bits an Zeechen ëmzewandelen.
- FILE-STRING-LENGTH gëtt elo NIL zréck wann d'Inputwäerter net an den externen Streamformat kodéiert sinn.
- Tabulär Multibyte extern Formater (EUC-JP, Shift-JIS, GBK) respektéieren elo den Ersatz Charakter (am externen Format oder iwwer Neistart) beim Kodéieren an Oktetten.
- Ëmwandlung vun Oktetten mat externen UCS-2, UCS-4 an UTF-32 Formater liest net méi d'Enn vun enger Oktett-Array mat enger net ganz Zuel vun zwee- oder véierbyte-Eenheeten.
- Konvertéiere vun Oktetten mat externen UCS-2, UCS-4 an UTF-32 Formater gëtt elo eng einfach String zréck, wéi néideg vun der OCTETS-TO-STRING Typ Definitioun.
- D'Benotzung vun engem falschen externen Argumentformat fir OPEN oder WITH-OPEN-FILE (oder intern MAKE-FD-STREAM) verursaacht net méi e Fichier Descriptor Leck.
- SB-ROTATIOUN-BYTE definéiert BYTE Spezifikatioune ausserhalb Grenzen virun Nodeeler vun ganz grouss ganz Zuelen Masken a Verréckelung ze benotzen.
- Fix Typ Inferenz wann Dir SB-ROTATE-BYTE Forme mat Net-Null POSITION an der Byte Definitioun kompiléiert.
- Fixéiert verschidde Assemblerfehler beim Zesummesetzung vun MAKE-ARRAY, MAKE-STRING an anerer mat enger grousser konstanter Gréisst.
- Fix intern Feeler beim Zesummesetzung (SETF-SBIT) mat grousse konstante Index.
- Fixéiert intern Compiler Feeler fir Lambda Funktioun mat falscher Parameter Lëscht an LABELS.
- Fixéiert en internen Compilerfehler wann Dir e puer onendlech rekursive Forme vu LABELS kompiléiert.
- En internen Compiler Feeler fixéiert wann Dir probéiert e Sprong op e scho geläschte Label ze inline.
- FILL-POINTER soll ni negativ sinn.
Source: opennet.ru
