Alex Shinn
1828ef068e
fix env size (issue #453 )
2020-12-28 12:07:54 +09:00
Alex Shinn
54f55569e2
document sexp_lookup_type (issue #718 )
2020-11-25 14:36:54 +09:00
Alex Shinn
77aab98784
Merge branch 'master' of github.com:ashinn/chibi-scheme
2020-09-22 17:37:33 +09:00
Alex Shinn
4ef6c57d3e
propagating #i prefix across radix prefixes (issue #706 )
2020-09-22 17:37:22 +09:00
Ben Davenport-Ray
9278222396
Prevent crashing from arithmetic exception when spawning lots of commands
...
This fix is rather dumb, but it prevents things from crashing when
forking a lot and creating file handles. I assume that this is where
the filehandles go, but I don't have a good guess.
2020-09-18 17:08:25 -04:00
Alex Shinn
9793fa0edf
inc fileno count on sexp_make_input_port (issue #690 )
2020-08-27 10:23:56 +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
0f6e0f56e0
assume polar tail for inexact complex following / (issue #333 )
2020-08-20 10:30:23 +09:00
Alex Shinn
287753f2e3
fix inexact polar notation (issue #333 )
2020-08-20 09:54:09 +09:00
Alex Shinn
60ee6d70d0
move remaining fields to start of types
2020-07-30 00:19:21 +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
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
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
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
Vitaliy Mysak
f449bd157d
fix compilation under std=c89
...
There were few things that prevented successful compilation
using c89 standard. (and other c* standards in case of gcc).
Fix them in this small patch.
Changes in 27/rand.c:
- Use __GNU_SOURCE__ instead of __GNU_LIBRARY__
or else any of -std=c* options don't work with gcc
- Add a check before using rand_r() as suggested in rand_r(3)
- Move _WIN_32 definitions to "else" branch because it uses the most portable version
2020-05-13 11:12:02 +02: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
1795014dae
throw an error on get-output-string on non-string-ports (issue #621 )
2020-03-25 17:15:06 +09:00
Alex Shinn
72971fd4f4
pipes should be escaped in symbols (fixes issue #571 )
2019-09-23 11:53:54 +08:00
Andrew Gwozdziewycz
e5ae89c9c6
Define / detect explicit features for BSD platforms
2019-08-02 11:33:59 -07:00
Andrew Gwozdziewycz
ac467ea314
Add features for the various BSDs.
...
This could and should be done cleaner. Works as a proof of concept at
this point in time.
2019-08-02 01:56:51 -07:00
Alex Shinn
4cba9d3e6c
Merge branch 'master' of github.com:ashinn/chibi-scheme
2019-04-02 22:31:45 +08:00
Alex Shinn
08140baa3e
making builtin write bounded to avoid cycles (fixes issue #532 )
2019-04-02 22:31:33 +08:00
Ondřej Majerech
7d82b76bc3
Fix tests on Windows
2019-03-13 22:56:06 +01:00
Alex Shinn
a94a2c7902
uvector fixes
2019-02-25 23:01:35 +08:00
Alex Shinn
7b3413ec1a
fixing bounds checks on u32 and u64 vectors
2019-02-21 02:55:35 +08:00
Alex Shinn
ef0a8bd199
restoring efficient read-line
2019-01-27 22:10: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
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
521e23e3c7
Reduce error in sexp_read_float_tail (from Taylor R Campbell)
...
scale*10 is computed exactly until scale exceeds 2^54/10; in
contrast, scale*0.1 may not be computed exactly, and fl(0.1) is not
even 0.1.
WARNING: This change is not complete -- it does nothing to prevent
overflow with very long strings of digits after the decimal point.
2018-12-02 12:22:14 +08:00
Marc Nieper-Wisskirchen
152b20f244
Implement syntax-case
2018-12-01 13:48:25 +01:00
Alex Shinn
5bbef040c5
BSD portability fixes from Taylor Campbell
2018-11-27 23:01:23 +08:00
Marc Nieper-Wisskirchen
5519679dcd
Display zeros in bytevectors as '0'
2018-11-08 16:16:07 +01:00
Marc Nieper-Wisskirchen
f9be5c8d46
Make write/display output bytevectors with hex constants (issue #483 )
2018-11-06 14:22:38 +01:00
Alex Shinn
0efa071672
use PRId64/32 where available for printing fixnums (issue #479 )
2018-06-29 22:44:16 +08:00
Alex Shinn
f5a228ee9e
fixing bug in flushed output on custom ports
2018-06-23 19:21:38 +08:00
Alex Shinn
39043bc47c
support infinite real with exact zero imaginary literals (issue #474 )
2018-06-09 18:02:50 +08:00
Alex Shinn
22f87f67ab
char names should obey case-(in)sensitivity (issue #471 )
2018-05-12 19:43:02 +08:00
Alex Shinn
f67f63d570
fixing number->string for numbers within an ulp of round numbers
2018-04-01 21:01:58 +09:00
Kris Katterjohn
5e80cb2c2b
In my last commit, make the feature variable a gc variable
2018-03-31 20:23:00 -05:00
Kris Katterjohn
dc80bf4f04
Avoid placing duplicate feature identifiers in the (features) list
...
In my case "bsd" was present twice on my *BSD boxes
2018-03-31 14:19:18 -05:00
okuoku
960c962798
Win32: Include <io.h> on sexp.c
...
Use POSIX-like functions(open, read and write) from its
compatibility library.
2017-12-13 17:20:53 +09:00