1 parent
da2a0b970c
commit
6322b99252
4 files changed
+20
-6
No files matched your search
@@ -3691,7 +3691,8 @@ sections:
|
|||||||
For example, with `-L$HOME/.jq` a module `foo` can be found in
|
For example, with `-L$HOME/.jq` a module `foo` can be found in
|
||||||
`$HOME/.jq/foo.jq` and `$HOME/.jq/foo/foo.jq`.
|
`$HOME/.jq/foo.jq` and `$HOME/.jq/foo/foo.jq`.
|
||||||
|
|
||||||
If `$HOME/.jq` is a file, it is sourced into the main program.
|
If `.jq` exists in the user's home directory, and is a file (not a
|
||||||
|
directory), it is automatically sourced into the main program.
|
||||||
|
|
||||||
entries:
|
entries:
|
||||||
- title: "`import RelativePathString as NAME [<metadata>];`"
|
- title: "`import RelativePathString as NAME [<metadata>];`"
|
||||||
|
|||||||
Generated
+1
-1
@@ -4109,7 +4109,7 @@ Consecutive components with the same name are not allowed to avoid ambiguities (
|
|||||||
For example, with \fB\-L$HOME/\.jq\fR a module \fBfoo\fR can be found in \fB$HOME/\.jq/foo\.jq\fR and \fB$HOME/\.jq/foo/foo\.jq\fR\.
|
For example, with \fB\-L$HOME/\.jq\fR a module \fBfoo\fR can be found in \fB$HOME/\.jq/foo\.jq\fR and \fB$HOME/\.jq/foo/foo\.jq\fR\.
|
||||||
.
|
.
|
||||||
.P
|
.P
|
||||||
If \fB$HOME/\.jq\fR is a file, it is sourced into the main program\.
|
If \fB\.jq\fR exists in the user\'s home directory, and is a file (not a directory), it is automatically sourced into the main program\.
|
||||||
.
|
.
|
||||||
.SS "import RelativePathString as NAME [<metadata>];"
|
.SS "import RelativePathString as NAME [<metadata>];"
|
||||||
Imports a module found at the given path relative to a directory in a search path\. A \fB\.jq\fR suffix will be added to the relative path string\. The module\'s symbols are prefixed with \fBNAME::\fR\.
|
Imports a module found at the given path relative to a directory in a search path\. A \fB\.jq\fR suffix will be added to the relative path string\. The module\'s symbols are prefixed with \fBNAME::\fR\.
|
||||||
|
|||||||
+6
-4
@@ -420,14 +420,16 @@ int load_program(jq_state *jq, struct locfile* src, block *out_block) {
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
char* home = getenv("HOME");
|
jv home = get_home();
|
||||||
if (home) { // silently ignore no $HOME
|
if (jv_is_valid(home)) {
|
||||||
/* Import ~/.jq as a library named "" found in $HOME */
|
/* Import ~/.jq as a library named "" found in $HOME or %USERPROFILE% */
|
||||||
block import = gen_import_meta(gen_import("", NULL, 0),
|
block import = gen_import_meta(gen_import("", NULL, 0),
|
||||||
gen_const(JV_OBJECT(
|
gen_const(JV_OBJECT(
|
||||||
jv_string("optional"), jv_true(),
|
jv_string("optional"), jv_true(),
|
||||||
jv_string("search"), jv_string(home))));
|
jv_string("search"), home)));
|
||||||
program = BLOCK(import, program);
|
program = BLOCK(import, program);
|
||||||
|
} else { // silently ignore if home dir not determined
|
||||||
|
jv_free(home);
|
||||||
}
|
}
|
||||||
|
|
||||||
nerrors = process_dependencies(jq, jq_get_jq_origin(jq), jq_get_prog_origin(jq), &program, &lib_state);
|
nerrors = process_dependencies(jq, jq_get_jq_origin(jq), jq_get_prog_origin(jq), &program, &lib_state);
|
||||||
|
|||||||
@@ -359,6 +359,17 @@ if [ "$(HOME="$mods/home1" $VALGRIND $Q $JQ -nr fg)" != foobar ]; then
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if $msys || $mingw; then
|
||||||
|
HOME_BAK=$HOME
|
||||||
|
unset HOME
|
||||||
|
if [ "$(USERPROFILE="$mods/home1" $VALGRIND $Q $JQ -nr foo)" != baz ]; then
|
||||||
|
echo "Bug #3104 regressed (sourcing %USERPROFILE%/.jq on Windows)" 1>&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
export HOME=$HOME_BAK
|
||||||
|
unset HOME_BAK
|
||||||
|
fi
|
||||||
|
|
||||||
if [ $(HOME="$mods/home1" $VALGRIND $Q $JQ --debug-dump-disasm -n fg | grep '^[a-z]' | wc -l) -ne 3 ]; then
|
if [ $(HOME="$mods/home1" $VALGRIND $Q $JQ --debug-dump-disasm -n fg | grep '^[a-z]' | wc -l) -ne 3 ]; then
|
||||||
echo "Binding too many defs into program" 1>&2
|
echo "Binding too many defs into program" 1>&2
|
||||||
exit 1
|
exit 1
|
||||||
|
|||||||
Reference in new issue
Block a user