]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
patch 8.2.2255: Tcl test fails v8.2.2255
authorBram Moolenaar <Bram@vim.org>
Thu, 31 Dec 2020 17:11:16 +0000 (18:11 +0100)
committerBram Moolenaar <Bram@vim.org>
Thu, 31 Dec 2020 17:11:16 +0000 (18:11 +0100)
Problem:    Tcl test fails.
Solution:   Change option handling.

src/if_tcl.c
src/version.c

index 2775221f4696c7d7c129862d15c8a9597cf19f68..47e734b2044557366ab1b86107b134c58dcfa597 100644 (file)
@@ -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
index d23afb2da82d2114e2f7d8cc18d20239cc621cb4..0ef6918bdd8c6ff242f3e32f15776ae9499ef1ca 100644 (file)
@@ -750,6 +750,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    2255,
 /**/
     2254,
 /**/