Calvin Rose
b458404b41
Update ffi/write to append to a buffer by default.
2025-03-28 10:00:40 -05:00
Michael Camilleri
eac37ab869
Avoid leaking memory used for JanetThreadedTimeout struct
2025-03-25 22:02:53 +09:00
Michael Camilleri
a24e5b1eaa
Prevent deadline timeout being less than zero
2025-03-25 21:41:59 +09:00
Michael Camilleri
09ac85b1b9
Move janet_timeout_* function definitions before first use
2025-03-25 21:15:28 +09:00
Michael Camilleri
87c1eab7d4
Define JanetTimeout only if event loop enabled
2025-03-25 21:14:21 +09:00
Michael Camilleri
5a29a28c11
Include <windows.h> in state.h
2025-03-25 20:34:45 +09:00
Michael Camilleri
2ed186664f
Support using a background thread to monitor deadlines
2025-03-25 20:27:44 +09:00
Calvin Rose
73334f3485
Prepare for 1.38.0 release.
2025-03-18 21:14:45 -05:00
Benjamin Roberts
e8cccfced5
Remove janet_lib_ffi() dependency on JANET_EV
2025-03-18 10:54:18 -04:00
Calvin Rose
88984f7ffb
Add bundle/replace
...
Slight generalization of bundle/reinstall to allow inplace upgrades
of a bundle without reinstalling all dependent bundles as well.
2025-03-17 17:58:40 -05:00
Calvin Rose
182170b3be
Make installed manifests nicer to work with.
2025-03-16 20:39:16 -05:00
sogaiu
18c00e89da
Fix vm bugs from #1566
2025-03-13 11:43:43 +09:00
Calvin Rose
3583d4c92f
Fix defdyn in flychecking.
2025-03-08 20:03:02 -06:00
Calvin Rose
9538b8a77c
Merge pull request #1562 from pyrmont/bugfix.subprocess-cleanup
...
Improve subprocess-related docstrings and functions
2025-03-03 18:47:59 -08:00
Calvin Rose
36d3804dd2
Merge pull request #1563 from pyrmont/bugfix.copyright-dates
...
Add script to update copyright dates
2025-03-03 18:47:38 -08:00
Michael Camilleri
4b5a2a14c0
Update year in copyright disclaimer to 2025
2025-03-04 11:24:09 +09:00
Michael Camilleri
8f8b6ed001
Remove note on cancellation and tidy up wording
2025-03-03 23:28:37 +09:00
Calvin Rose
aa9efee868
Expose bundle operations in the CLI.
...
Bundle installation is a fairly natural command on the command line.
2025-03-03 08:14:09 -06:00
Calvin Rose
e0a0e2ed42
Prevent multi-scheduling with os/proc-wait. (address #1562 )
2025-03-02 10:44:15 -06:00
Michael Camilleri
39f5c539d7
Clarify wording of docstrings further
2025-03-02 13:25:14 +09:00
Michael Camilleri
1b6437a4f8
Remove unnecessary returns
2025-03-02 08:30:51 +09:00
Michael Camilleri
c62c1a58f0
Reword documentation relating to subprocess creation
2025-03-02 08:29:32 +09: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
5c56c7fa91
Formatting in peg.c
2025-02-07 21:05:28 -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
sogaiu
1b6cc023a5
Tweak apply and short-fn docstrings
2025-02-06 22:35:59 +09: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
1b278fc657
Update reduce2 documentation to fix issue #1545
2025-02-01 17:31:55 -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
49f151e265
Allocate parser with GC.
...
This fixes janet_dobytes, which manually allocated a parser on the
stack, and then possibly ran garbage collection before it was
deallocated.
2025-01-22 09:21:56 -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
Florian Beeres
a17ae977a5
docstring int/u64 int/s64: supports number as well
...
Update the docstrings of the u64 and s64 functions to indicate that they
work on numbers as well strings. Previously the docstring only mentioned
string support.
2025-01-11 22:51:21 +01:00
Florian Beeres
8a6b44cb4e
docstring int/to-number: supports int64, not int32
...
Update the cfun_to_number docstring to indicate that it handles values
up to JANET_INTMAX_INT64 (75845c028364b8a25f06d620a61851cfa4505e64),
rather than up to int32, what the current docstring says.
2025-01-11 22:46:44 +01: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
6dbd7b476c
Merge pull request #1538 from sogaiu/tweak-exit-value-doc
...
Tweak *exit-value* doc - address #1537
2024-12-31 10:28:03 -08:00
Calvin Rose
ba5990ef21
Add switch to turn off "reuse" behavior for server sockets.
2024-12-31 09:05:54 -06:00
sogaiu
753911fe2d
Tweak *exit-value* doc - address #1537
2024-12-27 16:02:45 +09: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
1b49934e4f
Allow table/to-struct to take a prototype.
...
Use this prototype struct in freeze.
2024-12-19 19:41:19 -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
8043caf581
Update CHANGELOG.
2024-12-19 18:31:05 -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
e94e8dc484
Remove special casing for MinGW
2024-12-16 08:12:14 +09:00