From d506153e3da3be7340e7242424d74a23342d8428 Mon Sep 17 00:00:00 2001 From: sbron Date: Mon, 20 Mar 2023 10:35:49 +0000 Subject: Fix error message formatting and add a test for the error scenario. --- generic/tkMenu.c | 2 +- tests/menu.test | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/generic/tkMenu.c b/generic/tkMenu.c index 69ef6da..1d607ff 100644 --- a/generic/tkMenu.c +++ b/generic/tkMenu.c @@ -2421,7 +2421,7 @@ MenuAddOrInsert( idPtr = objv[offs]; if (Tcl_FindHashEntry(&menuPtr->items, Tcl_GetString(idPtr))) { Tcl_SetObjResult(interp, Tcl_ObjPrintf( - "Entry %s already exists", Tcl_GetString(idPtr))); + "entry \"%s\" already exists", Tcl_GetString(idPtr))); Tcl_SetErrorCode(interp, "TK", "MENU", "ENTRY_EXISTS", NULL); return TCL_ERROR; } diff --git a/tests/menu.test b/tests/menu.test index e330417..a114269 100644 --- a/tests/menu.test +++ b/tests/menu.test @@ -4134,6 +4134,16 @@ test menu-40.12 {identifiers - delete by id} -setup { } -cleanup { destroy .m } -result {e001 e002 cmd9} +test menu-40.12 {identifiers - duplicate} -setup { + destroy .m +} -body { + menu .m + .m add command foo -label 1 + .m add command bar -label 2 + .m add command foo -label 3 +} -cleanup { + destroy .m +} -returnCodes error -result {entry "foo" already exists} # cleanup imageFinish -- cgit v0.12