SBCL 2.3.11 vÀljalase, Common Lispi keele realiseerimine

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

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster