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
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
268ff666d2
Move <fcntl.h> header to general imports
2024-12-15 20:02:41 +09:00
Michael Camilleri
91bb34c3bf
Add missing <io.h> header for Windows
2024-12-15 19:17:48 +09:00
Michael Camilleri
17d5fb3210
Fix ev/to-file
on Windows
2024-12-15 18:56:35 +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
peteee
ed63987fd1
use fileno()
...
Should use fileno() instead of direct
2024-12-14 07:17:28 -05:00
peteee
ff173047f4
file/open: check if directory
...
Adds fstat() directory test after fopen(), which can return non-NULL when passed a directory name on Linux
2024-12-13 00:20:44 -05:00
Calvin Rose
83e8aab289
Prepare for 1.37.1 release and fix CI.
2024-12-05 20:18:16 -06:00
Calvin Rose
85cb35e68f
Prepare for 1.37.0 release.
2024-12-05 17:51:06 -06:00
sogaiu
9338312103
Additional tweak to address #1523
2024-12-02 11:21:56 +09:00
Calvin Rose
a0eeb630e7
Correct documentation for issue #1523
...
net/* API documentation was not consistent with the implementation. The
`ev/*` module documentation was, however. On timeout, all networking
function calls raise an error and do not return nil. That was the old
behavior.
2024-12-01 09:04:03 -06:00
sogaiu
a7d424bc81
Remove unused var pstatus
2024-11-25 12:39:53 +09:00
Calvin Rose
2bceba4a7a
Assertf with no arguments does not make sense.
2024-11-24 19:14:18 -06:00
Calvin Rose
5d1bd8a932
Add an extra has mix round to string hashes.
...
This should improve hashing quality of strings.
2024-11-17 11:31:12 -06:00
Ian Henry
e2eb7ab4b2
fix janet_string_equalconst
...
Check string length before pointer equality, so that a string is not considered
equal to a prefix slice of itself.
2024-11-16 21:20:26 -08:00
sogaiu
abad9d7db9
Add assertf and use in boot.janet. Address #1516
2024-10-30 17:43:00 +09:00
ArtSin
ad77bc391c
Cast arguments to int32_t
before passing to janet_formatb
with %d
format specifier
...
`s->line` and `s->column` in `delim_error` are `size_t`, which is typically 64-bit, but `va_arg` in `janet_formatbv` reads `int32_t` for `%d`.
2024-10-20 12:03:40 +04: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
282f2671ea
Formatting.
2024-10-11 20:10:46 -05:00
Calvin Rose
3fc2be3e6e
Use _Exit since it is standard in c99
2024-10-11 20:10:04 -05:00
Calvin Rose
d10c1fe759
Use msvc compiler intrinsics for atomics.
...
This will let us use GCC atomics on mingw.
2024-10-11 20:03:06 -05:00
Calvin Rose
43a68dcd2a
Include windows.h for atomics always in capi.c
2024-10-10 20:32:28 -05:00
Calvin Rose
99f0af92bd
Fix bundle/install with :check true installation failure.
2024-10-05 12:34:10 -05:00
Calvin Rose
71d81b14a2
Setting a profile will mess with imports.
2024-10-05 12:13:44 -05:00
Calvin Rose
3894f4021a
Update copyright date.
2024-09-29 16:07:24 -05:00
Calvin Rose
2570e0f7a0
Add *repl-prompt*.
2024-09-21 08:58:04 -05:00
Calvin Rose
8084e4c728
Add support for multiple directories in JANET_PATH.
...
Use a colon ":" as the separator on posix, and semicolon ";" on
windows (and mingw).
2024-09-20 23:05:02 -05:00
sogaiu
906a982ace
Add some detail to signal docstring
2024-09-17 20:04:16 +09:00
Calvin Rose
88e60c309c
Add overflow check.
2024-09-12 17:28:53 -05:00
Calvin Rose
9694aee819
Add rules for nth and only-tags. Address #1503
...
These rules allow selecting from a number of sub-captures
while dropping the rest. `nth` is more succinct in many cases, but `only-tags` is
more general and corresponds to an internal mechanism already present.
2024-09-12 17:23:34 -05:00
Calvin Rose
c0d7a49b19
Prepare for 1.36.0 release.
2024-09-07 12:33:28 -05:00