Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Changes In Branch notANodeMsg Excluding Merge-Ins
This is equivalent to a diff from c54834be20 to cde666b194
2018-06-04
| ||
18:08 | Refer the node cmd/token that isn't a domNode in error msg. check-in: d404fd67a8 user: rolf tags: trunk | |
13:03 | Refer the node cmd/token that isn't a domNode in error msg. Closed-Leaf check-in: cde666b194 user: rolf tags: notANodeMsg | |
2018-05-28
| ||
03:41 | Reorder RANLIB clause to avoid "permission denied" error. check-in: c54834be20 user: yorick tags: trunk | |
2018-05-27
| ||
00:22 | Removed unused variable. check-in: 0e29ef329c user: rolf tags: trunk | |
Changes to generic/tcldom.c.
78 78 #define MAX_REWRITE_ARGS 50 79 79 80 80 #define MAX_XSLT_APPLY_DEPTH 3000 81 81 82 82 #define SetResult(str) Tcl_ResetResult(interp); \ 83 83 Tcl_SetStringObj(Tcl_GetObjResult(interp), (str), -1) 84 84 85 -#define SetIntResult(i) Tcl_ResetResult(interp); \ 85 +#define SetResult3(str1,str2,str3) Tcl_ResetResult(interp); \ 86 + Tcl_AppendResult(interp, (str1), (str2), (str3), NULL) 87 + 88 +#define SetIntResult(i) Tcl_ResetResult(interp); \ 86 89 Tcl_SetIntObj(Tcl_GetObjResult(interp), (i)) 87 90 88 91 #define SetDoubleResult(d) Tcl_ResetResult(interp); \ 89 92 Tcl_SetDoubleObj(Tcl_GetObjResult(interp), (d)) 90 93 91 94 #define SetBooleanResult(i) Tcl_ResetResult(interp); \ 92 95 Tcl_SetBooleanObj(Tcl_GetObjResult(interp), (i)) ................................................................................ 611 614 if (objPtr->typePtr == &tdomNodeType) { 612 615 return TCL_OK; 613 616 } 614 617 615 618 nodeName = Tcl_GetString(objPtr); 616 619 if (strncmp(nodeName, "domNode", 7)) { 617 620 if (interp) { 618 - SetResult("parameter not a domNode!"); 621 + SetResult3("Parameter \"", nodeName, "\" is not a domNode."); 619 622 return TCL_ERROR; 620 623 } 621 624 } 622 625 if (sscanf(&nodeName[7], "%p%1c", &node, &eolcheck) != 1) { 623 626 if (!Tcl_GetCommandInfo(interp, nodeName, &cmdInfo)) { 624 627 if (interp) { 625 - SetResult("parameter not a domNode!"); 628 + SetResult3("Parameter \"", nodeName, "\" is not a domNode."); 626 629 return TCL_ERROR; 627 630 } 628 631 } 629 632 if ( (cmdInfo.isNativeObjectProc == 0) 630 633 || (cmdInfo.objProc != (Tcl_ObjCmdProc*)tcldom_NodeObjCmd)) { 631 634 if (interp) { 632 - SetResult("parameter not a domNode object command"); 635 + SetResult3("Parameter \"", nodeName, "\" is not a domNode" 636 + " object command"); 633 637 return TCL_ERROR; 634 638 } 635 639 } 636 640 node = (domNode*)cmdInfo.objClientData; 637 641 } 638 642 if (objPtr->typePtr && objPtr->typePtr->freeIntRepProc) { 639 643 objPtr->typePtr->freeIntRepProc(objPtr); ................................................................................ 1084 1088 return (domNode*)nodeObj->internalRep.otherValuePtr; 1085 1089 } 1086 1090 return NULL; 1087 1091 } 1088 1092 1089 1093 nodeName = Tcl_GetString(nodeObj); 1090 1094 if (strncmp(nodeName, "domNode", 7)) { 1091 - SetResult("parameter not a domNode!"); 1095 + SetResult3("Parameter \"", nodeName, "\" is not a domNode."); 1092 1096 return NULL; 1093 1097 } 1094 1098 if (sscanf(&nodeName[7], "%p%1c", &node, &eolcheck) != 1) { 1095 1099 if (!Tcl_GetCommandInfo(interp, nodeName, &cmdInfo)) { 1096 - SetResult("parameter not a domNode!"); 1100 + SetResult3("Parameter \"", nodeName, "\" is not a domNode."); 1097 1101 return NULL; 1098 1102 } 1099 1103 if ( (cmdInfo.isNativeObjectProc == 0) 1100 1104 || (cmdInfo.objProc != (Tcl_ObjCmdProc*)tcldom_NodeObjCmd)) { 1101 - SetResult("parameter not a domNode object command!"); 1105 + SetResult3("Parameter \"", nodeName, "\" is not a domNode" 1106 + " object command."); 1102 1107 return NULL; 1103 1108 } 1104 1109 node = (domNode*)cmdInfo.objClientData; 1105 1110 } 1106 1111 1107 1112 return node; 1108 1113 }
Changes to tests/dom.test.
1692 1692 set elem [domDoc $doc createElement one] 1693 1693 domNode $elem delete 1694 1694 set result [catch {domNode $elem asList} errMsg] 1695 1695 lappend result $errMsg 1696 1696 domDoc $doc delete 1697 1697 dom setObjectCommands automatic 1698 1698 set result 1699 -} {1 {parameter not a domNode!}} 1699 +} {1 {Parameter "" is not a domNode.}} 1700 1700 1701 1701 catch {namespace delete nodeCmds} 1702 1702 1703 1703 namespace eval nodeCmds { 1704 1704 dom createNodeCmd elementNode e1 1705 1705 dom createNodeCmd elementNode e2 1706 1706 dom createNodeCmd commentNode c
Changes to tests/domNode.test.
2414 2414 set firstChild [$root firstChild] 2415 2415 catch {$root start $firstChild foo} 2416 2416 } {1} 2417 2417 2418 2418 test domNode-30.3 {precedes} { 2419 2419 set result [catch {$root precedes notaNode} errMsg] 2420 2420 lappend result $errMsg 2421 -} {1 {parameter not a domNode!}} 2421 +} {1 {Parameter "notaNode" is not a domNode.}} 2422 2422 2423 2423 test domNode-30.4 {precedes} { 2424 2424 set firstChild [$root firstChild] 2425 2425 $root precedes $firstChild 2426 2426 } {1} 2427 2427 2428 2428 test domNode-30.5 {precedes} {