diff --git a/CHANGES b/CHANGES
index 1881ac3fb..273f0da1b 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,43 +1,99 @@
-Version 1.9.3
-=============
+Version 1.10.0
+==============
-Unreleased
+14-FEB-2026
-
+
-* [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
diff --git a/README b/README
index 5625caa9e..c4dd12b3a 100644
--- a/README
+++ b/README
@@ -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):
@@ -86,9 +90,9 @@ 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]:
-[maven-abcl-contrib]:
-[abcl.org-release]:
+[maven-abcl]:
+[maven-abcl-contrib]:
+[abcl.org-release]:
To start ABCL, simply issue the following command:
@@ -96,11 +100,15 @@ To start ABCL, simply issue the following command:
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
@@ -118,10 +126,10 @@ instructions 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
@@ -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
@@ -218,7 +225,7 @@ ABCL has a [User Manual][manual] stating its conformance to the ANSI
standard, providing a compliant and practical Common Lisp
implementation.
-[manual]:
+[manual]:
TESTS
@@ -226,13 +233,14 @@ 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]:
diff --git a/abcl-prove.asd b/abcl-prove.asd
index 48a5ebd4f..f26f171fd 100644
--- a/abcl-prove.asd
+++ b/abcl-prove.asd
@@ -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)
diff --git a/abcl.asd b/abcl.asd
index fde04150f..f635dbf97 100644
--- a/abcl.asd
+++ b/abcl.asd
@@ -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))
@@ -80,8 +80,8 @@
the ANSI test suite, so that we may build on its 'API'.
Requires that the contents of ~
-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))))
diff --git a/abcl.rdf b/abcl.rdf
index b7b69706b..383183530 100644
--- a/abcl.rdf
+++ b/abcl.rdf
@@ -1,38 +1,46 @@
# -*- Mode: n3 -*-
-@prefix abcl: .
-<>
- abcl:is "W3C Turtle RDF serializations format" .
-
-@prefix doap: .
@prefix rdf: .
@prefix rdfs: .
+@prefix doap: .
+@prefix dc: .
-<> a doap:Project .
-
-<> rdfs:seeAlso .
-<> rdfs:seeAlso .
+@prefix abcl: .
+@prefix urn: .
+<>
+ a doap:Project ;
+ abcl:is "W3C Turtle RDF serializations format" ;
+ dc:Standard "" ;
+ rdfs:seeAlso [
+ a rdf:Bag ;
+ rdf:_1 "" ;
+ rdf:_2 "ANSI+INCITS+226-1994+(R2004).pdf" ;
+ ] ;
+ dc:abstract
+ """
+ANSI INCITS 226-1994 (R2004) American National Standard for Programming Language Common LISP (X3J13)
+""" ;
+ rdfs:seeAlso "" ;
+ rdfs:seeAlso "" ;
+ rdfs:seeAlso "" ;
+ rdfs:seeAlso "" ;
+ rdfs:seeAlso "" ;
+.
-@prefix dc: .
<>
abcl:branch ;
- dc:identifier ; # deprecated?
- dc:identifier ;
+ dc:identifier "urn:abcl.org/1.10.0" ;
+ dc:identifier "urn:abcl.org/release/1.10.0#" ;
doap:language "Common Lisp" ;
dc:created "01-JAN-2004" ;
- dc:modified "11-MAR-2024" ;
- dc:version "abcl-1.9.3" ;
- dc:release "dev" ;
-# dc:release "rc-0" ;
+ dc:modified "26-JAN-2026" ;
+ dc:version "abcl-1.10.0" ;
+# dc:release "dev" ;
+ dc:release "rc-0" ;
abcl:git ;
abcl:git ;
- abcl:svn .
-
-<>
- rdfs:seeAlso ;
- rdfs:seeAlso ;
- rdfs:seeAlso ;
- rdfs:seeAlso .
+ abcl:svn ;
+.
@prefix dc: .
@@ -47,16 +55,19 @@
doap:language "Common Lisp" .
-<> [
+
a rdf:Bag;
rdf:_0 "Common Lisp";
rdf:_1 "Java";
rdf:_2 "Ant";
rdf:_3 "Bourne Shell Script";
- rdf:_4 "Windows Batch Script"
-] .
+ rdf:_4 "Windows Batch Script" ;
+.
-
+
+ rdfs:comment """
+Established nicknames for all source revisions to Armed Bear Common Lisp
+""" ;
dc:contributor [
a rdf:Bag;
rdf:_1024 _:peter ;
@@ -93,8 +104,10 @@
doap:language
- "Common Lisp", "Java", "Ant", "Bourne Shell Script", "Windows Batch Script" .
+ "Common Lisp", "Java",
+ "Ant", "Bourne Shell Script", "Windows Batch Script" .
+# ad-hoc nickname adjustments
_:user dc:identifier ;
rdf:label "V-ille" .
@@ -105,12 +118,12 @@ _:user dc:identifier ;
dc:license ;
dc:license ;
dc:licenseDocument
- ;
+ ;
] .
doap:Project rdfs:seeAlso [
a rdf:Bag;
- rdf:_0 ;
+ rdf:_0 ;
rdf:_1 ;
rdf:_2 ;
rdf:_4 ;
@@ -136,23 +149,15 @@ doap:Project rdfs:seeAlso [
rdf:_23 ;
rdf:_29 ;
rdf:_31 ;
- rdf:_37 ;
+ rdf:_37 ;
+ rdf:_41 ;
] ;
] .
<> abcl:provides ;
- rdfs:seeAlso .
-
-<> dc:Standard ;
- rdfs:seeAlso [
- a rdf:Bag ;
- rdf:_1 ;
- rdf:_2 "ANSI+INCITS+226-1994+(R2004).pdf"
- ] ;
- dc:abstract
- "ANSI INCITS 226-1994 (R2004) American National Standard for Programming Language Common LISP (X3J13)" .
+ rdfs:seeAlso "".
-<> rdfs:seeAlso .
+<> rdfs:seeAlso "" .
doap:Project rdfs:seeAlso
,
@@ -176,23 +181,24 @@ doap:Project rdfs:seeAlso
] .
abcl:jna
- dc:version "5.13.0" .
+ dc:version "5.18.1" .
abcl:asdf
dc:version "3.3.7" .
-abcl:abcl-introspect
- rdfs:seeAlso .
-
abcl:abcl-contrib
- rdfs:seeAlso .
+ rdfs:seeAlso "" .
+abcl:abcl-introspect
+ rdfs:seeAlso "" .
abcl:abcl-asdf
- rdfs:seeAlso .
+ rdfs:seeAlso "" .
abcl:asdf-jar
- rdfs:seeAlso .
+ rdfs:seeAlso "" .
abcl:jfli
- rdfs:seeAlso .
+ rdfs:seeAlso "" .
abcl:jss
- rdfs:seeAlso .
+ rdfs:seeAlso "" .
+abcl:named-readtables
+ rdfs:seeAlso "" .
# FIXME: figure out the right way to specify these values ontologically
@prefix java: .
@@ -201,23 +207,15 @@ abcl:jss
[abcl:run _:supported]
a rdf:Bag ;
- rdf:_6 openjdk:6 ;
- rdf:_7 openjdk:7 ;
rdf:_8 openjdk:8 ;
rdf:_11 openjdk:11 ;
- rdf:_13 openjdk:13 ;
- rdf:_14 openjdk:14 ;
- rdf:_15 openjdk:15 ;
- rdf:_16 openjdk:16 ;
rdf:_17 openjdk:17 ;
- rdf:_18 openjdk:18 ;
- rdf:_19 openjdk:19 ;
- rdf:_20 openjdk:20 ;
rdf:_21 openjdk:21 ;
- rdf:_22 openjdk:22 ;
- rdfs:comment "Compatible Java runtimes" .
+ rdf:_25 openjdk:25 ;
+ rdfs:comment "Tested compatible Java runtimes" .
[abcl:run _:options]
+ rdfs:seeAlso ;
not.org:base "-XShowSettings:vm -DFile.encoding=UTF-8" ;
openjdk:6 "-XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=1g -XX:+UseConcMarkSweepGC" ;
openjdk:8 "-XX:+AggressiveOpts" ;
@@ -231,6 +229,7 @@ abcl:jss
openjdk:20 "-XX:CompileThreshold=10" ;
rdfs:comment "Java platform runtime options" .
+# untested, deprecrated
[abcl:build _:options]
not.org:target "1.8" ;
# not.org:source "1.6" ;
@@ -238,12 +237,8 @@ abcl:jss
not.org:debug "true" ;
rdfs:comment "Java build options" .
- [abcl:build _:supported]
+[abcl:build _:possibly-works-on]
a rdf:Bag ;
- rdf:_6 openjdk:6 ;
- rdf:_6 not.org:deprecated ;
- rdf:_7 openjdk:7 ;
- rdf:_7 not.org:deprecated ;
rdf:_8 openjdk:8 ;
rdf:_8 not.org:deprecated ;
rdf:_11 openjdk:11 ;
@@ -256,7 +251,17 @@ abcl:jss
rdf:_19 openjdk:19 ;
rdf:_21 openjdk:21 ;
rdf:_22 openjdk:22 ;
+ rdf:_23 openjdk:23 ;
+ rdf:_24 openjdk:24 ;
+ rdf:_25 openjdk:25 ;
rdfs:comment "Supported build platforms" .
+[abcl:build _:build-possible-via-interpreter]
+ rdf:_6 openjdk:6 ;
+ rdf:_6 not.org:deprecated ;
+ rdf:_7 openjdk:7 ;
+ rdf:_7 not.org:deprecated .
+
+
diff --git a/contrib/abcl-asdf/abcl-asdf-tests.asd b/contrib/abcl-asdf/abcl-asdf-tests.asd
index e01ea0ce3..ff248cbaf 100644
--- a/contrib/abcl-asdf/abcl-asdf-tests.asd
+++ b/contrib/abcl-asdf/abcl-asdf-tests.asd
@@ -2,7 +2,7 @@
(defsystem abcl-asdf-tests
:author "Mark Evenson"
- :long-description ""
+ :long-description ""
:version "2.1.0"
:defsystem-depends-on (prove-asdf)
:depends-on (abcl-asdf
diff --git a/contrib/abcl-asdf/abcl-asdf.asd b/contrib/abcl-asdf/abcl-asdf.asd
index bde464679..50e64d525 100644
--- a/contrib/abcl-asdf/abcl-asdf.asd
+++ b/contrib/abcl-asdf/abcl-asdf.asd
@@ -2,7 +2,7 @@
(defsystem abcl-asdf
:author "Mark Evenson"
:description "Extensions to ASDF for handling Java binary artifacts."
- :long-description ""
+ :long-description ""
:version "2.1.0"
:depends-on (jss abcl-build)
:components
diff --git a/contrib/abcl-introspect/abcl-introspect-test.asd b/contrib/abcl-introspect/abcl-introspect-test.asd
index b5437de9f..c7d63451a 100644
--- a/contrib/abcl-introspect/abcl-introspect-test.asd
+++ b/contrib/abcl-introspect/abcl-introspect-test.asd
@@ -2,7 +2,7 @@
(defsystem abcl-introspect-test
:author "Mark Evenson"
- :long-description ""
+ :long-description ""
:version "2.1.0"
:defsystem-depends-on (prove-asdf)
:depends-on (abcl-asdf ;; locate various testing dependencies via ABCL-ASDF
diff --git a/contrib/abcl-introspect/abcl-introspect.asd b/contrib/abcl-introspect/abcl-introspect.asd
index 8406e4457..d44e3f162 100644
--- a/contrib/abcl-introspect/abcl-introspect.asd
+++ b/contrib/abcl-introspect/abcl-introspect.asd
@@ -2,7 +2,7 @@
(defsystem abcl-introspect
:author ("Alan Ruttenberg" "Mark Evenson")
:description "Introspection on compiled function to aid source location and other debugging functions."
- :long-description ""
+ :long-description ""
:version "2.1.0"
:depends-on (jss)
:components ((:module package
diff --git a/contrib/asdf-jar/asdf-jar.asd b/contrib/asdf-jar/asdf-jar.asd
index 36b3331e1..a93f8bace 100644
--- a/contrib/asdf-jar/asdf-jar.asd
+++ b/contrib/asdf-jar/asdf-jar.asd
@@ -2,7 +2,7 @@
(defsystem asdf-jar
:author "Mark Evenson"
:description "Packaging ASDF systems into jar files"
- :long-description ""
+ :long-description ""
:version "0.4.0"
:in-order-to ((test-op (test-op :asdf-jar-test)))
:components ((:module package
diff --git a/contrib/jfli/README b/contrib/jfli/README
index 1e7ad12a9..a820642e8 100644
--- a/contrib/jfli/README
+++ b/contrib/jfli/README
@@ -36,4 +36,4 @@ and whatever else you can think of, to asimon@math.bme.hu.
# Colophon
- <> abcl:documents .
+ <> abcl:documents .
diff --git a/contrib/jfli/jfli.asd b/contrib/jfli/jfli.asd
index 5be79abb4..48cdedeef 100644
--- a/contrib/jfli/jfli.asd
+++ b/contrib/jfli/jfli.asd
@@ -1,6 +1,6 @@
;;;; -*- Mode: LISP -*-
(defsystem jfli
- :long-description ""
+ :long-description ""
:version "0.2.0"
:components ((:file "jfli")))
diff --git a/contrib/jss/jss.asd b/contrib/jss/jss.asd
index 4dff16d58..0f707ee4d 100644
--- a/contrib/jss/jss.asd
+++ b/contrib/jss/jss.asd
@@ -1,7 +1,7 @@
;;;; -*- Mode: LISP -*-
(defsystem jss
:author "Alan Ruttenberg, Mark Evenson"
- :long-description ""
+ :long-description ""
:version "3.7.0"
:components ((:module base
:pathname "" :serial t
diff --git a/contrib/mvn/jna.asd b/contrib/mvn/jna.asd
index 1e05ba2d6..bd387fe2e 100644
--- a/contrib/mvn/jna.asd
+++ b/contrib/mvn/jna.asd
@@ -3,7 +3,7 @@
;;;; Need to have jna.jar present for CFFI to work.
(defsystem jna
:version "5.18.1"
- :long-description ""
+ :long-description ""
:defsystem-depends-on (jss abcl-asdf)
:components ((:mvn "net.java.dev.jna/jna/5.18.1"
:alternate-uri "https://repo1.maven.org/maven2/net/java/dev/jna/jna/5.18.1/jna-5.18.1.jar"
diff --git a/contrib/pom.xml b/contrib/pom.xml
index c265d83f2..8efd90d98 100644
--- a/contrib/pom.xml
+++ b/contrib/pom.xml
@@ -14,7 +14,7 @@
org.abcl
abcl-contrib
- 1.9.3-SNAPSHOT
+ 1.10.0
jar
Armed Bear Common Lisp (ABCL) Contribs
Extra contributions for ABCL code not necessarily
@@ -26,7 +26,7 @@
Individual ASDF system licensing: examine and accept individual terms by explicit consent
- https://abcl.org/svn/tags/1.9.2/contrib/README.markdown
+ https://abcl.org/svn/tags/1.10.0/contrib/README.markdown
repo
@@ -38,7 +38,7 @@
scm:git:https://gitlab.common-lisp.net/abcl/abcl
- https://abcl.org/trac/browser/tags/1.9.2/contrib/
+ https://abcl.org/trac/browser/tags/1.10.0/contrib/
diff --git a/contrib/quicklisp/quicklisp-abcl.asd b/contrib/quicklisp/quicklisp-abcl.asd
index 1ec30a199..7b9ca5745 100644
--- a/contrib/quicklisp/quicklisp-abcl.asd
+++ b/contrib/quicklisp/quicklisp-abcl.asd
@@ -1,7 +1,7 @@
;;;; -*- Mode: LISP -*-
(defsystem quicklisp-abcl
:description "Load Quicklisp, installing from network if necessary."
- :long-name ""
+ :long-name ""
:version "0.6.0"
:components ((:file "quicklisp-abcl"))
:perform (load-op :after (o c)
diff --git a/doc/manual/abcl.tex b/doc/manual/abcl.tex
index 3c522a31f..d75b3ac72 100644
--- a/doc/manual/abcl.tex
+++ b/doc/manual/abcl.tex
@@ -12,9 +12,9 @@
\begin{document}
\title{Armed Bear Common Lisp User Manual}
-\date{Version 1.9.3 DRAFT \\
+\date{Version 1.10.0 \\
\smallskip
-Unreleased}
+February 2026}
\author{Mark Evenson \and Erik H\"{u}lsmann \and Rudolf Schlatte \and
Alessio Stalla \and Ville Voutilainen}
@@ -119,13 +119,33 @@ \subsection{Preface to the Ninth Edition}
\subsection{Preface to the Tenth Edition}
For the Tenth edition, we have explicitly tested the stable, Long Term
-Support (``LTS'') versions of the \textsc{OpenJDK}, namely \textsc{openjdk8},
-\textsc{openjdk11}, and \textsc{openjdk17}. We intend to drop one or
-more of these platforms for the next edition in order to more
-completely overhaul the implementations use of compare and swap on
-memory originally allocated outside the hosting \textsc{JVM}. As such, the
-Tenth edition is built released with openjdk8 but should run best on
-\textsc{openjdk17}.
+Support (``LTS'') versions of the \textsc{OpenJDK}, namely
+\textsc{openjdk8}, \textsc{openjdk11}, \textsc{openjdk17}, and
+\textsc{openjdk21}. We intend to drop one or more of these platforms
+for the next edition in order to more completely overhaul the
+implementations use of compare and swap on memory originally allocated
+outside the hosting \textsc{JVM}.
+
+%%Preface to the Tenth edition, abcl-1.9.2
+\subsubsection{Preface to the Tenth Edition, Second Revision}
+
+With this release, the binaries for Second Revision of the Tenth
+Edition are built with \textsc{openjdk11}. Users wishing to run on
+the venerable \textsc{openjdk8} platform may use the
+\textsc{ABCL-BUILD} contrib to recompile the implementation locally
+from source (see Section~\ref{section:abcl-build}
+page~\pageref{section:abcl-build}).
+
+%%Preface to the Eleventh edition, abcl-1.10.0
+\subsection{Preface to the Eleventh Edition}
+
+The Eleventh Edition of the implementation, aka \code{abcl-1.10.0} incorporates
+most of Tarn Burton's work on providing reasonable \textsc{CLOS} scaffolding
+for various \textsc{GRAY-STREAMS} implementation defaults.
+
+We have tested across on the latests currently available openjdk Long
+Term Service (LTS) versions at time of our release, which means ABCL.
+This means ABCL will run on any of \code{openjdk\{8,11,17,21,25\}}.
\chapter{Introduction}
@@ -135,15 +155,17 @@ \chapter{Introduction}
\textsc{Java} byte-code\footnote{The class files produced by the
compiler have a byte-code version of ``49.0''.}, with an efficiency
that varies upon the hosting JVM implementation. \textsc{ABCL}
-supports building and running on the \textsc{openjdk8},
-\textsc{openjdk11}, and \textsc{openjdk17} \textsc{JVM}
-implementations\footnote{The codebase runs and compiles on every
-historical openjdk from \textsc{openjdk6} through \textsc{openjdk8},
-does *not* run on either\textsc{openjdk9} or either\textsc{openjdk10},
-but then runs on every openjdk released as of May 2022 with minor
-adjustments}. As of May 2022, we are using the Adoptium community
-\cite{adoptium} binary releases which provides perhaps the least
-encumbered installation of unencumbered openjdk implementations.
+supports building and running on the ``Long Term Support'' (LTS) releases, namely the \textsc{openjdk8},
+\textsc{openjdk11}, \textsc{openjdk17}, \textsc{openjdk21}, and
+\textsc{openjdk25} \textsc{JVM} implementations\footnote{The codebase
+runs and compiles on every historical openjdk from \textsc{openjdk6}
+through \textsc{openjdk8}, does *not* run on either\textsc{openjdk9}
+or either\textsc{openjdk10}, but then runs on every openjdk released
+as of May 2022 with minor adjustments}. As of May 2022, we are using
+the Adoptium community \cite{adoptium} binary releases which provides
+perhaps the least encumbered installation of unencumbered openjdk
+implementations\footnote{The releases we test with may be installed
+via \url{https://abcl.org/svn/tags/1.10.0/ci/install-openjdk.bash}}.
Armed Bear provides the following integration methods for interfacing
with Java code and libraries:
@@ -241,7 +263,7 @@ \section{License}
\textsc{ABCL} is licensed under the terms of the \textsc{GPL} v2 of
June 1991 with an added ``classpath-exception'' clause (see the file
\texttt{COPYING} in the source distribution\footnote{See
- \url{http://abcl.org/svn/trunk/tags/1.9.2/COPYING}} for the license,
+ \url{https://abcl.org/svn/tags/1.10.0/COPYING}} for the license,
term 13 in the same file for the classpath exception). This license
broadly means that you must distribute the sources to \textsc{ABCL},
including any changes you make, together with a program that includes
@@ -282,7 +304,7 @@ \chapter{Running ABCL}
\textsc{ABCL} is packaged as a single jar file usually named either
-\texttt{abcl.jar} or possibly something like \texttt{abcl-1.9.2.jar} if
+\texttt{abcl.jar} or possibly something like \texttt{abcl-1.10.0.jar} if
using a versioned package on the local file-system from your system
vendor. This jar file can be executed from the command line to obtain a
\textsc{REPL}\footnote{Read-Eval Print Loop, a Lisp command-line}, viz:
@@ -752,7 +774,7 @@ \section{Java Scripting API (JSR-223)}
This section describes the design decisions behind the ABCL JSR-223
support. It is not a description of what JSR-223 is or a tutorial on
how to use it. See
-\url{http://abcl.org/trac/browser/trunk/abcl/examples/jsr-223}
+\url{https://abcl.org/svn/trunk/abcl/examples/jsr-223/README}
for example usage.
\subsection{Conversions}
@@ -1640,7 +1662,7 @@ \chapter{Contrib}
The \textsc{ABCL} contrib is packaged as a separate jar archive usually named
\code{abcl-contrib.jar} or possibly something like
-\code{abcl-contrib-1.9.2.jar}. The contrib jar is not loaded by the
+\code{abcl-contrib-1.10.0.jar}. The contrib jar is not loaded by the
implementation by default, and must be first initialized by the
\code{REQUIRE} mechanism before using any specific contrib:
@@ -1735,7 +1757,7 @@ \subsection{Directly Instructing Maven to Download JVM Artifacts}
locally from the network as well.
More extensive documentations and examples can be found at
-\url{http://abcl.org/svn/tags/1.9.2/contrib/abcl-asdf/README.markdown}.
+\url{https://abcl.org/svn/tags/1.10.0/contrib/abcl-asdf/README.markdown}.
\section{asdf-jar}
\label{section:asdf-jar}
@@ -1748,7 +1770,7 @@ \section{asdf-jar}
fasls in a jar archive.
The documentation for this contrib can be found at
-\url{http://abcl.org/svn/tags/1.9.2/contrib/asdf-jar/README.markdown}.
+\url{https://abcl.org/svn/tags/1.10.0/contrib/asdf-jar/README.markdown}.
\section{jss}
\label{section:jss}
@@ -1786,7 +1808,7 @@ \subsection{JSS usage}
\end{listing-lisp} %$ <-- un-confuse Emacs font-lock
Some more information on jss can be found in its documentation at
-\url{http://abcl.org/svn/tags/1.9.2/contrib/jss/README.markdown}
+\url{https://abcl.org/svn/tags/1.10.0/contrib/jss/README.markdown}
\section{jfli}
\label{section:jfli}
@@ -1795,7 +1817,7 @@ \section{jfli}
a descendant of Rich Hickey's early experimentations with using Java
from Common Lisp.
-\url{http://abcl.org/svn/tags/1.9.2/contrib/jfli/README}.
+\url{https://abcl.org/svn/tags/1.10.0/contrib/jfli/README}.
\section{abcl-introspect}
\label{section:abcl-introspect}
@@ -1903,7 +1925,7 @@ \subsection{Implementations for CL:DISASSEMBLE}
\end{listing-lisp}
-\url{http://abcl.org/svn/tags/1.9.2/contrib/abcl-introspect/}.
+\url{https://abcl.org/svn/tags/1.10.0/contrib/abcl-introspect/}.
\section{abcl-build}
\label{section:abcl-build}
@@ -1934,7 +1956,7 @@ \subsection{ABCL-BUILD Utilities}
archives from the network.
\end{itemize}
-\url{http://abcl.org/svn/tags/1.9.2/contrib/abcl-build/}.
+\url{https://abcl.org/svn/tags/1.10.0/contrib/abcl-build/}.
\section{named-readtables}
\label{section:named-readtables}
@@ -1946,7 +1968,7 @@ \section{named-readtables}
This contrib was included from the source available from
\url{https://github.com/melisgl/named-readtables/}.
-See \url{http://abcl.org/svn/tags/1.9.2/contrib/named-readtables/} for
+See \url{https://abcl.org/svn/tags/1.10.0/contrib/named-readtables/} for
more information.
\chapter{History}
@@ -1983,7 +2005,7 @@ \chapter{History}
a maintenance release.
In October 2016 we blessed the current \textsc{svn} trunk
-\url{http://abcl.org/svn/trunk/} as 1.4.0, which includes the
+\url{https://abcl.org/svn/trunk/} as 1.4.0, which includes the
community contributions from Vihbu, Olof, Pipping, and Cyrus. We
gingerly stepped into current century by establishing \textsc{git}
bridges to the source repositories available via the URIs
@@ -2011,8 +2033,12 @@ \chapter{History}
Halfway through the $\pi$ $\alpha$ $\nu$ $\delta$ $\eta$ $\mu$ o
$\zeta$ \cite{pandemos}, we dyslexic worker bears untied abcl-1.9.0.
We released abcl-1.9.1 as a maintenance release in February 2023. In
-June 2023, among other fixes, we substantially improved our GRAY-STREAM
-support in abcl-1.9.2.
+June 2023, among other fixes, we substantially improved our
+GRAY-STREAM support in abcl-1.9.2.
+
+We finally tidied up abcl-1.10.0, but in the excitement of seeing
+contemporary Common Lisp alive and well, failed to make a public
+release until February 2026.
\appendix
diff --git a/pom.xml b/pom.xml
index de2a0fff8..b6d34a6bb 100644
--- a/pom.xml
+++ b/pom.xml
@@ -12,7 +12,7 @@
org.abcl
abcl
- 1.9.3-SNAPSHOT
+ 1.10.0
jar
ABCL - Armed Bear Common Lisp
Common Lisp implementation running on the JVM
diff --git a/src/org/armedbear/lisp/Version.java b/src/org/armedbear/lisp/Version.java
index 91fc7a0d9..c4c9c5c67 100644
--- a/src/org/armedbear/lisp/Version.java
+++ b/src/org/armedbear/lisp/Version.java
@@ -41,7 +41,7 @@ public final class Version
{
private Version() {}
- static final String baseVersion = "1.9.3-dev";
+ static final String baseVersion = "1.10.0";
static void init() {
try {
diff --git a/src/org/armedbear/lisp/abcl-contrib.lisp b/src/org/armedbear/lisp/abcl-contrib.lisp
index b1a6a9c40..73d9af426 100644
--- a/src/org/armedbear/lisp/abcl-contrib.lisp
+++ b/src/org/armedbear/lisp/abcl-contrib.lisp
@@ -86,7 +86,7 @@ Used to determine relative pathname to find 'abcl-contrib.jar'."
;; Need to test locating the system boot jar over the network, and
;; it would minimally need to check version information.
(ignore-errors
- (pathname "jar:https://abcl.org/releases/1.9.2/abcl.jar!/"))))
+ (pathname "jar:https://abcl.org/releases/1.10.0/abcl.jar!/"))))
(defun flatten (list)
(labels ((rflatten (list accumluator)
diff --git a/test/lisp/ansi/ansi-test-failures b/test/lisp/ansi/ansi-test-failures
index 2b9b53fc9..3976a245d 100644
--- a/test/lisp/ansi/ansi-test-failures
+++ b/test/lisp/ansi/ansi-test-failures
@@ -1049,3 +1049,57 @@ Last Changed Date: 2016-09-04 12:54:18 +0000 (Sun, 04 Sep 2016)
FORMATTER.F.47 FORMAT.E.1 FORMAT.E.2 FORMAT.E.3
FORMAT.E.26 SYNTAX.SHARP-COLON.ERROR.1 APROPOS.ERROR.2
APROPOS-LIST.ERROR.2 DISASSEMBLE.ERROR.3 TRACE.8))
+
+(compileit abcl-1.10.0-github-issue-690 :id x86_64-macos-openjdk25
+ (LABELS.37 LABELS.38 LABELS.39 LOOP.1.40 LOOP.1.41
+ LOOP.1.42 LOOP.1.43 LOOP.8.10 MAKE-LOAD-FORM.ORDER.3
+ MAKE-LOAD-FORM.ORDER.4 MAKE-LOAD-FORM.ORDER.5
+ MAKE-LOAD-FORM.ORDER.6 MAKE-LOAD-FORM.ORDER.7
+ MAKE-LOAD-FORM.ORDER.8 MAKE-LOAD-FORM.ORDER.9
+ MAKE-LOAD-FORM.ORDER.10 MAKE-LOAD-FORM.ORDER.11
+ MAKE-LOAD-FORM.ORDER.12 MAKE-LOAD-FORM.ORDER.13
+ MAKE-LOAD-FORM.ORDER.14 DEFGENERIC.ERROR.1
+ DEFGENERIC.ERROR.2 DEFGENERIC.ERROR.3
+ CALL-NEXT-METHOD.ERROR.1 CALL-NEXT-METHOD.ERROR.2
+ DEFINE-METHOD-COMBINATION-LONG.04.2
+ DEFINE-METHOD-COMBINATION-LONG.11.2
+ DEFINE-METHOD-COMBINATION-LONG.11.3 MAKE-CONDITION.3
+ MAKE-CONDITION.4 DEFPACKAGE.2B EXPT.29 MAP.48
+ DEFSTRUCT.ERROR.3 DEFSTRUCT.ERROR.4 TYPE-OF.1 TYPE-OF.4
+ PATHNAMES-PRINT-AND-READ-PROPERLY LOGICAL-PATHNAME.3
+ PRINT.PATHNAME.1 PPRINT-FILL.2 PPRINT-LINEAR.2
+ PPRINT-TABULAR.2 PPRINT-LOGICAL-BLOCK.17 FORMAT.F.5
+ FORMAT.F.8 FORMAT.F.45 FORMATTER.F.45 FORMAT.F.46
+ FORMATTER.F.46 FORMAT.F.46B FORMATTER.F.46B FORMAT.F.47
+ FORMATTER.F.47 FORMAT.E.1 FORMAT.E.2 FORMAT.E.3 FORMAT.E.26
+ SYNTAX.SHARP-COLON.ERROR.1 APROPOS.ERROR.2
+ APROPOS-LIST.ERROR.2 DISASSEMBLE.ERROR.3 TRACE.8))
+
+(compileit abcl-1.10.0 :id x86_64-macos-openjdk25
+ (ETYPECASE.15 LABELS.37 LABELS.38 LABELS.39 LOOP.1.40
+ LOOP.1.41 LOOP.1.42 LOOP.1.43 LOOP.8.10
+ MAKE-LOAD-FORM.ORDER.3 MAKE-LOAD-FORM.ORDER.4
+ MAKE-LOAD-FORM.ORDER.5 MAKE-LOAD-FORM.ORDER.6
+ MAKE-LOAD-FORM.ORDER.7 MAKE-LOAD-FORM.ORDER.8
+ MAKE-LOAD-FORM.ORDER.9 MAKE-LOAD-FORM.ORDER.10
+ MAKE-LOAD-FORM.ORDER.11 MAKE-LOAD-FORM.ORDER.12
+ MAKE-LOAD-FORM.ORDER.13 MAKE-LOAD-FORM.ORDER.14
+ DEFGENERIC.ERROR.1 DEFGENERIC.ERROR.2 DEFGENERIC.ERROR.3
+ CALL-NEXT-METHOD.ERROR.1 CALL-NEXT-METHOD.ERROR.2
+ DEFINE-METHOD-COMBINATION-LONG.04.2
+ DEFINE-METHOD-COMBINATION-LONG.11.2
+ DEFINE-METHOD-COMBINATION-LONG.11.3 MAKE-CONDITION.3
+ MAKE-CONDITION.4 DEFPACKAGE.2B EXPT.29 MAP.48
+ DEFSTRUCT.ERROR.3 DEFSTRUCT.ERROR.4 TYPE-OF.1 TYPE-OF.4
+ PATHNAMES-PRINT-AND-READ-PROPERLY LOGICAL-PATHNAME.3
+ PRINT.PATHNAME.1 PPRINT-FILL.2 PPRINT-LINEAR.2
+ PPRINT-TABULAR.2 PPRINT-LOGICAL-BLOCK.17 FORMAT.F.5
+ FORMAT.F.8 FORMAT.F.45 FORMATTER.F.45 FORMAT.F.46
+ FORMATTER.F.46 FORMAT.F.46B FORMATTER.F.46B FORMAT.F.47
+ FORMATTER.F.47 FORMAT.E.1 FORMAT.E.2 FORMAT.E.3 FORMAT.E.26
+ SYNTAX.SHARP-COLON.ERROR.1 APROPOS.ERROR.2
+ APROPOS-LIST.ERROR.2 DISASSEMBLE.ERROR.3 TRACE.8))
+
+
+
+