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
611b2a6c3a
Add more test cases for #1535
2024-12-19 18:37:51 -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
Calvin Rose
b16cf17246
Merge pull request #1533 from pyrmont/feature.file-socket
...
Add `ev/to-file` for synchronous resource operations
2024-12-17 20:50:47 -08: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
Calvin Rose
a85eacadda
Merge pull request #1532 from strangepete/fstat-directory-test
...
file/open: check if directory
2024-12-14 06:00:41 -08: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
Calvin Rose
5b79b48ae0
Address #1524 - fix meson cross compilation linking.
...
In the cross compilation case, we need to resolve our
dependencies on libc twice, once for the build machine and once for the
target machine. This includes pthreads, -libc, and android-spawn.
2024-12-03 21:05:37 -06:00
Calvin Rose
7c44127bcb
Merge pull request #1526 from sogaiu/master
...
Additional tweak to address #1523
2024-12-02 05:46:00 -08: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
Calvin Rose
6535d72bd4
Merge pull request #1522 from sogaiu/remove-pstatus
...
Remove unused var pstatus
2024-11-25 06:15:43 -08: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
e3159bb0f5
Update CHANGELOG.md
2024-11-23 10:29:03 -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
Calvin Rose
bafa6bfff0
Merge pull request #1519 from ianthehenry/fix-string-equal-with-byteview
...
fix janet_string_equalconst
2024-11-17 07:33:47 -08: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
Calvin Rose
9f4497a5ae
Merge pull request #1518 from pyrmont/bugfix.s390x-workflow
...
Update Docker command to use `--platform` flag
2024-11-11 12:24:20 -08:00
Michael Camilleri
70de8bf092
Update Docker command to use --platform flag
2024-11-12 04:02:54 +09:00
Calvin Rose
e52575e23a
Merge pull request #1517 from sogaiu/add-assertf
...
Add assertf and use in boot.janet. Address #1516
2024-10-31 07:27:05 -07:00
sogaiu
10994cbc6a
Add some tests for assertf
2024-10-30 23:41:31 +09:00
sogaiu
abad9d7db9
Add assertf and use in boot.janet. Address #1516
2024-10-30 17:43:00 +09:00
Calvin Rose
5e443cd29d
Merge pull request #1514 from ArtSin/fix-formatb-int32_t-arg
...
Cast arguments to `int32_t` before passing to `janet_formatb` with `%d` format specifier
2024-10-25 05:36:08 -07:00
Calvin Rose
7bf3a9d24c
Merge pull request #1515 from sogaiu/tweak-install-info-in-readme
...
Clarify installation info a bit
2024-10-25 05:34:53 -07:00
sogaiu
d80a7094ae
Clarify installation info a bit
2024-10-25 20:04:56 +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
046d28662d
Merge pull request #1513 from sogaiu/add-nth-and-only-tags-to-changelog
...
Mention nth and only-tags in changelog
2024-10-18 05:45:36 -07:00
sogaiu
84dd3db620
Mention nth and only-tags in changelog
2024-10-16 14:16:05 +09: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
d18472b07d
More CI testing - add meson min build for windows.
2024-10-10 20:42:12 -05:00