Calvin Rose
909c906080
Fix yields inside nested fibers.
2023-05-23 20:09:46 -05:00
Calvin Rose
71bde11e95
Allow one argument to while.
2023-05-23 20:09:46 -05:00
Calvin Rose
fc20fbed92
Merge pull request #1151 from zevv/document-string-format
...
Add docstring to string/format
2023-05-23 18:57:55 -05:00
Calvin Rose
e6b7c85c37
Merge pull request #1152 from zevv/error-messages
...
Improved various error messages when handling unexpected types.
2023-05-23 18:57:20 -05:00
Ico Doornekamp
b3a92363f8
Add docstring to string/format
2023-05-23 07:21:26 +02:00
Ico Doornekamp
e9f2d1aca7
changed some error messages 'x|y' -> 'x or y'
2023-05-23 06:58:52 +02:00
Ico Doornekamp
b4e3dbf331
Improved various error messages when handling unexpected types.
...
error: bad slot #1 , expected string|symbol|keyword|buffer, got ...
error: bad slot #1 , expected a string, symbol, keyword or buffer, got ...
bad s64 initializer: "donkey"
can not convert string "donkey" to s64
2023-05-23 06:57:12 +02:00
Calvin Rose
c3620786cf
Merge branch 'master' of github.com:janet-lang/janet
2023-05-22 20:41:05 -05:00
Calvin Rose
41943746e4
Fix #1149 - deep-not= should only return true/false.
...
Also improve perf at same time.
2023-05-22 20:40:30 -05:00
Ico Doornekamp
50a19bd870
Fix warning in janet_gettime()
2023-05-22 20:53:03 +02:00
Calvin Rose
57b751b994
Merge branch 'master' of github.com:janet-lang/janet
2023-05-21 16:23:44 -05:00
Calvin Rose
77732a8f44
inet_test change.
2023-05-21 13:36:11 -05:00
Calvin Rose
c47c2e538d
Merge pull request #1137 from tionis/master
...
os/proc-kill now accepts an optional signal to send
2023-05-21 13:33:24 -05:00
Ico Doornekamp
63353b98cd
improved error messages for special forms
2023-05-21 20:18:32 +02:00
tionis
4dfc869b8a
fixed formatting in src/core/os.c
2023-05-21 15:55:11 +02:00
tionis
b4b1c7d80b
Merge branch 'janet-lang:master' into master
2023-05-21 13:51:24 +00:00
tionis
e53c03028f
ignoring signals on windows in os/proc-kill again
2023-05-21 15:50:15 +02:00
Calvin Rose
8680aef42f
Merge pull request #1146 from zevv/os-clock
...
Add clock sources to os/clock (:realtime, :monotonic, :cputime)
2023-05-21 08:35:24 -05:00
Calvin Rose
c3fd71d643
Merge pull request #1142 from tionis/thaw
...
added thaw to complement freeze
2023-05-21 08:09:47 -05:00
Ico Doornekamp
30c47d685d
Fixed :cputime because msdn does not implement clock() properly
2023-05-21 07:29:27 +02:00
Ico Doornekamp
e8e5f66f4c
Implement janet_gettime() for win32 and macos; need testing
2023-05-21 07:29:27 +02:00
Ico Doornekamp
aaf3d08bcd
Added 'source' argument to os/clock to select the clock source
2023-05-21 07:29:27 +02:00
Ico Doornekamp
61132d6c40
os/time and janet_gettime now use CLOCK_MONOTONIC instead of CLOCK_REALTIM, this matches the description from the documentation of os/clock. Fixes issue #1144
2023-05-21 07:29:27 +02:00
tionis
9cc0645a1e
added test for thaw and freeze
2023-05-20 17:35:25 +02:00
Calvin Rose
fc8c6a429e
Modulo should not be variadic.
2023-05-20 07:45:18 -05:00
Calvin Rose
2f966883d9
Fix #1145 - variadic imperative arith. macros.
...
Also update CHANGELOG
2023-05-20 07:42:50 -05:00
tionis
320ba80ca1
added support for tables/structs with prototypes in thaw
2023-05-20 14:00:33 +02:00
Calvin Rose
b621d4dd2e
Merge pull request #1139 from zevv/async-connect
...
changed net/connect to be non-blocking / asynchronous
2023-05-19 21:12:16 -05:00
tionis
56d927c72d
added thaw to complement freeze
2023-05-19 21:18:54 +02:00
tionis
53afc2e50a
Merge branch 'janet-lang:master' into master
2023-05-19 19:14:12 +00:00
Ico Doornekamp
89debac8f6
Fixed janet_loop1_impl stream use after dealloc
2023-05-19 20:00:59 +02:00
Ico Doornekamp
a6a097c111
Add CI test for mingw/wine on linux
2023-05-18 15:15:41 +02:00
Ico Doornekamp
c3e28bc924
added deferred closing of streams after async connect() fails
2023-05-18 14:10:22 +02:00
Ico Doornekamp
8d78fb1f6b
changed net/connect to be non-blocking / asynchronous
2023-05-18 10:55:48 +02:00
Calvin Rose
d6f5a060ed
Squashed commit of the following:
...
commit 725b8749464895e21c761f1c5479692335282f62
Author: Calvin Rose <calsrose@gmail.com>
Date: Tue May 16 20:58:34 2023 -0500
Update header file.
commit 38bf2a5131
Author: Calvin Rose <calsrose@gmail.com>
Date: Tue May 16 19:43:22 2023 -0500
Run experiment on bsd.
2023-05-16 21:00:31 -05:00
tionis
0f35acade1
use SIGTERM for os/proc-kill signal test
2023-05-16 18:47:38 +02:00
tionis
56d72ec4c5
support sending signals to processes on windows
2023-05-16 17:07:51 +02:00
tionis
0b58e505ee
os/proc-kill now accepts an optional signal to send
2023-05-16 00:44:19 +02:00
Ico Doornekamp
2a6c615bec
features.h: define _DARWIN_C_SOURCE for __APPLE__
2023-05-15 16:55:09 +02:00
Ico Doornekamp
ab8c5a0b5f
net/setsockopt optname symbols are now lower case
2023-05-15 15:25:09 +02:00
Ico Doornekamp
68c35feaea
Formatting
2023-05-15 12:33:37 +02:00
Ico Doornekamp
88d0c2ca0f
add net/setsockopt
2023-05-15 12:15:36 +02:00
Calvin Rose
398833ebe3
Enable FFI module unconditionally.
2023-05-14 09:18:54 -05:00
Calvin Rose
358f5a03bf
Version bump to 1.28.0
2023-05-13 09:59:55 -05:00
Calvin Rose
fba1fdabe4
Update short-fn to fix #1123
...
Symbols are renamed on expansion to avoid the issue.
2023-05-13 09:44:30 -05:00
Calvin Rose
20ada86761
Fix NAN typo.
2023-05-12 19:08:26 -05:00
Calvin Rose
1467ab4f93
Copy paste error.
2023-05-11 20:56:12 -05:00
Calvin Rose
7e65c2bdad
Fix #1130 - mod flipped for signed integers.
2023-05-11 18:15:37 -05:00
Calvin Rose
84a4e3e98a
Update CHANGELOG.
...
and format.
2023-05-11 18:03:38 -05:00
Calvin Rose
bcbeedb001
Merge pull request #1128 from zevv/master
...
Added os.strftime()
2023-05-11 18:01:39 -05:00
Chloe Kudryavtsev
ac75b94679
Make JANET_FN_S* sourceline const
...
Otherwise attempts to use it on some platforms cause the following error
`error: initializer element is not a compile-time constant`
when attempting to use the corresponding `JANET_REG`.
2023-05-11 16:07:34 -04:00
Ico Doornekamp
5cd729c4c1
Added os.strftime()
2023-05-11 06:08:19 +02:00
Calvin Rose
c9fd2bdf39
Merge branch 'master' of github.com:janet-lang/janet
2023-05-10 18:46:42 -05:00
Calvin Rose
e4be5992b3
Address issue with #1131
2023-05-10 18:43:33 -05:00
Calvin Rose
2ac4988f1b
Merge pull request #1124 from sogaiu/tweak-ev-select-docstring
...
Tweak ev/select docstring
2023-05-08 04:17:25 -05:00
Calvin Rose
19f14adb9e
Update changelog.
2023-05-07 21:07:22 -05:00
Calvin Rose
86de039492
Merge branch 'master' of github.com:janet-lang/janet
2023-05-07 11:54:20 -05:00
Calvin Rose
2360164e4f
Address #1125 - fix ev/select to only take and release locks once.
...
By take and releasing locks twice per channel in the case where nothing
is reading, there was an opportunity for ev/select to hang in the
multithreaded case. Also silence valgrind/helgrind errors.
2023-05-07 11:54:06 -05:00
sogaiu
cd19dec44a
Tweak ev/select docstring
2023-05-07 22:22:33 +09:00
Chloe Kudryavtsev
53ba9c800a
Add get/opt cbytes
...
Like getcstring, but operates on a byteview.
When writing bindings (i.e what capi.c is primarily used for), it's
common to want to accept a buffer *or* a string rather than just
a string.
For this, a byteview is perfect (and why not accept keywords while
you're at it?).
However, there's no built-in function for getting a cstring out of
a byteview, this adds one.
This also reformulates getcstring to be an edge-case of getcbytes
(simply adding an explicit check for stringness).
2023-05-06 22:13:53 -04:00
Calvin Rose
cabbaded68
Add support for the NO_COLOR environment variable.
2023-05-06 16:33:45 -05:00
Calvin Rose
c3a06686c2
Merge branch 'shell-win-feature-check'
2023-05-06 15:53:02 -05:00
Calvin Rose
7d57f87007
Address #1121 - disallow extra splices.
...
This turns splices that are ignored into compiler errors. Other
alternatives here should also be considered, for example making this
a compiler warning rather than an error. For example, the latest
spork as of a3ee63c137ee3234987dbbca71b566994ff8ae8c has an error of this
kind, but the resulting program does work correctly.
Also disallow splice propagation - code of the
form (+ 1 (do ;[2 3 4]) 5).
2023-05-06 13:12:31 -05:00
Calvin Rose
4cc4a9d38b
(and ... <truthy-value> true) will return true
as per docs.
2023-05-06 10:16:05 -05:00
Calvin Rose
696efcb9e2
Add header file.
2023-04-30 12:19:55 -05:00
Calvin Rose
6e9cde8ac1
Add feature check for windows version shell.c
...
Tried to get console working on windows 7 and below
2023-04-30 10:36:42 -05:00
Calvin Rose
440af9fd64
Remove extra allocation in drop.
2023-04-24 09:41:33 -05:00
Calvin Rose
347721ae40
Fix macos behavior - Closes #1097 , Fixes #1015
2023-04-24 09:37:49 -05:00
Calvin Rose
daea91044c
Give different names to the user9 and user8 fiber statuses.
...
These now have semantic menaings that are pretty difficult to
work around. Code that tries to maniuplate user8 and user9 signals
right now may be affected
2023-04-24 09:19:15 -05:00
Calvin Rose
4ed3f2c662
Merge pull request #1114 from ianthehenry/drop-from-end
...
drop with a negative count now drops from the end
2023-04-24 09:16:10 -05:00
Calvin Rose
e4b68cd940
Merge pull request #1109 from wackbyte/remove-double-space
...
Remove double space in help message
2023-04-24 09:11:45 -05:00
Calvin Rose
b8c936e2fe
Merge pull request #1113 from ianthehenry/catseq
...
add catseq
2023-04-24 09:07:38 -05:00
Ian Henry
54b54f85f3
drop with a negative count now drops from the end
2023-04-23 21:39:14 -07:00
Ian Henry
ccd874fe4e
add catseq
2023-04-23 21:20:01 -07:00
Ian Henry
9dc7e8ed3a
peg replacement functions have access to captures
...
When peg/replace or peg/replace-all are given a function to serve as the text
replacement, any captures produced by the PEG are passed as additional
arguments to that function.
2023-04-23 09:15:46 -07:00
Ian Henry
485099fd6e
string and peg replacement functions can now take functions
...
Functions will be invoked with the matched text, and their result will be
coerced to a string and used as the new replacement text.
This also allows passing non-function, non-byteviewable values, which will be
converted into strings during replacement (only once, and only if at least
one match is found).
2023-04-23 08:36:17 -07:00
wackbyte
d359c6b43e
Remove double space in help message
2023-04-22 21:46:24 -04:00
Chloe Kudryavtsev
0902a5a981
improve null format handling
...
there was a request to improve the error message, but the whole function
has non-informative errors. (both functions, actually, since the code is
duplicated)
as such, instead of catching it directly, address the assumption that
led to the SIGSEGV and let it be caught by the functions themselves,
thus reusing existing error messages (which can then be improved
separately).
2023-04-20 11:51:11 -04:00
Chloe Kudryavtsev
f3192303ab
check for NULL in get_fmt_mapping ( fixes #1105 )
...
When there is no format to be found after a %, get_fmt_mapping returns
NULL. It then gets called against strlen, which is a typical SEGV.
Check for NULL aginst mapping, which signals a null format being
specified.
2023-04-19 12:55:25 -04:00
ML
b6175e4296
Add keep-syntax
and keep-syntax!
functions
...
These functions are designed to make it easier to properly preserve the
sourcemap and tuple type in macros. This commit also modifies the threading
macros to make use of these functions.
2023-04-07 21:09:52 -04:00
Calvin Rose
3858b2e177
Add ev/all-tasks
to get running and pending root fibers.
2023-04-01 18:57:13 -05:00
Calvin Rose
9a76e77981
Update for undefined behavior sanitizer.
2023-03-24 18:49:21 -05:00
Calvin Rose
8182d640cd
Merge branch 'master' of github.com:janet-lang/janet
2023-03-12 10:33:06 -05:00
Calvin Rose
1c6fda1a5c
Address #1076 - unexpected shadowing behavior
...
While the old behavior was reasonable, it is not spelled out anywhere
in the documentation and was incidental rather than intentional.
Parameters of the same name of the function should probably take
precedence on name collision, following the principle of least surprise.
2023-03-12 10:30:59 -05:00
Ian Henry
4e7930fc4c
remove quotes around log-gamma
2023-03-11 12:26:45 -08:00
Charlotte Koch
575af763f6
os/which can return :dragonfly
...
While here, document that :bsd is another possible return value.
2023-03-07 06:45:31 -08:00
Charlotte Koch
8b16b9b246
Need to enable __BSD_VISIBLE on DragonFly in conjunction with -std=c99
2023-03-07 06:40:58 -08:00
Calvin Rose
01aab66667
Prepare for 1.27.0 release.
2023-03-05 09:48:25 -06:00
Calvin Rose
aa5c987a94
Change semantics of bracketed tuple equality.
...
Comparison between different bracket and normal tuples
will now take into account the delimiter type. This solves strange
non-locality issues in the compiler due to this false equality, and is
more consistent with Janet's otherwise strong equality philosophy.
2023-03-03 18:24:02 -06:00
sogaiu
9d5b1ba838
Tweak math/rng-int docs
2023-02-24 19:55:47 +09:00
sogaiu
3c523d66e9
Add file/tell
2023-02-21 20:19:17 +09:00
Ian Henry
b442b21d3f
fix a segfault in the (number) special
...
This was an error about the base argument that referenced the tag argument,
which might not exist.
2023-02-20 17:07:42 -08:00
Calvin Rose
746ff5307d
Update for more minimal builds.
2023-02-12 12:14:11 -06:00
Calvin Rose
ef85b24d8f
Add optional offset to ffi/write.
2023-02-12 12:08:28 -06:00
Calvin Rose
c55d93512b
Add buffer/push-at for easier manipulation of buffers
...
buffer/blit is difficult to use, and while buffer/push is the easiet
buffer manipulation function to use it only appends to the buffer.
buffer/push-at lets users manipulate buffers at any index - useful
for buffers used as an in-memory databases, for example.
2023-02-12 11:26:00 -06:00
Calvin Rose
2e38f9ba61
Allow passing pointer-buffers to other threads.
2023-02-12 11:07:45 -06:00
Calvin Rose
1cadff8e58
Add ffi/pointer-buffer for easier memory manipulation in FFI.
...
Added underlying buffer support for buffer instances that cannot
reallocated underlying memory - useful for (small) memory mapped
files and other FFI utilties.
2023-02-12 09:20:05 -06:00
Calvin Rose
d1eba60ba8
Add separate sandbox flag for file/temp
...
Doesn't really impart (much) file systtem information when used, and
can be used for a lot of things where file functions are used to process
in a stream.
2023-02-09 08:57:53 -06:00
Calvin Rose
057dccad8f
Turn on nanboxing by default for risc-v 64.
2023-02-09 03:09:53 -06:00
Calvin Rose
4285200b4b
Add a sandbox option to disable native modules.
...
Also sort the sandbox docstring list.
2023-02-09 00:19:56 -06:00
Calvin Rose
73c2fbbc2a
Check sandbox capabilities instead of ignoring unknown ones.
2023-02-06 17:38:00 -06:00
Calvin Rose
37b7e170fa
Update changelist.
2023-02-06 12:31:49 -06:00
Calvin Rose
b032d94877
Add sandboxing API.
...
The sandboxing API is meant to make janet a bit more attractive
for certain application embedding use cases. The sandboxing API
puts limits on what system resources the interpreter can access.
2023-02-06 09:05:57 -06:00
Calvin Rose
9476016741
Update asm.c
2023-02-05 23:49:18 -06:00
Calvin Rose
7a1c9c7798
Add support for debugging upvalues.
...
Upvalues are stored in the symbol slots structure as well, but
since they are always live, we repurpose the death_pc field to
refer to the environment index that we want to look at at runtime.
2023-02-05 15:30:01 -06:00
Calvin Rose
c7fb7b4451
Merge branch 'master' into localbindings
2023-02-05 11:36:57 -06:00
Calvin Rose
67c474fc7a
More fixes to ev/gather (tested on httpf server).
2023-02-05 10:21:37 -06:00
Calvin Rose
4e8154cf8a
Fix ev/gather to cancel children on cancellation.
...
Otherwise, we would be leaving zombie fibers around.
2023-02-05 09:43:16 -06:00
Calvin Rose
9582d3c623
Allow infinite wait to work without issues.
2023-02-05 09:29:39 -06:00
Calvin Rose
0079500713
Merge branch 'master' into localbindings
2023-02-04 13:39:24 -06:00
Calvin Rose
55af6ce834
Fix write after free with printing to files.
2023-02-04 13:36:30 -06:00
Calvin Rose
3e82fdc125
Update symbolmapping code with marshal/unmarshal.
2023-02-03 17:33:11 -06:00
Calvin Rose
7344a6cfc0
Fix null check.
2023-02-03 16:24:50 -06:00
Calvin Rose
0aded71343
Fix issue with environments in asm.c
2023-02-03 16:24:50 -06:00
Calvin Rose
7663b1e703
Fix null check.
2023-02-02 22:03:18 -06:00
Calvin Rose
282546c03f
Fix issue with environments in asm.c
2023-02-02 21:12:17 -06:00
Calvin Rose
f4bc89d1c0
Progress.
2023-02-02 21:08:48 -06:00
Jona Ekenberg
c0c8ab25e6
added symbolslots to asm
2023-02-01 21:12:42 +01:00
Jona Ekenberg
ce31db09e4
symbolslots should be gc'd, local_symbols always pushed in case *debug* is set in middle of function
2023-02-01 11:45:13 +01:00
Jona Ekenberg
624a6cf619
symbolslots nil when there are no symbols, changed debugger to not have special case
2023-02-01 11:25:52 +01:00
Jona Ekenberg
587aa87d28
symbolslots now use janet_v vectors, flat structure
2023-02-01 11:06:33 +01:00
Jona Ekenberg
88813c4f87
initial slotsyms implementation
2023-02-01 09:39:24 +01:00
Calvin Rose
dacbe29771
Allow round-tripping more functions with disasm and asm.
...
Nested functions that captured with environments didn't
work well with asm.
2023-01-30 09:04:42 -06:00
Calvin Rose
05e7f974e3
Add os/compiler to the core.
...
Allows querying what compiler was used to compile Janet.
2023-01-28 14:00:02 -06:00
Calvin Rose
0dbef65a73
Merge pull request #1065 from sogaiu/comment-tweaks
...
Misc comment tweaks
2023-01-27 11:26:05 -06:00
Calvin Rose
9106228787
Add :riscv32 and :riscv32 values for os/arch.
2023-01-27 11:23:57 -06:00
Calvin Rose
6ae3bdb25c
Add RISC-V 64 bit detection in janet.h
2023-01-26 22:40:05 -06:00
sogaiu
310bcec260
Misc comment tweaks
2023-01-25 18:45:19 +09:00
Calvin Rose
8c4cc4e671
Merge pull request #1064 from sogaiu/realpath-doc-tweak
...
Update os/realpath docstring
2023-01-24 09:50:44 -06:00
Calvin Rose
c6eaaa83ed
Buffer initialized with janet_buffer_init will not be gced.
...
Set an internal flag that disables garbage collection on such
buffers. For all currently correct usage, this should have no effect,
and will fix use cases where buffers are initialized this way and then
passed to the interpreter.
2023-01-23 20:57:30 -06:00
sogaiu
8f598d6f96
Update os/realpath docstring
2023-01-23 12:55:04 +09:00
Calvin Rose
8955e6f536
Merge branch 'master' of github.com:janet-lang/janet
2023-01-22 11:05:39 -06:00
Calvin Rose
f8ddea6452
Add msys2 testing with github actions.
2023-01-22 11:05:27 -06:00
alectroemel
1acf4c3ab7
add int32_t type for file flags, just like header
...
Signed-off-by: alectroemel <alectroemel@hotmail.com>
Signed-off-by: alectroemel <alec@mirusresearch.com>
2023-01-22 10:24:46 -06:00
Calvin Rose
07a3158fba
Merge pull request #1060 from ianthehenry/doc-typos
...
Fix some docstring typos
2023-01-21 16:21:57 -06:00
bakpakin
a490937cd9
Add :mingw value when getting the OS setting when compiled with mingw.
2023-01-21 11:50:03 -06:00
bakpakin
8ee5942481
Fix windows build with JANET_NO_NET - #1055
2023-01-21 10:56:20 -06:00
bakpakin
93b469885a
Initial Mingw support with Makefile.
...
Also add a macro JANET_MSVC to distinguish between
a windows build (JANET_WINDOWS) and a build with msvc.
2023-01-21 10:37:34 -06:00
Calvin Rose
d8d1de2dcb
Don't compile library loading code on windows if it is disabled.
2023-01-21 09:36:03 -06:00
Ian Henry
ab224514f0
Fix some docstring typos.
2023-01-18 19:41:56 -08:00
Calvin Rose
75179de8da
Merge pull request #1056 from fd00/use-dev-urandom-on-cygwin
...
Use `/dev/urandom` for `janet_cryptorand` on cygwin
2023-01-08 09:29:52 -06:00
Calvin Rose
c28df14e6b
Prepare for 1.26.0 release
2023-01-07 15:08:40 -06:00
Calvin Rose
b73855b193
Merge branch 'master' of github.com:janet-lang/janet
2023-01-07 15:05:16 -06:00
Calvin Rose
a0f40042cb
Update copyright year.
2023-01-07 15:03:35 -06:00
Daisuke Fujimura (fd0)
3254c2c477
Use /dev/urandom for janet_cryptorand on cygwin
2023-01-07 08:58:35 +09:00
Calvin Rose
a8a78d4525
Merge pull request #1052 from dressupgeekout/cpu_count_reduced_os
...
(os/cpu-count) should not be defined at all with JANET_REDUCED_OS
2022-12-16 11:11:30 -06:00
Calvin Rose
57e6ee963d
Merge pull request #1046 from dressupgeekout/charlotte_sort_doc
...
Explicitly mention that `sort-by` sorts a list in place.
2022-12-16 11:11:07 -06:00
Calvin Rose
ce6bfb8420
Merge pull request #1049 from harryvederci/patch-1
...
Improve documentation for the `all` function.
2022-12-16 09:51:59 -06:00
Calvin Rose
f0672bdc59
Merge pull request #1051 from sogaiu/math-abs-vs-fabs-issue
...
Tweak math/abs to improve doc result
2022-12-16 09:51:43 -06:00
Charlotte Koch
23de953fbd
(os/cpu-count) should not be defined at all with JANET_REDUCED_OS
2022-12-15 20:16:43 -08:00
Calvin Rose
d5ee6cf521
Add malloc and free to ffi.
...
Very "unsafe", but a good tool of last resort. In most cases
a buffer is preferable, but the lifetime can be a bit unclear.
This allows very granular control over memory.
2022-12-15 21:35:44 -06:00
sogaiu
fb7981e053
Tweak math/abs to improve doc result
2022-12-11 00:09:50 +09:00
harryvederci
846123ecab
Improve documentation for the all
function.
2022-12-09 11:16:42 +00:00
Calvin Rose
90f212df92
Add length method ffi/jitfn abstract values.
2022-12-04 11:08:17 -06:00
Calvin Rose
aa60c1f36a
Add ffi jit example.
2022-12-03 17:52:23 -06:00
Calvin Rose
c731f01067
Address windows compilation warning.
2022-12-03 12:10:22 -06:00
Calvin Rose
6c9c1cdb30
MAP_ANON(YMOUS) not strictly needed.
2022-12-03 11:45:33 -06:00
Calvin Rose
9ba2b40e87
Add MAP_ANON instead of MAP_ANONYMOUS for mac
2022-12-03 11:31:04 -06:00
Calvin Rose
7a3d055012
Add ffi/jitfn for JIT compilation.
...
Convert a byte sequence of machine code to an
an executable pointer that can be used with ffi/call.
2022-12-03 11:26:23 -06:00
Calvin Rose
0824f45e29
Format compile.c
2022-11-27 10:15:01 -06:00
Charlotte Koch
4debe3446c
Explicitly mention that sort-by
sorts a list in place.
2022-11-20 20:51:49 -08:00
Calvin Rose
07fe9bcdf6
Update state header to include pthread
2022-11-11 11:48:50 -06:00
Calvin Rose
6a557a73f5
Simplify eval.
...
Also add more conventional handling of nil to the `compile` function.
2022-11-11 11:25:06 -06:00
Calvin Rose
8d1cfe0c56
Simplify eval-string implementation.
2022-11-11 11:15:53 -06:00
Calvin Rose
a3a42eebea
Create pthread threads with detached attribute.
...
Rather than calling pthread_detach on a default thread.
2022-11-11 11:01:59 -06:00
Calvin Rose
76be8006a4
Add channel marshalling.
2022-11-10 16:32:54 -06:00
Calvin Rose
bfcfd58259
Update for TCC to include stdatomic.h
2022-11-09 07:55:21 -06:00
Calvin Rose
914a4360e7
Indicate version bump since header file changed.
2022-11-05 16:38:52 -05:00
Calvin Rose
8c31874eeb
Remove unused assert.h
2022-11-05 11:44:14 -05:00
Calvin Rose
ef7afeb2ea
Add 64 bit integer support to printf and other formatting functions.
2022-11-05 11:33:19 -05:00
Calvin Rose
c8974fffbe
Fix docstring.
2022-11-04 11:23:08 -05:00
Calvin Rose
b75fb8dc9e
Add :@all: to module/expand-path
...
Allow more easily importing modules from custom directories
without jumping through too many hoops. Technically, this was
possible before but required circumventing the built-in module/paths
and was just a hassle.
Also add entries to module/path (and module/add-path) to allow code
like the following.
(setdyn :my-libs "/home/me/janet-stuff/")
(import @my-libs/toolbox)
Intended for things like test harnesses where code might not
be installed to the usual directories.
2022-11-04 11:15:48 -05:00
Calvin Rose
57356781a9
Fix typo.
2022-10-30 13:36:13 -05:00
Calvin Rose
e43eab5fd6
Fix panicf call.
2022-10-30 09:57:40 -05:00
Calvin Rose
894cd0e022
Prepare for 1.25.1 release.
2022-10-29 11:58:29 -05:00
Calvin Rose
db2c63fffc
Update CHANGELOG.md
2022-10-24 20:32:02 -05:00
Calvin Rose
60e0f32f1a
Fix os/open with :rw permissions on posix.
2022-10-24 19:39:58 -05:00
Calvin Rose
e731996a68
Allow overriding JANETCONF_HEADER in Makefile.
...
This allows a configuration workflow that is a bit simpler than before
and doesn't requiring applying patches. Instead, add a config.mk to
source dir with JANETCONF_HEADER=myconfig.h and compile as usual.
The patching workflow will of course still work exactly as before.
2022-10-24 09:49:51 -05:00
Calvin Rose
fd59de25c5
Add memcmp to the core. Useful in binary protocol implementations.
2022-10-18 11:54:07 -05:00
Calvin Rose
54b52bbeb5
Prepare for 1.25.0 release.
2022-10-10 18:24:48 -05:00
Calvin Rose
448ea7167f
Add CLOEXEC when calling accept on Linux.
...
Prevents leakage of file descriptors to subprocesses.
The symptom of the above issue is sockets that don't seem to close
until a subprocess completes.
2022-10-10 18:06:31 -05:00
Calvin Rose
6b27008c99
Fix os/date with nil argument.
2022-10-10 15:24:28 -05:00
Calvin Rose
725c785882
Formatting.
2022-10-10 14:24:03 -05:00
Calvin Rose
ab068cff67
Remove WNOWAIT code on linux.
...
Would cause os/proc-wait to block in some circumstances.
2022-10-10 14:23:17 -05:00
bakpakin
9dc03adfda
Fix pass by reference in windows FFI to accomodate stack shift.
2022-09-22 10:58:16 -05:00
bakpakin
49f9e4eddf
Fix ifdef in capi.c for janet_getuinteger64 and janet_getinteger64
2022-09-20 15:42:20 -05:00
bakpakin
43c47ac44c
Address #1037 - move stack hack after arg writing logic to avoid
...
clobber.
2022-09-20 15:37:20 -05:00
Calvin Rose
f33c381043
Improve sysv64 classify algorithm.
2022-09-20 09:45:17 -05:00
Calvin Rose
3479841c77
Address #1034 - add handling for 8-16 byte structs in FFI.
2022-09-20 09:28:46 -05:00
Calvin Rose
6a899968a9
Allow passing user signals to (signal) as keywords.
2022-09-17 21:18:07 -05:00
Calvin Rose
bb8405a36e
Merge pull request #1029 from locriacyber/patch-0
...
Fix documentation for ev/go, ev/spawn
2022-09-16 07:32:25 -05:00
bakpakin
e326071c35
Fix void returns in windows FFI - address #1025
2022-09-15 13:51:11 -05:00
Locria Cyber
ad6a669381
Add doc for ev/go
...
Document that you can pass a function instead of a fiber to ev/go
2022-09-14 00:17:53 +00:00
Locria Cyber
e4c9dafc9a
Fix typo in ev/spawn doc
2022-09-13 23:49:42 +00:00
Calvin Rose
dfc0aefd87
Merge pull request #1028 from autumnull/master
...
Made peg 'not' and 'if-not' drop their captures on success
2022-09-13 15:20:10 -05:00
Calvin Rose
8da7bb6b68
Fix peg/replace-all and family - Fix #1027
2022-09-12 18:58:48 -05:00
Autumn!
9341081a4d
Made peg 'not' and 'if-not' drop their captures on success
2022-09-12 23:07:56 +01:00
Autumn!
fe5f661d15
Removed unnecessary backslashes from documentation
2022-09-08 13:21:17 +01:00
Calvin Rose
ff26e3a8ba
Remove end of string check that is now redudant.
...
The addition of some code to avoid valgrind warnings made this code
redundant.
2022-09-05 20:13:15 -05:00
Calvin Rose
14657a762c
Fix peg RULE_SET op code when at tail of string in some cases.
2022-09-05 14:11:03 -05:00
Calvin Rose
4754fa3902
Fix issue #1021 - bad format specifiers in run.c
2022-09-03 14:03:51 -05:00
Calvin Rose
f302f87337
Merge pull request #1019 from Techcable/fix/inttypes-overflow
...
Signed integer overflow is undefined behavior in C, avoid it in inttypes.c
2022-08-30 23:23:11 -05:00
Josef Pospíšil
4336a174b1
Fix typo in define comment
2022-08-30 09:21:20 +02:00
Techcable
0adb13ed71
inttypes.c: Avoid signed integer overflow (U.B.)
...
In C, signed arithmetic overflow is undefined behvior
but unsigned arithmetic overflow is twos complement
Unconditionally switch to unsigned arithmetic internally for +, -, *
This will not affect the result thanks to twos complement awesomeness.
I don't think this will be an issue in these functions,
but it has a history of causing bugs.....
2022-08-29 18:38:51 -07:00
Techcable
c099ec05ee
Remove documentation on type error from index-of
...
Three reasons:
1. This same behavior is not documented on the `next` function
2. This function does not throw the error directly,
it only throws an error because `next` does.
3. Following the same idea as the previous commit, this behavior is
more or less implementation-defined for nonsensical types
> In dynamic languages, the usual idea is garbage in, garbage out.
Various other documentation cleanup.
2022-08-26 21:46:58 -07:00
Techcable
a20612478e
Remove try from contains?, allowing type errors
...
> Remove the try. In dynamic languages, the usual idea is garbage in, garbage out. You misunderstood my point about the type error. “Test” functions are not special in that regard.
> - @bakpakin
2022-08-26 20:36:17 -07:00
Techcable
f778e8bbd1
Fix incorrect usage of the test macro
...
I need unit tests....
2022-08-26 15:35:26 -07:00
Techcable
7203c046f9
Remove collection? type test
...
No longer used to guard the type tests.
2022-08-26 15:23:52 -07:00
Techcable
754b61c593
Clarify documentation of contains?
...
Also contains-value?
2022-08-26 15:19:39 -07:00
Techcable
927e9e4e4d
Make contains? consistently iterate over values.
...
Remove `contains-value?` because it is now redundant.
Clarify in the documentation that it checks dictionary values.
2022-08-26 15:06:09 -07:00
Techcable
699f9622d7
Warn about index-of type errors when not iterable
...
This is just documentation of existing behavior, it does not change anything.
The reason index-of throws a type error on non-iterable types is because `next` does.
This is hardcoded into the JOP_NEXT opcode (see src/core/value.c:janet_next_impl).
Unfortunately, there is currently no corresponding `iterable?` check.
2022-08-26 15:05:39 -07:00
Techcable
765eb84c33
on bad type, contains? shuld return false (not error)
...
Note this actually changes behavior from a thin wrapper over `index-of`.
This is because `(index-of 3 3)` throws "error: expected iterable type, got 3"
2022-08-26 14:23:36 -07:00
Calvin Rose
03ba1f7021
Update CHANGELOG and version numbers.
2022-08-26 13:15:30 -05:00
Calvin Rose
99f63a41a3
Improve pointer hashing to avoid hash collisions.
2022-08-26 12:18:10 -05:00
Calvin Rose
a575f5df36
Add option to marshal values without cycle detection.
2022-08-26 11:20:02 -05:00
Techcable
12a1849090
Add utilities for contains? and contains-key?
...
This is significantly clearer than using (not (nil? (index-of col val)))
Most major programming languages offer some sort of contains function (Python, Java, C, Rust).
The only exception I know of is C.
2022-08-25 21:00:02 -07:00
Calvin Rose
0817e627ee
Prepare for 1.24.1 release.
2022-08-24 13:23:53 -05:00
Calvin Rose
f5d11dc656
Address #1014 improve parse errors when bad delimiters are found.
...
Reuse some existing logic for eof errors.
2022-08-24 11:34:59 -05:00
Calvin Rose
ac2082e9b3
Allow adding name to short-fns.
...
When short-fn is used in a macro, it can be useful to
give the function a nicer name then a raw pointer.
2022-08-18 14:33:59 -05:00
Calvin Rose
1aea5ee007
Remove stack inversion code for sysv64 FFI.
2022-08-16 12:38:44 -05:00
bakpakin
34496ecaf0
Prepare for 1.24.0 release.
2022-08-14 20:20:09 -05:00
bakpakin
9a6d2a7b32
Fix FFI for reference return values and stack parameter passing.
2022-08-14 15:20:30 -05:00
bakpakin
f8a9efa8e4
Allow binding pre-loaded symbols in windows FFI.
...
Mimic the posix RTLD_NOW setting for dlopen by iterating
opened DLLs to look for symbols.
2022-08-14 13:26:13 -05:00
Calvin Rose
5b2169e0d1
Fix docstring.
2022-08-02 14:58:32 -05:00
Calvin Rose
f4bbcdcbc8
Get rid of disabled tracing. #1005
2022-08-02 12:19:22 -05:00
Calvin Rose
79c375b1af
Address #1005 - Fix janet_call stack clobbering on dirty stack.
2022-08-02 12:13:56 -05:00
Calvin Rose
1900d8f843
Fix build warnings on Linux GCC version 12.1.0 x64
2022-07-20 08:04:03 -05:00
Calvin Rose
b35414ea0f
Merge branch 'master' of github.com:janet-lang/janet
2022-07-19 20:04:44 -05:00
Calvin Rose
fb5b056f7b
Address #1001 - don't process names passed to dlopen.
2022-07-19 20:04:17 -05:00
bakpakin
4c7ea9e893
Merge branch 'master' of github.com:janet-lang/janet
2022-07-09 11:44:20 -05:00
bakpakin
c7801ce277
Address #997 - clang undefined behavior warning.
2022-07-09 11:43:51 -05:00
Calvin Rose
f741a8e3ff
Merge pull request #998 from autumnull/master
...
stop doc-format detecting other modes within code blocks
2022-07-09 11:40:51 -05:00
bakpakin
6a92e8b609
Update CHANGELOG and make tweaks to win32 shell
2022-07-09 11:39:06 -05:00
bakpakin
9da91a8217
Update shell.c to have smart behavior on windows.
2022-07-09 11:23:02 -05:00
bakpakin
69853c8e5c
Merge branch 'master' of github.com:janet-lang/janet
2022-07-08 09:49:56 -05:00
Autumn!
1f41b6c138
doc-format no longer detects other modes within code blocks
2022-07-07 14:41:46 +01:00
Calvin Rose
435e64d4cf
Allow shorthand for setting task-id on new threads with flag.
...
Avoids the need to wrap function bodies in closures in many cases.
2022-07-03 12:08:21 -05:00
Calvin Rose
8d0e6ed32f
Fix function handlers for :out and :err.
...
They were not properly handled for formatting functions.
2022-07-02 21:11:05 -05:00
Josef Pospíšil
94a506876f
Trace function to the stderr
2022-07-01 12:23:25 +02:00
Calvin Rose
9bde57854a
Add tabseq
macro.
2022-06-28 22:51:41 -05:00
Calvin Rose
f456369941
Add support for a dyn :task-id
...
Adds extra information to default information from supervisor
channels. For threaded channels as supervisors, we don't get
the source fiber so identifying the source of messages was not
possible. This change allows better multithreading with supervisors.
2022-06-25 18:51:21 -05:00
Calvin Rose
e4bafc621a
Remove ssize_t usage.
2022-06-20 11:09:41 -05:00
Calvin Rose
cfa39ab3b0
Prepare for 1.23.0 release.
2022-06-20 10:49:25 -05:00
Calvin Rose
47e91bfd89
Fix docstring.
2022-06-19 18:52:37 -05:00
Calvin Rose
eecc388ebd
Add support for 0-element arrays in FFI.
...
Allows for flexible array member construct mapping.
2022-06-19 16:29:55 -05:00
Calvin Rose
0a15a5ee56
Prepare for 1.23.0 release.
2022-06-19 15:07:35 -05:00
Calvin Rose
cfaae47cea
Fix trailing :pack-all or :pack in struct.
2022-06-19 13:06:19 -05:00
Calvin Rose
c1a0352592
Fix unset field in JanetFFIType.
2022-06-19 12:58:45 -05:00
Calvin Rose
965f45aa3f
Update changelog to say FFI initially only available on non-windows
...
platforms.
2022-06-19 12:42:44 -05:00
Calvin Rose
6ea27fe836
Error message sounded a bit unsure.
2022-06-19 10:29:42 -05:00
Calvin Rose
0dccc22b38
Improve error messages when using bad metadata
...
Print metadata value as well as binding name.
2022-06-19 10:28:18 -05:00
Calvin Rose
cbe833962b
Remove bad suite0009 test. Close #871
...
The issue is that there was no synchronization on writes.
The stability of the test relied on the fact that the server
would read in an entire message in one call to ev/read, which
would _almost_ always happen since the messages are so small.
2022-06-19 10:01:10 -05:00
Calvin Rose
e316ccb1e0
Use _tzset() on windows before localtime_s
2022-06-19 08:49:54 -05:00
Calvin Rose
a6f93efd39
Support for array types in ffi.
2022-06-19 08:03:32 -05:00
Calvin Rose
20511cf608
Cast NULL pointer to nil in return in ffi.
2022-06-18 16:53:01 -05:00
Calvin Rose
1a1dd39367
Use __builtin_alloca if no other option.
2022-06-18 13:54:47 -05:00
Calvin Rose
589981bdcb
BSD systems put alloca in the stdlib
2022-06-18 12:18:06 -05:00
Calvin Rose
89546776b2
alloca
2022-06-18 12:15:16 -05:00
Calvin Rose
f0d7b3cd12
No alloca.h?
2022-06-18 11:19:14 -05:00
Calvin Rose
e37be627e0
Allow loading current process on windows as well.
2022-06-18 10:31:00 -05:00
Calvin Rose
d803561582
Fix ffi/defbind for non-lazy bindings.
...
Add testing to bind to symbols in current binary.
2022-06-18 10:14:42 -05:00
Calvin Rose
a1172529bf
Fix named arguments with optional args.
2022-06-18 09:46:28 -05:00
Calvin Rose
1d905bf07f
SRWLock is the size of a void pointer.
2022-06-17 17:49:02 -05:00
Calvin Rose
eed678a14b
Include windows.h for windows builds
2022-06-17 17:41:50 -05:00
Calvin Rose
b1bdffbc34
Don't inlcude pthread on windows.
2022-06-17 17:35:58 -05:00
Calvin Rose
62fc55fc74
Remove pthread.h from janet.h
...
Should make janet a bit easier to use. Also changes the
header to not expose the size of native mutexes and rwlocks, except
with janet_os_mutex_size and janet_os_rwlock_size.
2022-06-17 17:13:58 -05:00
Calvin Rose
80729353c8
Add :lazy option for ffi/context for jpm quickbin usage.
2022-06-13 21:26:03 -05:00
Calvin Rose
105ba5e124
Add ffi/context and ffi/defbind helpers.
...
Wrap the very bare-bones FFI library to be a bit more
useful out of the box.
2022-06-12 18:48:47 -05:00
Calvin Rose
ad1b50d1f5
Update dofile function signature.
2022-06-12 18:03:23 -05:00
Calvin Rose
1905437abe
Merge branch 'master' into ffi
2022-06-12 13:59:37 -05:00
Calvin Rose
87fc339c45
Add named arguments with the &named symbol.
...
Similar to &keys, but more ergonomic.
2022-06-12 13:53:18 -05:00
Calvin Rose
c9586d39ed
Add a :none calling convention.
...
The ffi module is useful even when true ffi calls
are not yet implemented. This lets the ffi be enabled
on any architecture, albeit with a degraded feature set
where calling conventions are not implemented.
2022-06-12 10:12:45 -05:00
Calvin Rose
2e9f67f4e4
Change all "native-*" to ffi/. Move new dll loading funcs.
...
native-close, raw-native and native-lookup have become
ffi/close, ffi/native, and ffi/lookup instead.
The new ffi module will be useful for any architecture even if we don't
support making calls to certain functions. We can simple add a
do-nothing calling convetion that panics on call. ffi/read and ffi/write
are useful in their own right.
2022-06-12 10:02:02 -05:00
Calvin Rose
e318170fea
Begin working on windows calling convetion.
...
Also remove inline assembly for making sysv64 calls.
Instead, use crafted function signatures to set all needed registers.
2022-06-12 09:16:10 -05:00
Calvin Rose
73c4289792
Fix define check.
2022-06-11 21:50:34 -05:00
Calvin Rose
ea45d7ee47
Convert to one big blob of assembly for sysv cc.
...
Also begin working on win64 calling convention.
2022-06-11 21:43:35 -05:00
Calvin Rose
6d970725e7
Update boot.janet for typos.
2022-06-11 21:19:42 -05:00
Calvin Rose
458c2c6d88
Make calling convention optional for trampoline
2022-06-11 15:47:51 -05:00
Calvin Rose
0cc53a8964
Get a GTK example working. Good proof of concept.
2022-06-11 14:47:35 -05:00
Calvin Rose
0bc96304a9
Add r32 and r64 aliases for real numbers in ffi types.
2022-06-11 09:40:37 -05:00
Calvin Rose
c75b088ff8
Format boot.janet with janet-format.
2022-06-10 19:13:23 -05:00
Calvin Rose
181f0341f5
Add :pack and :pack-all keywords to allow for struct packing.
...
Syntax may need some work but covers both fully packed structs
as well as packing of individual members.
2022-06-10 18:53:22 -05:00
Calvin Rose
33bb08d53b
Merge branch 'master' into ffi
2022-06-10 16:24:55 -05:00
Calvin Rose
6d188f6e44
Improve .ppasm function.
2022-06-10 16:24:40 -05:00
Calvin Rose
c3648331f1
Expose an easy to use debugger
function.
2022-06-10 15:39:29 -05:00
Calvin Rose
a5b66029d3
Expose the built-in debugger in more places.
2022-06-10 15:23:15 -05:00
Calvin Rose
49bfe80191
Make sure void return types work as expected.
2022-06-10 12:33:01 -05:00
Calvin Rose
a5def77bfe
Add support for struct return values.
2022-06-10 12:25:08 -05:00
Calvin Rose
9ecb5b4791
Add native-read function as inverse to native-write.
2022-06-10 09:38:52 -05:00
Calvin Rose
1cc48a370a
Add native-write, which will write structs to buffers.
...
Useful for testing as well as useful in its own right. Begs
for an inverse, native-read which would convert byte data
to native structs.
2022-06-10 08:46:20 -05:00
Calvin Rose
f1ec8d1e11
Beginning of struct support.
...
TODO:
- struct return values
- support for unions in signatures
- more testing
- complex types
- packed structs
- writing structs to buffers (useful and we have most of the machinery).
2022-06-09 20:27:56 -05:00
Calvin Rose
6f90df26a5
Alloca included by default on some OS, but not all.
...
Do explcitly include alloca on non-msvc compilers.
2022-06-08 10:01:19 -05:00
Calvin Rose
9d9cb378ff
Don't include alloca.h, not in MSVC.
2022-06-08 09:59:13 -05:00
Calvin Rose
f92aac14aa
Only enable FFI on x86-64, non-windows OSes.
2022-06-08 09:50:31 -05:00
Calvin Rose
3f27d78ab5
Add some FFI testing and more improvements to sysv abi.
...
Add support for integer return and floating point return variants, as
well as arguments on the stack. Start flushing out struct arguments.
Still needed:
- structs (packed and unpacked)
- complex numbers
- long doubles
- MASM alternative for windows (you can technically use sysv abi on
windows)
- more calling conventions.
2022-06-08 09:44:49 -05:00
Calvin Rose
282d1ba22f
Implement sys v abi on x64 partially.
2022-06-06 18:54:17 -05:00
Calvin Rose
94c19575b1
Fix when clib is not pointer type.
2022-06-06 13:37:07 -05:00
Calvin Rose
e3e485285b
Prevent double usage of native objects after closing.
2022-06-06 13:36:03 -05:00
Calvin Rose
986e36720e
Update windows builds for raw-natives.
2022-06-06 13:08:12 -05:00
Calvin Rose
74348ab6c2
Fix symbol lookup when symbol isn't found.
2022-06-06 10:53:00 -05:00
Calvin Rose
8d1ad99f42
Add stubs that are precursor to FFI.
...
FFI may be best implemented as an external library
(libffi has incompatible license to Janet) or as code
that takes void * and wraps then into Janet C functions
given a function signature. Either way, we need to some way
to load symbols from arbitrary dynamic libraries.
2022-06-06 10:49:30 -05:00
Calvin Rose
c9f33bbde0
Add rwlocks.
2022-06-05 16:42:18 -05:00
Calvin Rose
9c9f9d4fa6
Add some thread coordination primitives.
...
Due to the nature of event loops, it is a bit difficult to integrate
lock and other primitives such that they don't block fibers on the same
thread.
2022-06-05 15:24:34 -05:00
Calvin Rose
2f64a6b0cb
Add parse-all
function as a natural extension to the parse
function.
2022-05-28 19:02:17 -05:00
Calvin Rose
dfa78ad3c6
typo
2022-05-28 12:23:28 -05:00
Calvin Rose
6ada2a458f
Fixes on bsd for os/cpu-count.
2022-05-28 12:21:44 -05:00
Calvin Rose
8145f3b68d
On linux, available CPUs is more useful information.
2022-05-28 12:19:25 -05:00
Calvin Rose
48289acee6
Add os/cpu-count functionality.
2022-05-28 12:01:23 -05:00
Calvin Rose
395ca7feea
Fix meson.build for older versions of meson.
2022-05-14 10:27:28 -05:00
bakpakin
e0b7533c39
Add toggle macro.
2022-05-12 15:36:29 -05:00
bakpakin
5b2a402930
Fix version bump.
2022-05-09 10:28:09 -05:00
Calvin Rose
487d333024
Add module/value
function to make grabbing bindings out module tables.
2022-05-05 19:24:44 -05:00
Calvin Rose
fe7d35171f
Remove file/popen - address #974
2022-05-05 18:33:34 -05:00
Calvin Rose
b3aed13567
Use janet_getnat when non-negative integer needed.
2022-05-05 18:27:29 -05:00
rick2600
1ff521683f
Fix #975 - null ptr dereference when a table is created with negative capacity
2022-05-05 02:11:43 -03:00
rick2600
7fda7709ff
fix negative count passed to cfun_array_new_filled
2022-05-02 12:57:47 -03:00
John Gabriele
473eec26c1
os.c doc formatting typo
2022-04-29 23:57:37 -04:00
Calvin Rose
9fa945ad93
Don't include captures of last match from to
combinator.
2022-04-29 19:21:10 -05:00
Calvin Rose
a895219d2f
Fix #971 - remove to rule optimization
...
For to and thru, we need to restore eveytime through the loop since rules need
run with the right captures on the stack, especially if they have any
sort of backrefs.
2022-04-29 19:15:56 -05:00
bakpakin
427f7c362e
Fix os/execute regression.
2022-04-27 22:59:27 -05:00
Calvin Rose
73f5c41fae
Address #968 Ignore :pipe arguments in os/execute.
...
They are only useful in os/spawn. Also update docstrings.
2022-04-27 20:13:10 -05:00
Calvin Rose
b4ec168401
Address #950 - add defn suggestion on bad def.
...
While generally we are not in the business of making a very chatty
compiler, this is a simple improvement that involves compiling
metadata before the binding, as well as adding a suggestion for `defn`
in case the compiler encounters an unexpected tuple.
2022-04-23 22:27:34 -05:00
John Gabriele
471204b163
boot.janet docstrings (part 3, last part)
...
Added some backticks around code in docstrings to distinguish them from prose.
Also some light editing.
2022-04-20 18:31:06 -04:00
John Gabriele
9287b26042
boot.janet docstrings (part 2)
...
Added some backticks around code in docstrings to distinguish them from prose.
Also some light editing.
2022-04-19 01:55:37 -04:00
Calvin Rose
e22936fbf8
Merge pull request #964 from uvtc/patch-9
...
tuple.c docstrings
2022-04-18 14:07:41 -05:00
Calvin Rose
04ace9fc16
Merge pull request #963 from uvtc/patch-8
...
table.c docstrings
2022-04-18 14:07:26 -05:00
John Gabriele
96602612ba
boot.janet
...
Added some backticks around code in docstrings to distinguish them from prose.
2022-04-17 22:35:04 -04:00
John Gabriele
690b98bff9
tuple.c docstrings
...
Added some backticks around code in docstrings to distinguish them from prose.
2022-04-17 21:26:53 -04:00
John Gabriele
8329131bfe
table.c docstrings
...
Added some backticks around code in docstrings to distinguish them from prose.
Light editing to `table/raw-get`. Is my change there correct? (t --> the key)
2022-04-17 21:21:01 -04:00
Calvin Rose
9986aab326
Merge pull request #960 from uvtc/patch-5
...
math.c
2022-04-17 20:03:25 -05:00
Calvin Rose
0b105bc535
Merge pull request #959 from uvtc/patch-4
...
io.c docstrings
2022-04-17 20:03:11 -05:00
Calvin Rose
51ac9c9506
Merge pull request #961 from uvtc/patch-6
...
os.c docstrings
2022-04-17 20:02:56 -05:00
Calvin Rose
0310176696
Merge pull request #962 from uvtc/patch-7
...
parse.c docstrings
2022-04-17 20:02:26 -05:00
Calvin Rose
84a7a2bc3e
Merge pull request #958 from uvtc/patch-3
...
buffer.c docstrings
2022-04-17 20:01:57 -05:00
John Gabriele
2bffb9d682
parse.c docstrings
...
Added some backticks around code in docstrings to distinguish them from prose.
2022-04-17 20:53:36 -04:00
John Gabriele
811125a760
os.c docstrings
...
Some code backticks in docstrings where useful. Also some light editing of punctuation, etc.
2022-04-17 20:42:32 -04:00
John Gabriele
0dd91082a1
math.c
...
Fix typo, and backticks around one word.
2022-04-17 20:15:41 -04:00
John Gabriele
c80587868e
io.c docstrings
...
Added some backticks around code in docstrings to distinguish them from prose.
2022-04-17 20:07:05 -04:00
John Gabriele
8c52dc86c7
buffer.c docstrings
...
Added backticks around code in docstrings to distinguish from prose.
2022-04-17 19:49:29 -04:00
John Gabriele
be24592bc3
array.c docstrings
...
Added some backticks around code in docstrings to distinguish from prose.
2022-04-17 19:35:57 -04:00
John Gabriele
181d883a1d
string.c docstrings
...
Add backticks around code values to distinguish them from prose.
2022-04-17 12:08:26 -04:00
Calvin Rose
e01b65fd3d
Fix some printing issues for docs.
2022-04-16 11:40:33 -05:00
rick2600
d5a5c49357
#951 - fix unchecked count in cfun_buffer_new_filled
2022-04-14 16:20:04 -03:00
Calvin Rose
a964b164a6
Merge branch 'master' of github.com:janet-lang/janet
2022-04-13 17:20:49 -05:00
Calvin Rose
1aac0489d7
Add a number of defs for used dynamic bindings.
2022-04-13 17:20:33 -05:00
sogaiu
bf9a60f70d
Use defdyn for syspath in boot.janet
2022-04-13 19:39:41 +09:00
Calvin Rose
2a950e4ce9
Fix patch release - (version info)
2022-04-01 21:59:01 -05:00
Calvin Rose
7491421c31
Release patch relase due to bad version bumping.
2022-03-27 11:21:24 -05:00
Calvin Rose
9d0da74347
Merge pull request #937 from cellularmitosis/clock1012
...
Mac clock shim not needed after 10.12
2022-03-23 13:02:03 -05:00
Jason Pepas
e9870b293f
Remove unneeded includes
2022-03-21 21:28:13 -05:00