We have API changes (#$ and with-rwlock) and various bugfixes. Note
that it's not the release yet, just version bump.
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
Array used for initialization is an array of the final values of
internal vector used to generate next randoms which should be a
product of initialization from a random seed.
This ability is required by CLHS to be able to read back the printed
random state. To print readable representation of random state
*print-readably* should be bound to T.
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
We want this to be able to initialize random state from the fixnum and
from the array (following commits). This also simplifies code a
little.
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
Previous code had some deviations from the original algorithm and a
bug preventing the use of the value acquired from /dev/urandom. This
is the corrected version.
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
Implementation of random seed buffer filler for windows were shadowing
using /dev/urandom source. I'm convinced that author's intention was
to put there "else".
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
directories: don't break on broken symlinks
ECL when asked for a truename of a broken symbolic link signalled an
`file-error'. This isn't non-conformity, because spec doesn't specify
such situation, but lead to annoying errors with DIRECTORIES when even
irrelevant files were broken symlinks.
New behavior is as follows - broken symlinks are treated as regular
files (of :LINK kind) and no error is signalled. They aren't ignored
due to a few corner cases related to PROBE-FILE, OPEN and such.
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
See merge request !13
reader: fix backquote reader if the input is incomplete
This makes behaviour consistent with single-quote reader. Fixes#159.
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
See merge request !12
ECL when asked for a truename of a broken symbolic link signalled an
`file-error'. This isn't non-conformity, because spec doesn't specify
such situation, but lead to annoying errors with DIRECTORIES when even
irrelevant files were broken symlinks.
New behavior is as follows - broken symlinks are treated as regular
files (of :LINK kind) and no error is signalled. They aren't ignored
due to a few corner cases related to PROBE-FILE, OPEN and such.
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
Each key used in core environment has to be declared beforehand in
`symbols_list.h'. Fixes#166. Fixes#149.
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
Heap related fixes
- User-defined heap sizes can now exceed the size of a fixnum on 32-bit
Fixes issue #140
- The heap size limit was intended to be 1GB on 32-bit or 4GB on 64-bit
but inconsistency between ECL_FIXNUM_BITS and FIXNUM_BITS in the code
prevented the heap to grow for 64-bit. This now occurs, and a few
other less visible bugs were fixed by restoring consistency to
ECL_FIXNUM_BITS.
See merge request !11
Fixes issue #140
- The heap size limit was intended to be 1GB on 32-bit or 4GB on 64-bit
but inconsistency between ECL_FIXNUM_BITS and FIXNUM_BITS in the code
prevented the heap to grow for 64-bit. This now occurs, and a few
other less visible bugs were fixed by restoring consistency to
ECL_FIXNUM_BITS.
This was disabled from outside of ecl-min (not sure why). Achieved
with bounding ext::*register-with-pde-hook* to already defined
Works ok with swank for both macros and functions.
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
and "-INFINITY" for negative infinity. These corner-cases lead to
compilation error, so no regression will be imposed even against
non-c99 compilers.
INFINITY and NAN macros are introduced by C99 standard, so such code
requires C-backend to support this math extension. Fixes#156.
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
"style" temporary branch
The ECL code no longer uses tabulator characters, they were replaced
by spaces.
A custom script was used to insert/replace Emacs and ViM per-file editor
settings according to their type and the new ECL coding style.
See merge request !8
CLOS printer uses normal strings while float_to_string.d calls
push_base_string to cache printable form of infinity (and nan). Coerce
clos strings to base-string. Fixes#153. Related to #114.
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>