diff options
author | jan.nijtmans <nijtmans@users.sourceforge.net> | 2024-01-08 21:20:46 (GMT) |
---|---|---|
committer | jan.nijtmans <nijtmans@users.sourceforge.net> | 2024-01-08 21:20:46 (GMT) |
commit | d0a67ec8ad6eebde787857604c064981cb8e7666 (patch) | |
tree | 1a2aafaade36559c669fe0f971cb34ea5f8f34e7 | |
parent | 3df7a0ff7653cafb8cfbba58cf29067155337ea8 (diff) | |
download | tk-d0a67ec8ad6eebde787857604c064981cb8e7666.zip tk-d0a67ec8ad6eebde787857604c064981cb8e7666.tar.gz tk-d0a67ec8ad6eebde787857604c064981cb8e7666.tar.bz2 |
Restore "$menu index" to return "none" for no index (for compatibility with Tk 8.6)
-rw-r--r-- | generic/tkMenu.c | 9 | ||||
-rw-r--r-- | tests/menu.test | 4 | ||||
-rw-r--r-- | tests/menuDraw.test | 2 |
3 files changed, 9 insertions, 6 deletions
diff --git a/generic/tkMenu.c b/generic/tkMenu.c index d3551f9..eacdffb 100644 --- a/generic/tkMenu.c +++ b/generic/tkMenu.c @@ -856,12 +856,15 @@ MenuWidgetObjCmd( if (GetMenuIndex(interp, menuPtr, objv[2], 0, &index) != TCL_OK) { goto error; } -#if !defined(TK_NO_DEPRECATED) && (TCL_MAJOR_VERSION < 9) if (index < 0) { +#if defined(TK_NO_DEPRECATED) Tcl_SetObjResult(interp, Tcl_NewObj()); - } else +#else + Tcl_SetObjResult(interp, Tcl_NewStringObj("none", TCL_INDEX_NONE)); #endif - Tcl_SetObjResult(interp, TkNewIndexObj(index)); + } else { + Tcl_SetObjResult(interp, TkNewIndexObj(index)); + } break; } case MENU_INSERT: diff --git a/tests/menu.test b/tests/menu.test index 054ac68..4e98e95 100644 --- a/tests/menu.test +++ b/tests/menu.test @@ -1864,10 +1864,10 @@ test menu-3.71 {MenuWidgetCmd procedure, "index end" option, bug [f3cd942e9e]} - destroy .m1 } -body { menu .m1 - .m1 index "end" + expr {[.m1 index "end"] in [list {} none]} } -cleanup { destroy .m1 -} -result {} +} -result 1 test menu-4.1 {TkInvokeMenu: disabled} -setup { diff --git a/tests/menuDraw.test b/tests/menuDraw.test index 2cafc31..02111ab 100644 --- a/tests/menuDraw.test +++ b/tests/menuDraw.test @@ -558,7 +558,7 @@ test menuDraw-15.2 {TkPostTearoffMenu - Deactivation} -setup { menu .m1 .m1 add command -label "foo" -state active set tearoff [tk::TearOffMenu .m1 40 40] - expr {[$tearoff index active]<0} + expr {[$tearoff index active] in [list {} none]} } -cleanup { deleteWindows } -result 1 |