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} {