Michael Camilleri
413c46e2ee
Fix redefinable macros
2022-01-14 17:15:42 +09:00
Ian Shehadeh
4931e2aee2
correct stack frame table keys in debug/stack doc
...
doc for debug/stack listed :column and :line as keys in the frame table.
But doframe actually sets :source-column and :source-line.
2022-01-08 16:25:43 -05:00
Calvin Rose
ffadf673cf
Merge branch 'master' of github.com:janet-lang/janet
2022-01-08 11:27:48 -06:00
Calvin Rose
5b5a7e5a24
Make top level vars reuse ref cell when redefined at the top level.
...
This improves the repl experience while not messing with existing code
very much, if at all.
2022-01-08 11:27:08 -06:00
Ian Shehadeh
60378ff941
windows: fix ev/read hang when called on fs stream
...
handles returned by CreateFileA and FILE_FLAG_OVERLAPPED
support reading from arbitrary offsets.
The offset is passed to ReadFile in through the OVERLAPPED structure.
Since state->overlapped is zeroed ev_machine_read
ReadFile would always read from the start of the file and never finish
This commit changes ev_machine_read to update the offset to
the number of bytes read before calling ReadFile.
2022-01-07 16:32:39 -05:00
Calvin Rose
a37dc1af9d
Merge branch 'redefs-work'
...
- Change the global binding name from :redefs to :redef
- Simplify internal representation of "redefinable bindings"
- Store "redefinable bindings in :ref rather than :value inside the
environment entries. This makes such bindings more like vars that
can't be set rather than defs.
2022-01-06 20:45:20 -06:00
Calvin Rose
03458df140
Merge pull request #898 from pyrmont/feature.redefs
...
Support redefinable `def` and `defmacro` bindings using `:redef`
2022-01-06 20:44:18 -06:00
Calvin Rose
99cfbaa63b
Tweaks on redef feature branch.
2022-01-06 20:38:15 -06:00
Ian Shehadeh
938c5013c9
fix typo in janet_epoll_sync_callback
...
JANET_ASYNC_LISTEN_WRITE was checked instead of JANET_ASYNC_EVENT_READ.
This caused ev/read to hang if it was called on a normal fd.
2022-01-06 19:33:34 -05:00
Michael Camilleri
ea9d5ec793
Change metadata keyword back to :redef
2022-01-02 12:35:22 +09:00
Michael Camilleri
ec65f038a8
Support :dynamic-defs dynamic binding
2021-12-29 16:39:00 +09:00
sogaiu
1326ded048
Tweak match docstring
2021-12-25 16:56:10 +09:00
Michael Camilleri
8347439644
Support redefinable bindings
2021-12-18 13:05:16 +09:00
Michael Camilleri
97a8938407
Ensure value is of specified type or panic
2021-12-15 12:17:35 +09:00
Michael Camilleri
939d1dcae9
Only set :current-file in run-context if source is a path
2021-12-13 12:06:58 +09:00
Calvin Rose
9d5cc5c11f
Proper locking on select.
2021-12-09 18:59:59 -06:00
Calvin Rose
d998f24d26
Merge branch 'master' of github.com:janet-lang/janet
2021-12-09 18:47:36 -06:00
Calvin Rose
d543f8857b
Fix #892 - Remove racy ref counts for channels
...
Rather than manual reference counting for suspended fibers, we
automate the process by incrementing "extra_listeners" every time
we suspend a fiber in the event loop, and decrement when that fiber
is resumed. In this manner, we keep track of the number of suspending
fibers in a simpler, more correct way.
2021-12-09 18:44:55 -06:00
Michael Camilleri
bf29a54272
Clarify nested loop behaviour in loop macro
2021-12-09 10:41:56 +09:00
Calvin Rose
6d9286a202
Add some more changes to hashing to improve pointer hashing.
2021-12-07 08:36:08 -06:00
Calvin Rose
92fdd07ca3
Address #889 - Switch high and low bits of part of number hash (Knuth's multiplicative hash)
...
Also make sure we weren't throwing away 3 bits of entropy.
2021-12-07 08:24:04 -06:00
Calvin Rose
1c937ad960
Prepare for 1.19.2 release. Update CHANGELOG.md
2021-12-06 17:27:09 -06:00
Calvin Rose
f9891a5c04
More improvements to hashing for #889
2021-12-06 17:23:00 -06:00
Calvin Rose
e8ad311d84
Don't use janet_stacktrace anymore.
...
Behavior of janet_stacktrace_ext is more consistent.
2021-12-06 08:51:40 -06:00
Calvin Rose
545c09e202
Update hash mixing behavior - address #889
...
Try to have better behavior when mixing sub-hashes that are not uniform and
randomly distributed. Premultiply by a large prime before mixing to
"spread entropy" if it is concentrated in a certain subset of bits.
2021-12-05 16:34:26 -06:00
Calvin Rose
4dc281a05f
Prepare for 1.19.1 release.
2021-12-04 13:34:41 -06:00
Calvin Rose
d4c6643311
Merge branch 'master' of github.com:janet-lang/janet
2021-12-04 13:03:33 -06:00
Calvin Rose
e8c738002b
Add extra "prefix" parameter to debug/stacktrace.
2021-12-04 13:03:05 -06:00
Calvin Rose
309c3aaeb8
Merge pull request #867 from pyrmont/feature.custom-out-functions
...
Support sending output to a function
2021-12-04 11:17:58 -06:00
Calvin Rose
6f4af5fef8
Merge branch 'master' of github.com:janet-lang/janet
2021-12-04 10:28:16 -06:00
Calvin Rose
868cdb9f8b
Fix channel packing bug.
2021-12-04 10:28:00 -06:00
Grazfather
139bef2142
map: Fix indexing for 3+ data structures
2021-12-03 16:15:43 -05:00
Calvin Rose
8ba142bcf4
Merge branch 'master' of github.com:janet-lang/janet
2021-11-30 14:19:10 -06:00
Calvin Rose
c49e4966f6
Update to dev versions.
2021-11-30 14:19:03 -06:00
Michael Camilleri
6bf9f89429
Update location of current file in run-context
2021-11-29 10:05:04 +09:00
Calvin Rose
a0ddfcb109
Prepare for 1.19.0 release.
2021-11-27 10:00:36 -06:00
Calvin Rose
3df7921fdc
Don't call wait twice when closing or gcing.
2021-11-27 09:05:43 -06:00
Calvin Rose
6172a9ca2d
Merge branch 'master' of github.com:janet-lang/janet
2021-11-26 18:44:33 -06:00
Calvin Rose
4a40e57cf0
Fix leaking file descriptors to subprocess causing hangs.
2021-11-26 18:44:11 -06:00
Josef Pospíšil
e6babd84f7
Fix math/gamma and add math/log-gamma
2021-11-24 10:55:32 +01:00
Calvin Rose
e08394c870
Fix struct proto missing when making a struct with a nil value.
2021-11-23 23:16:06 -06:00
Calvin Rose
9e0f36e5a7
Fix unused variable warnings.
2021-11-18 20:35:41 -06:00
Calvin Rose
d481d079ba
Try bsd fix.
2021-11-18 20:30:06 -06:00
Calvin Rose
bc9ec7ac4a
Fix unitialized memory access in net/ module.
2021-11-18 20:10:10 -06:00
Calvin Rose
6f7e81067c
Address #876 Don't allow scheduling a fiber once it has been canceled already.
...
We were effectively cancelling the cancellation.
2021-11-18 20:06:29 -06:00
Calvin Rose
af946f398e
Turn off raw mode in shell on ctrl-C.
2021-11-18 19:58:52 -06:00
Calvin Rose
c7ca26e9c7
Merge branch 'master' of github.com:janet-lang/janet
2021-11-18 19:04:43 -06:00
Calvin Rose
ef7129f45d
Address #874 - Call waitpid on waiter thread with WNOWAIT.
...
This doesn't destory the pid until the original thread decides to
call waitpid again. Since the pid is exposed in the C API and now
in the Janet API, we don't want to destroy it until we are ready.
2021-11-18 19:03:08 -06:00
Andrew Chambers
2ef49a92cc
Use kill instead of raise for SIGINT.
...
Raise signals can only be handled by the current thread while
kill signals can be handled by background threads.
2021-11-15 20:38:23 +13:00
Michael Camilleri
4e263b8c39
Support using functions with :out dynamic binding
2021-11-13 01:42:44 +09:00