Skip to content

Commit 2fabe26

Browse files
Fixes for 1.10 (#762)
Fixes #761
1 parent f21d05e commit 2fabe26

2 files changed

Lines changed: 16 additions & 7 deletions

File tree

docs/src/devdocs/binaries_part_2.md

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -175,11 +175,16 @@ int main(int argc, char *argv[])
175175
jl_set_ARGS(argc, argv);
176176

177177
// Set PROGRAM_FILE to argv[0].
178-
#if JULIA_VERSION_MAJOR == 1 && JULIA_VERSION_MINOR >= 9
179-
jl_binding_t *bp = jl_get_binding_wr(jl_base_module, jl_symbol("PROGRAM_FILE"), 1);
180-
jl_checked_assignment(bp, (jl_value_t*)jl_cstr_to_string(argv[0]));
178+
jl_sym_t *var = jl_symbol("PROGRAM_FILE");
179+
jl_value_t *val = jl_cstr_to_string(argv[0]);
180+
#if JULIA_VERSION_MAJOR == 1 && JULIA_VERSION_MINOR >= 10
181+
jl_binding_t *bp = jl_get_binding_wr(jl_base_module, var);
182+
jl_checked_assignment(bp, jl_base_module, var, val);
183+
#elif JULIA_VERSION_MAJOR == 1 && JULIA_VERSION_MINOR >= 9
184+
jl_binding_t *bp = jl_get_binding_wr(jl_base_module, var, 1);
185+
jl_checked_assignment(bp, val);
181186
#else
182-
jl_set_global(jl_base_module, jl_symbol("PROGRAM_FILE"), (jl_value_t*)jl_cstr_to_string(argv[0]));
187+
jl_set_global(jl_base_module, var, val);
183188
#endif
184189

185190
// Set Base.ARGS to `String[ unsafe_string(argv[i]) for i = 1:argc ]`

src/embedding_wrapper.c

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -104,11 +104,15 @@ int main(int argc, char *argv[]) {
104104
checked_eval_string("append!(empty!(Base.ARGS), Core.ARGS)");
105105
jl_value_t *firstarg = checked_eval_string("popfirst!(ARGS)");
106106
JL_GC_PUSH1(&firstarg);
107-
#if JULIA_VERSION_MAJOR == 1 && JULIA_VERSION_MINOR >= 9
108-
jl_binding_t *bp = jl_get_binding_wr(jl_base_module, jl_symbol("PROGRAM_FILE"), 1);
107+
jl_sym_t *var = jl_symbol("PROGRAM_FILE");
108+
#if JULIA_VERSION_MAJOR == 1 && JULIA_VERSION_MINOR >= 10
109+
jl_binding_t *bp = jl_get_binding_wr(jl_base_module, var);
110+
jl_checked_assignment(bp, jl_base_module, var, firstarg);
111+
#elif JULIA_VERSION_MAJOR == 1 && JULIA_VERSION_MINOR >= 9
112+
jl_binding_t *bp = jl_get_binding_wr(jl_base_module, var, 1);
109113
jl_checked_assignment(bp, firstarg);
110114
#else
111-
jl_set_global(jl_base_module, jl_symbol("PROGRAM_FILE"), firstarg);
115+
jl_set_global(jl_base_module, jl_symbol("PROGRAM_FILE"), firstarg);
112116
#endif
113117
JL_GC_POP();
114118

0 commit comments

Comments
 (0)