Additional sanity checks and bugfixes in case of providing extended
strings to character low-level functions.
Signed-off-by: Daniel Kochmański <dkochmanski@turtle-solutions.eu>
If directory is of type (simple-array character(*)), then coerce it to
(simple-array base-char (*)) instead of throwing an error.
Signed-off-by: Daniel Kochmański <dkochmanski@turtle-solutions.eu>
- libatomic_ops is updated accordingly,
- new directory for garbage collector is bdwgc,
- updated MSVC Makefiles,
- obsolete directories gc and gc-unstable are removed.
Additional macros has been proposed:
- with-setf-expansions maps setf expansions of places on provided list
into lists of pairs (bindings), stores, store-forms and
access-forms.
- with-expansion-setter creates lexically scoped function, which binds
forms to stores using multiple-value-binds, and at the end places
code provided at start macro-call.
Due to mistake, ext::make-encoding was pointing to si_make_encoding,
but si_make_encoding was calling ext::make-encoding, what caused
infinite recursion when building for windows, when codepage was
different then Latin-1.
cmptype-arith.lsp: problem introduced in commit
c0b23555c6 which added empty &optional
clause and &allow-other-keys capability to typespec for values.
Problem was, that multiple &optional keywords in typespec it
considered error, while
'(VALUES &OPTIONAL T &OPTIONAL T)
should return as optional part, list (T &optional T) - even if it
looks weird.
This patch fixes bug #292, where #'stable-sort weren't sorting in
place strings, when provided with predicate #'char-greaterp. This was
due to optimization, where if sequence was of type string or
vector-bit function #'sort was called (which invoked #'quicksort),
while for the rest cases merge-sort is used.
Optimization is reduced to use quicksort only on vector-bit sequences.
See: http://sourceforge.net/p/ecls/bugs/292/
- fix AC_DEFINE's,
- fix AC_DEFINE_QUOTED,
- add autoreconf to bdwgc if its not already configures
(this is the case for the latest)
- add directory src/ecl
- add file src/ecl/configpre.h generated by autoreconf.
Please run autoreconf -ivf next time if you wish to regenerate.
Maybe its better to switch to automake some time later.
-evrim.