Attachment "1413934.patch" to
ticket [1413934fff]
added by
dgp
2006-02-09 04:29:54.
0000: 49 6e 64 65 78 3a 20 64 6f 63 2f 45 6e 63 6f 64 Index: doc/Encod
0010: 69 6e 67 2e 33 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ing.3.==========
0020: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0030: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0040: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0050: 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 52 43 53 20 66 69 =========.RCS fi
0060: 6c 65 3a 20 2f 63 76 73 72 6f 6f 74 2f 74 63 6c le: /cvsroot/tcl
0070: 2f 74 63 6c 2f 64 6f 63 2f 45 6e 63 6f 64 69 6e /tcl/doc/Encodin
0080: 67 2e 33 2c 76 0a 72 65 74 72 69 65 76 69 6e 67 g.3,v.retrieving
0090: 20 72 65 76 69 73 69 6f 6e 20 31 2e 32 30 0a 64 revision 1.20.d
00a0: 69 66 66 20 2d 75 20 2d 72 31 2e 32 30 20 45 6e iff -u -r1.20 En
00b0: 63 6f 64 69 6e 67 2e 33 0a 2d 2d 2d 20 64 6f 63 coding.3.--- doc
00c0: 2f 45 6e 63 6f 64 69 6e 67 2e 33 09 37 20 4f 63 /Encoding.3.7 Oc
00d0: 74 20 32 30 30 34 20 31 35 3a 31 35 3a 33 37 20 t 2004 15:15:37
00e0: 2d 30 30 30 30 09 31 2e 32 30 0a 2b 2b 2b 20 64 -0000.1.20.+++ d
00f0: 6f 63 2f 45 6e 63 6f 64 69 6e 67 2e 33 09 38 20 oc/Encoding.3.8
0100: 46 65 62 20 32 30 30 36 20 32 31 3a 32 35 3a 33 Feb 2006 21:25:3
0110: 31 20 2d 30 30 30 30 0a 40 40 20 2d 32 31 2c 36 1 -0000.@@ -21,6
0120: 20 2b 32 31 2c 31 31 20 40 40 0a 20 76 6f 69 64 +21,11 @@. void
0130: 0a 20 5c 66 42 54 63 6c 5f 46 72 65 65 45 6e 63 . \fBTcl_FreeEnc
0140: 6f 64 69 6e 67 5c 66 52 28 5c 66 49 65 6e 63 6f oding\fR(\fIenco
0150: 64 69 6e 67 5c 66 52 29 0a 20 2e 73 70 0a 2b 2e ding\fR). .sp.+.
0160: 56 53 20 38 2e 35 0a 2b 69 6e 74 0a 2b 5c 66 42 VS 8.5.+int.+\fB
0170: 54 63 6c 5f 47 65 74 45 6e 63 6f 64 69 6e 67 46 Tcl_GetEncodingF
0180: 72 6f 6d 4f 62 6a 5c 66 52 28 5c 66 49 69 6e 74 romObj\fR(\fIint
0190: 65 72 70 2c 20 6f 62 6a 50 74 72 2c 20 65 6e 63 erp, objPtr, enc
01a0: 6f 64 69 6e 67 50 74 72 5c 66 52 29 0a 2b 2e 56 odingPtr\fR).+.V
01b0: 45 20 38 2e 35 0a 2b 2e 73 70 0a 20 63 68 61 72 E 8.5.+.sp. char
01c0: 20 2a 0a 20 5c 66 42 54 63 6c 5f 45 78 74 65 72 *. \fBTcl_Exter
01d0: 6e 61 6c 54 6f 55 74 66 44 53 74 72 69 6e 67 5c nalToUtfDString\
01e0: 66 52 28 5c 66 49 65 6e 63 6f 64 69 6e 67 2c 20 fR(\fIencoding,
01f0: 73 72 63 2c 20 73 72 63 4c 65 6e 2c 20 64 73 74 src, srcLen, dst
0200: 50 74 72 5c 66 52 29 0a 20 2e 73 70 0a 40 40 20 Ptr\fR). .sp.@@
0210: 2d 34 37 2c 31 32 20 2b 35 32 2c 32 35 20 40 40 -47,12 +52,25 @@
0220: 0a 20 69 6e 74 0a 20 5c 66 42 54 63 6c 5f 53 65 . int. \fBTcl_Se
0230: 74 53 79 73 74 65 6d 45 6e 63 6f 64 69 6e 67 5c tSystemEncoding\
0240: 66 52 28 5c 66 49 69 6e 74 65 72 70 2c 20 6e 61 fR(\fIinterp, na
0250: 6d 65 5c 66 52 29 0a 20 2e 73 70 0a 2b 2e 56 53 me\fR). .sp.+.VS
0260: 20 38 2e 35 0a 2b 63 6f 6e 73 74 20 63 68 61 72 8.5.+const char
0270: 20 2a 0a 2b 5c 66 42 54 63 6c 5f 47 65 74 45 6e *.+\fBTcl_GetEn
0280: 63 6f 64 69 6e 67 4e 61 6d 65 46 72 6f 6d 45 6e codingNameFromEn
0290: 76 69 72 6f 6e 6d 65 6e 74 5c 66 52 28 5c 66 49 vironment\fR(\fI
02a0: 62 75 66 50 74 72 5c 66 52 29 69 6e 0a 2b 2e 56 bufPtr\fR)in.+.V
02b0: 45 20 38 2e 35 0a 2b 2e 73 70 0a 20 76 6f 69 64 E 8.5.+.sp. void
02c0: 0a 20 5c 66 42 54 63 6c 5f 47 65 74 45 6e 63 6f . \fBTcl_GetEnco
02d0: 64 69 6e 67 4e 61 6d 65 73 5c 66 52 28 5c 66 49 dingNames\fR(\fI
02e0: 69 6e 74 65 72 70 5c 66 52 29 0a 20 2e 73 70 0a interp\fR). .sp.
02f0: 20 54 63 6c 5f 45 6e 63 6f 64 69 6e 67 0a 20 5c Tcl_Encoding. \
0300: 66 42 54 63 6c 5f 43 72 65 61 74 65 45 6e 63 6f fBTcl_CreateEnco
0310: 64 69 6e 67 5c 66 52 28 5c 66 49 74 79 70 65 50 ding\fR(\fItypeP
0320: 74 72 5c 66 52 29 0a 20 2e 73 70 0a 2b 2e 56 53 tr\fR). .sp.+.VS
0330: 20 38 2e 35 0a 2b 54 63 6c 5f 4f 62 6a 20 2a 0a 8.5.+Tcl_Obj *.
0340: 2b 5c 66 42 54 63 6c 5f 47 65 74 45 6e 63 6f 64 +\fBTcl_GetEncod
0350: 69 6e 67 53 65 61 72 63 68 50 61 74 68 5c 66 52 ingSearchPath\fR
0360: 28 29 0a 2b 2e 73 70 0a 2b 69 6e 74 0a 2b 5c 66 ().+.sp.+int.+\f
0370: 42 54 63 6c 5f 53 65 74 45 6e 63 6f 64 69 6e 67 BTcl_SetEncoding
0380: 53 65 61 72 63 68 50 61 74 68 5c 66 52 28 5c 66 SearchPath\fR(\f
0390: 49 73 65 61 72 63 68 50 61 74 68 5c 66 52 29 0a IsearchPath\fR).
03a0: 2b 2e 56 45 20 38 2e 35 0a 2b 2e 73 70 0a 20 63 +.VE 8.5.+.sp. c
03b0: 6f 6e 73 74 20 63 68 61 72 20 2a 0a 20 5c 66 42 onst char *. \fB
03c0: 54 63 6c 5f 47 65 74 44 65 66 61 75 6c 74 45 6e Tcl_GetDefaultEn
03d0: 63 6f 64 69 6e 67 44 69 72 5c 66 52 28 5c 66 49 codingDir\fR(\fI
03e0: 76 6f 69 64 5c 66 52 29 0a 20 2e 73 70 0a 40 40 void\fR). .sp.@@
03f0: 20 2d 36 39 2c 36 20 2b 38 37 2c 31 34 20 40 40 -69,6 +87,14 @@
0400: 0a 20 2e 41 50 20 54 63 6c 5f 45 6e 63 6f 64 69 . .AP Tcl_Encodi
0410: 6e 67 20 65 6e 63 6f 64 69 6e 67 20 69 6e 0a 20 ng encoding in.
0420: 54 68 65 20 65 6e 63 6f 64 69 6e 67 20 74 6f 20 The encoding to
0430: 71 75 65 72 79 2c 20 66 72 65 65 2c 20 6f 72 20 query, free, or
0440: 75 73 65 20 66 6f 72 20 63 6f 6e 76 65 72 74 69 use for converti
0450: 6e 67 20 74 65 78 74 2e 20 20 49 66 20 5c 66 49 ng text. If \fI
0460: 65 6e 63 6f 64 69 6e 67 5c 66 52 20 69 73 20 0a encoding\fR is .
0470: 20 4e 55 4c 4c 2c 20 74 68 65 20 63 75 72 72 65 NULL, the curre
0480: 6e 74 20 73 79 73 74 65 6d 20 65 6e 63 6f 64 69 nt system encodi
0490: 6e 67 20 69 73 20 75 73 65 64 2e 0a 2b 2e 41 50 ng is used..+.AP
04a0: 20 54 63 6c 5f 4f 62 6a 20 2a 6f 62 6a 50 74 72 Tcl_Obj *objPtr
04b0: 20 69 6e 0a 2b 2e 56 53 20 38 2e 35 0a 2b 4e 61 in.+.VS 8.5.+Na
04c0: 6d 65 20 6f 66 20 65 6e 63 6f 64 69 6e 67 20 74 me of encoding t
04d0: 6f 20 67 65 74 20 74 6f 6b 65 6e 20 66 6f 72 2e o get token for.
04e0: 0a 2b 2e 56 45 20 38 2e 35 0a 2b 2e 41 50 20 54 .+.VE 8.5.+.AP T
04f0: 63 6c 5f 45 6e 63 6f 64 69 6e 67 20 2a 65 6e 63 cl_Encoding *enc
0500: 6f 64 69 6e 67 50 74 72 20 6f 75 74 0a 2b 2e 56 odingPtr out.+.V
0510: 53 20 38 2e 35 0a 2b 50 6f 69 6e 74 73 20 74 6f S 8.5.+Points to
0520: 20 73 74 6f 72 61 67 65 20 77 68 65 72 65 20 65 storage where e
0530: 6e 63 6f 64 69 6e 67 20 74 6f 6b 65 6e 20 69 73 ncoding token is
0540: 20 74 6f 20 62 65 20 77 72 69 74 74 65 6e 2e 0a to be written..
0550: 2b 2e 56 45 20 38 2e 35 0a 20 2e 41 50 20 22 63 +.VE 8.5. .AP "c
0560: 6f 6e 73 74 20 63 68 61 72 22 20 2a 73 72 63 20 onst char" *src
0570: 69 6e 0a 20 46 6f 72 20 74 68 65 20 5c 66 42 54 in. For the \fBT
0580: 63 6c 5f 45 78 74 65 72 6e 61 6c 54 6f 55 74 66 cl_ExternalToUtf
0590: 5c 66 52 20 66 75 6e 63 74 69 6f 6e 73 2c 20 61 \fR functions, a
05a0: 6e 20 61 72 72 61 79 20 6f 66 20 62 79 74 65 73 n array of bytes
05b0: 20 69 6e 20 74 68 65 0a 20 73 70 65 63 69 66 69 in the. specifi
05c0: 65 64 20 65 6e 63 6f 64 69 6e 67 20 74 68 61 74 ed encoding that
05d0: 20 61 72 65 20 74 6f 20 62 65 20 63 6f 6e 76 65 are to be conve
05e0: 72 74 65 64 20 74 6f 20 55 54 46 2d 38 2e 20 20 rted to UTF-8.
05f0: 46 6f 72 20 74 68 65 0a 40 40 20 2d 31 32 31 2c For the.@@ -121,
0600: 38 20 2b 31 34 37 2c 31 36 20 40 40 0a 20 2e 41 8 +147,16 @@. .A
0610: 50 20 69 6e 74 20 2a 64 73 74 43 68 61 72 73 50 P int *dstCharsP
0620: 74 72 20 6f 75 74 0a 20 46 69 6c 6c 65 64 20 77 tr out. Filled w
0630: 69 74 68 20 74 68 65 20 6e 75 6d 62 65 72 20 6f ith the number o
0640: 66 20 63 68 61 72 61 63 74 65 72 73 20 74 68 61 f characters tha
0650: 74 20 63 6f 72 72 65 73 70 6f 6e 64 20 74 6f 20 t correspond to
0660: 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 62 79 the number of by
0670: 74 65 73 0a 20 73 74 6f 72 65 64 20 69 6e 20 74 tes. stored in t
0680: 68 65 20 6f 75 74 70 75 74 20 62 75 66 66 65 72 he output buffer
0690: 2e 20 20 4d 61 79 20 62 65 20 4e 55 4c 4c 2e 0a . May be NULL..
06a0: 2b 2e 41 50 20 54 63 6c 5f 44 53 74 72 69 6e 67 +.AP Tcl_DString
06b0: 20 2a 62 75 66 50 74 72 20 6f 75 74 0a 2b 2e 56 *bufPtr out.+.V
06c0: 53 20 38 2e 35 0a 2b 53 74 6f 72 61 67 65 20 66 S 8.5.+Storage f
06d0: 6f 72 20 74 68 65 20 70 72 65 73 63 72 69 62 65 or the prescribe
06e0: 64 20 73 79 73 74 65 6d 20 65 6e 63 6f 64 69 6e d system encodin
06f0: 67 20 6e 61 6d 65 2e 0a 2b 2e 56 45 20 38 2e 35 g name..+.VE 8.5
0700: 0a 20 2e 41 50 20 54 63 6c 5f 45 6e 63 6f 64 69 . .AP Tcl_Encodi
0710: 6e 67 54 79 70 65 20 2a 74 79 70 65 50 74 72 20 ngType *typePtr
0720: 69 6e 0a 20 53 74 72 75 63 74 75 72 65 20 74 68 in. Structure th
0730: 61 74 20 64 65 66 69 6e 65 73 20 61 20 6e 65 77 at defines a new
0740: 20 74 79 70 65 20 6f 66 20 65 6e 63 6f 64 69 6e type of encodin
0750: 67 2e 20 20 0a 2b 2e 41 50 20 54 63 6c 5f 4f 62 g. .+.AP Tcl_Ob
0760: 6a 20 2a 73 65 61 72 63 68 50 61 74 68 20 69 6e j *searchPath in
0770: 0a 2b 2e 56 53 20 38 2e 35 0a 2b 4c 69 73 74 20 .+.VS 8.5.+List
0780: 6f 66 20 66 69 6c 65 73 79 73 74 65 6d 20 64 69 of filesystem di
0790: 72 65 63 74 6f 72 69 65 73 20 69 6e 20 77 68 69 rectories in whi
07a0: 63 68 20 74 6f 20 73 65 61 72 63 68 20 66 6f 72 ch to search for
07b0: 20 65 6e 63 6f 64 69 6e 67 20 64 61 74 61 20 66 encoding data f
07c0: 69 6c 65 73 2e 0a 2b 2e 56 45 20 38 2e 35 0a 20 iles..+.VE 8.5.
07d0: 2e 41 50 20 22 63 6f 6e 73 74 20 63 68 61 72 22 .AP "const char"
07e0: 20 2a 70 61 74 68 20 69 6e 0a 20 41 20 70 61 74 *path in. A pat
07f0: 68 20 74 6f 20 74 68 65 20 6c 6f 63 61 74 69 6f h to the locatio
0800: 6e 20 6f 66 20 74 68 65 20 65 6e 63 6f 64 69 6e n of the encodin
0810: 67 20 66 69 6c 65 2e 20 20 0a 20 2e 42 45 0a 40 g file. . .BE.@
0820: 40 20 2d 31 37 31 2c 36 20 2b 32 30 35 2c 32 35 @ -171,6 +205,25
0830: 20 40 40 0a 20 5c 66 42 54 63 6c 5f 46 72 65 65 @@. \fBTcl_Free
0840: 45 6e 63 6f 64 69 6e 67 5c 66 52 20 77 69 6c 6c Encoding\fR will
0850: 20 72 65 6c 65 61 73 65 20 61 6c 6c 20 73 74 6f release all sto
0860: 72 61 67 65 20 74 68 65 20 65 6e 63 6f 64 69 6e rage the encodin
0870: 67 20 77 61 73 20 75 73 69 6e 67 0a 20 61 6e 64 g was using. and
0880: 20 64 65 6c 65 74 65 20 69 74 20 66 72 6f 6d 20 delete it from
0890: 74 68 65 20 64 61 74 61 62 61 73 65 2e 20 0a 20 the database. .
08a0: 2e 50 50 0a 2b 2e 56 53 20 38 2e 35 0a 2b 5c 66 .PP.+.VS 8.5.+\f
08b0: 42 54 63 6c 5f 47 65 74 45 6e 63 6f 64 69 6e 67 BTcl_GetEncoding
08c0: 46 72 6f 6d 4f 62 6a 5c 66 52 20 74 72 65 61 74 FromObj\fR treat
08d0: 73 20 74 68 65 20 73 74 72 69 6e 67 20 72 65 70 s the string rep
08e0: 72 65 73 65 6e 74 61 74 69 6f 6e 20 6f 66 20 5c resentation of \
08f0: 66 49 6f 62 6a 50 74 72 5c 66 52 0a 2b 61 73 20 fIobjPtr\fR.+as
0900: 61 6e 20 65 6e 63 6f 64 69 6e 67 20 6e 61 6d 65 an encoding name
0910: 2c 20 61 6e 64 20 66 69 6e 64 73 20 61 6e 20 65 , and finds an e
0920: 6e 63 6f 64 69 6e 67 20 77 69 74 68 20 74 68 61 ncoding with tha
0930: 74 20 6e 61 6d 65 2c 20 6a 75 73 74 20 61 73 0a t name, just as.
0940: 2b 5c 66 42 54 63 6c 5f 47 65 74 45 6e 63 6f 64 +\fBTcl_GetEncod
0950: 69 6e 67 5c 66 52 20 64 6f 65 73 2e 20 20 57 68 ing\fR does. Wh
0960: 65 6e 20 61 6e 20 65 6e 63 6f 64 69 6e 67 20 69 en an encoding i
0970: 73 20 66 6f 75 6e 64 2c 20 69 74 73 20 5c 66 42 s found, its \fB
0980: 54 63 6c 5f 45 6e 63 6f 64 69 6e 67 5c 66 42 0a Tcl_Encoding\fB.
0990: 2b 74 6f 6b 65 6e 20 69 73 20 77 72 69 74 74 65 +token is writte
09a0: 6e 20 74 6f 20 74 68 65 20 73 74 6f 72 61 67 65 n to the storage
09b0: 20 70 6f 69 6e 74 65 64 20 74 6f 20 62 79 20 5c pointed to by \
09c0: 66 49 65 6e 63 6f 64 69 6e 67 50 74 72 5c 66 52 fIencodingPtr\fR
09d0: 2c 20 61 6e 64 20 74 68 65 20 76 61 6c 75 65 0a , and the value.
09e0: 2b 5c 66 42 54 43 4c 5f 4f 4b 5c 66 52 20 69 73 +\fBTCL_OK\fR is
09f0: 20 72 65 74 75 72 6e 65 64 2e 20 20 49 6e 20 61 returned. In a
0a00: 64 64 69 74 69 6f 6e 2c 20 61 20 63 6f 70 79 20 ddition, a copy
0a10: 6f 66 20 74 68 65 20 5c 66 42 54 63 6c 5f 45 6e of the \fBTcl_En
0a20: 63 6f 64 69 6e 67 5c 66 52 20 69 73 0a 2b 6b 65 coding\fR is.+ke
0a30: 70 74 20 61 73 20 74 68 65 20 69 6e 74 65 72 6e pt as the intern
0a40: 61 6c 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f al representatio
0a50: 6e 20 6f 66 20 5c 66 49 6f 62 6a 50 74 72 5c 66 n of \fIobjPtr\f
0a60: 52 2e 20 20 49 66 20 6e 6f 20 73 75 63 68 20 65 R. If no such e
0a70: 6e 63 6f 64 69 6e 67 20 69 73 0a 2b 66 6f 75 6e ncoding is.+foun
0a80: 64 2c 20 74 68 65 20 76 61 6c 75 65 20 5c 66 42 d, the value \fB
0a90: 54 43 4c 5f 45 52 52 4f 52 5c 66 52 20 69 73 20 TCL_ERROR\fR is
0aa0: 72 65 74 75 72 6e 65 64 2c 20 61 6e 64 20 6e 6f returned, and no
0ab0: 20 77 72 69 74 69 6e 67 20 74 6f 0a 2b 5c 66 49 writing to.+\fI
0ac0: 2a 65 6e 63 6f 64 69 6e 67 50 74 72 5c 66 52 20 *encodingPtr\fR
0ad0: 74 61 6b 65 73 20 70 6c 61 63 65 2e 0a 2b 2e 50 takes place..+.P
0ae0: 50 0a 2b 54 68 65 20 72 65 66 65 72 65 6e 63 65 P.+The reference
0af0: 20 63 6f 75 6e 74 20 6f 66 20 74 68 65 20 5c 66 count of the \f
0b00: 42 54 63 6c 5f 45 6e 63 6f 64 69 6e 67 5c 66 52 BTcl_Encoding\fR
0b10: 20 74 6f 6b 65 6e 20 6d 61 79 20 62 65 20 69 6e token may be in
0b20: 63 72 65 6d 65 6e 74 65 64 20 74 77 69 63 65 2c cremented twice,
0b30: 0a 2b 6f 6e 63 65 20 66 6f 72 20 74 68 65 20 72 .+once for the r
0b40: 65 66 65 72 65 6e 63 65 20 77 72 69 74 74 65 6e eference written
0b50: 20 74 6f 20 5c 66 49 2a 65 6e 63 6f 64 69 6e 67 to \fI*encoding
0b60: 50 74 72 5c 66 52 20 61 6e 64 20 6f 6e 63 65 20 Ptr\fR and once
0b70: 66 6f 72 20 74 68 65 0a 2b 72 65 66 65 72 65 6e for the.+referen
0b80: 63 65 20 73 74 6f 72 65 64 20 69 6e 20 5c 66 49 ce stored in \fI
0b90: 6f 62 6a 50 74 72 5c 66 52 2c 20 69 66 20 61 20 objPtr\fR, if a
0ba0: 72 65 66 65 72 65 6e 63 65 20 69 73 20 6e 6f 74 reference is not
0bb0: 20 61 6c 72 65 61 64 79 20 69 6e 20 70 6c 61 63 already in plac
0bc0: 65 0a 2b 74 68 65 72 65 2e 20 20 54 68 65 20 63 e.+there. The c
0bd0: 61 6c 6c 65 72 20 73 68 6f 75 6c 64 20 63 61 6c aller should cal
0be0: 6c 20 5c 66 42 54 63 6c 5f 46 72 65 65 45 6e 63 l \fBTcl_FreeEnc
0bf0: 6f 64 69 6e 67 5c 66 52 20 6f 6e 20 5c 66 49 2a oding\fR on \fI*
0c00: 65 6e 63 6f 64 69 6e 67 50 74 72 5c 66 52 0a 2b encodingPtr\fR.+
0c10: 77 68 65 6e 20 74 68 65 20 74 6f 6b 65 6e 20 77 when the token w
0c20: 69 6c 6c 20 6e 6f 20 6c 6f 6e 67 65 72 20 62 65 ill no longer be
0c30: 20 75 73 65 64 2e 20 20 54 68 65 20 75 73 75 61 used. The usua
0c40: 6c 20 6d 65 63 68 61 6e 69 73 6d 73 20 66 6f 72 l mechanisms for
0c50: 20 66 72 65 65 69 6e 67 20 74 68 65 0a 2b 69 6e freeing the.+in
0c60: 74 65 72 6e 61 6c 20 72 65 70 72 65 73 65 6e 74 ternal represent
0c70: 61 74 69 6f 6e 20 6f 66 20 61 20 5c 66 42 54 63 ation of a \fBTc
0c80: 6c 5f 4f 62 6a 5c 66 52 20 77 69 6c 6c 20 74 61 l_Obj\fR will ta
0c90: 6b 65 20 63 61 72 65 20 6f 66 20 63 61 6c 6c 69 ke care of calli
0ca0: 6e 67 0a 2b 5c 66 42 54 63 6c 5f 46 72 65 65 45 ng.+\fBTcl_FreeE
0cb0: 6e 63 6f 64 69 6e 67 5c 66 52 20 6f 6e 20 74 68 ncoding\fR on th
0cc0: 61 74 20 72 65 66 65 72 65 6e 63 65 20 61 74 20 at reference at
0cd0: 74 68 65 20 61 70 70 72 6f 70 72 69 61 74 65 20 the appropriate
0ce0: 74 69 6d 65 2e 0a 2b 2e 56 45 20 38 2e 35 0a 2b time..+.VE 8.5.+
0cf0: 2e 50 50 0a 20 5c 66 42 54 63 6c 5f 45 78 74 65 .PP. \fBTcl_Exte
0d00: 72 6e 61 6c 54 6f 55 74 66 44 53 74 72 69 6e 67 rnalToUtfDString
0d10: 5c 66 52 20 63 6f 6e 76 65 72 74 73 20 61 20 73 \fR converts a s
0d20: 6f 75 72 63 65 20 62 75 66 66 65 72 20 5c 66 49 ource buffer \fI
0d30: 73 72 63 5c 66 52 20 66 72 6f 6d 20 74 68 65 0a src\fR from the.
0d40: 20 73 70 65 63 69 66 69 65 64 20 5c 66 49 65 6e specified \fIen
0d50: 63 6f 64 69 6e 67 5c 66 52 20 69 6e 74 6f 20 55 coding\fR into U
0d60: 54 46 2d 38 2e 20 20 54 68 65 20 63 6f 6e 76 65 TF-8. The conve
0d70: 72 74 65 64 20 62 79 74 65 73 20 61 72 65 20 73 rted bytes are s
0d80: 74 6f 72 65 64 20 69 6e 20 0a 20 5c 66 49 64 73 tored in . \fIds
0d90: 74 50 74 72 5c 66 52 2c 20 77 68 69 63 68 20 69 tPtr\fR, which i
0da0: 73 20 74 68 65 6e 20 6e 75 6c 6c 2d 74 65 72 6d s then null-term
0db0: 69 6e 61 74 65 64 2e 20 20 54 68 65 20 63 61 6c inated. The cal
0dc0: 6c 65 72 20 73 68 6f 75 6c 64 20 65 76 65 6e 74 ler should event
0dd0: 75 61 6c 6c 79 0a 40 40 20 2d 32 37 37 2c 36 20 ually.@@ -277,6
0de0: 2b 33 33 30 2c 31 35 20 40 40 0a 20 64 65 63 72 +330,15 @@. decr
0df0: 65 6d 65 6e 74 73 20 74 68 65 20 72 65 66 65 72 ements the refer
0e00: 65 6e 63 65 20 63 6f 75 6e 74 20 6f 66 20 74 68 ence count of th
0e10: 65 20 6f 6c 64 20 73 79 73 74 65 6d 20 65 6e 63 e old system enc
0e20: 6f 64 69 6e 67 2c 20 61 6e 64 20 72 65 74 75 72 oding, and retur
0e30: 6e 73 0a 20 5c 66 42 54 43 4c 5f 4f 4b 5c 66 52 ns. \fBTCL_OK\fR
0e40: 2e 0a 20 2e 50 50 0a 2b 2e 56 53 20 38 2e 35 0a .. .PP.+.VS 8.5.
0e50: 2b 5c 66 42 54 63 6c 5f 47 65 74 45 6e 63 6f 64 +\fBTcl_GetEncod
0e60: 69 6e 67 4e 61 6d 65 46 72 6f 6d 45 6e 76 69 72 ingNameFromEnvir
0e70: 6f 6e 6d 65 6e 74 5c 66 52 20 70 72 6f 76 69 64 onment\fR provid
0e80: 65 73 20 61 20 6d 65 61 6e 73 20 66 6f 72 20 74 es a means for t
0e90: 68 65 20 54 63 6c 0a 2b 6c 69 62 72 61 72 79 20 he Tcl.+library
0ea0: 74 6f 20 72 65 70 6f 72 74 20 74 68 65 20 65 6e to report the en
0eb0: 63 6f 64 69 6e 67 20 6e 61 6d 65 20 69 74 20 62 coding name it b
0ec0: 65 6c 69 65 76 65 73 20 74 6f 20 62 65 20 74 68 elieves to be th
0ed0: 65 20 63 6f 72 72 65 63 74 20 6f 6e 65 0a 2b 74 e correct one.+t
0ee0: 6f 20 75 73 65 20 61 73 20 74 68 65 20 73 79 73 o use as the sys
0ef0: 74 65 6d 20 65 6e 63 6f 64 69 6e 67 2c 20 62 61 tem encoding, ba
0f00: 73 65 64 20 6f 6e 20 73 79 73 74 65 6d 20 63 61 sed on system ca
0f10: 6c 6c 73 20 61 6e 64 20 65 78 61 6d 69 6e 61 74 lls and examinat
0f20: 69 6f 6e 20 6f 66 0a 2b 74 68 65 20 65 6e 76 69 ion of.+the envi
0f30: 72 6f 6e 6d 65 6e 74 20 73 75 69 74 61 62 6c 65 ronment suitable
0f40: 20 66 6f 72 20 74 68 65 20 70 6c 61 74 66 6f 72 for the platfor
0f50: 6d 2e 20 20 49 74 20 61 63 63 65 70 74 73 20 5c m. It accepts \
0f60: 66 49 62 75 66 50 74 72 5c 66 52 2c 0a 2b 61 20 fIbufPtr\fR,.+a
0f70: 70 6f 69 6e 74 65 72 20 74 6f 20 61 6e 20 75 6e pointer to an un
0f80: 69 6e 69 74 69 61 6c 69 7a 65 64 20 6f 72 20 66 initialized or f
0f90: 72 65 65 64 20 5c 66 42 54 63 6c 5f 44 53 74 72 reed \fBTcl_DStr
0fa0: 69 6e 67 5c 66 52 20 61 6e 64 20 77 72 69 74 65 ing\fR and write
0fb0: 73 0a 2b 74 68 65 20 65 6e 63 6f 64 69 6e 67 20 s.+the encoding
0fc0: 6e 61 6d 65 20 74 6f 20 69 74 2e 20 20 54 68 65 name to it. The
0fd0: 20 5c 66 42 54 63 6c 5f 44 53 74 72 69 6e 67 56 \fBTcl_DStringV
0fe0: 61 6c 75 65 5c 66 52 20 69 73 20 72 65 74 75 72 alue\fR is retur
0ff0: 6e 65 64 2e 0a 2b 2e 56 45 20 38 2e 35 0a 2b 2e ned..+.VE 8.5.+.
1000: 50 50 0a 20 5c 66 42 54 63 6c 5f 47 65 74 45 6e PP. \fBTcl_GetEn
1010: 63 6f 64 69 6e 67 4e 61 6d 65 73 5c 66 52 20 73 codingNames\fR s
1020: 65 74 73 20 74 68 65 20 5c 66 49 69 6e 74 65 72 ets the \fIinter
1030: 70 5c 66 52 20 72 65 73 75 6c 74 20 74 6f 20 61 p\fR result to a
1040: 20 6c 69 73 74 0a 20 63 6f 6e 73 69 73 74 69 6e list. consistin
1050: 67 20 6f 66 20 74 68 65 20 6e 61 6d 65 73 20 6f g of the names o
1060: 66 20 61 6c 6c 20 74 68 65 20 65 6e 63 6f 64 69 f all the encodi
1070: 6e 67 73 20 74 68 61 74 20 61 72 65 20 63 75 72 ngs that are cur
1080: 72 65 6e 74 6c 79 20 64 65 66 69 6e 65 64 0a 20 rently defined.
1090: 6f 72 20 63 61 6e 20 62 65 20 64 79 6e 61 6d 69 or can be dynami
10a0: 63 61 6c 6c 79 20 6c 6f 61 64 65 64 2c 20 73 65 cally loaded, se
10b0: 61 72 63 68 69 6e 67 20 74 68 65 20 65 6e 63 6f arching the enco
10c0: 64 69 6e 67 20 70 61 74 68 20 73 70 65 63 69 66 ding path specif
10d0: 69 65 64 20 62 79 0a 40 40 20 2d 33 37 36 2c 31 ied by.@@ -376,1
10e0: 32 20 2b 34 33 38 2c 33 34 20 40 40 0a 20 5c 66 2 +438,34 @@. \f
10f0: 49 63 6c 69 65 6e 74 44 61 74 61 5c 66 52 20 70 IclientData\fR p
1100: 61 72 61 6d 65 74 65 72 20 69 73 20 74 68 65 20 arameter is the
1110: 73 61 6d 65 20 61 73 20 74 68 65 20 5c 66 49 63 same as the \fIc
1120: 6c 69 65 6e 74 44 61 74 61 5c 66 52 20 66 69 65 lientData\fR fie
1130: 6c 64 0a 20 73 70 65 63 69 66 69 65 64 20 74 6f ld. specified to
1140: 20 5c 66 42 54 63 6c 5f 43 72 65 61 74 65 45 6e \fBTcl_CreateEn
1150: 63 6f 64 69 6e 67 5c 66 52 20 77 68 65 6e 20 74 coding\fR when t
1160: 68 65 20 65 6e 63 6f 64 69 6e 67 20 77 61 73 20 he encoding was
1170: 63 72 65 61 74 65 64 2e 20 20 0a 20 2e 50 50 0a created. . .PP.
1180: 2d 0a 2b 2e 56 53 20 38 2e 35 0a 2b 5c 66 42 54 -.+.VS 8.5.+\fBT
1190: 63 6c 5f 47 65 74 45 6e 63 6f 64 69 6e 67 53 65 cl_GetEncodingSe
11a0: 61 72 63 68 50 61 74 68 5c 66 52 20 61 6e 64 20 archPath\fR and
11b0: 5c 66 42 54 63 6c 5f 53 65 74 45 6e 63 6f 64 69 \fBTcl_SetEncodi
11c0: 6e 67 53 65 61 72 63 68 50 61 74 68 5c 66 52 0a ngSearchPath\fR.
11d0: 2b 61 72 65 20 63 61 6c 6c 65 64 20 74 6f 20 61 +are called to a
11e0: 63 63 65 73 73 20 61 6e 64 20 73 65 74 20 74 68 ccess and set th
11f0: 65 20 6c 69 73 74 20 6f 66 20 66 69 6c 65 73 79 e list of filesy
1200: 73 74 65 6d 20 64 69 72 65 63 74 6f 72 69 65 73 stem directories
1210: 20 73 65 61 72 63 68 65 64 0a 2b 66 6f 72 20 65 searched.+for e
1220: 6e 63 6f 64 69 6e 67 20 64 61 74 61 20 66 69 6c ncoding data fil
1230: 65 73 2e 20 20 0a 2b 2e 50 50 0a 2b 54 68 65 20 es. .+.PP.+The
1240: 76 61 6c 75 65 20 72 65 74 75 72 6e 65 64 20 62 value returned b
1250: 79 20 5c 66 42 54 63 6c 5f 47 65 74 45 6e 63 6f y \fBTcl_GetEnco
1260: 64 69 6e 67 53 65 61 72 63 68 50 61 74 68 5c 66 dingSearchPath\f
1270: 52 0a 2b 69 73 20 74 68 65 20 76 61 6c 75 65 20 R.+is the value
1280: 73 74 6f 72 65 64 20 62 79 20 74 68 65 20 6c 61 stored by the la
1290: 73 74 20 73 75 63 63 65 73 73 66 75 6c 20 63 61 st successful ca
12a0: 6c 6c 20 74 6f 0a 2b 5c 66 42 54 63 6c 5f 53 65 ll to.+\fBTcl_Se
12b0: 74 45 6e 63 6f 64 69 6e 67 53 65 61 72 63 68 50 tEncodingSearchP
12c0: 61 74 68 5c 66 52 2e 20 20 49 66 20 6e 6f 20 63 ath\fR. If no c
12d0: 61 6c 6c 73 20 74 6f 0a 2b 5c 66 42 54 63 6c 5f alls to.+\fBTcl_
12e0: 53 65 74 45 6e 63 6f 64 69 6e 67 53 65 61 72 63 SetEncodingSearc
12f0: 68 50 61 74 68 5c 66 52 20 68 61 76 65 20 6f 63 hPath\fR have oc
1300: 63 75 72 72 65 64 2c 20 54 63 6c 20 77 69 6c 6c curred, Tcl will
1310: 20 63 6f 6d 70 75 74 65 20 61 6e 20 69 6e 69 74 compute an init
1320: 69 61 6c 0a 2b 76 61 6c 75 65 20 62 61 73 65 64 ial.+value based
1330: 20 6f 6e 20 74 68 65 20 65 6e 76 69 72 6f 6e 6d on the environm
1340: 65 6e 74 2e 20 20 54 68 65 72 65 20 69 73 20 6f ent. There is o
1350: 6e 65 20 65 6e 63 6f 64 69 6e 67 20 73 65 61 72 ne encoding sear
1360: 63 68 20 70 61 74 68 20 66 6f 72 20 74 68 65 0a ch path for the.
1370: 2b 65 6e 74 69 72 65 20 70 72 6f 63 65 73 73 2c +entire process,
1380: 20 73 68 61 72 65 64 20 62 79 20 61 6c 6c 20 74 shared by all t
1390: 68 72 65 61 64 73 20 69 6e 20 74 68 65 20 70 72 hreads in the pr
13a0: 6f 63 65 73 73 2e 0a 2b 2e 50 50 0a 2b 5c 66 42 ocess..+.PP.+\fB
13b0: 54 63 6c 5f 53 65 74 45 6e 63 6f 64 69 6e 67 53 Tcl_SetEncodingS
13c0: 65 61 72 63 68 50 61 74 68 5c 66 52 20 73 74 6f earchPath\fR sto
13d0: 72 65 73 20 5c 66 49 73 65 61 72 63 68 50 61 74 res \fIsearchPat
13e0: 68 5c 66 52 20 61 6e 64 20 72 65 74 75 72 6e 73 h\fR and returns
13f0: 0a 2b 5c 66 42 54 43 4c 5f 4f 4b 5c 66 52 2c 20 .+\fBTCL_OK\fR,
1400: 75 6e 6c 65 73 73 20 5c 66 49 73 65 61 72 63 68 unless \fIsearch
1410: 50 61 74 68 5c 66 52 20 69 73 20 6e 6f 74 20 61 Path\fR is not a
1420: 20 76 61 6c 69 64 20 54 63 6c 20 6c 69 73 74 2c valid Tcl list,
1430: 20 77 68 69 63 68 0a 2b 63 61 75 73 65 73 20 5c which.+causes \
1440: 66 42 54 43 4c 5f 45 52 52 4f 52 5c 66 52 20 74 fBTCL_ERROR\fR t
1450: 6f 20 62 65 20 72 65 74 75 72 6e 65 64 2e 20 20 o be returned.
1460: 54 68 65 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 The elements of
1470: 5c 66 49 73 65 61 72 63 68 50 61 74 68 5c 66 52 \fIsearchPath\fR
1480: 0a 2b 61 72 65 20 6e 6f 74 20 76 65 72 69 66 69 .+are not verifi
1490: 65 64 20 61 73 20 65 78 69 73 74 69 6e 67 20 72 ed as existing r
14a0: 65 61 64 61 62 6c 65 20 66 69 6c 65 73 79 73 74 eadable filesyst
14b0: 65 6d 20 64 69 72 65 63 74 6f 72 69 65 73 2e 20 em directories.
14c0: 20 57 68 65 6e 0a 2b 73 65 61 72 63 68 69 6e 67 When.+searching
14d0: 20 66 6f 72 20 65 6e 63 6f 64 69 6e 67 20 64 61 for encoding da
14e0: 74 61 20 66 69 6c 65 73 20 74 61 6b 65 73 20 70 ta files takes p
14f0: 6c 61 63 65 2c 20 61 6e 64 20 6e 6f 6e 2d 65 78 lace, and non-ex
1500: 69 73 74 65 6e 74 20 6f 72 0a 2b 6e 6f 6e 2d 72 istent or.+non-r
1510: 65 61 64 61 62 6c 65 20 66 69 6c 65 73 79 73 74 eadable filesyst
1520: 65 6d 20 64 69 72 65 63 74 6f 72 69 65 73 20 6f em directories o
1530: 6e 20 74 68 65 20 5c 66 49 73 65 61 72 63 68 50 n the \fIsearchP
1540: 61 74 68 5c 66 52 20 61 72 65 20 73 69 6c 65 6e ath\fR are silen
1550: 74 6c 79 0a 2b 69 67 6e 6f 72 65 64 2e 0a 2b 2e tly.+ignored..+.
1560: 50 50 0a 20 5c 66 42 54 63 6c 5f 47 65 74 44 65 PP. \fBTcl_GetDe
1570: 66 61 75 6c 74 45 6e 63 6f 64 69 6e 67 44 69 72 faultEncodingDir
1580: 5c 66 52 20 61 6e 64 20 5c 66 42 54 63 6c 5f 53 \fR and \fBTcl_S
1590: 65 74 44 65 66 61 75 6c 74 45 6e 63 6f 64 69 6e etDefaultEncodin
15a0: 67 44 69 72 5c 66 52 0a 2d 61 63 63 65 73 73 20 gDir\fR.-access
15b0: 61 6e 64 20 73 65 74 20 74 68 65 20 64 69 72 65 and set the dire
15c0: 63 74 6f 72 79 20 74 6f 20 75 73 65 20 77 68 65 ctory to use whe
15d0: 6e 20 6c 6f 63 61 74 69 6e 67 20 74 68 65 20 64 n locating the d
15e0: 65 66 61 75 6c 74 20 65 6e 63 6f 64 69 6e 67 0a efault encoding.
15f0: 2d 66 69 6c 65 73 2e 20 20 49 66 20 74 68 69 73 -files. If this
1600: 20 76 61 6c 75 65 20 69 73 20 6e 6f 74 20 4e 55 value is not NU
1610: 4c 4c 2c 20 74 68 65 20 5c 66 42 54 63 6c 70 49 LL, the \fBTclpI
1620: 6e 69 74 4c 69 62 72 61 72 79 50 61 74 68 5c 66 nitLibraryPath\f
1630: 52 20 72 6f 75 74 69 6e 65 0a 2d 61 70 70 65 6e R routine.-appen
1640: 64 73 20 74 68 65 20 70 61 74 68 20 74 6f 20 74 ds the path to t
1650: 68 65 20 68 65 61 64 20 6f 66 20 74 68 65 20 73 he head of the s
1660: 65 61 72 63 68 20 70 61 74 68 2c 20 61 6e 64 20 earch path, and
1670: 75 73 65 73 20 74 68 69 73 20 70 61 74 68 20 61 uses this path a
1680: 73 0a 2d 74 68 65 20 66 69 72 73 74 20 70 6c 61 s.-the first pla
1690: 63 65 20 74 6f 20 6c 6f 6f 6b 20 69 6e 74 6f 20 ce to look into
16a0: 77 68 65 6e 20 74 72 79 69 6e 67 20 74 6f 20 6c when trying to l
16b0: 6f 63 61 74 65 20 74 68 65 20 65 6e 63 6f 64 69 ocate the encodi
16c0: 6e 67 20 66 69 6c 65 2e 0a 2b 61 72 65 20 6f 62 ng file..+are ob
16d0: 73 6f 6c 65 74 65 20 69 6e 74 65 72 66 61 63 65 solete interface
16e0: 73 20 62 65 73 74 20 72 65 70 6c 61 63 65 64 20 s best replaced
16f0: 77 69 74 68 20 63 61 6c 6c 73 20 74 6f 0a 2b 5c with calls to.+\
1700: 66 42 54 63 6c 5f 47 65 74 45 6e 63 6f 64 69 6e fBTcl_GetEncodin
1710: 67 53 65 61 72 63 68 50 61 74 68 5c 66 52 20 61 gSearchPath\fR a
1720: 6e 64 20 5c 66 42 54 63 6c 5f 53 65 74 45 6e 63 nd \fBTcl_SetEnc
1730: 6f 64 69 6e 67 53 65 61 72 63 68 50 61 74 68 5c odingSearchPath\
1740: 66 52 2e 0a 2b 54 68 65 79 20 61 72 65 20 63 61 fR..+They are ca
1750: 6c 6c 65 64 20 74 6f 20 61 63 63 65 73 73 20 61 lled to access a
1760: 6e 64 20 73 65 74 20 74 68 65 20 66 69 72 73 74 nd set the first
1770: 20 65 6c 65 6d 65 6e 74 20 6f 66 20 74 68 65 20 element of the
1780: 5c 66 49 73 65 61 72 63 68 50 61 74 68 5c 66 52 \fIsearchPath\fR
1790: 0a 2b 6c 69 73 74 2e 20 20 53 69 6e 63 65 20 54 .+list. Since T
17a0: 63 6c 20 73 65 61 72 63 68 65 73 20 5c 66 49 73 cl searches \fIs
17b0: 65 61 72 63 68 50 61 74 68 5c 66 52 20 66 6f 72 earchPath\fR for
17c0: 20 65 6e 63 6f 64 69 6e 67 20 64 61 74 61 20 66 encoding data f
17d0: 69 6c 65 73 20 69 6e 0a 2b 6c 69 73 74 20 6f 72 iles in.+list or
17e0: 64 65 72 2c 20 74 68 65 73 65 20 72 6f 75 74 69 der, these routi
17f0: 6e 65 73 20 65 73 74 61 62 6c 69 73 68 20 74 68 nes establish th
1800: 65 20 60 60 64 65 66 61 75 6c 74 27 27 20 64 69 e ``default'' di
1810: 72 65 63 74 6f 72 79 20 69 6e 20 77 68 69 63 68 rectory in which
1820: 0a 2b 74 6f 20 66 69 6e 64 20 65 6e 63 6f 64 69 .+to find encodi
1830: 6e 67 20 64 61 74 61 20 66 69 6c 65 73 2e 0a 2b ng data files..+
1840: 2e 56 45 20 38 2e 35 0a 20 0a 20 2e 53 48 20 22 .VE 8.5. . .SH "
1850: 45 4e 43 4f 44 49 4e 47 20 46 49 4c 45 53 22 0a ENCODING FILES".
1860: 20 53 70 61 63 65 20 77 6f 75 6c 64 20 70 72 6f Space would pro
1870: 68 69 62 69 74 20 70 72 65 63 6f 6d 70 69 6c 69 hibit precompili
1880: 6e 67 20 69 6e 74 6f 20 54 63 6c 20 65 76 65 72 ng into Tcl ever
1890: 79 20 70 6f 73 73 69 62 6c 65 20 65 6e 63 6f 64 y possible encod
18a0: 69 6e 67 0a 49 6e 64 65 78 3a 20 64 6f 63 2f 65 ing.Index: doc/e
18b0: 6e 63 6f 64 69 6e 67 2e 6e 0a 3d 3d 3d 3d 3d 3d ncoding.n.======
18c0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
18d0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
18e0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
18f0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 52 43 =============.RC
1900: 53 20 66 69 6c 65 3a 20 2f 63 76 73 72 6f 6f 74 S file: /cvsroot
1910: 2f 74 63 6c 2f 74 63 6c 2f 64 6f 63 2f 65 6e 63 /tcl/tcl/doc/enc
1920: 6f 64 69 6e 67 2e 6e 2c 76 0a 72 65 74 72 69 65 oding.n,v.retrie
1930: 76 69 6e 67 20 72 65 76 69 73 69 6f 6e 20 31 2e ving revision 1.
1940: 36 0a 64 69 66 66 20 2d 75 20 2d 72 31 2e 36 20 6.diff -u -r1.6
1950: 65 6e 63 6f 64 69 6e 67 2e 6e 0a 2d 2d 2d 20 64 encoding.n.--- d
1960: 6f 63 2f 65 6e 63 6f 64 69 6e 67 2e 6e 09 32 37 oc/encoding.n.27
1970: 20 4f 63 74 20 32 30 30 34 20 31 34 3a 32 34 3a Oct 2004 14:24:
1980: 33 37 20 2d 30 30 30 30 09 31 2e 36 0a 2b 2b 2b 37 -0000.1.6.+++
1990: 20 64 6f 63 2f 65 6e 63 6f 64 69 6e 67 2e 6e 09 doc/encoding.n.
19a0: 38 20 46 65 62 20 32 30 30 36 20 32 31 3a 32 35 8 Feb 2006 21:25
19b0: 3a 33 31 20 2d 30 30 30 30 0a 40 40 20 2d 34 31 :31 -0000.@@ -41
19c0: 2c 36 20 2b 34 31 2c 32 31 20 40 40 0a 20 63 68 ,6 +41,21 @@. ch
19d0: 61 72 61 63 74 65 72 2e 20 20 49 66 20 5c 66 49 aracter. If \fI
19e0: 65 6e 63 6f 64 69 6e 67 5c 66 52 20 69 73 20 6e encoding\fR is n
19f0: 6f 74 20 73 70 65 63 69 66 69 65 64 2c 20 74 68 ot specified, th
1a00: 65 20 63 75 72 72 65 6e 74 0a 20 73 79 73 74 65 e current. syste
1a10: 6d 20 65 6e 63 6f 64 69 6e 67 20 69 73 20 75 73 m encoding is us
1a20: 65 64 2e 0a 20 2e 54 50 0a 2b 5c 66 42 65 6e 63 ed.. .TP.+\fBenc
1a30: 6f 64 69 6e 67 20 64 69 72 73 5c 66 52 20 3f 5c oding dirs\fR ?\
1a40: 66 49 64 69 72 65 63 74 6f 72 79 4c 69 73 74 5c fIdirectoryList\
1a50: 66 52 3f 0a 2b 2e 56 53 20 38 2e 35 0a 2b 54 63 fR?.+.VS 8.5.+Tc
1a60: 6c 20 63 61 6e 20 6c 6f 61 64 20 65 6e 63 6f 64 l can load encod
1a70: 69 6e 67 20 64 61 74 61 20 66 69 6c 65 73 20 66 ing data files f
1a80: 72 6f 6d 20 74 68 65 20 66 69 6c 65 20 73 79 73 rom the file sys
1a90: 74 65 6d 20 74 68 61 74 20 64 65 73 63 72 69 62 tem that describ
1aa0: 65 0a 2b 61 64 64 69 74 69 6f 6e 61 6c 20 65 6e e.+additional en
1ab0: 63 6f 64 69 6e 67 73 20 66 6f 72 20 69 74 20 74 codings for it t
1ac0: 6f 20 77 6f 72 6b 20 77 69 74 68 2e 20 20 54 68 o work with. Th
1ad0: 69 73 20 63 6f 6d 6d 61 6e 64 0a 2b 73 65 74 73 is command.+sets
1ae0: 20 74 68 65 20 73 65 61 72 63 68 20 70 61 74 68 the search path
1af0: 20 66 6f 72 20 5c 66 42 2a 2e 65 6e 63 5c 66 52 for \fB*.enc\fR
1b00: 20 65 6e 63 6f 64 69 6e 67 20 64 61 74 61 20 66 encoding data f
1b10: 69 6c 65 73 20 74 6f 0a 2b 74 68 65 20 6c 69 73 iles to.+the lis
1b20: 74 20 6f 66 20 64 69 72 65 63 74 6f 72 69 65 73 t of directories
1b30: 20 5c 66 49 64 69 72 65 63 74 6f 72 79 4c 69 73 \fIdirectoryLis
1b40: 74 5c 66 52 2e 20 20 49 66 0a 2b 5c 66 49 64 69 t\fR. If.+\fIdi
1b50: 72 65 63 74 6f 72 79 4c 69 73 74 5c 66 52 20 69 rectoryList\fR i
1b60: 73 20 6f 6d 69 74 74 65 64 20 74 68 65 6e 20 74 s omitted then t
1b70: 68 65 20 63 6f 6d 6d 61 6e 64 20 72 65 74 75 72 he command retur
1b80: 6e 73 20 74 68 65 0a 2b 63 75 72 72 65 6e 74 20 ns the.+current
1b90: 6c 69 73 74 20 6f 66 20 64 69 72 65 63 74 6f 72 list of director
1ba0: 69 65 73 20 74 68 61 74 20 6d 61 6b 65 20 75 70 ies that make up
1bb0: 20 74 68 65 20 73 65 61 72 63 68 20 70 61 74 68 the search path
1bc0: 2e 0a 2b 49 66 20 5c 66 49 64 69 72 65 63 74 6f ..+If \fIdirecto
1bd0: 72 79 4c 69 73 74 5c 66 52 20 69 73 20 70 72 65 ryList\fR is pre
1be0: 73 65 6e 74 2c 20 62 75 74 20 69 73 20 6e 6f 74 sent, but is not
1bf0: 20 61 20 76 61 6c 69 64 20 54 63 6c 0a 2b 6c 69 a valid Tcl.+li
1c00: 73 74 2c 20 61 6e 20 65 72 72 6f 72 20 69 73 20 st, an error is
1c10: 72 61 69 73 65 64 2e 20 20 41 6e 79 20 65 6c 65 raised. Any ele
1c20: 6d 65 6e 74 73 20 69 6e 20 5c 66 49 64 69 72 65 ments in \fIdire
1c30: 63 74 6f 72 79 4c 69 73 74 5c 66 52 0a 2b 74 68 ctoryList\fR.+th
1c40: 61 74 20 61 72 65 20 6e 6f 74 20 69 6e 20 66 61 at are not in fa
1c50: 63 74 20 72 65 61 64 61 62 6c 65 20 64 69 72 65 ct readable dire
1c60: 63 74 6f 72 69 65 73 20 69 6e 20 74 68 65 20 66 ctories in the f
1c70: 69 6c 65 73 79 73 74 65 6d 20 61 72 65 20 69 67 ilesystem are ig
1c80: 6e 6f 72 65 64 0a 2b 77 69 74 68 6f 75 74 20 72 nored.+without r
1c90: 61 69 73 69 6e 67 20 61 6e 20 65 72 72 6f 72 20 aising an error
1ca0: 77 68 65 6e 20 73 65 61 72 63 68 65 73 20 66 6f when searches fo
1cb0: 72 20 65 6e 63 6f 64 69 6e 67 20 64 61 74 61 20 r encoding data
1cc0: 66 69 6c 65 73 0a 2b 74 61 6b 65 20 70 6c 61 63 files.+take plac
1cd0: 65 2e 0a 2b 2e 56 45 20 38 2e 35 0a 2b 2e 54 50 e..+.VE 8.5.+.TP
1ce0: 0a 20 5c 66 42 65 6e 63 6f 64 69 6e 67 20 6e 61 . \fBencoding na
1cf0: 6d 65 73 5c 66 52 0a 20 52 65 74 75 72 6e 73 20 mes\fR. Returns
1d00: 61 20 6c 69 73 74 20 63 6f 6e 74 61 69 6e 69 6e a list containin
1d10: 67 20 74 68 65 20 6e 61 6d 65 73 20 6f 66 20 61 g the names of a
1d20: 6c 6c 20 6f 66 20 74 68 65 20 65 6e 63 6f 64 69 ll of the encodi
1d30: 6e 67 73 20 74 68 61 74 20 61 72 65 0a 20 63 75 ngs that are. cu
1d40: 72 72 65 6e 74 6c 79 20 61 76 61 69 6c 61 62 6c rrently availabl
1d50: 65 2e 20 0a 49 6e 64 65 78 3a 20 67 65 6e 65 72 e. .Index: gener
1d60: 69 63 2f 74 63 6c 2e 64 65 63 6c 73 0a 3d 3d 3d ic/tcl.decls.===
1d70: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
1d80: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
1d90: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
1da0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
1db0: 0a 52 43 53 20 66 69 6c 65 3a 20 2f 63 76 73 72 .RCS file: /cvsr
1dc0: 6f 6f 74 2f 74 63 6c 2f 74 63 6c 2f 67 65 6e 65 oot/tcl/tcl/gene
1dd0: 72 69 63 2f 74 63 6c 2e 64 65 63 6c 73 2c 76 0a ric/tcl.decls,v.
1de0: 72 65 74 72 69 65 76 69 6e 67 20 72 65 76 69 73 retrieving revis
1df0: 69 6f 6e 20 31 2e 31 31 39 0a 64 69 66 66 20 2d ion 1.119.diff -
1e00: 75 20 2d 72 31 2e 31 31 39 20 74 63 6c 2e 64 65 u -r1.119 tcl.de
1e10: 63 6c 73 0a 2d 2d 2d 20 67 65 6e 65 72 69 63 2f cls.--- generic/
1e20: 74 63 6c 2e 64 65 63 6c 73 09 31 20 46 65 62 20 tcl.decls.1 Feb
1e30: 32 30 30 36 20 31 38 3a 32 37 3a 34 33 20 2d 30 2006 18:27:43 -0
1e40: 30 30 30 09 31 2e 31 31 39 0a 2b 2b 2b 20 67 65 000.1.119.+++ ge
1e50: 6e 65 72 69 63 2f 74 63 6c 2e 64 65 63 6c 73 09 neric/tcl.decls.
1e60: 38 20 46 65 62 20 32 30 30 36 20 32 31 3a 32 35 8 Feb 2006 21:25
1e70: 3a 33 32 20 2d 30 30 30 30 0a 40 40 20 2d 32 30 :32 -0000.@@ -20
1e80: 34 39 2c 36 20 2b 32 30 34 39 2c 32 32 20 40 40 49,6 +2049,22 @@
1e90: 0a 20 20 20 20 20 20 20 20 20 54 63 6c 5f 4f 62 . Tcl_Ob
1ea0: 6a 20 2a 68 61 6e 64 6c 65 72 50 74 72 29 0a 20 j *handlerPtr).
1eb0: 7d 0a 20 0a 2b 23 20 54 49 50 23 32 35 38 20 45 }. .+# TIP#258 E
1ec0: 6e 68 61 6e 63 65 64 20 49 6e 74 65 72 66 61 63 nhanced Interfac
1ed0: 65 20 66 6f 72 20 45 6e 63 6f 64 69 6e 67 73 0a e for Encodings.
1ee0: 2b 0a 2b 64 65 63 6c 61 72 65 20 35 36 39 20 67 +.+declare 569 g
1ef0: 65 6e 65 72 69 63 20 7b 0a 2b 20 20 20 20 69 6e eneric {.+ in
1f00: 74 20 54 63 6c 5f 47 65 74 45 6e 63 6f 64 69 6e t Tcl_GetEncodin
1f10: 67 46 72 6f 6d 4f 62 6a 28 54 63 6c 5f 49 6e 74 gFromObj(Tcl_Int
1f20: 65 72 70 2a 20 69 6e 74 65 72 70 2c 20 54 63 6c erp* interp, Tcl
1f30: 5f 4f 62 6a 2a 20 6f 62 6a 50 74 72 2c 0a 2b 20 _Obj* objPtr,.+
1f40: 20 20 20 20 20 20 20 20 20 54 63 6c 5f 45 6e 63 Tcl_Enc
1f50: 6f 64 69 6e 67 2a 20 65 6e 63 6f 64 69 6e 67 50 oding* encodingP
1f60: 74 72 29 0a 2b 7d 0a 2b 64 65 63 6c 61 72 65 20 tr).+}.+declare
1f70: 35 37 30 20 67 65 6e 65 72 69 63 20 7b 0a 2b 20 570 generic {.+
1f80: 20 20 20 54 63 6c 5f 4f 62 6a 2a 20 54 63 6c 5f Tcl_Obj* Tcl_
1f90: 47 65 74 45 6e 63 6f 64 69 6e 67 53 65 61 72 63 GetEncodingSearc
1fa0: 68 50 61 74 68 28 76 6f 69 64 29 0a 2b 7d 0a 2b hPath(void).+}.+
1fb0: 64 65 63 6c 61 72 65 20 35 37 31 20 67 65 6e 65 declare 571 gene
1fc0: 72 69 63 20 7b 0a 2b 20 20 20 20 69 6e 74 20 54 ric {.+ int T
1fd0: 63 6c 5f 53 65 74 45 6e 63 6f 64 69 6e 67 53 65 cl_SetEncodingSe
1fe0: 61 72 63 68 50 61 74 68 28 54 63 6c 5f 4f 62 6a archPath(Tcl_Obj
1ff0: 2a 20 73 65 61 72 63 68 50 61 74 68 29 0a 2b 7d * searchPath).+}
2000: 0a 2b 64 65 63 6c 61 72 65 20 35 37 32 20 67 65 .+declare 572 ge
2010: 6e 65 72 69 63 20 7b 0a 2b 20 20 20 20 43 4f 4e neric {.+ CON
2020: 53 54 20 63 68 61 72 20 2a 54 63 6c 5f 47 65 74 ST char *Tcl_Get
2030: 45 6e 63 6f 64 69 6e 67 4e 61 6d 65 46 72 6f 6d EncodingNameFrom
2040: 45 6e 76 69 72 6f 6e 6d 65 6e 74 28 54 63 6c 5f Environment(Tcl_
2050: 44 53 74 72 69 6e 67 2a 20 62 75 66 50 74 72 29 DString* bufPtr)
2060: 0a 2b 7d 0a 2b 0a 20 23 23 23 23 23 23 23 23 23 .+}.+. #########
2070: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
2080: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
2090: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
20a0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
20b0: 23 23 23 23 23 0a 20 0a 20 23 20 44 65 66 69 6e #####. . # Defin
20c0: 65 20 74 68 65 20 70 6c 61 74 66 6f 72 6d 20 73 e the platform s
20d0: 70 65 63 69 66 69 63 20 70 75 62 6c 69 63 20 54 pecific public T
20e0: 63 6c 20 69 6e 74 65 72 66 61 63 65 2e 20 20 54 cl interface. T
20f0: 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 61 hese functions a
2100: 72 65 0a 49 6e 64 65 78 3a 20 67 65 6e 65 72 69 re.Index: generi
2110: 63 2f 74 63 6c 42 61 73 69 63 2e 63 0a 3d 3d 3d c/tclBasic.c.===
2120: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
2130: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
2140: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
2150: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
2160: 0a 52 43 53 20 66 69 6c 65 3a 20 2f 63 76 73 72 .RCS file: /cvsr
2170: 6f 6f 74 2f 74 63 6c 2f 74 63 6c 2f 67 65 6e 65 oot/tcl/tcl/gene
2180: 72 69 63 2f 74 63 6c 42 61 73 69 63 2e 63 2c 76 ric/tclBasic.c,v
2190: 0a 72 65 74 72 69 65 76 69 6e 67 20 72 65 76 69 .retrieving revi
21a0: 73 69 6f 6e 20 31 2e 31 38 39 0a 64 69 66 66 20 sion 1.189.diff
21b0: 2d 75 20 2d 72 31 2e 31 38 39 20 74 63 6c 42 61 -u -r1.189 tclBa
21c0: 73 69 63 2e 63 0a 2d 2d 2d 20 67 65 6e 65 72 69 sic.c.--- generi
21d0: 63 2f 74 63 6c 42 61 73 69 63 2e 63 09 31 20 46 c/tclBasic.c.1 F
21e0: 65 62 20 32 30 30 36 20 31 39 3a 32 36 3a 30 31 eb 2006 19:26:01
21f0: 20 2d 30 30 30 30 09 31 2e 31 38 39 0a 2b 2b 2b -0000.1.189.+++
2200: 20 67 65 6e 65 72 69 63 2f 74 63 6c 42 61 73 69 generic/tclBasi
2210: 63 2e 63 09 38 20 46 65 62 20 32 30 30 36 20 32 c.c.8 Feb 2006 2
2220: 31 3a 32 35 3a 33 34 20 2d 30 30 30 30 0a 40 40 1:25:34 -0000.@@
2230: 20 2d 34 39 33 2c 31 33 20 2b 34 39 33 2c 36 20 -493,13 +493,6
2240: 40 40 0a 20 09 20 20 20 20 54 63 6c 44 65 66 61 @@. . TclDefa
2250: 75 6c 74 42 67 45 72 72 6f 72 48 61 6e 64 6c 65 ultBgErrorHandle
2260: 72 4f 62 6a 43 6d 64 2c 09 28 43 6c 69 65 6e 74 rObjCmd,.(Client
2270: 44 61 74 61 29 20 4e 55 4c 4c 2c 20 4e 55 4c 4c Data) NULL, NULL
2280: 29 3b 0a 20 0a 20 20 20 20 20 2f 2a 0a 2d 20 20 );. . /*.-
2290: 20 20 20 2a 20 52 65 67 69 73 74 65 72 20 74 68 * Register th
22a0: 65 20 75 6e 73 75 70 70 6f 72 74 65 64 20 65 6e e unsupported en
22b0: 63 6f 64 69 6e 67 20 73 65 61 72 63 68 20 70 61 coding search pa
22c0: 74 68 20 63 6f 6d 6d 61 6e 64 2e 0a 2d 20 20 20 th command..-
22d0: 20 20 2a 2f 0a 2d 0a 2d 20 20 20 20 54 63 6c 5f */.-.- Tcl_
22e0: 43 72 65 61 74 65 4f 62 6a 43 6f 6d 6d 61 6e 64 CreateObjCommand
22f0: 28 69 6e 74 65 72 70 2c 20 22 3a 3a 74 63 6c 3a (interp, "::tcl:
2300: 3a 75 6e 73 75 70 70 6f 72 74 65 64 3a 3a 45 6e :unsupported::En
2310: 63 6f 64 69 6e 67 44 69 72 73 22 2c 0a 2d 09 20 codingDirs",.-.
2320: 20 20 20 54 63 6c 45 6e 63 6f 64 69 6e 67 44 69 TclEncodingDi
2330: 72 73 4f 62 6a 43 6d 64 2c 20 4e 55 4c 4c 2c 20 rsObjCmd, NULL,
2340: 4e 55 4c 4c 29 3b 0a 2d 0a 2d 20 20 20 20 2f 2a NULL);.-.- /*
2350: 0a 20 20 20 20 20 20 2a 20 52 65 67 69 73 74 65 . * Registe
2360: 72 20 74 68 65 20 62 75 69 6c 74 69 6e 20 6d 61 r the builtin ma
2370: 74 68 20 66 75 6e 63 74 69 6f 6e 73 2e 0a 20 20 th functions..
2380: 20 20 20 20 2a 2f 0a 20 0a 49 6e 64 65 78 3a 20 */. .Index:
2390: 67 65 6e 65 72 69 63 2f 74 63 6c 43 6d 64 41 48 generic/tclCmdAH
23a0: 2e 63 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d .c.=============
23b0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
23c0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
23d0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
23e0: 3d 3d 3d 3d 3d 3d 0a 52 43 53 20 66 69 6c 65 3a ======.RCS file:
23f0: 20 2f 63 76 73 72 6f 6f 74 2f 74 63 6c 2f 74 63 /cvsroot/tcl/tc
2400: 6c 2f 67 65 6e 65 72 69 63 2f 74 63 6c 43 6d 64 l/generic/tclCmd
2410: 41 48 2e 63 2c 76 0a 72 65 74 72 69 65 76 69 6e AH.c,v.retrievin
2420: 67 20 72 65 76 69 73 69 6f 6e 20 31 2e 37 31 0a g revision 1.71.
2430: 64 69 66 66 20 2d 75 20 2d 72 31 2e 37 31 20 74 diff -u -r1.71 t
2440: 63 6c 43 6d 64 41 48 2e 63 0a 2d 2d 2d 20 67 65 clCmdAH.c.--- ge
2450: 6e 65 72 69 63 2f 74 63 6c 43 6d 64 41 48 2e 63 neric/tclCmdAH.c
2460: 09 38 20 44 65 63 20 32 30 30 35 20 32 30 3a 32 .8 Dec 2005 20:2
2470: 30 3a 33 34 20 2d 30 30 30 30 09 31 2e 37 31 0a 0:34 -0000.1.71.
2480: 2b 2b 2b 20 67 65 6e 65 72 69 63 2f 74 63 6c 43 +++ generic/tclC
2490: 6d 64 41 48 2e 63 09 38 20 46 65 62 20 32 30 30 mdAH.c.8 Feb 200
24a0: 36 20 32 31 3a 32 35 3a 33 34 20 2d 30 30 30 30 6 21:25:34 -0000
24b0: 0a 40 40 20 2d 32 34 2c 36 20 2b 32 34 2c 39 20 .@@ -24,6 +24,9
24c0: 40 40 0a 20 0a 20 73 74 61 74 69 63 20 69 6e 74 @@. . static int
24d0: 09 09 43 68 65 63 6b 41 63 63 65 73 73 28 54 63 ..CheckAccess(Tc
24e0: 6c 5f 49 6e 74 65 72 70 20 2a 69 6e 74 65 72 70 l_Interp *interp
24f0: 2c 20 54 63 6c 5f 4f 62 6a 20 2a 70 61 74 68 50 , Tcl_Obj *pathP
2500: 74 72 2c 0a 20 09 09 09 20 20 20 20 69 6e 74 20 tr,. ... int
2510: 6d 6f 64 65 29 3b 0a 2b 73 74 61 74 69 63 20 69 mode);.+static i
2520: 6e 74 09 09 45 6e 63 6f 64 69 6e 67 44 69 72 73 nt..EncodingDirs
2530: 4f 62 6a 43 6d 64 28 43 6c 69 65 6e 74 44 61 74 ObjCmd(ClientDat
2540: 61 20 64 75 6d 6d 79 2c 0a 2b 09 09 09 09 54 63 a dummy,.+....Tc
2550: 6c 5f 49 6e 74 65 72 70 20 2a 69 6e 74 65 72 70 l_Interp *interp
2560: 2c 20 69 6e 74 20 6f 62 6a 63 2c 0a 2b 09 09 09 , int objc,.+...
2570: 09 54 63 6c 5f 4f 62 6a 20 2a 43 4f 4e 53 54 20 .Tcl_Obj *CONST
2580: 6f 62 6a 76 5b 5d 29 3b 0a 20 73 74 61 74 69 63 objv[]);. static
2590: 20 69 6e 74 09 09 47 65 74 53 74 61 74 42 75 66 int..GetStatBuf
25a0: 28 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 6e 74 (Tcl_Interp *int
25b0: 65 72 70 2c 20 54 63 6c 5f 4f 62 6a 20 2a 70 61 erp, Tcl_Obj *pa
25c0: 74 68 50 74 72 2c 0a 20 09 09 09 20 20 20 20 54 thPtr,. ... T
25d0: 63 6c 5f 46 53 53 74 61 74 50 72 6f 63 20 2a 73 cl_FSStatProc *s
25e0: 74 61 74 50 72 6f 63 2c 20 54 63 6c 5f 53 74 61 tatProc, Tcl_Sta
25f0: 74 42 75 66 20 2a 73 74 61 74 50 74 72 29 3b 0a tBuf *statPtr);.
2600: 20 73 74 61 74 69 63 20 63 68 61 72 20 2a 09 09 static char *..
2610: 47 65 74 54 79 70 65 46 72 6f 6d 4d 6f 64 65 28 GetTypeFromMode(
2620: 69 6e 74 20 6d 6f 64 65 29 3b 0a 40 40 20 2d 34 int mode);.@@ -4
2630: 32 37 2c 31 31 20 2b 34 33 30 2c 31 31 20 40 40 27,11 +430,11 @@
2640: 0a 20 20 20 20 20 69 6e 74 20 69 6e 64 65 78 3b . int index;
2650: 0a 20 0a 20 20 20 20 20 73 74 61 74 69 63 20 43 . . static C
2660: 4f 4e 53 54 20 63 68 61 72 20 2a 6f 70 74 69 6f ONST char *optio
2670: 6e 53 74 72 69 6e 67 73 5b 5d 20 3d 20 7b 0a 2d nStrings[] = {.-
2680: 09 22 63 6f 6e 76 65 72 74 66 72 6f 6d 22 2c 20 ."convertfrom",
2690: 22 63 6f 6e 76 65 72 74 74 6f 22 2c 20 22 6e 61 "convertto", "na
26a0: 6d 65 73 22 2c 20 22 73 79 73 74 65 6d 22 2c 0a mes", "system",.
26b0: 2b 09 22 63 6f 6e 76 65 72 74 66 72 6f 6d 22 2c +."convertfrom",
26c0: 20 22 63 6f 6e 76 65 72 74 74 6f 22 2c 20 22 64 "convertto", "d
26d0: 69 72 73 22 2c 20 22 6e 61 6d 65 73 22 2c 20 22 irs", "names", "
26e0: 73 79 73 74 65 6d 22 2c 0a 20 09 4e 55 4c 4c 0a system",. .NULL.
26f0: 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 65 6e 75 };. enu
2700: 6d 20 6f 70 74 69 6f 6e 73 20 7b 0a 2d 09 45 4e m options {.-.EN
2710: 43 5f 43 4f 4e 56 45 52 54 46 52 4f 4d 2c 20 45 C_CONVERTFROM, E
2720: 4e 43 5f 43 4f 4e 56 45 52 54 54 4f 2c 20 45 4e NC_CONVERTTO, EN
2730: 43 5f 4e 41 4d 45 53 2c 20 45 4e 43 5f 53 59 53 C_NAMES, ENC_SYS
2740: 54 45 4d 0a 2b 09 45 4e 43 5f 43 4f 4e 56 45 52 TEM.+.ENC_CONVER
2750: 54 46 52 4f 4d 2c 20 45 4e 43 5f 43 4f 4e 56 45 TFROM, ENC_CONVE
2760: 52 54 54 4f 2c 20 45 4e 43 5f 44 49 52 53 2c 20 RTTO, ENC_DIRS,
2770: 45 4e 43 5f 4e 41 4d 45 53 2c 20 45 4e 43 5f 53 ENC_NAMES, ENC_S
2780: 59 53 54 45 4d 0a 20 20 20 20 20 7d 3b 0a 20 0a YSTEM. };. .
2790: 20 20 20 20 20 69 66 20 28 6f 62 6a 63 20 3c 20 if (objc <
27a0: 32 29 20 7b 0a 40 40 20 2d 34 35 36 2c 37 20 2b 2) {.@@ -456,7 +
27b0: 34 35 39 2c 37 20 40 40 0a 20 09 20 20 20 20 65 459,7 @@. . e
27c0: 6e 63 6f 64 69 6e 67 20 3d 20 54 63 6c 5f 47 65 ncoding = Tcl_Ge
27d0: 74 45 6e 63 6f 64 69 6e 67 28 69 6e 74 65 72 70 tEncoding(interp
27e0: 2c 20 4e 55 4c 4c 29 3b 0a 20 09 20 20 20 20 64 , NULL);. . d
27f0: 61 74 61 20 3d 20 6f 62 6a 76 5b 32 5d 3b 0a 20 ata = objv[2];.
2800: 09 7d 20 65 6c 73 65 20 69 66 20 28 6f 62 6a 63 .} else if (objc
2810: 20 3d 3d 20 34 29 20 7b 0a 2d 09 20 20 20 20 69 == 4) {.-. i
2820: 66 20 28 54 63 6c 47 65 74 45 6e 63 6f 64 69 6e f (TclGetEncodin
2830: 67 46 72 6f 6d 4f 62 6a 28 69 6e 74 65 72 70 2c gFromObj(interp,
2840: 20 6f 62 6a 76 5b 32 5d 2c 20 26 65 6e 63 6f 64 objv[2], &encod
2850: 69 6e 67 29 20 21 3d 20 54 43 4c 5f 4f 4b 29 20 ing) != TCL_OK)
2860: 7b 0a 2b 09 20 20 20 20 69 66 20 28 54 63 6c 5f {.+. if (Tcl_
2870: 47 65 74 45 6e 63 6f 64 69 6e 67 46 72 6f 6d 4f GetEncodingFromO
2880: 62 6a 28 69 6e 74 65 72 70 2c 20 6f 62 6a 76 5b bj(interp, objv[
2890: 32 5d 2c 20 26 65 6e 63 6f 64 69 6e 67 29 20 21 2], &encoding) !
28a0: 3d 20 54 43 4c 5f 4f 4b 29 20 7b 0a 20 09 09 72 = TCL_OK) {. ..r
28b0: 65 74 75 72 6e 20 54 43 4c 5f 45 52 52 4f 52 3b eturn TCL_ERROR;
28c0: 0a 20 09 20 20 20 20 7d 0a 20 09 20 20 20 20 64 . . }. . d
28d0: 61 74 61 20 3d 20 6f 62 6a 76 5b 33 5d 3b 0a 40 ata = objv[3];.@
28e0: 40 20 2d 34 39 37 2c 36 20 2b 35 30 30 2c 38 20 @ -497,6 +500,8
28f0: 40 40 0a 20 09 54 63 6c 5f 46 72 65 65 45 6e 63 @@. .Tcl_FreeEnc
2900: 6f 64 69 6e 67 28 65 6e 63 6f 64 69 6e 67 29 3b oding(encoding);
2910: 0a 20 09 62 72 65 61 6b 3b 0a 20 20 20 20 20 7d . .break;. }
2920: 0a 2b 20 20 20 20 63 61 73 65 20 45 4e 43 5f 44 .+ case ENC_D
2930: 49 52 53 3a 0a 2b 09 72 65 74 75 72 6e 20 45 6e IRS:.+.return En
2940: 63 6f 64 69 6e 67 44 69 72 73 4f 62 6a 43 6d 64 codingDirsObjCmd
2950: 28 64 75 6d 6d 79 2c 20 69 6e 74 65 72 70 2c 20 (dummy, interp,
2960: 6f 62 6a 63 2d 31 2c 20 6f 62 6a 76 2b 31 29 3b objc-1, objv+1);
2970: 0a 20 20 20 20 20 63 61 73 65 20 45 4e 43 5f 4e . case ENC_N
2980: 41 4d 45 53 3a 0a 20 09 69 66 20 28 6f 62 6a 63 AMES:. .if (objc
2990: 20 3e 20 32 29 20 7b 0a 20 09 20 20 20 20 54 63 > 2) {. . Tc
29a0: 6c 5f 57 72 6f 6e 67 4e 75 6d 41 72 67 73 28 69 l_WrongNumArgs(i
29b0: 6e 74 65 72 70 2c 20 32 2c 20 6f 62 6a 76 2c 20 nterp, 2, objv,
29c0: 4e 55 4c 4c 29 3b 0a 40 40 20 2d 35 32 33 2c 37 NULL);.@@ -523,7
29d0: 20 2b 35 32 38 2c 37 20 40 40 0a 20 2f 2a 0a 20 +528,7 @@. /*.
29e0: 20 2a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d *--------------
29f0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
2a00: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
2a10: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
2a20: 2d 2d 2d 2d 2d 2d 2d 2d 0a 20 20 2a 0a 2d 20 2a --------. *.- *
2a30: 20 54 63 6c 45 6e 63 6f 64 69 6e 67 44 69 72 73 TclEncodingDirs
2a40: 4f 62 6a 43 6d 64 20 2d 2d 0a 2b 20 2a 20 45 6e ObjCmd --.+ * En
2a50: 63 6f 64 69 6e 67 44 69 72 73 4f 62 6a 43 6d 64 codingDirsObjCmd
2a60: 20 2d 2d 0a 20 20 2a 0a 20 20 2a 09 54 68 69 73 --. *. *.This
2a70: 20 63 6f 6d 6d 61 6e 64 20 6d 61 6e 69 70 75 6c command manipul
2a80: 61 74 65 73 20 74 68 65 20 65 6e 63 6f 64 69 6e ates the encodin
2a90: 67 20 73 65 61 72 63 68 20 70 61 74 68 2e 0a 20 g search path..
2aa0: 20 2a 0a 40 40 20 2d 35 33 37 2c 37 20 2b 35 34 *.@@ -537,7 +54
2ab0: 32 2c 37 20 40 40 0a 20 20 2a 2f 0a 20 0a 20 69 2,7 @@. */. . i
2ac0: 6e 74 0a 2d 54 63 6c 45 6e 63 6f 64 69 6e 67 44 nt.-TclEncodingD
2ad0: 69 72 73 4f 62 6a 43 6d 64 28 64 75 6d 6d 79 2c irsObjCmd(dummy,
2ae0: 20 69 6e 74 65 72 70 2c 20 6f 62 6a 63 2c 20 6f interp, objc, o
2af0: 62 6a 76 29 0a 2b 45 6e 63 6f 64 69 6e 67 44 69 bjv).+EncodingDi
2b00: 72 73 4f 62 6a 43 6d 64 28 64 75 6d 6d 79 2c 20 rsObjCmd(dummy,
2b10: 69 6e 74 65 72 70 2c 20 6f 62 6a 63 2c 20 6f 62 interp, objc, ob
2b20: 6a 76 29 0a 20 20 20 20 20 43 6c 69 65 6e 74 44 jv). ClientD
2b30: 61 74 61 20 64 75 6d 6d 79 3b 09 09 2f 2a 20 4e ata dummy;../* N
2b40: 6f 74 20 75 73 65 64 2e 20 2a 2f 0a 20 20 20 20 ot used. */.
2b50: 20 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 6e 74 Tcl_Interp *int
2b60: 65 72 70 3b 09 09 2f 2a 20 43 75 72 72 65 6e 74 erp;../* Current
2b70: 20 69 6e 74 65 72 70 72 65 74 65 72 2e 20 2a 2f interpreter. */
2b80: 0a 20 20 20 20 20 69 6e 74 20 6f 62 6a 63 3b 09 . int objc;.
2b90: 09 09 2f 2a 20 4e 75 6d 62 65 72 20 6f 66 20 61 ../* Number of a
2ba0: 72 67 75 6d 65 6e 74 73 2e 20 2a 2f 0a 40 40 20 rguments. */.@@
2bb0: 2d 35 34 38 2c 31 30 20 2b 35 35 33 2c 31 30 20 -548,10 +553,10
2bc0: 40 40 0a 20 09 72 65 74 75 72 6e 20 54 43 4c 5f @@. .return TCL_
2bd0: 45 52 52 4f 52 3b 0a 20 20 20 20 20 7d 0a 20 20 ERROR;. }.
2be0: 20 20 20 69 66 20 28 6f 62 6a 63 20 3d 3d 20 31 if (objc == 1
2bf0: 29 20 7b 0a 2d 09 54 63 6c 5f 53 65 74 4f 62 6a ) {.-.Tcl_SetObj
2c00: 52 65 73 75 6c 74 28 69 6e 74 65 72 70 2c 20 54 Result(interp, T
2c10: 63 6c 47 65 74 45 6e 63 6f 64 69 6e 67 53 65 61 clGetEncodingSea
2c20: 72 63 68 50 61 74 68 28 29 29 3b 0a 2b 09 54 63 rchPath());.+.Tc
2c30: 6c 5f 53 65 74 4f 62 6a 52 65 73 75 6c 74 28 69 l_SetObjResult(i
2c40: 6e 74 65 72 70 2c 20 54 63 6c 5f 47 65 74 45 6e nterp, Tcl_GetEn
2c50: 63 6f 64 69 6e 67 53 65 61 72 63 68 50 61 74 68 codingSearchPath
2c60: 28 29 29 3b 0a 20 09 72 65 74 75 72 6e 20 54 43 ());. .return TC
2c70: 4c 5f 4f 4b 3b 0a 20 20 20 20 20 7d 0a 2d 20 20 L_OK;. }.-
2c80: 20 20 69 66 20 28 54 63 6c 53 65 74 45 6e 63 6f if (TclSetEnco
2c90: 64 69 6e 67 53 65 61 72 63 68 50 61 74 68 28 6f dingSearchPath(o
2ca0: 62 6a 76 5b 31 5d 29 20 3d 3d 20 54 43 4c 5f 45 bjv[1]) == TCL_E
2cb0: 52 52 4f 52 29 20 7b 0a 2b 20 20 20 20 69 66 20 RROR) {.+ if
2cc0: 28 54 63 6c 5f 53 65 74 45 6e 63 6f 64 69 6e 67 (Tcl_SetEncoding
2cd0: 53 65 61 72 63 68 50 61 74 68 28 6f 62 6a 76 5b SearchPath(objv[
2ce0: 31 5d 29 20 3d 3d 20 54 43 4c 5f 45 52 52 4f 52 1]) == TCL_ERROR
2cf0: 29 20 7b 0a 20 09 54 63 6c 5f 41 70 70 65 6e 64 ) {. .Tcl_Append
2d00: 52 65 73 75 6c 74 28 69 6e 74 65 72 70 2c 20 22 Result(interp, "
2d10: 65 78 70 65 63 74 65 64 20 64 69 72 65 63 74 6f expected directo
2d20: 72 79 20 6c 69 73 74 20 62 75 74 20 67 6f 74 20 ry list but got
2d30: 5c 22 22 2c 0a 20 09 09 54 63 6c 5f 47 65 74 53 \"",. ..Tcl_GetS
2d40: 74 72 69 6e 67 28 6f 62 6a 76 5b 31 5d 29 2c 20 tring(objv[1]),
2d50: 22 5c 22 22 2c 20 4e 55 4c 4c 29 3b 0a 20 09 72 "\"", NULL);. .r
2d60: 65 74 75 72 6e 20 54 43 4c 5f 45 52 52 4f 52 3b eturn TCL_ERROR;
2d70: 0a 49 6e 64 65 78 3a 20 67 65 6e 65 72 69 63 2f .Index: generic/
2d80: 74 63 6c 44 65 63 6c 73 2e 68 0a 3d 3d 3d 3d 3d tclDecls.h.=====
2d90: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
2da0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
2db0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
2dc0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 52 ==============.R
2dd0: 43 53 20 66 69 6c 65 3a 20 2f 63 76 73 72 6f 6f CS file: /cvsroo
2de0: 74 2f 74 63 6c 2f 74 63 6c 2f 67 65 6e 65 72 69 t/tcl/tcl/generi
2df0: 63 2f 74 63 6c 44 65 63 6c 73 2e 68 2c 76 0a 72 c/tclDecls.h,v.r
2e00: 65 74 72 69 65 76 69 6e 67 20 72 65 76 69 73 69 etrieving revisi
2e10: 6f 6e 20 31 2e 31 32 31 0a 64 69 66 66 20 2d 75 on 1.121.diff -u
2e20: 20 2d 72 31 2e 31 32 31 20 74 63 6c 44 65 63 6c -r1.121 tclDecl
2e30: 73 2e 68 0a 2d 2d 2d 20 67 65 6e 65 72 69 63 2f s.h.--- generic/
2e40: 74 63 6c 44 65 63 6c 73 2e 68 09 31 20 46 65 62 tclDecls.h.1 Feb
2e50: 20 32 30 30 36 20 31 38 3a 32 37 3a 34 34 20 2d 2006 18:27:44 -
2e60: 30 30 30 30 09 31 2e 31 32 31 0a 2b 2b 2b 20 67 0000.1.121.+++ g
2e70: 65 6e 65 72 69 63 2f 74 63 6c 44 65 63 6c 73 2e eneric/tclDecls.
2e80: 68 09 38 20 46 65 62 20 32 30 30 36 20 32 31 3a h.8 Feb 2006 21:
2e90: 32 35 3a 33 37 20 2d 30 30 30 30 0a 40 40 20 2d 25:37 -0000.@@ -
2ea0: 33 35 34 37 2c 36 20 2b 33 35 34 37 2c 33 30 20 3547,6 +3547,30
2eb0: 40 40 0a 20 09 09 09 09 54 63 6c 5f 49 6e 74 65 @@. ....Tcl_Inte
2ec0: 72 70 20 2a 20 69 6e 74 65 72 70 2c 20 54 63 6c rp * interp, Tcl
2ed0: 5f 4e 61 6d 65 73 70 61 63 65 20 2a 20 6e 73 50 _Namespace * nsP
2ee0: 74 72 2c 20 0a 20 09 09 09 09 54 63 6c 5f 4f 62 tr, . ....Tcl_Ob
2ef0: 6a 20 2a 20 68 61 6e 64 6c 65 72 50 74 72 29 29 j * handlerPtr))
2f00: 3b 0a 20 23 65 6e 64 69 66 0a 2b 23 69 66 6e 64 ;. #endif.+#ifnd
2f10: 65 66 20 54 63 6c 5f 47 65 74 45 6e 63 6f 64 69 ef Tcl_GetEncodi
2f20: 6e 67 46 72 6f 6d 4f 62 6a 5f 54 43 4c 5f 44 45 ngFromObj_TCL_DE
2f30: 43 4c 41 52 45 44 0a 2b 23 64 65 66 69 6e 65 20 CLARED.+#define
2f40: 54 63 6c 5f 47 65 74 45 6e 63 6f 64 69 6e 67 46 Tcl_GetEncodingF
2f50: 72 6f 6d 4f 62 6a 5f 54 43 4c 5f 44 45 43 4c 41 romObj_TCL_DECLA
2f60: 52 45 44 0a 2b 2f 2a 20 35 36 39 20 2a 2f 0a 2b RED.+/* 569 */.+
2f70: 45 58 54 45 52 4e 20 69 6e 74 09 09 54 63 6c 5f EXTERN int..Tcl_
2f80: 47 65 74 45 6e 63 6f 64 69 6e 67 46 72 6f 6d 4f GetEncodingFromO
2f90: 62 6a 20 5f 41 4e 53 49 5f 41 52 47 53 5f 28 28 bj _ANSI_ARGS_((
2fa0: 0a 2b 09 09 09 09 54 63 6c 5f 49 6e 74 65 72 70 .+....Tcl_Interp
2fb0: 2a 20 69 6e 74 65 72 70 2c 20 54 63 6c 5f 4f 62 * interp, Tcl_Ob
2fc0: 6a 2a 20 6f 62 6a 50 74 72 2c 20 0a 2b 09 09 09 j* objPtr, .+...
2fd0: 09 54 63 6c 5f 45 6e 63 6f 64 69 6e 67 2a 20 65 .Tcl_Encoding* e
2fe0: 6e 63 6f 64 69 6e 67 50 74 72 29 29 3b 0a 2b 23 ncodingPtr));.+#
2ff0: 65 6e 64 69 66 0a 2b 23 69 66 6e 64 65 66 20 54 endif.+#ifndef T
3000: 63 6c 5f 47 65 74 45 6e 63 6f 64 69 6e 67 53 65 cl_GetEncodingSe
3010: 61 72 63 68 50 61 74 68 5f 54 43 4c 5f 44 45 43 archPath_TCL_DEC
3020: 4c 41 52 45 44 0a 2b 23 64 65 66 69 6e 65 20 54 LARED.+#define T
3030: 63 6c 5f 47 65 74 45 6e 63 6f 64 69 6e 67 53 65 cl_GetEncodingSe
3040: 61 72 63 68 50 61 74 68 5f 54 43 4c 5f 44 45 43 archPath_TCL_DEC
3050: 4c 41 52 45 44 0a 2b 2f 2a 20 35 37 30 20 2a 2f LARED.+/* 570 */
3060: 0a 2b 45 58 54 45 52 4e 20 54 63 6c 5f 4f 62 6a .+EXTERN Tcl_Obj
3070: 2a 09 09 54 63 6c 5f 47 65 74 45 6e 63 6f 64 69 *..Tcl_GetEncodi
3080: 6e 67 53 65 61 72 63 68 50 61 74 68 20 5f 41 4e ngSearchPath _AN
3090: 53 49 5f 41 52 47 53 5f 28 28 76 6f 69 64 29 29 SI_ARGS_((void))
30a0: 3b 0a 2b 23 65 6e 64 69 66 0a 2b 23 69 66 6e 64 ;.+#endif.+#ifnd
30b0: 65 66 20 54 63 6c 5f 53 65 74 45 6e 63 6f 64 69 ef Tcl_SetEncodi
30c0: 6e 67 53 65 61 72 63 68 50 61 74 68 5f 54 43 4c ngSearchPath_TCL
30d0: 5f 44 45 43 4c 41 52 45 44 0a 2b 23 64 65 66 69 _DECLARED.+#defi
30e0: 6e 65 20 54 63 6c 5f 53 65 74 45 6e 63 6f 64 69 ne Tcl_SetEncodi
30f0: 6e 67 53 65 61 72 63 68 50 61 74 68 5f 54 43 4c ngSearchPath_TCL
3100: 5f 44 45 43 4c 41 52 45 44 0a 2b 2f 2a 20 35 37 _DECLARED.+/* 57
3110: 31 20 2a 2f 0a 2b 45 58 54 45 52 4e 20 69 6e 74 1 */.+EXTERN int
3120: 09 09 54 63 6c 5f 53 65 74 45 6e 63 6f 64 69 6e ..Tcl_SetEncodin
3130: 67 53 65 61 72 63 68 50 61 74 68 20 5f 41 4e 53 gSearchPath _ANS
3140: 49 5f 41 52 47 53 5f 28 28 0a 2b 09 09 09 09 54 I_ARGS_((.+....T
3150: 63 6c 5f 4f 62 6a 2a 20 73 65 61 72 63 68 50 61 cl_Obj* searchPa
3160: 74 68 29 29 3b 0a 2b 23 65 6e 64 69 66 0a 2b 23 th));.+#endif.+#
3170: 69 66 6e 64 65 66 20 54 63 6c 5f 47 65 74 45 6e ifndef Tcl_GetEn
3180: 63 6f 64 69 6e 67 4e 61 6d 65 46 72 6f 6d 45 6e codingNameFromEn
3190: 76 69 72 6f 6e 6d 65 6e 74 5f 54 43 4c 5f 44 45 vironment_TCL_DE
31a0: 43 4c 41 52 45 44 0a 2b 23 64 65 66 69 6e 65 20 CLARED.+#define
31b0: 54 63 6c 5f 47 65 74 45 6e 63 6f 64 69 6e 67 4e Tcl_GetEncodingN
31c0: 61 6d 65 46 72 6f 6d 45 6e 76 69 72 6f 6e 6d 65 ameFromEnvironme
31d0: 6e 74 5f 54 43 4c 5f 44 45 43 4c 41 52 45 44 0a nt_TCL_DECLARED.
31e0: 2b 2f 2a 20 35 37 32 20 2a 2f 0a 2b 45 58 54 45 +/* 572 */.+EXTE
31f0: 52 4e 20 43 4f 4e 53 54 20 63 68 61 72 20 2a 09 RN CONST char *.
3200: 54 63 6c 5f 47 65 74 45 6e 63 6f 64 69 6e 67 4e Tcl_GetEncodingN
3210: 61 6d 65 46 72 6f 6d 45 6e 76 69 72 6f 6e 6d 65 ameFromEnvironme
3220: 6e 74 20 5f 41 4e 53 49 5f 41 52 47 53 5f 28 28 nt _ANSI_ARGS_((
3230: 0a 2b 09 09 09 09 54 63 6c 5f 44 53 74 72 69 6e .+....Tcl_DStrin
3240: 67 2a 20 62 75 66 50 74 72 29 29 3b 0a 2b 23 65 g* bufPtr));.+#e
3250: 6e 64 69 66 0a 20 0a 20 74 79 70 65 64 65 66 20 ndif. . typedef
3260: 73 74 72 75 63 74 20 54 63 6c 53 74 75 62 48 6f struct TclStubHo
3270: 6f 6b 73 20 7b 0a 20 20 20 20 20 73 74 72 75 63 oks {. struc
3280: 74 20 54 63 6c 50 6c 61 74 53 74 75 62 73 20 2a t TclPlatStubs *
3290: 74 63 6c 50 6c 61 74 53 74 75 62 73 3b 0a 40 40 tclPlatStubs;.@@
32a0: 20 2d 34 31 35 37 2c 36 20 2b 34 31 38 31 2c 31 -4157,6 +4181,1
32b0: 30 20 40 40 0a 20 20 20 20 20 69 6e 74 20 28 2a 0 @@. int (*
32c0: 74 63 6c 5f 49 6e 69 74 42 69 67 6e 75 6d 46 72 tcl_InitBignumFr
32d0: 6f 6d 44 6f 75 62 6c 65 29 20 5f 41 4e 53 49 5f omDouble) _ANSI_
32e0: 41 52 47 53 5f 28 28 54 63 6c 5f 49 6e 74 65 72 ARGS_((Tcl_Inter
32f0: 70 2a 20 69 6e 74 65 72 70 2c 20 64 6f 75 62 6c p* interp, doubl
3300: 65 20 69 6e 69 74 76 61 6c 2c 20 6d 70 5f 69 6e e initval, mp_in
3310: 74 20 2a 20 74 6f 49 6e 69 74 29 29 3b 20 2f 2a t * toInit)); /*
3320: 20 35 36 36 20 2a 2f 0a 20 20 20 20 20 54 63 6c 566 */. Tcl
3330: 5f 4f 62 6a 20 2a 20 28 2a 74 63 6c 5f 47 65 74 _Obj * (*tcl_Get
3340: 4e 61 6d 65 73 70 61 63 65 55 6e 6b 6e 6f 77 6e NamespaceUnknown
3350: 48 61 6e 64 6c 65 72 29 20 5f 41 4e 53 49 5f 41 Handler) _ANSI_A
3360: 52 47 53 5f 28 28 54 63 6c 5f 49 6e 74 65 72 70 RGS_((Tcl_Interp
3370: 20 2a 20 69 6e 74 65 72 70 2c 20 54 63 6c 5f 4e * interp, Tcl_N
3380: 61 6d 65 73 70 61 63 65 20 2a 20 6e 73 50 74 72 amespace * nsPtr
3390: 29 29 3b 20 2f 2a 20 35 36 37 20 2a 2f 0a 20 20 )); /* 567 */.
33a0: 20 20 20 69 6e 74 20 28 2a 74 63 6c 5f 53 65 74 int (*tcl_Set
33b0: 4e 61 6d 65 73 70 61 63 65 55 6e 6b 6e 6f 77 6e NamespaceUnknown
33c0: 48 61 6e 64 6c 65 72 29 20 5f 41 4e 53 49 5f 41 Handler) _ANSI_A
33d0: 52 47 53 5f 28 28 54 63 6c 5f 49 6e 74 65 72 70 RGS_((Tcl_Interp
33e0: 20 2a 20 69 6e 74 65 72 70 2c 20 54 63 6c 5f 4e * interp, Tcl_N
33f0: 61 6d 65 73 70 61 63 65 20 2a 20 6e 73 50 74 72 amespace * nsPtr
3400: 2c 20 54 63 6c 5f 4f 62 6a 20 2a 20 68 61 6e 64 , Tcl_Obj * hand
3410: 6c 65 72 50 74 72 29 29 3b 20 2f 2a 20 35 36 38 lerPtr)); /* 568
3420: 20 2a 2f 0a 2b 20 20 20 20 69 6e 74 20 28 2a 74 */.+ int (*t
3430: 63 6c 5f 47 65 74 45 6e 63 6f 64 69 6e 67 46 72 cl_GetEncodingFr
3440: 6f 6d 4f 62 6a 29 20 5f 41 4e 53 49 5f 41 52 47 omObj) _ANSI_ARG
3450: 53 5f 28 28 54 63 6c 5f 49 6e 74 65 72 70 2a 20 S_((Tcl_Interp*
3460: 69 6e 74 65 72 70 2c 20 54 63 6c 5f 4f 62 6a 2a interp, Tcl_Obj*
3470: 20 6f 62 6a 50 74 72 2c 20 54 63 6c 5f 45 6e 63 objPtr, Tcl_Enc
3480: 6f 64 69 6e 67 2a 20 65 6e 63 6f 64 69 6e 67 50 oding* encodingP
3490: 74 72 29 29 3b 20 2f 2a 20 35 36 39 20 2a 2f 0a tr)); /* 569 */.
34a0: 2b 20 20 20 20 54 63 6c 5f 4f 62 6a 2a 20 28 2a + Tcl_Obj* (*
34b0: 74 63 6c 5f 47 65 74 45 6e 63 6f 64 69 6e 67 53 tcl_GetEncodingS
34c0: 65 61 72 63 68 50 61 74 68 29 20 5f 41 4e 53 49 earchPath) _ANSI
34d0: 5f 41 52 47 53 5f 28 28 76 6f 69 64 29 29 3b 20 _ARGS_((void));
34e0: 2f 2a 20 35 37 30 20 2a 2f 0a 2b 20 20 20 20 69 /* 570 */.+ i
34f0: 6e 74 20 28 2a 74 63 6c 5f 53 65 74 45 6e 63 6f nt (*tcl_SetEnco
3500: 64 69 6e 67 53 65 61 72 63 68 50 61 74 68 29 20 dingSearchPath)
3510: 5f 41 4e 53 49 5f 41 52 47 53 5f 28 28 54 63 6c _ANSI_ARGS_((Tcl
3520: 5f 4f 62 6a 2a 20 73 65 61 72 63 68 50 61 74 68 _Obj* searchPath
3530: 29 29 3b 20 2f 2a 20 35 37 31 20 2a 2f 0a 2b 20 )); /* 571 */.+
3540: 20 20 20 43 4f 4e 53 54 20 63 68 61 72 20 2a 20 CONST char *
3550: 28 2a 74 63 6c 5f 47 65 74 45 6e 63 6f 64 69 6e (*tcl_GetEncodin
3560: 67 4e 61 6d 65 46 72 6f 6d 45 6e 76 69 72 6f 6e gNameFromEnviron
3570: 6d 65 6e 74 29 20 5f 41 4e 53 49 5f 41 52 47 53 ment) _ANSI_ARGS
3580: 5f 28 28 54 63 6c 5f 44 53 74 72 69 6e 67 2a 20 _((Tcl_DString*
3590: 62 75 66 50 74 72 29 29 3b 20 2f 2a 20 35 37 32 bufPtr)); /* 572
35a0: 20 2a 2f 0a 20 7d 20 54 63 6c 53 74 75 62 73 3b */. } TclStubs;
35b0: 0a 20 0a 20 23 69 66 64 65 66 20 5f 5f 63 70 6c . . #ifdef __cpl
35c0: 75 73 70 6c 75 73 0a 40 40 20 2d 36 34 37 33 2c usplus.@@ -6473,
35d0: 36 20 2b 36 35 30 31 2c 32 32 20 40 40 0a 20 23 6 +6501,22 @@. #
35e0: 64 65 66 69 6e 65 20 54 63 6c 5f 53 65 74 4e 61 define Tcl_SetNa
35f0: 6d 65 73 70 61 63 65 55 6e 6b 6e 6f 77 6e 48 61 mespaceUnknownHa
3600: 6e 64 6c 65 72 20 5c 0a 20 09 28 74 63 6c 53 74 ndler \. .(tclSt
3610: 75 62 73 50 74 72 2d 3e 74 63 6c 5f 53 65 74 4e ubsPtr->tcl_SetN
3620: 61 6d 65 73 70 61 63 65 55 6e 6b 6e 6f 77 6e 48 amespaceUnknownH
3630: 61 6e 64 6c 65 72 29 20 2f 2a 20 35 36 38 20 2a andler) /* 568 *
3640: 2f 0a 20 23 65 6e 64 69 66 0a 2b 23 69 66 6e 64 /. #endif.+#ifnd
3650: 65 66 20 54 63 6c 5f 47 65 74 45 6e 63 6f 64 69 ef Tcl_GetEncodi
3660: 6e 67 46 72 6f 6d 4f 62 6a 0a 2b 23 64 65 66 69 ngFromObj.+#defi
3670: 6e 65 20 54 63 6c 5f 47 65 74 45 6e 63 6f 64 69 ne Tcl_GetEncodi
3680: 6e 67 46 72 6f 6d 4f 62 6a 20 5c 0a 2b 09 28 74 ngFromObj \.+.(t
3690: 63 6c 53 74 75 62 73 50 74 72 2d 3e 74 63 6c 5f clStubsPtr->tcl_
36a0: 47 65 74 45 6e 63 6f 64 69 6e 67 46 72 6f 6d 4f GetEncodingFromO
36b0: 62 6a 29 20 2f 2a 20 35 36 39 20 2a 2f 0a 2b 23 bj) /* 569 */.+#
36c0: 65 6e 64 69 66 0a 2b 23 69 66 6e 64 65 66 20 54 endif.+#ifndef T
36d0: 63 6c 5f 47 65 74 45 6e 63 6f 64 69 6e 67 53 65 cl_GetEncodingSe
36e0: 61 72 63 68 50 61 74 68 0a 2b 23 64 65 66 69 6e archPath.+#defin
36f0: 65 20 54 63 6c 5f 47 65 74 45 6e 63 6f 64 69 6e e Tcl_GetEncodin
3700: 67 53 65 61 72 63 68 50 61 74 68 20 5c 0a 2b 09 gSearchPath \.+.
3710: 28 74 63 6c 53 74 75 62 73 50 74 72 2d 3e 74 63 (tclStubsPtr->tc
3720: 6c 5f 47 65 74 45 6e 63 6f 64 69 6e 67 53 65 61 l_GetEncodingSea
3730: 72 63 68 50 61 74 68 29 20 2f 2a 20 35 37 30 20 rchPath) /* 570
3740: 2a 2f 0a 2b 23 65 6e 64 69 66 0a 2b 23 69 66 6e */.+#endif.+#ifn
3750: 64 65 66 20 54 63 6c 5f 53 65 74 45 6e 63 6f 64 def Tcl_SetEncod
3760: 69 6e 67 53 65 61 72 63 68 50 61 74 68 0a 2b 23 ingSearchPath.+#
3770: 64 65 66 69 6e 65 20 54 63 6c 5f 53 65 74 45 6e define Tcl_SetEn
3780: 63 6f 64 69 6e 67 53 65 61 72 63 68 50 61 74 68 codingSearchPath
3790: 20 5c 0a 2b 09 28 74 63 6c 53 74 75 62 73 50 74 \.+.(tclStubsPt
37a0: 72 2d 3e 74 63 6c 5f 53 65 74 45 6e 63 6f 64 69 r->tcl_SetEncodi
37b0: 6e 67 53 65 61 72 63 68 50 61 74 68 29 20 2f 2a ngSearchPath) /*
37c0: 20 35 37 31 20 2a 2f 0a 2b 23 65 6e 64 69 66 0a 571 */.+#endif.
37d0: 2b 23 69 66 6e 64 65 66 20 54 63 6c 5f 47 65 74 +#ifndef Tcl_Get
37e0: 45 6e 63 6f 64 69 6e 67 4e 61 6d 65 46 72 6f 6d EncodingNameFrom
37f0: 45 6e 76 69 72 6f 6e 6d 65 6e 74 0a 2b 23 64 65 Environment.+#de
3800: 66 69 6e 65 20 54 63 6c 5f 47 65 74 45 6e 63 6f fine Tcl_GetEnco
3810: 64 69 6e 67 4e 61 6d 65 46 72 6f 6d 45 6e 76 69 dingNameFromEnvi
3820: 72 6f 6e 6d 65 6e 74 20 5c 0a 2b 09 28 74 63 6c ronment \.+.(tcl
3830: 53 74 75 62 73 50 74 72 2d 3e 74 63 6c 5f 47 65 StubsPtr->tcl_Ge
3840: 74 45 6e 63 6f 64 69 6e 67 4e 61 6d 65 46 72 6f tEncodingNameFro
3850: 6d 45 6e 76 69 72 6f 6e 6d 65 6e 74 29 20 2f 2a mEnvironment) /*
3860: 20 35 37 32 20 2a 2f 0a 2b 23 65 6e 64 69 66 0a 572 */.+#endif.
3870: 20 0a 20 23 65 6e 64 69 66 20 2f 2a 20 64 65 66 . #endif /* def
3880: 69 6e 65 64 28 55 53 45 5f 54 43 4c 5f 53 54 55 ined(USE_TCL_STU
3890: 42 53 29 20 26 26 20 21 64 65 66 69 6e 65 64 28 BS) && !defined(
38a0: 55 53 45 5f 54 43 4c 5f 53 54 55 42 5f 50 52 4f USE_TCL_STUB_PRO
38b0: 43 53 29 20 2a 2f 0a 20 0a 49 6e 64 65 78 3a 20 CS) */. .Index:
38c0: 67 65 6e 65 72 69 63 2f 74 63 6c 45 6e 63 6f 64 generic/tclEncod
38d0: 69 6e 67 2e 63 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ing.c.==========
38e0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
38f0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
3900: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
3910: 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 52 43 53 20 66 69 =========.RCS fi
3920: 6c 65 3a 20 2f 63 76 73 72 6f 6f 74 2f 74 63 6c le: /cvsroot/tcl
3930: 2f 74 63 6c 2f 67 65 6e 65 72 69 63 2f 74 63 6c /tcl/generic/tcl
3940: 45 6e 63 6f 64 69 6e 67 2e 63 2c 76 0a 72 65 74 Encoding.c,v.ret
3950: 72 69 65 76 69 6e 67 20 72 65 76 69 73 69 6f 6e rieving revision
3960: 20 31 2e 33 38 0a 64 69 66 66 20 2d 75 20 2d 72 1.38.diff -u -r
3970: 31 2e 33 38 20 74 63 6c 45 6e 63 6f 64 69 6e 67 1.38 tclEncoding
3980: 2e 63 0a 2d 2d 2d 20 67 65 6e 65 72 69 63 2f 74 .c.--- generic/t
3990: 63 6c 45 6e 63 6f 64 69 6e 67 2e 63 09 31 38 20 clEncoding.c.18
39a0: 4f 63 74 20 32 30 30 35 20 31 35 3a 30 31 3a 35 Oct 2005 15:01:5
39b0: 36 20 2d 30 30 30 30 09 31 2e 33 38 0a 2b 2b 2b 6 -0000.1.38.+++
39c0: 20 67 65 6e 65 72 69 63 2f 74 63 6c 45 6e 63 6f generic/tclEnco
39d0: 64 69 6e 67 2e 63 09 38 20 46 65 62 20 32 30 30 ding.c.8 Feb 200
39e0: 36 20 32 31 3a 32 35 3a 33 38 20 2d 30 30 30 30 6 21:25:38 -0000
39f0: 0a 40 40 20 2d 32 37 34 2c 37 20 2b 32 37 34 2c .@@ -274,7 +274,
3a00: 37 20 40 40 0a 20 2f 2a 0a 20 20 2a 2d 2d 2d 2d 7 @@. /*. *----
3a10: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
3a20: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
3a30: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
3a40: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
3a50: 2d 2d 0a 20 20 2a 0a 2d 20 2a 20 54 63 6c 47 65 --. *.- * TclGe
3a60: 74 45 6e 63 6f 64 69 6e 67 46 72 6f 6d 4f 62 6a tEncodingFromObj
3a70: 20 2d 2d 0a 2b 20 2a 20 54 63 6c 5f 47 65 74 45 --.+ * Tcl_GetE
3a80: 6e 63 6f 64 69 6e 67 46 72 6f 6d 4f 62 6a 20 2d ncodingFromObj -
3a90: 2d 0a 20 20 2a 0a 20 20 2a 09 57 72 69 74 65 73 -. *. *.Writes
3aa0: 20 74 6f 20 28 2a 65 6e 63 6f 64 69 6e 67 50 74 to (*encodingPt
3ab0: 72 29 20 74 68 65 20 54 63 6c 5f 45 6e 63 6f 64 r) the Tcl_Encod
3ac0: 69 6e 67 20 76 61 6c 75 65 20 6f 66 20 28 2a 6f ing value of (*o
3ad0: 62 6a 50 74 72 29 2c 20 69 66 0a 20 20 2a 09 70 bjPtr), if. *.p
3ae0: 6f 73 73 69 62 6c 65 2c 20 61 6e 64 20 72 65 74 ossible, and ret
3af0: 75 72 6e 73 20 54 43 4c 5f 4f 4b 2e 20 49 66 20 urns TCL_OK. If
3b00: 6e 6f 20 73 75 63 68 20 65 6e 63 6f 64 69 6e 67 no such encoding
3b10: 20 65 78 69 73 74 73 2c 20 54 43 4c 5f 45 52 52 exists, TCL_ERR
3b20: 4f 52 20 69 73 0a 40 40 20 2d 32 39 31 2c 37 20 OR is.@@ -291,7
3b30: 2b 32 39 31 2c 37 20 40 40 0a 20 20 2a 2f 0a 20 +291,7 @@. */.
3b40: 0a 20 69 6e 74 0a 2d 54 63 6c 47 65 74 45 6e 63 . int.-TclGetEnc
3b50: 6f 64 69 6e 67 46 72 6f 6d 4f 62 6a 28 0a 2b 54 odingFromObj(.+T
3b60: 63 6c 5f 47 65 74 45 6e 63 6f 64 69 6e 67 46 72 cl_GetEncodingFr
3b70: 6f 6d 4f 62 6a 28 0a 20 20 20 20 20 54 63 6c 5f omObj(. Tcl_
3b80: 49 6e 74 65 72 70 20 2a 69 6e 74 65 72 70 2c 0a Interp *interp,.
3b90: 20 20 20 20 20 54 63 6c 5f 4f 62 6a 20 2a 6f 62 Tcl_Obj *ob
3ba0: 6a 50 74 72 2c 0a 20 20 20 20 20 54 63 6c 5f 45 jPtr,. Tcl_E
3bb0: 6e 63 6f 64 69 6e 67 20 2a 65 6e 63 6f 64 69 6e ncoding *encodin
3bc0: 67 50 74 72 29 0a 40 40 20 2d 33 35 30 2c 37 20 gPtr).@@ -350,7
3bd0: 2b 33 35 30 2c 37 20 40 40 0a 20 2f 2a 0a 20 20 +350,7 @@. /*.
3be0: 2a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d *---------------
3bf0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
3c00: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
3c10: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
3c20: 2d 2d 2d 2d 2d 2d 2d 0a 20 20 2a 0a 2d 20 2a 20 -------. *.- *
3c30: 54 63 6c 47 65 74 45 6e 63 6f 64 69 6e 67 53 65 TclGetEncodingSe
3c40: 61 72 63 68 50 61 74 68 20 2d 2d 0a 2b 20 2a 20 archPath --.+ *
3c50: 54 63 6c 5f 47 65 74 45 6e 63 6f 64 69 6e 67 53 Tcl_GetEncodingS
3c60: 65 61 72 63 68 50 61 74 68 20 2d 2d 0a 20 20 2a earchPath --. *
3c70: 0a 20 20 2a 09 4b 65 65 70 73 20 74 68 65 20 70 . *.Keeps the p
3c80: 65 72 2d 74 68 72 65 61 64 20 63 6f 70 79 20 6f er-thread copy o
3c90: 66 20 74 68 65 20 65 6e 63 6f 64 69 6e 67 20 73 f the encoding s
3ca0: 65 61 72 63 68 20 70 61 74 68 20 63 75 72 72 65 earch path curre
3cb0: 6e 74 20 77 69 74 68 0a 20 20 2a 09 63 68 61 6e nt with. *.chan
3cc0: 67 65 73 20 74 6f 20 74 68 65 20 67 6c 6f 62 61 ges to the globa
3cd0: 6c 20 63 6f 70 79 2e 0a 40 40 20 2d 33 36 32 2c l copy..@@ -362,
3ce0: 37 20 2b 33 36 32 2c 37 20 40 40 0a 20 20 2a 2f 7 +362,7 @@. */
3cf0: 0a 20 0a 20 54 63 6c 5f 4f 62 6a 20 2a 0a 2d 54 . . Tcl_Obj *.-T
3d00: 63 6c 47 65 74 45 6e 63 6f 64 69 6e 67 53 65 61 clGetEncodingSea
3d10: 72 63 68 50 61 74 68 28 76 6f 69 64 29 0a 2b 54 rchPath(void).+T
3d20: 63 6c 5f 47 65 74 45 6e 63 6f 64 69 6e 67 53 65 cl_GetEncodingSe
3d30: 61 72 63 68 50 61 74 68 28 76 6f 69 64 29 0a 20 archPath(void).
3d40: 7b 0a 20 20 20 20 20 72 65 74 75 72 6e 20 54 63 {. return Tc
3d50: 6c 47 65 74 50 72 6f 63 65 73 73 47 6c 6f 62 61 lGetProcessGloba
3d60: 6c 56 61 6c 75 65 28 26 65 6e 63 6f 64 69 6e 67 lValue(&encoding
3d70: 53 65 61 72 63 68 50 61 74 68 29 3b 0a 20 7d 0a SearchPath);. }.
3d80: 40 40 20 2d 33 37 30 2c 37 20 2b 33 37 30 2c 37 @@ -370,7 +370,7
3d90: 20 40 40 0a 20 2f 2a 0a 20 20 2a 2d 2d 2d 2d 2d @@. /*. *-----
3da0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
3db0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
3dc0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
3dd0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
3de0: 2d 0a 20 20 2a 0a 2d 20 2a 20 54 63 6c 53 65 74 -. *.- * TclSet
3df0: 45 6e 63 6f 64 69 6e 67 53 65 61 72 63 68 50 61 EncodingSearchPa
3e00: 74 68 20 2d 2d 0a 2b 20 2a 20 54 63 6c 5f 53 65 th --.+ * Tcl_Se
3e10: 74 45 6e 63 6f 64 69 6e 67 53 65 61 72 63 68 50 tEncodingSearchP
3e20: 61 74 68 20 2d 2d 0a 20 20 2a 0a 20 20 2a 09 4b ath --. *. *.K
3e30: 65 65 70 73 20 74 68 65 20 70 65 72 2d 74 68 72 eeps the per-thr
3e40: 65 61 64 20 63 6f 70 79 20 6f 66 20 74 68 65 20 ead copy of the
3e50: 65 6e 63 6f 64 69 6e 67 20 73 65 61 72 63 68 20 encoding search
3e60: 70 61 74 68 20 63 75 72 72 65 6e 74 20 77 69 74 path current wit
3e70: 68 0a 20 20 2a 09 63 68 61 6e 67 65 73 20 74 6f h. *.changes to
3e80: 20 74 68 65 20 67 6c 6f 62 61 6c 20 63 6f 70 79 the global copy
3e90: 2e 0a 40 40 20 2d 33 37 39 2c 37 20 2b 33 37 39 ..@@ -379,7 +379
3ea0: 2c 37 20 40 40 0a 20 20 2a 2f 0a 20 0a 20 69 6e ,7 @@. */. . in
3eb0: 74 0a 2d 54 63 6c 53 65 74 45 6e 63 6f 64 69 6e t.-TclSetEncodin
3ec0: 67 53 65 61 72 63 68 50 61 74 68 28 0a 2b 54 63 gSearchPath(.+Tc
3ed0: 6c 5f 53 65 74 45 6e 63 6f 64 69 6e 67 53 65 61 l_SetEncodingSea
3ee0: 72 63 68 50 61 74 68 28 0a 20 20 20 20 20 54 63 rchPath(. Tc
3ef0: 6c 5f 4f 62 6a 20 2a 73 65 61 72 63 68 50 61 74 l_Obj *searchPat
3f00: 68 29 0a 20 7b 0a 20 20 20 20 20 69 6e 74 20 64 h). {. int d
3f10: 75 6d 6d 79 3b 0a 40 40 20 2d 34 37 30 2c 37 20 ummy;.@@ -470,7
3f20: 2b 34 37 30 2c 37 20 40 40 0a 20 20 20 20 20 69 +470,7 @@. i
3f30: 6e 74 20 69 2c 20 6e 75 6d 44 69 72 73 20 3d 20 nt i, numDirs =
3f40: 30 3b 0a 20 20 20 20 20 54 63 6c 5f 4f 62 6a 20 0;. Tcl_Obj
3f50: 2a 6d 61 70 2c 20 2a 73 65 61 72 63 68 50 61 74 *map, *searchPat
3f60: 68 3b 0a 20 0a 2d 20 20 20 20 73 65 61 72 63 68 h;. .- search
3f70: 50 61 74 68 20 3d 20 54 63 6c 47 65 74 45 6e 63 Path = TclGetEnc
3f80: 6f 64 69 6e 67 53 65 61 72 63 68 50 61 74 68 28 odingSearchPath(
3f90: 29 3b 0a 2b 20 20 20 20 73 65 61 72 63 68 50 61 );.+ searchPa
3fa0: 74 68 20 3d 20 54 63 6c 5f 47 65 74 45 6e 63 6f th = Tcl_GetEnco
3fb0: 64 69 6e 67 53 65 61 72 63 68 50 61 74 68 28 29 dingSearchPath()
3fc0: 3b 0a 20 20 20 20 20 54 63 6c 5f 49 6e 63 72 52 ;. Tcl_IncrR
3fd0: 65 66 43 6f 75 6e 74 28 73 65 61 72 63 68 50 61 efCount(searchPa
3fe0: 74 68 29 3b 0a 20 20 20 20 20 54 63 6c 5f 4c 69 th);. Tcl_Li
3ff0: 73 74 4f 62 6a 4c 65 6e 67 74 68 28 4e 55 4c 4c stObjLength(NULL
4000: 2c 20 73 65 61 72 63 68 50 61 74 68 2c 20 26 6e , searchPath, &n
4010: 75 6d 44 69 72 73 29 3b 0a 20 20 20 20 20 6d 61 umDirs);. ma
4020: 70 20 3d 20 54 63 6c 5f 4e 65 77 44 69 63 74 4f p = Tcl_NewDictO
4030: 62 6a 28 29 3b 0a 40 40 20 2d 36 34 33 2c 37 20 bj();.@@ -643,7
4040: 2b 36 34 33 2c 37 20 40 40 0a 20 54 63 6c 5f 47 +643,7 @@. Tcl_G
4050: 65 74 44 65 66 61 75 6c 74 45 6e 63 6f 64 69 6e etDefaultEncodin
4060: 67 44 69 72 28 76 6f 69 64 29 0a 20 7b 0a 20 20 gDir(void). {.
4070: 20 20 20 69 6e 74 20 6e 75 6d 44 69 72 73 3b 0a int numDirs;.
4080: 2d 20 20 20 20 54 63 6c 5f 4f 62 6a 20 2a 66 69 - Tcl_Obj *fi
4090: 72 73 74 2c 20 2a 73 65 61 72 63 68 50 61 74 68 rst, *searchPath
40a0: 20 3d 20 54 63 6c 47 65 74 45 6e 63 6f 64 69 6e = TclGetEncodin
40b0: 67 53 65 61 72 63 68 50 61 74 68 28 29 3b 0a 2b gSearchPath();.+
40c0: 20 20 20 20 54 63 6c 5f 4f 62 6a 20 2a 66 69 72 Tcl_Obj *fir
40d0: 73 74 2c 20 2a 73 65 61 72 63 68 50 61 74 68 20 st, *searchPath
40e0: 3d 20 54 63 6c 5f 47 65 74 45 6e 63 6f 64 69 6e = Tcl_GetEncodin
40f0: 67 53 65 61 72 63 68 50 61 74 68 28 29 3b 0a 20 gSearchPath();.
4100: 0a 20 20 20 20 20 54 63 6c 5f 4c 69 73 74 4f 62 . Tcl_ListOb
4110: 6a 4c 65 6e 67 74 68 28 4e 55 4c 4c 2c 20 73 65 jLength(NULL, se
4120: 61 72 63 68 50 61 74 68 2c 20 26 6e 75 6d 44 69 archPath, &numDi
4130: 72 73 29 3b 0a 20 20 20 20 20 69 66 20 28 6e 75 rs);. if (nu
4140: 6d 44 69 72 73 20 3d 3d 20 30 29 20 7b 0a 40 40 mDirs == 0) {.@@
4150: 20 2d 36 37 35 2c 31 32 20 2b 36 37 35 2c 31 32 -675,12 +675,12
4160: 20 40 40 0a 20 54 63 6c 5f 53 65 74 44 65 66 61 @@. Tcl_SetDefa
4170: 75 6c 74 45 6e 63 6f 64 69 6e 67 44 69 72 28 0a ultEncodingDir(.
4180: 20 20 20 20 20 43 4f 4e 53 54 20 63 68 61 72 20 CONST char
4190: 2a 70 61 74 68 29 0a 20 7b 0a 2d 20 20 20 20 54 *path). {.- T
41a0: 63 6c 5f 4f 62 6a 20 2a 73 65 61 72 63 68 50 61 cl_Obj *searchPa
41b0: 74 68 20 3d 20 54 63 6c 47 65 74 45 6e 63 6f 64 th = TclGetEncod
41c0: 69 6e 67 53 65 61 72 63 68 50 61 74 68 28 29 3b ingSearchPath();
41d0: 0a 2b 20 20 20 20 54 63 6c 5f 4f 62 6a 20 2a 73 .+ Tcl_Obj *s
41e0: 65 61 72 63 68 50 61 74 68 20 3d 20 54 63 6c 5f earchPath = Tcl_
41f0: 47 65 74 45 6e 63 6f 64 69 6e 67 53 65 61 72 63 GetEncodingSearc
4200: 68 50 61 74 68 28 29 3b 0a 20 20 20 20 20 54 63 hPath();. Tc
4210: 6c 5f 4f 62 6a 20 2a 64 69 72 65 63 74 6f 72 79 l_Obj *directory
4220: 20 3d 20 54 63 6c 5f 4e 65 77 53 74 72 69 6e 67 = Tcl_NewString
4230: 4f 62 6a 28 70 61 74 68 2c 20 2d 31 29 3b 0a 20 Obj(path, -1);.
4240: 0a 20 20 20 20 20 73 65 61 72 63 68 50 61 74 68 . searchPath
4250: 20 3d 20 54 63 6c 5f 44 75 70 6c 69 63 61 74 65 = Tcl_Duplicate
4260: 4f 62 6a 28 73 65 61 72 63 68 50 61 74 68 29 3b Obj(searchPath);
4270: 0a 20 20 20 20 20 54 63 6c 5f 4c 69 73 74 4f 62 . Tcl_ListOb
4280: 6a 52 65 70 6c 61 63 65 28 4e 55 4c 4c 2c 20 73 jReplace(NULL, s
4290: 65 61 72 63 68 50 61 74 68 2c 20 30 2c 20 30 2c earchPath, 0, 0,
42a0: 20 31 2c 20 26 64 69 72 65 63 74 6f 72 79 29 3b 1, &directory);
42b0: 0a 2d 20 20 20 20 54 63 6c 53 65 74 45 6e 63 6f .- TclSetEnco
42c0: 64 69 6e 67 53 65 61 72 63 68 50 61 74 68 28 73 dingSearchPath(s
42d0: 65 61 72 63 68 50 61 74 68 29 3b 0a 2b 20 20 20 earchPath);.+
42e0: 20 54 63 6c 5f 53 65 74 45 6e 63 6f 64 69 6e 67 Tcl_SetEncoding
42f0: 53 65 61 72 63 68 50 61 74 68 28 73 65 61 72 63 SearchPath(searc
4300: 68 50 61 74 68 29 3b 0a 20 7d 0a 20 0c 0a 20 2f hPath);. }. .. /
4310: 2a 0a 40 40 20 2d 31 34 31 32 2c 37 20 2b 31 34 *.@@ -1412,7 +14
4320: 31 32 2c 37 20 40 40 0a 20 7b 0a 20 20 20 20 20 12,7 @@. {.
4330: 54 63 6c 5f 4f 62 6a 20 2a 6e 61 6d 65 4f 62 6a Tcl_Obj *nameObj
4340: 20 3d 20 54 63 6c 5f 4e 65 77 53 74 72 69 6e 67 = Tcl_NewString
4350: 4f 62 6a 28 6e 61 6d 65 2c 20 2d 31 29 3b 0a 20 Obj(name, -1);.
4360: 20 20 20 20 54 63 6c 5f 4f 62 6a 20 2a 66 69 6c Tcl_Obj *fil
4370: 65 4e 61 6d 65 4f 62 6a 20 3d 20 54 63 6c 5f 44 eNameObj = Tcl_D
4380: 75 70 6c 69 63 61 74 65 4f 62 6a 28 6e 61 6d 65 uplicateObj(name
4390: 4f 62 6a 29 3b 0a 2d 20 20 20 20 54 63 6c 5f 4f Obj);.- Tcl_O
43a0: 62 6a 20 2a 73 65 61 72 63 68 50 61 74 68 20 3d bj *searchPath =
43b0: 20 54 63 6c 5f 44 75 70 6c 69 63 61 74 65 4f 62 Tcl_DuplicateOb
43c0: 6a 28 54 63 6c 47 65 74 45 6e 63 6f 64 69 6e 67 j(TclGetEncoding
43d0: 53 65 61 72 63 68 50 61 74 68 28 29 29 3b 0a 2b SearchPath());.+
43e0: 20 20 20 20 54 63 6c 5f 4f 62 6a 20 2a 73 65 61 Tcl_Obj *sea
43f0: 72 63 68 50 61 74 68 20 3d 20 54 63 6c 5f 44 75 rchPath = Tcl_Du
4400: 70 6c 69 63 61 74 65 4f 62 6a 28 54 63 6c 5f 47 plicateObj(Tcl_G
4410: 65 74 45 6e 63 6f 64 69 6e 67 53 65 61 72 63 68 etEncodingSearch
4420: 50 61 74 68 28 29 29 3b 0a 20 20 20 20 20 54 63 Path());. Tc
4430: 6c 5f 4f 62 6a 20 2a 6d 61 70 20 3d 20 54 63 6c l_Obj *map = Tcl
4440: 47 65 74 50 72 6f 63 65 73 73 47 6c 6f 62 61 6c GetProcessGlobal
4450: 56 61 6c 75 65 28 26 65 6e 63 6f 64 69 6e 67 46 Value(&encodingF
4460: 69 6c 65 4d 61 70 29 3b 0a 20 20 20 20 20 54 63 ileMap);. Tc
4470: 6c 5f 4f 62 6a 20 2a 2a 64 69 72 2c 20 2a 70 61 l_Obj **dir, *pa
4480: 74 68 2c 20 2a 64 69 72 65 63 74 6f 72 79 20 3d th, *directory =
4490: 20 4e 55 4c 4c 3b 0a 20 20 20 20 20 54 63 6c 5f NULL;. Tcl_
44a0: 43 68 61 6e 6e 65 6c 20 63 68 61 6e 20 3d 20 4e Channel chan = N
44b0: 55 4c 4c 3b 0a 40 40 20 2d 33 32 31 31 2c 37 20 ULL;.@@ -3211,7
44c0: 2b 33 32 31 31 2c 37 20 40 40 0a 20 20 2a 0a 20 +3211,7 @@. *.
44d0: 20 2a 09 54 68 69 73 20 69 73 20 74 68 65 20 66 *.This is the f
44e0: 61 6c 6c 62 61 63 6b 20 72 6f 75 74 69 6e 65 20 allback routine
44f0: 74 68 61 74 20 73 65 74 73 20 74 68 65 20 64 65 that sets the de
4500: 66 61 75 6c 74 20 76 61 6c 75 65 20 6f 66 20 74 fault value of t
4510: 68 65 0a 20 20 2a 09 65 6e 63 6f 64 69 6e 67 20 he. *.encoding
4520: 73 65 61 72 63 68 20 70 61 74 68 20 69 66 20 74 search path if t
4530: 68 65 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 68 he application h
4540: 61 73 20 6e 6f 74 20 73 65 74 20 6f 6e 65 20 76 as not set one v
4550: 69 61 20 61 20 63 61 6c 6c 20 74 6f 0a 2d 20 2a ia a call to.- *
4560: 09 54 63 6c 53 65 74 45 6e 63 6f 64 69 6e 67 53 .TclSetEncodingS
4570: 65 61 72 63 68 50 61 74 68 28 29 20 62 79 20 74 earchPath() by t
4580: 68 65 20 66 69 72 73 74 20 74 69 6d 65 20 74 68 he first time th
4590: 65 20 73 65 61 72 63 68 20 70 61 74 68 20 69 73 e search path is
45a0: 20 6e 65 65 64 65 64 0a 2b 20 2a 09 54 63 6c 5f needed.+ *.Tcl_
45b0: 53 65 74 45 6e 63 6f 64 69 6e 67 53 65 61 72 63 SetEncodingSearc
45c0: 68 50 61 74 68 28 29 20 62 79 20 74 68 65 20 66 hPath() by the f
45d0: 69 72 73 74 20 74 69 6d 65 20 74 68 65 20 73 65 irst time the se
45e0: 61 72 63 68 20 70 61 74 68 20 69 73 20 6e 65 65 arch path is nee
45f0: 64 65 64 0a 20 20 2a 09 74 6f 20 6c 6f 61 64 20 ded. *.to load
4600: 65 6e 63 6f 64 69 6e 67 20 64 61 74 61 2e 0a 20 encoding data..
4610: 20 2a 0a 20 20 2a 09 54 68 65 20 64 65 66 61 75 *. *.The defau
4620: 6c 74 20 65 6e 63 6f 64 69 6e 67 20 73 65 61 72 lt encoding sear
4630: 63 68 20 70 61 74 68 20 69 73 20 70 72 6f 64 75 ch path is produ
4640: 63 65 64 20 62 79 20 74 61 6b 69 6e 67 20 65 61 ced by taking ea
4650: 63 68 20 64 69 72 65 63 74 6f 72 79 0a 49 6e 64 ch directory.Ind
4660: 65 78 3a 20 67 65 6e 65 72 69 63 2f 74 63 6c 49 ex: generic/tclI
4670: 6e 74 2e 64 65 63 6c 73 0a 3d 3d 3d 3d 3d 3d 3d nt.decls.=======
4680: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
4690: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
46a0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
46b0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 52 43 53 ============.RCS
46c0: 20 66 69 6c 65 3a 20 2f 63 76 73 72 6f 6f 74 2f file: /cvsroot/
46d0: 74 63 6c 2f 74 63 6c 2f 67 65 6e 65 72 69 63 2f tcl/tcl/generic/
46e0: 74 63 6c 49 6e 74 2e 64 65 63 6c 73 2c 76 0a 72 tclInt.decls,v.r
46f0: 65 74 72 69 65 76 69 6e 67 20 72 65 76 69 73 69 etrieving revisi
4700: 6f 6e 20 31 2e 39 34 0a 64 69 66 66 20 2d 75 20 on 1.94.diff -u
4710: 2d 72 31 2e 39 34 20 74 63 6c 49 6e 74 2e 64 65 -r1.94 tclInt.de
4720: 63 6c 73 0a 2d 2d 2d 20 67 65 6e 65 72 69 63 2f cls.--- generic/
4730: 74 63 6c 49 6e 74 2e 64 65 63 6c 73 09 31 33 20 tclInt.decls.13
4740: 44 65 63 20 32 30 30 35 20 32 32 3a 34 33 3a 31 Dec 2005 22:43:1
4750: 37 20 2d 30 30 30 30 09 31 2e 39 34 0a 2b 2b 2b 7 -0000.1.94.+++
4760: 20 67 65 6e 65 72 69 63 2f 74 63 6c 49 6e 74 2e generic/tclInt.
4770: 64 65 63 6c 73 09 38 20 46 65 62 20 32 30 30 36 decls.8 Feb 2006
4780: 20 32 31 3a 32 35 3a 33 38 20 2d 30 30 30 30 0a 21:25:38 -0000.
4790: 40 40 20 2d 38 34 36 2c 31 35 20 2b 38 34 36 2c @@ -846,15 +846,
47a0: 31 36 20 40 40 0a 20 20 20 20 20 54 63 6c 5f 43 16 @@. Tcl_C
47b0: 68 61 6e 6e 65 6c 20 54 63 6c 70 4f 70 65 6e 46 hannel TclpOpenF
47c0: 69 6c 65 43 68 61 6e 6e 65 6c 20 28 54 63 6c 5f ileChannel (Tcl_
47d0: 49 6e 74 65 72 70 20 2a 69 6e 74 65 72 70 2c 0a Interp *interp,.
47e0: 20 09 20 20 20 20 54 63 6c 5f 4f 62 6a 20 2a 70 . Tcl_Obj *p
47f0: 61 74 68 50 74 72 2c 20 69 6e 74 20 6d 6f 64 65 athPtr, int mode
4800: 2c 20 69 6e 74 20 70 65 72 6d 69 73 73 69 6f 6e , int permission
4810: 73 29 0a 20 7d 0a 2d 64 65 63 6c 61 72 65 20 32 s). }.-declare 2
4820: 30 39 20 67 65 6e 65 72 69 63 20 7b 0a 2d 20 20 09 generic {.-
4830: 20 20 54 63 6c 5f 4f 62 6a 20 2a 20 54 63 6c 47 Tcl_Obj * TclG
4840: 65 74 45 6e 63 6f 64 69 6e 67 53 65 61 72 63 68 etEncodingSearch
4850: 50 61 74 68 28 76 6f 69 64 29 0a 2d 7d 0a 2d 64 Path(void).-}.-d
4860: 65 63 6c 61 72 65 20 32 31 30 20 67 65 6e 65 72 eclare 210 gener
4870: 69 63 20 7b 0a 2d 20 20 20 20 69 6e 74 20 54 63 ic {.- int Tc
4880: 6c 53 65 74 45 6e 63 6f 64 69 6e 67 53 65 61 72 lSetEncodingSear
4890: 63 68 50 61 74 68 28 54 63 6c 5f 4f 62 6a 20 2a chPath(Tcl_Obj *
48a0: 73 65 61 72 63 68 50 61 74 68 29 0a 2d 7d 0a 2d searchPath).-}.-
48b0: 64 65 63 6c 61 72 65 20 32 31 31 20 67 65 6e 65 declare 211 gene
48c0: 72 69 63 20 7b 0a 2d 20 20 20 20 43 4f 4e 53 54 ric {.- CONST
48d0: 20 63 68 61 72 20 2a 20 54 63 6c 70 47 65 74 45 char * TclpGetE
48e0: 6e 63 6f 64 69 6e 67 4e 61 6d 65 46 72 6f 6d 45 ncodingNameFromE
48f0: 6e 76 69 72 6f 6e 6d 65 6e 74 28 54 63 6c 5f 44 nvironment(Tcl_D
4900: 53 74 72 69 6e 67 20 2a 62 75 66 50 74 72 29 0a String *bufPtr).
4910: 2d 7d 0a 2b 23 20 4d 61 64 65 20 70 75 62 6c 69 -}.+# Made publi
4920: 63 20 62 79 20 54 49 50 20 32 35 38 0a 2b 23 64 c by TIP 258.+#d
4930: 65 63 6c 61 72 65 20 32 30 39 20 67 65 6e 65 72 eclare 209 gener
4940: 69 63 20 7b 0a 2b 23 20 20 20 20 54 63 6c 5f 4f ic {.+# Tcl_O
4950: 62 6a 20 2a 20 54 63 6c 47 65 74 45 6e 63 6f 64 bj * TclGetEncod
4960: 69 6e 67 53 65 61 72 63 68 50 61 74 68 28 76 6f ingSearchPath(vo
4970: 69 64 29 0a 2b 23 7d 0a 2b 23 64 65 63 6c 61 72 id).+#}.+#declar
4980: 65 20 32 31 30 20 67 65 6e 65 72 69 63 20 7b 0a e 210 generic {.
4990: 2b 23 20 20 20 20 69 6e 74 20 54 63 6c 53 65 74 +# int TclSet
49a0: 45 6e 63 6f 64 69 6e 67 53 65 61 72 63 68 50 61 EncodingSearchPa
49b0: 74 68 28 54 63 6c 5f 4f 62 6a 20 2a 73 65 61 72 th(Tcl_Obj *sear
49c0: 63 68 50 61 74 68 29 0a 2b 23 7d 0a 2b 23 64 65 chPath).+#}.+#de
49d0: 63 6c 61 72 65 20 32 31 31 20 67 65 6e 65 72 69 clare 211 generi
49e0: 63 20 7b 0a 2b 23 20 20 20 20 43 4f 4e 53 54 20 c {.+# CONST
49f0: 63 68 61 72 20 2a 20 54 63 6c 70 47 65 74 45 6e char * TclpGetEn
4a00: 63 6f 64 69 6e 67 4e 61 6d 65 46 72 6f 6d 45 6e codingNameFromEn
4a10: 76 69 72 6f 6e 6d 65 6e 74 28 54 63 6c 5f 44 53 vironment(Tcl_DS
4a20: 74 72 69 6e 67 20 2a 62 75 66 50 74 72 29 0a 2b tring *bufPtr).+
4a30: 23 7d 0a 20 64 65 63 6c 61 72 65 20 32 31 32 20 #}. declare 212
4a40: 67 65 6e 65 72 69 63 20 7b 0a 20 20 20 20 20 76 generic {. v
4a50: 6f 69 64 20 54 63 6c 70 46 69 6e 64 45 78 65 63 oid TclpFindExec
4a60: 75 74 61 62 6c 65 28 43 4f 4e 53 54 20 63 68 61 utable(CONST cha
4a70: 72 20 2a 61 72 67 76 30 29 0a 20 7d 0a 49 6e 64 r *argv0). }.Ind
4a80: 65 78 3a 20 67 65 6e 65 72 69 63 2f 74 63 6c 49 ex: generic/tclI
4a90: 6e 74 2e 68 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d nt.h.===========
4aa0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
4ab0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
4ac0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
4ad0: 3d 3d 3d 3d 3d 3d 3d 3d 0a 52 43 53 20 66 69 6c ========.RCS fil
4ae0: 65 3a 20 2f 63 76 73 72 6f 6f 74 2f 74 63 6c 2f e: /cvsroot/tcl/
4af0: 74 63 6c 2f 67 65 6e 65 72 69 63 2f 74 63 6c 49 tcl/generic/tclI
4b00: 6e 74 2e 68 2c 76 0a 72 65 74 72 69 65 76 69 6e nt.h,v.retrievin
4b10: 67 20 72 65 76 69 73 69 6f 6e 20 31 2e 32 36 37 g revision 1.267
4b20: 0a 64 69 66 66 20 2d 75 20 2d 72 31 2e 32 36 37 .diff -u -r1.267
4b30: 20 74 63 6c 49 6e 74 2e 68 0a 2d 2d 2d 20 67 65 tclInt.h.--- ge
4b40: 6e 65 72 69 63 2f 74 63 6c 49 6e 74 2e 68 09 31 neric/tclInt.h.1
4b50: 20 46 65 62 20 32 30 30 36 20 31 39 3a 32 36 3a Feb 2006 19:26:
4b60: 30 32 20 2d 30 30 30 30 09 31 2e 32 36 37 0a 2b 02 -0000.1.267.+
4b70: 2b 2b 20 67 65 6e 65 72 69 63 2f 74 63 6c 49 6e ++ generic/tclIn
4b80: 74 2e 68 09 38 20 46 65 62 20 32 30 30 36 20 32 t.h.8 Feb 2006 2
4b90: 31 3a 32 35 3a 33 39 20 2d 30 30 30 30 0a 40 40 1:25:39 -0000.@@
4ba0: 20 2d 32 30 36 36 2c 38 20 2b 32 30 36 36 2c 36 -2066,8 +2066,6
4bb0: 20 40 40 0a 20 4d 4f 44 55 4c 45 5f 53 43 4f 50 @@. MODULE_SCOP
4bc0: 45 20 69 6e 74 09 54 63 6c 46 53 46 69 6c 65 41 E int.TclFSFileA
4bd0: 74 74 72 49 6e 64 65 78 28 54 63 6c 5f 4f 62 6a ttrIndex(Tcl_Obj
4be0: 20 2a 70 61 74 68 50 74 72 2c 0a 20 09 09 09 20 *pathPtr,. ...
4bf0: 20 20 20 43 4f 4e 53 54 20 63 68 61 72 20 2a 61 CONST char *a
4c00: 74 74 72 69 62 75 74 65 4e 61 6d 65 2c 20 69 6e ttributeName, in
4c10: 74 20 2a 69 6e 64 65 78 50 74 72 29 3b 0a 20 4d t *indexPtr);. M
4c20: 4f 44 55 4c 45 5f 53 43 4f 50 45 20 54 63 6c 5f ODULE_SCOPE Tcl_
4c30: 4f 62 6a 20 2a 09 54 63 6c 47 65 74 42 67 45 72 Obj *.TclGetBgEr
4c40: 72 6f 72 48 61 6e 64 6c 65 72 28 54 63 6c 5f 49 rorHandler(Tcl_I
4c50: 6e 74 65 72 70 20 2a 69 6e 74 65 72 70 29 3b 0a nterp *interp);.
4c60: 2d 4d 4f 44 55 4c 45 5f 53 43 4f 50 45 20 69 6e -MODULE_SCOPE in
4c70: 74 09 54 63 6c 47 65 74 45 6e 63 6f 64 69 6e 67 t.TclGetEncoding
4c80: 46 72 6f 6d 4f 62 6a 28 54 63 6c 5f 49 6e 74 65 FromObj(Tcl_Inte
4c90: 72 70 20 2a 69 6e 74 65 72 70 2c 0a 2d 09 09 09 rp *interp,.-...
4ca0: 20 20 20 20 54 63 6c 5f 4f 62 6a 20 2a 6f 62 6a Tcl_Obj *obj
4cb0: 50 74 72 2c 20 54 63 6c 5f 45 6e 63 6f 64 69 6e Ptr, Tcl_Encodin
4cc0: 67 20 2a 65 6e 63 6f 64 69 6e 67 50 74 72 29 3b g *encodingPtr);
4cd0: 0a 20 4d 4f 44 55 4c 45 5f 53 43 4f 50 45 20 69 . MODULE_SCOPE i
4ce0: 6e 74 09 54 63 6c 47 65 74 4e 61 6d 65 73 70 61 nt.TclGetNamespa
4cf0: 63 65 46 72 6f 6d 4f 62 6a 28 54 63 6c 5f 49 6e ceFromObj(Tcl_In
4d00: 74 65 72 70 20 2a 69 6e 74 65 72 70 2c 0a 20 09 terp *interp,. .
4d10: 09 09 20 20 20 20 54 63 6c 5f 4f 62 6a 20 2a 6f .. Tcl_Obj *o
4d20: 62 6a 50 74 72 2c 20 54 63 6c 5f 4e 61 6d 65 73 bjPtr, Tcl_Names
4d30: 70 61 63 65 20 2a 2a 6e 73 50 74 72 50 74 72 29 pace **nsPtrPtr)
4d40: 3b 0a 20 4d 4f 44 55 4c 45 5f 53 43 4f 50 45 20 ;. MODULE_SCOPE
4d50: 69 6e 74 09 54 63 6c 47 65 74 4e 75 6d 62 65 72 int.TclGetNumber
4d60: 46 72 6f 6d 4f 62 6a 28 54 63 6c 5f 49 6e 74 65 FromObj(Tcl_Inte
4d70: 72 70 20 2a 69 6e 74 65 72 70 2c 0a 40 40 20 2d rp *interp,.@@ -
4d80: 32 32 39 35 2c 39 20 2b 32 32 39 33 2c 36 20 40 2295,9 +2293,6 @
4d90: 40 0a 20 4d 4f 44 55 4c 45 5f 53 43 4f 50 45 20 @. MODULE_SCOPE
4da0: 69 6e 74 09 54 63 6c 5f 45 6e 63 6f 64 69 6e 67 int.Tcl_Encoding
4db0: 4f 62 6a 43 6d 64 28 43 6c 69 65 6e 74 44 61 74 ObjCmd(ClientDat
4dc0: 61 20 63 6c 69 65 6e 74 44 61 74 61 2c 0a 20 09 a clientData,. .
4dd0: 09 09 20 20 20 20 54 63 6c 5f 49 6e 74 65 72 70 .. Tcl_Interp
4de0: 20 2a 69 6e 74 65 72 70 2c 20 69 6e 74 20 6f 62 *interp, int ob
4df0: 6a 63 2c 0a 20 09 09 09 20 20 20 20 54 63 6c 5f jc,. ... Tcl_
4e00: 4f 62 6a 20 2a 43 4f 4e 53 54 20 6f 62 6a 76 5b Obj *CONST objv[
4e10: 5d 29 3b 0a 2d 4d 4f 44 55 4c 45 5f 53 43 4f 50 ]);.-MODULE_SCOP
4e20: 45 20 69 6e 74 09 54 63 6c 45 6e 63 6f 64 69 6e E int.TclEncodin
4e30: 67 44 69 72 73 4f 62 6a 43 6d 64 28 0a 2d 09 09 gDirsObjCmd(.-..
4e40: 09 20 20 20 20 43 6c 69 65 6e 74 44 61 74 61 20 . ClientData
4e50: 63 6c 69 65 6e 74 44 61 74 61 2c 20 54 63 6c 5f clientData, Tcl_
4e60: 49 6e 74 65 72 70 20 2a 69 6e 74 65 72 70 2c 0a Interp *interp,.
4e70: 2d 09 09 09 20 20 20 20 69 6e 74 20 6f 62 6a 63 -... int objc
4e80: 2c 20 54 63 6c 5f 4f 62 6a 20 2a 43 4f 4e 53 54 , Tcl_Obj *CONST
4e90: 20 6f 62 6a 76 5b 5d 29 3b 0a 20 4d 4f 44 55 4c objv[]);. MODUL
4ea0: 45 5f 53 43 4f 50 45 20 69 6e 74 09 54 63 6c 5f E_SCOPE int.Tcl_
4eb0: 45 6f 66 4f 62 6a 43 6d 64 28 43 6c 69 65 6e 74 EofObjCmd(Client
4ec0: 44 61 74 61 20 63 6c 69 65 6e 74 44 61 74 61 2c Data clientData,
4ed0: 0a 20 09 09 09 20 20 20 20 54 63 6c 5f 49 6e 74 . ... Tcl_Int
4ee0: 65 72 70 20 2a 69 6e 74 65 72 70 2c 20 69 6e 74 erp *interp, int
4ef0: 20 6f 62 6a 63 2c 0a 20 09 09 09 20 20 20 20 54 objc,. ... T
4f00: 63 6c 5f 4f 62 6a 20 2a 43 4f 4e 53 54 20 6f 62 cl_Obj *CONST ob
4f10: 6a 76 5b 5d 29 3b 0a 49 6e 64 65 78 3a 20 67 65 jv[]);.Index: ge
4f20: 6e 65 72 69 63 2f 74 63 6c 49 6e 74 44 65 63 6c neric/tclIntDecl
4f30: 73 2e 68 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d s.h.============
4f40: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
4f50: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
4f60: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
4f70: 3d 3d 3d 3d 3d 3d 3d 0a 52 43 53 20 66 69 6c 65 =======.RCS file
4f80: 3a 20 2f 63 76 73 72 6f 6f 74 2f 74 63 6c 2f 74 : /cvsroot/tcl/t
4f90: 63 6c 2f 67 65 6e 65 72 69 63 2f 74 63 6c 49 6e cl/generic/tclIn
4fa0: 74 44 65 63 6c 73 2e 68 2c 76 0a 72 65 74 72 69 tDecls.h,v.retri
4fb0: 65 76 69 6e 67 20 72 65 76 69 73 69 6f 6e 20 31 eving revision 1
4fc0: 2e 38 35 0a 64 69 66 66 20 2d 75 20 2d 72 31 2e .85.diff -u -r1.
4fd0: 38 35 20 74 63 6c 49 6e 74 44 65 63 6c 73 2e 68 85 tclIntDecls.h
4fe0: 0a 2d 2d 2d 20 67 65 6e 65 72 69 63 2f 74 63 6c .--- generic/tcl
4ff0: 49 6e 74 44 65 63 6c 73 2e 68 09 31 33 20 44 65 IntDecls.h.13 De
5000: 63 20 32 30 30 35 20 32 32 3a 34 33 3a 31 38 20 c 2005 22:43:18
5010: 2d 30 30 30 30 09 31 2e 38 35 0a 2b 2b 2b 20 67 -0000.1.85.+++ g
5020: 65 6e 65 72 69 63 2f 74 63 6c 49 6e 74 44 65 63 eneric/tclIntDec
5030: 6c 73 2e 68 09 38 20 46 65 62 20 32 30 30 36 20 ls.h.8 Feb 2006
5040: 32 31 3a 32 35 3a 34 30 20 2d 30 30 30 30 0a 40 21:25:40 -0000.@
5050: 40 20 2d 39 38 38 2c 32 33 20 2b 39 38 38 2c 39 @ -988,23 +988,9
5060: 20 40 40 0a 20 45 58 54 45 52 4e 20 54 63 6c 5f @@. EXTERN Tcl_
5070: 43 68 61 6e 6e 65 6c 09 54 63 6c 70 4f 70 65 6e Channel.TclpOpen
5080: 46 69 6c 65 43 68 61 6e 6e 65 6c 20 5f 41 4e 53 FileChannel _ANS
5090: 49 5f 41 52 47 53 5f 28 28 54 63 6c 5f 49 6e 74 I_ARGS_((Tcl_Int
50a0: 65 72 70 20 2a 20 69 6e 74 65 72 70 2c 20 0a 20 erp * interp, .
50b0: 09 09 09 09 54 63 6c 5f 4f 62 6a 20 2a 20 70 61 ....Tcl_Obj * pa
50c0: 74 68 50 74 72 2c 20 69 6e 74 20 6d 6f 64 65 2c thPtr, int mode,
50d0: 20 69 6e 74 20 70 65 72 6d 69 73 73 69 6f 6e 73 int permissions
50e0: 29 29 3b 0a 20 23 65 6e 64 69 66 0a 2d 23 69 66 ));. #endif.-#if
50f0: 6e 64 65 66 20 54 63 6c 47 65 74 45 6e 63 6f 64 ndef TclGetEncod
5100: 69 6e 67 53 65 61 72 63 68 50 61 74 68 5f 54 43 ingSearchPath_TC
5110: 4c 5f 44 45 43 4c 41 52 45 44 0a 2d 23 64 65 66 L_DECLARED.-#def
5120: 69 6e 65 20 54 63 6c 47 65 74 45 6e 63 6f 64 69 ine TclGetEncodi
5130: 6e 67 53 65 61 72 63 68 50 61 74 68 5f 54 43 4c ngSearchPath_TCL
5140: 5f 44 45 43 4c 41 52 45 44 0a 2d 2f 2a 20 32 30 _DECLARED.-/* 20
5150: 39 20 2a 2f 0a 2d 45 58 54 45 52 4e 20 54 63 6c 9 */.-EXTERN Tcl
5160: 5f 4f 62 6a 20 2a 09 54 63 6c 47 65 74 45 6e 63 _Obj *.TclGetEnc
5170: 6f 64 69 6e 67 53 65 61 72 63 68 50 61 74 68 20 odingSearchPath
5180: 5f 41 4e 53 49 5f 41 52 47 53 5f 28 28 76 6f 69 _ANSI_ARGS_((voi
5190: 64 29 29 3b 0a 2d 23 65 6e 64 69 66 0a 2d 23 69 d));.-#endif.-#i
51a0: 66 6e 64 65 66 20 54 63 6c 53 65 74 45 6e 63 6f fndef TclSetEnco
51b0: 64 69 6e 67 53 65 61 72 63 68 50 61 74 68 5f 54 dingSearchPath_T
51c0: 43 4c 5f 44 45 43 4c 41 52 45 44 0a 2d 23 64 65 CL_DECLARED.-#de
51d0: 66 69 6e 65 20 54 63 6c 53 65 74 45 6e 63 6f 64 fine TclSetEncod
51e0: 69 6e 67 53 65 61 72 63 68 50 61 74 68 5f 54 43 ingSearchPath_TC
51f0: 4c 5f 44 45 43 4c 41 52 45 44 0a 2d 2f 2a 20 32 L_DECLARED.-/* 2
5200: 31 30 20 2a 2f 0a 2d 45 58 54 45 52 4e 20 69 6e 10 */.-EXTERN in
5210: 74 09 09 54 63 6c 53 65 74 45 6e 63 6f 64 69 6e t..TclSetEncodin
5220: 67 53 65 61 72 63 68 50 61 74 68 20 5f 41 4e 53 gSearchPath _ANS
5230: 49 5f 41 52 47 53 5f 28 28 0a 2d 09 09 09 09 54 I_ARGS_((.-....T
5240: 63 6c 5f 4f 62 6a 20 2a 20 73 65 61 72 63 68 50 cl_Obj * searchP
5250: 61 74 68 29 29 3b 0a 2d 23 65 6e 64 69 66 0a 2d ath));.-#endif.-
5260: 23 69 66 6e 64 65 66 20 54 63 6c 70 47 65 74 45 #ifndef TclpGetE
5270: 6e 63 6f 64 69 6e 67 4e 61 6d 65 46 72 6f 6d 45 ncodingNameFromE
5280: 6e 76 69 72 6f 6e 6d 65 6e 74 5f 54 43 4c 5f 44 nvironment_TCL_D
5290: 45 43 4c 41 52 45 44 0a 2d 23 64 65 66 69 6e 65 ECLARED.-#define
52a0: 20 54 63 6c 70 47 65 74 45 6e 63 6f 64 69 6e 67 TclpGetEncoding
52b0: 4e 61 6d 65 46 72 6f 6d 45 6e 76 69 72 6f 6e 6d NameFromEnvironm
52c0: 65 6e 74 5f 54 43 4c 5f 44 45 43 4c 41 52 45 44 ent_TCL_DECLARED
52d0: 0a 2d 2f 2a 20 32 31 31 20 2a 2f 0a 2d 45 58 54 .-/* 211 */.-EXT
52e0: 45 52 4e 20 43 4f 4e 53 54 20 63 68 61 72 20 2a ERN CONST char *
52f0: 09 54 63 6c 70 47 65 74 45 6e 63 6f 64 69 6e 67 .TclpGetEncoding
5300: 4e 61 6d 65 46 72 6f 6d 45 6e 76 69 72 6f 6e 6d NameFromEnvironm
5310: 65 6e 74 20 5f 41 4e 53 49 5f 41 52 47 53 5f 28 ent _ANSI_ARGS_(
5320: 28 0a 2d 09 09 09 09 54 63 6c 5f 44 53 74 72 69 (.-....Tcl_DStri
5330: 6e 67 20 2a 20 62 75 66 50 74 72 29 29 3b 0a 2d ng * bufPtr));.-
5340: 23 65 6e 64 69 66 0a 2b 2f 2a 20 53 6c 6f 74 20 #endif.+/* Slot
5350: 32 30 39 20 69 73 20 72 65 73 65 72 76 65 64 20 209 is reserved
5360: 2a 2f 0a 2b 2f 2a 20 53 6c 6f 74 20 32 31 30 20 */.+/* Slot 210
5370: 69 73 20 72 65 73 65 72 76 65 64 20 2a 2f 0a 2b is reserved */.+
5380: 2f 2a 20 53 6c 6f 74 20 32 31 31 20 69 73 20 72 /* Slot 211 is r
5390: 65 73 65 72 76 65 64 20 2a 2f 0a 20 23 69 66 6e eserved */. #ifn
53a0: 64 65 66 20 54 63 6c 70 46 69 6e 64 45 78 65 63 def TclpFindExec
53b0: 75 74 61 62 6c 65 5f 54 43 4c 5f 44 45 43 4c 41 utable_TCL_DECLA
53c0: 52 45 44 0a 20 23 64 65 66 69 6e 65 20 54 63 6c RED. #define Tcl
53d0: 70 46 69 6e 64 45 78 65 63 75 74 61 62 6c 65 5f pFindExecutable_
53e0: 54 43 4c 5f 44 45 43 4c 41 52 45 44 0a 20 2f 2a TCL_DECLARED. /*
53f0: 20 32 31 32 20 2a 2f 0a 40 40 20 2d 31 32 39 31 212 */.@@ -1291
5400: 2c 39 20 2b 31 32 37 37 2c 39 20 40 40 0a 20 20 ,9 +1277,9 @@.
5410: 20 20 20 69 6e 74 20 28 2a 74 63 6c 70 4f 62 6a int (*tclpObj
5420: 53 74 61 74 29 20 5f 41 4e 53 49 5f 41 52 47 53 Stat) _ANSI_ARGS
5430: 5f 28 28 54 63 6c 5f 4f 62 6a 20 2a 20 70 61 74 _((Tcl_Obj * pat
5440: 68 50 74 72 2c 20 54 63 6c 5f 53 74 61 74 42 75 hPtr, Tcl_StatBu
5450: 66 20 2a 20 62 75 66 29 29 3b 20 2f 2a 20 32 30 f * buf)); /* 20
5460: 36 20 2a 2f 0a 20 20 20 20 20 69 6e 74 20 28 2a 6 */. int (*
5470: 74 63 6c 70 4f 62 6a 41 63 63 65 73 73 29 20 5f tclpObjAccess) _
5480: 41 4e 53 49 5f 41 52 47 53 5f 28 28 54 63 6c 5f ANSI_ARGS_((Tcl_
5490: 4f 62 6a 20 2a 20 70 61 74 68 50 74 72 2c 20 69 Obj * pathPtr, i
54a0: 6e 74 20 6d 6f 64 65 29 29 3b 20 2f 2a 20 32 30 nt mode)); /* 20
54b0: 37 20 2a 2f 0a 20 20 20 20 20 54 63 6c 5f 43 68 7 */. Tcl_Ch
54c0: 61 6e 6e 65 6c 20 28 2a 74 63 6c 70 4f 70 65 6e annel (*tclpOpen
54d0: 46 69 6c 65 43 68 61 6e 6e 65 6c 29 20 5f 41 4e FileChannel) _AN
54e0: 53 49 5f 41 52 47 53 5f 28 28 54 63 6c 5f 49 6e SI_ARGS_((Tcl_In
54f0: 74 65 72 70 20 2a 20 69 6e 74 65 72 70 2c 20 54 terp * interp, T
5500: 63 6c 5f 4f 62 6a 20 2a 20 70 61 74 68 50 74 72 cl_Obj * pathPtr
5510: 2c 20 69 6e 74 20 6d 6f 64 65 2c 20 69 6e 74 20 , int mode, int
5520: 70 65 72 6d 69 73 73 69 6f 6e 73 29 29 3b 20 2f permissions)); /
5530: 2a 20 32 30 38 20 2a 2f 0a 2d 20 20 20 20 54 63 * 208 */.- Tc
5540: 6c 5f 4f 62 6a 20 2a 20 28 2a 74 63 6c 47 65 74 l_Obj * (*tclGet
5550: 45 6e 63 6f 64 69 6e 67 53 65 61 72 63 68 50 61 EncodingSearchPa
5560: 74 68 29 20 5f 41 4e 53 49 5f 41 52 47 53 5f 28 th) _ANSI_ARGS_(
5570: 28 76 6f 69 64 29 29 3b 20 2f 2a 20 32 30 39 20 (void)); /* 209
5580: 2a 2f 0a 2d 20 20 20 20 69 6e 74 20 28 2a 74 63 */.- int (*tc
5590: 6c 53 65 74 45 6e 63 6f 64 69 6e 67 53 65 61 72 lSetEncodingSear
55a0: 63 68 50 61 74 68 29 20 5f 41 4e 53 49 5f 41 52 chPath) _ANSI_AR
55b0: 47 53 5f 28 28 54 63 6c 5f 4f 62 6a 20 2a 20 73 GS_((Tcl_Obj * s
55c0: 65 61 72 63 68 50 61 74 68 29 29 3b 20 2f 2a 20 earchPath)); /*
55d0: 32 31 30 20 2a 2f 0a 2d 20 20 20 20 43 4f 4e 53 210 */.- CONS
55e0: 54 20 63 68 61 72 20 2a 20 28 2a 74 63 6c 70 47 T char * (*tclpG
55f0: 65 74 45 6e 63 6f 64 69 6e 67 4e 61 6d 65 46 72 etEncodingNameFr
5600: 6f 6d 45 6e 76 69 72 6f 6e 6d 65 6e 74 29 20 5f omEnvironment) _
5610: 41 4e 53 49 5f 41 52 47 53 5f 28 28 54 63 6c 5f ANSI_ARGS_((Tcl_
5620: 44 53 74 72 69 6e 67 20 2a 20 62 75 66 50 74 72 DString * bufPtr
5630: 29 29 3b 20 2f 2a 20 32 31 31 20 2a 2f 0a 2b 20 )); /* 211 */.+
5640: 20 20 20 76 6f 69 64 20 2a 72 65 73 65 72 76 65 void *reserve
5650: 64 32 30 39 3b 0a 2b 20 20 20 20 76 6f 69 64 20 d209;.+ void
5660: 2a 72 65 73 65 72 76 65 64 32 31 30 3b 0a 2b 20 *reserved210;.+
5670: 20 20 20 76 6f 69 64 20 2a 72 65 73 65 72 76 65 void *reserve
5680: 64 32 31 31 3b 0a 20 20 20 20 20 76 6f 69 64 20 d211;. void
5690: 28 2a 74 63 6c 70 46 69 6e 64 45 78 65 63 75 74 (*tclpFindExecut
56a0: 61 62 6c 65 29 20 5f 41 4e 53 49 5f 41 52 47 53 able) _ANSI_ARGS
56b0: 5f 28 28 43 4f 4e 53 54 20 63 68 61 72 20 2a 20 _((CONST char *
56c0: 61 72 67 76 30 29 29 3b 20 2f 2a 20 32 31 32 20 argv0)); /* 212
56d0: 2a 2f 0a 20 20 20 20 20 54 63 6c 5f 4f 62 6a 20 */. Tcl_Obj
56e0: 2a 20 28 2a 74 63 6c 47 65 74 4f 62 6a 4e 61 6d * (*tclGetObjNam
56f0: 65 4f 66 45 78 65 63 75 74 61 62 6c 65 29 20 5f eOfExecutable) _
5700: 41 4e 53 49 5f 41 52 47 53 5f 28 28 76 6f 69 64 ANSI_ARGS_((void
5710: 29 29 3b 20 2f 2a 20 32 31 33 20 2a 2f 0a 20 20 )); /* 213 */.
5720: 20 20 20 76 6f 69 64 20 28 2a 74 63 6c 53 65 74 void (*tclSet
5730: 4f 62 6a 4e 61 6d 65 4f 66 45 78 65 63 75 74 61 ObjNameOfExecuta
5740: 62 6c 65 29 20 5f 41 4e 53 49 5f 41 52 47 53 5f ble) _ANSI_ARGS_
5750: 28 28 54 63 6c 5f 4f 62 6a 20 2a 20 6e 61 6d 65 ((Tcl_Obj * name
5760: 2c 20 54 63 6c 5f 45 6e 63 6f 64 69 6e 67 20 65 , Tcl_Encoding e
5770: 6e 63 6f 64 69 6e 67 29 29 3b 20 2f 2a 20 32 31 ncoding)); /* 21
5780: 34 20 2a 2f 0a 40 40 20 2d 31 39 37 31 2c 31 38 4 */.@@ -1971,18
5790: 20 2b 31 39 35 37 2c 39 20 40 40 0a 20 23 64 65 +1957,9 @@. #de
57a0: 66 69 6e 65 20 54 63 6c 70 4f 70 65 6e 46 69 6c fine TclpOpenFil
57b0: 65 43 68 61 6e 6e 65 6c 20 5c 0a 20 09 28 74 63 eChannel \. .(tc
57c0: 6c 49 6e 74 53 74 75 62 73 50 74 72 2d 3e 74 63 lIntStubsPtr->tc
57d0: 6c 70 4f 70 65 6e 46 69 6c 65 43 68 61 6e 6e 65 lpOpenFileChanne
57e0: 6c 29 20 2f 2a 20 32 30 38 20 2a 2f 0a 20 23 65 l) /* 208 */. #e
57f0: 6e 64 69 66 0a 2d 23 69 66 6e 64 65 66 20 54 63 ndif.-#ifndef Tc
5800: 6c 47 65 74 45 6e 63 6f 64 69 6e 67 53 65 61 72 lGetEncodingSear
5810: 63 68 50 61 74 68 0a 2d 23 64 65 66 69 6e 65 20 chPath.-#define
5820: 54 63 6c 47 65 74 45 6e 63 6f 64 69 6e 67 53 65 TclGetEncodingSe
5830: 61 72 63 68 50 61 74 68 20 5c 0a 2d 09 28 74 63 archPath \.-.(tc
5840: 6c 49 6e 74 53 74 75 62 73 50 74 72 2d 3e 74 63 lIntStubsPtr->tc
5850: 6c 47 65 74 45 6e 63 6f 64 69 6e 67 53 65 61 72 lGetEncodingSear
5860: 63 68 50 61 74 68 29 20 2f 2a 20 32 30 39 20 2a chPath) /* 209 *
5870: 2f 0a 2d 23 65 6e 64 69 66 0a 2d 23 69 66 6e 64 /.-#endif.-#ifnd
5880: 65 66 20 54 63 6c 53 65 74 45 6e 63 6f 64 69 6e ef TclSetEncodin
5890: 67 53 65 61 72 63 68 50 61 74 68 0a 2d 23 64 65 gSearchPath.-#de
58a0: 66 69 6e 65 20 54 63 6c 53 65 74 45 6e 63 6f 64 fine TclSetEncod
58b0: 69 6e 67 53 65 61 72 63 68 50 61 74 68 20 5c 0a ingSearchPath \.
58c0: 2d 09 28 74 63 6c 49 6e 74 53 74 75 62 73 50 74 -.(tclIntStubsPt
58d0: 72 2d 3e 74 63 6c 53 65 74 45 6e 63 6f 64 69 6e r->tclSetEncodin
58e0: 67 53 65 61 72 63 68 50 61 74 68 29 20 2f 2a 20 gSearchPath) /*
58f0: 32 31 30 20 2a 2f 0a 2d 23 65 6e 64 69 66 0a 2d 210 */.-#endif.-
5900: 23 69 66 6e 64 65 66 20 54 63 6c 70 47 65 74 45 #ifndef TclpGetE
5910: 6e 63 6f 64 69 6e 67 4e 61 6d 65 46 72 6f 6d 45 ncodingNameFromE
5920: 6e 76 69 72 6f 6e 6d 65 6e 74 0a 2d 23 64 65 66 nvironment.-#def
5930: 69 6e 65 20 54 63 6c 70 47 65 74 45 6e 63 6f 64 ine TclpGetEncod
5940: 69 6e 67 4e 61 6d 65 46 72 6f 6d 45 6e 76 69 72 ingNameFromEnvir
5950: 6f 6e 6d 65 6e 74 20 5c 0a 2d 09 28 74 63 6c 49 onment \.-.(tclI
5960: 6e 74 53 74 75 62 73 50 74 72 2d 3e 74 63 6c 70 ntStubsPtr->tclp
5970: 47 65 74 45 6e 63 6f 64 69 6e 67 4e 61 6d 65 46 GetEncodingNameF
5980: 72 6f 6d 45 6e 76 69 72 6f 6e 6d 65 6e 74 29 20 romEnvironment)
5990: 2f 2a 20 32 31 31 20 2a 2f 0a 2d 23 65 6e 64 69 /* 211 */.-#endi
59a0: 66 0a 2b 2f 2a 20 53 6c 6f 74 20 32 30 39 20 69 f.+/* Slot 209 i
59b0: 73 20 72 65 73 65 72 76 65 64 20 2a 2f 0a 2b 2f s reserved */.+/
59c0: 2a 20 53 6c 6f 74 20 32 31 30 20 69 73 20 72 65 * Slot 210 is re
59d0: 73 65 72 76 65 64 20 2a 2f 0a 2b 2f 2a 20 53 6c served */.+/* Sl
59e0: 6f 74 20 32 31 31 20 69 73 20 72 65 73 65 72 76 ot 211 is reserv
59f0: 65 64 20 2a 2f 0a 20 23 69 66 6e 64 65 66 20 54 ed */. #ifndef T
5a00: 63 6c 70 46 69 6e 64 45 78 65 63 75 74 61 62 6c clpFindExecutabl
5a10: 65 0a 20 23 64 65 66 69 6e 65 20 54 63 6c 70 46 e. #define TclpF
5a20: 69 6e 64 45 78 65 63 75 74 61 62 6c 65 20 5c 0a indExecutable \.
5a30: 20 09 28 74 63 6c 49 6e 74 53 74 75 62 73 50 74 .(tclIntStubsPt
5a40: 72 2d 3e 74 63 6c 70 46 69 6e 64 45 78 65 63 75 r->tclpFindExecu
5a50: 74 61 62 6c 65 29 20 2f 2a 20 32 31 32 20 2a 2f table) /* 212 */
5a60: 0a 49 6e 64 65 78 3a 20 67 65 6e 65 72 69 63 2f .Index: generic/
5a70: 74 63 6c 53 74 75 62 49 6e 69 74 2e 63 0a 3d 3d tclStubInit.c.==
5a80: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
5a90: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
5aa0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
5ab0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
5ac0: 3d 0a 52 43 53 20 66 69 6c 65 3a 20 2f 63 76 73 =.RCS file: /cvs
5ad0: 72 6f 6f 74 2f 74 63 6c 2f 74 63 6c 2f 67 65 6e root/tcl/tcl/gen
5ae0: 65 72 69 63 2f 74 63 6c 53 74 75 62 49 6e 69 74 eric/tclStubInit
5af0: 2e 63 2c 76 0a 72 65 74 72 69 65 76 69 6e 67 20 .c,v.retrieving
5b00: 72 65 76 69 73 69 6f 6e 20 31 2e 31 32 38 0a 64 revision 1.128.d
5b10: 69 66 66 20 2d 75 20 2d 72 31 2e 31 32 38 20 74 iff -u -r1.128 t
5b20: 63 6c 53 74 75 62 49 6e 69 74 2e 63 0a 2d 2d 2d clStubInit.c.---
5b30: 20 67 65 6e 65 72 69 63 2f 74 63 6c 53 74 75 62 generic/tclStub
5b40: 49 6e 69 74 2e 63 09 31 20 46 65 62 20 32 30 30 Init.c.1 Feb 200
5b50: 36 20 31 38 3a 32 37 3a 34 38 20 2d 30 30 30 30 6 18:27:48 -0000
5b60: 09 31 2e 31 32 38 0a 2b 2b 2b 20 67 65 6e 65 72 .1.128.+++ gener
5b70: 69 63 2f 74 63 6c 53 74 75 62 49 6e 69 74 2e 63 ic/tclStubInit.c
5b80: 09 38 20 46 65 62 20 32 30 30 36 20 32 31 3a 32 .8 Feb 2006 21:2
5b90: 35 3a 34 31 20 2d 30 30 30 30 0a 40 40 20 2d 33 5:41 -0000.@@ -3
5ba0: 30 30 2c 39 20 2b 33 30 30 2c 39 20 40 40 0a 20 00,9 +300,9 @@.
5bb0: 20 20 20 20 54 63 6c 70 4f 62 6a 53 74 61 74 2c TclpObjStat,
5bc0: 20 2f 2a 20 32 30 36 20 2a 2f 0a 20 20 20 20 20 /* 206 */.
5bd0: 54 63 6c 70 4f 62 6a 41 63 63 65 73 73 2c 20 2f TclpObjAccess, /
5be0: 2a 20 32 30 37 20 2a 2f 0a 20 20 20 20 20 54 63 * 207 */. Tc
5bf0: 6c 70 4f 70 65 6e 46 69 6c 65 43 68 61 6e 6e 65 lpOpenFileChanne
5c00: 6c 2c 20 2f 2a 20 32 30 38 20 2a 2f 0a 2d 20 20 l, /* 208 */.-
5c10: 20 20 54 63 6c 47 65 74 45 6e 63 6f 64 69 6e 67 TclGetEncoding
5c20: 53 65 61 72 63 68 50 61 74 68 2c 20 2f 2a 20 32 SearchPath, /* 2
5c30: 30 39 20 2a 2f 0a 2d 20 20 20 20 54 63 6c 53 65 09 */.- TclSe
5c40: 74 45 6e 63 6f 64 69 6e 67 53 65 61 72 63 68 50 tEncodingSearchP
5c50: 61 74 68 2c 20 2f 2a 20 32 31 30 20 2a 2f 0a 2d ath, /* 210 */.-
5c60: 20 20 20 20 54 63 6c 70 47 65 74 45 6e 63 6f 64 TclpGetEncod
5c70: 69 6e 67 4e 61 6d 65 46 72 6f 6d 45 6e 76 69 72 ingNameFromEnvir
5c80: 6f 6e 6d 65 6e 74 2c 20 2f 2a 20 32 31 31 20 2a onment, /* 211 *
5c90: 2f 0a 2b 20 20 20 20 4e 55 4c 4c 2c 20 2f 2a 20 /.+ NULL, /*
5ca0: 32 30 39 20 2a 2f 0a 2b 20 20 20 20 4e 55 4c 4c 209 */.+ NULL
5cb0: 2c 20 2f 2a 20 32 31 30 20 2a 2f 0a 2b 20 20 20 , /* 210 */.+
5cc0: 20 4e 55 4c 4c 2c 20 2f 2a 20 32 31 31 20 2a 2f NULL, /* 211 */
5cd0: 0a 20 20 20 20 20 54 63 6c 70 46 69 6e 64 45 78 . TclpFindEx
5ce0: 65 63 75 74 61 62 6c 65 2c 20 2f 2a 20 32 31 32 ecutable, /* 212
5cf0: 20 2a 2f 0a 20 20 20 20 20 54 63 6c 47 65 74 4f */. TclGetO
5d00: 62 6a 4e 61 6d 65 4f 66 45 78 65 63 75 74 61 62 bjNameOfExecutab
5d10: 6c 65 2c 20 2f 2a 20 32 31 33 20 2a 2f 0a 20 20 le, /* 213 */.
5d20: 20 20 20 54 63 6c 53 65 74 4f 62 6a 4e 61 6d 65 TclSetObjName
5d30: 4f 66 45 78 65 63 75 74 61 62 6c 65 2c 20 2f 2a OfExecutable, /*
5d40: 20 32 31 34 20 2a 2f 0a 40 40 20 2d 31 30 36 35 214 */.@@ -1065
5d50: 2c 36 20 2b 31 30 36 35 2c 31 30 20 40 40 0a 20 ,6 +1065,10 @@.
5d60: 20 20 20 20 54 63 6c 5f 49 6e 69 74 42 69 67 6e Tcl_InitBign
5d70: 75 6d 46 72 6f 6d 44 6f 75 62 6c 65 2c 20 2f 2a umFromDouble, /*
5d80: 20 35 36 36 20 2a 2f 0a 20 20 20 20 20 54 63 6c 566 */. Tcl
5d90: 5f 47 65 74 4e 61 6d 65 73 70 61 63 65 55 6e 6b _GetNamespaceUnk
5da0: 6e 6f 77 6e 48 61 6e 64 6c 65 72 2c 20 2f 2a 20 nownHandler, /*
5db0: 35 36 37 20 2a 2f 0a 20 20 20 20 20 54 63 6c 5f 567 */. Tcl_
5dc0: 53 65 74 4e 61 6d 65 73 70 61 63 65 55 6e 6b 6e SetNamespaceUnkn
5dd0: 6f 77 6e 48 61 6e 64 6c 65 72 2c 20 2f 2a 20 35 ownHandler, /* 5
5de0: 36 38 20 2a 2f 0a 2b 20 20 20 20 54 63 6c 5f 47 68 */.+ Tcl_G
5df0: 65 74 45 6e 63 6f 64 69 6e 67 46 72 6f 6d 4f 62 etEncodingFromOb
5e00: 6a 2c 20 2f 2a 20 35 36 39 20 2a 2f 0a 2b 20 20 j, /* 569 */.+
5e10: 20 20 54 63 6c 5f 47 65 74 45 6e 63 6f 64 69 6e Tcl_GetEncodin
5e20: 67 53 65 61 72 63 68 50 61 74 68 2c 20 2f 2a 20 gSearchPath, /*
5e30: 35 37 30 20 2a 2f 0a 2b 20 20 20 20 54 63 6c 5f 570 */.+ Tcl_
5e40: 53 65 74 45 6e 63 6f 64 69 6e 67 53 65 61 72 63 SetEncodingSearc
5e50: 68 50 61 74 68 2c 20 2f 2a 20 35 37 31 20 2a 2f hPath, /* 571 */
5e60: 0a 2b 20 20 20 20 54 63 6c 5f 47 65 74 45 6e 63 .+ Tcl_GetEnc
5e70: 6f 64 69 6e 67 4e 61 6d 65 46 72 6f 6d 45 6e 76 odingNameFromEnv
5e80: 69 72 6f 6e 6d 65 6e 74 2c 20 2f 2a 20 35 37 32 ironment, /* 572
5e90: 20 2a 2f 0a 20 7d 3b 0a 20 0a 20 2f 2a 20 21 45 */. };. . /* !E
5ea0: 4e 44 21 3a 20 44 6f 20 6e 6f 74 20 65 64 69 74 ND!: Do not edit
5eb0: 20 61 62 6f 76 65 20 74 68 69 73 20 6c 69 6e 65 above this line
5ec0: 2e 20 2a 2f 0a 49 6e 64 65 78 3a 20 67 65 6e 65 . */.Index: gene
5ed0: 72 69 63 2f 74 63 6c 54 65 73 74 2e 63 0a 3d 3d ric/tclTest.c.==
5ee0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
5ef0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
5f00: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
5f10: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
5f20: 3d 0a 52 43 53 20 66 69 6c 65 3a 20 2f 63 76 73 =.RCS file: /cvs
5f30: 72 6f 6f 74 2f 74 63 6c 2f 74 63 6c 2f 67 65 6e root/tcl/tcl/gen
5f40: 65 72 69 63 2f 74 63 6c 54 65 73 74 2e 63 2c 76 eric/tclTest.c,v
5f50: 0a 72 65 74 72 69 65 76 69 6e 67 20 72 65 76 69 .retrieving revi
5f60: 73 69 6f 6e 20 31 2e 31 30 30 0a 64 69 66 66 20 sion 1.100.diff
5f70: 2d 75 20 2d 72 31 2e 31 30 30 20 74 63 6c 54 65 -u -r1.100 tclTe
5f80: 73 74 2e 63 0a 2d 2d 2d 20 67 65 6e 65 72 69 63 st.c.--- generic
5f90: 2f 74 63 6c 54 65 73 74 2e 63 09 31 35 20 44 65 /tclTest.c.15 De
5fa0: 63 20 32 30 30 35 20 30 34 3a 30 38 3a 33 33 20 c 2005 04:08:33
5fb0: 2d 30 30 30 30 09 31 2e 31 30 30 0a 2b 2b 2b 20 -0000.1.100.+++
5fc0: 67 65 6e 65 72 69 63 2f 74 63 6c 54 65 73 74 2e generic/tclTest.
5fd0: 63 09 38 20 46 65 62 20 32 30 30 36 20 32 31 3a c.8 Feb 2006 21:
5fe0: 32 35 3a 34 33 20 2d 30 30 30 30 0a 40 40 20 2d 25:43 -0000.@@ -
5ff0: 31 37 33 36 2c 31 31 20 2b 31 37 33 36 2c 31 30 1736,11 +1736,10
6000: 20 40 40 0a 20 20 20 20 20 63 68 61 72 20 2a 73 @@. char *s
6010: 74 72 69 6e 67 3b 0a 20 20 20 20 20 54 63 6c 45 tring;. TclE
6020: 6e 63 6f 64 69 6e 67 20 2a 65 6e 63 6f 64 69 6e ncoding *encodin
6030: 67 50 74 72 3b 0a 20 20 20 20 20 73 74 61 74 69 gPtr;. stati
6040: 63 20 43 4f 4e 53 54 20 63 68 61 72 20 2a 6f 70 c CONST char *op
6050: 74 69 6f 6e 53 74 72 69 6e 67 73 5b 5d 20 3d 20 tionStrings[] =
6060: 7b 0a 2d 09 22 63 72 65 61 74 65 22 2c 09 22 64 {.-."create",."d
6070: 65 6c 65 74 65 22 2c 09 22 70 61 74 68 22 2c 0a elete",."path",.
6080: 2d 09 4e 55 4c 4c 0a 2b 09 22 63 72 65 61 74 65 -.NULL.+."create
6090: 22 2c 09 22 64 65 6c 65 74 65 22 2c 09 4e 55 4c ",."delete",.NUL
60a0: 4c 0a 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 65 L. };. e
60b0: 6e 75 6d 20 6f 70 74 69 6f 6e 73 20 7b 0a 2d 09 num options {.-.
60c0: 45 4e 43 5f 43 52 45 41 54 45 2c 09 45 4e 43 5f ENC_CREATE,.ENC_
60d0: 44 45 4c 45 54 45 2c 09 45 4e 43 5f 50 41 54 48 DELETE,.ENC_PATH
60e0: 0a 2b 09 45 4e 43 5f 43 52 45 41 54 45 2c 09 45 .+.ENC_CREATE,.E
60f0: 4e 43 5f 44 45 4c 45 54 45 0a 20 20 20 20 20 7d NC_DELETE. }
6100: 3b 0a 20 0a 20 20 20 20 20 69 66 20 28 54 63 6c ;. . if (Tcl
6110: 5f 47 65 74 49 6e 64 65 78 46 72 6f 6d 4f 62 6a _GetIndexFromObj
6120: 28 69 6e 74 65 72 70 2c 20 6f 62 6a 76 5b 31 5d (interp, objv[1]
6130: 2c 20 6f 70 74 69 6f 6e 53 74 72 69 6e 67 73 2c , optionStrings,
6140: 20 22 6f 70 74 69 6f 6e 22 2c 20 30 2c 0a 40 40 "option", 0,.@@
6150: 20 2d 31 37 38 37 2c 31 34 20 2b 31 37 38 36 2c -1787,14 +1786,
6160: 36 20 40 40 0a 20 09 20 20 20 20 54 63 6c 5f 46 6 @@. . Tcl_F
6170: 72 65 65 45 6e 63 6f 64 69 6e 67 28 65 6e 63 6f reeEncoding(enco
6180: 64 69 6e 67 29 3b 0a 20 09 20 20 20 20 62 72 65 ding);. . bre
6190: 61 6b 3b 0a 20 09 7d 0a 2d 09 63 61 73 65 20 45 ak;. .}.-.case E
61a0: 4e 43 5f 50 41 54 48 3a 20 7b 0a 2d 09 20 20 20 NC_PATH: {.-.
61b0: 20 69 66 20 28 6f 62 6a 63 20 3d 3d 20 32 29 20 if (objc == 2)
61c0: 7b 0a 2d 09 09 54 63 6c 5f 53 65 74 4f 62 6a 52 {.-..Tcl_SetObjR
61d0: 65 73 75 6c 74 28 69 6e 74 65 72 70 2c 20 54 63 esult(interp, Tc
61e0: 6c 47 65 74 45 6e 63 6f 64 69 6e 67 53 65 61 72 lGetEncodingSear
61f0: 63 68 50 61 74 68 28 29 29 3b 0a 2d 09 20 20 20 chPath());.-.
6200: 20 7d 20 65 6c 73 65 20 7b 0a 2d 09 09 54 63 6c } else {.-..Tcl
6210: 53 65 74 45 6e 63 6f 64 69 6e 67 53 65 61 72 63 SetEncodingSearc
6220: 68 50 61 74 68 28 6f 62 6a 76 5b 32 5d 29 3b 0a hPath(objv[2]);.
6230: 2d 09 20 20 20 20 7d 0a 2d 09 20 20 20 20 62 72 -. }.-. br
6240: 65 61 6b 3b 0a 2d 09 7d 0a 20 20 20 20 20 7d 0a eak;.-.}. }.
6250: 20 20 20 20 20 72 65 74 75 72 6e 20 54 43 4c 5f return TCL_
6260: 4f 4b 3b 0a 20 7d 0a 49 6e 64 65 78 3a 20 6c 69 OK;. }.Index: li
6270: 62 72 61 72 79 2f 69 6e 69 74 2e 74 63 6c 0a 3d brary/init.tcl.=
6280: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
6290: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
62a0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
62b0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
62c0: 3d 3d 0a 52 43 53 20 66 69 6c 65 3a 20 2f 63 76 ==.RCS file: /cv
62d0: 73 72 6f 6f 74 2f 74 63 6c 2f 74 63 6c 2f 6c 69 sroot/tcl/tcl/li
62e0: 62 72 61 72 79 2f 69 6e 69 74 2e 74 63 6c 2c 76 brary/init.tcl,v
62f0: 0a 72 65 74 72 69 65 76 69 6e 67 20 72 65 76 69 .retrieving revi
6300: 73 69 6f 6e 20 31 2e 38 34 0a 64 69 66 66 20 2d sion 1.84.diff -
6310: 75 20 2d 72 31 2e 38 34 20 69 6e 69 74 2e 74 63 u -r1.84 init.tc
6320: 6c 0a 2d 2d 2d 20 6c 69 62 72 61 72 79 2f 69 6e l.--- library/in
6330: 69 74 2e 74 63 6c 09 33 30 20 53 65 70 20 32 30 it.tcl.30 Sep 20
6340: 30 35 20 31 38 3a 35 33 3a 33 33 20 2d 30 30 30 05 18:53:33 -000
6350: 30 09 31 2e 38 34 0a 2b 2b 2b 20 6c 69 62 72 61 0.1.84.+++ libra
6360: 72 79 2f 69 6e 69 74 2e 74 63 6c 09 38 20 46 65 ry/init.tcl.8 Fe
6370: 62 20 32 30 30 36 20 32 31 3a 32 35 3a 34 33 20 b 2006 21:25:43
6380: 2d 30 30 30 30 0a 40 40 20 2d 36 36 2c 31 31 20 -0000.@@ -66,11
6390: 2b 36 36 2c 31 33 20 40 40 0a 20 09 7d 0a 20 20 +66,13 @@. .}.
63a0: 20 20 20 7d 0a 20 0a 2d 20 20 20 20 76 61 72 69 }. .- vari
63b0: 61 62 6c 65 20 50 61 74 68 20 5b 75 6e 73 75 70 able Path [unsup
63c0: 70 6f 72 74 65 64 3a 3a 45 6e 63 6f 64 69 6e 67 ported::Encoding
63d0: 44 69 72 73 5d 0a 2d 20 20 20 20 73 65 74 20 44 Dirs].- set D
63e0: 69 72 20 5b 66 69 6c 65 20 6a 6f 69 6e 20 24 3a ir [file join $:
63f0: 3a 74 63 6c 5f 6c 69 62 72 61 72 79 20 65 6e 63 :tcl_library enc
6400: 6f 64 69 6e 67 5d 0a 2d 20 20 20 20 69 66 20 7b oding].- if {
6410: 24 44 69 72 20 6e 69 20 24 50 61 74 68 7d 20 7b $Dir ni $Path} {
6420: 0a 2d 09 6c 61 70 70 65 6e 64 20 50 61 74 68 20 .-.lappend Path
6430: 24 44 69 72 0a 2d 09 75 6e 73 75 70 70 6f 72 74 $Dir.-.unsupport
6440: 65 64 3a 3a 45 6e 63 6f 64 69 6e 67 44 69 72 73 ed::EncodingDirs
6450: 20 24 50 61 74 68 0a 2b 20 20 20 20 69 66 20 7b $Path.+ if {
6460: 21 5b 69 6e 74 65 72 70 20 69 73 73 61 66 65 5d ![interp issafe]
6470: 7d 20 7b 0a 2b 20 20 20 20 20 20 20 20 76 61 72 } {.+ var
6480: 69 61 62 6c 65 20 50 61 74 68 20 5b 65 6e 63 6f iable Path [enco
6490: 64 69 6e 67 20 64 69 72 73 5d 0a 2b 20 20 20 20 ding dirs].+
64a0: 20 20 20 20 73 65 74 20 44 69 72 20 5b 66 69 6c set Dir [fil
64b0: 65 20 6a 6f 69 6e 20 24 3a 3a 74 63 6c 5f 6c 69 e join $::tcl_li
64c0: 62 72 61 72 79 20 65 6e 63 6f 64 69 6e 67 5d 0a brary encoding].
64d0: 2b 20 20 20 20 20 20 20 20 69 66 20 7b 24 44 69 + if {$Di
64e0: 72 20 6e 69 20 24 50 61 74 68 7d 20 7b 0a 2b 09 r ni $Path} {.+.
64f0: 20 20 20 20 6c 61 70 70 65 6e 64 20 50 61 74 68 lappend Path
6500: 20 24 44 69 72 0a 2b 09 20 20 20 20 65 6e 63 6f $Dir.+. enco
6510: 64 69 6e 67 20 64 69 72 73 20 24 50 61 74 68 0a ding dirs $Path.
6520: 2b 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 + }.
6530: 7d 0a 20 0a 20 20 20 20 20 23 20 53 65 74 20 75 }. . # Set u
6540: 70 20 74 68 65 20 27 63 68 61 6e 27 20 65 6e 73 p the 'chan' ens
6550: 65 6d 62 6c 65 20 28 54 49 50 20 23 32 30 38 29 emble (TIP #208)
6560: 2e 0a 49 6e 64 65 78 3a 20 74 65 73 74 73 2f 63 ..Index: tests/c
6570: 6d 64 41 48 2e 74 65 73 74 0a 3d 3d 3d 3d 3d 3d mdAH.test.======
6580: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
6590: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
65a0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
65b0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 52 43 =============.RC
65c0: 53 20 66 69 6c 65 3a 20 2f 63 76 73 72 6f 6f 74 S file: /cvsroot
65d0: 2f 74 63 6c 2f 74 63 6c 2f 74 65 73 74 73 2f 63 /tcl/tcl/tests/c
65e0: 6d 64 41 48 2e 74 65 73 74 2c 76 0a 72 65 74 72 mdAH.test,v.retr
65f0: 69 65 76 69 6e 67 20 72 65 76 69 73 69 6f 6e 20 ieving revision
6600: 31 2e 35 30 0a 64 69 66 66 20 2d 75 20 2d 72 31 1.50.diff -u -r1
6610: 2e 35 30 20 63 6d 64 41 48 2e 74 65 73 74 0a 2d .50 cmdAH.test.-
6620: 2d 2d 20 74 65 73 74 73 2f 63 6d 64 41 48 2e 74 -- tests/cmdAH.t
6630: 65 73 74 09 31 20 4e 6f 76 20 32 30 30 34 20 31 est.1 Nov 2004 1
6640: 36 3a 35 38 3a 33 37 20 2d 30 30 30 30 09 31 2e 6:58:37 -0000.1.
6650: 35 30 0a 2b 2b 2b 20 74 65 73 74 73 2f 63 6d 64 50.+++ tests/cmd
6660: 41 48 2e 74 65 73 74 09 38 20 46 65 62 20 32 30 AH.test.8 Feb 20
6670: 30 36 20 32 31 3a 32 35 3a 35 30 20 2d 30 30 30 06 21:25:50 -000
6680: 30 0a 40 40 20 2d 31 32 34 2c 37 20 2b 31 32 34 0.@@ -124,7 +124
6690: 2c 37 20 40 40 0a 20 7d 20 7b 31 20 7b 77 72 6f ,7 @@. } {1 {wro
66a0: 6e 67 20 23 20 61 72 67 73 3a 20 73 68 6f 75 6c ng # args: shoul
66b0: 64 20 62 65 20 22 65 6e 63 6f 64 69 6e 67 20 6f d be "encoding o
66c0: 70 74 69 6f 6e 20 3f 61 72 67 20 2e 2e 2e 3f 22 ption ?arg ...?"
66d0: 7d 7d 0a 20 74 65 73 74 20 63 6d 64 41 48 2d 34 }}. test cmdAH-4
66e0: 2e 32 20 7b 54 63 6c 5f 45 6e 63 6f 64 69 6e 67 .2 {Tcl_Encoding
66f0: 4f 62 6a 43 6d 64 7d 20 7b 0a 20 20 20 20 20 6c ObjCmd} {. l
6700: 69 73 74 20 5b 63 61 74 63 68 20 7b 65 6e 63 6f ist [catch {enco
6710: 64 69 6e 67 20 66 6f 6f 7d 20 6d 73 67 5d 20 24 ding foo} msg] $
6720: 6d 73 67 0a 2d 7d 20 7b 31 20 7b 62 61 64 20 6f msg.-} {1 {bad o
6730: 70 74 69 6f 6e 20 22 66 6f 6f 22 3a 20 6d 75 73 ption "foo": mus
6740: 74 20 62 65 20 63 6f 6e 76 65 72 74 66 72 6f 6d t be convertfrom
6750: 2c 20 63 6f 6e 76 65 72 74 74 6f 2c 20 6e 61 6d , convertto, nam
6760: 65 73 2c 20 6f 72 20 73 79 73 74 65 6d 7d 7d 0a es, or system}}.
6770: 2b 7d 20 7b 31 20 7b 62 61 64 20 6f 70 74 69 6f +} {1 {bad optio
6780: 6e 20 22 66 6f 6f 22 3a 20 6d 75 73 74 20 62 65 n "foo": must be
6790: 20 63 6f 6e 76 65 72 74 66 72 6f 6d 2c 20 63 6f convertfrom, co
67a0: 6e 76 65 72 74 74 6f 2c 20 64 69 72 73 2c 20 6e nvertto, dirs, n
67b0: 61 6d 65 73 2c 20 6f 72 20 73 79 73 74 65 6d 7d ames, or system}
67c0: 7d 0a 20 74 65 73 74 20 63 6d 64 41 48 2d 34 2e }. test cmdAH-4.
67d0: 33 20 7b 54 63 6c 5f 45 6e 63 6f 64 69 6e 67 4f 3 {Tcl_EncodingO
67e0: 62 6a 43 6d 64 7d 20 7b 0a 20 20 20 20 20 6c 69 bjCmd} {. li
67f0: 73 74 20 5b 63 61 74 63 68 20 7b 65 6e 63 6f 64 st [catch {encod
6800: 69 6e 67 20 63 6f 6e 76 65 72 74 74 6f 7d 20 6d ing convertto} m
6810: 73 67 5d 20 24 6d 73 67 0a 20 7d 20 7b 31 20 7b sg] $msg. } {1 {
6820: 77 72 6f 6e 67 20 23 20 61 72 67 73 3a 20 73 68 wrong # args: sh
6830: 6f 75 6c 64 20 62 65 20 22 65 6e 63 6f 64 69 6e ould be "encodin
6840: 67 20 63 6f 6e 76 65 72 74 74 6f 20 3f 65 6e 63 g convertto ?enc
6850: 6f 64 69 6e 67 3f 20 64 61 74 61 22 7d 7d 0a 49 oding? data"}}.I
6860: 6e 64 65 78 3a 20 74 65 73 74 73 2f 65 6e 63 6f ndex: tests/enco
6870: 64 69 6e 67 2e 74 65 73 74 0a 3d 3d 3d 3d 3d 3d ding.test.======
6880: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
6890: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
68a0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
68b0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 52 43 =============.RC
68c0: 53 20 66 69 6c 65 3a 20 2f 63 76 73 72 6f 6f 74 S file: /cvsroot
68d0: 2f 74 63 6c 2f 74 63 6c 2f 74 65 73 74 73 2f 65 /tcl/tcl/tests/e
68e0: 6e 63 6f 64 69 6e 67 2e 74 65 73 74 2c 76 0a 72 ncoding.test,v.r
68f0: 65 74 72 69 65 76 69 6e 67 20 72 65 76 69 73 69 etrieving revisi
6900: 6f 6e 20 31 2e 32 33 0a 64 69 66 66 20 2d 75 20 on 1.23.diff -u
6910: 2d 72 31 2e 32 33 20 65 6e 63 6f 64 69 6e 67 2e -r1.23 encoding.
6920: 74 65 73 74 0a 2d 2d 2d 20 74 65 73 74 73 2f 65 test.--- tests/e
6930: 6e 63 6f 64 69 6e 67 2e 74 65 73 74 09 31 30 20 ncoding.test.10
6940: 4d 61 79 20 32 30 30 35 20 31 38 3a 33 35 3a 31 May 2005 18:35:1
6950: 38 20 2d 30 30 30 30 09 31 2e 32 33 0a 2b 2b 2b 8 -0000.1.23.+++
6960: 20 74 65 73 74 73 2f 65 6e 63 6f 64 69 6e 67 2e tests/encoding.
6970: 74 65 73 74 09 38 20 46 65 62 20 32 30 30 36 20 test.8 Feb 2006
6980: 32 31 3a 32 35 3a 35 30 20 2d 30 30 30 30 0a 40 21:25:50 -0000.@
6990: 40 20 2d 35 36 2c 31 34 20 2b 35 36 2c 31 34 20 @ -56,14 +56,14
69a0: 40 40 0a 20 7d 20 7b 38 43 7d 0a 20 74 65 73 74 @@. } {8C}. test
69b0: 20 65 6e 63 6f 64 69 6e 67 2d 32 2e 32 20 7b 54 encoding-2.2 {T
69c0: 63 6c 5f 46 72 65 65 45 6e 63 6f 64 69 6e 67 3a cl_FreeEncoding:
69d0: 20 72 65 66 63 6f 75 6e 74 20 21 3d 20 30 7d 20 refcount != 0}
69e0: 7b 74 65 73 74 65 6e 63 6f 64 69 6e 67 7d 20 7b {testencoding} {
69f0: 0a 20 20 20 20 20 73 65 74 20 73 79 73 74 65 6d . set system
6a00: 20 5b 65 6e 63 6f 64 69 6e 67 20 73 79 73 74 65 [encoding syste
6a10: 6d 5d 0a 2d 20 20 20 20 73 65 74 20 70 61 74 68 m].- set path
6a20: 20 5b 74 65 73 74 65 6e 63 6f 64 69 6e 67 20 70 [testencoding p
6a30: 61 74 68 5d 0a 2b 20 20 20 20 73 65 74 20 70 61 ath].+ set pa
6a40: 74 68 20 5b 65 6e 63 6f 64 69 6e 67 20 64 69 72 th [encoding dir
6a50: 73 5d 0a 20 20 20 20 20 65 6e 63 6f 64 69 6e 67 s]. encoding
6a60: 20 73 79 73 74 65 6d 20 73 68 69 66 74 6a 69 73 system shiftjis
6a70: 09 09 3b 23 20 69 6e 63 72 20 72 65 66 20 63 6f ..;# incr ref co
6a80: 75 6e 74 0a 2d 20 20 20 20 74 65 73 74 65 6e 63 unt.- testenc
6a90: 6f 64 69 6e 67 20 70 61 74 68 20 5b 6c 69 73 74 oding path [list
6aa0: 20 5b 70 77 64 5d 5d 0a 2b 20 20 20 20 65 6e 63 [pwd]].+ enc
6ab0: 6f 64 69 6e 67 20 64 69 72 73 20 5b 6c 69 73 74 oding dirs [list
6ac0: 20 5b 70 77 64 5d 5d 0a 20 20 20 20 20 73 65 74 [pwd]]. set
6ad0: 20 78 20 5b 65 6e 63 6f 64 69 6e 67 20 63 6f 6e x [encoding con
6ae0: 76 65 72 74 74 6f 20 73 68 69 66 74 6a 69 73 20 vertto shiftjis
6af0: 5c 75 34 65 34 65 5d 09 3b 23 20 6f 6c 64 20 6f \u4e4e].;# old o
6b00: 6e 65 20 66 6f 75 6e 64 20 20 20 0a 20 20 20 20 ne found .
6b10: 20 65 6e 63 6f 64 69 6e 67 20 73 79 73 74 65 6d encoding system
6b20: 20 69 64 65 6e 74 69 74 79 0a 20 20 20 20 20 6c identity. l
6b30: 61 70 70 65 6e 64 20 78 20 5b 63 61 74 63 68 20 append x [catch
6b40: 7b 65 6e 63 6f 64 69 6e 67 20 63 6f 6e 76 65 72 {encoding conver
6b50: 74 74 6f 20 73 68 69 66 74 6a 69 73 20 5c 75 34 tto shiftjis \u4
6b60: 65 34 65 7d 20 6d 73 67 5d 20 24 6d 73 67 0a 20 e4e} msg] $msg.
6b70: 20 20 20 20 65 6e 63 6f 64 69 6e 67 20 73 79 73 encoding sys
6b80: 74 65 6d 20 69 64 65 6e 74 69 74 79 0a 2d 20 20 tem identity.-
6b90: 20 20 74 65 73 74 65 6e 63 6f 64 69 6e 67 20 70 testencoding p
6ba0: 61 74 68 20 24 70 61 74 68 0a 2b 20 20 20 20 65 ath $path.+ e
6bb0: 6e 63 6f 64 69 6e 67 20 64 69 72 73 20 24 70 61 ncoding dirs $pa
6bc0: 74 68 0a 20 20 20 20 20 65 6e 63 6f 64 69 6e 67 th. encoding
6bd0: 20 73 79 73 74 65 6d 20 24 73 79 73 74 65 6d 0a system $system.
6be0: 20 20 20 20 20 73 65 74 20 78 0a 20 7d 20 22 5c set x. } "\
6bf0: 75 30 30 38 63 5c 75 30 30 63 31 20 31 20 7b 75 u008c\u00c1 1 {u
6c00: 6e 6b 6e 6f 77 6e 20 65 6e 63 6f 64 69 6e 67 20 nknown encoding
6c10: 5c 22 73 68 69 66 74 6a 69 73 5c 22 7d 22 0a 40 \"shiftjis\"}".@
6c20: 40 20 2d 38 38 2c 32 30 20 2b 38 38 2c 32 30 20 @ -88,20 +88,20
6c30: 40 40 0a 20 20 20 20 20 6d 61 6b 65 44 69 72 65 @@. makeDire
6c40: 63 74 6f 72 79 20 5b 66 69 6c 65 20 6a 6f 69 6e ctory [file join
6c50: 20 74 6d 70 20 65 6e 63 6f 64 69 6e 67 5d 0a 20 tmp encoding].
6c60: 20 20 20 20 6d 61 6b 65 46 69 6c 65 20 7b 7d 20 makeFile {}
6c70: 5b 66 69 6c 65 20 6a 6f 69 6e 20 74 6d 70 20 65 [file join tmp e
6c80: 6e 63 6f 64 69 6e 67 20 6a 75 6e 6b 2e 65 6e 63 ncoding junk.enc
6c90: 5d 0a 20 20 20 20 20 6d 61 6b 65 46 69 6c 65 20 ]. makeFile
6ca0: 7b 7d 20 5b 66 69 6c 65 20 6a 6f 69 6e 20 74 6d {} [file join tm
6cb0: 70 20 65 6e 63 6f 64 69 6e 67 20 6a 75 6e 6b 32 p encoding junk2
6cc0: 2e 65 6e 63 5d 0a 2d 20 20 20 20 73 65 74 20 70 .enc].- set p
6cd0: 61 74 68 20 5b 74 65 73 74 65 6e 63 6f 64 69 6e ath [testencodin
6ce0: 67 20 70 61 74 68 5d 0a 2d 20 20 20 20 74 65 73 g path].- tes
6cf0: 74 65 6e 63 6f 64 69 6e 67 20 70 61 74 68 20 7b tencoding path {
6d00: 7d 0a 2b 20 20 20 20 73 65 74 20 70 61 74 68 20 }.+ set path
6d10: 5b 65 6e 63 6f 64 69 6e 67 20 64 69 72 73 5d 0a [encoding dirs].
6d20: 2b 20 20 20 20 65 6e 63 6f 64 69 6e 67 20 64 69 + encoding di
6d30: 72 73 20 7b 7d 0a 20 20 20 20 20 63 61 74 63 68 rs {}. catch
6d40: 20 7b 75 6e 73 65 74 20 65 6e 63 6f 64 69 6e 67 {unset encoding
6d50: 73 7d 0a 20 20 20 20 20 63 61 74 63 68 20 7b 75 s}. catch {u
6d60: 6e 73 65 74 20 78 7d 0a 20 20 20 20 20 66 6f 72 nset x}. for
6d70: 65 61 63 68 20 65 6e 63 6f 64 69 6e 67 20 5b 65 each encoding [e
6d80: 6e 63 6f 64 69 6e 67 20 6e 61 6d 65 73 5d 20 7b ncoding names] {
6d90: 0a 20 09 73 65 74 20 65 6e 63 6f 64 69 6e 67 73 . .set encodings
6da0: 28 24 65 6e 63 6f 64 69 6e 67 29 20 31 0a 20 20 ($encoding) 1.
6db0: 20 20 20 7d 0a 2d 20 20 20 20 74 65 73 74 65 6e }.- testen
6dc0: 63 6f 64 69 6e 67 20 70 61 74 68 20 5b 6c 69 73 coding path [lis
6dd0: 74 20 5b 66 69 6c 65 20 6a 6f 69 6e 20 5b 70 77 t [file join [pw
6de0: 64 5d 20 65 6e 63 6f 64 69 6e 67 5d 5d 0a 2b 20 d] encoding]].+
6df0: 20 20 20 65 6e 63 6f 64 69 6e 67 20 64 69 72 73 encoding dirs
6e00: 20 5b 6c 69 73 74 20 5b 66 69 6c 65 20 6a 6f 69 [list [file joi
6e10: 6e 20 5b 70 77 64 5d 20 65 6e 63 6f 64 69 6e 67 n [pwd] encoding
6e20: 5d 5d 0a 20 20 20 20 20 66 6f 72 65 61 63 68 20 ]]. foreach
6e30: 65 6e 63 6f 64 69 6e 67 20 5b 65 6e 63 6f 64 69 encoding [encodi
6e40: 6e 67 20 6e 61 6d 65 73 5d 20 7b 0a 20 09 69 66 ng names] {. .if
6e50: 20 7b 21 5b 69 6e 66 6f 20 65 78 69 73 74 73 20 {![info exists
6e60: 65 6e 63 6f 64 69 6e 67 73 28 24 65 6e 63 6f 64 encodings($encod
6e70: 69 6e 67 29 5d 7d 20 7b 0a 20 09 20 20 20 20 6c ing)]} {. . l
6e80: 61 70 70 65 6e 64 20 78 20 24 65 6e 63 6f 64 69 append x $encodi
6e90: 6e 67 0a 20 09 7d 0a 20 20 20 20 20 7d 0a 2d 20 ng. .}. }.-
6ea0: 20 20 20 74 65 73 74 65 6e 63 6f 64 69 6e 67 20 testencoding
6eb0: 70 61 74 68 20 24 70 61 74 68 0a 2b 20 20 20 20 path $path.+
6ec0: 65 6e 63 6f 64 69 6e 67 20 64 69 72 73 20 24 70 encoding dirs $p
6ed0: 61 74 68 0a 20 20 20 20 20 63 64 20 5b 77 6f 72 ath. cd [wor
6ee0: 6b 69 6e 67 44 69 72 65 63 74 6f 72 79 5d 0a 20 kingDirectory].
6ef0: 20 20 20 20 72 65 6d 6f 76 65 46 69 6c 65 20 5b removeFile [
6f00: 66 69 6c 65 20 6a 6f 69 6e 20 74 6d 70 20 65 6e file join tmp en
6f10: 63 6f 64 69 6e 67 20 6a 75 6e 6b 32 2e 65 6e 63 coding junk2.enc
6f20: 5d 0a 20 20 20 20 20 72 65 6d 6f 76 65 46 69 6c ]. removeFil
6f30: 65 20 5b 66 69 6c 65 20 6a 6f 69 6e 20 74 6d 70 e [file join tmp
6f40: 20 65 6e 63 6f 64 69 6e 67 20 6a 75 6e 6b 2e 65 encoding junk.e
6f50: 6e 63 5d 0a 40 40 20 2d 32 30 39 2c 31 31 20 2b nc].@@ -209,11 +
6f60: 32 30 39 2c 31 31 20 40 40 0a 20 0a 20 74 65 73 209,11 @@. . tes
6f70: 74 20 65 6e 63 6f 64 69 6e 67 2d 31 31 2e 31 20 t encoding-11.1
6f80: 7b 4c 6f 61 64 45 6e 63 6f 64 69 6e 67 46 69 6c {LoadEncodingFil
6f90: 65 3a 20 75 6e 6b 6e 6f 77 6e 20 65 6e 63 6f 64 e: unknown encod
6fa0: 69 6e 67 7d 20 7b 74 65 73 74 65 6e 63 6f 64 69 ing} {testencodi
6fb0: 6e 67 7d 20 7b 0a 20 20 20 20 20 73 65 74 20 73 ng} {. set s
6fc0: 79 73 74 65 6d 20 5b 65 6e 63 6f 64 69 6e 67 20 ystem [encoding
6fd0: 73 79 73 74 65 6d 5d 0a 2d 20 20 20 20 73 65 74 system].- set
6fe0: 20 70 61 74 68 20 5b 74 65 73 74 65 6e 63 6f 64 path [testencod
6ff0: 69 6e 67 20 70 61 74 68 5d 0a 2b 20 20 20 20 73 ing path].+ s
7000: 65 74 20 70 61 74 68 20 5b 65 6e 63 6f 64 69 6e et path [encodin
7010: 67 20 64 69 72 73 5d 0a 20 20 20 20 20 65 6e 63 g dirs]. enc
7020: 6f 64 69 6e 67 20 73 79 73 74 65 6d 20 69 73 6f oding system iso
7030: 38 38 35 39 2d 31 0a 2d 20 20 20 20 74 65 73 74 8859-1.- test
7040: 65 6e 63 6f 64 69 6e 67 20 70 61 74 68 20 7b 7d encoding path {}
7050: 0a 2b 20 20 20 20 65 6e 63 6f 64 69 6e 67 20 64 .+ encoding d
7060: 69 72 73 20 7b 7d 0a 20 20 20 20 20 73 65 74 20 irs {}. set
7070: 78 20 5b 6c 69 73 74 20 5b 63 61 74 63 68 20 7b x [list [catch {
7080: 65 6e 63 6f 64 69 6e 67 20 63 6f 6e 76 65 72 74 encoding convert
7090: 74 6f 20 6a 69 73 30 32 30 38 20 5c 75 34 65 34 to jis0208 \u4e4
70a0: 65 7d 20 6d 73 67 5d 20 24 6d 73 67 5d 0a 2d 20 e} msg] $msg].-
70b0: 20 20 20 74 65 73 74 65 6e 63 6f 64 69 6e 67 20 testencoding
70c0: 70 61 74 68 20 24 70 61 74 68 0a 2b 20 20 20 20 path $path.+
70d0: 65 6e 63 6f 64 69 6e 67 20 64 69 72 73 20 24 70 encoding dirs $p
70e0: 61 74 68 0a 20 20 20 20 20 65 6e 63 6f 64 69 6e ath. encodin
70f0: 67 20 73 79 73 74 65 6d 20 24 73 79 73 74 65 6d g system $system
7100: 0a 20 20 20 20 20 6c 61 70 70 65 6e 64 20 78 20 . lappend x
7110: 5b 65 6e 63 6f 64 69 6e 67 20 63 6f 6e 76 65 72 [encoding conver
7120: 74 74 6f 20 6a 69 73 30 32 30 38 20 5c 75 34 65 tto jis0208 \u4e
7130: 34 65 5d 0a 20 7d 20 7b 31 20 7b 75 6e 6b 6e 6f 4e]. } {1 {unkno
7140: 77 6e 20 65 6e 63 6f 64 69 6e 67 20 22 6a 69 73 wn encoding "jis
7150: 30 32 30 38 22 7d 20 38 43 7d 0a 40 40 20 2d 32 0208"} 8C}.@@ -2
7160: 33 34 2c 31 30 20 2b 32 33 34 2c 31 30 20 40 40 34,10 +234,10 @@
7170: 0a 20 7d 20 5b 76 69 65 77 61 62 6c 65 20 22 5c . } [viewable "\
7180: 78 31 62 5c 24 42 38 43 5c 78 31 62 28 42 22 5d x1b\$B8C\x1b(B"]
7190: 0a 20 74 65 73 74 20 65 6e 63 6f 64 69 6e 67 2d . test encoding-
71a0: 31 31 2e 36 20 7b 4c 6f 61 64 45 6e 63 6f 64 69 11.6 {LoadEncodi
71b0: 6e 67 46 69 6c 65 3a 20 69 6e 76 61 6c 69 64 20 ngFile: invalid
71c0: 66 69 6c 65 7d 20 7b 74 65 73 74 65 6e 63 6f 64 file} {testencod
71d0: 69 6e 67 7d 20 7b 0a 20 20 20 20 20 73 65 74 20 ing} {. set
71e0: 73 79 73 74 65 6d 20 5b 65 6e 63 6f 64 69 6e 67 system [encoding
71f0: 20 73 79 73 74 65 6d 5d 0a 2d 20 20 20 20 73 65 system].- se
7200: 74 20 70 61 74 68 20 5b 74 65 73 74 65 6e 63 6f t path [testenco
7210: 64 69 6e 67 20 70 61 74 68 5d 0a 2b 20 20 20 20 ding path].+
7220: 73 65 74 20 70 61 74 68 20 5b 65 6e 63 6f 64 69 set path [encodi
7230: 6e 67 20 64 69 72 73 5d 0a 20 20 20 20 20 65 6e ng dirs]. en
7240: 63 6f 64 69 6e 67 20 73 79 73 74 65 6d 20 69 64 coding system id
7250: 65 6e 74 69 74 79 0a 20 20 20 20 20 63 64 20 5b entity. cd [
7260: 74 65 6d 70 6f 72 61 72 79 44 69 72 65 63 74 6f temporaryDirecto
7270: 72 79 5d 0a 2d 20 20 20 20 74 65 73 74 65 6e 63 ry].- testenc
7280: 6f 64 69 6e 67 20 70 61 74 68 20 5b 66 69 6c 65 oding path [file
7290: 20 6a 6f 69 6e 20 74 6d 70 20 65 6e 63 6f 64 69 join tmp encodi
72a0: 6e 67 5d 0a 2b 20 20 20 20 65 6e 63 6f 64 69 6e ng].+ encodin
72b0: 67 20 64 69 72 73 20 5b 66 69 6c 65 20 6a 6f 69 g dirs [file joi
72c0: 6e 20 74 6d 70 20 65 6e 63 6f 64 69 6e 67 5d 0a n tmp encoding].
72d0: 20 20 20 20 20 6d 61 6b 65 44 69 72 65 63 74 6f makeDirecto
72e0: 72 79 20 74 6d 70 0a 20 20 20 20 20 6d 61 6b 65 ry tmp. make
72f0: 44 69 72 65 63 74 6f 72 79 20 5b 66 69 6c 65 20 Directory [file
7300: 6a 6f 69 6e 20 74 6d 70 20 65 6e 63 6f 64 69 6e join tmp encodin
7310: 67 5d 0a 20 20 20 20 20 73 65 74 20 66 20 5b 6f g]. set f [o
7320: 70 65 6e 20 5b 66 69 6c 65 20 6a 6f 69 6e 20 74 pen [file join t
7330: 6d 70 20 65 6e 63 6f 64 69 6e 67 20 73 70 6c 61 mp encoding spla
7340: 74 2e 65 6e 63 5d 20 77 5d 0a 40 40 20 2d 32 34 t.enc] w].@@ -24
7350: 39 2c 37 20 2b 32 34 39 2c 37 20 40 40 0a 20 20 9,7 +249,7 @@.
7360: 20 20 20 72 65 6d 6f 76 65 44 69 72 65 63 74 6f removeDirecto
7370: 72 79 20 5b 66 69 6c 65 20 6a 6f 69 6e 20 74 6d ry [file join tm
7380: 70 20 65 6e 63 6f 64 69 6e 67 5d 0a 20 20 20 20 p encoding].
7390: 20 72 65 6d 6f 76 65 44 69 72 65 63 74 6f 72 79 removeDirectory
73a0: 20 74 6d 70 0a 20 20 20 20 20 63 64 20 5b 77 6f tmp. cd [wo
73b0: 72 6b 69 6e 67 44 69 72 65 63 74 6f 72 79 5d 0a rkingDirectory].
73c0: 2d 20 20 20 20 74 65 73 74 65 6e 63 6f 64 69 6e - testencodin
73d0: 67 20 70 61 74 68 20 24 70 61 74 68 0a 2b 20 20 g path $path.+
73e0: 20 20 65 6e 63 6f 64 69 6e 67 20 64 69 72 73 20 encoding dirs
73f0: 24 70 61 74 68 0a 20 20 20 20 20 65 6e 63 6f 64 $path. encod
7400: 69 6e 67 20 73 79 73 74 65 6d 20 24 73 79 73 74 ing system $syst
7410: 65 6d 0a 20 20 20 20 20 73 65 74 20 78 0a 20 7d em. set x. }
7420: 20 7b 31 20 7b 69 6e 76 61 6c 69 64 20 65 6e 63 {1 {invalid enc
7430: 6f 64 69 6e 67 20 66 69 6c 65 20 22 73 70 6c 61 oding file "spla
7440: 74 22 7d 7d 0a 49 6e 64 65 78 3a 20 75 6e 69 78 t"}}.Index: unix
7450: 2f 74 63 6c 55 6e 69 78 49 6e 69 74 2e 63 0a 3d /tclUnixInit.c.=
7460: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
7470: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
7480: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
7490: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
74a0: 3d 3d 0a 52 43 53 20 66 69 6c 65 3a 20 2f 63 76 ==.RCS file: /cv
74b0: 73 72 6f 6f 74 2f 74 63 6c 2f 74 63 6c 2f 75 6e sroot/tcl/tcl/un
74c0: 69 78 2f 74 63 6c 55 6e 69 78 49 6e 69 74 2e 63 ix/tclUnixInit.c
74d0: 2c 76 0a 72 65 74 72 69 65 76 69 6e 67 20 72 65 ,v.retrieving re
74e0: 76 69 73 69 6f 6e 20 31 2e 36 32 0a 64 69 66 66 vision 1.62.diff
74f0: 20 2d 75 20 2d 72 31 2e 36 32 20 74 63 6c 55 6e -u -r1.62 tclUn
7500: 69 78 49 6e 69 74 2e 63 0a 2d 2d 2d 20 75 6e 69 ixInit.c.--- uni
7510: 78 2f 74 63 6c 55 6e 69 78 49 6e 69 74 2e 63 09 x/tclUnixInit.c.
7520: 32 35 20 4a 61 6e 20 32 30 30 36 20 32 32 3a 35 25 Jan 2006 22:5
7530: 37 3a 35 33 20 2d 30 30 30 30 09 31 2e 36 32 0a 7:53 -0000.1.62.
7540: 2b 2b 2b 20 75 6e 69 78 2f 74 63 6c 55 6e 69 78 +++ unix/tclUnix
7550: 49 6e 69 74 2e 63 09 38 20 46 65 62 20 32 30 30 Init.c.8 Feb 200
7560: 36 20 32 31 3a 32 35 3a 35 31 20 2d 30 30 30 30 6 21:25:51 -0000
7570: 0a 40 40 20 2d 35 37 31 2c 37 20 2b 35 37 31 2c .@@ -571,7 +571,
7580: 37 20 40 40 0a 20 7b 0a 20 20 20 20 20 54 63 6c 7 @@. {. Tcl
7590: 5f 44 53 74 72 69 6e 67 20 65 6e 63 6f 64 69 6e _DString encodin
75a0: 67 4e 61 6d 65 3b 0a 20 20 20 20 20 54 63 6c 5f gName;. Tcl_
75b0: 53 65 74 53 79 73 74 65 6d 45 6e 63 6f 64 69 6e SetSystemEncodin
75c0: 67 28 4e 55 4c 4c 2c 0a 2d 09 20 20 20 20 54 63 g(NULL,.-. Tc
75d0: 6c 70 47 65 74 45 6e 63 6f 64 69 6e 67 4e 61 6d lpGetEncodingNam
75e0: 65 46 72 6f 6d 45 6e 76 69 72 6f 6e 6d 65 6e 74 eFromEnvironment
75f0: 28 26 65 6e 63 6f 64 69 6e 67 4e 61 6d 65 29 29 (&encodingName))
7600: 3b 0a 2b 09 20 20 20 20 54 63 6c 5f 47 65 74 45 ;.+. Tcl_GetE
7610: 6e 63 6f 64 69 6e 67 4e 61 6d 65 46 72 6f 6d 45 ncodingNameFromE
7620: 6e 76 69 72 6f 6e 6d 65 6e 74 28 26 65 6e 63 6f nvironment(&enco
7630: 64 69 6e 67 4e 61 6d 65 29 29 3b 0a 20 20 20 20 dingName));.
7640: 20 54 63 6c 5f 44 53 74 72 69 6e 67 46 72 65 65 Tcl_DStringFree
7650: 28 26 65 6e 63 6f 64 69 6e 67 4e 61 6d 65 29 3b (&encodingName);
7660: 0a 20 7d 0a 20 0a 40 40 20 2d 36 30 35 2c 37 20 . }. .@@ -605,7
7670: 2b 36 30 35 2c 37 20 40 40 0a 20 7d 0a 20 0a 20 +605,7 @@. }. .
7680: 43 4f 4e 53 54 20 63 68 61 72 20 2a 0a 2d 54 63 CONST char *.-Tc
7690: 6c 70 47 65 74 45 6e 63 6f 64 69 6e 67 4e 61 6d lpGetEncodingNam
76a0: 65 46 72 6f 6d 45 6e 76 69 72 6f 6e 6d 65 6e 74 eFromEnvironment
76b0: 28 0a 2b 54 63 6c 5f 47 65 74 45 6e 63 6f 64 69 (.+Tcl_GetEncodi
76c0: 6e 67 4e 61 6d 65 46 72 6f 6d 45 6e 76 69 72 6f ngNameFromEnviro
76d0: 6e 6d 65 6e 74 28 0a 20 20 20 20 20 54 63 6c 5f nment(. Tcl_
76e0: 44 53 74 72 69 6e 67 20 2a 62 75 66 50 74 72 29 DString *bufPtr)
76f0: 0a 20 7b 0a 20 20 20 20 20 43 4f 4e 53 54 20 63 . {. CONST c
7700: 68 61 72 20 2a 65 6e 63 6f 64 69 6e 67 3b 0a 49 har *encoding;.I
7710: 6e 64 65 78 3a 20 77 69 6e 2f 74 63 6c 57 69 6e ndex: win/tclWin
7720: 49 6e 69 74 2e 63 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d Init.c.=========
7730: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
7740: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
7750: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
7760: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 52 43 53 20 66 ==========.RCS f
7770: 69 6c 65 3a 20 2f 63 76 73 72 6f 6f 74 2f 74 63 ile: /cvsroot/tc
7780: 6c 2f 74 63 6c 2f 77 69 6e 2f 74 63 6c 57 69 6e l/tcl/win/tclWin
7790: 49 6e 69 74 2e 63 2c 76 0a 72 65 74 72 69 65 76 Init.c,v.retriev
77a0: 69 6e 67 20 72 65 76 69 73 69 6f 6e 20 31 2e 36 ing revision 1.6
77b0: 38 0a 64 69 66 66 20 2d 75 20 2d 72 31 2e 36 38 8.diff -u -r1.68
77c0: 20 74 63 6c 57 69 6e 49 6e 69 74 2e 63 0a 2d 2d tclWinInit.c.--
77d0: 2d 20 77 69 6e 2f 74 63 6c 57 69 6e 49 6e 69 74 - win/tclWinInit
77e0: 2e 63 09 34 20 4e 6f 76 20 32 30 30 35 20 30 30 .c.4 Nov 2005 00
77f0: 3a 30 36 3a 35 30 20 2d 30 30 30 30 09 31 2e 36 :06:50 -0000.1.6
7800: 38 0a 2b 2b 2b 20 77 69 6e 2f 74 63 6c 57 69 6e 8.+++ win/tclWin
7810: 49 6e 69 74 2e 63 09 38 20 46 65 62 20 32 30 30 Init.c.8 Feb 200
7820: 36 20 32 31 3a 32 35 3a 35 32 20 2d 30 30 30 30 6 21:25:52 -0000
7830: 0a 40 40 20 2d 34 35 30 2c 37 20 2b 34 35 30 2c .@@ -450,7 +450,
7840: 37 20 40 40 0a 20 0a 20 20 20 20 20 54 63 6c 70 7 @@. . Tclp
7850: 53 65 74 49 6e 74 65 72 66 61 63 65 73 28 29 3b SetInterfaces();
7860: 0a 20 20 20 20 20 54 63 6c 5f 53 65 74 53 79 73 . Tcl_SetSys
7870: 74 65 6d 45 6e 63 6f 64 69 6e 67 28 4e 55 4c 4c temEncoding(NULL
7880: 2c 0a 2d 09 20 20 20 20 54 63 6c 70 47 65 74 45 ,.-. TclpGetE
7890: 6e 63 6f 64 69 6e 67 4e 61 6d 65 46 72 6f 6d 45 ncodingNameFromE
78a0: 6e 76 69 72 6f 6e 6d 65 6e 74 28 26 65 6e 63 6f nvironment(&enco
78b0: 64 69 6e 67 4e 61 6d 65 29 29 3b 0a 2b 09 20 20 dingName));.+.
78c0: 20 20 54 63 6c 5f 47 65 74 45 6e 63 6f 64 69 6e Tcl_GetEncodin
78d0: 67 4e 61 6d 65 46 72 6f 6d 45 6e 76 69 72 6f 6e gNameFromEnviron
78e0: 6d 65 6e 74 28 26 65 6e 63 6f 64 69 6e 67 4e 61 ment(&encodingNa
78f0: 6d 65 29 29 3b 0a 20 20 20 20 20 54 63 6c 5f 44 me));. Tcl_D
7900: 53 74 72 69 6e 67 46 72 65 65 28 26 65 6e 63 6f StringFree(&enco
7910: 64 69 6e 67 4e 61 6d 65 29 3b 0a 20 7d 0a 20 0a dingName);. }. .
7920: 40 40 20 2d 34 36 36 2c 37 20 2b 34 36 36 2c 37 @@ -466,7 +466,7
7930: 20 40 40 0a 20 7d 0a 20 0a 20 43 4f 4e 53 54 20 @@. }. . CONST
7940: 63 68 61 72 20 2a 0a 2d 54 63 6c 70 47 65 74 45 char *.-TclpGetE
7950: 6e 63 6f 64 69 6e 67 4e 61 6d 65 46 72 6f 6d 45 ncodingNameFromE
7960: 6e 76 69 72 6f 6e 6d 65 6e 74 28 0a 2b 54 63 6c nvironment(.+Tcl
7970: 5f 47 65 74 45 6e 63 6f 64 69 6e 67 4e 61 6d 65 _GetEncodingName
7980: 46 72 6f 6d 45 6e 76 69 72 6f 6e 6d 65 6e 74 28 FromEnvironment(
7990: 0a 20 20 20 20 20 54 63 6c 5f 44 53 74 72 69 6e . Tcl_DStrin
79a0: 67 20 2a 62 75 66 50 74 72 29 0a 20 7b 0a 20 20 g *bufPtr). {.
79b0: 20 20 20 54 63 6c 5f 44 53 74 72 69 6e 67 49 6e Tcl_DStringIn
79c0: 69 74 28 62 75 66 50 74 72 29 3b 0a it(bufPtr);.