Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
86 changes: 71 additions & 15 deletions CHANGES
Original file line number Diff line number Diff line change
@@ -1,43 +1,99 @@
Version 1.9.3
=============
Version 1.10.0
==============

Unreleased
14-FEB-2026

<https://abcl.org/svn/trunk/abcl/>
<https://abcl.org/svn/tags/1.10.0/>
<https://github.com/armedbear/abcl/>
<https://gitlab.common-lisp.net/abcl/abcl/>

* [r15775] Update to jna-5.14.0 seemingly fixing problems with CFFI for at least arm64-openjdk-21
* [3450:3734edef398a] (Alejandro) Fix compiler bug reported by Samuel Ward .

* [3449:046198495b7f] (Alejandro) Fix EQ hash table bug for CONS

* [3447:7682875a6759] Container virtualization template
(Podman/Docker) uses openjdk25

* [r15780] Correctly signal error for incorrect MAKE-PATHNAME-TYPE

* [r15775]ff. Update to jna-5.18.1. Support for CFFI is wonky under
darwin-arm64 with later JDKs: openjdk{11,17,25} succeed without segv
but with dubious results.

* [r15779] (Tarn W. Burton) Add support for implementing
CL:FILE-LENGTH in for Gray streams. This is done via the
GRAY-STREAMS:STREAM-FILE-LENGTH generic function.

* [r15776] (Tarn W. Burton) Implement SETfable Gray streams format
support with GRAY-STREAMS:STREAM-EXTERNAL-FORMAT.

* [r15774] Update to asdf-3.3.7

* [r15760] (Tarn W. Burton) Add SETF for STREAM-ELEMENT-TYPE in
* [r15776] (Tarn W. Burton) Add type checks to Gray streams default
methods to prevent recursion.

* [r15769] Add Tarn W. Burton's NONTRIVIAL-GRAY-STREAMS to the Github
CI workflow.

* [r15766] (Tarn W. Burton) Add SETF forn STREAM-ELEMENT-TYPE in
gray-streams module.

* [r15759] (Tarn W. Burton) Add generic CL:PATHNAME and CL:TRUENAME in
* [r15765] (Tarn W. Burton) Add generic CL:PATHNAME and CL:TRUENAME in
gray-streams module.

* [r15753] (Tarn W. Burton) Always return second value indicating EOF
* [r15762] Attempt to be more computationally efficient when the
stepper instrumentation is not active.

* [r15759] (Tarn W. Burton) Always return second value indicating EOF
in Gray stream version of CL:READ-LINE as per the ANSI
specification.

* [r15743] (Tarn W. Burton) Add support for implementing
* [r15749] (Tarn W. Burton) Add support for implementing
CL:INTERACTIVE-STREAM-P in for Gray streams. This is done via by
making CL:INTERACTIVE-STREAM-P a generic function when the Gray
streams module is required.

* [r15742] (Tarn W. Burton) Add support for stream specific line
lengths. This is done via the GRAY-STREAMS:STREAM-LINE-LENGTH
* [r15748][r15745] (Tarn W. Burton) Add support for stream specific
line lengths. This is done via the GRAY-STREAMS:STREAM-LINE-LENGTH
generic function which is only used when CL:*PRINT-RIGHT-MARGIN* is
NIL. The pretty printer and format have been updated to respect
these line lengths.

* [r15741] (Tarn W. Burton) Add some missing default methods in the
* [r15747] (Tarn W. Burton) Add some missing default methods in the
Gray streams module.

* [r15739] (Tarn W. Burton) Add support for implementing
CL:FILE-LENGTH in for Gray streams. This is done via the
GRAY-STREAMS:STREAM-FILE-LENGTH generic function.
* [r15743] (Alejandro) Fix CLOS change propagation for all subclasses.

* [r15741] (Alejandro) Fix CLOS usage for
UPDATE-INSTANCE-FOR-REDEFINED-CLASS generic function.

* [r15740] (Alejandro) Fix for issue with CLOS incorrectly
propagating initargs.

* [r15735-6] (Alejandro) Fix compilation of literal quoted parts which
share parts.

* [r15734] Implement a more efficient vector-to-vector REPLACE.

* [r15732] Implement UPGRADED-ARRAY-ELEMENT-TYPE for non-specialized
byte types.

* [r15731] Signal error for malformed #b/#o/#x/#r reader macros.

* [r15730] (Alan Ruttenberg) Fix MAPC/MAPCAR for circular lists.

* [r15729] Implement MOP compound type specializer.

* [r15728] (Alejandrozf) Fix Procyon decompiler implementation for
CL:DISASSEMBLE.

* [r15727] Teach CL:SUBTYPEP that a list can either be null or a cons,
and that null is both a symbol and a list.

* [3448:766c6862cd9a] The ANSI-TEST suite always succeeds when run via
Github actions. This CI description is no longer pinned to a
specific revision of the ANSI-TEST suite, and as such, will vary by
invocation per the state of the suite available over the network.


Version 1.9.2
Expand Down
48 changes: 28 additions & 20 deletions README
Original file line number Diff line number Diff line change
Expand Up @@ -56,11 +56,15 @@ to get something like
Max. Heap Size (Estimated): 3.89G
Using VM: OpenJDK 64-Bit Server VM

Armed Bear Common Lisp 1.9.2
Java 17.0.2 Oracle Corporation
VM settings:
Max. Heap Size (Estimated): 4.00G
Using VM: OpenJDK 64-Bit Server VM

