source: trunk/abcl/CHANGES @ 14903

Last change on this file since 14903 was 14903, checked in by Mark Evenson, 7 years ago

[PATCH 4/5] Runtime class improvements (ferada)

From faceaa2be78d92b6a6c43f5925fae926f9607bce Mon Sep 17 00:00:00 2001
Work in progress to get to a more functioning runtime class support.

Make static functions and :int parameters work.
Fix return conversion for null.
Ensure that the same classloader is used.

Because otherwise the name of the superclass couldn't be found as it's
not cached anywhere.

It would probably make sense to make the normal classloader a caching
one, so that custom classes can be found by other parts of the (Java)
system?

<http://abcl.org/trac/timeline/14903>

vc:reverts <http://abcl.org/trac/changeset/14882> ;
vc:restores <http://abcl.org/trac/changeset/14858> .

  • Property svn:eol-style set to native
File size: 55.5 KB
Line 
1Version 1.5.0
2=============
3<http://abcl.org/svn/trunk/>
4<http://gitlab.common-lisp.net/abcl/abcl/>
5<http://github.com/easye/abcl/>
6Unreleased
7
8Fixes
9-----
10
11* JNEW-RUNTIME-CLASS
12
13* Fix CL:OPEN for :DIRECTION :INPUT (pipping)
14
15Version 1.4.0
16=============
17<http://abcl.org/svn/tags/1.4.0/>
18<http://abcl.org/trac/changeset/14888>
1908-OCT-2016
20
21Enhancements
22============
23
24* Consolidated RUN-PROGRAM fixes (ferada, pipping)
25
26  In support of getting a more universal UIOP:RUN-PROGAM across all
27  contemporary Lisp implementations.
28
29* Upstream consolidated patchset (ferada)
30
31** [r14857] Support `FILE-POSITION` on string streams.
32** [r14859] Add multiple disassembler selector.
33** [r14860] Add EXTERNAL-ONLY option to APROPOS.
34** [r14861] Fix nested classes from JARs not visible with JSS.
35
36* [r14840-2] (Scott L. Burson) Introduced "time of time" semantics for
37  {encode,decode}-universal time.
38
39* EXTENSIONS:MAKE-TEMP-FILE now takes keyword arguments to
40  specify values of the prefix and suffix strings to the underlying
41  JVM implementation of java.io.File.createTempFile().
42
43* [r14849] EXT:OS-{UNIX,WINDOWS}-P now provide a pre-ASDF runtime check on hosting platform
44
45Fixes
46-----
47
48* [r14863] RandomCharacterFile (vibhu)
49
50* [r14839] (JSS) Ensure the interpolation of Java symbol names as strings (alan ruttenberg)
51
52* [r14889] Fix ANSI-TEST SXHASH.8 (dmiles)
53
54Updates
55------
56
57* [r14883] asdf-3.1.7.27
58
59* [r14849] jna-4.2.2
60
61Removed
62-------
63
64* [r14885] ASDF-INSTALL was removed
65
66
67Version 1.3.3
68=============
69http://abcl.org/svn/tags/1.3.3/
7018-SEP-2015
71
72Enhancements
73------------
74
75*  [r14802,r14813] Add character name for non-breaking space
76
77   Use a human readable name for character 160, #\No-break_space,
78   following sbcl, ccl and clisp. This permits the Quicklisp system
79   spinneret to load.  The #\No-break_space name is a valid
80   CHAR-NAME/NAME-CHAR pair, but is not emitted as a glyph under the
81   current output encoding under the CL:FORMAT "~:c" directive as
82   these implementations do by default.
83
84   Thanks to Javier Olaechea.
85
86Fixes
87-----
88
89* [r14808] CL:FILE-WRITE-DATE fixed for logical pathnames
90
91* ANSI-TEST
92
93** Update references to new git repository at
94   <git+https://gitlab.common-lisp.net/ansi-test/ansi-test.git>
95
96** ABCL now runs the git master consolidated ANSI-TEST suite which
97   features subdirectories and distinquished value for
98   *DEFAULT-PATHNAME-DEFAULTS*.
99
100** ABCL.TEST.ANSI:CLEAN-TESTS now acts recursively via appropiate
101   Pathname wildcards to match new directory structure.
102
103* ASDF
104
105  Fix COMPILE-SYSTEM to offer full ANSI environment for ASDF and
106  ABCL-CONTRIB.
107
108* ABCL-ASDF
109
110** Use of Maven has been robustified.
111
112*** [r14803] Fix usage with all known versions through maven-3.3.3
113
114   Addresses <http://abcl.org/trac/ticket/390>.
115
116*** [r14806] Fix usage with specifying local Maven repository
117
118** More complete attempt at re-initialization via
119
120        (ABCL-ASDF:INIT :force t)
121
122
123Version 1.3.2
124=============
125http://abcl.org/svn/tags/1.3.2/
12619-APR-2015
127
128Enhancements
129------------
130
131* Make result of DEFINE-MODIFY-MACRO available at compilation time
132  [r14727]
133
134
135Fixes
136-----
137* Fix failed AVER [#289] [r14763]
138
139* Fix incorrect dead code elimination
140
141  Additionally, don't recurse into flet/labels upon elimination of a
142  single labels function; simply continue by changing the applicable
143  set.  Reported by Vibhu Mohindra. [r14754][r14756]
144
145* Numeric tower repairs on promoting floats across representation
146  boundaries [r14749-50] (Massimiliano Ghilardi).
147
148* Return SIMPLE-ERROR for invalid external-format arguments.[r14735]
149
150* Lisp stack frame representation now formatted as unreadable. [r14738-9]
151
152Contrib
153-------
154
155* JSS
156
157** Fix GET-JAVA-FIELD and SET-JAVA-FIELD [r14718]
158
159** no longer error on NO-SUCH-JAVA-FIELD, by setting fields as
160   accessible where necessary [r14715] [r14725]
161
162* ABCL-ASDF
163
164** Update to current Maven support (keep up with changing APIs through
165   the Maven 3.2.3-3.2.5 hysteresis) [r14742-7] (Cyrus Hamon).
166
167** Special-case JNA artifacts with alternate network location [r14733]
168
169** Further work on ABCL-ASDF:RESOLVE [r14732] (Cyrus Hamon)
170
171** Find Maven under FreeBSD ports [r14723], under OS X Homebrew [r14776]
172
173
174* ABCL-JAR
175
176** Fix ASDF-JAR:PACKAGE [#376] [r14717][r14720][r14736] (Eduardo Bellani)
177
178*  ASDF
179
180** Updated to version 3.1.4.
181
182
183Version 1.3.1
184=============
185http://abcl.org/svn/tags/1.3.1/
18630-APR-2014
187
188## Fixed
189
190*  The underlying Java Function Interface (JFI) now converts CL:T and
191   CL:NIL to JAVA:+TRUE+ and JAVA:+FALSE+.  Users who wish to
192   reference a JAVA:+NULL+ should do so explicitly.
193   <http://abcl.org/trac/changeset/14694>
194
195*  Make JCALL work in more places.  Thanks to Olof-Joachim Frahm.
196   <http://abcl.org/trac/changeset/14683>
197
198*  Interpolate CL:SLEEP and THREADS:OBJECT-WAIT for timeouts below the
199   Planck timer ("1ns") to a nanosecond.
200   <http://abcl.org/trac/changeset/14679>
201
202*  Update to ASDF 3.1.0.103.
203   <http://abcl.org/trac/changeset/14661>
204
205   Fixes loading of Ironclad and other Quicklisp systems.
206
207*  Fix Uniform Naming Convention (aka "UNC" or "network") paths under Windows.
208   <http://abcl.org/trac/changeset/14659>
209
210   DIRECTORY now works again on UNC paths.
211
212   UNC paths may be either specified with either back slash (#\\) or
213   forward slash (#\/) doubled as the first character in a Pathname
214   namestring.
215
216   The patterns in
217
218        //<server>/<share>/[directories-and-files]
219
220   are parsed as
221
222    <server> is stored as HOST.
223
224    <share> is stored as DEVICE.
225
226    [directories-and-files] gets parsed as per the normal rules under
227    Windows.
228
229   Mixing namestrings with both backslash and slash characters can
230   lead to unpredictable results.  It is recommended not to use
231   backslash characters in namestrings if it can be avoided.  The
232   pathname printed representation is always normalized to using
233   forward slash delimiters.
234
235
236*  Find contrib based on system jar name.
237   <http://abcl.org/trac/changeset/14657>
238
239   From Olof-Joachim Frahm.
240
241
242Version 1.3.0
243=============
244http://abcl.org/svn/tags/1.3.0/
24515-MAR-2014
246
247## Features
248
249*  Make LispStackFrame.UNAVAILABLE_ARG a singleton object,
250   and lazily create the little used portions of the Lisp stack.
251
252    Aggressively cache and control the use of memory by the underlying
253    Lisp stack frame representation by introducing the private
254    LispThread.StackFrame and LispThread.StackSegments classes.
255
256    Contributed by Dmitry Nadezhin.
257
258    LispStackFrame object are allocated on every
259    LispThread.execute(...) .  However, they are seldom [accessed]
260    ([... verify via] inspect[tion of the] stack trace). This patch
261    delays allocation of LispStackFrame? objects until they are
262    requested.  Raw information about stack frames is stored in
263    stack. Stack is an Object[] array (more precisely a list of [...]4
264    [Mib] Object[] arrays).
265
266    ME: We are going to need a way to try to less agressively grab 4Mib
267    chunks in low memory situations.
268
269    Memory profiling of ABCL shows that the classes with largest
270    allocation count are org.armedbear.lisp.LispStackFrame and
271    org.armedbear.lisp.LispStackFrame.UnavailableArgument.
272
273    Contributed by Dmitry Nadezhin.
274
275    [r14572]: http://abcl.org/trac/changeset/14572
276    [r14579]: http://abcl.org/trac/changeset/14579
277
278*  ASDF 3.0.1.94 shipped with the implementation
279
280*  per function call stack and memory exception handler in CL:COMPILE
281
282   Inline calls to jrun-exception-protected (used by handler-bind to
283   catch out of memory conditions).  This commit saves generation
284   roughly 50 cls files.
285
286   [r14552]: http://abcl.org/trac/changeset/14552
287
288*  SYS:SHA256 audited
289
290    The functionality if the SYS:SHA256 algorithim has been audited for
291    use on inputs of single for files with recently shipping ORCL Java 7
292    implementations (through jdk-1.7.0_51).
293
294    [r14582]:  http://abcl.org/trac/changeset/14582
295
296* Connect to NetBeans controlled JDWP via SLIME
297
298    The Netbeans IDE configuration now includes a way to connect to
299    the running-under-jdb ABCL via SLIME.  One needs a version of
300    SLIME able to be loaded from its 'swank.asd' definition. 
301
302* Install 'abcl.jar' and 'abcl-contrib.jar' locally as Maven artifacts
303
304    The Ant `abcl.mvn.install` target now installs build artifacts
305    into the local Maven repository (Olof-Joachim Frahm)
306
307    [r14579]: http://abcl.org/trac/changeset/14606
308
309## Compatibility
310
311*  CL:DIRECTORY
312
313   The implementation specific :RESOLVE-SYMLINKS argument to the ANSI
314   DIRECTORY function has been changed to nil.  This implements
315   behavior closer to SBCL and guarantees that a DIRECTORY operation
316   will not signal a file error.
317
318   [r14619]: http://abcl.org/trac/changeset/14619
319   [ticket-340]: http://abcl.org/trac/ticket/340
320
321## Fixes
322
323*  Fix CL:SLEEP for intervals less than a millisecond. 
324
325   For intervals less than or equal to a nanosecond, including an
326   interval of zero, the current thread merely yields execution to
327   other threads.
328
329   [r14632]: http://abcl.org/trac/changeset/14632
330
331
332## Tested
333
334### "Java_HotSpot(TM)_64-Bit_Server_VM-Oracle_Corporation-1.7.0_51-b13" "x86_64-Mac_OS_X-10.9.1"
335
336### "Java_HotSpot(TM)_64-Bit_Server_VM-Oracle_Corporation-1.8.0-b129" "x86_64-Mac_OS_X-10.9.2"
337
338## Contrib
339
340#### abcl-asdf
341
342*  Now working with both Maven 3.0.x and 3.1.x.  Thanks to Anton for
343   the help!
344
345   [ticket-328]: http://abcl.org/trac/ticket/328
346
347*  cache Maven dependency resolution to avoid repeated lookups.
348
349   Instead of calling ABCL-ASDF:RESOLVE in both the ASDF COMPILE-OP
350   and LOAD-OP, we now cache the result of invocation in COMPILE-OP
351   and add this value in the LOAD-OP phase. Contributed by Cyrus
352   Harmon.
353
354   [r14631]: http://abcl.org/trac/changeset/14631
355
356#### jna
357 
358   Now references jna-4.0.0.  Some incompatibility with CFFI ([in
359   progress with fixing upstream][cffi-easye]).
360
361[cffi-easye]: http://github.com/easye/cffi/
362
363
364Version 1.2.1
365=============
366http//abcl.org/svn/tags/1.2.1/abcl/CHANGES
36727 June 2013
368http://abcl.org/releases/1.2.1
369
370*  Tested:  orcl-jdk-1.7.0_25 orcl-jdk-1.6.0_43
371
372** ansi tests rc-2 failing 11-13 of 21708 total. 
373   Some regressions since 1.1.1
374
375*  Stablility fixes; additional Quicklisp compatibility
376
377** Fix (make-instance 'standard-generic-function)
378
379
380Version 1.2.0
381=============
382svn.uri=:"http//abcl.org/svn/tags/1.2.0/"
383http//abcl.org/svn/tags/1.2.0/abcl/CHANGES
384released at ECLM 2013 Madrid, ES // 01 June 2013
385
386   * Package local nicknames to behave like SBCL
387
388   * ASDF 3.0.1 is now shipped with the implementation
389
390   * a more robust MOP implementation
391
392   * Common cases of creating purely synthetic JAVA:JNEW-RUNTIME-CLASS
393     now (mostly) work.  Please report corner cases for fixing.
394
395   * the system autoloader has been extended to cover functions bound to
396     symbol properties
397
398
399
400Version 1.1.1
401=============
402svn.uri=:"http://abcl.org/svn/tags/abcl/1.1.1/CHANGES"
403(14 Feburary 2013)
404
405  * All reported errors with the MOP implementation have been addressed.
406
407  * An autoloader for SETF expansion functions has been implemented,
408    eliminating the errors associated with not being able to use (SETF
409    SYMBOL) without first invoking SYMBOL as a function. [#266
410
411  * All outstanding regressions in the ANSI test suite with respect to
412    abcl-1.0.1 have been fixed.
413 
414  * The ability to resolve Maven components in ASDF system definitions has been restored.
415
416Issues Resolved
417---------------
418
419[#266]  PSETF.47 ANSI regression 
420[#284]  checks in ensure-generic-function-using-class should occur later
421[#296]  SLIME fails to initialize with (SETF DOCUMENTATION) undefined   
422[#198]  Hunchentoot run failure   
423[#228]  Need to implement autoloader facility for SETF functions
424[#288]  Control character names   
425[#290]  Compiling (defvar *foo* '(quote . x)) throws an error
426[#293]  Loop and default value for of-type problem 
427[#294]  Reader doesn't recognize terminating characters in some cases
428[#299]  ABCL-ASDF:MVN components not loading
429
430Version 1.1.0
431=============
432svn.uri=:"http://abcl.org/svn/tags/1.1.0/abcl/"
433(07 December 2012)
434
435Features
436--------
437
438  *  A functioning (A)MOP implementation through the hard work of Rudi
439     Schlatte (@rudi)
440
441  *  The implementation can be used across many more Quicklisp systems
442     through a process of extensive testing.  Thanks @xach!
443
444     Nota bene: all of the following systems need patches to work as
445     of the 2012-10-13 Quicklisp.  All patches have been accepted in
446     at least an initial form by the upstream maintainers.
447
448     ** CLOSER-MOP
449        Quite possible with local patches
450     ** CFFI
451       Needs patches to 2012-10-13 Quicklisp.  [!!?]
452       *** Dynamic interfaces idempotent across process -- no more reloading
453     ** HUNCHENTOOT
454       *** some bugs with underlying streams to be fixed in abcl-1.2-dev
455     ** CXML
456        Basic XML parsing works.  XPath still borked. [???]     
457  *  Java 5 bytecode Compiler
458
459     The internal Lisp-to-Java bytecode compiler has been hardened by
460     regression testing across Quicklisp libraries. 
461
462     **  Extensive interpreter/compiler bug fixes due to access to cl-test-suite [???] @antov
463     ** large objects (?!?)
464
465  *  The facility to construct runtime classes via JNEW-RUNTIME-CLASS (@astalla)
466
467    Pretty close to full coverage of primtives for creating synthethic
468    java classes at runtime.  Easy to extend with your needs; sensible
469    defaults.
470 
471    ** Fields
472    *** getter/setters
473    ** Annotations
474
475
476  * ASDF
477
478     ** Stock ASDF-2.26.6 which includes #+abcl conditional patches
479        for the URL-PATHAME and JAR-PATHNAME implementation extensions
480        to ANSI.
481
482  *  ABCL-CONTRIB
483
484     ** ABCL-ASDF
485
486        Network installation of binary artifacts named by Maven POM uris.
487
488        *** checks at runtime if a given class is present in the
489            accessible classloaders
490
491        *** If the check for the presence of a class fails, find a
492            maven-3.0.4 binary locally, execute its Aether connector
493            to retrieve its transitive dependencies from the network.
494
495      ** JSS
496         
497         Java Syntax Sucks.  q.v [lsw2]
498   
499         Extensive bugfixing wrt. method resolution [#229]
500
501      ** JFLI
502
503         A "captured from the wild" version of what @rich.hickey did before Clojure.
504       
505Changes
506-------
507
508  * [#249] PATHNAME merge semantics DWIMs on an inferred type
509
510  Extends ANSI PATHNAME in a non-conforming manner, which was probably
511  already the case.
512
513  * [r13695] Reimplementation of global symbol macros to avoid using
514    the symbol's value slot.
515
516  * [r13696] DEFMACRO now supports documentation strings as per the
517    ANSI specification.
518
519  * [r13700] ABCL loads under the Weblogic 10.3 application server.
520
521  * [r13768] [#193] Allow zero-length symbols
522 
523  * [r13785] JNEW-RUNTIME-CLASS gets fields and annotations
524 
525  * [r13790] JNEW-RUNTIME-CLASS getters/setters for fields
526
527  * [r13796] [r13797] N3 DOAP description for ABCL
528
529  * [r13803] Build target 'abcl-contrib.jar' packages ABCL-CONTRIB
530
531Fixes
532-----
533
534  * ANSI [#241]
535 
536     ** &AUX parameters fixes RESTAS
537
538   
539  * [#221] Stack exhaustsion on funcall in non-existing package
540
541  * [#113] DEFSTRUCT concurrency
542
543  * [#216][#211] Compiler
544
545    ** stack inconsistency
546
547  * [#187] Better SORT and STABLE-SORT via Jorge Tavares [???]
548
549Issues Resolved
550---------------
551
552    * [#234]    ABCL-ASDF mvn errors with VERSION slot unbound 
553    * [#237]    JNA fails to load blocking CFFI
554    * [#249]    Problems under Ubuntu   
555    * [#250]    SYS:SHA256 does not compile     
556    * [#265]    COMPILE-FILE.2 COMPILE-FILE.2A ANSI regression 
557    * [#268]    ABCL-ASDF working with maven-3.0.3     
558    * [#269]    SLIME cannot browse systems with November Quicklisp     
559    * [#270]    Is BUGS.DEFEGENERIC.1 a valid test?     
560    * [#271]    ASDF-2.26 changes synced upstream
561    * [#272]    DESCRIBE.[14] ANSI regression   rschlatte       
562    * [#275]    ABCL-CONTRIB still provided if abcl-contrib.jar cannot be located       
563    * [#276]    defmethod doesn't call add-method       
564    * [#277]    reinitialize-instance on class metaobjects incorrect
565    * [#113]    DEFSTRUCT redefinition can crash ABCL on MAKE-STRUCT
566    * [#199]    CL:DEFMETHOD fails for &AUX arguments that reference other arguments   
567    * [#213]    ABCL-ASDF breakage on trunk     
568    * [#215]    ABCL-ASDF:RESOLVE should work in more (some?) cases     
569    * [#229]    JSS method resolution failure   
570    * [#246]    CFFI: dynamically generated classes referred from .fasl can not be found after ABCL restart
571    * [#168]    Compilation fails for quicklisp let-plus       
572    * [#187]    Stack Overflow for Worst-case Vector Sort       
573    * [#202]    ENSURE-GENERIC-FUNCTION assumes LAMBDA-LIST is NIL
574    * [#204]    abcl-asdf maybe-parse-mvn ignores version information
575    * [#205]    JSS logic for resolving methods a little wonky (could use better diagnostics on why resolution has failed)     
576    * [#207]    DECLARE should signal conditions when type declarations are violated
577    * [#210]    Add JFLI to contrib     
578    * [#217]    ANSI tests wont run on Revision 14011: /trunk/abcl     
579    * [#219]    Keyword argument checking for lambda lists is too lenient for ANSI     
580    * [#220]    Lambda list checking too lenient       
581    * [#224]    Autoloader fails when *read-XXXX* variables bound to non-standard values       
582    * [#225]    One of the paths in STD-COMPUTE-DISCRIMINATING function not working     
583    * [#235]    Compiled cl+ssl sources not reloadable 
584    * [#241]    &rest and &aux can't coexist anymore in lambda lists   
585    * [#243]    ClassCastException in MAKE-PATHNAME     
586    * [#245]    Slots of a class with a custom meta-class are reported as unbound.     
587    * [#247]    CFFI: $Proxy3 is not assignable to com.sun.jna.Pointer 
588    * [#252]    MOP rework broke profiler?     
589    * [#254]    Cannot load ASDF systems in jar archives with ASDF-BINARY-LOCATIONS-COMPATIBILTY enabled
590    * [#255]    ASDF file encoding specification doesn't work   
591    * [#263]    loading systems from abcl-contrib fails if CLASSPATH has a component with wildcard
592    * [#264]    abcl-asdf.asd broken since revision 14233
593    * [#60      ]Implement USE-FAST-CALLS properly
594    * [#130]    "SLIME under Windows has ""extra"" CRLF"       
595    * [#172]    DOCUMENTATION does not work for generic functions       
596    * [#174]    Conformance bug in time implementation when using SLIME
597    * [#175]    abcl.release target fails occasionally  unassigned     
598    * [#189]    Compiler fails for 'unsigned-byte type declaration     
599    * [#201]    &WHOLE broken in DEFINE-METHOD-COMBINATION     
600    * [#206]    COMPILER-UNSUPPORTED-FEATURE-ERROR is derived from CONDITION, rather than from ERROR   
601    * [#208]    "Files loaded via ""--load <FILE>"" on the command line have no pathname defaults"     
602    * [#211]    closure-common fails to load correctly after compilation       
603    * [#214]    Stack overflow when compiler macro with fallback is triggered   
604    * [#232]    Allow wrapper script to reference install directory instead of build directory
605    * [#192]    ASDF::IMPLEMENTATION-IDENTIFIER contains ABCL build environment identifier
606    * [#195]    prompt is displayed twice when evaluating NIL at the REPL
607
608Version 1.0.1
609==============
610svn.uri=:"http://abcl.org/svn/tags/1.0.1/abcl/"
611(09 January 2012)
612
613Changes
614-------
615
616  * Updated ASDF to 2.019
617
618  * User Manual now contains more polished formating from docstring
619    groveling, an index of symbols, and additional enhancements.
620
621  * 'abcl.properties.in' now contains examples of optimizing the ABCL
622    wrapper script for 64bit instances for Java7 and for Java6. 
623
624  * [r13720] Randomize string hash computation to guard against
625    exploits.
626
627  * [r13723] New internal API in Package.java for looking up internal
628    vs. external symbols.
629
630Fixes
631-----
632
633  * [#181][r13718] The implementation now correctly loads ASDF definitions
634    from jar archives.  This had prevented the ABCL-CONTRIB loading
635    mechanism from working.
636
637  * [#177] Made the mechanism for locating the abcl-contrib archive
638    more robust
639
640  * [#177] LIST-DIRECTORY no longer ignores :RESOLVE-SYMLINKS
641
642  * [r13706] Fix Streadm.readToken() bug reported by Blake McBride.
643
644  * [#183][r13703] Move threads-jss.lisp out of system source to
645    restore conditional recompilation logic.
646
647
648Version 1.0.0
649==============
650svn.uri=:"http://abcl.org/svn/tags/1.0.0/abcl/"
651released at the European Common Lisp Meeting Amsterdam 2011
652(22 October 2011)
653
654
655Features
656--------
657
658 * (Draft) manual
659
660 * Much better Quicklisp system capabilities (trivial-garbage,
661 bordeaux-threads, parenscript, cxml, et. al.)
662
663Changes
664-------
665
666 * Updated ASDF to 2.017.22
667
668Fixes
669-----
670
671 * CLOSURE-HTML now compiles
672
673 * DEFINE-METHOD-COMBINATION long form implemented
674
675
676Version 0.27.0
677==============
678svn.uri="http://abcl.org/svn/tags/0.27.0/"
679
680
681Features
682--------
683
684 * ABCL works as an SBCL build host
685
686 * Huge (> 64k) literal object support (fixes CL-UNICODE support)
687
688 * The ABCL-ASDF contrib allows the specification of JAR-FILE or
689   JAR-DIRECTORY components that can be resolved via a PATHNAME.  The
690   MVN component bootstraps a Maven3 Aether connector to locally
691   replicate a versioned jar artifact for dynamic inclusion in the
692   CLASSPATH.
693
694Changes
695-------
696
697 * Renamed LispObject.writeToString() method to (more Lispy) printObject()
698
699 * New LispObject.princToString() for user readable output
700
701 * Changed behaviour of LispObject.unreadableString() to signal
702   errors when *PRINT-READABLY* is non-NIL
703
704 * Static initializers moved to <clinit>() (java: static { }) to
705   prevent repeated execution when invoking the constructor multiple times
706
707 * Compiler clean-ups
708
709 * Changed implementation of LABELS to eliminate the need
710   to *always* create a closure
711
712 * File compiler (COMPILE-FILE) clean-ups
713
714 * When calling a function with the wrong number of arguments,
715   report the expected (range) of arguments
716
717 * Upgraded ASDF to 2.017
718
719 * JSS:JLIST-TO-LIST now converts any java.list.List to a Lisp list.
720
721 * The ASDF extensions from JSS for the "jar-directory", "jar-file",
722   and "class-file-directory" types have been refactored into the
723   ABCL-ASDF contrib as well as the *ADDED-TO-CLASSPATH* variable
724   which records dynamically added dependencies.  Use the
725   JSS:ENSURE-COMPATIBILITY function to have JSS include these
726   dependencies. 
727
728*  As long as ABCL-ASDF:ENSURE-MVN-VERSION can dynamically introspect
729   and then load Maven 3 libraries at runtime, ASDF components of type
730   MVN can now be used to specify versioned JVM artifacts.
731
732 * Threads spawned by THREADS:MAKE-THREAD can terminate the Lisp image
733   via the EXT:QUIT and EXT:EXIT functions.
734
735
736Fixes
737-----
738
739 * MULTIPLE-VALUE-PROG1.10 (ansi test) fixed
740
741 * [ticket #148] READTABLE-CASE :INVERT doesn't work for uninterned symbols
742
743 * [ticket #161] READTABLE-CASE of current readtable affects FASL content
744
745 * [ticket #162] Non-symbol in variable position of SETQ form causes
746   class verification failure
747
748 * [ticket #163] Local functions shadow global macro and function bindings
749   (fixes PARENSCRIPT support)
750
751 * [ticket 158] Readable printing of the string "#<abc>" does not signal
752   a PRINT-NOT-READABLE error anymore
753
754 * Fixed SYNTAX.SHARP-BACKSLASH.6 and SYNTAX.SHARP-BACKSLASH.7
755
756 * Fixed many PPRINT.* test suite failures
757
758 * [ticket #151] LOAD fails for whitespace in JAR-PATHNAME
759
760
761Version 0.26.2
762==============
763http://abcl.org/svn/tags/0.26.2/abcl
764(14 August 2011)
765
766Features
767--------
768  * Enable compilation with Java 7
769
770Fixes
771-----
772  * Fix loading from fasls under Windows with whitespace in pathname.
773
774  * Fix #131: Don't include ':' in the version string.
775
776  * Fix #141: SETF of APPLY not working with arbitrary function.
777
778  * Include filename in the error string being reported.
779
780  * Include the test source in the release.
781
782  * Include ASDF definition in source release.
783 
784
785Version 0.26.1
786==============
787http://abcl.org/svn/tags/0.26.1/abcl
788(27 July 2011)
789
790Features
791--------
792
793 * Upgrade ASDF to 2.017.
794
795Fixes
796-----
797
798 * Fix compilation problems by including the
799   org.armedbear.lisp.protocol source in the build process
800
801 * Printing of conditions defined with DEFINE-CONDITION
802
803 * Regression with failing SYNTAX.SHARP-BACKSLASH.6
804   and SYNTAX.SHARP-BACKSLASH.7 ANSI test suite failures
805
806 * Multiple failures in PPRINT.* ANSI test suite failures
807
808 * String interop with Java for strings with fill pointer
809
810 * Made #\Uxxxx a synonym for character codes with values greater than
811   255 on input, but never output as the character name by the
812   implementation.
813
814Version 0.26.0
815==============
816http://abcl.org/svn/tags/0.26.0/abcl
817(10 July 2011)
818
819Features
820--------
821
822 * Add support for weak reference objects
823
824 * Add support for finalizers on LispObject derived classes
825
826 * Upgrade ASDF to 2.0.16.1
827
828 * #\ reader macro now understands #\uNNNN as unicode codepoints
829
830 * JAVA:JRESOLVE-METHOD returns same method as would have been
831   called by JAVA:JCALL with the same arguments
832
833 * Ant 'update' target to upload application to Google App Engine
834
835 * Simple RUN-PROGRAM implementation
836
837 * Support for custom slot definitions according to AMOP
838
839 * New JAVA:*JAVA-OBJECT-TO-STRING-LENGTH* variable to control pretty
840   printing of Java objects
841
842 * JSS - more dynamic Lisp/Java FFI - (http://lsw2.googlecode.com/svn/trunk)
843   imported
844
845 * (REQUIRE :ABCL-CONTRIB) adds 'abcl-contrib.jar' to the ASDF search path
846
847 * Support for weak references in hash tables through a :WEAKNESS keyword
848   argument to MAKE-HASH-TABLE; with SYS:HASH-TABLE-WEAKNESS for inspection
849
850 * Support for loading ASDF systems from JAR archives
851
852 * Fast SHA1, SHA256 and SHA512 cryptographic hashes for files
853
854 * Beginnings of a manual
855
856 * ABCL/ASDF integration with Maven provided systems
857
858 * ASDF-JAR:PACKAGE function to package ASDF systems into JARs
859
860Changes
861=======
862
863 * Reduced code size in the compiler by changing COMPILE-TEST-FORM
864
865 * Enhanced SLIME inspector for JAVA:JAVA-OBJECT
866
867 * Reimplemented MERGE-PATHNAMES
868
869 * TRANSLATE-PATHNAME aligned with SBCL's behaviour if version is wild
870
871 * Removed PRINT-OBJECT methods duplicating Java side code
872
873 * Refactored code in SYSTEM:ZIP function
874
875 * Allow JCOERCE to convert any number to java.lang.Byte (using
876   its two's complement)
877
878 * Replace MAKE-IMMEDIATE-OBJECT with +NULL+, +TRUE+ and +FALSE+ constants
879   (the only supported ones)
880
881 * Better separation between java-collections package and Java FFI
882
883 * JAVA:ADD-TO-CLASSPATH is now a generic function
884
885Fixes
886=====
887
888 * Google App Engine example fixed
889
890 * MAKE-PATHNAME erroneously merges directories as in MERGE-PATHNAME
891
892 * Pretty printer routines using SYS:OUTPUT-OBJECT with GRAY-STREAM
893
894 * Value of *PRINT-CASE* affects file (to FASL) compilation
895
896 * MAKE-PATHNAME ignores version in :DEFAULTS
897
898 * URI decoding algorithm in Pathname.java
899
900 * JNEW-ARRAY-FROM-ARRAY should create byte[] arrays
901
902Version 0.25.0
903==============
904http://abcl.org/svn/tags/0.25.0/abcl
905(10 March 2011)
906
907Features
908--------
909
910* Add :resolve-symlinks keyword argument for DIRECTORY.
911
912* Support -- as a command line parameter for the REPL.
913
914* Preliminary support for Maven deployment.
915
916* Add an initargs cache for speedups in check-initargs. This should
917  make the initarg checking in CLOS quite a bit faster.
918
919* Incorporate output of 'svnversion' into LISP-IMPLEMENTATION-VERSION.
920
921* Ant target for generating Javadoc.
922
923Fixes
924-----
925
926* [svn r13229] Remove non-existing THREAD-LOCK and THREAD-UNLOCK from autoloads.
927
928* [svn 13228] Fix incorrect elimination of named local functions
929  declared inline when they're actually reified in the flet/labels body.
930
931* [svn r13217] Forward-referenced classes work properly now.
932
933* [svn r13209] Add initarg checking to REINITIALIZE-INSTANCE.
934
935* [svn r13204] FINALIZE-INHERITANCE is (more) AMOP compatible.
936
937* [svn r13203] Create ATOMIC-DEFGENERIC macro, in order to eliminate
938  FMAKUNBOUND calls and the resulting windows where no function is bound to
939  symbols which are the most essential building blocks in CLOS/AMOP.
940
941* [svn r13200] Atomically swap generic functions into place of temporary
942  DEFUNs for all standard-class slot accessors.
943  Note: This addresses the recursive requirement to be able
944  to allocate objects and classes while changing the functions
945  used to create them.
946
947* [svn r13196] Provide more context regarding the reason of autoloading.
948  Note: This change *hugely* helps debugging.
949
950* [svn r13189] Fix MACROEXPAND-ALL autoloader which should be
951  loaded from 'format.lisp'.
952
953* [svn r13188] Fix DEFSTRUCT trying to generate accessors named NIL
954
955* [svn r13187] Fix #125: FASL reader should not convert symbol
956  case [Qi FASL loading issues].
957
958* [svn r13185] Fix #119: Incorrect dynamic environment for
959  evaluation of :CLASS allocation slot initforms.
960
961* [svn r13182-r13184] Fix error printing issues.
962
963* [svn r13181] Increase autoload verbosity: include FASLs too
964  (not only Java classes).
965
966Changes
967-------
968
969* Merge 'unsafe-p-removal' branch.
970
971Version 0.24.0
972==============
973http://abcl.org/svn/tags/0.24.0/abcl
974(22 January 2011)
975
976Features
977--------
978
979* [svn r130103-r13107] Implemented JNULL_REF_P to distinguish a
980  JAVA-OBJECT which contains a Java "null" from the Lisp NIL.
981
982* [svn r13102] More type-conversion helpers in JAVA package:
983  LIST-FROM-JARRAY, VECTOR-FROM-JARRAY, and LIST-FROM-JENUMERATION.
984
985* [svn r13078] JVM::MAKE-CLASS-INTERFACE-FILE provides an interface
986  for the creation of Java interfaces as serialized by the new
987  classwriter code.  An example of use can be found in
988  "examples/misc/dynamic-interfaces.lisp".
989
990* [svn r13087] Upgraded to ASDF-2.012
991
992
993Fixes
994-----
995
996* [svn r13135] Fix the problem that FASLs can contain
997  a limited number of functions.
998
999* [svn r13117][ticket #117] Fix stack inconsistency error.
1000
1001* [svn r13018][ticket #114] Fix strange backtrace growth.
1002
1003* [svn r13105] Fix Pathname.java failing to find boot.lisp in an
1004  "unpacked JAR" situation found by running ABCL in the Glassfish v3
1005  servlet container.
1006
1007* [svn r13096] For arrays, add initialization with the default value
1008  of the element type if neither INITIAL-ELEMENT nor INITIAL-CONTENT
1009  have been specified.  Found by: dmalves_ (freenode irc nick).
1010
1011* [svn r13094] Eliminate flushes after every character in
1012  javax.scripting support.
1013
1014* [svn r13090] Make --batch exit, use Lisp.exit() in places where
1015  applicable so that the streams are flushed, hence allowing --eval
1016  output to be flushed.
1017
1018* [svn r13088] Fix algorithim error in writing byte sequences via
1019  RandomAccessCharacterFile.  Found and fixed by David Kirkman.
1020
1021
1022Changes
1023-------
1024
1025* [svn r13141-13146,13156] Make ABCL a well behaving library to better
1026  support embedding: NEVER call System.exit() again.  Instead, ABCL now
1027  throws org.armedbear.lisp.ProcessingTerminated and
1028  org.armedbear.lisp.IntegrityError.
1029
1030* [svn r13111] Added a "tools" directory available in SVN repository
1031  to contain tools for developing ABCL in various states.  The first
1032  inhabitant is 'code-grapher.lisp' that provides a prototype to
1033  diagram a JVM instruction sequence via graphviz.
1034
1035* [svn r13101] Reduced verbosity of the AbclScriptEngine.
1036
1037* [svn r13097-13100] Slight refactoring of PATHNAME code, further
1038  specifying URI escaping rules.
1039
1040* [svn r13091-2] Better error reporting for UnhandledCondition thrown
1041  from the Interpreter, storing the originating Java error in the
1042  "cause" field if the cause is a subclass of JAVA_EXCEPTION.
1043
1044
1045Version 0.23.1
1046==============
1047http://abcl.org/svn/tags/0.23.1/abcl
1048(01 December 2010)
1049
1050Fixes
1051-----
1052
1053* [svn r13509-10] Allow JSR-223 clients to query ABCL metadata without
1054  incurring the entire interpreter startup time.
1055
1056* [svn r13506] Fix probles with loading FASLs in directories
1057  containing whitespace characters.
1058 
1059  We now require all PATHNAME objects constructed via a namestring
1060  containing the "file" scheme to be URI encoded according to
1061  RFC3986. 
1062
1063
1064Version 0.23
1065============
1066http://abcl.org/svn/tags/0.23.0/abcl
1067(25 November, 2010)
1068
1069Features
1070--------
1071
1072* [svn r12986] Update to ASDF 2.010.1
1073
1074* [svn r12982] Experimental support for the long form
1075     of DEFINE-METHOD-COMBINATION
1076
1077* [svn r12994] New java-interop macros: CHAIN and JMETHOD-LET
1078
1079* [svn r13030-31,r13034] ASDF-INSTALL improvements: Ensure that the
1080     ASDF registry contains the ASDF-INSTALL locations.  Better
1081     resolution mechanism for 'gpg' binary.
1082
1083Fixes
1084-----
1085
1086* [svn r13039] Restore the Lisp-based build
1087
1088* [ticket #108][svn r13027] Fix download problems with ASDF-INSTALL
1089
1090* [svn r12995-12997] Changes to generated byte code to prevent JRockit JVM
1091     from crashing when optimizing it
1092
1093* Various fixes in order to complete the Maxima test suite without failures
1094
1095* [ticket #98] THREAD type specifier not exported from the THREADS package
1096
1097* [svn r12946] Fix CLOS thread-safety
1098
1099* [svn r12930] Fix non-constantness of constant symbols when using SET
1100
1101* [svn r12929] Don't throw conditions on floating point underflow
1102    (fixes Maxima failures)
1103
1104* [svn r12928] Fix for Java-collections-as-lisp-sequences support
1105
1106* [svn r12927] Fix for regression to moved threads related symbols
1107
1108* [ticket #104] SET changes value of symbols defined with DEFCONSTANT
1109
1110* [ticket #88] Need a predicate to indicate source of compiled version
1111      ie Java vs Lisp
1112
1113* [ticket #106] DEFSTRUCT :include with :conc-name creating overwriting
1114      inherited slot accessors
1115
1116* [ticket #97] Symbol imported in multiple packages reported multiple
1117      times by APROPOS
1118
1119* [ticket #107] Incorrect compilation of (SETF STRUCTURE-REF) expansion
1120
1121* [ticket #105] DIRECTORY ignores :WILD-INFERIORS
1122
1123Other
1124-----
1125
1126* [svn r12918] Compiler byte code generator cleanup: introduction
1127      of generic class file writer, elimination of special purpose code
1128      in the compiler.
1129
1130* Number of hashtable implementations reduced to 1 (from 5)
1131
1132* Reduced use of 'synchronized' global hash table access by using
1133      the java.util.concurrent package
1134
1135Version 0.22
1136============
1137http://abcl.org/svn/tags/0.22.0/abcl
1138(September 24, 2010)
1139
1140Fixes
1141-----
1142
1143* [svn r12902] Fix reading data with scandinavian latin1 characters
1144
1145* [svn r12906] Respect the CLASSPATH environment variable in the
1146  abcl wrapper scripts
1147
1148* [ticket #103] DOCUMENTATION not autoloaded
1149
1150Other
1151-----
1152
1153* [svn r12819] Until-0.22-compatibility hacks (in threads support) removed
1154
1155
1156
1157Version 0.21
1158============
1159http://abcl.org/svn/tags/0.21.0/abcl
1160(July 24, 2010)
1161
1162
1163Features
1164--------
1165
1166* [svn r12818] Update to ASDF 2.004
1167
1168* [svn r12738-805] Support for custom CLOS slot definitions and
1169  custom class options.
1170
1171* [svn r12756] slot-* functions work on structures too.
1172
1173* [svn r12774] Improved Java integration: jmake-proxy can implement
1174  more than one interface.
1175
1176* [svn r12773] Improved Java integration: functions to dynamically
1177  manipulate the classpath.
1178
1179* [svn r12755] Improved Java integration: CL:STRING can convert Java
1180  strings to Lisp strings.
1181
1182Fixes
1183-----
1184
1185* [svn 12809-10-20] Various printing fixes.
1186
1187* [svn 12804] Fixed elimination of unused local functions shadowed by macrolet.
1188
1189* [svn r12798-803] Fixed pathname serialization across OSes.
1190  On Windows pathnames are always printed with forward slashes,
1191  but can still be read with backslashes.
1192
1193* [svn r12740] Make JSR-223 classes compilable with Java 1.5
1194
1195Other
1196-----
1197
1198* [svn r12754] Changed class file generation and FASL loading
1199  to minimize reflection.
1200
1201* [svn r12734] A minimal Swing GUI Console with a REPL
1202  is now included with ABCL.
1203
1204Version 0.20
1205============
1206http://abcl.org/svn/tags/0.20.0/abcl
1207(24 May, 2010)
1208
1209
1210Features
1211--------
1212
1213* [svn r12576] Support for CLOS METACLASS feature.
1214
1215* [svn r12591-602] Consolidation of copy/paste code in the readers.
1216
1217* [svn r12619] Update to ASDF2 (specifically to ASDF 1.719).
1218
1219* [svn r12620] Use interpreted function in FASL when compilation fails.
1220
1221* [ticket #95] PATHNAME-JAR and PATHNAME-URL subtypes now handle jar
1222  and URL references working for OPEN, LOAD, PROBE-FILE,
1223  FILE-WRITE-DATE, DIRECTORY, et. al.
1224
1225* Many small speed improvements (by marking functions 'final').
1226
1227* [ticket #91] Threads started through MAKE-THREAD now have a
1228    thread-termination restart available in their debugger.
1229
1230* [svn r12663] JCLASS supports an optional class-loader argument.
1231
1232* [svn r12634] THREADS:THREAD-JOIN implemented.
1233
1234* [svn r12671] Site specific initialization code can be included in
1235  builds via the 'abcl.startup.file' Ant property.
1236
1237Fixes
1238-----
1239
1240* [ticket #89] Inlining of READ-LINE broken when the return value
1241    is unused.
1242
1243* [svn r12636] Java class verification error when compiling PROGV
1244    in a context wanting an unboxed return value (typically a
1245    logical expression).
1246
1247* [svn r12635] ABCL loads stale fasls instead of updated source
1248    even when LOAD is called with a file name without extension.
1249
1250* [ticket #92] Codepoints between #xD800 and #xDFFF are incorrectly
1251    returned as characters from CODE-CHAR.
1252
1253* [ticket #93] Reader doesn't handle zero returned values from
1254    macro functions correctly.
1255
1256* [ticket #79] Different, yet similarly named, uninterned symbols
1257    are incorrectly coalesced into the same object in a fasl.
1258
1259* [ticket #86] No restarts available to kill a thread, if none
1260    bound by user code.
1261
1262* [svn r12586] Increased function dispatch speed by eliminating
1263    FIND-CLASS calls (replacing them by constant references).
1264
1265* [svn r12656] PATHNAME-JAR now properly uses HTTP/1.1 HEAD requests
1266  to detect if remote resource has been changed.
1267
1268* [svn r12643] PATHNAME-JAR now properly references Windows drive
1269    letters on DEVICE other than the default.
1270
1271* [svn r12621] Missing 'build-from-lisp.sh' referenced in README now
1272    included in source release.
1273
1274Other
1275-----
1276
1277* [svn r12581] LispCharacter() constructors made private, in favor
1278    of getInstance() for better re-use of pre-constructed characters.
1279
1280* [svn r12583] JAVA-CLASS reimplemented in Lisp.
1281
1282* [svn r12673] Load 'system.lisp' moved later in boot sequence so
1283    unhandled conditions drop to debugger.
1284
1285* [svn r12675] '--nosystem' commandline option inhibits loading of
1286    'system.lisp'.
1287
1288* [svn r12642] Under Windows, pathname TYPE components can now contain
1289    embedded periods iff they end in '.lnk' to support shortcuts.
1290
1291
1292Version 0.19
1293============
1294http://abcl.org/svn/trunk/abcl
1295(14 Mar, 2010)
1296
1297Features
1298--------
1299
1300* [svn r12518] *DISASSEMBLER* may now contain a hook which returns the
1301  command to disassemble compiled functions.
1302
1303* [svn r12516] An implementation of user-extensible sequences as
1304  proposed in Christopher Rhodes, "User-extensible sequences in Common
1305  Lisp", Proc. of the 2007 International Lisp Conference.
1306
1307* [svn r12513] Implement SYS:SRC and SYS:JAVA logical pathname
1308  translations for system Lisp source and the root of the Java package
1309  structure, respectively.
1310
1311* [svn r12505] All calls to anonymous functions and local functions that have
1312  been declared inline are now converted to LET* forms, reducing stack usage
1313  and the number of generated classes.
1314
1315* [svn r12487] An initial port ASDF-INSTALL now forms the first ABCL
1316  contrib.  Such contribs are optionally built by the Ant target
1317  'abcl.contrib'.  ASDF-INSTALL is not expected to work very well
1318  under Windows in its present state.
1319
1320* [svn r12447] [ticket:80] REQUIRE now searches for ASDF systems.
1321
1322* [svn r12422] Jar pathname support extensively re-worked and tested
1323  so that LOAD, PROBE-FILE, TRUENAME, DIRECTORY, and WRITE-FILE-DATE
1324  all work both for local and remote jar pathnames of the form
1325  "jar:URL!/JAR-ENTRY".
1326
1327  The loading ASDF systems from jar files is now possible.
1328
1329  SYS:PATHNAME-JAR-P predicate signals whether a pathname references a
1330  jar.
1331
1332  NB: jar pathnames do *not* currently work as an argument to OPEN.
1333
1334  SYS:UNZIP implemented to unpack ZIP files.
1335
1336  SYS:ZIP now has a three argument version for creating zip files with
1337  hierarchical entries.
1338
1339* [svn r12450] Collect unprocessed command-line arguments in
1340  EXT:*COMMAND-LINE-ARGUMENT-LIST* (Dennis Lambe Jr.)
1341
1342* [svn r12414] SYS::%GET-OUTPUT-STREAM-ARRAY returns a Lisp byte array
1343  from a Java byte array stream.
1344
1345* [svn 12402] ABCL.TEST.LISP:RUN-MATCHING will now execute that subset
1346  of tests which match a string.
1347
1348
1349Fixes/Optimizations
1350-------------------
1351
1352* [svn r12526] Unbinding of PROGV bound variables on local transfer
1353  of control (within-java-function jump targets)
1354
1355* [svn r12510] The new ansi-test WITH-STANDARD-IO-SYNTAX.23 passes.
1356  Our with-standard-io-syntax implementation now correctly resets all necessary
1357  pprint variables. Patch by Douglas R. Miles, thanks for the contribution!
1358
1359* [svn r12485] Pathnames starting with "." can now have TYPE.
1360
1361* [svn r12484] FASLs containing "." characters not used to indicate
1362  type (i.e. ".foo.bar.baz.abcl") can now be loaded.
1363
1364* [svn r12422] Pathname.java URL contructor under Windows now properly
1365  interprets the drive letter.
1366
1367* [svn r12449] The 'abcl.jar' produced by Netbeans now contains a valid
1368  manifest (found by Paul Griffionen).
1369
1370* [svn r12441] ZipCache now caches all references to ZipFiles based on
1371  the last-modified time for local files.  Remote files are always
1372  retrieved due to problems in the underlying JVM code.
1373
1374  SYS:REMOVE-ZIP-CACHE implements a way to invalidate an entry given a
1375  pathname.
1376
1377* [svn r12439] Remove duplication of java options in Windows
1378  'abcl.bat' script.
1379
1380* [svn r12437] CHAR-CODE-LIMIT is the upper execlusive limit (found by
1381  Paul Griffionen).
1382
1383* [svn r12436] Describe formatting was missing a newline (reported by
1384  Blake McBride).
1385
1386* [svn 12469] Ensure that FILE-ERROR always has a value (possibly NIL)
1387  for its PATHNAME member.
1388
1389* [svn r14222] MERGE-PATHNAMES no longer potentially shares structure
1390  between its result and *DEFAULT-PATHNAME-DEFAULTS*.
1391
1392* [svn r12416] Fixed ANSI LAMBDA.nn test failures caused by errors in
1393  lambda inlining.
1394
1395* [svn r12417] [ticket:83] Fix TRANSLATE-LOGICAL-PATHNAME regression.
1396  (Alan Ruttenberg).
1397
1398* [svn r12412] Optimize memory efficiency of FORMAT by use of a
1399  hashtable rather than a CHAR-CODE-LIMIT array.
1400
1401* [svn r12408] FIND-SYMBOL requires a  string argument.
1402
1403* [svn r12400] Make NIL (as symbol) available to the compiler.
1404
1405* [svn r12398] Move lambda list analysis to compile time where possible.
1406
1407* [svn r12397] BROADCAST-STREAM obeys default external format fixing
1408  ANSI MAKE-BROADCAST-STREAM.8.
1409
1410* [svn r12395] Improve arglist display for SLIME (Matthias Hölzl).
1411
1412* [svn r12394] Optimize array utilization in closures.
1413
1414* [svn r12393] Optimize array functions in compiler which don't
1415  require clearing the VALUES array.
1416
1417* [svn r12392] Optimize/normalize aspects of boot.lisp
1418
1419* [svn r12391] Prevent duplicated subclasses form occuring.
1420
1421
1422Other
1423-----
1424
1425* [svn r12447] SYS::*MODULE-PROVIDER-FUNCTION* now provides a mechanism
1426  to extend the REQUIRE resolver mechanism at runtime.
1427
1428* [svn r12430] Ant based build no longer writes temporary files to
1429  contain the Lisp build instructions.
1430
1431* [svn r12481] STANDARD-CLASS now has slots to be inherited by
1432  deriving metaclasses in support of the (in progress) work on
1433  metaclass.
1434
1435* [svn r12425] No longer ignore the METACLASS defclass option in
1436  support of the (in progress) work on metaclass
1437
1438* [svn r12422] SYS::*LOAD-TRUENAME-FASL* now contains the TRUENAME of
1439  the Java "*.cls" component when loading a packed FASL.
1440
1441* [svn r12461] Human readable Java representations for class cast
1442  exceptions for NULL and UNBOUND values.
1443
1444* [svn r12453 et. ff.] Large numbers of the implementation of Java
1445  primitives have been declared in a way so that a stack trace
1446  provides a much more readable indication of what has been invoked.
1447  Primitives which extend Primitive are prefixed with "pf_"; those
1448  which extend SpecialOperator are prefixed with "sf_".
1449
1450* [svn r12422] The internal structure of a jar pathname has changed.
1451  Previously a pathname with a DEVICE that was itself a pathname
1452  referenced a jar.  This convention was not able to simultaneously
1453  represent both jar entries that were themselves jar files (as occurs
1454  with packed FASLs within JARs) and devices which refer to drive
1455  letters under Windows.  Now, a pathname which refers to a jar has a
1456  DEVICE which is a proper list of at most two entries.  The first
1457  entry always references the "outer jar", and the second entry (if it
1458  exists) references the "inner jar".
1459
1460* [svn r12419] Ant 'abcl.release' target centralizes the build steps
1461  necessary for creating releases.
1462
1463* [svn r12409] Compiler now rewrites function calls with (LAMBDA 
) as
1464  the operator to LET* forms.
1465
1466* [svn r12415] CLASS-FILE renamed to ABCL-CLASS-FILE to prepare for
1467  (in progress) reworking of Stream inheritance.
1468
1469* [svn r123406] 'test/lisp/abcl/bugs.lisp' forms a default location to
1470  add unit tests for current bug testing.  The intention is to move
1471  these tests into the proper location elsewhere in the test suite
1472  once they have been fixed.
1473
1474* [svn r124040] Java tests upgraded to use junit-4.8.1.  Netbeans
1475  project runtime classpath now uses compilation results before source
1476  directory, allowing the invocation of ABCL in interpreted mode if
1477  the Ant 'abcl.compile.lisp.skip' property is set.  Java unit tests
1478  for some aspects of jar pathname work added.
1479
1480*  New toplevel 'doc' directory now contains:
1481
1482   + [svn r12410] Design for the (in progress) reworking of the Stream
1483     inheritance.
1484
1485   + [svn r12433] Design and current status for the re-implementation
1486     of jar pathnames.
1487
1488* [svn r12402] Change ABCL unit tests to use the ABCL-TEST-LISP definition
1489  contained in 'abcl.asd'.  Fixed and renabled math-tests.  Added new
1490  tests for work related to handling jar pathnames.
1491
1492* [svn r12401] The REFERENCES-NEEDED-P field of the LOCAL-FUNCTION structure now
1493  tracks whether local functions need the capture of an actual
1494  function object.
1495
1496
1497Version 0.18.1
1498==============
1499http://abcl.org/svn/tags/0.18.1/abcl
1500(17 Jan, 2010)
1501
1502Features:
1503
1504 * Support for printing java objects with print-object
1505 * Support for disassembling proxied functions
1506
1507Bugs fixed:
1508
1509 * maxima works again
1510
1511Version 0.18.0
1512==============
1513http://abcl.org/svn/tags/0.18.0/abcl
1514(12 Jan, 2010)
1515
1516
1517Features:
1518
1519 * Programmable handling of out-of-memory and stack-overflow conditions
1520 * Faster initial startup (to support Google App Engine)
1521 * Faster special variable lookup
1522 * New interface for binding/unwinding special variables
1523 * Implement (SETF (STREAM-EXTERNAL-FORMAT <stream>) <format>)
1524 * Implement (SETF (JAVA:JFIELD <object>) <value>)
1525 * Constant FORMAT strings get compiled for performance
1526
1527
1528Bugs fixed:
1529
1530 * FASLs are system default encoding dependent (ticket 77)
1531 * I/O of charset-unsupported characters causes infinite loop (ticket 76)
1532 * Memory leak where on unused functions with documentation
1533 * ANSI PRINT-LEVEL.* tests
1534 * Continued execution after failing to handle Throwable exceptions
1535 * Line numbers in generated java classes incorrect
1536 * JCALL, JNEW doesn't select best match when multiple applicable methods
1537 * STREAM-EXTERNAL-FORMAT always returns :DEFAULT, instead of actual format
1538 * REPL no longer hangs in Netbeans 6.[578] output window
1539 * Lambda-list variables replaced by surrounding SYMBOL-MACROLET
1540
1541
1542Other changes
1543
1544 * LispObject does not inherit from Lisp anymore
1545 * Many functions declared 'final' for performance improvement
1546 * SYSTEM:*SOURCE* FASLs for system files no longer refer to intermediate build location
1547
1548
1549Version 0.17.0
1550==============
1551http://abcl.org/svn/tags/0.17.0/abcl
1552(07 Nov, 2009)
1553
1554
1555Features:
1556
1557  * Google App Engine example project "Hello world"
1558  * Support for loading FASLs from JAR files
1559  * Checking of init-arguments for MAKE-INSTANCE (CLOS)
1560  * Support for *INVOKE-DEBUGGER-HOOK* (to support SLIME)
1561  * Reduced abcl.jar size (bytes and number of objects)
1562  * Faster access to locally bound specials (compiler efficiency)
1563  * Java property to print autoloading information: abcl.autoload.verbose
1564  * Experimental: binary fasls
1565  * Default Ant build target now "abcl.clean abcl.wrapper" (from abcl.help)
1566  * ConditionThrowable class renamed to ControlTransfer,
1567      parent class changed to RuntimeException (to make it unchecked)
1568  * API no longer throws ConditionThrowable/ControlTransfer
1569
1570
1571Bugs fixed:
1572
1573  * Better fix for #63: Prevent exceptions from happening (GO and RETURN-FROM)
1574  * Restore ability for ABCL to be build host for SBCL
1575  * CLOS performance improvements through looser COMPILE dependency
1576  * Compilation fix for highest SPEED setting (triggered by CL-BENCH)
1577  * COMPILE's use of temp files eliminated
1578  * OpenJDK on Darwin now correctly identified
1579  * Incorrect block names for SETF functions defined by LABELS
1580  * Fixed MULTIPLE-VALUE-CALL with more than 8 arguments
1581  * Incorrect identification of lexical scope on recursive TAGBODY/GO
1582    and BLOCK/RETURN-FROM blocks (compiler and interpreter)
1583  * Correctly return 65k in char-code-limit (was 256, incorrectly)
1584  * Fixes to be able to run the BEYOND-ANSI tests (part of ANSI test suite)
1585  * Compiler typo fix
1586  * Implementation of mutex functionality moved to lisp from Java
1587  * Functions handling #n= and #n# are now compiled
1588  * Autoload cleanups
1589  * System package creation cleaned up
1590  * CHAR-CODE-LIMIT correctly reflects CHAR-CODE maximum return value
1591  * Precompiler macroexpansion failure for macros expanding into
1592      special operators
1593
1594
1595Version 0.16.1
1596==============
1597http://abcl.org/svn/tags/0.16.1/abcl
1598(17 Oct, 2009)
1599
1600Bugs fixed:
1601
1602  * More careful checking for null args in LispStackFrame
1603  * Honor appearance of &allow-other-keys in CLOS MAKE-INSTANCE
1604  * Fix #63: GO forms to non-existent TAGBODY labels would exit ABCL
1605  * Don't leak temp files during compilation
1606
1607Version 0.16.0
1608==============
1609(06 SEP 2009)
1610http://abcl.org/svn/tags/0.16.0/abcl
1611
1612  Summary of changes:
1613  ------------------
1614  * Fixed generated wrapper for path names with spaces (Windows)
1615  * Fixed ticket #58: Inspection of Java objects in Lisp code
1616  * Restored functionality of the built-in profiler
1617  * Profiler extended with hot-spot counting (as opposed to call counting)
1618  * Stack sampling in the profiler moved to scheduler thread to
1619    reduce impact on the program execution thread
1620  * THE type-checking for the interpreter
1621    (for simple-enough type specifications)
1622  * Added structure argument type checking in structure slot
1623    accessor functions
1624  * Make GENSYM thread-safe
1625  * Various performance fixes found by running the raytracer
1626    from http://www.ffconsultancy.com/languages/ray_tracer/benchmark.html
1627  * Better initarg checking for make-instance and change-class
1628    Fixes ansi-test errors CHANGE-CLASS.1.11, MAKE-INSTANCE.ERROR.3,
1629    MAKE-INSTANCE.ERROR.4, CHANGE-CLASS.ERROR.4 and SHARED-INITIALIZE.ERROR.4
1630  * Improve performance of StackFrames (Erik Huelsmann, Ville Voutilainen,
1631    with input from Peter Graves and Douglas Miles)
1632  * Improve performance of CLOS eql-specializers via cache (Anton Vodonosov)
1633  * 'build-from-lisp.sh' shell script (Tobias Rittweiler)
1634  * New threading primitives aligned with Java/JVM constructs (Erik Huelsmann)
1635
1636      SYNCHRONIZED-ON
1637      OBJECT-NOTIFY
1638      OBJECT-NOTIFY-ALL
1639  * THREADS package created to hold threads related primitives:
1640
1641      THREADP THREAD-UNLOCK THREAD-LOCK THREAD-NAME THREAD-ALIVE-P
1642      CURRENT-THREAD DESTROY-THREAD INTERRUPT-THREAD WITH-THREAD-LOCK
1643      MAKE-THREAD-LOCK MAKE-THREAD INTERRUPT-THREAD
1644
1645      MAPCAR-THREADS
1646
1647      GET-MUTEX MAKE-MUTEX WITH-MUTEX RELEASE-MUTEX
1648
1649    These primitives are still part of the EXTENSIONS package but are
1650    now to be considered as deprecated, marked to be removed with
1651    0.22
1652  * Stacktraces now contain calls through Java code relevant to
1653    debugging (Tobias Rittweiler)
1654
1655    Backtrace functionality been moved from EXT:BACKTRACE-AS-LIST to
1656    SYS:BACKTRACE to mark this changes.  The methods SYS:FRAME-TO-STRING
1657    and SYS:FRAME-TO-LIST can be used to inspect the new
1658    LISP_STACK_FRAME and JAVA_STACK_FRAME objects
1659  * Various stream input performance optimizations
1660  * Fixed breakage when combining Gray streams and the pretty printer
1661  * Performance improvements for resolution of non-recursive #=n and #n#
1662
1663
1664Version 0.15.0
1665==============
1666http://abcl.org/svn/tags/0.15.0/abcl
1667(07 Jun, 2009)
1668
1669 Summary of changes:
1670 -------------------
1671  * 2 more MOP exported symbols to support Cells port
1672  * Updated FASL version
1673  * Support (pre)compilation of functions with a non-null lexical environment
1674  * Compiler and precompiler cleanups
1675  * 'rt.lisp' copy from ANSI test suite removed
1676  * Many documentation additions for the (pre)compiler
1677  * JSR-233 support improvements
1678  * Refactoring of classes:
1679   - deleted: CompiledFunction, ClosureTemplateFunction, CompiledClosure,
1680              Primitive0R, Primitive1R, Primitive2R
1681   - renamed: CompiledClosure [from ClosureTemplateFunction]
1682  * Compiler support for non-constant &key and &optional initforms
1683  * Fixed ticket #21: JVM stack inconsistency [due to use of RET/JSR]
1684  * Numerous special bindings handling fixes, especially with respect
1685    to (local) transfer of control with GO/RETURN-FROM
1686  * Paths retrieved using URL.getPath() require decoding (r11815)
1687  * Build doesn't work inside paths with spaces (r11813)
1688  * Compilation of export of a symbol not in *package* (r11808)
1689  * Moved compiler-related rewriting of forms from precompiler to compiler
1690  * Removed chained closures ('XEPs') in case of &optional arguments only
1691  * Loading of SLIME fails under specific conditions (r11791)
1692  * Binding of *FASL-ANONYMOUS-PACKAGE* breaks specials handling (r11783)
1693  * Fixed ANSI tests: DO-ALL-SYMBOLS.{6,9,12}, DEFINE-SETF-EXPANDER.{1,6,?},
1694      MULTIPLE-VALUE-SETQ.{5,8}, SYMBOL-MACROLET.8, COMPILE-FILE.{17,18}
1695  * COMPILE and COMPILE-FILE second and third values after a failed
1696      invocation inside the same compilation-unit (r11769)
1697  * JCLASS on non-existing classes should signal an error (r11762)
1698  * Dotted lambda lists break interpretation (r11760)
1699  * Implementation of MACROEXPAND-ALL and COMPILER-LET (r11755)
1700  * Switch from casting to 'instanceof' for performance (r11754)
1701  * Google App Engine support: don't die if 'os.arch' isn't set (r11750)
1702  * Excessive stack use while resolving #n= and #n# (r11474)
1703
1704
1705Version 0.14.1
1706==============
1707(5 Apr, 2009)
1708http://abcl.org/svn/tags/0.14.1/abcl
1709
1710 Summary of changes:
1711 -------------------
1712  * Include this CHANGES file and scripting files in the tar and zip files
1713
1714
1715Version 0.14.0
1716==============
1717(5 Apr, 2009)
1718http://abcl.org/svn/tags/0.14.0/abcl
1719
1720 Summary of changes:
1721 -------------------
1722  * Increased clarity on licensing (Classpath exception
1723     mentioned in COPYING, removed LICENSE)
1724  * Resolved infinite recursion on TRACEing the compiler
1725  * Changes on the lisp based build system for parity with Ant
1726  * Fixed interpreter creation in Java Scripting
1727  * libabcl.so no longer created; it was solely about installing
1728     a SIGINT handler. Libraries should not do that.
1729  * boxing of LispObject descendants in JCALL/JCALL-RAW fixed
1730  * OpenBSD and NetBSD platform detection
1731  * fixed special bindings restores in compiled code for
1732     MULTIPLE-VALUE-BIND/LET/LET*/PROGV and function bodies
1733  * introduced variadic list() function to replace list1() ... list9()
1734  * fix return value type of ACOS with complex argument
1735  * fixed precision of multiplication of complex values
1736  * fixed use of COMPILE inside file compilation (i.e. COMPILE-FILE)
1737  * fix expansion of macros inside RESTART-CASE
1738     (fixes RESTART-CASE ANSI failures)
1739  * fix macroexpansion in the precompiler
1740  * Fixnum and Bignum now use a static factory method;
1741      constructors are now private -> increases chances of numbers
1742      being EQ
1743  * Code cleanup in EXPT to fix (EXPT <any-number> <Bignum>)
1744
1745
1746Version 0.13.0
1747==============
1748(28 Feb, 2009)
1749http://abcl.org/svn/tags/0.13.0/abcl
1750
1751 Summary of changes:
1752 -------------------
1753  * Separated J and ABCL into two trees
1754  * Many many compiler code cleanups
1755  * NetBeans project files
1756  * Support for CDR6 (See http://cdr.eurolisp.org/document/6/)
1757  * More efficient code emission in the compiler
1758  * Ant build targets for testing (abcl.test)
1759  * Use ConcurrentHashMap to store the lisp threads for increased performance
1760  * Fix adjustability of expressly adjustable arrays (ticket #28)
1761  * Fix calculation of upperbound on ASH in the compiler
1762     (don't calculate numbers too big, instead, return '*')
1763  * Introduce LispInteger as the super type of Bignum and Fixnum
1764  * Boxing/unboxing for SingleFloat and DoubleFloat values,
1765      inclusive of unboxed calculations
1766  * Fixed URL decoding bug in loadCompiledFunction (use java.net.URLDecoder)
1767  * Fixed line number counting
1768  * Inlining of simple calculations (+/-/*)
1769  * All static fields declared 'final'
1770  * Add support for java.lang.Long based on Bignum to our FFI
1771
1772
Note: See TracBrowser for help on using the repository browser.