Allow it to be built with lang/abcl. Remove build dependency on lang/sbcl
if bootstrapping.
Changes since version 1.5.7
New in version 2.0.7
* minor incompatible change: SB-THREAD:THREAD-OS-TID returns NIL
for a thread which has exited.
* minor incompatible change: OPEN no longer calls TRUENAME
implicitly on a string filespec prior to issuing an open()
system call.
* minor incompatible change: PATHNAME is no longer a STRUCTURE-OBJECT.
* documentation: HASH-FUNCTION is a function
designator. (#1888028, reported by Jacek Zlydach)
* bug fix: eliminated a potential garbage-collector deadlock when
linking with TCMalloc.
* bug fix: foreign threads (those not made by
SB-THREAD:MAKE-THREAD) can not crash with a "GC_PENDING, but
why?" error when returning back from Lisp into the foreign
caller.
* bug fix: sb-fasteval crashed trying to install a JIT-compiled
DEFSTRUCT accessor in a locked package.
* bug fix: removed misuse of putwc() which caused stdio streams to
drop characters.
* bug fix: the "maximum interrupt nesting depth exceeded" error
generated in the C runtime is significantly less likely to
occur.
* bug fix: sb-sprof should no longer segfault from calling
pthread_kill() on a nonexistent thread.
* bug fix: a portability issue arising from various build hosts
(#1886255, reported by Pierre Neidhart)
* bug fix: spurious compiler warnings from REDUCE with
:INITIAL-VALUE. (#1885515, reported by Michael South)
* bug fix: an inconsistency between class hierarchies and the type
system under some circumstances involving
redefinition. (#1886397, reported by Atilla Lendvai)
* bug fix: the USE-VALUE restart for OPEN on non-existent files is
more likely to function as expected. (#1886587)
* bug fix: various invalid inputs to ROTATE-BYTE no longer cause
compiler errors. (#1887164, #1888152)
* optimization: PPC64 on linux uses the __thread annotation on C
variables in preference to pthread_setspecific() and
pthread_getspecific().
New in version 2.0.6
* planned incompatible change: the defined symbols in the
Metaobject Protocol, currently accessible from both SB-MOP and
SB-PCL packages, will in a later release be no longer exported
from SB-PCL.
* platform support:
* better support for dynamic-extent on the SPARC architecture.
* bug fix for loading very large core files.
* bug fix for logior and logxor on PPC64.
* enhancement: EQUALP on structure instances uses code specialized
to each structure type, inlining comparison of non-pointer
slots.
* enhancement: some standard operators, such as
WITH-OUTPUT-TO-STRING and CHANGE-CLASS, have been adapted to use
dynamic-extent temporary objects, and so cons less garbage on
the heap.
* enhancement: read tables are more space- and speed efficient
* bug fix: stream conditions with dynamic-extent streams have the
stream replaced by a stub. (reported by Matt Kaufmann)
* bug fix: garbage collections triggered from foreign callbacks
crashed. (#1884403, reported by Andrew Kent)
* bug fix: compiler failure in compiling MAKE-LIST. (#1881349)
* bug fix: using the debugger from frames with calls to functions
with unsupplied optional arguments is less likely to cause heap
corruption. (#1883745)
New in version 2.0.5
* platform support:
* experimental support for ARM32 and ARM64 on OpenBSD
* better musl libc support. (#1768368, thanks to Eric Timmons)
* more correct use of futexes on 64-bit Linux. (#1876825,
reported by Ilya Perminov)
* restore building on current Solaris. (#1881393, thanks to
Shawn Ellis)
* enhancement: CMUCL-style START-BLOCK and END-BLOCK declarations
are now supported for block compiling forms at a sub-file
granularity.
* enhancement: IPv6 support in sb-bsd-sockets is enabled on Windows.
* minor change: *compile-print* now makes it more clear what block
compilation is actually doing. The default output is now
slightly more verbose as a result.
* bug fix: number keys in EQUALP hash tables are correctly
hashed. (#1878653, reported by Syll)
* bug fix: EQness is better preserved given partial sharing of
list contents in the file compiler. (#1583753, reported by Denis
Budyak)
* bug fix: the peephole pass neglected to preserve jump table
labels. (#1876485)
* bug fix: fix compiler crash in block compilation merging of
toplevel lambdas. (#1865336, reported by il71)
* bug fix: sb-introspect's function-lambda-arglist is better at
extracting default values of nested macro arguments. (#1876194)
* bug fix: RESTART-BIND's body is an implicit progn, and so does
not accept declarations. (#1876303, reported by Michal Herda)
* optimization: EQUAL hash tables with keys involving
structure-objects will have fewer systematic collisions.
New in version 2.0.4
* platform support:
* 32-bit RISC-V is now fully supported. Unlike other ports,
its backend is entirely shared with 64-bit RISC-V.
* native threads are now supported on RISC-V.
* fix and add some x86-64 vector instructions. (reported by
Shubhamkar Ayare)
* improve pointer representation on ppc64 for low-level
performance improvement.
* threads are more stable on big-endian ppc64
* enhancement: forward-referenced type tests can now be open-coded
by using block compilation. The result is that mutually
referential defstructs are now efficiently compiled in block
compilation mode, superseding a lighter mechanism that worked in
fewer contexts. However, that lighter mechanism has been
removed, so for now, users who want to efficiently compile
mutually referential defstructs must explicitly opt-in using
block compilation.
* bug fix: defstructs with empty initforms in the sbcl source are
now explicitly intiialized with NIL, as that is undefined
behavior under ANSI. This helps cross compilation hosts which do
not implicitly initialize empty initform slots to NIL. (Thanks
to Karsten Poeck)
* bug fix: backtracing through assembly routines now works
properly on RISC-V.
* bug fix: ASH no longer gets miscompiled in certain edge cases on RISC-V.
* bug fix: &MORE args have been slightly optimized and are more
correct on RISC-V.
* bug fix: unused local functions with &REST/&KEY/&OPTIONAL now
also issue a deletion note.
* bug fix: APPLY on a large list ("large" being in excess of 2k to
16k items depending on the platform) can no longer crash the
gencgc collector.
* bug fix: sb-concurrency FRLOCK algorithm has been corrected. (#1087955)
* bug fix: block compilation now respects inlining declarations
better (like CMUCL).
* optimization: hashing of structures with raw slots for EQUALP
hash tables has been improved.
New in version 2.0.3
* incompatible change: the external format now defaults to UTF-8
and is not affected by LANG. SB-EXT:*DEFAULT-EXTERNAL-FORMAT* is
now the only way to change it.
* minor incompatible change: the undocumented :EPHEMERAL argument
to MAKE-THREAD has been removed.
* minor incompatible change: DECLARE type testing of structure
types when the SAFETY optimization quality is less than SPEED
(but greater than 0) is precise, rather than merely testing that
an object is a (general) STRUCTURE-OBJECT.
* platform support
* respect sunos platform assembler flag handling
* riscv architecture can be detected during the build
* enabled the sb-dynamic-core feature on riscv, sparc, and
made it unconditional everywhere
* cheneygc is an option for arm and arm64
* enhancement: the installed sbcl executable tree can be renamed
or moved without risk of incorrectly referencing a '.core' file
from an obsolete path. (#666086)
* optimization: transform (values-list (list one-item)) to (values
one-item) as multiple items were already recognized.
New in version 2.0.2
* new feature: CMUCL-style block compilation support has been
added, allowing whole program optimization. It has been
documented in a new section of the manual entitled "Advanced
Compiler Use and Efficiency Hints". In particular, users of
block compilation will find a large speedup for numerical code,
as functions which call or return floating point values will
keep everything unboxed.
* bug fix: in CHANGE-CLASS, handle non-standard
slot-value-using-class for :INSTANCE and :CLASS slots
better. (reported by Shinmera on #sbcl)
* bug fix: REMHASH in an EQUAL or EQUALP hash-table works
correctly on a key for which EQUAL (respectively EQUALP) is
reduced to EQ. (#1865094)
* bug fix: do not emit a warning for DEFCLASS slots with
mismatched :TYPE and :INITFORM when the class has a non-standard
metaclass.
* bug fix: DISASSEMBLE on SPARC is less likely to spuriously
annotate code sequences as error traps.
New in version 2.0.1
* minor incompatible change: some symbols have been removed from
*FEATURES* based on a determination of which should be
impermissible to examine via #+ and #- reader macros in
user-written code.
* optimization: DEFSTRUCT copiers including COPY-STRUCTURE are
able to stack-allocate the result when declared dynamic-extent.
* bug fix: loop analysis code more robust. In particular, loop
nesting depth is computed more accurately, improving the
register allocation around loops.
New in version 2.0.0
* minor incompatible change: heap relocation now works on
Windows. Since this feature now works on all platforms, it is
enabled unconditionally and the :RELOCATABLE-HEAP symbol no
longer appears on *FEATURES* in any builds. (Thanks to Luís
Borges de Oliveira)
* enhancement: malformed type specifiers and occurrences of
deprecated types in :TYPE initargs of DEFCLASS and
DEFINE-CONDITION slot specifications are detected and result in
compile-time errors and warnings respectively.
* enhancement: parallel contrib building, controlled by
SBCL_MAKE_JOBS=-jX the same as for the C runtime.
* bug fix: add a walker template for WITH-SOURCE-FORM.
* bug fix: start the summary of a compilation unit on a fresh
line. (Thanks to Zach Beane)
* bug fix: on Windows, PARSE-NATIVE-NAMESTRING produces an
absolute directory when parsing a bare drive name and
:AS-DIRECTORY is specified. (Thanks to Luís Borges de Oliveira)
* bug fix: on RISCV, the runtime is linked with libz if the core
compression feature is requested. (Thanks to Andreas Schwab)
* bug fix: ADJOIN using an EQL test and a KEY function only
transforms into an EQ test if the key function returns values
for which EQ and EQL are guaranteed to be the same.
* optimizations:
* the instruction sequence for multiple-value calls is more
efficient on x86-64.
* the direction flag is now unused on x86 and x86-64 when
handling an unknown number of return values. (Thanks to
Fanael Linithien)
* the x86-64 backend is better able to use memory operands for
arithmetic operations.
* compilation of TYPECASE to a jump table is enabled when all
the types being tested are frozen.
* compilation of CASE and ECASE into a jump table has been
implemented on 32- and 64-bit powerpc platforms.
* the implementation of Unicode normalization has been sped up.
* pretty-printing dispatch on conses is faster, particularly
with the standard pretty-print dispatch table. Deeply-nested
forms should also pretty-print faster.
New in version 1.5.9
* platform support:
* a message intended to be more helpful will be displayed for
an mmap failure on OpenBSD.
* the soft-float ABI on ARM32 is better supported, in
particular in returning double floats from calls into C.
* optimizations:
* CASE and ECASE with symbols as keys may be optimized into a
vector lookup if all result forms are quoted or
self-evaluating objects.
* CASE and ECASE can be optimized into a jump table on the
x86[-64] backends with arbitrary result forms provided that
the clause keys are either all fixnums, all characters, or
all symbols.
* a number of forms are converted to use CASE in circumstances
where that makes sense, including calls to POSITION, MEMQ
and MEMBER, and TYPECASE where the types are MEMBER/EQL
types.
* POSITION of a variable symbol in a constant sequence of
symbols is converted to CASE and thence to a jump table.
* TYPECASE of a variable where the clauses are member types is
converted to CASE and thence to a jump table.
* a number of slow instructions are no longer used on x86 and
x86-64 machines. (Thanks to Fanael Linithien)
* the compiler is better at tracking the implications of
branches after EQ and EQL tests.
* parsing &KEY lists is slightly less register-intensive.
* a pattern-based peephole optimizer pass has been added,
running some simple transformations on the x86-64 backend.
* enhancements: more thorough compile-time type checking of
various initforms (defclass, &key, defstruct).
* bug fix: unions of complicated CONS types are less likely to
cause an infinite loop. (#1799719)
* bug fix: DESCRIBE on functions not named by extended function
designators no longer signals a type error. (#1850531, reported
by Michal Herda)
New in version 1.5.8
* platform support:
* support for Mac OS X Catalina
* improvements in interoperability with C code compiled with
memory sanitization options
* libsbcl.so links to zlib when sb-core-compression is
enabled. (#1845763, thanks to Juan M. Bello-Rivas)
* workarounds for BSD issues around mmap() and
pthread_attr_setstack(). (#1845936) support SSE for bzero if
available on OpenBSD
* optimizations:
* improved type understanding and translations for division
operators (including TRUNCATE, GCD, LCM).
* sequential comparisons and branches can elide intermediate
comparisons. (#1847284)
* convert EQUAL and EQUALP to EQL if either of the arguments
is a type for which the structural equality predicate is
identical to the simpler equality check. (#1848583)
* internal operators implementing string comparisons produce
simpler-to-consume values. (#1848776)
* bug fix: inspecting adjustable arrays and vectors with fill
pointers works better. (#1846191, reported by Yves Pagani)
Changelog extracted from the unspecific changelog.md on the 1.2.6 tag.
Unable to get a Changelog diff for 1.2.4 and 1.2.6.
# v1.4.0 - yyyy-mm-dd
## Standard library additions and changes
For `net` and `nativesockets`, an `inheritable` flag has been added to all
`proc`s that create sockets, allowing the user to control whether the
resulting socket is inheritable. This flag is provided to ease the writing of
multi-process servers, where sockets inheritance is desired.
For a transistion period, define `nimInheritHandles` to enable file handle
inheritance by default. This flag does **not** affect the `selectors` module
due to the differing semantics between operating systems.
`system.setInheritable` and `nativesockets.setInheritable` is also introduced
for setting file handle or socket inheritance. Not all platform have these
`proc`s defined.
- The file descriptors created for internal bookkeeping by `ioselector_kqueue`
and `ioselector_epoll` will no longer be leaked to child processes.
- `strutils.formatFloat` with `precision = 0` has been restored to the version
1 behaviour that produces a trailing dot, e.g. `formatFloat(3.14159, precision = 0)`
is now `3.`, not `3`.
- `critbits` adds `commonPrefixLen`.
- `relativePath(rel, abs)` and `relativePath(abs, rel)` used to silently give wrong results
(see #13222); instead they now use `getCurrentDir` to resolve those cases,
and this can now throw in edge cases where `getCurrentDir` throws.
`relativePath` also now works for js with `-d:nodejs`.
- JavaScript and NimScript standard library changes: `streams.StringStream` is
now supported in JavaScript, with the limitation that any buffer `pointer`s
used must be castable to `ptr string`, any incompatible pointer type will not
work. The `lexbase` and `streams` modules used to fail to compile on
NimScript due to a bug, but this has been fixed.
The following modules now compile on both JS and NimScript: `parsecsv`,
`parsecfg`, `parsesql`, `xmlparser`, `htmlparser` and `ropes`. Additionally
supported for JS is `cstrutils.startsWith` and `cstrutils.endsWith`, for
NimScript: `json`, `parsejson`, `strtabs` and `unidecode`.
- Added `streams.readStr` and `streams.peekStr` overloads to
accept an existing string to modify, which avoids memory
allocations, similar to `streams.readLine` (#13857).
- Added high-level `asyncnet.sendTo` and `asyncnet.recvFrom`. UDP functionality.
- `paramCount` & `paramStr` are now defined in os.nim instead of nimscript.nim for nimscript/nimble.
- `dollars.$` now works for unsigned ints with `nim js`
- Improvements to the `bitops` module, including bitslices, non-mutating versions
of the original masking functions, `mask`/`masked`, and varargs support for
`bitand`, `bitor`, and `bitxor`.
- `sugar.=>` and `sugar.->` changes: Previously `(x, y: int)` was transformed
into `(x: auto, y: int)`, it now becomes `(x: int, y: int)` in consistency
with regular proc definitions (although you cannot use semicolons).
Pragmas and using a name are now allowed on the lefthand side of `=>`. Here
is an aggregate example of these changes:
```nim
import sugar
foo(x, y: int) {.noSideEffect.} => x + y
# is transformed into
proc foo(x: int, y: int): auto {.noSideEffect.} = x + y
```
- The fields of `times.DateTime` are now private, and are accessed with getters and deprecated setters.
- The `times` module now handles the default value for `DateTime` more consistently. Most procs raise an assertion error when given
an uninitialized `DateTime`, the exceptions are `==` and `$` (which returns `"Uninitialized DateTime"`). The proc `times.isInitialized`
has been added which can be used to check if a `DateTime` has been initialized.
- Fix a bug where calling `close` on io streams in osproc.startProcess was a noop and led to
hangs if a process had both reads from stdin and writes (eg to stdout).
- The callback that is passed to `system.onThreadDestruction` must now be `.raises: []`.
- The callback that is assigned to `system.onUnhandledException` must now be `.gcsafe`.
- `osproc.execCmdEx` now takes an optional `input` for stdin, `workingDir` and `env`
parameters.
- Added a `ssl_config` module containing lists of secure ciphers as recommended by
[Mozilla OpSec](https://wiki.mozilla.org/Security/Server_Side_TLS)
- `net.newContext` now defaults to the list of ciphers targeting
["Intermediate compatibility"](https://wiki.mozilla.org/Security/Server_Side_TLS#Intermediate_compatibility_.28recommended.29)
per Mozilla's recommendation instead of `ALL`. This change should protect
users from the use of weak and insecure ciphers while still provides
adequate compatibility with the majority of the Internet.
- A new module `std/jsonutils` with hookable `jsonTo,toJson,fromJson` operations for json
serialization/deserialization of custom types was added.
- A new proc `heapqueue.find[T](heap: HeapQueue[T], x: T): int` to get index of element ``x``
was added.
- Added `rstgen.rstToLatex` convenience proc for `renderRstToOut` and `initRstGenerator`
with `outLatex` output.
- Added `os.normalizeExe`, e.g.: `koch` => `./koch`.
- `macros.newLit` now preserves named vs unnamed tuples; use `-d:nimHasWorkaround14720`
to keep old behavior.
- Added `random.gauss`, that uses the ratio of uniforms method of sampling from a Gaussian distribution.
- Added `typetraits.elementType` to get element type of an iterable.
- `typetraits.$` changes: `$(int,)` is now `"(int,)"` instead of `"(int)"`;
`$tuple[]` is now `"tuple[]"` instead of `"tuple"`;
`$((int, float), int)` is now `"((int, float), int)"` instead of `"(tuple of (int, float), int)"`
- Added `macros.extractDocCommentsAndRunnables` helper
- `strformat.fmt` and `strformat.&` support `= specifier`. `fmt"{expr=}"` now
expands to `fmt"expr={expr}"`.
- deprecations: `os.existsDir` => `dirExists`, `os.existsFile` => `fileExists`
- Added `jsre` module, [Regular Expressions for the JavaScript target.](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions)
- Made `maxLines` argument `Positive` in `logging.newRollingFileLogger`,
because negative values will result in a new file being created for each logged
line which doesn't make sense.
- Changed `log` in `logging` to use proper log level on JavaScript target,
e.g. `debug` uses `console.debug`, `info` uses `console.info`, `warn` uses `console.warn`, etc.
- Tables, HashSets, SharedTables and deques don't require anymore that the passed
initial size must be a power of two - this is done internally.
Proc `rightSize` for Tables and HashSets is deprecated, as it is not needed anymore.
`CountTable.inc` takes `val: int` again not `val: Positive`; I.e. it can "count down" again.
- Removed deprecated symbols from `macros` module, deprecated as far back as `0.15`.
## Language changes
- In newruntime it is now allowed to assign discriminator field without restrictions as long as case object doesn't have custom destructor. Discriminator value doesn't have to be a constant either. If you have custom destructor for case object and you do want to freely assign discriminator fields, it is recommended to refactor object into 2 objects like this:
```nim
type
MyObj = object
case kind: bool
of true: y: ptr UncheckedArray[float]
of false: z: seq[int]
proc `=destroy`(x: MyObj) =
if x.kind and x.y != nil:
deallocShared(x.y)
x.y = nil
```
Refactor into:
```nim
type
MySubObj = object
val: ptr UncheckedArray[float]
MyObj = object
case kind: bool
of true: y: MySubObj
of false: z: seq[int]
proc `=destroy`(x: MySubObj) =
if x.val != nil:
deallocShared(x.val)
x.val = nil
```
## 1.11.3 - 2020-08-03
- Add `JANET_HASHSEED` environment variable when `JANET_PRF` is enabled.
- Expose `janet_cryptorand` in C API.
- Properly initialize PRF in default janet program
- Add `index-of` to core library.
- Add `-fPIC` back to core CFLAGS (non-optional when compiling default client with Makefile)
- Fix defaults on Windows for ARM
- Fix defaults on NetBSD.
Version 14.7.0 (Current)
Notable Changes
deps:
- upgrade npm to 6.14.7
dgram:
- (SEMVER-MINOR) add IPv6 scope id suffix to received udp6 dgrams
src:
- (SEMVER-MINOR) allow preventing SetPromiseRejectCallback
- (SEMVER-MINOR) allow setting a dir for all diagnostic output
worker:
- (SEMVER-MINOR) make MessagePort inherit from EventTarget
zlib:
- switch to lazy init for zlib streams
New Collaborators:
- add rexagod to collaborators
- add AshCripps to collaborators
- add HarshithaKP to collaborators
- add release key for Richard Lau
ChangLog:
Version 1.7.1
=============
July 18, 2020
<https://abcl.org/svn/tags/1.7.1/>
<https://github.com/armedbear/abcl/>
<https://gitlab.common-lisp.net/abcl/abcl/>
Fixes
-----
[r15337] Fix ELT on vectors specialized on (unsigned-byte 32)
[r15327] Restore svref optimizations for SIMPLE-VECTOR sorts
[r15326] Fix sorting vectors of length 0
Version 1.7.0
=============
June 3, 2020
<https://abcl.org/svn/tags/1.7.0/>
<91f7561840>
<799cfb697d>
The implementation now runs on the openjdk6, openjdk7, openjdk8,
openjdk11, openjdk13, and openjdk14 JVM runtimes.
Enhancements
------------
* [r15305][r15306][r15307] The :NIO symbol is now present in
CL:*FEATURES*, denoting the use of java.nio.ByteBuffer et. al. in
the implementation of arrays specialized on commonly used unsigned
byte-types. CL:MAKE-ARRAY now has the :NIO-BUFFER and :NIO-DIRECT
keyword arguments useful in the construction of such arrays.
* [r15280][r15283] The default implementation for CL:DISASSEMBLE has
been switched from jad to javap. The SYS:CHOOSE-ASSEMBLER interface
is now able to switch between the jad, javap, fernflower, Procyon,
and CFR backends provided as loaded ASDF definitions contained in
the ABCL-INTROSPECT contrib.
* [r15268] ABCL-BUILD:DIRECTORY-HASHES outputs the SHA256 hashes of files in
a directory.
* [r15282] The ABCL-INTROSPECT contrib now adds the EXT:WRITE-CLASS method
to write the bytecode representation of a Java class to disk.
* [r15293] The Dockerfile has been updated to use openjdk11
Fixes
-----
* [r15292] Fixed all known outstanding problems with DECODE-FLOAT for
values less than normalized floats.
* [r15287] Attempts to fill specialized 32-bit arrays with elements
greater than 2^32-1 now properly signals a type error.
* [r15267] ABCL-BUILD:ANT/CALL no longer signals an error on failure instead
reporting associated error messages.
* [r15281] Autoconfiguration for builds on supported platforms extended.
* [r15290] The invocation of CL-BENCH now utilizes its ASDF definition.
* [r15294][r15298] The contents of the <file:ci/> directory are now
included in the source release, and have had all mention of
TRAVIS_BUILD_DIR removed decoupling their use from the presence of
Travis.
Tests
-----
* [r15277] (pdietz) Additional tests for compiler failures.
* [r15278][r15279] (phoe) Added tests for unbound slots DIVISION-BY-ZERO has
ARITHMETIC-ERROR-OPERANDS.
* [r15284][r15285][r15288] The CI now tests the ability to use OpenSSL via
CL+SSL.
* [r15289] The CI now tests the version CFFI with
CFFI-SYS:MAKE-SHAREABLE-BYTE-VECTOR implemented.
* [r15291] The CI now tests IRONCLAD.
Version 1.6.1
=============
April 24, 2020
<https://abcl.org/svn/tags/1.6.1/>
<https://abcl.org/trac/changeset/15270>
<cef85a7f55>
<1d237263a7>
Enhancements
------------
* [r15223] Fix compiler for java.lang.VerifyError with PROGN
(somewhat-functional-programmer)
* [r15250] ABCL now builds and runs across openjdk{6,7,8,11,13,14}
* [r15256] Build autoconfiguration via ci/create-build-properties.bash
* [r15252] Provide accessor in URL-STREAM for underlying java.io.InputStream
* [r15226] [INCOMPLETE] Address problems with DECODE-FLOAT
(Robert Dodier)
Fixes
-----
* [r15229] Maven central repository now requires TLS
* [r15242] jstatic: check narrowing for explicit method reference
* [r15232] [r15233] [r15241] Reworking DWIM on java call sites
The FFI will now find Java call sites whose types are Short or Byte
with integers if they can be narrowed without losing information.
This work should be considered provisional, subject to possible
revision.
* [r15234] Fix calling Java methods with varargs parameters
* [r15233] Fix calling Java methods with short and byte parameters
* [r15231] abcl-build: test the install of maven-3.6.3
* [r15238] build: ensure javac compiles with UTF-8 encoding
* [r15243] abcl-asdf: rework Maven usage strategy
* [r15245] abcl-asdf: use WITH-AETHER macro to ensure Maven Aether is loaded
* [r15251] abcl-asdf: assume that either 'which' or 'where' works
Updates
-------
* [r15240] Use ASDF-3.3.4
Tests
-----
* [r15239] ci: now use latest CFFI distributed with Quicklisp
* [r15247] t/format-dollar: correction for CL:FORMAT dollar usage
* [r15248] t/jcoerce-numerics: JCOERCE across numerics without losing information
* [r15249] t/decode-float: tests for currently broken handling of CL:DECODE-FLOAT
Version 1.6.0
=============
November 22, 2019
<https://abcl.org/svn/tags/1.6.0>
Compatiblity
------------
ABCL 1.6.0 supports building and running on openjdk6, openjdk7,
openjdk8, and openjdk11.
Enhancements
-----------
* [r15085] Add a restart for generics defined over functions or macros
when arguments don't match (Alan).
* [r15086] jss: Disambiguate java class lookup in dynamic scope
(Alan).
* [r15087] jss: Optimizations for jss field accessors (Alan).
* [r15089] [r15090] jss: JSS:TO-HASHSET converts java.util.List
references to java.util.Hashset (Alan).
* [r15091] jss: Improve JSS:J2LIST, add JSS:JMAP (Olof).
* [r15092] Make JVM class names more intelligible (Olof).
* [r15093] abcl-asdf: Support multiple Maven repositories (Olof).
* [r15101] [r15102] [r15103] abcl-asdf: add test cases for multiple
repositories (Olof).
* [r15095] Define undefined conditions and handler functions following
error-fun='error pattern (Alan).
* [r15105] jss: make use of warning muffling (Olof).
* [r15133] [r15134] Support building and running in openjdk11.
* [r15142] Signal better error for out-of-bounds CL:REPLACE (Olof).
* [r15148] docker: use the now standardized openjdk8 container,
install ant and maven dependencies.
Fixes
-----
* [r15096] Fix and check array types for JSS:JMAP/J2LIST (Olof).
* [r15097] abcl-asdf: compatiblity with maven-3.5.0.
* [r15099] Export the JVM:*RESIGNAL-COMPILER-WARNINGS* interface.
* [r15100] Fix ASDF usage of MVN module (Olof).
* [r15107] Fix translate-directory-components-aux: throw takes 2
arguments (metawilm).
* [r15114] Intern SYSTEM:AVAILABLE-ENCODINGS symbols (Robert Dodier).
* [r15115] abcl-asdf: fix ABCL-ASDF:MVN-MODULE collect request (Alan).
* [r15116] Fix CL:PRINT-OBJECT of null pointer (Alan).
* [r15117] The compiled version of JSS:INVOKE-RESTARGS was evaluating
the first argument twice (Alan).
* [r15118] abcl-asdf: stop complaining about not loading a file named
the module name (Alan).
* [r15120] Don't evaluate format control string in ReaderError (Javier
Olaechea).
* [r15124] Fix monetary floating-point formatted output (Scott
Burson).
* [r15125] Stackframe head edge case fix (Alan).
* [r15137] Fix ANSI-TESTS GENSYM.ERROR.10 and GENSYM.ERROR.11 (Douglas
Miles).
* [r15138] Fix ANSI-TEST MAKE-CONCATENATED-STREAM.30 failure (Douglas
Miles).
* [r15139] Fix ANSI-TESTS FILE-POSITION.10 (Douglas Miles).
* [r15141] compiler: fix stack inconsistency errors
(somewhat-functional-programmer).
* [r15143] Check for element type before filling vectors (Olof).
* [r15144] Fix high start index for CL:SUBSEQ (Olof).
* [r15146] JSS read sharp expression bugfixes (Alan).
* [r15149] jss: explicitly scope JSS:TO-HASHSET.
Updates
-------
* ASDF 3.3.3
* JNA 5.5.0
## 1.11.1 - 2020-07-25
- Fix jpm and git with multiple git installs on Windows
- Fix importing a .so file in the current directory
- Allow passing byte sequence types directly to typed-array constructors.
- Fix bug sending files between threads.
- Disable PRF by default.
- Update the soname.
## 1.11.0 - 2020-07-18
- Add `forever` macro.
- Add `any?` predicate to core.
- Add `jpm list-pkgs` subcommand to see which package aliases are in the listing.
- Add `jpm list-installed` subcommand to see which packages are installed.
- Add `math/int-min`, `math/int-max`, `math/int32-min`, and `math/int32-max` for getting integer limits.
- The gc interval is now autotuned, to prevent very bad gc behavior.
- Improvements to the bytecode compiler, Janet will now generate more efficient bytecode.
- Add `peg/find`, `peg/find-all`, `peg/replace`, and `peg/replace-all`
- Add `math/nan`
- Add `forv` macro
- Add `symbol/slice`
- Add `keyword/slice`
- Allow cross compilation with Makefile.
- Change `compare-primitve` to `cmp` and make it more efficient.
- Add `reverse!` for reversing an array or buffer in place.
- `janet_dobytes` and `janet_dostring` return parse errors in \*out
- Add `repeat` macro for iterating something n times.
- Add `eachy` (each yield) macro for iterating a fiber.
- Fix `:generate` verb in loop macro to accept non symbols as bindings.
- Add `:h`, `:h+`, and `:h*` in `default-peg-grammar` for hexidecimal digits.
- Fix `%j` formatter to print numbers precisely (using the `%.17g` format string to printf).
0.7.1
- Fixed a couple of smaller bugs (mostly syntax error detection in
``Grammar.iter_errors``)
This is going to be the last release that supports Python 2.7, 3.4 and 3.5.
- Import hints/darwin.sh patch from open pull request.
- The fenv test program in Configure caused warnings for not including
headers for printf() and exit(), causing the script to consider
fenv.h unusable.
Note that Big Sur identifies as 10.16 on Intel Macs, but as 11.0 on
Apple Silicon (ARM).
Python 3.8.5 final
Security
bpo-41304: Fixes python3x._pth being ignored on Windows, caused by the fix for bpo-29778 (CVE-2020-15801).
bpo-39603: Prevent http header injection by rejecting control characters in http.client.putrequest(…).
Core and Builtins
bpo-41295: Resolve a regression in CPython 3.8.4 where defining “__setattr__” in a multi-inheritance setup and calling up the hierarchy chain could fail if builtins/extension types were involved in the base types.
Library
bpo-41288: Unpickling invalid NEWOBJ_EX opcode with the C implementation raises now UnpicklingError instead of crashing.
bpo-39017: Avoid infinite loop when reading specially crafted TAR files using the tarfile module (CVE-2019-20907).
Documentation
bpo-37703: Updated Documentation to comprehensively elaborate on the behaviour of gather.cancel()
Build
bpo-41302: Enable building Python 3.8 with libmpdec-2.5.0 to ease maintenance for Linux distributions. Patch by Felix Yan.
macOS
bpo-40741: Update macOS installer to use SQLite 3.32.3.
IDLE
bpo-41300: Save files with non-ascii chars. Fix regression released in 3.9.0b4 and 3.8.4.
go1.14.5 (released 2020/07/14) includes security fixes to the crypto/x509 and
net/http packages. See the Go 1.14.5 milestone on our issue tracker for
details.
go1.14.6 (released 2020/07/16) includes fixes to the go command, the compiler,
the linker, vet, and the database/sql, encoding/json, net/http, reflect, and
testing packages. See the Go 1.14.6 milestone on our issue tracker for details.
go1.13.12 (released 2020/06/01) includes fixes to the runtime, and the go/types
and math/big packages. See the Go 1.13.12 milestone on our issue tracker for
details.
go1.13.13 (released 2020/07/14) includes security fixes to the crypto/x509 and
net/http packages. See the Go 1.13.13 milestone on our issue tracker for details.
go1.13.14 (released 2020/07/16) includes fixes to the compiler, vet, and the
database/sql, net/http, and reflect packages. See the Go 1.13.14 milestone
on our issue tracker for details.
pkglint 20.2.0 (and a bit earlier) does not insist on entries
for directories any longer that do not contain complete packages.
Remove them.
While here, fix security/Makefile that had two missing entries.
Python 3.8.4 final
Security
bpo-41162: Audit hooks are now cleared later during finalization to avoid missing events.
bpo-29778: Ensure python3.dll is loaded from correct locations when Python is embedded (CVE-2020-15523).
Core and Builtins
bpo-41247: Always cache the running loop holder when running asyncio.set_running_loop.
bpo-41252: Fix incorrect refcounting in _ssl.c’s _servername_callback().
bpo-41218: Python 3.8.3 had a regression where compiling with ast.PyCF_ALLOW_TOP_LEVEL_AWAIT would aggressively mark list comprehension with CO_COROUTINE. Now only list comprehension making use of async/await will tagged as so.
bpo-41175: Guard against a NULL pointer dereference within bytearrayobject triggered by the bytearray() + bytearray() operation.
bpo-39960: The “hackcheck” that prevents sneaking around a type’s __setattr__() by calling the superclass method was rewritten to allow C implemented heap types.
Library
bpo-41235: Fix the error handling in ssl.SSLContext.load_dh_params().
bpo-41193: The write_history() atexit function of the readline completer now ignores any OSError to ignore error if the filesystem is read-only, instead of only ignoring FileNotFoundError and PermissionError.
bpo-41043: Fixed the use of glob() in the stdlib: literal part of the path is now always correctly escaped.
bpo-39384: Fixed email.contentmanager to allow set_content() to set a null string.
IDLE
bpo-37765: Add keywords to module name completion list. Rewrite Completions section of IDLE doc.
bpo-41152: The encoding of stdin, stdout and stderr in IDLE is now always UTF-8.
Python 3.8.4 release candidate 1
Security
bpo-41004: The __hash__() methods of ipaddress.IPv4Interface and ipaddress.IPv6Interface incorrectly generated constant hash values of 32 and 128 respectively. This resulted in always causing hash collisions. The fix uses hash() to generate hash values for the tuple of (address, mask length, network address).
bpo-39073: Disallow CR or LF in email.headerregistry.Address arguments to guard against header injection attacks.
Core and Builtins
bpo-41094: Fix decoding errors with audit when open files with non-ASCII names on non-UTF-8 locale.
bpo-41056: Fixes a reference to deallocated stack space during startup when constructing sys.path involving a relative symlink when code was supplied via -c. (discovered via Coverity)
bpo-35975: Stefan Behnel reported that cf_feature_version is used even when PyCF_ONLY_AST is not set. This is against the intention and against the documented behavior, so it’s been fixed.
bpo-40957: Fix refleak in _Py_fopen_obj() when PySys_Audit() fails
bpo-40870: Raise ValueError when validating custom AST’s where the constants True, False and None are used within a ast.Name node.
bpo-40826: Fix GIL usage in PyOS_Readline(): lock the GIL to set an exception and pass the Python thread state when checking if there is a pending signal.
bpo-40824: Unexpected errors in calling the __iter__ method are no longer masked by TypeError in the in operator and functions contains(), indexOf() and countOf() of the operator module.
bpo-40663: Correctly generate annotations where parentheses are omitted but required (e.g: Type[(str, int, *other))].
Library
bpo-41138: Fixed the trace module CLI for Python source files with non-UTF-8 encoding.
bpo-31938: Fix default-value signatures of several functions in the select module - by Anthony Sottile.
bpo-41068: Fixed reading files with non-ASCII names from ZIP archive directly after writing them.
bpo-41058: pdb.find_function() now correctly determines the source file encoding.
bpo-41056: Fix a NULL pointer dereference within the ssl module during a MemoryError in the keylog callback. (discovered by Coverity)
bpo-41048: mimetypes.read_mime_types() function reads the rule file using UTF-8 encoding, not the locale encoding. Patch by Srinivas Reddy Thatiparthy.
bpo-40448: ensurepip now disables the use of pip cache when installing the bundled versions of pip and setuptools. Patch by Krzysztof Konopko.
bpo-40855: The standard deviation and variance functions in the statistics module were ignoring their mu and xbar arguments.
bpo-40807: Stop codeop._maybe_compile, used by code.InteractiveInterpreter (and IDLE). from from emitting each warning three times.
bpo-40834: Fix truncate when sending str object with_xxsubinterpreters.channel_send.
bpo-38488: Update ensurepip to install pip 20.1.1 and setuptools 47.1.0.
bpo-40767: webbrowser now properly finds the default browser in pure Wayland systems by checking the WAYLAND_DISPLAY environment variable. Patch contributed by Jérémy Attali.
bpo-40795: ctypes module: If ctypes fails to convert the result of a callback or if a ctypes callback function raises an exception, sys.unraisablehook is now called with an exception set. Previously, the error was logged into stderr by PyErr_Print().
bpo-30008: Fix ssl code to be compatible with OpenSSL 1.1.x builds that use no-deprecated and --api=1.1.0.
bpo-40614: ast.parse() will not parse self documenting expressions in f-strings when passed feature_version is less than (3, 8).
bpo-40626: Add h5 file extension as MIME Type application/x-hdf5, as per HDF Group recommendation for HDF5 formatted data files. Patch contributed by Mark Schwab.
bpo-25872: linecache could crash with a KeyError when accessed from multiple threads. Fix by Michael Graczyk.
bpo-40597: If text content lines are longer than policy.max_line_length, always use a content-encoding to make sure they are wrapped.
bpo-40515: The ssl and hashlib modules now actively check that OpenSSL is build with thread support. Python 3.7.0 made thread support mandatory and no longer works safely with a no-thread builds.
bpo-13097: ctypes now raises an ArgumentError when a callback is invoked with more than 1024 arguments.
bpo-40457: The ssl module now support OpenSSL builds without TLS 1.0 and 1.1 methods.
bpo-39830: Add zipfile.Path to __all__ in the zipfile module.
bpo-40025: Raise TypeError when _generate_next_value_ is defined after members. Patch by Ethan Onstott.
bpo-39244: Fixed multiprocessing.context.get_all_start_methods to properly return the default method first on macOS.
bpo-39040: Fix parsing of invalid mime headers parameters by collapsing whitespace between encoded words in a bare-quote-string.
bpo-35714: struct.error is now raised if there is a null character in a struct format string.
bpo-36290: AST nodes are now raising TypeError on conflicting keyword arguments. Patch contributed by Rémi Lapeyre.
bpo-29620: assertWarns() no longer raises a RuntimeException when accessing a module’s __warningregistry__ causes importation of a new module, or when a new module is imported in another thread. Patch by Kernc.
bpo-34226: Fix cgi.parse_multipart without content_length. Patch by Roger Duran
Tests
bpo-41085: Fix integer overflow in the array.array.index() method on 64-bit Windows for index larger than 2**31.
bpo-38377: On Linux, skip tests using multiprocessing if the current user cannot create a file in /dev/shm/ directory. Add the skip_if_broken_multiprocessing_synchronize() function to the test.support module.
bpo-41009: Fix use of support.require_{linux|mac|freebsd}_version() decorators as class decorator.
bpo-41003: Fix test_copyreg when numpy is installed: test.pickletester now saves/restores warnings filters when importing numpy, to ignore filters installed by numpy.
bpo-40964: Disable remote imaplib tests, host cyrus.andrew.cmu.edu is blocking incoming connections.
bpo-40055: distutils.tests now saves/restores warnings filters to leave them unchanged. Importing tests imports docutils which imports pkg_resources which adds a warnings filter.
bpo-34401: Make test_gdb properly run on HP-UX. Patch by Michael Osipov.
Build
bpo-40204: Pin Sphinx version to 2.3.1 in Doc/Makefile.
bpo-40653: Move _dirnameW out of HAVE_SYMLINK to fix a potential compiling issue.
Windows
bpo-41074: Fixed support of non-ASCII names in functions msilib.OpenDatabase() and msilib.init_database() and non-ASCII SQL in method msilib.Database.OpenView().
bpo-40164: Updates Windows OpenSSL to 1.1.1g
bpo-39631: Changes the registered MIME type for .py files on Windows to text/x-python instead of text/plain.
bpo-40677: Manually define IO_REPARSE_TAG_APPEXECLINK in case some old Windows SDK doesn’t have it.
bpo-40650: Include winsock2.h in pytime.c for timeval.
bpo-39148: Add IPv6 support to asyncio datagram endpoints in ProactorEventLoop. Change the raised exception for unknown address families to ValueError as it’s not coming from Windows API.
macOS
bpo-39580: Avoid opening Finder window if running installer from the command line. Patch contributed by Rick Heil.
bpo-41100: Fix configure error when building on macOS 11. Note that the current Python release was released shortly after the first developer preview of macOS 11 (Big Sur); there are other known issues with building and running on the developer preview. Big Sur is expected to be fully supported in a future bugfix release of Python 3.8.x and with 3.9.0.
bpo-41005: fixed an XDG settings issue not allowing macos to open browser in webbrowser.py
bpo-40741: Update macOS installer to use SQLite 3.32.2.
IDLE
bpo-41144: Make Open Module open a special module such as os.path.
bpo-39885: Make context menu Cut and Copy work again when right-clicking within a selection.
bpo-40723: Make test_idle pass when run after import.
Tools/Demos
bpo-40479: Update multissltest helper to test with latest OpenSSL 1.0.2, 1.1.0, 1.1.1, and 3.0.0-alpha.
bpo-40163: Fix multissltest tool. OpenSSL has changed download URL for old releases. The multissltest tool now tries to download from current and old download URLs.
This needs pkg-config available in order to handle dependencies to
build its Freetype FT2Plugin component. This fixes the build under
NetBSD, though SunOS at least has other problems, too. (While here,
also tweak a variable reference to the common form, noted by pkglint.)
MoonScript is a dynamic scripting language that compiles into Lua. It gives
you the power of one of the fastest scripting languages combined with a rich
set of features.
MoonScript can either be compiled into Lua and run at a later time, or it
can be dynamically compiled and run using the moonloader. It's as simple as
require "moonscript" in order to have Lua understand how to load and run
any MoonScript file.
Because it compiles right into Lua code, it is completely compatible with
alternative Lua implementations like LuaJIT, and it is also compatible with
all existing Lua code and libraries.
The command line tools also let you run MoonScript directly from the command
line, like any first-class scripting language.
Update php72 to 7.2
09 Jul 2020, PHP 7.2.32
- Core:
. No source changes to this release.
Vesion number added for reproduction of Windows builds. (cmb)
14 May 2020, PHP 7.2.31
- Core:
. Fixed bug #78875 (Long filenames cause OOM and temp files are not cleaned).
(CVE-2019-11048) (cmb)
. Fixed bug #78876 (Long variables in multipart/form-data cause OOM and temp
files are not cleaned). (CVE-2019-11048) (cmb)
PR 55227
Pkgsrc changes: a newer version (5.2) of texinfo is required to build the documentation.
This updates breaks math/maxima when built with ecl (clisp is the default). Maxima
upstream has already fixed this in a later release.
From the CHANGELOG file:
** Announcement
Dear Community,
After more than three years of development, we are proud to announce a new
ECL release having the version tag `20.4.24`. During that time many
important improvements have been made including bug fixes, stability
enhancements and new features. Changes include but are not limited to:
- package local nicknames support
- atomic operations support
- specialized representations of complex float types
- a port to the iOS platform
- fixes for weak hash tables and weak pointers
- fixes for race conditions in the ECL internals
- hash table extensions (synchronization and custom test functions)
- better MOP conformance and improved meta-stability
- improvements to the manual
For more information please read the file CHANGELOG which is located in the
source code, and browse commits. We'd like to thank all people who made
this release possible by contributions of code, documentation, issue
reports, testing and others. Some of them are listed here (without any
particular order): Paul Ruetz, Karsten Poeck, Vadim Penzin, Roger Sen, Stas
Boukarev, Michael Fox, Erik Bray, Bo Yao, Jeremy Cooper, Florian Margaine,
Fabrizio Fabbri, Tomek Kurcz, Kris Katterjohn, Marcin Kolenda, Zhang Yuguo,
Sébastien Villemot, Moritz Petersen, Marius Gerbershagen and Daniel
Kochmański. We'd also like to thank the company Rigetti Computing for
sponsoring the work on specialized complex float representations.
We have another important announcement we'd like to make. Embeddable
Common-Lisp project has now two maintainers: Daniel Kochmański and Marius
Gerbershagen. After numerous contributions from Marius I've proposed him
this responsibility and to my rejoice he has accepted it. That reflects our
community growth.
This release is available for download in a form of a source code archive
(we do not ship prebuilt binaries):
- [ECL 20.4.24 tarball archive](https://common-lisp.net/project/ecl/static/files/release/ecl-20.4.24.tgz)
- [The ECL Manual](https://common-lisp.net/project/ecl/static/manual/)
Happy Hacking,
The ECL Developers
** Enhancements
- iOS support thanks to the help of P. Ruetz and gitlab user Whimse
- hash-table may now have a custom equivalence predicate
- ~make-load-form-with-slots~ works for structs even if slot names are not interned
- ~ext:weak-pointer-value~ returns two values (value and its presence)
- specialized complex float types based on C99 complex numbers have been
added, together with corresponding specialized array element types.
- support for atomic operations added with an interface similar to SBCL.
Currently (SBCL 1.4.12), it differs in the following points:
- the set of supported places is slightly different
- ~atomic-incf/decf~ always implement modular arithmetic with respect to
the width of a fixnum, instead of a width of 64 bits as for some places
in SBCL.
- Functions such as ~(cas foo)~ analogous to ~(setf foo)~ are not allowed
in ECL.
- The arguments of ~defcas~ are consistent with the short form of
~defsetf~ in contrast to SBCL, where they are different.
- compare-and-swap expansions can be removed with ~remcas~
- experimental support for serializing Lisp objects in compiled files
directly instead of using the reader for faster loading of .fas files
(configure option ~--enable-serialization~).
- improvements to C backtrace interface. Compile with CFLAGS+="-rdynamic"
./configure ... (Unix) or nmake ECL_USE_DBGHELP=yes ... (MSVC) to take
full advantage of this feature.
- better handling of fifo files (see man 7 fifo)
- unicode names are always linked for unicode builds (~--with-unicode-names~ removed)
- numerous bytecodes compiler enhancements
- ~ext:run-program~: process streams may be virtual streams (for instance
~*standard-output*~ in slime, or a string-output-stream)
- ~ext:run-program~: environ argument defaults to ~:default~, when NIL
passed empty environment is used
- compiler: when gcc fails ecl prints the failing command output
- ASDF has been updated to 3.1.8.8
- The Boehm-Demers-Weiser garbage collector has been updated to version 7.6.8
- libffi has been updated to version 3.3
- package local nicknames has been implemented (after SBCL)
- hash table extensions are documented in newdoc
- various cleanups performed in the compiler
- compiler is less verbose by default now
- ~ext:run-program~ has been rewritten (almost) from scratch
- improved documentation of operating system interface (newdoc)
- example of parsing arguments in standalone executable (newdoc)
- example of using shared libraries from C world (newdoc)
- reduced =format= directive tables size
- simplified ~atan2~ implementation by using c99 equivalent - now we
produce correct output for signed zeros, infinities and nans.
- configure script supports new options =--with-libgc-prefix=,
=--with-libgc-incdir= and =--with-libgc-libdir= (these flags work the
same as flags for =libffi= and =libgmp=)
** Issues fixed
- issues with type system revealed by sbcl bootstrapping are gone
- classes are not defined at compilation time
- weak hashtables mishandled weak values when keys were present
- gethash on weak hashtables returned the pointer instead of the value
- maphash on weak hashtables mapped over pointers instead of the values
- initarg caches are now invalidated when new methods are defined. Problem
found and fixed by Alexander Wood.
- ECL allocated too much space in lisp stack. Instead of the specified size
x in bytes, ECL allocated roughly x^2/p where p is defined in
LISP_PAGESIZE (2048 by default). If you're setting the value of
ECL_OPT_LISP_STACK_SIZE, please check whether you really have
set a high enough value.
- ~block/return-from~ fixed (didn't work across some closure boundaries)
- ~mp:semaphore-signal~ fixed (race when count was > 1)
- Multiple native threads issues fixed
- ASDF systems like foo/base and bar/base doesn't have conflicts in bundles
- interactive input stream in ext:run-program on Windows
- removed race condition between waitpid and sigchld handler on UNIX
- buildsystem parallel builds work (i.e make -j999)
- ECL builds on consoles with unusual encodings on Windows (i.e cp936)
** API changes
- ~LISP~ and ~USER~ package nicknames to ~COMMON-LISP~ and
~COMMON-LISP-USER~ are removed
- make-hash-table accepts a new keyword argument ~:hashing-function~
- no-op ~--enable-asmapply~ configure option has been removed
- ~profile~ and ~rt~ contribs are now deprecated and disabled by default
- thread-local variable support has been removed (~--with___thread~)
- deprecated configure option ~--enable-opcode8~ has been removed
- mk-defsystem is not build by default (enable by ~--with-defsystem=yes~)
- asdf:make-build accepts ~:init-name~ argument for libraries
this allows specifying human-memorable initialization function name to call
in C code
- package local nicknames protocol (documented in newdoc)
- make-hash-table accepts ~:synchronize~ flag for thread safe variant. New
predicate ~ext:hash-table-synchronized-p~ implemented
- make-hash-table ~:weakness~ argument new variant ~:key-or-value~
implemented
- No more explicit option in ~main.d~ to trap SIGCHLD asynchronously
- Zombie processes are cleaned in ~external-process~ finalizer. If process
is still referenced in the memory, it's programmer duty to call wait.
- The ECL_OPT_SIGALTSTACK_SIZE option has been removed, because it had no
effect.
- Non-standard package nicknames (USER for COMMON-LISP-USER and LISP for
COMMON-LISP) have been removed.
"Okay if you have tested it" from wiz@, tested mostly with math/maxima.
It's not really cross-compiled, it's just a different target name, but is
treated the same way. Once stabilised and crate support catches up we'll
switch over to it by default from x86_64-sun-solaris. Until then I'll
build bootstrap kits for both natively.
While here fix up a bunch of obvious pkglint warnings.