Lukas Böger
b0c0afcb73
prefer configure_file over manual file(WRITE ...)
2021-07-13 14:03:24 +01:00
Alex Shinn
8247e13baf
remove superfluous + when printing complex numbers with negative ratio imaginary parts
2021-05-26 10:05:40 +09:00
Alex Shinn
4d22949f71
disable fileno unification by default
2021-04-27 18:30:43 +09:00
Alex Shinn
3cf62f033a
store stack traces directly in top-level exceptions to more consistently be able to report them from C
2021-04-26 21:40:39 +09:00
Alex Shinn
42aab7905c
enable SEXP_USE_STRICT_TOPLEVEL_BINDINGS by default (issue #699 )
2021-04-19 10:46:26 +09:00
Alex Shinn
af43c3214f
add sexp_user_exception_ls variadic convenience
2021-04-16 10:06:03 +09:00
McKay Marston
683554c2ab
make 9front "work" again by properly handling 64-bit typedefs
2021-02-20 17:10:43 -07:00
Alex Shinn
56a31f9cb0
don't declare image loading operations if not enabled (issue #714 )
2020-11-25 23:16:12 +09:00
Alex Shinn
4e1ff91cbb
patch for plan9 build from raingloom
2020-10-11 21:31:42 +09:00
Alex Shinn
60c4007e6f
adding thread-interrupt! so that (chibi repl) can preserve continuations (issue #686 )
2020-08-25 14:09:29 +09:00
Alex Shinn
4335d238fb
image options are harmless in non-image build; images not supported on 32-bit arch
2020-07-31 15:32:59 +09:00
Alex Shinn
306cc73bd6
Revert "image options are harmless in non-image build; images not supported on 32-bit arch"
...
This reverts commit 9b859eda36
.
2020-07-31 15:32:18 +09:00
Alex Shinn
9b859eda36
image options are harmless in non-image build; images not supported on 32-bit arch
2020-07-31 15:31:43 +09:00
Alex Shinn
60ee6d70d0
move remaining fields to start of types
2020-07-30 00:19:21 +09:00
Alex Shinn
36f188d274
adding notes about benchmarks for string-ref approaches
2020-07-29 12:28:40 +09:00
Alex Shinn
113560aeb7
avoid // comments
2020-07-28 15:13:38 +09:00
Alex Shinn
23e62275df
fixing scheme bytevector for 32bit arch
2020-07-28 15:09:40 +09:00
Alex Shinn
edcddd7299
fixing 64-bit uvectors
2020-07-27 16:08:24 +09:00
Alex Shinn
983829cab1
better inexact computation for ratios which overflow double (issue #671 )
2020-07-15 16:38:56 +09:00
Alex Shinn
e300659662
don't export sexp_primitive_opcodes (issue #669 )
2020-07-14 10:08:21 +09:00
Alex Shinn
2bdaebe8c7
wrap uncaught non-exceptions (issue #664 )
2020-07-06 16:20:40 +09:00
Alex Shinn
2b82ef68d4
fix placement of dl in context (issue #657 )
2020-06-09 01:13:28 +09:00
Alex Shinn
4ec2167f62
making the abi a little more stable by default
2020-06-08 00:54:36 +09:00
okuoku
1b46d91053
Win32: Guess SEXP_USE_GREEN_THREADS
...
Guess SEXP_USE_GREEN_THREADS=0 ifdef `_WIN32`.
2020-06-05 05:59:33 +09:00
Alex Shinn
6caca77426
adding (scheme bytevector)
2020-05-31 23:24:51 +09:00
Alex Shinn
95310e5823
no more strcpy/sprintf (issue #653 )
2020-05-27 18:35:18 +09:00
Alex Shinn
61f2983fad
apply an explicit max vector length check (issue #636 )
2020-05-22 14:13:48 +09:00
Amirouche
d2006daa3c
Fix build with emscripten to run chibi in the browser.
...
emcc (Emscripten gcc/clang-like replacement) 1.39.16 (9ecd579ac647c4484e2d9af2ab0bbc1e1505aa95)
Thanks @pmp-p.
2020-05-17 10:52:46 +02:00
Vitaliy Mysak
5726c2e490
Prevent stack overflow in sexp_mark_one (issue #601 )
...
Replace explicit recursion by heap allocations
in sexp_mark_one code.
This prevents crashes caused by stack overflow.
In particular, fixes issue #601 .
As an optimization, allocate a fixed sized stack buffer first,
which should be enough for "normal" uses.
When that stack overflows, switch to heap.
Also, store "ranges" on the stack, instead of the actual sexp's,
using the fact that sexp's of a single parent are continous in memory.
This patch doesn't remove recursion on the context saves
because it didn't seem like they overflow in practice.
But changing that is simple having the stack interface.
2020-05-15 20:11:50 +02:00
Donaim
bd62a076c6
Avoid undefined C macro behavior
...
MacOS and clang compilers complain about undefined behavior
in C macro.
Rewrite macro to solve that.
Fixes issue #638
2020-05-13 22:23:17 +02:00
Alex Shinn
89201a4e20
remove bad redefinition of sexp_context_gc_count (issue #632 )
2020-05-12 10:39:27 +09:00
Alex Shinn
83e82f55a7
tweaks for fixed-size heaps, fix issue #632
2020-05-11 10:43:36 +09:00
Alex Shinn
e3db106f96
instrumenting alloc times and sizes
2020-05-06 23:39:01 +09:00
Alex Shinn
9100909ae1
better defaults and debugging for fixed size chunks
2020-05-05 00:41:20 +09:00
Alex Shinn
156ddf793d
better benchmark timing
2020-05-03 17:05:53 +09:00
Kris Katterjohn
4c1af8c92a
Fix NetBSD, DragonFly BSD and Darwin feature detection
...
On NetBSD systems the netbsd feature identifier was not actually
provided because the macro SEXP_NETBSD was defined twice and the
second value was 0.
On DragonFly systems the dragonfly feature identifier was not actually
provided because the macro SEXP_DRAGONFLY was defined twice and the
second value was 0. Also on DragonFly systems the darwin feature
identifier was incorrectly provided because SEXP_DARWIN had a value of
1 instead of 0.
2019-08-15 19:03:57 -05:00
Andrew Gwozdziewycz
e5ae89c9c6
Define / detect explicit features for BSD platforms
2019-08-02 11:33:59 -07:00
okuoku
3d4e8bb3e6
Introduce SEXP_STATIC_LIBRARY
...
Introduce SEXP_STATIC_LIBRARY to support static-library build on
Win32/Win64. On Win32, symbol visibility is enforced on DLL builds so we
need to dedicated ABI on static-library builds.
2019-06-23 05:46:22 +09:00
Alex Shinn
104811942f
fixing read-line on network ports
2019-05-04 13:18:27 +08:00
Lassi Kortela
2dc4353604
Avoid compiler warning about mismatched printf types
...
Under Unix with SEXP_64_BIT defined, sexp_sint_t is defined as 'long'.
But we would get the equivalent format specifier SEXP_PRIdFIXNUM from
the OS-defined PRId64 in <inttypes.h>. MacOS defines it as "lld". This
causes the clang printf checker to emit a warning about the 'long' and
'long long' mismatch.
Fix by avoiding system-defined PRId32 and PRId64 format specifiers and
always defining SEXP_PRIdFIXNUM as "d", "ld" or "lld" according to our
definition of sexp_sint_t as int, long or long long. This also means
we don't need to include <inttypes.h> any more.
2019-04-24 12:26:01 +03:00
Alex Shinn
08140baa3e
making builtin write bounded to avoid cycles (fixes issue #532 )
2019-04-02 22:31:33 +08:00
Alex Shinn
a94a2c7902
uvector fixes
2019-02-25 23:01:35 +08:00
Alex Shinn
9569460a58
add compile-time option to store precomputed index->cursor tables for strings
2019-01-26 05:35:27 +08:00
Alex Shinn
d24d75621d
fixing nofeature build
2019-01-16 08:33:04 +08:00
Alex Shinn
2b4394ea74
adding initial support for SRFI 160 uniform vectors
2019-01-15 23:43:50 +08:00
Alex Shinn
2c37dfedd3
Merge pull request #500 from mnieper/syntax-case
...
Implement syntax-case
2018-12-09 04:08:31 +08:00
Alex Shinn
9af77c9b4f
adding CHIBI_IGNORE_SYSTEM_PATH=1 env var (fixes issue #501 )
2018-12-06 00:54:21 +08:00
Marc Nieper-Wisskirchen
152b20f244
Implement syntax-case
2018-12-01 13:48:25 +01:00
Marc Nieper-Wisskirchen
f9be5c8d46
Make write/display output bytevectors with hex constants (issue #483 )
2018-11-06 14:22:38 +01:00
Ekaterina Vaartis
5f161d03ce
Add C++ extern "C" to gc_heap.h
2018-10-04 10:49:30 +03:00