Tcl Source Code

Hex Artifact Content
Login

Artifact 175e55222308b1500a960ac13d3ef763c574beb8:

Attachment "bin.patch" to ticket [2368084fff] added by ferrieux 2008-12-01 07:54:21.
0000: 49 6e 64 65 78 3a 20 67 65 6e 65 72 69 63 2f 74  Index: generic/t
0010: 63 6c 49 6e 74 2e 68 0a 3d 3d 3d 3d 3d 3d 3d 3d  clInt.h.========
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 3d 3d 0a 52 43 53 20  ===========.RCS 
0060: 66 69 6c 65 3a 20 2f 63 76 73 72 6f 6f 74 2f 74  file: /cvsroot/t
0070: 63 6c 2f 74 63 6c 2f 67 65 6e 65 72 69 63 2f 74  cl/tcl/generic/t
0080: 63 6c 49 6e 74 2e 68 2c 76 0a 72 65 74 72 69 65  clInt.h,v.retrie
0090: 76 69 6e 67 20 72 65 76 69 73 69 6f 6e 20 31 2e  ving revision 1.
00a0: 34 30 37 0a 64 69 66 66 20 2d 75 20 2d 72 31 2e  407.diff -u -r1.
00b0: 34 30 37 20 74 63 6c 49 6e 74 2e 68 0a 2d 2d 2d  407 tclInt.h.---
00c0: 20 67 65 6e 65 72 69 63 2f 74 63 6c 49 6e 74 2e   generic/tclInt.
00d0: 68 09 32 39 20 4e 6f 76 20 32 30 30 38 20 31 38  h.29 Nov 2008 18
00e0: 3a 31 37 3a 32 30 20 2d 30 30 30 30 09 31 2e 34  :17:20 -0000.1.4
00f0: 30 37 0a 2b 2b 2b 20 67 65 6e 65 72 69 63 2f 74  07.+++ generic/t
0100: 63 6c 49 6e 74 2e 68 09 31 20 44 65 63 20 32 30  clInt.h.1 Dec 20
0110: 30 38 20 30 30 3a 34 35 3a 35 35 20 2d 30 30 30  08 00:45:55 -000
0120: 30 0a 40 40 20 2d 32 34 36 31 2c 36 20 2b 32 34  0.@@ -2461,6 +24
0130: 36 31 2c 38 20 40 40 0a 20 09 09 09 09 2f 2a 20  61,8 @@. ..../* 
0140: 55 73 65 20 5b 73 63 61 6e 5d 20 72 75 6c 65 73  Use [scan] rules
0150: 20 64 65 61 6c 69 6e 67 20 77 69 74 68 20 30 3f   dealing with 0?
0160: 20 70 72 65 66 69 78 65 73 20 2a 2f 0a 20 23 64   prefixes */. #d
0170: 65 66 69 6e 65 20 54 43 4c 5f 50 41 52 53 45 5f  efine TCL_PARSE_
0180: 4e 4f 5f 57 48 49 54 45 53 50 41 43 45 09 09 33  NO_WHITESPACE..3
0190: 32 0a 20 09 09 09 09 2f 2a 20 52 65 6a 65 63 74  2. ..../* Reject
01a0: 20 6c 65 61 64 69 6e 67 2f 74 72 61 69 6c 69 6e   leading/trailin
01b0: 67 20 77 68 69 74 65 73 70 61 63 65 20 2a 2f 0a  g whitespace */.
01c0: 2b 23 64 65 66 69 6e 65 20 54 43 4c 5f 50 41 52  +#define TCL_PAR
01d0: 53 45 5f 42 49 4e 41 52 59 5f 4f 4e 4c 59 09 36  SE_BINARY_ONLY.6
01e0: 34 0a 2b 09 09 09 09 2f 2a 20 50 61 72 73 65 20  4.+..../* Parse 
01f0: 62 69 6e 61 72 79 20 65 76 65 6e 20 77 69 74 68  binary even with
0200: 6f 75 74 20 70 72 65 66 69 78 20 2a 2f 0a 20 0a  out prefix */. .
0210: 20 2f 2a 0a 20 20 2a 2d 2d 2d 2d 2d 2d 2d 2d 2d   /*.  *---------
0220: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
0230: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
0240: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
0250: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 49 6e  -------------.In
0260: 64 65 78 3a 20 67 65 6e 65 72 69 63 2f 74 63 6c  dex: generic/tcl
0270: 53 63 61 6e 2e 63 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d  Scan.c.=========
0280: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
0290: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
02a0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
02b0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 52 43 53 20 66  ==========.RCS f
02c0: 69 6c 65 3a 20 2f 63 76 73 72 6f 6f 74 2f 74 63  ile: /cvsroot/tc
02d0: 6c 2f 74 63 6c 2f 67 65 6e 65 72 69 63 2f 74 63  l/tcl/generic/tc
02e0: 6c 53 63 61 6e 2e 63 2c 76 0a 72 65 74 72 69 65  lScan.c,v.retrie
02f0: 76 69 6e 67 20 72 65 76 69 73 69 6f 6e 20 31 2e  ving revision 1.
0300: 32 39 0a 64 69 66 66 20 2d 75 20 2d 72 31 2e 32  29.diff -u -r1.2
0310: 39 20 74 63 6c 53 63 61 6e 2e 63 0a 2d 2d 2d 20  9 tclScan.c.--- 
0320: 67 65 6e 65 72 69 63 2f 74 63 6c 53 63 61 6e 2e  generic/tclScan.
0330: 63 09 31 39 20 4a 75 6c 20 32 30 30 38 20 32 32  c.19 Jul 2008 22
0340: 3a 35 30 3a 34 32 20 2d 30 30 30 30 09 31 2e 32  :50:42 -0000.1.2
0350: 39 0a 2b 2b 2b 20 67 65 6e 65 72 69 63 2f 74 63  9.+++ generic/tc
0360: 6c 53 63 61 6e 2e 63 09 31 20 44 65 63 20 32 30  lScan.c.1 Dec 20
0370: 30 38 20 30 30 3a 34 35 3a 35 36 20 2d 30 30 30  08 00:45:56 -000
0380: 30 0a 40 40 20 2d 34 30 35 2c 36 20 2b 34 30 35  0.@@ -405,6 +405
0390: 2c 37 20 40 40 0a 20 09 63 61 73 65 20 27 69 27  ,7 @@. .case 'i'
03a0: 3a 0a 20 09 63 61 73 65 20 27 6f 27 3a 0a 20 09  :. .case 'o':. .
03b0: 63 61 73 65 20 27 78 27 3a 0a 2b 09 63 61 73 65  case 'x':.+.case
03c0: 20 27 62 27 3a 0a 20 09 20 20 20 20 62 72 65 61   'b':. .    brea
03d0: 6b 3b 0a 20 09 63 61 73 65 20 27 75 27 3a 0a 20  k;. .case 'u':. 
03e0: 09 20 20 20 20 69 66 20 28 66 6c 61 67 73 20 26  .    if (flags &
03f0: 20 53 43 41 4e 5f 42 49 47 29 20 7b 0a 40 40 20   SCAN_BIG) {.@@ 
0400: 2d 37 33 32 2c 36 20 2b 37 33 33 2c 31 30 20 40  -732,6 +733,10 @
0410: 40 0a 20 09 20 20 20 20 6f 70 20 3d 20 27 69 27  @. .    op = 'i'
0420: 3b 0a 20 09 20 20 20 20 70 61 72 73 65 46 6c 61  ;. .    parseFla
0430: 67 20 7c 3d 20 54 43 4c 5f 50 41 52 53 45 5f 48  g |= TCL_PARSE_H
0440: 45 58 41 44 45 43 49 4d 41 4c 5f 4f 4e 4c 59 3b  EXADECIMAL_ONLY;
0450: 0a 20 09 20 20 20 20 62 72 65 61 6b 3b 0a 2b 09  . .    break;.+.
0460: 63 61 73 65 20 27 62 27 3a 0a 2b 09 20 20 20 20  case 'b':.+.    
0470: 6f 70 20 3d 20 27 69 27 3b 0a 2b 09 20 20 20 20  op = 'i';.+.    
0480: 70 61 72 73 65 46 6c 61 67 20 7c 3d 20 54 43 4c  parseFlag |= TCL
0490: 5f 50 41 52 53 45 5f 42 49 4e 41 52 59 5f 4f 4e  _PARSE_BINARY_ON
04a0: 4c 59 3b 0a 2b 09 20 20 20 20 62 72 65 61 6b 3b  LY;.+.    break;
04b0: 0a 20 09 63 61 73 65 20 27 75 27 3a 0a 20 09 20  . .case 'u':. . 
04c0: 20 20 20 6f 70 20 3d 20 27 69 27 3b 0a 20 09 20     op = 'i';. . 
04d0: 20 20 20 70 61 72 73 65 46 6c 61 67 20 7c 3d 20     parseFlag |= 
04e0: 54 43 4c 5f 50 41 52 53 45 5f 44 45 43 49 4d 41  TCL_PARSE_DECIMA
04f0: 4c 5f 4f 4e 4c 59 3b 0a 49 6e 64 65 78 3a 20 67  L_ONLY;.Index: g
0500: 65 6e 65 72 69 63 2f 74 63 6c 53 74 72 54 6f 44  eneric/tclStrToD
0510: 2e 63 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  .c.=============
0520: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
0530: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
0540: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
0550: 3d 3d 3d 3d 3d 3d 0a 52 43 53 20 66 69 6c 65 3a  ======.RCS file:
0560: 20 2f 63 76 73 72 6f 6f 74 2f 74 63 6c 2f 74 63   /cvsroot/tcl/tc
0570: 6c 2f 67 65 6e 65 72 69 63 2f 74 63 6c 53 74 72  l/generic/tclStr
0580: 54 6f 44 2e 63 2c 76 0a 72 65 74 72 69 65 76 69  ToD.c,v.retrievi
0590: 6e 67 20 72 65 76 69 73 69 6f 6e 20 31 2e 33 34  ng revision 1.34
05a0: 0a 64 69 66 66 20 2d 75 20 2d 72 31 2e 33 34 20  .diff -u -r1.34 
05b0: 74 63 6c 53 74 72 54 6f 44 2e 63 0a 2d 2d 2d 20  tclStrToD.c.--- 
05c0: 67 65 6e 65 72 69 63 2f 74 63 6c 53 74 72 54 6f  generic/tclStrTo
05d0: 44 2e 63 09 31 20 41 70 72 20 32 30 30 38 20 32  D.c.1 Apr 2008 2
05e0: 30 3a 30 38 3a 32 32 20 2d 30 30 30 30 09 31 2e  0:08:22 -0000.1.
05f0: 33 34 0a 2b 2b 2b 20 67 65 6e 65 72 69 63 2f 74  34.+++ generic/t
0600: 63 6c 53 74 72 54 6f 44 2e 63 09 31 20 44 65 63  clStrToD.c.1 Dec
0610: 20 32 30 30 38 20 30 30 3a 34 35 3a 35 39 20 2d   2008 00:45:59 -
0620: 30 30 30 30 0a 40 40 20 2d 33 36 39 2c 36 20 2b  0000.@@ -369,6 +
0630: 33 36 39 2c 38 20 40 40 0a 20 09 09 62 72 65 61  369,8 @@. ..brea
0640: 6b 3b 0a 20 09 20 20 20 20 7d 20 65 6c 73 65 20  k;. .    } else 
0650: 69 66 20 28 66 6c 61 67 73 20 26 20 54 43 4c 5f  if (flags & TCL_
0660: 50 41 52 53 45 5f 48 45 58 41 44 45 43 49 4d 41  PARSE_HEXADECIMA
0670: 4c 5f 4f 4e 4c 59 29 20 7b 0a 20 09 09 67 6f 74  L_ONLY) {. ..got
0680: 6f 20 7a 65 72 6f 78 3b 0a 2b 09 20 20 20 20 7d  o zerox;.+.    }
0690: 20 65 6c 73 65 20 69 66 20 28 66 6c 61 67 73 20   else if (flags 
06a0: 26 20 54 43 4c 5f 50 41 52 53 45 5f 42 49 4e 41  & TCL_PARSE_BINA
06b0: 52 59 5f 4f 4e 4c 59 29 20 7b 0a 2b 09 09 67 6f  RY_ONLY) {.+..go
06c0: 74 6f 20 7a 65 72 6f 62 3b 0a 20 09 20 20 20 20  to zerob;. .    
06d0: 7d 20 65 6c 73 65 20 69 66 20 28 66 6c 61 67 73  } else if (flags
06e0: 20 26 20 54 43 4c 5f 50 41 52 53 45 5f 4f 43 54   & TCL_PARSE_OCT
06f0: 41 4c 5f 4f 4e 4c 59 29 20 7b 0a 20 09 09 67 6f  AL_ONLY) {. ..go
0700: 74 6f 20 7a 65 72 6f 6f 3b 0a 20 09 20 20 20 20  to zeroo;. .    
0710: 7d 20 65 6c 73 65 20 69 66 20 28 69 73 64 69 67  } else if (isdig
0720: 69 74 28 55 43 48 41 52 28 63 29 29 29 20 7b 0a  it(UCHAR(c))) {.
0730: 40 40 20 2d 33 39 35 2c 39 20 2b 33 39 37 2c 39  @@ -395,9 +397,9
0740: 20 40 40 0a 20 09 63 61 73 65 20 5a 45 52 4f 3a   @@. .case ZERO:
0750: 0a 20 09 20 20 20 20 2f 2a 0a 20 09 20 20 20 20  . .    /*. .    
0760: 20 2a 20 53 63 61 6e 6e 65 64 20 61 20 6c 65 61   * Scanned a lea
0770: 64 69 6e 67 20 7a 65 72 6f 20 28 70 65 72 68 61  ding zero (perha
0780: 70 73 20 77 69 74 68 20 61 20 2b 20 6f 72 20 2d  ps with a + or -
0790: 29 2e 20 41 63 63 65 70 74 61 62 6c 65 0a 2d 09  ). Acceptable.-.
07a0: 20 20 20 20 20 2a 20 69 6e 70 75 74 73 20 61 72       * inputs ar
07b0: 65 20 64 69 67 69 74 73 2c 20 70 65 72 69 6f 64  e digits, period
07c0: 2c 20 58 2c 20 61 6e 64 20 45 2e 20 49 66 20 38  , X, and E. If 8
07d0: 20 6f 72 20 39 20 69 73 20 65 6e 63 6f 75 6e 74   or 9 is encount
07e0: 65 72 65 64 2c 0a 2b 09 20 20 20 20 20 2a 20 69  ered,.+.     * i
07f0: 6e 70 75 74 73 20 61 72 65 20 64 69 67 69 74 73  nputs are digits
0800: 2c 20 70 65 72 69 6f 64 2c 20 58 2c 20 62 2c 20  , period, X, b, 
0810: 61 6e 64 20 45 2e 20 49 66 20 38 20 6f 72 20 39  and E. If 8 or 9
0820: 20 69 73 20 65 6e 63 6f 75 6e 74 65 72 65 64 2c   is encountered,
0830: 0a 20 09 20 20 20 20 20 2a 20 74 68 65 20 6e 75  . .     * the nu
0840: 6d 62 65 72 20 63 61 6e 27 74 20 62 65 20 6f 63  mber can't be oc
0850: 74 61 6c 2e 20 54 68 69 73 20 73 74 61 74 65 20  tal. This state 
0860: 61 6e 64 20 74 68 65 20 4f 43 54 41 4c 20 73 74  and the OCTAL st
0870: 61 74 65 0a 2d 09 20 20 20 20 20 2a 20 64 69 66  ate.-.     * dif
0880: 66 65 72 20 6f 6e 6c 79 20 69 6e 20 77 68 65 74  fer only in whet
0890: 68 65 72 20 74 68 65 79 20 72 65 63 6f 67 6e 69  her they recogni
08a0: 7a 65 20 27 58 27 2e 0a 2b 09 20 20 20 20 20 2a  ze 'X'..+.     *
08b0: 20 64 69 66 66 65 72 20 6f 6e 6c 79 20 69 6e 20   differ only in 
08c0: 77 68 65 74 68 65 72 20 74 68 65 79 20 72 65 63  whether they rec
08d0: 6f 67 6e 69 7a 65 20 27 58 27 20 61 6e 64 20 27  ognize 'X' and '
08e0: 62 27 2e 0a 20 09 20 20 20 20 20 2a 2f 0a 20 0a  b'.. .     */. .
08f0: 20 09 20 20 20 20 61 63 63 65 70 74 53 74 61 74   .    acceptStat
0900: 65 20 3d 20 73 74 61 74 65 3b 0a 40 40 20 2d 34  e = state;.@@ -4
0910: 31 30 2c 31 33 20 2b 34 31 32 2c 31 36 20 40 40  10,13 +412,16 @@
0920: 0a 20 09 20 20 20 20 69 66 20 28 66 6c 61 67 73  . .    if (flags
0930: 20 26 20 54 43 4c 5f 50 41 52 53 45 5f 48 45 58   & TCL_PARSE_HEX
0940: 41 44 45 43 49 4d 41 4c 5f 4f 4e 4c 59 29 20 7b  ADECIMAL_ONLY) {
0950: 0a 20 09 09 67 6f 74 6f 20 7a 65 72 6f 78 3b 0a  . ..goto zerox;.
0960: 20 09 20 20 20 20 7d 0a 2d 09 20 20 20 20 69 66   .    }.-.    if
0970: 20 28 66 6c 61 67 73 20 26 20 54 43 4c 5f 50 41   (flags & TCL_PA
0980: 52 53 45 5f 53 43 41 4e 5f 50 52 45 46 49 58 45  RSE_SCAN_PREFIXE
0990: 53 29 20 7b 0a 2d 09 09 67 6f 74 6f 20 7a 65 72  S) {.-..goto zer
09a0: 6f 6f 3b 0a 2d 09 20 20 20 20 7d 0a 20 09 20 20  oo;.-.    }. .  
09b0: 20 20 69 66 20 28 63 20 3d 3d 20 27 62 27 20 7c    if (c == 'b' |
09c0: 7c 20 63 20 3d 3d 20 27 42 27 29 20 7b 0a 20 09  | c == 'B') {. .
09d0: 09 73 74 61 74 65 20 3d 20 5a 45 52 4f 5f 42 3b  .state = ZERO_B;
09e0: 0a 20 09 09 62 72 65 61 6b 3b 0a 20 09 20 20 20  . ..break;. .   
09f0: 20 7d 0a 2b 09 20 20 20 20 69 66 20 28 66 6c 61   }.+.    if (fla
0a00: 67 73 20 26 20 54 43 4c 5f 50 41 52 53 45 5f 42  gs & TCL_PARSE_B
0a10: 49 4e 41 52 59 5f 4f 4e 4c 59 29 20 7b 0a 2b 09  INARY_ONLY) {.+.
0a20: 09 67 6f 74 6f 20 7a 65 72 6f 62 3b 0a 2b 09 20  .goto zerob;.+. 
0a30: 20 20 20 7d 0a 2b 09 20 20 20 20 69 66 20 28 66     }.+.    if (f
0a40: 6c 61 67 73 20 26 20 54 43 4c 5f 50 41 52 53 45  lags & TCL_PARSE
0a50: 5f 53 43 41 4e 5f 50 52 45 46 49 58 45 53 29 20  _SCAN_PREFIXES) 
0a60: 7b 0a 2b 09 09 67 6f 74 6f 20 7a 65 72 6f 6f 3b  {.+..goto zeroo;
0a70: 0a 2b 09 20 20 20 20 7d 0a 20 09 20 20 20 20 69  .+.    }. .    i
0a80: 66 20 28 63 20 3d 3d 20 27 6f 27 20 7c 7c 20 63  f (c == 'o' || c
0a90: 20 3d 3d 20 27 4f 27 29 20 7b 0a 20 09 09 65 78   == 'O') {. ..ex
0aa0: 70 6c 69 63 69 74 4f 63 74 61 6c 20 3d 20 31 3b  plicitOctal = 1;
0ab0: 0a 20 09 09 73 74 61 74 65 20 3d 20 5a 45 52 4f  . ..state = ZERO
0ac0: 5f 4f 3b 0a 40 40 20 2d 36 30 32 2c 36 20 2b 36  _O;.@@ -602,6 +6
0ad0: 30 37 2c 37 20 40 40 0a 20 09 20 20 20 20 61 63  07,7 @@. .    ac
0ae0: 63 65 70 74 50 6f 69 6e 74 20 3d 20 70 3b 0a 20  ceptPoint = p;. 
0af0: 09 20 20 20 20 61 63 63 65 70 74 4c 65 6e 20 3d  .    acceptLen =
0b00: 20 6c 65 6e 3b 0a 20 09 63 61 73 65 20 5a 45 52   len;. .case ZER
0b10: 4f 5f 42 3a 0a 2b 09 7a 65 72 6f 62 3a 0a 20 09  O_B:.+.zerob:. .
0b20: 20 20 20 20 69 66 20 28 63 20 3d 3d 20 27 30 27      if (c == '0'
0b30: 29 20 7b 0a 20 09 09 2b 2b 6e 75 6d 54 72 61 69  ) {. ..++numTrai
0b40: 6c 5a 65 72 6f 73 3b 0a 20 09 09 73 74 61 74 65  lZeros;. ..state
0b50: 20 3d 20 42 49 4e 41 52 59 3b 0a 49 6e 64 65 78   = BINARY;.Index
0b60: 3a 20 67 65 6e 65 72 69 63 2f 74 63 6c 53 74 72  : generic/tclStr
0b70: 69 6e 67 4f 62 6a 2e 63 0a 3d 3d 3d 3d 3d 3d 3d  ingObj.c.=======
0b80: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
0b90: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
0ba0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
0bb0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 52 43 53  ============.RCS
0bc0: 20 66 69 6c 65 3a 20 2f 63 76 73 72 6f 6f 74 2f   file: /cvsroot/
0bd0: 74 63 6c 2f 74 63 6c 2f 67 65 6e 65 72 69 63 2f  tcl/tcl/generic/
0be0: 74 63 6c 53 74 72 69 6e 67 4f 62 6a 2e 63 2c 76  tclStringObj.c,v
0bf0: 0a 72 65 74 72 69 65 76 69 6e 67 20 72 65 76 69  .retrieving revi
0c00: 73 69 6f 6e 20 31 2e 37 34 0a 64 69 66 66 20 2d  sion 1.74.diff -
0c10: 75 20 2d 72 31 2e 37 34 20 74 63 6c 53 74 72 69  u -r1.74 tclStri
0c20: 6e 67 4f 62 6a 2e 63 0a 2d 2d 2d 20 67 65 6e 65  ngObj.c.--- gene
0c30: 72 69 63 2f 74 63 6c 53 74 72 69 6e 67 4f 62 6a  ric/tclStringObj
0c40: 2e 63 09 32 36 20 4f 63 74 20 32 30 30 38 20 31  .c.26 Oct 2008 1
0c50: 38 3a 33 34 3a 30 34 20 2d 30 30 30 30 09 31 2e  8:34:04 -0000.1.
0c60: 37 34 0a 2b 2b 2b 20 67 65 6e 65 72 69 63 2f 74  74.+++ generic/t
0c70: 63 6c 53 74 72 69 6e 67 4f 62 6a 2e 63 09 31 20  clStringObj.c.1 
0c80: 44 65 63 20 32 30 30 38 20 30 30 3a 34 36 3a 30  Dec 2008 00:46:0
0c90: 31 20 2d 30 30 30 30 0a 40 40 20 2d 31 39 34 33  1 -0000.@@ -1943
0ca0: 2c 37 20 2b 31 39 34 33 2c 38 20 40 40 0a 20 09  ,7 +1943,8 @@. .
0cb0: 63 61 73 65 20 27 64 27 3a 0a 20 09 63 61 73 65  case 'd':. .case
0cc0: 20 27 6f 27 3a 0a 20 09 63 61 73 65 20 27 78 27   'o':. .case 'x'
0cd0: 3a 0a 2d 09 63 61 73 65 20 27 58 27 3a 20 7b 0a  :.-.case 'X': {.
0ce0: 2b 09 63 61 73 65 20 27 58 27 3a 0a 2b 09 63 61  +.case 'X':.+.ca
0cf0: 73 65 20 27 62 27 3a 20 7b 0a 20 09 20 20 20 20  se 'b': {. .    
0d00: 73 68 6f 72 74 20 69 6e 74 20 73 20 3d 20 30 3b  short int s = 0;
0d10: 09 2f 2a 20 53 69 6c 65 6e 63 65 20 63 6f 6d 70  ./* Silence comp
0d20: 69 6c 65 72 20 77 61 72 6e 69 6e 67 3b 20 6f 6e  iler warning; on
0d30: 6c 79 20 64 65 66 69 6e 65 64 20 61 6e 64 0a 20  ly defined and. 
0d40: 09 09 09 09 20 2a 20 75 73 65 64 20 77 68 65 6e  .... * used when
0d50: 20 75 73 65 53 68 6f 72 74 20 69 73 20 74 72 75   useShort is tru
0d60: 65 2e 20 2a 2f 0a 20 09 20 20 20 20 6c 6f 6e 67  e. */. .    long
0d70: 20 6c 3b 0a 40 40 20 2d 32 30 31 36 2c 36 20 2b   l;.@@ -2016,6 +
0d80: 32 30 31 37 2c 39 20 40 40 0a 20 09 09 63 61 73  2017,9 @@. ..cas
0d90: 65 20 27 58 27 3a 0a 20 09 09 20 20 20 20 54 63  e 'X':. ..    Tc
0da0: 6c 5f 41 70 70 65 6e 64 54 6f 4f 62 6a 28 73 65  l_AppendToObj(se
0db0: 67 6d 65 6e 74 2c 20 22 30 78 22 2c 20 32 29 3b  gment, "0x", 2);
0dc0: 0a 20 09 09 20 20 20 20 62 72 65 61 6b 3b 0a 2b  . ..    break;.+
0dd0: 09 09 63 61 73 65 20 27 62 27 3a 0a 2b 09 09 20  ..case 'b':.+.. 
0de0: 20 20 20 54 63 6c 5f 41 70 70 65 6e 64 54 6f 4f     Tcl_AppendToO
0df0: 62 6a 28 73 65 67 6d 65 6e 74 2c 20 22 30 62 22  bj(segment, "0b"
0e00: 2c 20 32 29 3b 0a 2b 09 09 20 20 20 20 62 72 65  , 2);.+..    bre
0e10: 61 6b 3b 0a 20 09 09 7d 0a 20 09 20 20 20 20 7d  ak;. ..}. .    }
0e20: 0a 20 0a 40 40 20 2d 32 30 37 34 2c 37 20 2b 32  . .@@ -2074,7 +2
0e30: 30 37 38 2c 38 20 40 40 0a 20 09 20 20 20 20 63  078,8 @@. .    c
0e40: 61 73 65 20 27 75 27 3a 0a 20 09 20 20 20 20 63  ase 'u':. .    c
0e50: 61 73 65 20 27 6f 27 3a 0a 20 09 20 20 20 20 63  ase 'o':. .    c
0e60: 61 73 65 20 27 78 27 3a 0a 2d 09 20 20 20 20 63  ase 'x':.-.    c
0e70: 61 73 65 20 27 58 27 3a 20 7b 0a 2b 09 20 20 20  ase 'X': {.+.   
0e80: 20 63 61 73 65 20 27 58 27 3a 0a 2b 09 20 20 20   case 'X':.+.   
0e90: 20 63 61 73 65 20 27 62 27 3a 20 7b 0a 20 09 09   case 'b': {. ..
0ea0: 54 63 6c 5f 57 69 64 65 55 49 6e 74 20 62 69 74  Tcl_WideUInt bit
0eb0: 73 20 3d 20 28 54 63 6c 5f 57 69 64 65 55 49 6e  s = (Tcl_WideUIn
0ec0: 74 29 30 3b 0a 20 09 09 69 6e 74 20 6c 65 6e 67  t)0;. ..int leng
0ed0: 74 68 2c 20 6e 75 6d 42 69 74 73 20 3d 20 34 2c  th, numBits = 4,
0ee0: 20 6e 75 6d 44 69 67 69 74 73 20 3d 20 30 2c 20   numDigits = 0, 
0ef0: 62 61 73 65 20 3d 20 31 36 3b 0a 20 09 09 69 6e  base = 16;. ..in
0f00: 74 20 69 6e 64 65 78 20 3d 20 30 2c 20 73 68 69  t index = 0, shi
0f10: 66 74 20 3d 20 30 3b 0a 40 40 20 2d 32 30 38 33  ft = 0;.@@ -2083
0f20: 2c 31 30 20 2b 32 30 38 38 2c 31 32 20 40 40 0a  ,10 +2088,12 @@.
0f30: 20 0a 20 09 09 69 66 20 28 63 68 20 3d 3d 20 27   . ..if (ch == '
0f40: 75 27 29 20 7b 0a 20 09 09 20 20 20 20 62 61 73  u') {. ..    bas
0f50: 65 20 3d 20 31 30 3b 0a 2d 09 09 7d 0a 2d 09 09  e = 10;.-..}.-..
0f60: 69 66 20 28 63 68 20 3d 3d 20 27 6f 27 29 20 7b  if (ch == 'o') {
0f70: 0a 2b 09 09 7d 20 65 6c 73 65 20 69 66 20 28 63  .+..} else if (c
0f80: 68 20 3d 3d 20 27 6f 27 29 20 7b 0a 20 09 09 20  h == 'o') {. .. 
0f90: 20 20 20 62 61 73 65 20 3d 20 38 3b 0a 20 09 09     base = 8;. ..
0fa0: 20 20 20 20 6e 75 6d 42 69 74 73 20 3d 20 33 3b      numBits = 3;
0fb0: 0a 2b 09 09 7d 20 65 6c 73 65 20 69 66 20 28 63  .+..} else if (c
0fc0: 68 3d 3d 27 62 27 29 20 7b 0a 2b 09 09 20 20 20  h=='b') {.+..   
0fd0: 20 62 61 73 65 20 3d 20 32 3b 0a 2b 09 09 20 20   base = 2;.+..  
0fe0: 20 20 6e 75 6d 42 69 74 73 20 3d 20 31 3b 0a 20    numBits = 1;. 
0ff0: 09 09 7d 0a 20 09 09 69 66 20 28 75 73 65 53 68  ..}. ..if (useSh
1000: 6f 72 74 29 20 7b 0a 20 09 09 20 20 20 20 75 6e  ort) {. ..    un
1010: 73 69 67 6e 65 64 20 73 68 6f 72 74 20 69 6e 74  signed short int
1020: 20 75 73 20 3d 20 28 75 6e 73 69 67 6e 65 64 20   us = (unsigned 
1030: 73 68 6f 72 74 20 69 6e 74 29 20 73 3b 0a 49 6e  short int) s;.In
1040: 64 65 78 3a 20 74 65 73 74 73 2f 66 6f 72 6d 61  dex: tests/forma
1050: 74 2e 74 65 73 74 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d  t.test.=========
1060: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
1070: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
1080: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
1090: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 52 43 53 20 66  ==========.RCS f
10a0: 69 6c 65 3a 20 2f 63 76 73 72 6f 6f 74 2f 74 63  ile: /cvsroot/tc
10b0: 6c 2f 74 63 6c 2f 74 65 73 74 73 2f 66 6f 72 6d  l/tcl/tests/form
10c0: 61 74 2e 74 65 73 74 2c 76 0a 72 65 74 72 69 65  at.test,v.retrie
10d0: 76 69 6e 67 20 72 65 76 69 73 69 6f 6e 20 31 2e  ving revision 1.
10e0: 32 37 0a 64 69 66 66 20 2d 75 20 2d 72 31 2e 32  27.diff -u -r1.2
10f0: 37 20 66 6f 72 6d 61 74 2e 74 65 73 74 0a 2d 2d  7 format.test.--
1100: 2d 20 74 65 73 74 73 2f 66 6f 72 6d 61 74 2e 74  - tests/format.t
1110: 65 73 74 09 31 39 20 4a 75 6c 20 32 30 30 38 20  est.19 Jul 2008 
1120: 32 32 3a 35 30 3a 33 39 20 2d 30 30 30 30 09 31  22:50:39 -0000.1
1130: 2e 32 37 0a 2b 2b 2b 20 74 65 73 74 73 2f 66 6f  .27.+++ tests/fo
1140: 72 6d 61 74 2e 74 65 73 74 09 31 20 44 65 63 20  rmat.test.1 Dec 
1150: 32 30 30 38 20 30 30 3a 34 36 3a 30 32 20 2d 30  2008 00:46:02 -0
1160: 30 30 30 0a 40 40 20 2d 37 37 2c 36 20 2b 37 37  000.@@ -77,6 +77
1170: 2c 39 20 40 40 0a 20 74 65 73 74 20 66 6f 72 6d  ,9 @@. test form
1180: 61 74 2d 31 2e 31 31 2e 31 20 7b 69 6e 74 65 67  at-1.11.1 {integ
1190: 65 72 20 66 6f 72 6d 61 74 74 69 6e 67 7d 20 6c  er formatting} l
11a0: 6f 6e 67 49 73 36 34 62 69 74 20 7b 0a 20 20 20  ongIs64bit {.   
11b0: 20 20 66 6f 72 6d 61 74 20 22 25 2d 23 32 30 6f    format "%-#20o
11c0: 20 25 23 2d 32 30 6f 20 25 23 2d 32 30 6f 20 25   %#-20o %#-20o %
11d0: 23 2d 32 30 6f 22 20 36 20 33 34 20 31 36 39 32  #-20o" 6 34 1692
11e0: 33 20 2d 31 32 20 2d 31 0a 20 7d 20 7b 30 36 20  3 -12 -1. } {06 
11f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1200: 20 20 30 34 32 20 20 20 20 20 20 20 20 20 20 20    042           
1210: 20 20 20 20 20 20 20 30 34 31 30 33 33 20 20 20         041033   
1220: 20 20 20 20 20 20 20 20 20 20 20 20 30 31 37 37              0177
1230: 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37  7777777777777777
1240: 37 36 34 7d 0a 2b 74 65 73 74 20 66 6f 72 6d 61  764}.+test forma
1250: 74 2d 31 2e 31 32 20 7b 69 6e 74 65 67 65 72 20  t-1.12 {integer 
1260: 66 6f 72 6d 61 74 74 69 6e 67 7d 20 7b 0a 2b 20  formatting} {.+ 
1270: 20 20 20 66 6f 72 6d 61 74 20 22 25 62 20 25 23     format "%b %#
1280: 62 20 25 6c 6c 62 22 20 35 20 35 20 5b 65 78 70  b %llb" 5 5 [exp
1290: 72 20 7b 32 2a 2a 31 30 30 7d 5d 0a 2b 7d 20 7b  r {2**100}].+} {
12a0: 31 30 31 20 30 62 31 30 31 20 31 30 30 30 30 30  101 0b101 100000
12b0: 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30  0000000000000000
12c0: 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30  0000000000000000
12d0: 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30  0000000000000000
12e0: 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30  0000000000000000
12f0: 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30  0000000000000000
1300: 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 7d  000000000000000}
1310: 0a 20 0a 20 74 65 73 74 20 66 6f 72 6d 61 74 2d  . . test format-
1320: 32 2e 31 20 7b 73 74 72 69 6e 67 20 66 6f 72 6d  2.1 {string form
1330: 61 74 74 69 6e 67 7d 20 7b 0a 20 20 20 20 20 66  atting} {.     f
1340: 6f 72 6d 61 74 20 22 25 73 20 25 73 20 25 63 20  ormat "%s %s %c 
1350: 25 73 22 20 61 62 63 64 20 7b 54 68 69 73 20 69  %s" abcd {This i
1360: 73 20 61 20 76 65 72 79 20 6c 6f 6e 67 20 74 65  s a very long te
1370: 73 74 20 73 74 72 69 6e 67 2e 7d 20 31 32 30 20  st string.} 120 
1380: 78 0a 49 6e 64 65 78 3a 20 74 65 73 74 73 2f 73  x.Index: tests/s
1390: 63 61 6e 2e 74 65 73 74 0a 3d 3d 3d 3d 3d 3d 3d  can.test.=======
13a0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
13b0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
13c0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
13d0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 52 43 53  ============.RCS
13e0: 20 66 69 6c 65 3a 20 2f 63 76 73 72 6f 6f 74 2f   file: /cvsroot/
13f0: 74 63 6c 2f 74 63 6c 2f 74 65 73 74 73 2f 73 63  tcl/tcl/tests/sc
1400: 61 6e 2e 74 65 73 74 2c 76 0a 72 65 74 72 69 65  an.test,v.retrie
1410: 76 69 6e 67 20 72 65 76 69 73 69 6f 6e 20 31 2e  ving revision 1.
1420: 32 32 0a 64 69 66 66 20 2d 75 20 2d 72 31 2e 32  22.diff -u -r1.2
1430: 32 20 73 63 61 6e 2e 74 65 73 74 0a 2d 2d 2d 20  2 scan.test.--- 
1440: 74 65 73 74 73 2f 73 63 61 6e 2e 74 65 73 74 09  tests/scan.test.
1450: 31 39 20 4a 75 6c 20 32 30 30 38 20 32 32 3a 35  19 Jul 2008 22:5
1460: 30 3a 33 39 20 2d 30 30 30 30 09 31 2e 32 32 0a  0:39 -0000.1.22.
1470: 2b 2b 2b 20 74 65 73 74 73 2f 73 63 61 6e 2e 74  +++ tests/scan.t
1480: 65 73 74 09 31 20 44 65 63 20 32 30 30 38 20 30  est.1 Dec 2008 0
1490: 30 3a 34 36 3a 30 34 20 2d 30 30 30 30 0a 40 40  0:46:04 -0000.@@
14a0: 20 2d 31 39 2c 37 20 2b 31 39 2c 37 20 40 40 0a   -19,7 +19,7 @@.
14b0: 20 7d 0a 20 0a 20 74 65 73 74 43 6f 6e 73 74 72   }. . testConstr
14c0: 61 69 6e 74 20 77 69 64 65 49 73 36 34 62 69 74  aint wideIs64bit
14d0: 20 5c 0a 2d 09 5b 65 78 70 72 20 7b 28 77 69 64   \.-.[expr {(wid
14e0: 65 28 30 78 38 30 30 30 30 30 30 30 29 20 3e 20  e(0x80000000) > 
14f0: 30 29 20 26 26 20 28 77 69 64 65 28 30 78 38 30  0) && (wide(0x80
1500: 30 30 30 30 30 30 30 30 30 30 30 30 30 30 29 20  00000000000000) 
1510: 3c 20 30 29 7d 5d 0a 2b 20 20 20 20 20 20 20 20  < 0)}].+        
1520: 5b 65 78 70 72 20 7b 28 77 69 64 65 28 30 78 38  [expr {(wide(0x8
1530: 30 30 30 30 30 30 30 29 20 3e 20 30 29 20 26 26  0000000) > 0) &&
1540: 20 28 77 69 64 65 28 30 78 38 30 30 30 30 30 30   (wide(0x8000000
1550: 30 30 30 30 30 30 30 30 30 29 20 3c 20 30 29 7d  000000000) < 0)}
1560: 5d 0a 20 0a 20 74 65 73 74 20 73 63 61 6e 2d 31  ]. . test scan-1
1570: 2e 31 20 7b 42 75 69 6c 64 43 68 61 72 53 65 74  .1 {BuildCharSet
1580: 2c 20 43 68 61 72 49 6e 53 65 74 7d 20 7b 0a 20  , CharInSet} {. 
1590: 20 20 20 20 6c 69 73 74 20 5b 73 63 61 6e 20 66      list [scan f
15a0: 6f 6f 20 7b 25 5b 5e 6f 5d 7d 20 78 5d 20 24 78  oo {%[^o]} x] $x
15b0: 0a 40 40 20 2d 32 34 38 2c 31 30 20 2b 32 34 38  .@@ -248,10 +248
15c0: 2c 31 34 20 40 40 0a 20 20 20 20 20 63 61 74 63  ,14 @@.     catc
15d0: 68 20 7b 75 6e 73 65 74 20 78 7d 0a 20 20 20 20  h {unset x}.    
15e0: 20 6c 69 73 74 20 5b 73 63 61 6e 20 7b 78 46 7d   list [scan {xF}
15f0: 20 7b 25 78 7d 20 78 5d 20 5b 69 6e 66 6f 20 65   {%x} x] [info e
1600: 78 69 73 74 73 20 78 5d 0a 20 7d 20 7b 30 20 30  xists x]. } {0 0
1610: 7d 0a 2b 74 65 73 74 20 73 63 61 6e 2d 34 2e 34  }.+test scan-4.4
1620: 30 2e 33 20 7b 54 63 6c 5f 53 63 61 6e 4f 62 6a  0.3 {Tcl_ScanObj
1630: 43 6d 64 2c 20 62 61 73 65 2d 32 20 69 6e 74 65  Cmd, base-2 inte
1640: 67 65 72 20 73 63 61 6e 6e 69 6e 67 7d 20 7b 0a  ger scanning} {.
1650: 2b 20 20 20 20 73 65 74 20 78 20 7b 7d 0a 2b 20  +    set x {}.+ 
1660: 20 20 20 6c 69 73 74 20 5b 73 63 61 6e 20 7b 31     list [scan {1
1670: 30 30 31 20 30 62 31 30 31 20 31 30 30 30 30 30  001 0b101 100000
1680: 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30  0000000000000000
1690: 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30  0000000000000000
16a0: 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30  0000000000000000
16b0: 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30  0000000000000000
16c0: 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30  0000000000000000
16d0: 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30  0000000000000000
16e0: 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30  0000000000000000
16f0: 30 30 30 30 30 30 30 30 30 30 30 7d 20 7b 25 62  00000000000} {%b
1700: 20 25 62 20 25 6c 6c 62 7d 20 78 20 79 20 7a 5d   %b %llb} x y z]
1710: 20 24 78 20 24 79 20 24 7a 0a 2b 7d 20 7b 33 20   $x $y $z.+} {3 
1720: 39 20 35 20 33 34 30 32 38 32 33 36 36 39 32 30  9 5 340282366920
1730: 39 33 38 34 36 33 34 36 33 33 37 34 36 30 37 34  9384634633746074
1740: 33 31 37 36 38 32 31 31 34 35 36 7d 0a 20 74 65  31768211456}. te
1750: 73 74 20 73 63 61 6e 2d 34 2e 34 31 20 7b 54 63  st scan-4.41 {Tc
1760: 6c 5f 53 63 61 6e 4f 62 6a 43 6d 64 2c 20 62 61  l_ScanObjCmd, ba
1770: 73 65 2d 75 6e 6b 6e 6f 77 6e 20 69 6e 74 65 67  se-unknown integ
1780: 65 72 20 73 63 61 6e 6e 69 6e 67 7d 20 7b 0a 20  er scanning} {. 
1790: 20 20 20 20 73 65 74 20 78 20 7b 7d 0a 2d 20 20      set x {}.-  
17a0: 20 20 6c 69 73 74 20 5b 73 63 61 6e 20 7b 31 30    list [scan {10
17b0: 20 30 31 30 20 30 78 31 30 7d 20 7b 25 69 25 69   010 0x10} {%i%i
17c0: 25 69 7d 20 78 20 79 20 7a 5d 20 24 78 20 24 79  %i} x y z] $x $y
17d0: 20 24 7a 0a 2d 7d 20 7b 33 20 31 30 20 38 20 31   $z.-} {3 10 8 1
17e0: 36 7d 0a 2b 20 20 20 20 6c 69 73 74 20 5b 73 63  6}.+    list [sc
17f0: 61 6e 20 7b 31 30 20 30 31 30 20 30 78 31 30 20  an {10 010 0x10 
1800: 30 62 31 30 7d 20 7b 25 69 25 69 25 69 25 69 7d  0b10} {%i%i%i%i}
1810: 20 78 20 79 20 7a 20 74 5d 20 24 78 20 24 79 20   x y z t] $x $y 
1820: 24 7a 20 24 74 0a 2b 7d 20 7b 34 20 31 30 20 38  $z $t.+} {4 10 8
1830: 20 31 36 20 32 7d 0a 20 74 65 73 74 20 73 63 61   16 2}. test sca
1840: 6e 2d 34 2e 34 32 20 7b 54 63 6c 5f 53 63 61 6e  n-4.42 {Tcl_Scan
1850: 4f 62 6a 43 6d 64 2c 20 62 61 73 65 2d 75 6e 6b  ObjCmd, base-unk
1860: 6e 6f 77 6e 20 69 6e 74 65 67 65 72 20 73 63 61  nown integer sca
1870: 6e 6e 69 6e 67 7d 20 7b 0a 20 20 20 20 20 73 65  nning} {.     se
1880: 74 20 78 20 7b 7d 0a 20 20 20 20 20 6c 69 73 74  t x {}.     list
1890: 20 5b 73 63 61 6e 20 7b 31 30 20 30 31 30 20 30   [scan {10 010 0
18a0: 58 31 30 7d 20 7b 25 69 25 69 25 69 7d 20 78 20  X10} {%i%i%i} x 
18b0: 79 20 7a 5d 20 24 78 20 24 79 20 24 7a 0a 49 6e  y z] $x $y $z.In
18c0: 64 65 78 3a 20 64 6f 63 2f 66 6f 72 6d 61 74 2e  dex: doc/format.
18d0: 6e 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  n.==============
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 3d 3d 3d  ================
1900: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
1910: 3d 3d 3d 3d 3d 0a 52 43 53 20 66 69 6c 65 3a 20  =====.RCS file: 
1920: 2f 63 76 73 72 6f 6f 74 2f 74 63 6c 2f 74 63 6c  /cvsroot/tcl/tcl
1930: 2f 64 6f 63 2f 66 6f 72 6d 61 74 2e 6e 2c 76 0a  /doc/format.n,v.
1940: 72 65 74 72 69 65 76 69 6e 67 20 72 65 76 69 73  retrieving revis
1950: 69 6f 6e 20 31 2e 32 31 0a 64 69 66 66 20 2d 75  ion 1.21.diff -u
1960: 20 2d 72 31 2e 32 31 20 66 6f 72 6d 61 74 2e 6e   -r1.21 format.n
1970: 0a 2d 2d 2d 20 64 6f 63 2f 66 6f 72 6d 61 74 2e  .--- doc/format.
1980: 6e 09 31 37 20 4f 63 74 20 32 30 30 38 20 31 30  n.17 Oct 2008 10
1990: 3a 32 32 3a 32 35 20 2d 30 30 30 30 09 31 2e 32  :22:25 -0000.1.2
19a0: 31 0a 2b 2b 2b 20 64 6f 63 2f 66 6f 72 6d 61 74  1.+++ doc/format
19b0: 2e 6e 09 31 20 44 65 63 20 32 30 30 38 20 30 30  .n.1 Dec 2008 00
19c0: 3a 34 36 3a 30 34 20 2d 30 30 30 30 0a 40 40 20  :46:04 -0000.@@ 
19d0: 2d 38 37 2c 36 20 2b 38 37 2c 38 20 40 40 0a 20  -87,6 +87,8 @@. 
19e0: 63 6f 6e 76 65 72 73 69 6f 6e 73 20 69 74 20 67  conversions it g
19f0: 75 61 72 61 6e 74 65 65 73 20 74 68 61 74 20 74  uarantees that t
1a00: 68 65 20 66 69 72 73 74 20 64 69 67 69 74 20 69  he first digit i
1a10: 73 20 61 6c 77 61 79 73 20 5c 66 42 30 5c 66 52  s always \fB0\fR
1a20: 2e 0a 20 46 6f 72 20 5c 66 42 78 5c 66 52 20 6f  .. For \fBx\fR o
1a30: 72 20 5c 66 42 58 5c 66 52 20 63 6f 6e 76 65 72  r \fBX\fR conver
1a40: 73 69 6f 6e 73 2c 20 5c 66 42 30 78 5c 66 52 20  sions, \fB0x\fR 
1a50: 6f 72 20 5c 66 42 30 58 5c 66 52 20 28 72 65 73  or \fB0X\fR (res
1a60: 70 65 63 74 69 76 65 6c 79 29 0a 20 77 69 6c 6c  pectively). will
1a70: 20 62 65 20 61 64 64 65 64 20 74 6f 20 74 68 65   be added to the
1a80: 20 62 65 67 69 6e 6e 69 6e 67 20 6f 66 20 74 68   beginning of th
1a90: 65 20 72 65 73 75 6c 74 20 75 6e 6c 65 73 73 20  e result unless 
1aa0: 69 74 20 69 73 20 7a 65 72 6f 2e 0a 2b 46 6f 72  it is zero..+For
1ab0: 20 5c 66 42 62 5c 66 52 20 63 6f 6e 76 65 72 73   \fBb\fR convers
1ac0: 69 6f 6e 73 2c 20 5c 66 42 30 62 5c 66 52 0a 2b  ions, \fB0b\fR.+
1ad0: 77 69 6c 6c 20 62 65 20 61 64 64 65 64 20 74 6f  will be added to
1ae0: 20 74 68 65 20 62 65 67 69 6e 6e 69 6e 67 20 6f   the beginning o
1af0: 66 20 74 68 65 20 72 65 73 75 6c 74 20 75 6e 6c  f the result unl
1b00: 65 73 73 20 69 74 20 69 73 20 7a 65 72 6f 2e 0a  ess it is zero..
1b10: 20 46 6f 72 20 61 6c 6c 20 66 6c 6f 61 74 69 6e   For all floatin
1b20: 67 2d 70 6f 69 6e 74 20 63 6f 6e 76 65 72 73 69  g-point conversi
1b30: 6f 6e 73 20 28 5c 66 42 65 5c 66 52 2c 20 5c 66  ons (\fBe\fR, \f
1b40: 42 45 5c 66 52 2c 20 5c 66 42 66 5c 66 52 2c 0a  BE\fR, \fBf\fR,.
1b50: 20 5c 66 42 67 5c 66 52 2c 20 61 6e 64 20 5c 66   \fBg\fR, and \f
1b60: 42 47 5c 66 52 29 20 69 74 20 67 75 61 72 61 6e  BG\fR) it guaran
1b70: 74 65 65 73 20 74 68 61 74 20 74 68 65 20 72 65  tees that the re
1b80: 73 75 6c 74 20 61 6c 77 61 79 73 20 0a 20 68 61  sult always . ha
1b90: 73 20 61 20 64 65 63 69 6d 61 6c 20 70 6f 69 6e  s a decimal poin
1ba0: 74 2e 0a 40 40 20 2d 31 36 31 2c 36 20 2b 31 36  t..@@ -161,6 +16
1bb0: 33 2c 39 20 40 40 0a 20 2e 51 57 20 30 31 32 33  3,9 @@. .QW 0123
1bc0: 34 35 36 37 38 39 41 42 43 44 45 46 0a 20 66 6f  456789ABCDEF. fo
1bd0: 72 20 5c 66 42 58 5c 66 52 29 2e 0a 20 2e 54 50  r \fBX\fR).. .TP
1be0: 20 31 30 0a 2b 5c 66 42 62 5c 66 52 0a 2b 43 6f   10.+\fBb\fR.+Co
1bf0: 6e 76 65 72 74 20 69 6e 74 65 67 65 72 20 74 6f  nvert integer to
1c00: 20 62 69 6e 61 72 79 20 73 74 72 69 6e 67 2c 20   binary string, 
1c10: 75 73 69 6e 67 20 64 69 67 69 74 73 20 30 20 61  using digits 0 a
1c20: 6e 64 20 31 2e 0a 2b 2e 54 50 20 31 30 0a 20 5c  nd 1..+.TP 10. \
1c30: 66 42 63 5c 66 52 0a 20 43 6f 6e 76 65 72 74 20  fBc\fR. Convert 
1c40: 69 6e 74 65 67 65 72 20 74 6f 20 74 68 65 20 55  integer to the U
1c50: 6e 69 63 6f 64 65 20 63 68 61 72 61 63 74 65 72  nicode character
1c60: 20 69 74 20 72 65 70 72 65 73 65 6e 74 73 2e 0a   it represents..
1c70: 20 2e 54 50 20 31 30 0a 40 40 20 2d 32 30 33 2c   .TP 10.@@ -203,
1c80: 36 20 2b 32 30 38 2c 37 20 40 40 0a 20 2e 49 50  6 +208,7 @@. .IP
1c90: 20 5b 33 5d 0a 20 54 68 65 20 73 69 7a 65 20 6d   [3]. The size m
1ca0: 6f 64 69 66 69 65 72 73 20 61 72 65 20 69 67 6e  odifiers are ign
1cb0: 6f 72 65 64 20 77 68 65 6e 20 66 6f 72 6d 61 74  ored when format
1cc0: 74 69 6e 67 20 66 6c 6f 61 74 69 6e 67 2d 70 6f  ting floating-po
1cd0: 69 6e 74 20 76 61 6c 75 65 73 2e 0a 20 54 68 65  int values.. The
1ce0: 20 5c 66 42 6c 6c 5c 66 52 20 6d 6f 64 69 66 69   \fBll\fR modifi
1cf0: 65 72 20 68 61 73 20 6e 6f 20 5c 66 42 73 70 72  er has no \fBspr
1d00: 69 6e 74 66 5c 66 52 20 63 6f 75 6e 74 65 72 70  intf\fR counterp
1d10: 61 72 74 2e 0a 2b 54 68 65 20 5c 66 42 62 5c 66  art..+The \fBb\f
1d20: 52 20 73 70 65 63 69 66 69 65 72 20 68 61 73 20  R specifier has 
1d30: 6e 6f 20 5c 66 42 73 70 72 69 6e 74 66 5c 66 52  no \fBsprintf\fR
1d40: 20 63 6f 75 6e 74 65 72 70 61 72 74 2e 0a 20 2e   counterpart.. .
1d50: 53 48 20 45 58 41 4d 50 4c 45 53 0a 20 2e 50 50  SH EXAMPLES. .PP
1d60: 0a 20 43 6f 6e 76 65 72 74 20 74 68 65 20 6e 75  . Convert the nu
1d70: 6d 65 72 69 63 20 76 61 6c 75 65 20 6f 66 20 61  meric value of a
1d80: 20 55 4e 49 43 4f 44 45 20 63 68 61 72 61 63 74   UNICODE charact
1d90: 65 72 20 74 6f 20 74 68 65 20 63 68 61 72 61 63  er to the charac
1da0: 74 65 72 0a 49 6e 64 65 78 3a 20 64 6f 63 2f 73  ter.Index: doc/s
1db0: 63 61 6e 2e 6e 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  can.n.==========
1dc0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
1dd0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
1de0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
1df0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 52 43 53 20 66 69  =========.RCS fi
1e00: 6c 65 3a 20 2f 63 76 73 72 6f 6f 74 2f 74 63 6c  le: /cvsroot/tcl
1e10: 2f 74 63 6c 2f 64 6f 63 2f 73 63 61 6e 2e 6e 2c  /tcl/doc/scan.n,
1e20: 76 0a 72 65 74 72 69 65 76 69 6e 67 20 72 65 76  v.retrieving rev
1e30: 69 73 69 6f 6e 20 31 2e 32 36 0a 64 69 66 66 20  ision 1.26.diff 
1e40: 2d 75 20 2d 72 31 2e 32 36 20 73 63 61 6e 2e 6e  -u -r1.26 scan.n
1e50: 0a 2d 2d 2d 20 64 6f 63 2f 73 63 61 6e 2e 6e 09  .--- doc/scan.n.
1e60: 31 37 20 4f 63 74 20 32 30 30 38 20 31 30 3a 32  17 Oct 2008 10:2
1e70: 32 3a 32 35 20 2d 30 30 30 30 09 31 2e 32 36 0a  2:25 -0000.1.26.
1e80: 2b 2b 2b 20 64 6f 63 2f 73 63 61 6e 2e 6e 09 31  +++ doc/scan.n.1
1e90: 20 44 65 63 20 32 30 30 38 20 30 30 3a 34 36 3a   Dec 2008 00:46:
1ea0: 30 34 20 2d 30 30 30 30 0a 40 40 20 2d 31 30 34  04 -0000.@@ -104
1eb0: 2c 36 20 2b 31 30 34 2c 31 32 20 40 40 0a 20 49  ,6 +104,12 @@. I
1ec0: 74 20 69 73 20 72 65 61 64 20 69 6e 20 61 6e 64  t is read in and
1ed0: 20 74 68 65 20 69 6e 74 65 67 65 72 20 76 61 6c   the integer val
1ee0: 75 65 20 69 73 20 73 74 6f 72 65 64 20 69 6e 20  ue is stored in 
1ef0: 74 68 65 20 76 61 72 69 61 62 6c 65 2c 0a 20 74  the variable,. t
1f00: 72 75 6e 63 61 74 65 64 20 61 73 20 72 65 71 75  runcated as requ
1f10: 69 72 65 64 20 62 79 20 74 68 65 20 73 69 7a 65  ired by the size
1f20: 20 6d 6f 64 69 66 69 65 72 20 76 61 6c 75 65 2e   modifier value.
1f30: 0a 20 2e 54 50 20 31 30 0a 2b 5c 66 42 62 5c 66  . .TP 10.+\fBb\f
1f40: 52 0a 2b 2e 0a 2b 54 68 65 20 69 6e 70 75 74 20  R.+..+The input 
1f50: 73 75 62 73 74 72 69 6e 67 20 6d 75 73 74 20 62  substring must b
1f60: 65 20 61 20 62 69 6e 61 72 79 20 69 6e 74 65 67  e a binary integ
1f70: 65 72 2e 0a 2b 49 74 20 69 73 20 72 65 61 64 20  er..+It is read 
1f80: 69 6e 20 61 6e 64 20 74 68 65 20 69 6e 74 65 67  in and the integ
1f90: 65 72 20 76 61 6c 75 65 20 69 73 20 73 74 6f 72  er value is stor
1fa0: 65 64 20 69 6e 20 74 68 65 20 76 61 72 69 61 62  ed in the variab
1fb0: 6c 65 2c 0a 2b 74 72 75 6e 63 61 74 65 64 20 61  le,.+truncated a
1fc0: 73 20 72 65 71 75 69 72 65 64 20 62 79 20 74 68  s required by th
1fd0: 65 20 73 69 7a 65 20 6d 6f 64 69 66 69 65 72 20  e size modifier 
1fe0: 76 61 6c 75 65 2e 0a 2b 2e 54 50 20 31 30 0a 20  value..+.TP 10. 
1ff0: 5c 66 42 75 5c 66 52 0a 20 2e 0a 20 54 68 65 20  \fBu\fR. .. The 
2000: 69 6e 70 75 74 20 73 75 62 73 74 72 69 6e 67 20  input substring 
2010: 6d 75 73 74 20 62 65 20 61 20 64 65 63 69 6d 61  must be a decima
2020: 6c 20 69 6e 74 65 67 65 72 2e 0a                 l integer..