metadata: publish all artifacts for 1.4.0 simultaneously

Update the README <file:README>, CHANGES <file:CHANGES> and the User
manual <file:doc/manual/> for 1.4.0.

<http://abcl.org/trac/changeset/14891>
parent 3694970b
Version 1.4.0-dev
=================
http://abcl.org/svn/trunk/
Unreleased.
Version 1.4.0
=============
<http://abcl.org/svn/tags/1.4.0/>
<http://abcl.org/trac/changeset/14888>
08-OCT-2016
Enhancements
============
......@@ -11,25 +12,27 @@ Enhancements
* Upstream consolidated patchset (ferada)
** [r14857] Support `FILE-POSITION` on string streams.
** [r14858] Runtime class improvements.
FIXME: currently borks CFFI-TESTS
** [r14859] Add multiple disassembler selector.
** [r14860] Add EXTERNAL-ONLY option to APROPOS.
** [r14861] Fix nested classes from JARs not visible with JSS.
* Implemented "time of time" semantics {encode,decode}-universal time.
FIXME: breaking a number of ANSI tests. Need to conditionalize runtime behavior.
* [r14840-2] (Scott L. Burson) Introduced "time of time" semantics for
{encode,decode}-universal time.
* EXTENSIONS:MAKE-TEMP-FILE now takes keyword arguments to specify
values of the prefix and suffix strings to the underlying JVM
implementation of java.io.File.createTempFile().
* [r14849] EXT:OS-{UNIX,WINDOWS}-P now provide a pre-ASDF runtime check on hosting platform
Fixes
-----
* RandomCharacterFile et. al.
* [r14863] RandomCharacterFile et. al.
* [r14839] (JSS) Ensure the interpolation of Java symbol names as strings (alan ruttenberg)
* (JSS) Ensure the interpolation of Java symbol names as strings
* [r14889] Fix ANSI-TEST SXHASH.8 (dmiles)
Updates
------
......@@ -38,6 +41,11 @@ Updates
* jna-4.2.2
Removed
-------
* [r14885] ASDF-INSTALL was removed
Version 1.3.3
=============
......
......@@ -56,7 +56,7 @@ Then issue the following command:
which should result in output like the following
Armed Bear Common Lisp 1.4.0-dev
Armed Bear Common Lisp 1.4.0
Java 1.8.0_102 Oracle Corporation
Java HotSpot(TM) 64-Bit Server VM
Low-level initialization completed in 0.324 seconds.
......@@ -81,7 +81,7 @@ preferred (and most tested way) is to being to use the Ant build tool:
implementations for this process: SBCL, CMUCL, OpenMCL, Allegro
CL, LispWorks or CLISP.
In all cases you need a Java 5 or later JDK (JDK 1.[567] have been
In all cases you need a Java 5 or later JDK (JDK 1.[5678] have been
tested). Just the JRE isn't enough, as you need the Java compiler
('javac') to compile the Java source of the ABCL implementation.
......@@ -202,17 +202,20 @@ providing a compliant and practical Common Lisp implementation.
### Tests
ABCL 1.4.0 now fails only 1[2-4] out of 21708 total tests in the ANSI CL
test suite (derived from the tests originally written for GCL).
ABCL 1.4.0 now fails 47 out of 21708 total tests in the [revised and
expanded ANSI CL test suite][ansi-test] (derived from the tests
originally written for GCL).
[ansi-test]: git+https://gitlab.common-lisp.net/ansi-test/ansi-test.git
Maxima's test suite runs without failures.
ABCL comes with a test suite, see the output of `ant help.test` for more
information.
ABCL comes with a test suite, see the output of `ant help.test` for
more information.
### Deficiencies
### Deficiencies
The MOP implementation is incompletely untested.
Many. But patches are solicited.
Patches to address any of the issues mentioned above will
be gladly accepted.
......@@ -235,11 +238,12 @@ On behalf of all ABCL development team and contributors,
Alessio Stalla
Ville Voutilainen
ferada
olof
olof ferada
pipping
slyrus
vibhu
dmiles
September 2016
October 2016
......@@ -22,7 +22,7 @@
;;; We guard with #+abcl for tests that other Lisps cannot load. This
;;; could be possibly be done at finer granularity in the files
;;; themselves.
(defsystem :abcl-test-lisp :version "1.3.0" :components
(defsystem :abcl-test-lisp :version "1.4.0" :components
((:module abcl-rt
:pathname "test/lisp/abcl/" :serial t :components
((:file "rt-package")
......
......@@ -16,15 +16,14 @@
@prefix dc: <http://purl.org/dc/elements/1.1/> .
<>
abcl:branch <http://abcl.org/svn/trunk/abcl> ;
dc:identifier <urn:abcl.org/1.4.0#dev> ;
dc:identifier <urn:abcl.org/1.4.0#rc-0> ;
doap:language "Common Lisp" ;
dc:created "01-JAN-2004" ;
dc:modified "01-OCT-2016" ;
dc:modified "08-OCT-2016" ;
dc:version "abcl-1.4.0" ;
dc:release "dev" ;
abcl:git <https://github.com/easye/abcl/> ; # Does this overwrite? TODO Check RDF specs.
abcl:git <https://gitlab.common-lisp.net/mevenson/abcl/> ;
abcl:svn <http://abcl.org/trac/changeset/14885> .
abcl:git <https://gitlab.common-lisp.net/abcl/abcl/> ;
abcl:svn <http://abcl.org/trac/changeset/14886> .
<>
rdfs:seeAlso <file:README> ;
......@@ -57,18 +56,22 @@
<abcl:doap>
dc:contributor [
a rdf:Bag;
rdf:_1024 _:peter ;
rdf:_2048 _:piso ;
rdf:_1 _:ehu ;
rdf:_2 _:easye ;
rdf:_3 _:ville ;
rdf:_4 _:astalla ;
rdf:_5 _:rudi ;
rdf:_11 _:ferada ;
rdf:_11 _:ferada ;
rdf:_11 _:olof ;
rdf:_11 "Olof-Joachim Frahm" ;
rdf:_7 _:cyrus ;
rdf:_8 _:dmiles ;
rdf:_9 _:alanr ;
rdf:_10 _:pipping ;
rdf:_11 _:olof
rdf:_12
rdf:_10 _:pipping ;
rdf:_10 "Elias Pipping" ;
rdf:_12 "Vibhu Mohindra" ;
] .
<abcl:doap>
......@@ -94,9 +97,11 @@ _:user dc:identifier <http://ville.not.org/#me> ;
doap:Project rdfs:seeAlso [
a rdf:Bag;
rdf:_0 <http://abcl.org/releases/1.4.0/abcl-1.4.0.jar> ;
rdf:_1 <http://abcl.org/trac/timeline> ;
rdf:_2 <http://abcl.org/trac/wiki> ;
rdf:_3 <http://code.google.com/p/abcl-dynamic-install/> ;
rdf:_4 <https://github.com/easye/abcl/> ;
rdf:_5 <https://gitlab.common-lisp.net/mevenson/abcl/> ;
dc:source abcl:tag ;
dc:Software [
a rdf:Bag;
......@@ -109,7 +114,6 @@ doap:Project rdfs:seeAlso [
rdf:_14 <http://abcl.org/releases/1.3.2/abcl-1.3.1.jar> ;
rdf:_7 <http://abcl.org/releases/1.3.2/abcl-1.3.2.jar> ;
rdf:_8 <http://abcl.org/releases/1.3.3/abcl-1.3.3.jar> ;
rdf:_9 <http://abcl.org/releases/1.4.0/abcl-1.4.0.jar> ;
] ;
] .
......
......@@ -3,7 +3,7 @@
(asdf:defsystem :abcl-asdf
:author "Mark Evenson"
:version "1.5.1"
:description "<> asdf:defsystem <urn:abcl.org/release/1.4.0-dev/contrib/abcl-asdf#1.5.1>"
:description "<> asdf:defsystem <urn:abcl.org/release/1.4.0/contrib/abcl-asdf#1.5.1>"
:depends-on (jss)
:components
((:module packages :pathname ""
......
......@@ -4,7 +4,7 @@
(defsystem :asdf-jar
:author "Mark Evenson"
:version "0.3.2"
:description "<> asdf:defsystem <urn:abcl.org/release/1.4./contrib/asdf-jar#0.3.2>"
:description "<> asdf:defsystem <urn:abcl.org/release/1.4.0/contrib/asdf-jar#0.3.2>"
:components
((:module base :pathname "" :components
((:file "asdf-jar")
......
......@@ -36,4 +36,4 @@ and whatever else you can think of, to asimon@math.bme.hu.
# Colophon
<> abcl:documents <urn:abcl.org/release/1.3.0-dev/contrib/jfli#0.2.0> .
<> abcl:documents <urn:abcl.org/release/1.4.0/contrib/jfli#0.2.0> .
......@@ -6,7 +6,7 @@
;;; Requires integration with IntelliJ IDEA editor (free download)
(asdf:defsystem jfli-intellij-tests
:version "0.1.0"
:description "<> asdf:defsystem <urn:abcl.org/release/1.3.0/contrib/jfli#0.2.0> ."
:version "0.2.0"
:description "<> asdf:defsystem <urn:abcl.org/release/1.4.0/contrib/jfli#0.2.0> ."
:components ((:module test
:components ((:file "yanking")))))
;;;; -*- Mode: LISP -*-
(asdf:defsystem :jss
:author "Alan Ruttenberg, Mark Evenson"
:version "3.0.10"
:description "<> asdf:defsystem <urn:abcl.org/release/1.4.0/contrib/jss#3.0.9>"
:version "3.1.0"
:description "<> asdf:defsystem <urn:abcl.org/release/1.4.0/contrib/jss#3.1.0>"
:components ((:module base
:pathname "" :serial t
:components ((:file "packages")
......
......@@ -3,7 +3,7 @@
;;;; Need to have jna.jar present for CFFI to work.
(asdf:defsystem :jna
:version "4.2.2"
:description "<> asdf:defsystem <urn:abcl.org/release/1.3.0/contrib/jna#4.2.2>"
:description "<> asdf:defsystem <urn:abcl.org/release/1.4.0/contrib/jna#4.2.2>"
:defsystem-depends-on (jss abcl-asdf)
:components ((:mvn "net.java.dev.jna/jna/4.2.2"
:alternate-uri "http://repo1.maven.org/maven2/net/java/dev/jna/jna/4.2.2/jna-4.2.2.jar"
......
......@@ -13,7 +13,7 @@
</parent>
<groupId>org.abcl</groupId>
<artifactId>abcl-contrib</artifactId>
<version>1.4.0-SNAPSHOT</version>
<version>1.4.0</version>
<packaging>jar</packaging>
<name>Armed Bear Common Lisp (ABCL) Contribs</name>
<description>Extra packages--contribs--for ABCL</description>
......
......@@ -9,7 +9,7 @@
(defsystem :quicklisp-abcl
:description
"Load Quicklisp from the network if it isn't already installed. <urn:abcl.org/release/1.3.0/contrib/quicklisp-abcl#0.3.0>"
"Load Quicklisp from the network if it isn't already installed. <urn:abcl.org/release/1.4.0/contrib/quicklisp-abcl#0.3.0>"
:version "0.3.0"
:components nil)
......
% no longer resolving 2012-12-04
% howpublished = {\url{http://java.sun.com/developer/onlineTraining/protocolhandlers/}},
@Misc{maso2000,
author = {Maso, Brian},
title = {A New Era for {Java} Protocol Handlers},
howpublished = {\url{http://java.sun.com/developer/onlineTraining/protocolhandlers/}},
howpublished = {\url{http://docslide.us/documents/java-protocol-handler.html}},
month = aug,
year = 2000,
note = {Last accessed Jan 25, 2012}} % no longer resolving 2012-12-04
note = {Last accessed Oct 2, 2016}
}
@Misc{quicklisp,
author = {Beane, Zach},
......@@ -93,7 +96,26 @@
key = {evenson2011},
author = {Evenson, Mark},
title = {Unpublished draft of {An Implementation and Analysis of Adding IRI to Common Lisp's Pathname}},
howpublished = {\url{http://code.google.com/p/abcl-dynamic-install/source/browse/doc/design/pathnames/pathnames.tex}},
howpublished = {\url{https://github.com/easye/abcl/blob/master/doc/design/pathnames/url-pathnames.mark}},
year = {2011},
note = {Last accessed Feb 5, 2012},
note = {Last accessed Oct 2, 2016},
}
@Misc{closer-mop,
key = {closer-mop},
author = { Costanza.Pascal},
title = { Closer to MOP is a compatibility layer that rectifies many of the absent or incorrect CLOS MOP features across a broad range of Common Lisp implementations.},
howpublished = {\url{https://github.com/pcostanza/closer-mop}},
year = {2011},
note = {Last accessed Oct 2, 2016},
}
@Misc{lea-1998,
key = {lea-1998},
author ={Doug Lea},
title = "Overview of package util.concurrent Release 1.3.4.",
howpublished = {\url{http://gee.cs.oswego.edu/dl/classes/EDU/oswego/cs/dl/util/concurrent/intro.html}},
year = {1998},
note = {Last accessed Oct 2, 2016},
}
\ No newline at end of file
......@@ -8,15 +8,23 @@
\begin{document}
\title{Armed Bear Common Lisp User Manual}
\date{Version 1.4.0-dev\\
\date{Version 1.4.0\\
\smallskip
April 2015}
October 2016}
\author{Mark Evenson \and Erik H\"{u}lsmann \and Rudolf Schlatte \and
Alessio Stalla \and Ville Voutilainen}
\maketitle
\tableofcontents
%%Preface to the Fifth edition, abcl-1.4.0
\subsection{Preface to the Fifth Edition}
\textsc{ABCL} 1.4 consolidates eighteen months of production bugfixes,
and substatianally improves the support for invoking external
processes via SYS:RUN-PROGRAM.
%%Preface to the Fourth edition, abcl-1.3.
\subsection{Preface to the Fourth Edition}
......@@ -116,13 +124,16 @@ contemporary Common Lisp.
allowed by \textsc{ANSI}}, the inability to inspect local variables
in a given call frame, and the inability to resume a halted
computation at an arbitrarily selected call frame.
\item Incomplete streams abstraction, in that \textsc{ABCL} needs
suitable abstraction between \textsc{ANSI} and Gray
streams. \footnote{The streams could be optimized to the
\item Incomplete streams abstraction, in that \textsc{ABCL} needs a
suitable abstraction between \textsc{ANSI} and \textsc{Gray streams}
with a runtime switch for the beyond conforming
behavior. \footnote{The streams could be optimized to the
\textsc{JVM} NIO \cite{nio} abstractions at great profit for
binary byte-level manipulations.}
\item Incomplete documentation (missing docstrings from exported
symbols and the draft status of this user manual).
\item Incomplete documentation: source code is missing docstrings from
all exported symbols from the \code{EXTENSIONS}, \code{SYSTEM},
\code{JAVA}, \code{MOP}, and \code{THREADS} packages. This user
manual is currently in draft status.
\end{itemize}
......@@ -132,11 +143,11 @@ contemporary Common Lisp.
\textsc{ABCL} is licensed under the terms of the \textsc{GPL} v2 of
June 1991 with the ``classpath-exception'' (see the file
\texttt{COPYING} in the source distribution \footnote{See
\url{http://abcl.org/svn/trunk/tags/1.3.0/COPYING}} for
\url{http://abcl.org/svn/trunk/tags/1.4.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
ABCL, including any changes you make, together with a program that
includes ABCL, but that you are not required to distribute the sources
\textsc{ABCL}, including any changes you make, together with a program that
includes \textsc{ABCL}, but that you are not required to distribute the sources
of the whole program. Submitting your changes upstream to the ABCL
development team is actively encouraged and very much appreciated, of
course.
......@@ -148,6 +159,7 @@ course.
\item Douglas Miles \texttt{Thanks for the whacky IKVM stuff and keeping the flame alive
in the dark years.}
\item Alan Ruttenberg \texttt{Thanks for JSS.}
\item piso
\item and of course
\emph{Peter Graves}
\end{itemize}
......@@ -157,7 +169,7 @@ course.
\textsc{ABCL} is packaged as a single jar file usually named either
\texttt{abcl.jar} or possibly something like \texttt{abcl-1.3.0.jar} if
\texttt{abcl.jar} or possibly something like \texttt{abcl-1.4.0.jar} if
using a versioned package on the local filesystem 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:
......@@ -258,7 +270,7 @@ FFI functions and are recognizable by their name ending with
\subsection{Low-level Java API}
This subsection covers the low-level API available after evaluating
\code{(require 'JAVA)}. A higher level Java API, developed by Alan
\code{(require :java)}. A higher level Java API, developed by Alan
Ruttenberg, is available in the \code{contrib/} directory and described
later in this document, see Section~\ref{section:jss} on page
\pageref{section:jss}.
......@@ -808,17 +820,17 @@ or EXTENSIONS packages.
\subsection{Modifying the JVM CLASSPATH}
The JAVA:ADD-TO-CLASSPATH generic functions allows one to add the
The \code{JAVA:ADD-TO-CLASSPATH} generic functions allows one to add the
specified pathname or list of pathnames to the current classpath
used by ABCL, allowing the dynamic loading of JVM objects:
used by ABCL, allowing the dynamic loading of \textsc{JVM} objects:
\begin{listing-lisp}
CL-USER> (add-to-classpath "/path/to/some.jar")
\end{listing-lisp}
N.b \code{ADD-TO-CLASSPATH} only affects the classloader used by ABCL
N.b \code{ADD-TO-CLASSPATH} only affects the classloader used by \textsc{ABCL}
(the value of the special variable \code{JAVA:*CLASSLOADER*}. It has
no effect on Java code outside ABCL.
no effect on \textsc{Java} code outside \textsc{ABCL}.
\subsection{Creating a synthetic Java Class at Runtime}
......@@ -832,7 +844,7 @@ See \code{JAVA:JNEW-RUNTIME-CLASS} on \ref{JAVA:JNEW-RUNTIME-CLASS}.
The extensions for handling multithreaded execution are collected in
the \code{THREADS} package. Most of the abstractions in Doug Lea's
excellent \code{java.util.concurrent} packages may be manipulated
directly via the JSS contrib to great effect.
directly via the JSS contrib to great effect \cite{lea-1998}
% include autogen docs for the THREADS package.
\include{threads}
......@@ -917,18 +929,22 @@ following caveats:
\index{URI}
\item Any results of canonicalization procedures performed on the
underlying \textsc{URI} are discarded between resolutions (i.e. the
implementation does not attempt to cache the results of current name
resolution of the representing resource unless it is requested to be
resolved.) Upon resolution, any canonicalization procedures
followed in resolving the resource (e.g. following redirects) are
discarded. Users may programatically initiate a new, local
computation of the resolution of the resource by applying the
\code{CL:TRUENAME} function to a \code{EXT:URL-PATHNAME} object.
Depending on the reliability and properties of your local
\textsc{REST} infrastructure, these results may not necessarily be
idempotent over time\footnote {See \cite{evenson2011} for the draft
of the publication of the technical details}.
\textsc{URI} via local or network resolutions are discarded between
attempts (i.e. the implementation does not attempt to cache the
results of current name resolution of the URI for underlying
resource unless it is requested to be resolved.) Upon resolution,
any canonicalization procedures followed in resolving the resource
(e.g. following redirects) are discarded. Users may programatically
initiate a new, local computation of the resolution of the resource
by applying the \code{CL:TRUENAME} function to a
\code{EXT:URL-PATHNAME} object. Depending on the reliability and
properties of your local \textsc{REST} infrastructure, these results
may not necessarily be idempotent over time\footnote {See
\cite{uri-pathname} for the design and implementation notes for
the technical details}. A future implementation may attempt to
expose an API to observer/customize the content negotiation
initiated during retrieval of the representation of a given
resource, which is currently handled at the application level.
\end{itemize}
......@@ -1112,37 +1128,40 @@ designated package.
\section{Extensible Sequences}
See Rhodes2007 \cite{RHODES2007} for the design.
The SEQUENCE package fully implements Christopher Rhodes' proposal for
extensible sequences. These user extensible sequences are used
directly in \code{java-collections.lisp} provide these CLOS
abstractions on the standard Java collection classes as defined by the
\code{java.util.List} contract.
%% an Example of using java.util.Lisp in Lisp would be nice
This extension is not automatically loaded by the implementation. It
may be loaded via:
\begin{listing-lisp}
CL-USER> (require 'java-collections)
CL-USER> (require :java-collections)
\end{listing-lisp}
if both extensible sequences and their application to Java collections
is required, or
\begin{listing-lisp}
CL-USER> (require 'extensible-sequences)
CL-USER> (require :extensible-sequences)
\end{listing-lisp}
if only the extensible sequences API as specified in \cite{RHODES2007} is
required.
Note that \code{(require 'java-collections)} must be issued before
Note that \code{(require :java-collections)} must be issued before
\code{java.util.List} or any subclass is used as a specializer in a \textsc{CLOS}
method definition (see the section below).
See Rhodes2007 \cite{RHODES2007} for the an overview of the
abstractions of the \code{java.util.collection} package afforded by
\code{JAVA-COLLECTIONS}.
\section{Extensions to CLOS}
\subsection{Metaobject Protocol}
......@@ -1156,6 +1175,9 @@ the metaclass \code{funcallable-standard-object} has
\code{funcallable-standard-class} as metaclass instead of
\code{standard-class}.
\textsc{ABCL}'s fidelity to the AMOP specification is codified as part
of Pascal Costanza's \code{closer-mop} \ref{closer-mop} \cite{closer-mop}.
\subsection{Specializing on Java classes}
There is an additional syntax for specializing the parameter of a
......@@ -1202,7 +1224,22 @@ bit characters to the Lisp reader\footnote{This represents a
allow a sequences of the form \verb~#\U~\emph{\texttt{xxxx}} to be processed
by the reader as character whose code is specified by the hexadecimal
digits \emph{\texttt{xxxx}}. The hexadecimal sequence may be one to four digits
long. % Why doesn't ALEXANDRIA work?
long.
% Why doesn't ALEXANDRIA work? Good question: Alexandria from
% Quicklisp 2010-10-07 fails a number of tests:
%% Form: (ALEXANDRIA.0.DEV:TYPE= 'LIST '(OR NULL CONS))
%% Expected values: T
%% T
%% Actual values: NIL
%% T.
%% Test ALEXANDRIA-TESTS::TYPE=.3 failed
%% Form: (ALEXANDRIA.0.DEV:TYPE= 'NULL '(AND SYMBOL LIST))
%% Expected values: T
%% T
%% Actual values: NIL
%% NIL.
Note that this sequence is never output by the implementation. Instead,
the corresponding Unicode character is output for characters whose
......@@ -1222,8 +1259,8 @@ semantics to the execution of \code{REQUIRE} on the following symbols:
otherwise unresolved, are passed to ASDF for a chance for
resolution. This means, for instance if \code{CL-PPCRE} can be
located as a loadable \textsc{ASDF} system \code{(require
'cl-ppcre)} is equivalent to \code{(asdf:load-system
'cl-ppcre)}.
:cl-ppcre)} is equivalent to \code{(asdf:load-system
:cl-ppcre)}.
\item{\code{ABCL-CONTRIB}}
Locates and pushes the toplevel contents of
......@@ -1274,7 +1311,7 @@ reader in the definition of the \code{SHARPSIGN-DOUBLE-QUOTE}
\section{ASDF}
asdf-3.1.6 (see \cite{asdf}) is packaged as core component of \textsc{ABCL},
asdf-3.1.7.27 (see \cite{asdf}) is packaged as core component of \textsc{ABCL},
but not initialized by default, as it relies on the \textsc{CLOS} subsystem
which can take a bit of time to start \footnote{While this time is
``merely'' on the order of seconds for contemporary 2011 machines,
......@@ -1284,19 +1321,19 @@ may be loaded by the \textsc{ANSI} \code{REQUIRE} mechanism as
follows:
\begin{listing-lisp}
CL-USER> (require 'asdf)
CL-USER> (require :asdf)
\end{listing-lisp}
\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.3.0.jar}. The contrib jar is not loaded by the
\code{abcl-contrib-1.4.0.jar}. The contrib jar is not loaded by the
implementation by default, and must be first intialized by the
\code{REQUIRE} mechanism before using any specific contrib:
\begin{listing-lisp}
CL-USER> (require 'abcl-contrib)
CL-USER> (require :abcl-contrib)
\end{listing-lisp}
\section{abcl-asdf}
......@@ -1378,7 +1415,7 @@ Notice that all recursive dependencies have been located and installed
locally from the network as well.
More extensive documentations and examples can be found at
\url{http://abcl.org/svn/tags/1.3.0/contrib/abcl-asdf/README.markdown}.
\url{http://abcl.org/svn/tags/1.4.0/contrib/abcl-asdf/README.markdown}.
\section{asdf-jar}
......@@ -1390,7 +1427,7 @@ this package will recursively package all the required source and
fasls in a jar archive.
The documentation for this contrib can be found at
\url{http://abcl.org/svn/tags/1.3.0/contrib/asdf-jar/README.markdown}.
\url{http://abcl.org/svn/tags/1.4.0/contrib/asdf-jar/README.markdown}.
\section{jss}
......@@ -1415,9 +1452,9 @@ last experiment in wrangling Java from Common Lisp.
Example:
\begin{listing-lisp}
CL-USER> (require 'abcl-contrib)
CL-USER> (require :abcl-contrib)
==> ("ABCL-CONTRIB")
CL-USER> (require 'jss)
CL-USER> (require :jss)
==> ("JSS")
CL-USER) (#"getProperties" 'java.lang.System)
==> #<java.util.Properties {java.runtime.name=Java.... {2FA21ACF}>
......@@ -1426,14 +1463,14 @@ CL-USER) (#"propertyNames" (#"getProperties" 'java.lang.System))
\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.3.0/contrib/jss/README.markdown}
\url{http://abcl.org/svn/tags/1.4.0/contrib/jss/README.markdown}
\section{jfli}
\label{section:jfli}
The contrib contains a pure-Java version of JFLI.
\url{http://abcl.org/svn/tags/1.3.0/contrib/jfli/README}.
\url{http://abcl.org/svn/tags/1.4.0/contrib/jfli/README}.
\chapter{History}
......@@ -1469,6 +1506,16 @@ In March 2014, we introduced the Fourth Edition of the implementation
with abcl-1.3.0. At the end of April 2014, we released abcl-1.3.1 as
a maintainence release.
In October 2016 we blessed the current \textsc{svn} trunk
\url{http://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 repository at
\url{https://github.com/easye/abcl/} and
\url{https://gitlab.common-lisp.net/abcl/abcl/} so that pull
requests for enhancements to the implementation many be more easily
facilitated.
\appendix
\chapter{The MOP Dictionary}
......
......@@ -107,15 +107,6 @@ not-documented
\end{adjustwidth}
\paragraph{}
\label{EXTENSIONS:*GUI-BACKEND*}
\index{*GUI-BACKEND*}
--- Variable: \textbf{*gui-backend*} [\textbf{extensions}] \textit{}
\begin{adjustwidth}{5em}{5em}
not-documented
\end{adjustwidth}
\paragraph{}
\label{EXTENSIONS:*INSPECTOR-HOOK*}
\index{*INSPECTOR-HOOK*}
--- Variable: \textbf{*inspector-hook*} [\textbf{extensions}] \textit{}
......@@ -441,6 +432,15 @@ EXTERNAL-FORMAT must be of the same format as specified for OPEN.
\end{adjustwidth}
\paragraph{}
\label{EXTENSIONS:GET-TIME-ZONE}
\index{GET-TIME-ZONE}
--- Function: \textbf{get-time-zone} [\textbf{extensions}] \textit{time-in-millis}
\begin{adjustwidth}{5em}{5em}
Return the timezone difference in hours for TIME-IN-MILLIS via the Daylight assumptions that were in place at its occurance. i.e. implement 'time of the time semantics'.
\end{adjustwidth}
\paragraph{}
\label{EXTENSIONS:GETENV}
\index{GETENV}
--- Function: \textbf{getenv} [\textbf{extensions}] \textit{variable}
......@@ -464,7 +464,7 @@ Returns all environment variables as an alist containing (name . value)
--- Function: \textbf{init-gui} [\textbf{extensions}] \textit{}
\begin{adjustwidth}{5em}{5em}
Dummy function used to autoload this file
not-documented
\end{adjustwidth}
\paragraph{}
......@@ -560,7 +560,7 @@ Create and return the pathname of a previously non-existent directory.
\paragraph{}
\label{EXTENSIONS:MAKE-TEMP-FILE}
\index{MAKE-TEMP-FILE}
--- Function: \textbf{make-temp-file} [\textbf{extensions}] \textit{}
--- Function: \textbf{make-temp-file} [\textbf{extensions}] \textit{\&key prefix suffix}
\begin{adjustwidth}{5em}{5em}
Create and return the pathname of a previously non-existent file.
......@@ -572,7 +572,7 @@ Create and return the pathname of a previously non-existent file.
--- Function: \textbf{make-weak-reference} [\textbf{extensions}] \textit{obj}
\begin{adjustwidth}{5em}{5em}
Creates a weak reference to 'obj'.
not-documented
\end{adjustwidth}
\paragraph{}
......@@ -639,6 +639,24 @@ not-documented
\end{adjustwidth}
\paragraph{}
\label{EXTENSIONS:OS-UNIX-P}
\index{OS-UNIX-P}
--- Function: \textbf{os-unix-p} [\textbf{extensions}] \textit{}
\begin{adjustwidth}{5em}{5em}
Is the underlying operating system some Unix variant?
\end{adjustwidth}
\paragraph{}
\label{EXTENSIONS:OS-WINDOWS-P}
\index{OS-WINDOWS-P}
--- Function: \textbf{os-windows-p} [\textbf{extensions}] \textit{}
\begin{adjustwidth}{5em}{5em}
Is the underlying operating system Microsoft Windows?
\end{adjustwidth}
\paragraph{}
\label{EXTENSIONS:PACKAGE-LOCAL-NICKNAMES}
\index{PACKAGE-LOCAL-NICKNAMES}
--- Function: \textbf{package-local-nicknames} [\textbf{extensions}] \textit{package}
......@@ -735,7 +753,7 @@ Returns either the function or NIL if no resolution was possible.
--- Function: \textbf{run-shell-command} [\textbf{extensions}] \textit{command \&key directory (output *standard-output*)}
\begin{adjustwidth}{5em}{5em}
Deprecated. Use SYS:RUN-PROGRAM.
not-documented
\end{adjustwidth}
\paragraph{}
......
......@@ -198,8 +198,7 @@ not-documented
--- Function: \textbf{java-exception-cause} [\textbf{java}] \textit{java-exception}
\begin{adjustwidth}{5em}{5em}
Returns the cause of JAVA-EXCEPTION. (The cause is the Java Throwable
object that caused JAVA-EXCEPTION to be signalled.)
not-documented
\end{adjustwidth}
\paragraph{}
......
......@@ -75,7 +75,7 @@ If INVERT? is non-nil than reverse the keys and values in the resulting hashtabl
--- Macro: \textbf{invoke-add-imports} [\textbf{jss}] \textit{}
\begin{adjustwidth}{5em}{5em}
not-documented
Push these imports onto the search path. If multiple, earlier in list take precedence
\end{adjustwidth}
\paragraph{}
......@@ -221,6 +221,14 @@ Return the elements of java.lang.Vector VECTOR as a list.
--- Macro: \textbf{with-constant-signature} [\textbf{jss}] \textit{}
\begin{adjustwidth}{5em}{5em}
not-documented
Expand all references to FNAME-JNAME-PAIRS in BODY into static function calls promising that the same function bound in the FNAME-JNAME-PAIRS will be invoked with the same argument signature.
FNAME-JNAME-PAIRS is a list of (symbol function \&optional raw)
elements where symbol will be the symbol bound to the method named by
the string function. If the optional parameter raw is non-nil, the
result will be the raw JVM object, uncoerced by the usual conventions.
Use this macro if you are making a lot of calls and
want to avoid the overhead of the dynamic dispatch.
\end{adjustwidth}
......@@ -993,6 +993,15 @@ not-documented
\end{adjustwidth}
\paragraph{}
\label{SYSTEM:CLASS-BYTES}
\index{CLASS-BYTES}
--- Function: \textbf{class-bytes} [\textbf{system}] \textit{class}
\begin{adjustwidth}{5em}{5em}
not-documented
\end{adjustwidth}
\paragraph{}
\label{SYSTEM:COERCE-TO-CONDITION}
\index{COERCE-TO-CONDITION}
--- Function: \textbf{coerce-to-condition} [\textbf{system}] \textit{datum arguments default-type fun-name}
......@@ -1110,6 +1119,15 @@ not-documented
\end{adjustwidth}
\paragraph{}