Calvin Rose
f3048a3d6b
Update documentation.
2024-08-05 20:17:00 -05:00
Calvin Rose
accac6c662
Add options to os/pipe for custom blocking behavior.
...
Useful for create pipelines on unix.
Also add bundle/whois to help diagnose where bundle installed files
came from.
2024-08-05 19:52:20 -05:00
Calvin Rose
631622aa48
Use gensym in do-compare macro.
...
Improve hygiene of macro in case later changes introduce subtle bugs.
2024-07-31 11:19:44 -05:00
Calvin Rose
aaeaa3a944
Add geomean function.
2024-07-31 09:47:00 -05:00
Michael Camilleri
1f074671ce
Fix polymorphic support in compare
2024-07-29 16:16:41 +09:00
Calvin Rose
872b39cc32
Add syntax literals for signed and unsigned 64 bit integers.
...
Number literals can now take an optional "representation" suffix
- Use `:n` for normal numbers (IEEE-754 doubles)
- Use `:s` for signed 64 bit integers
- Use `:u` for unsigned 64 bit integers
- Other suffix will fallthrough the usual parseing logic. This means
that they will only possibly resolve to symbols if they start with -,
+, or .
The syntax does not collide with any existing valid Janet and is only
enabled with JANET_INTTYPES. This also leaves open a syntax for other
number types such as bignums, ratios, decimals, etc.
2024-07-21 09:45:44 -05:00
sogaiu
8edd873c3e
Do not warn when loop body is empty
2024-07-18 12:02:39 +09:00
Calvin Rose
771956b5b6
Fix some -fsanitize=undefined behavior for #1475
...
Also fix issue with os/clock and default values that were incorrect.
The api shold have been a little nicer here to prevent this issue.
2024-07-17 08:50:02 -05:00
Calvin Rose
ecc4da5113
Include math.h for corelib.c
...
This is the downside of the forced amalgamated build. Strange build
constraints.
2024-07-13 12:44:46 -05:00
Calvin Rose
f5555d21b9
Update CHANGELOG.md
2024-07-13 12:43:35 -05:00
Calvin Rose
342a29c7be
Fix formatting.
2024-07-12 15:22:46 -05:00
Calvin Rose
368b891499
Merge branch 'linspace-range'
2024-07-12 15:15:46 -05:00
Calvin Rose
f62539ad55
Add shorthand for installing scripts via bundle/add-bin.
...
Establishing a convention for scripts is beneficial for various tools.
However, we do not install scripts on anyones PATH - instead they go
to a self contained (dyn *syspath*) /bin folder which could be added to
path, or symlinks could be added.
2024-07-12 15:14:40 -05:00
Calvin Rose
4835ecb950
Work on making range take non-integer values.
2024-07-11 08:05:52 -05:00
Andriamanitra
b7b594205c
Add default output path for --compile (-c)
2024-07-08 11:55:50 +03:00
Naqua Darazaki
ae6b359109
Add ctrl + left/right arrow support to the REPL
...
Ctrl + left/right arrow would simply input "5D"/"5C" into the REPL
which was useless and confusing
With this change, it instead goes to the previous/next word which is
usually expected in readline-like interfaces
2024-07-03 14:17:57 +02:00
Calvin Rose
3078686f8f
Merge pull request #1468 from SyrupThinker/st/aarch64_ffi
...
Add support for the AAPCS64 calling convention
2024-06-26 06:55:04 -07:00
Calvin Rose
0f4ecd93ab
Fix #1469
2024-06-26 08:54:26 -05:00
Valentin Anger
4af187d0ca
Add support for the AAPCS64 calling convention
2024-06-23 18:22:25 +02:00
Calvin Rose
a5d6b22838
Check for __GLIBC__ instead of _GNU_SOURCE
...
musl doesn't obey this behavior.
2024-06-21 17:17:22 -05:00
Calvin Rose
fda0a081f5
Fix quoting for import.
2024-06-16 10:57:14 -05:00
Calvin Rose
94b7a69741
More fixes for patch release.
2024-06-16 10:22:49 -05:00
Calvin Rose
6518257129
Merge pull request #1460 from pnelson/fix-typos
...
Fix typos
2024-06-16 08:21:52 -07:00
Calvin Rose
dc325188d0
Prepare for 1.35.1
2024-06-16 10:20:01 -05:00
Philip Nelson
0b51ab157d
Fix typos
2024-06-16 06:59:27 -07:00
Calvin Rose
f95de25b15
Update docstrings.
2024-06-16 07:58:38 -05:00
sogaiu
2d6c2ee7c0
Tweak some dyn var docstrings
2024-06-16 08:48:30 +09:00
Calvin Rose
7cd106a10c
Prepare for 1.35.0 release.
2024-06-15 16:11:32 -05:00
Calvin Rose
0d9e999113
Prepare for 1.35.0 release.
2024-06-15 07:11:48 -05:00
Calvin Rose
75710ccabd
Error on buffer/push-uint16 with non 16 bit unsigned integer.
2024-06-15 06:47:47 -05:00
Calvin Rose
0f60115f27
Merge pull request #1457 from pnelson/buffer-push-uint
...
Fix buffer push uint max
2024-06-15 06:31:46 -05:00
Philip Nelson
16a3c85baa
Fix buffer push uint max
2024-06-14 18:15:31 -07:00
Calvin Rose
92ff1d3be4
Add only
option to merge-module
and import
.
...
This allows importing only selected bindings.
For example,
(import foo :only [bar baz])
(foo/bar) # works
(foo/buzz) # doesn't work, even if the foo module has a buzz
function.
2024-06-14 17:01:27 -05:00
Calvin Rose
dbc5d688e2
Merge branch 'master' into bundle-tools
2024-06-12 18:28:23 -05:00
Calvin Rose
e2a8951f68
Address #1452 - Partial revert some changes from #1391
...
This doesn't seem to reintroduce the original issue. There was
definitely some interplay with #1431
Doing git bisect landed me at commit
2f0c789ea1
as the first bad commit for
issue #1452 .
2024-06-07 10:32:20 -05:00
Calvin Rose
f0f03ad519
Delete dead code.
2024-06-04 21:11:08 -05:00
Calvin Rose
e37575e763
Allow passing configs to bundle reinstall.
2024-05-31 19:20:34 -05:00
Calvin Rose
f4fd481415
copyfile should copy permission bits
2024-05-29 19:37:14 -05:00
Calvin Rose
8fca6b7af4
Don't expose bundle/pack, do expose bundle/add
...
Bundle/pack is a strange interface that is mostly just
to implement a safe reinistall process when the original source
is lost.
2024-05-29 07:20:37 -05:00
Calvin Rose
600e822933
Change interface for bundle/install
...
Name argument should be inferred in most cases. Also use :name
instead of :bundle-name in most places to be terser and simpler.
2024-05-26 16:26:08 -05:00
Calvin Rose
2028ac8a20
Merge branch 'master' into bundle-tools
2024-05-26 14:34:05 -05:00
Calvin Rose
7bae7d9efd
Merge changes from bundle-tools branch:
...
- Update file IO to explicitly use 64bit ftell/fseek
- Add env argument to eval
- Allow naming function literals with keywords.
2024-05-26 12:04:35 -05:00
Calvin Rose
7529abb542
Move functions in boot.janet around.
2024-05-26 11:54:21 -05:00
Calvin Rose
16ac681ed9
Remove redundant stuff from stacktrace.
...
Rather than try and make ascii art, focus on whether information
is present in the stack trace that peoplpe actually need, and be terse.
Tools can better handler simpler and more stable interfaces.
2024-05-26 11:39:08 -05:00
Calvin Rose
74560ff805
Turn off cluttered traces.
2024-05-26 11:30:59 -05:00
Calvin Rose
fe348187cc
Be explicit about 64 bit offset on windows.
2024-05-26 11:26:12 -05:00
Calvin Rose
fd5315793c
Test feature flag
2024-05-26 11:16:31 -05:00
Calvin Rose
87db463f4e
Shouldn't make a difference...
2024-05-26 11:07:23 -05:00
Calvin Rose
1225cd31c8
Assert that prime-bunlde-paths is working.
2024-05-26 10:54:00 -05:00
Calvin Rose
6998865d7b
Mingw is a sepate os/which target than windows.
2024-05-26 10:41:12 -05:00
Calvin Rose
b8aec50763
Something is up with code.
2024-05-26 10:35:53 -05:00
Calvin Rose
7efb39d608
Check bundle listing before reinstall.
2024-05-26 10:28:19 -05:00
Calvin Rose
f7c90bc1ff
Add testing for making and removing directory.
2024-05-26 10:21:52 -05:00
Calvin Rose
aee077c1bd
Is qemu-arm buggy?
2024-05-26 09:53:04 -05:00
Calvin Rose
6968275ddf
Update rmrf again to be more strict and failure early
2024-05-26 09:40:18 -05:00
Calvin Rose
074ae4fc0d
When directory isn't empty, print what is in it.
2024-05-26 09:31:26 -05:00
Calvin Rose
6cd35ed9c8
Try and be OS sensitive when using path separators.
2024-05-26 09:28:56 -05:00
Calvin Rose
7911e74222
Use lstat instead of stat
2024-05-26 09:11:24 -05:00
Calvin Rose
2fafe2b5d1
Make rmrf stronger.
2024-05-26 09:09:04 -05:00
Calvin Rose
de977819ce
Add some tracing.
2024-05-26 09:03:01 -05:00
Calvin Rose
1844beecc3
More work on improving stacktraces slightly.
...
Add extra information about when we change fibers. The janet
stack is really a spaghetti stack, where each fiber represents
a group of stack frames as well as a place where we can longjmp to. It
is therefor useful information for the programmer to know where each
stack frame is.
However, an argument could be made that this clutters the stackframe
and is more of a hindrance than a help.
2024-05-26 08:45:38 -05:00
Calvin Rose
cb529bbd63
Pass on linux.
2024-05-25 16:48:27 -05:00
Calvin Rose
25990867e2
Missing )
2024-05-25 16:46:04 -05:00
Calvin Rose
4fbc71c70d
Just don't do backslashes.
2024-05-25 16:43:51 -05:00
Calvin Rose
eb21d4fff4
Allow using keywords as names for anonymous functions.
...
This allows for better stack traces in macros and generally
easier debugging.
2024-05-25 16:36:08 -05:00
Calvin Rose
e88042b2fa
Pick default bundle name better.
2024-05-25 16:09:49 -05:00
Calvin Rose
641a16c133
Add suite-bundle to meson test list.
2024-05-25 15:42:28 -05:00
Calvin Rose
ae2c5820a1
Fix janet_strerror when _GNU_SOURCE defined.
2024-05-25 13:24:01 -05:00
Calvin Rose
8334504f4e
More work on fixing bunlde tools install.
2024-05-25 13:23:11 -05:00
Calvin Rose
46bdcece4d
Add some better logging when pruning bundles.
2024-05-25 10:56:40 -05:00
Calvin Rose
7387a1d91e
Add bundle/prune
and support for :auto-remove.
...
This allows dependencies to be marked such that they are not
primary dependencies installed by the users - rather, they are
dependencies of dependencies. This distinction is important when
a user installs a package that itself has dependencies.
This also interacts with new features to prevent a user from breaking
their installation by installing needed packages or
installing/uninstalling bundles out of order.
2024-05-25 10:48:26 -05:00
Calvin Rose
ae4b8078df
Merge branch 'master' into bundle-tools
2024-05-25 09:26:25 -05:00
Calvin Rose
7d3acc0ed6
Get rid of "extended locale" support.
...
While useful on some platforms, behavior seems to be different across
the board, making use difficult.
2024-05-19 18:01:20 -05:00
Calvin Rose
2637b33957
Include locale.h and xlocale.h on some platforms.
2024-05-19 17:40:39 -05:00
Calvin Rose
58ccb66659
Move janet_buffer_dtostr
2024-05-19 17:14:21 -05:00
Calvin Rose
634429cf61
Merge branch 'locales'
2024-05-19 17:05:49 -05:00
Calvin Rose
6ac65e603d
Merge branch 'master' into bundle-tools
2024-05-19 15:52:25 -05:00
Calvin Rose
03166a745a
Disallow nan and inf in jdn.
2024-05-19 13:25:25 -05:00
Calvin Rose
4d61ba20ce
Fix -Werror=calloc-transposed-args
2024-05-19 09:55:39 -05:00
Calvin Rose
751ff677fe
Merge branch 'master' into bundle-tools
2024-05-19 09:53:14 -05:00
Calvin Rose
ace60e1898
Add ev/with-*lock macros.
2024-05-18 17:55:47 -05:00
Calvin Rose
876b7f106f
OpenBSD does not work with LC_*_MASK stuff.
2024-05-18 17:22:10 -05:00
Calvin Rose
809b6589a1
Put limits.h back.
2024-05-18 15:31:23 -05:00
Calvin Rose
02f53ca014
Formatting.
2024-05-18 15:21:37 -05:00
Calvin Rose
0b03ddb21b
More work on setting locale for extended locale support.
2024-05-18 15:20:22 -05:00
Calvin Rose
ea5d4fd3af
JANET_BSD not defined on apple.
2024-05-18 14:24:51 -05:00
Calvin Rose
e6b73f8cd1
BSD, use xlocale for thread safe functionality
2024-05-18 14:11:05 -05:00
Calvin Rose
af232ef729
windows needs a distinct implementation from posix for thread safety.
...
I must say, the windows solution is a lot simpler.
2024-05-18 14:02:20 -05:00
Calvin Rose
2e2f8abfc0
Work on add locales.
...
Need to be careful not to mess with %j formatter, or
in some other places.
2024-05-18 13:23:33 -05:00
Calvin Rose
dc5cc630ff
Keep track of hooks and simple dependency tracking.
...
Refuse to install bundle unless dependencies are present.
Dependencies can be found for a bundle pre-install
by looking in ./bundle/info.jdn
2024-05-18 06:24:39 -05:00
znley
c1647a74c5
Add LoongArch64 support
2024-05-18 07:18:59 +00:00
Calvin Rose
721f280966
Add with-env
.
2024-05-16 21:52:49 -05:00
Calvin Rose
258ebb9145
Merge branch 'master' into bundle-tools
2024-05-16 21:39:41 -05:00
Calvin Rose
fe54013679
Update naming *module-make-env* for #1447
2024-05-16 19:11:25 -05:00
Calvin Rose
fdaf2e1594
Add *module/make-env*
2024-05-16 19:10:30 -05:00
Calvin Rose
f0092ef69b
Add module/*make-env*
2024-05-16 19:06:07 -05:00
Calvin Rose
a88ae7e1d9
Merge branch 'master' into bundle-tools
2024-05-15 20:41:58 -05:00
Calvin Rose
9946f3bdf4
Add buffer/format-at
...
Move changes over from bundle-tools branch and add testing.
2024-05-15 20:16:42 -05:00
Calvin Rose
c747e8d16c
Address some compiler linter messages on openbsd
2024-05-15 18:20:20 -05:00
Calvin Rose
0350834cd3
By default, require and import extend current env.
2024-05-15 07:40:21 -05:00