Andrew Chambers
5d75effb37
Allow C code to block SIGINT.
...
Previously the repl always exits on SIGINT, this change
means the repl will only exit on SIGINT if the SIGINT handler
causes it to exit.
2021-11-12 23:24:33 +13:00
Calvin Rose
425a0fcf07
Add quoted literal support in the match macro.
2021-11-08 15:33:11 -06:00
bakpakin
3067f4be3a
Address #815 - gc mark issue in windows accept state machine.
...
We were casting a pointer to the wrong type, which caused all sorts of
wonderful chaos, but only on windows and only when the garbage collector
ran after setting up a server in a specific configuration. We were
casting a closure pointer to an abstract type during the mark phase,
which resulted in memory corruption.
2021-11-06 17:50:54 -05:00
Calvin Rose
2833a983d8
Merge pull request #860 from sogaiu/short-fn-docstring-tweak
...
Tweak short-fn docstring
2021-11-04 19:39:55 -05:00
Calvin Rose
39c6be7cb7
Fix #861 - parser/produce caused state to be invalid for parser/state.
...
parser/produce was leaving a counter in the root state undecremented.
2021-11-04 19:38:37 -05:00
sogaiu
fdc94c1353
Tweak short-fn docstring
2021-11-04 18:11:53 +09:00
Calvin Rose
9cc4e48124
Update changelog and allow evaluating streams with dofile.
2021-10-30 14:43:06 -05:00
Calvin Rose
34c7f15d6d
Always return port in peername and localname
2021-10-30 10:56:40 -05:00
Calvin Rose
899a9b025e
Merge branch 'struct-proto'
2021-10-30 09:31:22 -05:00
Calvin Rose
deb4315383
Fix parse.c parser/state :args
2021-10-30 09:30:56 -05:00
Calvin Rose
9a06660fdb
fix call to table/proto-flatten
2021-10-30 09:15:23 -05:00
Calvin Rose
5c35d24e13
Fix nil check issue.
2021-10-29 19:29:54 -05:00
Calvin Rose
03f99752a7
Merge branch 'master' into struct-proto
2021-10-29 16:42:34 -05:00
Calvin Rose
fd37567c18
Docstring fix.
2021-10-29 11:13:07 -05:00
Calvin Rose
6e38bf1578
Use more inclusive check for the %j formatter for valid symbols.
...
We did not allow arbitrary utf8 to be printed with %j, even though the parser
allows. Thos changes uses the existing built in utf8 detectiotion to
exclude only unprintable symbols from the docstring.
2021-10-29 11:08:53 -05:00
Calvin Rose
8b2d278840
Add min-of and max-of.
2021-10-26 17:46:24 -05:00
Calvin Rose
06aa0a124d
Add math/gcd
and math/lcm
to the core.
2021-10-24 11:43:07 -05:00
Calvin Rose
eb4595158d
Allow compiling tables as peg grammars.
2021-10-23 09:59:36 -05:00
Michael Camilleri
7ed0aa6630
Use named union in JanetGCObject
2021-10-22 09:52:57 +09:00
Calvin Rose
545d9e85e9
Update CHANGELOG.md
2021-10-20 19:57:02 -05:00
Calvin Rose
21a4ab4ec7
Hang forever instead of exit early on channel deadlock.
...
While not technically needed, the behavior is more intuitive and will
prevent people from writing bad scripts.
2021-10-20 19:53:29 -05:00
Calvin Rose
66fbbeb5ec
Why is the copyright gone...
2021-10-20 18:05:32 -05:00
Calvin Rose
55879c7b6d
Fix checked for fiber being dead.
2021-10-19 09:03:24 -05:00
Calvin Rose
66c4e5a5e2
Prepare for patch release.
2021-10-16 15:05:48 -05:00
Calvin Rose
c3d7b1541e
Merge branch 'master' into jgarte-patch-typo
2021-10-16 12:51:38 -05:00
jgart
e3a5d52c5e
Fix typo in docstring
2021-10-16 11:48:59 -04:00
Calvin Rose
74c9cf03d0
Fix -r switch in repl
2021-10-14 17:25:12 -05:00
Calvin Rose
0774e79e4f
Pass non-blocking pipes to subprocesses on non-windows platform.
2021-10-14 13:57:51 -05:00
MorganPeterson
9bf5cd83c3
updated string/bytes docs to reflect return value as tuple
2021-10-11 13:45:31 -04:00
Calvin Rose
f0da793f99
Prepare for 1.18.0 release
2021-10-10 09:27:31 -05:00
Calvin Rose
684f3ac172
Add optional base to scan-number.
2021-10-10 09:07:56 -05:00
Calvin Rose
3e5bd460a5
Add line/col info to parse error in janet_[dobytes, dostring]
2021-10-08 09:25:00 -05:00
Calvin Rose
3b1d787fbe
Address #829 - Set state->event inside linked list traversal for epoll.
2021-10-08 08:35:47 -05:00
sogaiu
52ed68bfeb
Add argument to janet_panicf call (2)
2021-10-07 20:58:50 +09:00
sogaiu
be0d4c28e4
Add argument to janet_panicf call
2021-10-07 16:38:40 +09:00
Calvin Rose
79807bf2ab
Merge pull request #827 from sogaiu/tweak-format-strings
...
Tweak format strings
2021-10-06 17:48:53 -05:00
sogaiu
eae18ce973
Tweak format strings
2021-10-06 20:34:33 +09:00
rick2600
591344ca9d
fix issue #825
2021-10-05 01:45:59 -03:00
Calvin Rose
fbe067823e
Merge pull request #824 from GrayJack/rnd-double-capi
...
Expose `janet_rng_double` to the C API
2021-10-04 13:54:10 -05:00
GrayJack
ffece911e6
Expose janet_rng_double
to the C API
2021-10-03 00:52:34 -03:00
llmII
6b3037106a
Fix #822 - kqueue hang in suite 9.
...
Priorly we only checked exactly one state when an event was received.
This was incorrect. A state may have a next state, an action to take
after the first in the list of states has been taken. This change
acknowledges that and makes the code work with the state list vs just
the head of the list.
2021-09-30 06:56:09 -05:00
Calvin Rose
1bf22288ee
Merge pull request #821 from llmII/fix-kqueue
...
Fix #819 timeouts under kqueue on FreeBSD broken
2021-09-29 15:51:46 -05:00
llmII
3cec470f25
Change the way timeouts work in kqueue.
...
Don't use a timer filter, just set the timeout on each call to kevent.
Should hopefully work around the 1ms minimum on NetBSD and be possibly
more performant.
2021-09-29 15:19:30 -05:00
llmII
e1ec0d13ae
Fixing kqueue under the BSDs.
...
FreeBSD is the only BSD supporting ABSTIME timers, whereas the rest
demand intervals. Janet operates on timestamps, which are absolute
times, as per ABSTIME. The idea was to use that under FreeBSD but not
the other BSDs. This commit changes that since ABSTIME breaks when the
timeout supplied is for a time prior to whatever the time is
now (invalid argument). We now utilize the same logic we use on the
other BSDs with FreeBSD to effect interval timeouts since intervals are
absolutely sometime beyond now, be it now and less than a millisecond,
or more than a millisecond. This will hopefully unbreak BSD builds when
running the test suite.
2021-09-28 17:40:38 -05:00
bakpakin
924fe97fc3
Address #820 - ev/cancel to work on already scheduled fibers.
2021-09-28 15:42:16 -05:00
Calvin Rose
544b192f8c
Fix bad docstring change.
2021-09-25 14:32:23 -05:00
Calvin Rose
7748ccdb8e
Fix network byte order port.
2021-09-25 14:31:19 -05:00
Calvin Rose
64e29c6fce
More simplification and removal of macros.
2021-09-25 13:53:27 -05:00
Calvin Rose
acdf097998
Refactor of peername and localname to be much more direct.
...
Also remove a lot of overly general code from cqueues. Janet has more
opinionated error handling so we can avoid a lot error propagation code.
2021-09-25 13:38:36 -05:00
Calvin Rose
ba3107c1fa
Merge branch 'master' of github.com:janet-lang/janet
2021-09-21 18:03:25 -05:00