diff --git a/CHANGES b/CHANGES
index 1881ac3fb..cf53ea69b 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,44 +1,85 @@
Version 1.9.3
=============
-Unreleased
+April 29, 2024
-
+
-* [r15775] Update to jna-5.14.0 seemingly fixing problems with CFFI for at least arm64-openjdk-21
+* [r15780] Correcly signal error for incorrect MAKE-PATHNAME-TYPE
+
+* [r15775] Update to jna-5.14.0
+
+* [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 for 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] (Alejandrozf) Fix CLOS change propagation for all subclasses.
+
+* [r15741] (Alejandrozf) Fix CLOS usage for
+ UPDATE-INSTANCE-FOR-REDEFINED-CLASS generic function.
+
+* [r15740] (Alejandrozf) Fix for issue with CLOS incorrectly
+ propagating initargs.
+
+* [r15735-6] (Alejandrozf) 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.
Version 1.9.2
=============
diff --git a/README b/README
index 5625caa9e..05ea8e121 100644
--- a/README
+++ b/README
@@ -56,7 +56,7 @@ to get something like
Max. Heap Size (Estimated): 3.89G
Using VM: OpenJDK 64-Bit Server VM
- Armed Bear Common Lisp 1.9.2
+ Armed Bear Common Lisp 1.9.3
Java 17.0.2 Oracle Corporation
OpenJDK 64-Bit Server VM
Low-level initialization completed in 0.432 seconds.
@@ -86,9 +86,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 +96,14 @@ 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.9.3-dev
+ 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.136 seconds.
CL-USER(1):
Yer now at the interactive ABCL "Read Eval Print Loop" (REPL): hacks
@@ -226,6 +229,7 @@ TESTS
| Version | Failures | Total |
|---------+----------+-------|
+ | 1.9.3 | | |
| 1.9.2 | 63 | 21902 |
| 1.9.1 | 60 | 21870 |
| 1.9.0 | 61 | 21870 |
diff --git a/abcl-prove.asd b/abcl-prove.asd
index 48a5ebd4f..5e180fc41 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.9.3"
:defsystem-depends-on (prove-asdf)
:depends-on (prove)
:perform (test-op (o c)
diff --git a/abcl.asd b/abcl.asd
index fde04150f..3d0ccccc1 100644
--- a/abcl.asd
+++ b/abcl.asd
@@ -1,10 +1,10 @@
;;; -*- Mode: LISP; Syntax: COMMON-LISP -*-
(defsystem abcl
- :version "1.9.2"
+ :version "1.9.3"
:in-order-to ((test-op (test-op "abcl/test/lisp"))))
(defsystem abcl/test/lisp
- :version "1.9.2"
+ :version "1.9.3"
:description "Test ABCL with the its own collection of unit tests."
:perform (test-op (o s)
(uiop:symbol-call :abcl.test.lisp '#:run))
diff --git a/abcl.rdf b/abcl.rdf
index b7b69706b..92a3b5ea1 100644
--- a/abcl.rdf
+++ b/abcl.rdf
@@ -22,8 +22,8 @@
dc:created "01-JAN-2004" ;
dc:modified "11-MAR-2024" ;
dc:version "abcl-1.9.3" ;
- dc:release "dev" ;
-# dc:release "rc-0" ;
+# dc:release "dev" ;
+ dc:release "rc-0" ;
abcl:git ;
abcl:git ;
abcl:svn .
@@ -105,12 +105,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 ;
@@ -137,6 +137,7 @@ doap:Project rdfs:seeAlso [
rdf:_29 ;
rdf:_31 ;
rdf:_37 ;
+ rdf:_41 ;
] ;
] .
diff --git a/contrib/abcl-asdf/abcl-asdf-tests.asd b/contrib/abcl-asdf/abcl-asdf-tests.asd
index e01ea0ce3..01c572f30 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..ed7c16065 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..037e00758 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..f4b9667d5 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..b84eacb04 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..a05830c3d 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..10fe451fd 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..55b539acb 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 285f55550..099e0fc73 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.14.0"
- :long-description ""
+ :long-description ""
:defsystem-depends-on (jss abcl-asdf)
:components ((:mvn "net.java.dev.jna/jna/5.14.0"
:alternate-uri "https://repo1.maven.org/maven2/net/java/dev/jna/jna/5.13.0/jna-5.14.0.jar"
diff --git a/contrib/pom.xml b/contrib/pom.xml
index c265d83f2..70aefa6d1 100644
--- a/contrib/pom.xml
+++ b/contrib/pom.xml
@@ -14,7 +14,7 @@
org.abcl
abcl-contrib
- 1.9.3-SNAPSHOT
+ 1.9.3
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.9.3/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.9.3/contrib/
diff --git a/contrib/quicklisp/quicklisp-abcl.asd b/contrib/quicklisp/quicklisp-abcl.asd
index 1ec30a199..21a289db8 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..13ffdd4cc 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.9.3 \\
\smallskip
-Unreleased}
+April 2024}
\author{Mark Evenson \and Erik H\"{u}lsmann \and Rudolf Schlatte \and
Alessio Stalla \and Ville Voutilainen}
@@ -119,13 +119,14 @@ \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}. The release binaries for Tenth
+edition are built with \textsc{openjdk11} but should run best
+on \textsc{openjdk21}.
\chapter{Introduction}
@@ -241,7 +242,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{http://abcl.org/svn/trunk/tags/1.9.3/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 +283,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.9.3.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:
@@ -1640,7 +1641,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.9.3.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 +1736,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{http://abcl.org/svn/tags/1.9.3/contrib/abcl-asdf/README.markdown}.
\section{asdf-jar}
\label{section:asdf-jar}
@@ -1748,7 +1749,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{http://abcl.org/svn/tags/1.9.3/contrib/asdf-jar/README.markdown}.
\section{jss}
\label{section:jss}
@@ -1786,7 +1787,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{http://abcl.org/svn/tags/1.9.3/contrib/jss/README.markdown}
\section{jfli}
\label{section:jfli}
@@ -1795,7 +1796,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{http://abcl.org/svn/tags/1.9.3/contrib/jfli/README}.
\section{abcl-introspect}
\label{section:abcl-introspect}
@@ -1903,7 +1904,7 @@ \subsection{Implementations for CL:DISASSEMBLE}
\end{listing-lisp}
-\url{http://abcl.org/svn/tags/1.9.2/contrib/abcl-introspect/}.
+\url{http://abcl.org/svn/tags/1.9.3/contrib/abcl-introspect/}.
\section{abcl-build}
\label{section:abcl-build}
@@ -1934,7 +1935,7 @@ \subsection{ABCL-BUILD Utilities}
archives from the network.
\end{itemize}
-\url{http://abcl.org/svn/tags/1.9.2/contrib/abcl-build/}.
+\url{http://abcl.org/svn/tags/1.9.3/contrib/abcl-build/}.
\section{named-readtables}
\label{section:named-readtables}
@@ -1946,7 +1947,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{http://abcl.org/svn/tags/1.9.3/contrib/named-readtables/} for
more information.
\chapter{History}
@@ -2011,8 +2012,9 @@ \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. In anticipation of a week of
+Common Lisp for SBCL25/ELS2024, we tidied up abcl-1.9.3.
\appendix
diff --git a/src/org/armedbear/lisp/Version.java b/src/org/armedbear/lisp/Version.java
index 91fc7a0d9..8897c31ea 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.9.3";
static void init() {
try {
diff --git a/src/org/armedbear/lisp/abcl-contrib.lisp b/src/org/armedbear/lisp/abcl-contrib.lisp
index b1a6a9c40..cd7a6f6f1 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.9.3/abcl.jar!/"))))
(defun flatten (list)
(labels ((rflatten (list accumluator)