aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--jim.c3
-rwxr-xr-xmake-bootstrap-jim2
-rw-r--r--make-load-static-exts.tcl3
3 files changed, 7 insertions, 1 deletions
diff --git a/jim.c b/jim.c
index 45e4850..a4848a5 100644
--- a/jim.c
+++ b/jim.c
@@ -10282,11 +10282,12 @@ static int JimCallProcedure(Jim_Interp *interp, Jim_Cmd *cmd, const char *filena
Jim_Obj *nameObjPtr = cmd->u.proc.arglist[d].nameObjPtr;
if (d == cmd->u.proc.argsPos) {
/* assign $args */
+ Jim_Obj *listObjPtr;
int argsLen = 0;
if (cmd->u.proc.reqArity + cmd->u.proc.optArity < argc - 1) {
argsLen = argc - 1 - (cmd->u.proc.reqArity + cmd->u.proc.optArity);
}
- Jim_Obj *listObjPtr = Jim_NewListObj(interp, &argv[i], argsLen);
+ listObjPtr = Jim_NewListObj(interp, &argv[i], argsLen);
/* It is possible to rename args. */
if (cmd->u.proc.arglist[d].defaultObjPtr) {
diff --git a/make-bootstrap-jim b/make-bootstrap-jim
index 2d8595f..38ce22e 100755
--- a/make-bootstrap-jim
+++ b/make-bootstrap-jim
@@ -33,6 +33,8 @@ EOF
echo "{"
for ext in $*; do
echo "extern int Jim_${ext}Init(Jim_Interp *);"
+ done
+ for ext in $*; do
echo "Jim_${ext}Init(interp);"
done
echo "return JIM_OK;"
diff --git a/make-load-static-exts.tcl b/make-load-static-exts.tcl
index 955127d..9185e77 100644
--- a/make-load-static-exts.tcl
+++ b/make-load-static-exts.tcl
@@ -37,6 +37,9 @@ puts \{
foreach e $exts {
set ext [lindex $e 1]
puts "\textern int Jim_${ext}Init(Jim_Interp *);"
+}
+foreach e $exts {
+ set ext [lindex $e 1]
puts "\tJim_${ext}Init(interp);"
}