Artifact
c361d901a71f8a81faf773a2dec12c624d8d36dd:
Attachment "Tcl_TransferResult.doc" to
ticket [1723738fff]
added by
eriklns
2007-08-29 02:27:34.
0000: 2a 2a 2a 20 54 68 69 73 20 64 72 61 66 74 20 74 *** This draft t
0010: 65 78 74 20 68 61 73 20 62 65 65 6e 20 69 6e 74 ext has been int
0020: 65 6e 64 65 64 20 61 73 20 61 6e 20 61 64 64 69 ended as an addi
0030: 74 69 6f 6e 20 74 6f 20 61 6e 20 65 78 69 73 74 tion to an exist
0040: 69 6e 67 20 54 63 6c 20 6d 61 6e 75 61 6c 20 70 ing Tcl manual p
0050: 61 67 65 20 2a 2a 2a 0a 2a 2a 2a 20 53 65 65 20 age ***.*** See
0060: 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 67 the correspondig
0070: 20 54 49 50 20 66 6f 72 20 63 6f 6e 73 69 64 65 TIP for conside
0080: 72 61 74 69 6f 6e 73 20 77 2e 72 2e 74 2e 20 74 rations w.r.t. t
0090: 6f 20 74 68 65 20 72 65 63 65 69 76 69 6e 67 20 o the receiving
00a0: 6d 61 6e 75 61 6c 20 70 61 67 65 20 2a 2a 2a 0a manual page ***.
00b0: 0a 20 4e 41 4d 45 0a 3d 3d 3d 3d 3d 0a 54 63 6c . NAME.=====.Tcl
00c0: 5f 54 72 61 6e 73 66 65 72 52 65 73 75 6c 74 20 _TransferResult
00d0: 2d 2d 20 74 72 61 6e 73 66 65 72 20 69 6e 74 65 -- transfer inte
00e0: 72 70 20 72 65 73 75 6c 74 20 61 6e 64 20 65 72 rp result and er
00f0: 72 6f 72 20 69 6e 66 6f 20 62 65 74 77 65 65 6e ror info between
0100: 20 64 69 66 66 65 72 65 6e 74 20 54 63 6c 20 69 different Tcl i
0110: 6e 74 65 72 70 72 65 74 65 72 73 0a 0a 0a 20 53 nterpreters... S
0120: 59 4e 4f 50 49 53 0a 3d 3d 3d 3d 3d 3d 3d 3d 0a YNOPIS.========.
0130: 76 6f 69 64 0a 54 63 6c 5f 54 72 61 6e 73 66 65 void.Tcl_Transfe
0140: 72 52 65 73 75 6c 74 28 73 6f 75 72 63 65 49 6e rResult(sourceIn
0150: 74 65 72 70 2c 20 72 65 73 75 6c 74 2c 20 74 61 terp, result, ta
0160: 72 67 65 74 49 6e 74 65 72 70 29 0a 0a 0a 20 41 rgetInterp)... A
0170: 52 47 55 4d 45 4e 54 53 0a 3d 3d 3d 3d 3d 3d 3d RGUMENTS.=======
0180: 3d 3d 3d 0a 54 63 6c 5f 49 6e 74 65 72 70 20 2a ===.Tcl_Interp *
0190: 73 6f 75 72 63 65 49 6e 74 65 72 70 20 28 69 6e sourceInterp (in
01a0: 29 0a 09 74 6f 6b 65 6e 20 66 6f 72 20 74 68 65 )..token for the
01b0: 20 69 6e 74 65 72 70 72 65 74 65 72 20 77 68 6f interpreter who
01c0: 73 65 20 72 65 73 75 6c 74 20 69 73 20 74 6f 20 se result is to
01d0: 62 65 20 74 72 61 6e 73 66 65 72 72 65 64 2e 0a be transferred..
01e0: 0a 54 63 6c 5f 49 6e 74 65 72 70 20 2a 74 61 72 .Tcl_Interp *tar
01f0: 67 65 74 49 6e 74 65 72 70 20 28 69 6e 29 0a 09 getInterp (in)..
0200: 74 6f 6b 65 6e 20 66 6f 72 20 74 68 65 20 69 6e token for the in
0210: 74 65 72 70 72 65 74 65 72 20 74 6f 20 77 68 69 terpreter to whi
0220: 63 68 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 ch the result is
0230: 20 74 6f 20 62 65 20 74 72 61 6e 73 66 65 72 72 to be transferr
0240: 65 64 2e 0a 0a 69 6e 74 20 72 65 73 75 6c 74 20 ed...int result
0250: 28 69 6e 29 0a 09 69 6e 74 65 67 65 72 20 69 6e (in)..integer in
0260: 64 69 63 61 74 69 6e 67 20 77 68 65 74 68 65 72 dicating whether
0270: 20 65 72 72 6f 72 20 69 6e 66 6f 20 69 73 20 74 error info is t
0280: 6f 20 62 65 20 74 72 61 6e 73 66 65 72 72 65 64 o be transferred
0290: 20 61 64 64 69 74 69 6f 6e 61 6c 6c 79 2e 0a 0a additionally...
02a0: 0a 20 44 45 53 43 52 49 50 54 49 4f 4e 0a 3d 3d . DESCRIPTION.==
02b0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 54 63 6c 5f 54 ==========.Tcl_T
02c0: 72 61 6e 73 66 65 72 52 65 73 75 6c 74 20 6d 6f ransferResult mo
02d0: 76 65 73 20 74 68 65 20 69 6e 74 65 72 70 20 72 ves the interp r
02e0: 65 73 75 6c 74 20 6f 66 20 73 6f 75 72 63 65 49 esult of sourceI
02f0: 6e 74 65 72 70 20 74 6f 20 74 61 72 67 65 74 49 nterp to targetI
0300: 6e 74 65 72 70 2e 20 49 66 20 72 65 73 75 6c 74 nterp. If result
0310: 20 65 71 75 61 6c 73 20 54 43 4c 5f 4f 4b 2c 20 equals TCL_OK,
0320: 74 68 65 6e 20 6f 6e 6c 79 20 74 68 65 20 69 6e then only the in
0330: 74 65 72 70 20 72 65 73 75 6c 74 20 69 73 20 6d terp result is m
0340: 6f 76 65 64 2e 20 49 66 20 72 65 73 75 6c 74 20 oved. If result
0350: 65 71 75 61 6c 73 20 54 43 4c 5f 45 52 52 4f 52 equals TCL_ERROR
0360: 2c 20 65 72 72 6f 72 20 69 6e 66 6f 20 69 73 20 , error info is
0370: 63 6f 70 69 65 64 20 61 64 64 69 74 69 6f 6e 61 copied additiona
0380: 6c 6c 79 2e 20 43 6f 70 79 69 6e 67 20 65 72 72 lly. Copying err
0390: 6f 72 20 69 6e 66 6f 20 77 69 6c 6c 20 61 6c 73 or info will als
03a0: 6f 20 75 70 64 61 74 65 20 74 68 65 20 54 63 6c o update the Tcl
03b0: 20 76 61 72 69 61 62 6c 65 73 20 65 72 72 6f 72 variables error
03c0: 49 6e 66 6f 20 61 6e 64 20 65 72 72 6f 72 43 6f Info and errorCo
03d0: 64 65 20 69 6e 20 74 68 65 20 74 61 72 67 65 74 de in the target
03e0: 20 69 6e 74 65 72 70 2e 20 41 66 74 65 72 20 74 interp. After t
03f0: 68 65 20 74 72 61 6e 73 66 65 72 2c 20 73 6f 75 he transfer, sou
0400: 72 63 65 49 6e 74 65 72 70 20 77 69 6c 6c 20 68 rceInterp will h
0410: 61 76 65 20 69 74 73 20 72 65 73 75 6c 74 20 72 ave its result r
0420: 65 73 65 74 20 0a 0a 54 63 6c 5f 54 72 61 6e 73 eset ..Tcl_Trans
0430: 66 65 72 52 65 73 75 6c 74 20 64 6f 65 73 20 6e ferResult does n
0440: 6f 74 20 72 65 71 75 69 72 65 20 74 68 61 74 20 ot require that
0450: 73 6f 75 72 63 65 20 69 6e 74 65 72 70 72 65 74 source interpret
0460: 65 72 20 61 6e 64 20 74 61 72 67 65 74 20 69 6e er and target in
0470: 74 65 72 70 72 65 74 65 72 20 61 72 65 20 72 65 terpreter are re
0480: 6c 61 74 65 64 20 69 6e 20 61 6e 79 20 77 61 79 lated in any way
0490: 20 28 65 2e 67 2e 20 6c 69 6b 65 20 61 20 6d 61 (e.g. like a ma
04a0: 73 74 65 72 2d 73 6c 61 76 65 20 68 69 65 72 61 ster-slave hiera
04b0: 72 63 68 79 29 3a 20 61 6e 79 20 74 77 6f 20 69 rchy): any two i
04c0: 6e 74 65 72 70 72 65 74 65 72 73 20 63 61 6e 20 nterpreters can
04d0: 62 65 20 75 73 65 64 2e 0a 0a 0a 20 53 45 45 20 be used.... SEE
04e0: 41 4c 53 4f 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 54 ALSO.=========.T
04f0: 63 6c 5f 43 72 65 61 74 65 49 6e 74 65 72 70 0a cl_CreateInterp.