SBCL 2.3.9 (Steel Bank Common Lisp), Common Lisp -ohjelmointikielen ilmainen toteutus, on julkaistu. Projektikoodi on kirjoitettu Common Lisp- ja C-kielillä, ja sitä jaetaan BSD-lisenssillä.
Uudessa julkaisussa:
- Pinon allokointi DYNAMIC-EXTENTin kautta ei koske nyt vain alkuperäistä sidontaa, vaan myös kaikkia arvoja, jotka muuttuja voi ottaa (esimerkiksi SETQ:n kautta). Tämä mahdollistaa esimerkiksi monimutkaisten tai rekursiivisten rakenteiden rakentamisen pinossa iteroinnin avulla.
- Jotkut SB-POSIX-moduulin liitännät on tehty spesifikaatioiden mukaisiksi, ja C-kirjaston NULL-tulosta pidetään virheenä, jos ja vain, jos kutsu muuttaa virhettä. Tässä tapauksessa generoidaan SYSCALL-ERROR-signaali.
- SB-POSIX-moduulin DO-PASSWDS- ja DO-GROUPS-makrojen parannettu toiminta. Nämä makrot on suunniteltu toimimaan turvallisesti salasanan ja ryhmätietokannan kanssa.
- Tuki Darwin x86- ja PowerPC-alustoille on palautettu (kirill A. Korinskyn, Sergey Fedorovin ja barracuda156:n ansiosta).
- Korjattu virheellinen käännös, joka johtui virheellisestä tyyppipäätelmästä kerrottaessa fixnum-arvoja murtoluvuilla.
- Korjattu kääntäjävirhe, joka ilmeni joissakin tapauksissa tarkistettaessa allekirjoitettuja ja allekirjoittamattomia 64-bittisiä arvoja.
- Korjattu kääntäjävirhe, kun MAKE-ARRAY-argumentti ":INITIAL-CONTENTS" on ei-sekvenssivakio.
- Korjattu virhe konvoluutiofunktioiden kääntämisessä tietyksi sekvenssivakioksi, kun palautettiin väärä arvo ":TEST"- tai ":KEY"-funktioista.
- Korjattu virhe, kun käännetään taulukkofunktioita tai -sarjoja argumenteilla, jotka viittaavat erittäin suuriin sekvenssikokoihin.
- Korjattu kääntäjävirhe, joka ilmenee, kun ADJUST-ARRAY:stä palautettua arvoa ei käytetä.
- Optimoitu kääntäjän päättely funktiotyypeistä, jotka voidaan siirtää taaksepäin väliesityksen kautta.
- Parannettu tyyppipäätelmä LDB:lle, LOGBITP:lle ja RATIOlle.
- Optimointeja on tehty tarpeettomien rajojen tarkastuksen poistamiseksi monissa transitiivisten vertailujen tapauksissa.
Lähde: opennet.ru