Armed Bear Common Lisp 1.10.0
Java 11.0.24 Eclipse Adoptium
OpenJDK 64-Bit Server VM
Low-level initialization completed in 0.432 seconds.
Startup completed in 2.246 seconds.
Low-level initialization completed in 0.201 seconds.
Startup completed in 1.013 seconds.
Type ":help" for a list of available commands.
CL-USER(1):

Expand All @@ -86,21 +90,25 @@ Java executable (`java`) is in your shell's path. Java 8, 11, 17 are
strongly supported by ABCL, but others may work with a little elbow
grease.

[maven-abcl]: <https://mvnrepository.com/artifact/org.abcl/abcl/1.9.2>
[maven-abcl-contrib]: <https://mvnrepository.com/artifact/org.abcl/abcl-contrib/1.9.2>
[abcl.org-release]: <http://abcl.org/releases/1.9.2/>
[maven-abcl]: <https://mvnrepository.com/artifact/org.abcl/abcl/1.10.0>
[maven-abcl-contrib]: <https://mvnrepository.com/artifact/org.abcl/abcl-contrib/1.10.0>
[abcl.org-release]: <http://abcl.org/releases/1.10.0/>

To start ABCL, simply issue the following command:

cmd$ java -jar abcl.jar

which should result in output like the following

Armed Bear Common Lisp 1.9.2
Java 17.0.7 OpenJDK Porters Group
VM settings:
Max. Heap Size (Estimated): 4.00G
Using VM: OpenJDK 64-Bit Server VM

Armed Bear Common Lisp 1.10.0
Java 21.0.2 MacPorts
OpenJDK 64-Bit Server VM
Low-level initialization completed in 0.107 seconds.
Startup completed in 0.493 seconds.
Low-level initialization completed in 0.085 seconds.
Startup completed in 0.436 seconds.
CL-USER(1):

Yer now at the interactive ABCL "Read Eval Print Loop" (REPL): hacks
Expand All @@ -118,10 +126,10 @@ instructions <file:build.xml> expressed by the venerable Apache Ant
tool. Alternately, one may use the Apache Maven tool as a facade to
Ant.

To build, one must have a Java 8, 11, or 17 openjdk installed
locally. Just the Java Runtime Environment (JRE) isn't enough, as you
need the Java compiler ('javac') to compile the Java source of the
ABCL implementation.
To build, one must have a openjdk under Long Term Supported (LTS)
status installed locally. Just the Java Runtime Environment (JRE)
isn't enough, as you need the Java compiler ('javac') to compile the
Java source of the ABCL implementation.

Download a binary distribution [Ant version 1.7.1 or greater][ant].
Unpack the files somewhere convenient, ensuring that the 'ant' (or
Expand Down Expand Up @@ -158,9 +166,8 @@ or from the shell as

bash ci/create-abcl-properties.bash openjdk17

Currently supported platforms are 'openjdk8', 'openjdk11',
'openjdk13', 'openjdk14', 'openjdk15', 'openjd16', 'openjdk17',
'openjdk18', and 'openjdk19'.
Currently supported platforms are 'openjdk8', 'openjdk11', 'openjdk17',
'openjdk21', and 'openjdk25'.


USING APACHE NETBEANS
Expand Down Expand Up @@ -218,21 +225,22 @@ ABCL has a [User Manual][manual] stating its conformance to the ANSI
standard, providing a compliant and practical Common Lisp
implementation.

[manual]: <https://abcl.org/releases/1.9.2/abcl-1.9.2.pdf>
[manual]: <https://abcl.org/releases/1.10.0/abcl-1.10.0.pdf>


TESTS
-----

| Version | Failures | Total |
|---------+----------+-------|
| 1.10.0| | |
| 1.9.2 | 63 | 21902 |
| 1.9.1 | 60 | 21870 |
| 1.9.0 | 61 | 21870 |
| 1.8.0 | 49 | 21848 |
| 1.5.0 | 48 | 21708 |

ABCL 1.9.2 currently fails ~63 out of 21902 the current ANSI test
ABCL 1.10.0 currently fails ~63 out of 21902 the current ANSI test
suite derived from the tests originally written for GCL.

[ansi-test]: <git+https://gitlab.common-lisp.net/ansi-test/ansi-test.git>
Expand Down
2 changes: 1 addition & 1 deletion abcl-prove.asd
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
;;; -*- Mode: LISP; Syntax: COMMON-LISP -*-
(defsystem :abcl-prove
:version "1.9.2"
:version "1.10.0"
:defsystem-depends-on (prove-asdf)
:depends-on (prove)
:perform (test-op (o c)
Expand Down
8 changes: 4 additions & 4 deletions abcl.asd
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
;;; -*- Mode: LISP; Syntax: COMMON-LISP -*-
(defsystem abcl
:version "1.9.2"
:version "1.10.0"
:in-order-to ((test-op (test-op "abcl/test/lisp"))))

(defsystem abcl/test/lisp
:version "1.9.2"
:version "1.10.0"
:description "Test ABCL with the its own collection of unit tests."
:perform (test-op (o s)
(uiop:symbol-call :abcl.test.lisp '#:run))
Expand Down Expand Up @@ -80,8 +80,8 @@
the ANSI test suite, so that we may build on its 'API'.

Requires that the contents of <git+https://gitlab.common-lisp.net/ansi-test/ansi-test.git> ~
be in a directory named '../ansi-test/'."
:pathname "../ansi-test/" ;;; NB works when loaded from ASDF but not with a naked EVAL
be in a sibling directory readable as './../ansi-test/'."
:pathname "./../ansi-test/" ;;; NB works when loaded from ASDF but not with a naked EVAL
:default-component-class cl-source-file.lsp
:components ((:file "rt-package")
(:file "rt" :depends-on (rt-package))))
Expand Down
Loading