mirror of
https://github.com/janet-lang/janet
synced 2024-11-24 17:27:18 +00:00
Add (dyn :executable).
Also remove process/args.
This commit is contained in:
parent
d46bcd5b8f
commit
a3a3e4c0dc
@ -3,6 +3,8 @@ All notable changes to this project will be documented in this file.
|
|||||||
|
|
||||||
## Unreleased
|
## Unreleased
|
||||||
- Add file associations on windows with default install.
|
- Add file associations on windows with default install.
|
||||||
|
- Add `(dyn :executable)` at top level to get what used to be
|
||||||
|
`(process/args 0)`.
|
||||||
- Add `:linux` to platforms returned by `(os/which)`.
|
- Add `:linux` to platforms returned by `(os/which)`.
|
||||||
- Update jpm to build standalone executables. Use `declare-executable` for this.
|
- Update jpm to build standalone executables. Use `declare-executable` for this.
|
||||||
- Add `use` macro.
|
- Add `use` macro.
|
||||||
|
@ -83,7 +83,7 @@ Flags are:
|
|||||||
"clear-cache" cook/clear-cache
|
"clear-cache" cook/clear-cache
|
||||||
"uninstall" uninstall})
|
"uninstall" uninstall})
|
||||||
|
|
||||||
(def args (tuple/slice (dyn :args) 2))
|
(def args (tuple/slice (dyn :args) 1))
|
||||||
(def len (length args))
|
(def len (length args))
|
||||||
(var i 0)
|
(var i 0)
|
||||||
|
|
||||||
|
@ -353,8 +353,7 @@
|
|||||||
# Load entry environment and get main function.
|
# Load entry environment and get main function.
|
||||||
(def entry-env (dofile source))
|
(def entry-env (dofile source))
|
||||||
(def main ((entry-env 'main) :value))
|
(def main ((entry-env 'main) :value))
|
||||||
# Get environments for every native module for the marshalling
|
# Create marshalling dictionary
|
||||||
# dictionary
|
|
||||||
(def mdict (invert (env-lookup root-env)))
|
(def mdict (invert (env-lookup root-env)))
|
||||||
# Build image
|
# Build image
|
||||||
(def image (marshal main mdict))
|
(def image (marshal main mdict))
|
||||||
|
@ -1,7 +1,5 @@
|
|||||||
# Copyright 2017-2019 (C) Calvin Rose
|
# Copyright 2017-2019 (C) Calvin Rose
|
||||||
|
|
||||||
(def process/args "Deprecated. use '(dyn :args)' at script entry instead for process argument array."
|
|
||||||
(dyn :args))
|
|
||||||
(do
|
(do
|
||||||
|
|
||||||
(var *should-repl* false)
|
(var *should-repl* false)
|
||||||
@ -66,7 +64,7 @@
|
|||||||
(if h (h i) (do (print "unknown flag -" n) ((get handlers "h")))))
|
(if h (h i) (do (print "unknown flag -" n) ((get handlers "h")))))
|
||||||
|
|
||||||
# Process arguments
|
# Process arguments
|
||||||
(var i 1)
|
(var i 0)
|
||||||
(def lenargs (length args))
|
(def lenargs (length args))
|
||||||
(while (< i lenargs)
|
(while (< i lenargs)
|
||||||
(def arg (get args i))
|
(def arg (get args i))
|
||||||
|
@ -61,10 +61,13 @@ int main(int argc, char **argv) {
|
|||||||
|
|
||||||
/* Create args tuple */
|
/* Create args tuple */
|
||||||
args = janet_array(argc);
|
args = janet_array(argc);
|
||||||
for (i = 0; i < argc; i++)
|
for (i = 1; i < argc; i++)
|
||||||
janet_array_push(args, janet_cstringv(argv[i]));
|
janet_array_push(args, janet_cstringv(argv[i]));
|
||||||
janet_table_put(env, janet_ckeywordv("args"), janet_wrap_array(args));
|
janet_table_put(env, janet_ckeywordv("args"), janet_wrap_array(args));
|
||||||
|
|
||||||
|
/* Save current executable path to (dyn :executable) */
|
||||||
|
janet_table_put(env, janet_ckeywordv("executable"), janet_cstringv(argv[0]));
|
||||||
|
|
||||||
/* Run startup script */
|
/* Run startup script */
|
||||||
status = janet_dobytes(env, janet_gen_init, janet_gen_init_size, "init.janet", NULL);
|
status = janet_dobytes(env, janet_gen_init, janet_gen_init_size, "init.janet", NULL);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user