1
0
mirror of https://github.com/janet-lang/janet synced 2026-05-12 00:12:15 +00:00
Commit Graph

2985 Commits

Author SHA1 Message Date
Calvin Rose 1bda40b644 Add first iteration of call hooks.
Hooks are per thread (not per fiber) for performance, and are exposed as
callback functions. Hooks cannot be nested, so hooks are disabled inside
other hooks.
2024-12-06 19:24:59 -06: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
Calvin Rose f9a6f52d9c Improve error messages even more for copyfile. 2024-09-07 10:02:26 -05:00
Calvin Rose 1fcd47dd7b Improve error messages in bundle/add if files are missing.
Instead of cryptic "error: unknown method :close invoked on nil" errors, let
user know file or path does not exist before failing to copy files.
2024-09-07 09:19:15 -05:00
Calvin Rose 9ffec43d2b Fix endianess issues on s390x architecture.
Endianess code should use memcpy instead of unions. This apparently
is more correct on old, optimizing compilers. Technically, this is
compilers being really stupid but we work with what we got.

That said, this endianess code is more complicated than needed.
2024-09-06 10:23:31 -05:00
Calvin Rose e4f4a42751 Add regression test for chat server issues. Address #1496 2024-09-06 08:05:56 -05:00
Calvin Rose 4f65c2707e Undo workaround for unsetting reference from streams -> fibers after
async event completes. Moves this logic back into janet_async_end.
2024-09-06 00:20:50 -05:00
Calvin Rose 75bdea5155 Fix memory leak with weak table frees.
The backing buffer for weak arrays and tables was not freed upon
being garbage collected. This shows up in traces and valgrind. Verified
by running `make valtest` with changes.
2024-09-06 00:15:17 -05:00
Calvin Rose f553c5da47 Update ev.c with workaround for failing chat server.
2 issues:
- With poll backend, we were polling for writes even after we finished
  writing. Presents as wasting a lot of CPU.
- Fixes  strange closing behavior of chat server.
2024-09-06 00:00:09 -05:00
Calvin Rose 828e0a07cd Don't check for docstrings when explicitly disabled. 2024-08-31 17:23:28 -05:00
Calvin Rose 90018b35c0 Begin standardizing of event properties for filewatch.
- `:file-name` for the name of the file that triggered the event.
- `:dir-name` for the containing directory of the file
- `:type` for the event type.
2024-08-31 14:26:08 -05:00
Calvin Rose 5a199716cb Save :source-form in environment when debugging is enabled. 2024-08-29 21:12:53 -05:00
Calvin Rose 43ecd4f2d8 Add fixes for marshalling weak containers - Fix #1488
Weak containers did not preserve their weakness when marshalled. This
fixes that for tables and arrays, as well as adds some tests for this.
Also exposes functions for creating weak tables in janet.h
2024-08-22 19:37:41 -05:00
Calvin Rose ce528251d5 Fix mingw build warnings. 2024-08-20 18:06:57 -05:00
Calvin Rose b63b3bef74 Add testing for Linux. 2024-08-18 15:44:59 -05:00
Calvin Rose c56d6e8fc1 Add suite for testing filewatch.
Currently expects windows events.
2024-08-18 10:12:33 -07:00
Calvin Rose 33d2f9a522 More changes how we use WideCharToMutliByte
Handle case where there is no data pushed in.
2024-08-18 07:23:06 -07:00
Calvin Rose e53d22fad2 Add unlisten for linux. 2024-08-18 06:25:25 -07:00
Calvin Rose 33f55dc32f Go back to ReadDirectoryChangesExW since it is better. 2024-08-18 05:29:08 -07:00
Calvin Rose 7e6aad2221 filewatch/make -> filewatch/new
Add support for :recursive on windows.
2024-08-17 16:37:30 -07:00
Calvin Rose 3c0c22259c ReadDirectoryChangesExW is only supported in recent windows.
Also break mingw builds it seems.
2024-08-17 13:33:39 -07:00
Calvin Rose 42f6af4bf1 First working version of filewatch on windows. 2024-08-17 12:37:58 -07:00
Calvin Rose f274b02653 More changes for filewatch windows. 2024-08-17 10:26:43 -05:00
Calvin Rose 70c29b4e5d More updates to windows build. 2024-08-17 10:21:50 -05:00
Calvin Rose 84d43d1039 Add failure to initialize protections for filewatch module. 2024-08-17 10:12:36 -05:00
Calvin Rose 5c67c1165d Merge branch 'filewatch' 2024-08-17 10:08:37 -05:00