Commit Graph
815 Commits
Author SHA1 Message Date
Calvin Rose 2bceba4a7a Assertf with no arguments does not make sense. 2024-11-24 19:14:18 -06:00
sogaiu abad9d7db9 Add assertf and use in boot.janet. Address #1516 2024-10-30 17:43:00 +09:00
Calvin Rose 99f0af92bd Fix bundle/install with :check true installation failure. 2024-10-05 12:34:10 -05:00
Calvin Rose 71d81b14a2 Setting a profile will mess with imports. 2024-10-05 12:13:44 -05:00
Calvin Rose 3894f4021a Update copyright date. 2024-09-29 16:07:24 -05:00
Calvin Rose 2570e0f7a0 Add *repl-prompt*. 2024-09-21 08:58:04 -05:00
Calvin Rose 8084e4c728 Add support for multiple directories in JANET_PATH.
Use a colon ":" as the separator on posix, and semicolon ";" on
windows (and mingw).
2024-09-20 23:05:02 -05:00
Calvin Rose f9a6f52d9c Improve error messages even more for copyfile. 2024-09-07 10:02:26 -05:00
Calvin Rose 1fcd47dd7b Improve error messages in bundle/add if files are missing.
Instead of cryptic "error: unknown method :close invoked on nil" errors, let
user know file or path does not exist before failing to copy files.
2024-09-07 09:19:15 -05:00
Calvin Rose 828e0a07cd Don't check for docstrings when explicitly disabled. 2024-08-31 17:23:28 -05:00
Calvin Rose 5a199716cb Save :source-form in environment when debugging is enabled. 2024-08-29 21:12:53 -05:00
Calvin Rose 85028967d8 Add aliases for bundle/module - issue #1486
info.jdn -> bundle/info.jdn
bundle.janet -> bundle/init.janet
2024-08-17 09:58:40 -05:00
Calvin Rose 6ceff6ecc9 Work on the filewatch module.
Currently a wrapper around inotify, should be expanded to work with
kqueue, icop, and eventually a implementation with polling and stat.
2024-08-16 19:44:17 -05:00
sogaiu 8ca1e44af1 Prefix bin+sep to add-bin dest argument 2024-08-15 15:53:35 +09:00
Calvin Rose e3406cd922 Update changelog and ensure consistent version strings. 2024-08-10 15:21:43 -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
sogaiu 8edd873c3e Do not warn when loop body is empty 2024-07-18 12:02:39 +09: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
Calvin Rose fda0a081f5 Fix quoting for import. 2024-06-16 10:57:14 -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 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 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 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 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