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
Calvin Rose
85028967d8
Add aliases for bundle/module - issue #1486
...
info.jdn -> bundle/info.jdn
bundle.janet -> bundle/init.janet
2024-08-17 09:58:40 -05:00
Calvin Rose
6ceff6ecc9
Work on the filewatch module.
...
Currently a wrapper around inotify, should be expanded to work with
kqueue, icop, and eventually a implementation with polling and stat.
2024-08-16 19:44:17 -05:00
Calvin Rose
06eec06ff0
More work on ICOP
2024-08-16 19:44:07 -05:00
sogaiu
8ca1e44af1
Prefix bin+sep to add-bin dest argument
2024-08-15 15:53:35 +09:00
Calvin Rose
2aedc6beff
Begin stubbing out win32 abstraction.
...
Win32 abstraction will use ReadDirectoryChanges with overlapped
IO to get results. Some work will be required to allow for single file
watches, as well as allow for recursive watching on Linux.
Unfortunately, various operating systems have very differnet
abstractions here. I would rather expose inotify, kqueue, and
ReadDirectoryChanges fairly transparently before
adding shims to make cross platform code easier.
2024-08-14 21:24:27 -05:00
Calvin Rose
af2eb06298
Expose janet_channel_make and janet_channel_make_threaded
2024-08-14 17:34:48 -05:00
Calvin Rose
7ff545bd2e
Stop out better configuration.
2024-08-11 18:43:10 -05:00
Calvin Rose
a59b5765b6
Work on the filewatch module.
...
Currently a wrapper around inotify, should be expanded to work with
kqueue, icop, and eventually a implementation with polling and stat.
2024-08-11 17:50:58 -05:00
Calvin Rose
e3406cd922
Update changelog and ensure consistent version strings.
2024-08-10 15:21:43 -05:00
Calvin Rose
ab70524d85
Add array/join and tuple/join
...
Utilities for combining indexed types more efficiently. `array/join`
also solves some interface issues with array/concat
2024-08-10 15:16:28 -05:00
Calvin Rose
2b01b780da
Only raise IOCP error on readable, writable, or acceptable streams.
...
We may create streams whose sole purpose is to wrap a file descriptor
and therefor don't need to be IOCP enabled / nonblocking.
2024-08-06 07:06:34 -05:00