Ilmuv ilmus SBCL 2.3.11 (Steel Bank Common Lisp), avatud rakenduse Common Lispi programmeerimiskeele jaoks. Projekti kood on kirjutatud Common Lispi ja C keeles ning levitatakse BSD litsentsi all. Uues versioonis:
- VĂ€ikesed ĂŒhilduvusprobleemid:
- Voogud, mille external-format parameeter on mÀÀratud â:REPLACEMENTâ abil, rakendavad asendamise andmed voos vaid korra, mis toob kaasa dekodeerimisvead (erinevalt mĂ”nest muust juhul, kus see toimub ĂŒhekorraga iga byteâi jĂ€rje jaoks, mis ei ole lubatud sĂŒmboli alguspositsioon selle external-format jaoks).
- External-format mÀÀrattajad, kui kasutatakse toetamata vĂ”i tundmatuid variante, annavad nĂŒĂŒd veasignaali.
- Parandused:
- Ăldfuntsioonide suunamises, kasutades standardset vĂ”i lĂŒhikest kombinatsioonimeetodit, sĂŒsteem kutsub ĂŒldfunktsiooni SB-PCL:NO-PRIMARY-METHOD, kui peamine rakendatav meetod puudub, mille standardne kĂ€itumine seisneb veateate andmises. Kasutajad saavad mÀÀrata meetodeid selle ĂŒldfunktsiooni jaoks.
- VĂ€listes formaatides toetatakse nĂŒĂŒd reavahetuse variante ĂŒhekaupa ja utf-8 kodeeringute jaoks.
- Voogude vĂ”i oktettide funktsioonide poolt signaalitud sĂŒmbolite kodeerimise ja dekodeerimise vead toetavad nĂŒĂŒd USE-VALUE taaskĂ€ivitamist töötlejatele, kes pakuvad asendusi sisendi vĂ”i vĂ€ljundi jaoks.
- READ-SEQUENCE ja WRITE-SEQUENCE toetavad kasutaja mÀÀratud jĂ€rjekordi; standardne teostus töötleb elementi elementide kaupa, lugedes vĂ”i kirjutades voogu vastavalt ĂŒhe byteâi vĂ”i sĂŒmboli.
- Optimeerimised:
- External-formatid koos :REPLACEMENT ei seosta enam töötlejaid konversioonifunktsioonide vigadega, mis peaks vÀhendama cons-tehingute arvu ja suurendama jÔudlust.
- Kui :EXTERNAL-FORMAT on STRING-TO-OCTETS vÔi OCTETS-TO-STRING argumendiks ja on kompileerimise ajal konstant, siis vÀline formaat lahendatakse laadimise ajal, mitte iga kord kutsumise hetkel.
- Kompilaator vĂ”ib piirata argumentide tĂŒĂŒpe teatud funktsioonide jaoks lĂ€htudes tĂŒĂŒbist, mis on saadud vĂ”i eeldatav, mis see funktsioon tagastab.
- Kompilaator vĂ€hendab tĂŒĂŒbi ĂŒleliigsete kontrollide arvu funktsioonides, nagu ASSOC ja GETF.
- Vigade parandamine:
- OCTETS-TO-STRING annab Ă”iged signaalid vĂ”i rakendab asendusi, kui kasutatakse ĂŒhebaidiseid vĂ€list formaate harvaesinevates kodeeringutes (nt iso-8859-3), mitte ei vĂ”ta bitte NIL aadressilt ja ei muuda neid bitte sĂŒmboliteks.
- FILE-STRING-LENGTH tagastab nĂŒĂŒd NIL, kui sisendvÀÀrtusi ei kodeerita vĂ€listesse voogudesse.
- Tabelilised mitme baidi vĂ€list formaati (EUC-JP, Shift-JIS, GBK) arvestavad nĂŒĂŒd asendussĂŒmbolit (vĂ€listes formaatides vĂ”i kĂ€ivitamise ajal) oktettidesse kodeerimisel.
- Oktettide konverteerimine vĂ€listest formaatidest UCS-2, UCS-4 ja UTF-32 ei loe enam oktettide massi lĂ”ppu, millel on mitteĂŒheharuline kahe- vĂ”i nelja baidised ĂŒksused.
- Oktettide konverteerimine vĂ€listest formaatidest UCS-2, UCS-4 ja UTF-32 tagastab nĂŒĂŒd lihtsa stringi, nagu nĂ”utakse OCTETS-TO-STRING tĂŒĂŒbi mÀÀratlemisel.
- Vale vÀlist formaati argumendi jaoks OPEN vÔi WITH-OPEN-FILE (vÔi sisemine MAKE-FD-STREAM) ei pÔhjusta enam failikirjelduri leket.
- SB-ROTATE-BYTE mÀÀratleb BYTE spetsifikatsioonid kehtivast vÀÀrtusest kÔrgemal enne, kui konsulteerib vÀga suurte tÀisarvude kasutamiseks maske ja nihkeid.
- SB-ROTATE-BYTE vormide tĂŒĂŒbivĂ€ljundi parandamine mitte nulliga POSITION-i mÀÀratlemisel.
- Parandatud mitmeid assembleri vigu MAKE-ARRAY, MAKE-STRING ja muude kompilatsiooni kÀigus suure pideva suurusega.
- Parandatud sisemine viga kompilatsiooni kÀigus (SETF-SBIT) suure pideva indeksiga.
- Parandatud sisemine veakompilaatoris lambda-funktsiooni jaoks vale parameetrite loendiga LABELS.
- Parandatud sisemine veakompilaatoris mÔningate lÔpmatute rekursside LABELS vormide kompilatsiooni kÀigus.
- Parandatud sisemine veakompilaatoris ĂŒrituste tegemisel juba eemaldatud etiketile hĂŒpata.
- FILL-POINTER ei tohiks kunagi olla negatiivne.
Allikas: opennet.ru
