Commit graph

66 commits

Author SHA1 Message Date
Alex Shinn
74162906f3 Adding optional stack traces on potential GC misses detected by conservative tracing. 2014-01-30 22:18:23 +09:00
Alex Shinn
3c250ef8a7 Adding missing R7RS promise? and test cases. 2014-01-30 12:32:19 +09:00
Alex Shinn
982f39ed97 Removing implicit const cast warnings. 2014-01-21 22:41:25 +09:00
Alex Shinn
4ade4f7d2a Always ensure a trailing .0 when a printed flonum has neither a decimal nor e. 2014-01-19 12:36:59 +09:00
Alex Shinn
cbe6759304 Prefer lowercase for hex digits. 2013-12-27 13:44:38 +09:00
Alex Shinn
3995c4505f Writing out the pointer value of unwritable types. 2013-10-10 16:27:30 +09:00
Alex Shinn
03b4ccc848 Writing out syntactic closures in the simple writer. 2013-10-07 18:54:04 +09:00
Alex Shinn
a62d82e048 Proper, general fix for Boehm for sexp_read_float_tail. 2013-07-28 19:11:12 +09:00
Alex Shinn
6dea74036a Making C string port API names match the Scheme side. 2013-07-21 15:24:04 +09:00
Alex Shinn
025f03fde6 sexp_string_size and sexp_string_length both return sexp_uint_t. 2013-07-21 15:03:22 +09:00
Alex Shinn
13b540418e C-level string API redesign with cursor support.
s/sexp_string_length/sexp_string_size/
Make sexp_string_ref/sexp_string_set Unicode aware.
Provide cursor level alternatives for efficiency.
Document all of this.
2013-07-21 14:59:51 +09:00
Alex Shinn
f5d60050a5 Fixing bug in sexp_read_float_tail when compiled with Boehm GC,
where an uninitialized value could be read.
Fixes issue #184.
2013-07-20 02:02:21 +00:00
Alex Shinn
83fb186edc Wrapping continuable exceptions in specially tagged exceptions rather than pairs.
This way C functions that check for and print exceptions support them
automatically.  Notably continuable errors in macro expansions, will had
temporarily been suppressed, are printed again.
2013-06-15 17:47:37 +09:00
Alex Shinn
2b5f8ea007 Adding -s option to escalate warnings to errors.
Fixes issue #107.
2013-05-31 23:31:03 +09:00
Alex Shinn
0686b03258 Fixing source info tracking in \<newline> string escapes and multi-lined comments. 2013-05-28 21:29:34 +09:00
Alex Shinn
99d9203362 \<space><newline><space> should only skip one line 2013-05-28 21:24:21 +09:00
Alex Shinn
55df642dab Better initial defaults for equality bounds checking. 2013-01-26 23:42:22 +09:00
Alex Shinn
7d3d700300 adding type check to lookup-type 2013-01-19 01:30:49 +09:00
Alex Shinn
ec21e90e16 #; followed by non-datum tokens is an error 2013-01-14 19:36:25 +09:00
Alex Shinn
3c45fb564a Patch from Lorenzo fixing premature reclamation of fd's still in use. 2012-12-25 21:54:01 +09:00
Alex Shinn
b63537a8cc Signalling error on '(x . .) read syntax. 2012-12-15 10:26:11 +09:00
Alex Shinn
b4c2bbb625 delete-file raises a file-error on failure.
Other file operations continue to return #t/#f - may change this later.
2012-12-04 20:09:21 +09:00
Alex Shinn
f63d55aadb Adjusting check from last change - look for lists, not vectors. 2012-11-23 17:05:18 +09:00
Alex Shinn
3cefb4fce6 Adding extra check in port finalization before freeing the buffer.
Thanks again to Lorenzo.
2012-11-23 16:57:57 +09:00
Alex Shinn
9ed2f9a27a Fixing memory leak in string ports found by Lorenzo.
In the future this will be simplified by dropping support for
C string streams and never using malloc for buffers.
2012-11-23 11:17:08 +09:00
Alex Shinn
28f49d5252 Fixing potential buffer overflow. 2012-11-11 14:36:11 +09:00
Alex Shinn
4ffcba797c Supporting unicode characters in \x string escapes. 2012-11-11 14:13:35 +09:00
Alex Shinn
44c643c7cf Adding support for complex literals in exponential format. 2012-11-11 12:26:03 +09:00
Alex Shinn
c0fc89ece4 Supporting (partially) infinite complex numbers. 2012-10-31 23:41:53 +09:00
Alex Shinn
4f554499f8 char-ready? shouldn't block, should return #t on EOF 2012-10-21 18:10:45 +09:00
Alex Shinn
9aa03c0a09 Updating eqv? definition (from pre-bignum days) to latest R7RS definition. 2012-10-17 20:53:56 +09:00
Alex Shinn
74d0980b82 Adding file-error? and read-error? predicates. 2012-10-14 23:27:16 +09:00
Alex Shinn
03518e5bab don't write zero bytes on flush (more efficient and avoids sigpipe) 2012-09-25 22:46:12 +09:00
Alex Shinn
9da98bd68d Finalizing stream/fd backed ports will properly flush them.
However, don't try to flush string/custom ports which could result in alloc during gc.
2012-09-23 23:28:09 +09:00
Alex Shinn
00f71d9bd5 Writing nicer type names. 2012-09-17 18:00:36 +09:00
Alex Shinn
d56d6fd8c6 Printing error messages when child threads terminate by default. 2012-09-17 15:03:48 +09:00
Alex Shinn
ca0244f58e Resetting debug fp on normal return from apply.
Fixes #145.  "Returned" exceptions in the default
repl still print as if they were raised.
2012-08-19 22:58:05 +09:00
Alex Shinn
b40370be52 thread-join! now returns the result or raises the exception of the joined thread 2012-08-15 21:23:39 +09:00
Alex Shinn
fd87e62ec0 need to initialize thread timeout flag to false 2012-07-21 17:36:35 +09:00
Alex Shinn
016560e5fe Additional OOM checks - harder but still not impossible to segfault on OOM. 2012-07-17 23:40:16 +09:00
Alex Shinn
16b71a1f22 port predicates can be called on any object 2012-07-17 07:46:32 +09:00
Alex Shinn
6de7d5621d Keeping track of the maximum stack depth a procedure needs for accurate stack checks
(fixes bug #130).  Done in conjunction with code generation refactoring, so that context
objects temporarily use their specific slot instead of having space for useful fields
at runtime.
2012-07-16 16:23:54 +09:00
Alex Shinn
254f6dee05 propagating exceptions from index->offset translation in substring 2012-07-16 14:11:06 +09:00
Alex Shinn
afacac6127 handling complex negation with a zero real part 2012-07-11 23:03:43 +09:00
Alex Shinn
b101e5c585 Fixing some corner cases with mixed rational/complex notation. 2012-07-11 22:07:05 +09:00
Alex Shinn
d45ecf42ca allowing alternate exponent markers d, f, s, l 2012-07-11 21:55:10 +09:00
Alex Shinn
f895ace01b missed some bignum/ratio normalization cases 2012-07-10 23:56:51 +09:00
Alex Shinn
96d8c7d797 fixing #e prefix combined with non-finite flonums 2012-07-10 23:36:29 +09:00
Alex Shinn
2d62671df8 breaking down and adding polar notation 2012-07-10 23:19:57 +09:00
Alex Shinn
3e79138e21 Various fixes for better debug output.
* Associate file/line source info with corresponding bytecode offset.
  * Fixes for losing source info after macro expansion and simplification.
  * Fix for showing the source info of the calling procedure of an error.
2012-07-07 15:26:08 +09:00