Ang pagpagawas sa SBCL 2.3.11 (Steel Bank Common Lisp), usa ka libre nga pagpatuman sa Common Lisp programming language, gimantala. Ang code sa proyekto gisulat sa Common Lisp ug C nga mga pinulongan, ug giapod-apod ubos sa lisensya sa BSD. Sa bag-ong pagpagawas:
- Mga menor de edad nga dili magkauyon:
- Ang mga sapa nga adunay eksternal nga format nga gitakda sa ": REPLACEMENT" magamit ang datos aron mapulihan ang kasayuran kausa matag sapa, nga moresulta sa mga sayup sa pag-decode (imbes, sa pipila ka mga kaso, kausa alang sa usa ka han-ay sa mga byte nga ang matag usa dili balido nga karakter. sugod nga posisyon alang niining external-format).
- Ang mga espesipiko sa gawas nga pormat mosinyas na karon ug sayop kon mogamit ug dili suportado o wala mailhi nga mga variant.
- Mga kalamboan:
- Sa pagpadala sa mga generic nga function nga naggamit sa standard o mubo nga kombinasyon nga pamaagi, kung walay nag-unang mga pamaagi nga magamit, ang sistema motawag sa generic function SB-PCL:NO-PRIMARY-METHOD, kansang default nga kinaiya mao ang pagsenyas sa usa ka sayup. Ang mga tiggamit mahimong maghubit sa mga pamaagi alang niining generic nga function.
- Ang mga eksternal nga format karon nagsuporta sa mga variant sa bag-ong linya alang sa single-byte ug utf-8 nga mga encoding.
- Ang mga sayop sa pag-encode ug pag-decode sa karakter nga gisinyasan sa mga function sa stream o octet karon nagsuporta sa USE-VALUE restart alang sa mga handler nga naghatag og input o output substitutions.
- READ-SEQUENCE ug WRITE-SEQUENCE nagsuporta sa mga han-ay nga gitakda sa user; ang standard nga pagpatuman nagproseso sa elemento sa elemento, pagbasa o pagsulat og usa ka byte o karakter ngadto/gikan sa sapa, matag usa.
- Mga Optimization:
- Ang mga eksternal nga pormat nga adunay: REPLACEMENT dili na maggapos sa mga tigdumala sa sayup alang sa mga gimbuhaton sa pagkakabig, nga kinahanglan makunhuran ang gidaghanon sa mga kontra nga operasyon ug mapaayo ang pasundayag.
- Kung ang:EXTERNAL-FORMAT mao ang argumento sa STRING-TO-OCTETS o OCTETS-TO-STRING ug usa ka kanunay nga oras sa pag-compile, nan ang eksternal nga format masulbad sa oras sa pagkarga kaysa sa matag tawag.
- Ang compiler mahimong mopugong sa mga matang sa argumento alang sa pipila ka mga gimbuhaton base sa gipasabot o gipasabot nga matang sa bili nga gibalik sa maong function.
- Gipamenos sa compiler ang gidaghanon sa mga redundant type checks sa mga function sama sa ASSOC ug GETF.
- Pag-ayo sa bug:
- Ang OCTETS-TO-STRING sakto nga nagsenyas o nag-aplay og mga substitution kung naggamit og single-byte nga eksternal nga mga format alang sa dili kaayo komon nga mga pag-encode (sama sa iso-8859-3), kay sa pagkuha sa mga bit gikan sa NIL address ug pag-convert sa mga bit ngadto sa mga karakter.
- Ang FILE-STRING-LENGTH karon mibalik sa NIL kung ang input values wala ma-encode sa external stream format.
- Ang tabular multibyte external nga mga pormat (EUC-JP, Shift-JIS, GBK) karon nagtahod sa puli nga karakter (sa eksternal nga pormat o pinaagi sa pag-restart) kung mag-encode sa mga octet.
- Ang pag-convert gikan sa mga octet gamit ang external nga UCS-2, UCS-4 ug UTF-32 nga mga format dili na mabasa ang katapusan sa usa ka octet array nga adunay non-integer nga gidaghanon sa duha o upat ka byte nga mga yunit.
- Ang pag-convert gikan sa mga octet gamit ang external nga UCS-2, UCS-4 ug UTF-32 nga mga format karon nagbalik sa usa ka yano nga string, sumala sa gikinahanglan sa OCTETS-TO-STRING type definition.
- Ang paggamit sa dili husto nga eksternal nga pormat sa argumento para sa OPEN o WITH-OPEN-FILE (o internal MAKE-FD-STREAM) dili na makapahinabog file descriptor leak.
- Ang SB-ROTATE-BYTE naghubit sa mga espesipikasyon sa BYTE nga wala’y limitasyon sa wala pa ang mga kontra sa dako kaayo nga integer aron magamit ang mga maskara ug pagbalhin.
- Ayuhon ang type inference kung mag-compile sa SB-ROTATE-BYTE nga mga porma nga adunay non-zero POSITION sa byte definition.
- Giayo ang daghang mga sayup sa assembler sa pag-compile sa MAKE-ARRAY, MAKE-STRING ug uban pa nga adunay daghang kanunay nga gidak-on.
- Pag-ayo sa internal nga sayup kung mag-compile (SETF-SBIT) nga adunay daghang kanunay nga indeks.
- Giayo ang internal nga compiler error alang sa lambda function nga adunay dili husto nga lista sa parameter sa LABELS.
- Ayuhon ang internal nga compiler error sa dihang nag-compile sa pipila ka walay kinutuban nga recursive nga porma sa LABELS.
- Giayo ang usa ka internal nga compiler nga sayup sa pagsulay sa pag-inline sa usa ka paglukso sa usa ka natangtang na nga label.
- Ang FILL-POINTER kinahanglan dili mahimong negatibo.
Source: opennet.ru
