From 1779ff48427931736998a6e5621b5cbe4d99c3e3 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Thu, 31 Dec 2020 18:11:16 +0100 Subject: patch 8.2.2255: Tcl test fails Problem: Tcl test fails. Solution: Change option handling. --- src/if_tcl.c | 35 +++++++++++++++++++---------------- 1 file changed, 19 insertions(+), 16 deletions(-) (limited to 'src/if_tcl.c') diff --git a/src/if_tcl.c b/src/if_tcl.c index 2775221f46..47e734b204 100644 --- a/src/if_tcl.c +++ b/src/if_tcl.c @@ -1281,7 +1281,7 @@ tclsetoption( { int err, nobjs, idx; char_u *option; - int isnum; + getoption_T gov; long lval; char_u *sval; Tcl_Obj *resobj; @@ -1298,15 +1298,16 @@ tclsetoption( option = (char_u *)Tcl_GetStringFromObj(objv[objn], NULL); ++objn; - isnum = get_option_value(option, &lval, &sval, 0); + gov = get_option_value(option, &lval, &sval, 0); err = TCL_OK; - switch (isnum) + switch (gov) { - case 0: + case gov_string: Tcl_SetResult(interp, (char *)sval, TCL_VOLATILE); vim_free(sval); break; - case 1: + case gov_bool: + case gov_number: resobj = Tcl_NewLongObj(lval); Tcl_SetObjResult(interp, resobj); break; @@ -1316,7 +1317,7 @@ tclsetoption( } if (nobjs == 2) { - if (isnum) + if (gov != gov_string) { sval = NULL; // avoid compiler warning err = Tcl_GetIndexFromObj(interp, objv[objn], optkw, "", 0, &idx); @@ -1326,17 +1327,19 @@ tclsetoption( err = Tcl_GetLongFromObj(interp, objv[objn], &lval); } else - switch (idx) { - case OPT_ON: - lval = 1; - break; - case OPT_OFF: - lval = 0; - break; - case OPT_TOGGLE: - lval = !lval; - break; + switch (idx) + { + case OPT_ON: + lval = 1; + break; + case OPT_OFF: + lval = 0; + break; + case OPT_TOGGLE: + lval = !lval; + break; + } } } else -- cgit v1.2.3