Tcl Source Code

Check-in [d6219fccc2]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Don't panic if Tcl_ConvertToType is called for a type that doesn't have a setFromAnyProc, create a proper error message.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: d6219fccc2b017711a743b95e9fc0e6ff7691eba
User & Date: jan.nijtmans 2013-02-26 10:17:39
Context
2013-02-26
13:37
[Bug 3605120]: Stop test chan-io-28.7 from hanging when run standalone. check-in: 6186ad3f14 user: dkf tags: trunk
10:17
Don't panic if Tcl_ConvertToType is called for a type that doesn't have a setFromAnyProc, create a p... check-in: d6219fccc2 user: jan.nijtmans tags: trunk
10:15
Don't panic if Tcl_ConvertToType is called for a type that doesn't have a setFromAnyProc, create a p... check-in: 40f7c0065c user: jan.nijtmans tags: core-8-5-branch
2013-02-25
18:31
[Bug 3605721]: Test independence fixes for binary-41.* check-in: 810e56be3c user: dkf tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to ChangeLog.






1
2
3
4
5
6
7





2013-02-25  Donal K. Fellows  <[email protected]>

	* tests/binary.test (binary-41.*): [Bug 3605721]: Test independence
	fixes. Thanks to Rolf Ade for pointing out the problem.

2013-02-25  Don Porter  <[email protected]>

>
>
>
>
>







1
2
3
4
5
6
7
8
9
10
11
12
2013-02-26  Jan Nijtmans  <[email protected]>

	* generic/tclObj.c: Don't panic if Tcl_ConvertToType is called for a
	type that doesn't have a setFromAnyProc, create a proper error message.

2013-02-25  Donal K. Fellows  <[email protected]>

	* tests/binary.test (binary-41.*): [Bug 3605721]: Test independence
	fixes. Thanks to Rolf Ade for pointing out the problem.

2013-02-25  Don Porter  <[email protected]>

Changes to generic/tclObj.c.

1001
1002
1003
1004
1005
1006
1007


1008



1009
1010
1011
1012
1013
1014
1015
    /*
     * Use the target type's Tcl_SetFromAnyProc to set "objPtr"s internal form
     * as appropriate for the target type. This frees the old internal
     * representation.
     */

    if (typePtr->setFromAnyProc == NULL) {


	Tcl_Panic("may not convert object to type %s", typePtr->name);



    }

    return typePtr->setFromAnyProc(interp, objPtr);
}

/*
 *--------------------------------------------------------------







>
>
|
>
>
>







1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
    /*
     * Use the target type's Tcl_SetFromAnyProc to set "objPtr"s internal form
     * as appropriate for the target type. This frees the old internal
     * representation.
     */

    if (typePtr->setFromAnyProc == NULL) {
	if (interp) {
	    Tcl_SetObjResult(interp, Tcl_ObjPrintf(
		    "can't convert value to type %s", typePtr->name));
	    Tcl_SetErrorCode(interp, "TCL", "API_ABUSE", NULL);
	}
	return TCL_ERROR;
    }

    return typePtr->setFromAnyProc(interp, objPtr);
}

/*
 *--------------------------------------------------------------