Calvin Rose
fbb0711ae1
Distinguish between subprocess when testing.
2023-06-24 12:07:55 -05:00
Calvin Rose
676b233566
Hack for qemu based testing (also should work with valgrind)
2023-06-24 11:59:17 -05:00
Calvin Rose
d7431c7cdb
Revert "Test removing 32bit ptr marshalling."
...
This reverts commit 566b45ea44
.
2023-06-24 11:54:04 -05:00
Calvin Rose
566b45ea44
Test removing 32bit ptr marshalling.
2023-06-24 11:52:22 -05:00
Calvin Rose
ff2f71d2bc
Conditionally compile marshal_ptr code.
2023-06-24 11:42:10 -05:00
Calvin Rose
bd420aeb0e
Add range checking to bit-shift code to prevent undefined behavior.
2023-06-24 11:38:34 -05:00
Calvin Rose
b738319f8d
Remove range check on 32 bit arch since it will always pass.
2023-06-24 11:17:30 -05:00
Calvin Rose
7248626235
Quiet some build warnings.
2023-06-24 10:56:45 -05:00
Calvin Rose
141c1de946
Add marshal utilities for pointers.
2023-06-24 10:50:13 -05:00
Calvin Rose
c2d77d6720
Merge branch 'master' into armtest
2023-06-24 10:40:35 -05:00
Calvin Rose
ff90b81ec3
Add some utilitites for dealing with unsigned integers in janet.h
2023-06-24 10:38:35 -05:00
Calvin Rose
9120eaef79
Merge pull request #1201 from pyrmont/bugfix.dup-fds
...
Avoid prematurely closing file descriptors when redirecting IO
2023-06-24 09:51:34 -05:00
Michael Camilleri
1ccd879916
Make test cross-platform
2023-06-24 10:56:47 +09:00
Michael Camilleri
f977ace7f8
Avoid prematurely closing file descriptors when redirecting IO
2023-06-23 15:50:19 +09:00
Calvin Rose
c3f4dc0c15
Merge pull request #1200 from sogaiu/use-vm_commit
...
Use vm_commit
2023-06-22 20:40:03 -05:00
sogaiu
78eed9b11c
Use vm_commit
2023-06-22 21:36:57 +09:00
Calvin Rose
3a4d56afca
Patch release.
2023-06-19 07:18:35 -05:00
Calvin Rose
63bb93fc07
Fix isatty code to not use functions only defined if ev is enabled.
2023-06-19 07:14:56 -05:00
Calvin Rose
5a39a04a79
Prepare for 1.29.0 release.
2023-06-19 06:48:33 -05:00
Calvin Rose
2fde34b519
Remove extra function call that cannot ever trigger.
2023-06-18 09:41:53 -05:00
Calvin Rose
1ef5c038db
Merge pull request #1187 from CosmicToast/peg-boolean
...
peg: add support for "true" and "false" primitives to always/never match
2023-06-18 09:40:46 -05:00
Calvin Rose
e2459cfb47
Merge pull request #1185 from chris-chambers/macro-lints-fix
...
Fix order in which *macro-lints* is set during expansion
2023-06-18 09:39:25 -05:00
Calvin Rose
cfffc0bcf1
Merge pull request #1190 from primo-ppcg/if-let
...
update if-let
2023-06-18 09:38:44 -05:00
Ico Doornekamp
677b8a6f32
Added ARM32 test
2023-06-12 21:02:51 +02:00
Calvin Rose
7272f43191
Merge pull request #1188 from primo-ppcg/if-let
2023-06-11 07:21:38 -05:00
primo-ppcg
2a7ea27bb7
do not expand false branch more than once
...
Fixes #1191
2023-06-11 19:15:48 +07:00
primo-ppcg
32c5b816ae
use unquotes instead
2023-06-11 18:38:20 +07:00
Chloe Kudryavtsev
e54ea7a1d8
fixup! peg: add support for "true" and "false" primitives to always/never match
2023-06-11 12:38:40 +02:00
primo-ppcg
1077efd03a
update if-let
...
Fixes #1189
2023-06-11 17:19:29 +07:00
Chloe Kudryavtsev
f9ab91511d
peg: add support for "true" and "false" primitives to always/never match
...
The use cases involve user-expandable grammars.
For example, consider the IRC nickname specification.
> They SHOULD NOT contain any dot character ('.', 0x2E).
> Servers MAY have additional implementation-specific nickname restrictions.
To implement this, we can do something along these lines:
```janet
(def nickname @{:main '(some :allowed)
:allowed (! (+ :forbidden/dot :forbidden/user))
# for lax mode, (put nickname :forbidden/dot false)
:forbidden/dot "."
# to add your own requirements
# (put nickname :forbidden/user 'something)
:forbidden/user false})
```
Additionally, it's common in parsing theory to allow matches of the
empty string (epsilon). `true` essentially allows for this.
Note that this does not strictly add new functionality, you could
emulate this previously using `0` and `(! 0)` respectively, but this
should be faster and more intuitive.
The speed improvement primarily comes from `(! 0)` which is now a single
step.
2023-06-11 10:44:39 +02:00
primo-ppcg
2c3ca2984e
simplify if-let logic
2023-06-11 12:09:58 +07:00
primo-ppcg
94722e566c
if-let better test coverage
2023-06-11 12:07:13 +07:00
Christopher Chambers
163f7ee85d
Add test for maclintf in nested macro invocations
2023-06-10 16:52:20 -04:00
Christopher Chambers
52d3470cbe
Fix order in which *macro-lints* is set during expansion
...
Previously, `*macro-lints*` was set after the `macroexpand1` fiber was
resumed, rather than just before. And, `*macro-lints*` was never
cleared. This behavior was typically fine since the main users of
`compile` pass the same lint array repeatedly, and the first macro
expansion (somewhere in boot.janet) never produces a lint. But, when
compiling with a fresh lint array, if the first macro invocation
produced a lint, the lint was always lost.
2023-06-09 12:53:10 -04:00
Calvin Rose
0bd6e85c61
update changelog
2023-06-08 19:54:01 -05:00
Calvin Rose
e35c6b876f
Merge pull request #1183 from primo-ppcg/take-drop
...
Make take and drop more symmetric
2023-06-08 14:52:51 -05:00
Calvin Rose
9a2897e741
Run through astyle with manual corrections
2023-06-08 13:01:49 -05:00
primo-ppcg
70b2e8179d
nitpick performance tweak
2023-06-08 23:57:07 +07:00
primo-ppcg
5317edc65d
minor readability change
...
As suggested by @sogaiu
@zevv forget to push this change in a recent PR (https://github.com/janet-lang/janet/pull/1175#issuecomment-1576128152 ).
Incidentally, the affected lines were already reformatted in the current PR, via fmt/format-file.
2023-06-08 23:00:05 +07:00
Calvin Rose
866d83579e
Address #1165 - Allow for partial ffi support without totally removing testing.
...
Query at runtime which calling conventions are supported, including
a placeholder :none.
2023-06-08 09:07:16 -05:00
primo-ppcg
a238391b36
take-drop performance tweaks
...
Increase efficiency for `take` and `drop` with slices.
Check indexed types before bytes types.
2023-06-08 14:50:37 +07:00
Calvin Rose
5e152d30db
Merge pull request #1182 from chris-chambers/channel-close-resumptions
2023-06-07 17:15:45 -05:00
Christopher Chambers
57c954783d
Fix resumption values when closing a channel.
...
When suspended in `ev/give` or `ev/take`, closing the channel should
cause the result of `ev/give` or `ev/take` to be `nil`.
When suspended in `ev/select`, closing the channel should cause the
result of `ev/select` to be `[:close ch]`.
The results were flipped before.
2023-06-07 15:01:56 -04:00
primo-ppcg
b5407ac708
take-drop dictionaries
...
Return table for `take` of dictionary types.
Allow `drop` of dictionary types.
2023-06-07 19:20:05 +07:00
primo-ppcg
472ec730b5
take-drop symmetry
...
Allow `take` from the end of bytes or indexed (as `drop` does).
Allow `drop` from fibers (as `take` does).
2023-06-07 18:12:36 +07:00
Calvin Rose
8c819b1f91
Update README.md
2023-06-05 12:55:08 -05:00
Calvin Rose
528a516390
Add more sandbox capabilities.
...
Add more granularity to ffi sandbox capabilities - distinguish between
using FFI functions, creating FFI functions, and creating executable
memory.
2023-06-04 18:48:34 -05:00
Calvin Rose
6509e37c84
Update CHANGELOG.md and README.md
2023-06-04 16:11:17 -05:00
Calvin Rose
649173f661
Merge pull request #1175 from zevv/quicky
...
Added JANET_NO_AMALG flag to Makefile
2023-06-04 14:24:35 -05:00
Calvin Rose
1efb0adb35
Add 3 argument form to fiber/new
...
Allow passing in environment table at fiber creation since
it is a fairly common thing to do.
2023-06-04 14:17:18 -05:00