Tcl Source Code

Hex Artifact Content
Login

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.