Calvin Rose
42bc504188
Merge branch 'master' into compile-opt
2025-06-21 16:49:24 -05:00
Calvin Rose
f4ecb5a90f
Reorder post event / interrupt sequence in deadline.
...
The interrupt message should come _after_ the post event is made.
2025-06-18 22:13:14 -05:00
Calvin Rose
92e91259c3
Don't call pthread cancel on normal exits.
...
Calling pthread_cancel on threads that can exit normally is not needed.
Instead, we immediately call pthread_join if a thread can exit normally.
2025-05-18 09:52:11 -05:00
Calvin Rose
5bbfcdacd5
Work on #1596 - No detached threads, make sure to call pthread_join
...
Call pthread_join on all worker threads for timeouts. Previously, we
were leaking some threads, as well as creating a timeout and leaving
has_worker unset on certain timeouts.
2025-05-18 08:36:53 -05:00
Calvin Rose
0066a5a304
Start removing NASM dependence.
...
Start setting up a test suite for sysir and work towards emitting jitted
x86 machine code.
2025-05-04 20:20:11 -05:00
Calvin Rose
862b4e9688
Add sysir test suite stub
2025-04-13 07:47:52 -05:00
Calvin Rose
3cbdf26aa2
Merge branch 'master' into compile-opt
2025-04-11 22:44:28 -05:00
Calvin Rose
38e841fc5c
Get rid of test error.
2025-04-05 20:52:47 -05:00
Calvin Rose
bdab93c999
Add {:err :out}
option to os/spawn.
...
This special case in the os/spawn interface allows easily
redirecting both stderr and stdout to the same pipe.
2025-04-05 17:30:46 -05:00
sogaiu
d2ee4aa074
Remove unix domain socket after test
2025-04-04 20:22:10 +09:00
Calvin Rose
a6e0a8228c
Merge branch 'master' into compile-opt
2025-03-28 16:24:27 -05:00
Calvin Rose
b458404b41
Update ffi/write to append to a buffer by default.
2025-03-28 10:00:40 -05:00
Michael Camilleri
2ed186664f
Support using a background thread to monitor deadlines
2025-03-25 20:27:44 +09:00
Michael Camilleri
a34b8ea68f
Update older dates to 2025
2025-03-04 11:32:15 +09:00
Michael Camilleri
4b5a2a14c0
Update year in copyright disclaimer to 2025
2025-03-04 11:24:09 +09:00
Calvin Rose
e0a0e2ed42
Prevent multi-scheduling with os/proc-wait. (address #1562 )
2025-03-02 10:44:15 -06:00
Calvin Rose
059253fdee
Merge branch 'master' into compile-opt
2025-02-17 18:08:17 -06:00
Calvin Rose
3441bcbd69
Add more cases for checking coerce error.
...
Channel operations inside a janet_call could wreak more
havoc later, when scheduled fibers are shooting off when they shouldn't
be. The easiest way to prevent this is simply check that we are not
inside janet_call before doing channel operations. We also get nicer
error messages this way.
2025-02-16 10:40:38 -06:00
Calvin Rose
2e6001316a
Work on bug #1556
2025-02-16 09:09:33 -06:00
Calvin Rose
9a892363a3
Address issue #1558
...
Don't attempt SO_REUSEPORT on unix domain sockets since it doesn't make
sense and may cause a failure to bind without extra effort by the
programmer.
2025-02-07 21:05:07 -06:00
Calvin Rose
410f8d69bc
Merge pull request #1528 from ianthehenry/til-peg-special
...
add (til) PEG special
2025-02-03 19:07:08 -08:00
Calvin Rose
6da44bdb6a
Get rid of early termination rule in all finite loops.
2025-02-03 07:36:00 -06:00
Calvin Rose
d30fd27575
Address #1554 - capture first 0-width match in repeating rules and
...
optionals.
This fixes some undesirable interplay between lookaheads and looping
(repeating) rules where lookaheads caused the loop to immediately
terminate _and_ discard any captures. This change adds an exception if
there is a 0-width match at the first iteration of the loop, in which
case captures will be kept, although the loop will still be terminated
(any further iteration of the loop would possibly cause an infinite
loop).
This allows optionals to work as expected when combined with lookahead.
There is also a question of whether or not optional should be
implemented as separate rule rather than as `(between 0 1 subrule)`.
2025-02-02 20:34:36 -06:00
Calvin Rose
eecffe01a5
Add some more test cases for hex floats.
2025-02-01 08:09:57 -06:00
Calvin Rose
f63a33884f
Add hexfloats - Address #1550
2025-01-30 07:36:18 -06:00
Calvin Rose
fa75a395cb
Add support for buffer peg literals - address #1549
2025-01-26 09:48:48 -06:00
Calvin Rose
06d581dde3
Fix #1546 - large ranges.
...
Raise an error for very large ranges instead of internal assert.
2025-01-20 09:02:22 -06:00
Calvin Rose
60d9f97750
Address issue #1539 - infinite loop in peg split
...
Other looping rules ensure forward progress by terminating if an
iteration is at the same location as the previous iteration. Do the same
for split.
2025-01-01 11:28:10 -06:00
Calvin Rose
ba5990ef21
Add switch to turn off "reuse" behavior for server sockets.
2024-12-31 09:05:54 -06:00
Calvin Rose
746ced5501
Revert behavior of deep= on mutable keys.
...
Mutable keys are a minefield for comparisons, as resolving
equality require re-implementing a lot of the internal structures, as
well as dealing with multiple mutable keys that are in the same
equivalency class by deep=.
Simplifying the implementation to not resole mutable keys is much
simpler, faster, and has the benefit that deep= and deep-not= do not
need to allocate.
2024-12-21 09:03:01 -06:00
Calvin Rose
682f0f584f
freeze with mutable keys should be determinsic help address #1535
2024-12-19 19:31:01 -06:00
Calvin Rose
611b2a6c3a
Add more test cases for #1535
2024-12-19 18:37:51 -06:00
Calvin Rose
b2d2690eb9
Merge pull request #1534 from pyrmont/bugfix.windows-longstrings
...
Support dedenting long-strings with Windows EOLs
2024-12-19 16:24:21 -08:00
Calvin Rose
7f745a34c3
Allow for mutable keys correctly in deep=
2024-12-19 18:20:05 -06:00
Michael Camilleri
67e8518ba6
Support dedenting longstrings with Windows EOLs
2024-12-17 05:14:59 +09:00
Michael Camilleri
1a24d4fc86
Raise error if using ev/to-file
on MinGW
2024-12-15 21:00:52 +09:00
Michael Camilleri
6ee05785d1
Disable buffering for files created with ev/to-file
2024-12-15 20:37:58 +09:00
Michael Camilleri
687b987f7e
Add ev/to-file
for synchronous resource operations
2024-12-15 17:38:01 +09:00
Calvin Rose
4daecc9a41
Prevent await inside janet_call - address #1531
...
This was partially implemented before, but not in the case where the
await or other signal itself was created by a C function. We have to
separate code paths for generating signals - one via normal returns in
janet_vm_continue, and the other via longjump. This adds handling for
the longjump case, as well as improved messaging.
2024-12-14 10:34:36 -06:00
Ian Henry
952906279c
add (til) PEG special
...
(til sep subpattern) is a specialized (sub) that behaves like
(sub (to sep) subpattern), but advances over the input like (thru sep).
2024-12-04 21:17:10 -08:00
Calvin Rose
0fb1773c19
Merge branch 'master' into compile-opt
2024-11-24 19:15:47 -06:00
Calvin Rose
2bceba4a7a
Assertf with no arguments does not make sense.
2024-11-24 19:14:18 -06:00
Calvin Rose
b096babcbf
Merge branch 'master' into compile-opt
2024-11-23 10:29:14 -06:00
sogaiu
10994cbc6a
Add some tests for assertf
2024-10-30 23:41:31 +09:00
Calvin Rose
2b84fb14b4
Fix Issue #1512
2024-10-18 18:17:06 -05:00
Calvin Rose
07155ce657
Don't error on empty struct.
2024-10-18 17:53:21 -05:00
Calvin Rose
bed80bf1d3
Merge branch 'master' into compile-opt
2024-10-12 07:58:43 -05:00
Calvin Rose
3d93028088
Test bundle
2024-10-05 12:37:23 -05:00
Calvin Rose
731592a80e
Merge branch 'master' into compile-opt
2024-09-29 17:27:49 -05:00
Calvin Rose
3894f4021a
Update copyright date.
2024-09-29 16:07:24 -05:00