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.
src/gmp/compile is broken symlink (not needed for compilation), which
were breaking ctags generation. Removed it.
Signed-off-by: Daniel Kochmanski <dkochmanski@hellsgate.pl>
If build failed at first time (ie due to wrong configure options),
second build was failing when trying to recreate some directories.
Signed-off-by: Daniel Kochmanski <dkochmanski@hellsgate.pl>
GCC has problems with detecting arm version, and libatomic_ops doesn't
build cleanly for armv5. This patch is taken from PKGBUILDs repository
of archlinuxarm distribution.
Signed-off-by: Daniel Kochmanski <dkochmanski@hellsgate.pl>
CLHS mandates that failure to determine or set the file position on a
stream should be signalled by returning NIL rather than raising an error.
Also, POSIX does not mandate that lseek fail on terminals, but these devices
obviously are not seekable. Hence, CLHS compliance is improved by explicitly
returning NIL when the requested stream is a tty.
Patch is necessary to implement this function in cffi - a few libraries
depends on this functionality, and until now it throws an error.
Signed-off-by: Daniel Kochmanski <dkochmanski@hellsgate.pl>
In general, any function declared with the 'ecl_attr_noreturn'
attribute might need to be defined to call __coverity_panic__() here.
See: https://scan.coverity.com/tune
The backslash in '\0' got lost on the way to the generated C file
(build/ext/sockets.c). There may be more of these issues elsewhere
in the code base.
This resolves CIDs 66405 and 66413 (Buffer not null terminated).
When the EQL specializer is a class it may clash with a class
specializer, since the class specializer is cached as a class object.
Use twice as much space for cache, the cache entry itself and a bit, 1
if it's an eql-specializer, 0 if it's a class specializer.
Fixes#295
RUNEs and RODs are not compatible with the result
of (RUNES:RUNE), because that returns (STRING ...), and
(TYPE-OF "Σ") has CHARACTERS, but
(TYPE-OF "a") "only" BASE-CHARs ...
At least CLISP, ABCL, SBCL return the same value for both
TYPE-OF forms above.