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
Calvin Rose
980981c9ee
Print message if no hook found, but looked for
2024-05-15 07:30:29 -05:00
Calvin Rose
3c8346f24e
Install to bundle/ instead of _bundles/
2024-05-14 20:51:29 -05:00
Calvin Rose
42bd27c24b
Use a single janet file for hooks..
2024-05-14 16:45:27 -05:00
Calvin Rose
4a0f67f3bd
Update copyright.
2024-05-13 21:35:55 -05:00
Calvin Rose
09b6fc4670
Change storage locations for bundles.
...
Organize metadata a bit more cleanly under .bundles/<bundle-name>/
2024-05-13 20:59:06 -05:00
Calvin Rose
4d9bcd6bcc
Add is-backup option to bundle/pack.
...
We don't always to keep the old manifest and hooks.
2024-05-13 19:42:44 -05:00
Calvin Rose
cd34b89977
Rename bundle/backup to bundle/pack.
2024-05-13 19:38:14 -05:00
Calvin Rose
3151fa3988
Don't expose bundle/do-hook.
...
This is really an internal detail - rather than users writing
custom hooks, custom functionality should just be normal janet scripts.
2024-05-13 18:45:43 -05:00
Calvin Rose
5e58110e19
Add copyfile for copying large files.
2024-05-13 18:39:45 -05:00
Calvin Rose
1f39a0f180
Add bundle/backup and buffer/format-at
...
bundle/backup is needed to make failed reinstalls able to rollback. It
also allows python wheel like functionality, where bundles can be build
on one machine, packaged, and then distributed and installed on other
compatible machines without compilers.
buffer/format-at is to buffer/format as buffer/push-at is to
buffer/push. It allows us to format in the middle of an existing
buffer. Prior, to do this operation and extra buffer creating was
required.
2024-05-13 12:06:17 -05:00
Calvin Rose
367c4b14f5
Sync manifest on error so that we uninstall the correct files.
...
If we cannot create files during install, we want to be able
to do a correct rollback.
2024-05-12 15:08:27 -05:00
Calvin Rose
9c437796d3
Add first versions of bundle/* module
...
The bundle module contains tools for modifying the contents of
(dyn *syspath*) and providing a common interface for installing
packages (called "bundles").
The functions are:
* bundle/install
* bundle/uninstall
* bundle/manifest
* bundle/do-hook
* bundle/list
* bundle/add-file
* bundle/add-directory
A bundle is a directory that contains any number of source files and
other extra files, as well as a directory "hooks/", which contains a
flat listing of janet scripts. This version of the bundle module is not
responsible for building C source modules or for downloading files over
the network.
2024-05-12 14:42:05 -05:00
Calvin Rose
60e22d9703
Merge pull request #1445 from wishdev/defbind-alias
...
Add ffi/defbind-alias
2024-05-11 14:25:03 -05:00
John W Higgins
ee7362e847
Add ffi/defbind-alias
2024-05-09 21:31:22 -07:00
Calvin Rose
7c5ed04ab1
A few minor improvements.
...
- Add long-form CLI options
- Update changelog.
- Use snprintf instead of sprintf for linters.
2024-05-02 09:13:29 -05:00
Calvin Rose
4779a445e0
Fix BSD/Macos issue for #1431
2024-04-26 19:32:47 -05:00
Calvin Rose
f0f1b7ce9e
Address #1431 - level-trigger mode for net/accept-loop
...
In the edge-trigger mode before this change, if a socket
receives 2 connections before one can be handled, then only a single
connection is handle and 1 connection will never be handled in some
cases. Reverting to level-trigger mode makes this impossible.
2024-04-26 19:28:20 -05:00