Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Changes In Branch bug-16828b3744 Excluding Merge-Ins
This is equivalent to a diff from 840e5d4825 to 3da2ce641b
|
2016-06-16
| ||
| 16:38 | [16828b3744] [vwait] *must* successfully undo its variable trace, or else it risks corrupting memory... check-in: fac5b3732e user: dgp tags: core-8-6-branch | |
| 16:27 | Merge tip of core-8-6-branch Closed-Leaf check-in: 3da2ce641b user: dgp tags: bug-16828b3744 | |
| 16:14 | Correct the patch. check-in: 333574afba user: dgp tags: bug-16828b3744 | |
|
2016-06-14
| ||
| 09:57 | Fix [7393be0be6e7f91cbb2016fa777896e3895929e3|7393be0be6]: Tcl Thread library doesn't work in Debug ... check-in: 5ed3db2343 user: jan.nijtmans tags: core-8-6-branch | |
|
2016-03-03
| ||
| 19:45 | Bump trunk to 8.7a0 to accept new feature development. check-in: 4def3fa682 user: dgp tags: trunk | |
| 19:29 | Open branch for continued 8.6.* patching. check-in: 6e1ff473d8 user: dgp tags: core-8-6-branch | |
| 08:34 | merge trunk check-in: 00229de885 user: gahr tags: gahr-bug-5f71353740, tip-444 | |
|
2016-03-02
| ||
| 15:29 | [bbc304f61a] Proposed fix for reflected watch race condition. Closed-Leaf check-in: 5057f650ba user: dgp tags: bug-bbc304f61a | |
| 15:10 | merge trunk check-in: 24900c193e user: jan.nijtmans tags: zipfs | |
| 09:32 | merge trunk check-in: ada65114d8 user: jan.nijtmans tags: tip-439, semver | |
| 09:06 | Merge trunk check-in: f547a7f8c4 user: jan.nijtmans tags: novem | |
| 08:49 | Eliminate exess spacings in many doc pages. check-in: 840e5d4825 user: jan.nijtmans tags: trunk | |
|
2016-03-01
| ||
| 16:45 | [80304238ac] Prevent RC cycle in the localVarName objtype. check-in: 7070d2aa22 user: dgp tags: trunk | |
Changes to doc/tcltest.n.
| ︙ | ︙ | |||
868 869 870 871 872 873 874 | harness are doing. .RE .TP \fB\-verbose \fIlevel\fR . Sets the type of output verbosity desired to \fIlevel\fR, a list of zero or more of the elements \fBbody\fR, \fBpass\fR, | | | > > > > > > > > > > | 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 |
harness are doing.
.RE
.TP
\fB\-verbose \fIlevel\fR
.
Sets the type of output verbosity desired to \fIlevel\fR,
a list of zero or more of the elements \fBbody\fR, \fBpass\fR,
\fBskip\fR, \fBstart\fR, \fBerror\fR, \fBline\fR, \fBmsec\fR and \fBusec\fR.
Default value is
.QW "\fBbody error\fR" .
Levels are defined as:
.RS
.IP "body (\fBb\fR)"
Display the body of failed tests
.IP "pass (\fBp\fR)"
Print output when a test passes
.IP "skip (\fBs\fR)"
Print output when a test is skipped
.IP "start (\fBt\fR)"
Print output whenever a test starts
.IP "error (\fBe\fR)"
Print errorInfo and errorCode, if they exist, when a test return code
does not match its expected return code
.IP "line (\fBl\fR)"
Print source file line information of failed tests
.IP "msec (\fBm\fR)"
Print each test's execution time in milliseconds
.IP "usec (\fBu\fR)"
Print each test's execution time in microseconds
.PP
Note that the \fBmsec\fR and \fBusec\fR verbosity levels are provided as
indicative measures only. They do not tackle the problem of repeatibility which
should be considered in performance tests or benchmarks. To use these verbosity
levels to thoroughly track performance degradations, consider wrapping your
test bodies with \fBtime\fR commands.
.PP
The single letter abbreviations noted above are also recognized
so that
.QW "\fBconfigure \-verbose pt\fR"
is the same as
.QW "\fBconfigure \-verbose {pass start}\fR" .
.RE
|
| ︙ | ︙ |
Changes to generic/regc_lex.c.
| ︙ | ︙ | |||
252 253 254 255 256 257 258 259 260 261 |
CHR(':'), CHR(']'), CHR(']')
};
static const chr brbacks[] = { /* \s within brackets */
CHR('['), CHR(':'),
CHR('s'), CHR('p'), CHR('a'), CHR('c'), CHR('e'),
CHR(':'), CHR(']')
};
static const chr backw[] = { /* \w */
CHR('['), CHR('['), CHR(':'),
CHR('a'), CHR('l'), CHR('n'), CHR('u'), CHR('m'),
| > > > > > > > > > > > > > | | | | 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 |
CHR(':'), CHR(']'), CHR(']')
};
static const chr brbacks[] = { /* \s within brackets */
CHR('['), CHR(':'),
CHR('s'), CHR('p'), CHR('a'), CHR('c'), CHR('e'),
CHR(':'), CHR(']')
};
#define PUNCT_CONN \
CHR('_'), \
0x203f /* UNDERTIE */, \
0x2040 /* CHARACTER TIE */,\
0x2054 /* INVERTED UNDERTIE */,\
0xfe33 /* PRESENTATION FORM FOR VERTICAL LOW LINE */, \
0xfe34 /* PRESENTATION FORM FOR VERTICAL WAVY LOW LINE */, \
0xfe4d /* DASHED LOW LINE */, \
0xfe4e /* CENTRELINE LOW LINE */, \
0xfe4f /* WAVY LOW LINE */, \
0xff3f /* FULLWIDTH LOW LINE */
static const chr backw[] = { /* \w */
CHR('['), CHR('['), CHR(':'),
CHR('a'), CHR('l'), CHR('n'), CHR('u'), CHR('m'),
CHR(':'), CHR(']'), PUNCT_CONN, CHR(']')
};
static const chr backW[] = { /* \W */
CHR('['), CHR('^'), CHR('['), CHR(':'),
CHR('a'), CHR('l'), CHR('n'), CHR('u'), CHR('m'),
CHR(':'), CHR(']'), PUNCT_CONN, CHR(']')
};
static const chr brbackw[] = { /* \w within brackets */
CHR('['), CHR(':'),
CHR('a'), CHR('l'), CHR('n'), CHR('u'), CHR('m'),
CHR(':'), CHR(']'), PUNCT_CONN
};
/*
- lexword - interpolate a bracket expression for word characters
* Possibly ought to inquire whether there is a "word" character class.
^ static void lexword(struct vars *);
*/
|
| ︙ | ︙ |
Changes to generic/tclAssembly.c.
| ︙ | ︙ | |||
3980 3981 3982 3983 3984 3985 3986 |
/*
* Unstack any catches that are deeper than the nesting level of the basic
* block being entered.
*/
while (catchDepth > bbPtr->catchDepth) {
--catchDepth;
| > | | | | > | 3980 3981 3982 3983 3984 3985 3986 3987 3988 3989 3990 3991 3992 3993 3994 3995 3996 3997 3998 3999 |
/*
* Unstack any catches that are deeper than the nesting level of the basic
* block being entered.
*/
while (catchDepth > bbPtr->catchDepth) {
--catchDepth;
if (catches[catchDepth] != NULL) {
range = envPtr->exceptArrayPtr + catchIndices[catchDepth];
range->numCodeBytes = bbPtr->startOffset - range->codeOffset;
catches[catchDepth] = NULL;
catchIndices[catchDepth] = -1;
}
}
/*
* Unstack any catches that don't match the basic block being entered,
* either because they are no longer part of the context, or because the
* context has changed from INCATCH to CAUGHT.
*/
|
| ︙ | ︙ |
Changes to generic/tclCmdIL.c.
| ︙ | ︙ | |||
2751 2752 2753 2754 2755 2756 2757 |
/*
* Complain if the user asked for a start element that is greater than the
* list length. This won't ever trigger for the "end-*" case as that will
* be properly constrained by TclGetIntForIndex because we use listLen-1
* (to allow for replacing the last elem).
*/
| | | 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 2763 2764 2765 |
/*
* Complain if the user asked for a start element that is greater than the
* list length. This won't ever trigger for the "end-*" case as that will
* be properly constrained by TclGetIntForIndex because we use listLen-1
* (to allow for replacing the last elem).
*/
if ((first > listLen) && (listLen > 0)) {
Tcl_SetObjResult(interp, Tcl_ObjPrintf(
"list doesn't contain element %s", TclGetString(objv[2])));
Tcl_SetErrorCode(interp, "TCL", "OPERATION", "LREPLACE", "BADIDX",
NULL);
return TCL_ERROR;
}
if (last >= listLen) {
|
| ︙ | ︙ |
Changes to generic/tclCompCmdsGR.c.
| ︙ | ︙ | |||
1484 1485 1486 1487 1488 1489 1490 |
}
tokenPtr = TokenAfter(tokenPtr);
if (GetIndexFromToken(tokenPtr, &idx2) != TCL_OK) {
return TCL_ERROR;
}
| > > > > > > > > > > > > > > > > > > > | | | 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 |
}
tokenPtr = TokenAfter(tokenPtr);
if (GetIndexFromToken(tokenPtr, &idx2) != TCL_OK) {
return TCL_ERROR;
}
/*
* idx1, idx2 are now in canonical form:
*
* - integer: [0,len+1]
* - end index: INDEX_END
* - -ive offset: INDEX_END-[len-1,0]
* - +ive offset: INDEX_END+1
*/
/*
* Compilation fails when one index is end-based but the other isn't.
* Fixing this will require more bytecodes, but this is a workaround for
* now. [Bug 47ac84309b]
*/
if ((idx1 <= INDEX_END) != (idx2 <= INDEX_END)) {
return TCL_ERROR;
}
if (idx2 != INDEX_END && idx2 >= 0 && idx2 < idx1) {
idx2 = idx1 - 1;
}
/*
* Work out what this [lreplace] is actually doing.
*/
tmpObj = NULL;
|
| ︙ | ︙ | |||
1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 |
idx2 = INDEX_END;
goto dropEnd;
} else if (idx2 == INDEX_END) {
idx2 = idx1 - 1;
idx1 = 0;
goto dropEnd;
} else {
if (idx1 > 0) {
tmpObj = Tcl_NewIntObj(idx1);
Tcl_IncrRefCount(tmpObj);
}
goto dropRange;
}
}
| > > > | 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 |
idx2 = INDEX_END;
goto dropEnd;
} else if (idx2 == INDEX_END) {
idx2 = idx1 - 1;
idx1 = 0;
goto dropEnd;
} else {
if (idx2 < idx1) {
idx2 = idx1 - 1;
}
if (idx1 > 0) {
tmpObj = Tcl_NewIntObj(idx1);
Tcl_IncrRefCount(tmpObj);
}
goto dropRange;
}
}
|
| ︙ | ︙ | |||
1534 1535 1536 1537 1538 1539 1540 |
idx2 = INDEX_END;
goto replaceHead;
} else if (idx2 == INDEX_END) {
idx2 = idx1 - 1;
idx1 = 0;
goto replaceTail;
} else {
| | < < | > > > > | > > > > > | 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 |
idx2 = INDEX_END;
goto replaceHead;
} else if (idx2 == INDEX_END) {
idx2 = idx1 - 1;
idx1 = 0;
goto replaceTail;
} else {
if (idx2 < idx1) {
idx2 = idx1 - 1;
}
if (idx1 > 0) {
tmpObj = Tcl_NewIntObj(idx1);
Tcl_IncrRefCount(tmpObj);
}
goto replaceRange;
}
/*
* Issue instructions to perform the operations relating to configurations
* that just drop. The only argument pushed on the stack is the list to
* operate on.
*/
dropAll: /* This just ensures the arg is a list. */
TclEmitOpcode( INST_LIST_LENGTH, envPtr);
TclEmitOpcode( INST_POP, envPtr);
PushStringLiteral(envPtr, "");
goto done;
dropEnd:
TclEmitInstInt4( INST_LIST_RANGE_IMM, idx1, envPtr);
TclEmitInt4( idx2, envPtr);
goto done;
dropRange:
if (tmpObj != NULL) {
/*
* Emit bytecode to check the list length.
*/
TclEmitOpcode( INST_DUP, envPtr);
TclEmitOpcode( INST_LIST_LENGTH, envPtr);
TclEmitPush(TclAddLiteralObj(envPtr, tmpObj, NULL), envPtr);
TclEmitOpcode( INST_GE, envPtr);
offset = CurrentOffset(envPtr);
TclEmitInstInt1( INST_JUMP_TRUE1, 0, envPtr);
/*
* Emit an error if we've been given an empty list.
*/
TclEmitOpcode( INST_DUP, envPtr);
TclEmitOpcode( INST_LIST_LENGTH, envPtr);
offset2 = CurrentOffset(envPtr);
TclEmitInstInt1( INST_JUMP_FALSE1, 0, envPtr);
TclEmitPush(TclAddLiteralObj(envPtr, Tcl_ObjPrintf(
"list doesn't contain element %d", idx1), NULL), envPtr);
CompileReturnInternal(envPtr, INST_RETURN_IMM, TCL_ERROR, 0,
|
| ︙ | ︙ | |||
1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 |
TclEmitInt4( idx2, envPtr);
TclEmitInstInt4( INST_REVERSE, 2, envPtr);
TclEmitOpcode( INST_LIST_CONCAT, envPtr);
goto done;
replaceRange:
if (tmpObj != NULL) {
TclEmitOpcode( INST_DUP, envPtr);
TclEmitOpcode( INST_LIST_LENGTH, envPtr);
TclEmitPush(TclAddLiteralObj(envPtr, tmpObj, NULL), envPtr);
| > > > > > > > > > | > > > > > | | 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 |
TclEmitInt4( idx2, envPtr);
TclEmitInstInt4( INST_REVERSE, 2, envPtr);
TclEmitOpcode( INST_LIST_CONCAT, envPtr);
goto done;
replaceRange:
if (tmpObj != NULL) {
/*
* Emit bytecode to check the list length.
*/
TclEmitOpcode( INST_DUP, envPtr);
TclEmitOpcode( INST_LIST_LENGTH, envPtr);
/*
* Check the list length vs idx1.
*/
TclEmitPush(TclAddLiteralObj(envPtr, tmpObj, NULL), envPtr);
TclEmitOpcode( INST_GE, envPtr);
offset = CurrentOffset(envPtr);
TclEmitInstInt1( INST_JUMP_TRUE1, 0, envPtr);
/*
* Emit an error if we've been given an empty list.
*/
TclEmitOpcode( INST_DUP, envPtr);
TclEmitOpcode( INST_LIST_LENGTH, envPtr);
offset2 = CurrentOffset(envPtr);
TclEmitInstInt1( INST_JUMP_FALSE1, 0, envPtr);
TclEmitPush(TclAddLiteralObj(envPtr, Tcl_ObjPrintf(
"list doesn't contain element %d", idx1), NULL), envPtr);
CompileReturnInternal(envPtr, INST_RETURN_IMM, TCL_ERROR, 0,
Tcl_ObjPrintf("-errorcode {TCL OPERATION LREPLACE BADIDX}"));
TclStoreInt1AtPtr(CurrentOffset(envPtr) - offset,
envPtr->codeStart + offset + 1);
TclStoreInt1AtPtr(CurrentOffset(envPtr) - offset2,
|
| ︙ | ︙ | |||
2962 2963 2964 2965 2966 2967 2968 |
TclNewObj(tailPtr);
if (TclWordKnownAtCompileTime(varTokenPtr, tailPtr)) {
full = 1;
lastTokenPtr = varTokenPtr;
} else {
full = 0;
lastTokenPtr = varTokenPtr + n;
| | > > | 3005 3006 3007 3008 3009 3010 3011 3012 3013 3014 3015 3016 3017 3018 3019 3020 3021 3022 3023 3024 |
TclNewObj(tailPtr);
if (TclWordKnownAtCompileTime(varTokenPtr, tailPtr)) {
full = 1;
lastTokenPtr = varTokenPtr;
} else {
full = 0;
lastTokenPtr = varTokenPtr + n;
if (lastTokenPtr->type != TCL_TOKEN_TEXT) {
Tcl_DecrRefCount(tailPtr);
return -1;
}
Tcl_SetStringObj(tailPtr, lastTokenPtr->start, lastTokenPtr->size);
}
tailName = TclGetStringFromObj(tailPtr, &len);
if (len) {
if (*(tailName+len-1) == ')') {
/*
|
| ︙ | ︙ |
Changes to generic/tclCompCmdsSZ.c.
| ︙ | ︙ | |||
2024 2025 2026 2027 2028 2029 2030 |
* items. */
int **bodyContLines) /* Array of continuation line info. */
{
enum {Switch_Exact, Switch_Glob, Switch_Regexp};
int foundDefault; /* Flag to indicate whether a "default" clause
* is present. */
JumpFixup *fixupArray; /* Array of forward-jump fixup records. */
| | | 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 |
* items. */
int **bodyContLines) /* Array of continuation line info. */
{
enum {Switch_Exact, Switch_Glob, Switch_Regexp};
int foundDefault; /* Flag to indicate whether a "default" clause
* is present. */
JumpFixup *fixupArray; /* Array of forward-jump fixup records. */
unsigned int *fixupTargetArray; /* Array of places for fixups to point at. */
int fixupCount; /* Number of places to fix up. */
int contFixIndex; /* Where the first of the jumps due to a group
* of continuation bodies starts, or -1 if
* there aren't any. */
int contFixCount; /* Number of continuation bodies pointing to
* the current (or next) real body. */
int nextArmFixupIndex;
|
| ︙ | ︙ |
Changes to generic/tclCompExpr.c.
| ︙ | ︙ | |||
560 561 562 563 564 565 566 |
* aim is just a parse, or whether it will go
* on to compile the expression. Different
* optimizations are appropriate for the two
* scenarios. */
{
OpNode *nodes = NULL; /* Pointer to the OpNode storage array where
* we build the parse tree. */
| | | | 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 |
* aim is just a parse, or whether it will go
* on to compile the expression. Different
* optimizations are appropriate for the two
* scenarios. */
{
OpNode *nodes = NULL; /* Pointer to the OpNode storage array where
* we build the parse tree. */
unsigned int nodesAvailable = 64; /* Initial size of the storage array. This
* value establishes a minimum tree memory
* cost of only about 1 kibyte, and is large
* enough for most expressions to parse with
* no need for array growth and
* reallocation. */
unsigned int nodesUsed = 0; /* Number of OpNodes filled. */
int scanned = 0; /* Capture number of byte scanned by parsing
* routines. */
int lastParsed; /* Stores info about what the lexeme parsed
* the previous pass through the parsing loop
* was. If it was an operator, lastParsed is
* the index of the OpNode for that operator.
* If it was not an operator, lastParsed holds
|
| ︙ | ︙ | |||
658 659 660 661 662 663 664 |
/*
* Each pass through this loop adds up to one more OpNode. Allocate
* space for one if required.
*/
if (nodesUsed >= nodesAvailable) {
| | | 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 |
/*
* Each pass through this loop adds up to one more OpNode. Allocate
* space for one if required.
*/
if (nodesUsed >= nodesAvailable) {
unsigned int size = nodesUsed * 2;
OpNode *newPtr = NULL;
do {
if (size <= UINT_MAX/sizeof(OpNode)) {
newPtr = attemptckrealloc(nodes, size * sizeof(OpNode));
}
} while ((newPtr == NULL)
|
| ︙ | ︙ |
Changes to generic/tclCompile.c.
| ︙ | ︙ | |||
3356 3357 3358 3359 3360 3361 3362 |
ExceptionRange *
TclGetInnermostExceptionRange(
CompileEnv *envPtr,
int returnCode,
ExceptionAux **auxPtrPtr)
{
| | > | | < | > > | < | | < < | | 3356 3357 3358 3359 3360 3361 3362 3363 3364 3365 3366 3367 3368 3369 3370 3371 3372 3373 3374 3375 3376 3377 3378 3379 3380 3381 3382 3383 3384 3385 3386 3387 3388 |
ExceptionRange *
TclGetInnermostExceptionRange(
CompileEnv *envPtr,
int returnCode,
ExceptionAux **auxPtrPtr)
{
int i = envPtr->exceptArrayNext;
ExceptionRange *rangePtr = envPtr->exceptArrayPtr + i;
while (i > 0) {
rangePtr--; i--;
if (CurrentOffset(envPtr) >= rangePtr->codeOffset &&
(rangePtr->numCodeBytes == -1 || CurrentOffset(envPtr) <
rangePtr->codeOffset+rangePtr->numCodeBytes) &&
(returnCode != TCL_CONTINUE ||
envPtr->exceptAuxArrayPtr[i].supportsContinue)) {
if (auxPtrPtr) {
*auxPtrPtr = envPtr->exceptAuxArrayPtr + i;
}
return rangePtr;
}
}
return NULL;
}
/*
* ---------------------------------------------------------------------
*
* TclAddLoopBreakFixup, TclAddLoopContinueFixup --
*
|
| ︙ | ︙ |
Changes to generic/tclCompile.h.
| ︙ | ︙ | |||
131 132 133 134 135 136 137 |
* expansion within the loop. Not meaningful
* if there are no open expansions between the
* looping level and the point of jump
* issue. */
int numBreakTargets; /* The number of [break]s that want to be
* targeted to the place where this loop
* exception will be bound to. */
| | | | 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 |
* expansion within the loop. Not meaningful
* if there are no open expansions between the
* looping level and the point of jump
* issue. */
int numBreakTargets; /* The number of [break]s that want to be
* targeted to the place where this loop
* exception will be bound to. */
unsigned int *breakTargets; /* The offsets of the INST_JUMP4 instructions
* issued by the [break]s that we must
* update. Note that resizing a jump (via
* TclFixupForwardJump) can cause the contents
* of this array to be updated. When
* numBreakTargets==0, this is NULL. */
int allocBreakTargets; /* The size of the breakTargets array. */
int numContinueTargets; /* The number of [continue]s that want to be
* targeted to the place where this loop
* exception will be bound to. */
unsigned int *continueTargets; /* The offsets of the INST_JUMP4 instructions
* issued by the [continue]s that we must
* update. Note that resizing a jump (via
* TclFixupForwardJump) can cause the contents
* of this array to be updated. When
* numContinueTargets==0, this is NULL. */
int allocContinueTargets; /* The size of the continueTargets array. */
} ExceptionAux;
|
| ︙ | ︙ | |||
924 925 926 927 928 929 930 |
TCL_UNCONDITIONAL_JUMP,
TCL_TRUE_JUMP,
TCL_FALSE_JUMP
} TclJumpType;
typedef struct JumpFixup {
TclJumpType jumpType; /* Indicates the kind of jump. */
| | | 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 |
TCL_UNCONDITIONAL_JUMP,
TCL_TRUE_JUMP,
TCL_FALSE_JUMP
} TclJumpType;
typedef struct JumpFixup {
TclJumpType jumpType; /* Indicates the kind of jump. */
unsigned int codeOffset; /* Offset of the first byte of the one-byte
* forward jump's code. */
int cmdIndex; /* Index of the first command after the one
* for which the jump was emitted. Used to
* update the code offsets for subsequent
* commands if the two-byte jump at jumpPc
* must be replaced with a five-byte one. */
int exceptIndex; /* Index of the first range entry in the
|
| ︙ | ︙ |
Changes to generic/tclDate.c.
| ︙ | ︙ | |||
355 356 357 358 359 360 361 | #else typedef short int yytype_int16; #endif #ifndef YYSIZE_T # ifdef __SIZE_TYPE__ # define YYSIZE_T __SIZE_TYPE__ | < < < < < < | | 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 | #else typedef short int yytype_int16; #endif #ifndef YYSIZE_T # ifdef __SIZE_TYPE__ # define YYSIZE_T __SIZE_TYPE__ # else # define YYSIZE_T size_t # endif #endif #define YYSIZE_MAXIMUM ((YYSIZE_T) -1) #ifndef YY_ # if YYENABLE_NLS |
| ︙ | ︙ |
Changes to generic/tclEnsemble.c.
| ︙ | ︙ | |||
3078 3079 3080 3081 3082 3083 3084 3085 3086 3087 3088 3089 3090 3091 |
Command *cmdPtr,
CompileEnv *envPtr) /* Holds resulting instructions. */
{
int result, i;
Tcl_Token *saveTokenPtr = parsePtr->tokenPtr;
int savedStackDepth = envPtr->currStackDepth;
unsigned savedCodeNext = envPtr->codeNext - envPtr->codeStart;
DefineLineInformation;
if (cmdPtr->compileProc == NULL) {
return TCL_ERROR;
}
/*
| > > > > > | 3078 3079 3080 3081 3082 3083 3084 3085 3086 3087 3088 3089 3090 3091 3092 3093 3094 3095 3096 |
Command *cmdPtr,
CompileEnv *envPtr) /* Holds resulting instructions. */
{
int result, i;
Tcl_Token *saveTokenPtr = parsePtr->tokenPtr;
int savedStackDepth = envPtr->currStackDepth;
unsigned savedCodeNext = envPtr->codeNext - envPtr->codeStart;
int savedAuxDataArrayNext = envPtr->auxDataArrayNext;
int savedExceptArrayNext = envPtr->exceptArrayNext;
#ifdef TCL_COMPILE_DEBUG
int savedExceptDepth = envPtr->exceptDepth;
#endif
DefineLineInformation;
if (cmdPtr->compileProc == NULL) {
return TCL_ERROR;
}
/*
|
| ︙ | ︙ | |||
3125 3126 3127 3128 3129 3130 3131 3132 3133 3134 3135 3136 3137 3138 3139 3140 |
parsePtr->tokenPtr = saveTokenPtr;
/*
* If our target failed to compile, revert any data from failed partial
* compiles. Note that envPtr->numCommands need not be checked because
* we avoid compiling subcommands that recursively call TclCompileScript().
*/
if (result != TCL_OK) {
envPtr->currStackDepth = savedStackDepth;
envPtr->codeNext = envPtr->codeStart + savedCodeNext;
#ifdef TCL_COMPILE_DEBUG
} else {
/*
* Confirm that the command compiler generated a single value on
* the stack as its result. This is only done in debugging mode,
| > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 3130 3131 3132 3133 3134 3135 3136 3137 3138 3139 3140 3141 3142 3143 3144 3145 3146 3147 3148 3149 3150 3151 3152 3153 3154 3155 3156 3157 3158 3159 3160 3161 3162 3163 3164 3165 3166 3167 3168 3169 3170 3171 3172 3173 3174 3175 3176 3177 3178 3179 3180 3181 3182 3183 |
parsePtr->tokenPtr = saveTokenPtr;
/*
* If our target failed to compile, revert any data from failed partial
* compiles. Note that envPtr->numCommands need not be checked because
* we avoid compiling subcommands that recursively call TclCompileScript().
*/
#ifdef TCL_COMPILE_DEBUG
if (envPtr->exceptDepth != savedExceptDepth) {
Tcl_Panic("ExceptionRange Starts and Ends do not balance");
}
#endif
if (result != TCL_OK) {
ExceptionAux *auxPtr = envPtr->exceptAuxArrayPtr;
for (i = 0; i < savedExceptArrayNext; i++) {
while (auxPtr->numBreakTargets > 0
&& auxPtr->breakTargets[auxPtr->numBreakTargets - 1]
>= savedCodeNext) {
auxPtr->numBreakTargets--;
}
while (auxPtr->numContinueTargets > 0
&& auxPtr->continueTargets[auxPtr->numContinueTargets - 1]
>= savedCodeNext) {
auxPtr->numContinueTargets--;
}
auxPtr++;
}
envPtr->exceptArrayNext = savedExceptArrayNext;
if (savedAuxDataArrayNext != envPtr->auxDataArrayNext) {
AuxData *auxDataPtr = envPtr->auxDataArrayPtr;
AuxData *auxDataEnd = auxDataPtr;
auxDataPtr += savedAuxDataArrayNext;
auxDataEnd += envPtr->auxDataArrayNext;
while (auxDataPtr < auxDataEnd) {
if (auxDataPtr->type->freeProc != NULL) {
auxDataPtr->type->freeProc(auxDataPtr->clientData);
}
auxDataPtr++;
}
envPtr->auxDataArrayNext = savedAuxDataArrayNext;
}
envPtr->currStackDepth = savedStackDepth;
envPtr->codeNext = envPtr->codeStart + savedCodeNext;
#ifdef TCL_COMPILE_DEBUG
} else {
/*
* Confirm that the command compiler generated a single value on
* the stack as its result. This is only done in debugging mode,
|
| ︙ | ︙ |
Changes to generic/tclEvent.c.
| ︙ | ︙ | |||
1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 |
const char *name1, /* Name of variable. */
const char *name2, /* Second part of variable name. */
int flags) /* Information about what happened. */
{
int *donePtr = clientData;
*donePtr = 1;
return NULL;
}
/*
*----------------------------------------------------------------------
*
* Tcl_UpdateObjCmd --
| > > | 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 |
const char *name1, /* Name of variable. */
const char *name2, /* Second part of variable name. */
int flags) /* Information about what happened. */
{
int *donePtr = clientData;
*donePtr = 1;
Tcl_UntraceVar(interp, name1, TCL_TRACE_WRITES|TCL_TRACE_UNSETS,
VwaitVarProc, clientData);
return NULL;
}
/*
*----------------------------------------------------------------------
*
* Tcl_UpdateObjCmd --
|
| ︙ | ︙ |
Changes to generic/tclExecute.c.
| ︙ | ︙ | |||
15 16 17 18 19 20 21 22 23 24 25 26 27 28 | * this file, and for a DISCLAIMER OF ALL WARRANTIES. */ #include "tclInt.h" #include "tclCompile.h" #include "tclOOInt.h" #include "tommath.h" #include <math.h> #include <assert.h> /* * Hack to determine whether we may expect IEEE floating point. The hack is * formally incorrect in that non-IEEE platforms might have the same precision * and range, but VAX, IBM, and Cray do not; are there any other floating | > | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | * this file, and for a DISCLAIMER OF ALL WARRANTIES. */ #include "tclInt.h" #include "tclCompile.h" #include "tclOOInt.h" #include "tommath.h" #include "tclStringRep.h" #include <math.h> #include <assert.h> /* * Hack to determine whether we may expect IEEE floating point. The hack is * formally incorrect in that non-IEEE platforms might have the same precision * and range, but VAX, IBM, and Cray do not; are there any other floating |
| ︙ | ︙ | |||
5733 5734 5735 5736 5737 5738 5739 5740 5741 5742 5743 5744 5745 5746 5747 5748 5749 5750 5751 |
* characters being replaced is the same as the number of characters
* in the string to be inserted.
*/
if (length3 - 1 == toIdx - fromIdx) {
unsigned char *bytes1, *bytes2;
if (Tcl_IsShared(valuePtr)) {
objResultPtr = Tcl_DuplicateObj(valuePtr);
if (TclIsPureByteArray(objResultPtr)
&& TclIsPureByteArray(value3Ptr)) {
bytes1 = Tcl_GetByteArrayFromObj(objResultPtr, NULL);
bytes2 = Tcl_GetByteArrayFromObj(value3Ptr, NULL);
memcpy(bytes1 + fromIdx, bytes2, length3);
} else {
ustring1 = Tcl_GetUnicodeFromObj(objResultPtr, NULL);
ustring2 = Tcl_GetUnicodeFromObj(value3Ptr, NULL);
memcpy(ustring1 + fromIdx, ustring2,
length3 * sizeof(Tcl_UniChar));
| > > > > > > > > > > | < < < < < < < < < < | < < < < < < < < < < | 5734 5735 5736 5737 5738 5739 5740 5741 5742 5743 5744 5745 5746 5747 5748 5749 5750 5751 5752 5753 5754 5755 5756 5757 5758 5759 5760 5761 5762 5763 5764 5765 5766 5767 5768 5769 5770 5771 5772 5773 5774 5775 5776 5777 5778 5779 5780 5781 5782 5783 5784 5785 5786 5787 |
* characters being replaced is the same as the number of characters
* in the string to be inserted.
*/
if (length3 - 1 == toIdx - fromIdx) {
unsigned char *bytes1, *bytes2;
/*
* Flush the info in the string internal rep that refers to the
* about-to-be-invalidated UTF-8 rep. This indicates that a new
* buffer needs to be allocated, and assumes that the value is
* already of tclStringTypePtr type, which should be true provided
* we call it after Tcl_GetUnicodeFromObj.
*/
#define MarkStringInternalRepForFlush(objPtr) \
(GET_STRING(objPtr)->allocated = 0)
if (Tcl_IsShared(valuePtr)) {
objResultPtr = Tcl_DuplicateObj(valuePtr);
if (TclIsPureByteArray(objResultPtr)
&& TclIsPureByteArray(value3Ptr)) {
bytes1 = Tcl_GetByteArrayFromObj(objResultPtr, NULL);
bytes2 = Tcl_GetByteArrayFromObj(value3Ptr, NULL);
memcpy(bytes1 + fromIdx, bytes2, length3);
} else {
ustring1 = Tcl_GetUnicodeFromObj(objResultPtr, NULL);
ustring2 = Tcl_GetUnicodeFromObj(value3Ptr, NULL);
memcpy(ustring1 + fromIdx, ustring2,
length3 * sizeof(Tcl_UniChar));
MarkStringInternalRepForFlush(objResultPtr);
}
Tcl_InvalidateStringRep(objResultPtr);
TclDecrRefCount(value3Ptr);
TRACE_APPEND(("\"%.30s\"\n", O2S(objResultPtr)));
NEXT_INST_F(1, 1, 1);
} else {
if (TclIsPureByteArray(valuePtr)
&& TclIsPureByteArray(value3Ptr)) {
bytes1 = Tcl_GetByteArrayFromObj(valuePtr, NULL);
bytes2 = Tcl_GetByteArrayFromObj(value3Ptr, NULL);
memcpy(bytes1 + fromIdx, bytes2, length3);
} else {
ustring1 = Tcl_GetUnicodeFromObj(valuePtr, NULL);
ustring2 = Tcl_GetUnicodeFromObj(value3Ptr, NULL);
memcpy(ustring1 + fromIdx, ustring2,
length3 * sizeof(Tcl_UniChar));
MarkStringInternalRepForFlush(valuePtr);
}
Tcl_InvalidateStringRep(valuePtr);
TclDecrRefCount(value3Ptr);
TRACE_APPEND(("\"%.30s\"\n", O2S(valuePtr)));
NEXT_INST_F(1, 0, 0);
}
}
|
| ︙ | ︙ |
Changes to generic/tclIORChan.c.
| ︙ | ︙ | |||
1605 1606 1607 1608 1609 1610 1611 |
/*
* Same old, same old, why should we do something?
*/
return;
}
| < < | 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 |
/*
* Same old, same old, why should we do something?
*/
return;
}
/*
* Are we in the correct thread?
*/
#ifdef TCL_THREADS
if (rcPtr->thread != Tcl_GetCurrentThread()) {
ForwardParam p;
|
| ︙ | ︙ | |||
1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 |
return;
}
#endif
Tcl_Preserve(rcPtr);
maskObj = DecodeEventMask(mask);
/* assert maskObj.refCount == 1 */
(void) InvokeTclMethod(rcPtr, METH_WATCH, maskObj, NULL, NULL);
Tcl_DecrRefCount(maskObj);
Tcl_Release(rcPtr);
}
| > | 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 |
return;
}
#endif
Tcl_Preserve(rcPtr);
rcPtr->interest = mask;
maskObj = DecodeEventMask(mask);
/* assert maskObj.refCount == 1 */
(void) InvokeTclMethod(rcPtr, METH_WATCH, maskObj, NULL, NULL);
Tcl_DecrRefCount(maskObj);
Tcl_Release(rcPtr);
}
|
| ︙ | ︙ | |||
3079 3080 3081 3082 3083 3084 3085 3086 3087 3088 3089 3090 3091 3092 |
}
case ForwardedWatch: {
Tcl_Obj *maskObj = DecodeEventMask(paramPtr->watch.mask);
/* assert maskObj.refCount == 1 */
Tcl_Preserve(rcPtr);
(void) InvokeTclMethod(rcPtr, METH_WATCH, maskObj, NULL, NULL);
Tcl_DecrRefCount(maskObj);
Tcl_Release(rcPtr);
break;
}
case ForwardedBlock: {
| > | 3078 3079 3080 3081 3082 3083 3084 3085 3086 3087 3088 3089 3090 3091 3092 |
}
case ForwardedWatch: {
Tcl_Obj *maskObj = DecodeEventMask(paramPtr->watch.mask);
/* assert maskObj.refCount == 1 */
Tcl_Preserve(rcPtr);
rcPtr->interest = paramPtr->watch.mask;
(void) InvokeTclMethod(rcPtr, METH_WATCH, maskObj, NULL, NULL);
Tcl_DecrRefCount(maskObj);
Tcl_Release(rcPtr);
break;
}
case ForwardedBlock: {
|
| ︙ | ︙ |
Changes to generic/tclInt.h.
| ︙ | ︙ | |||
44 45 46 47 48 49 50 | # include <stdlib.h> #endif #ifdef NO_STRING_H #include "../compat/string.h" #else #include <string.h> #endif | | > | 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
# include <stdlib.h>
#endif
#ifdef NO_STRING_H
#include "../compat/string.h"
#else
#include <string.h>
#endif
#if defined(STDC_HEADERS) || defined(__STDC__) || defined(__C99__FUNC__) \
|| defined(__cplusplus) || defined(_MSC_VER)
#include <stddef.h>
#else
typedef int ptrdiff_t;
#endif
/*
* Ensure WORDS_BIGENDIAN is defined correctly:
|
| ︙ | ︙ |
Changes to generic/tclInterp.c.
| ︙ | ︙ | |||
719 720 721 722 723 724 725 |
case OPT_LAST:
i++;
goto endOfForLoop;
}
}
endOfForLoop:
| | | 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 |
case OPT_LAST:
i++;
goto endOfForLoop;
}
}
endOfForLoop:
if (i < objc - 2) {
Tcl_WrongNumArgs(interp, 2, objv,
"?-unwind? ?--? ?path? ?result?");
return TCL_ERROR;
}
/*
* Did they specify a slave interp to cancel the script in progress
|
| ︙ | ︙ |
Changes to generic/tclNamesp.c.
| ︙ | ︙ | |||
1101 1102 1103 1104 1105 1106 1107 |
TclTeardownNamespace(
register Namespace *nsPtr) /* Points to the namespace to be dismantled
* and unlinked from its parent. */
{
Interp *iPtr = (Interp *) nsPtr->interp;
register Tcl_HashEntry *entryPtr;
Tcl_HashSearch search;
| < < > > > | | | < > > > > > | | | | > > > > | > > > > | 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 |
TclTeardownNamespace(
register Namespace *nsPtr) /* Points to the namespace to be dismantled
* and unlinked from its parent. */
{
Interp *iPtr = (Interp *) nsPtr->interp;
register Tcl_HashEntry *entryPtr;
Tcl_HashSearch search;
int i;
/*
* Start by destroying the namespace's variable table, since variables
* might trigger traces. Variable table should be cleared but not freed!
* TclDeleteNamespaceVars frees it, so we reinitialize it afterwards.
*/
TclDeleteNamespaceVars(nsPtr);
TclInitVarHashTable(&nsPtr->varTable, nsPtr);
/*
* Delete all commands in this namespace. Be careful when traversing the
* hash table: when each command is deleted, it removes itself from the
* command table. Because of traces (and the desire to avoid the quadratic
* problems of just using Tcl_FirstHashEntry over and over, [Bug
* f97d4ee020]) we copy to a temporary array and then delete all those
* commands.
*/
while (nsPtr->cmdTable.numEntries > 0) {
int length = nsPtr->cmdTable.numEntries;
Command **cmds = TclStackAlloc((Tcl_Interp *) iPtr,
sizeof(Command *) * length);
i = 0;
for (entryPtr = Tcl_FirstHashEntry(&nsPtr->cmdTable, &search);
entryPtr != NULL;
entryPtr = Tcl_NextHashEntry(&search)) {
cmds[i] = Tcl_GetHashValue(entryPtr);
cmds[i]->refCount++;
i++;
}
for (i = 0 ; i < length ; i++) {
Tcl_DeleteCommandFromToken((Tcl_Interp *) iPtr,
(Tcl_Command) cmds[i]);
TclCleanupCommandMacro(cmds[i]);
}
TclStackFree((Tcl_Interp *) iPtr, cmds);
}
Tcl_DeleteHashTable(&nsPtr->cmdTable);
Tcl_InitHashTable(&nsPtr->cmdTable, TCL_STRING_KEYS);
/*
* Remove the namespace from its parent's child hashtable.
*/
|
| ︙ | ︙ | |||
1171 1172 1173 1174 1175 1176 1177 |
}
/*
* Delete all the child namespaces.
*
* BE CAREFUL: When each child is deleted, it will divorce itself from its
* parent. You can't traverse a hash table properly if its elements are
| > | > > < > > > > > > > | | | | > > > > | > | > > > > > > > > | | | | > > > > | > > > | 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 |
}
/*
* Delete all the child namespaces.
*
* BE CAREFUL: When each child is deleted, it will divorce itself from its
* parent. You can't traverse a hash table properly if its elements are
* being deleted. Because of traces (and the desire to avoid the
* quadratic problems of just using Tcl_FirstHashEntry over and over, [Bug
* f97d4ee020]) we copy to a temporary array and then delete all those
* namespaces.
*
* Important: leave the hash table itself still live.
*/
#ifndef BREAK_NAMESPACE_COMPAT
while (nsPtr->childTable.numEntries > 0) {
int length = nsPtr->childTable.numEntries;
Namespace **children = TclStackAlloc((Tcl_Interp *) iPtr,
sizeof(Namespace *) * length);
i = 0;
for (entryPtr = Tcl_FirstHashEntry(&nsPtr->childTable, &search);
entryPtr != NULL;
entryPtr = Tcl_NextHashEntry(&search)) {
children[i] = Tcl_GetHashValue(entryPtr);
children[i]->refCount++;
i++;
}
for (i = 0 ; i < length ; i++) {
Tcl_DeleteNamespace((Tcl_Namespace *) children[i]);
TclNsDecrRefCount(children[i]);
}
TclStackFree((Tcl_Interp *) iPtr, children);
}
#else
if (nsPtr->childTablePtr != NULL) {
while (nsPtr->childTablePtr->numEntries > 0) {
int length = nsPtr->childTablePtr->numEntries;
Namespace **children = TclStackAlloc((Tcl_Interp *) iPtr,
sizeof(Namespace *) * length);
i = 0;
for (entryPtr = Tcl_FirstHashEntry(nsPtr->childTablePtr, &search);
entryPtr != NULL;
entryPtr = Tcl_NextHashEntry(&search)) {
children[i] = Tcl_GetHashValue(entryPtr);
children[i]->refCount++;
i++;
}
for (i = 0 ; i < length ; i++) {
Tcl_DeleteNamespace((Tcl_Namespace *) children[i]);
TclNsDecrRefCount(children[i]);
}
TclStackFree((Tcl_Interp *) iPtr, children);
}
}
#endif
/*
* Free the namespace's export pattern array.
*/
|
| ︙ | ︙ |
Changes to generic/tclObj.c.
| ︙ | ︙ | |||
316 317 318 319 320 321 322 | * own purposes. * * TRICKY POINT! Some extensions update this structure! (Notably, these * include TclBlend and TCom). This is highly ill-advised on their part, but * does allow them to delete a command when references to it are gone, which * is fragile but useful given their somewhat-OO style. Because of this, this * structure MUST NOT be const so that the C compiler puts the data in | | | 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 |
* own purposes.
*
* TRICKY POINT! Some extensions update this structure! (Notably, these
* include TclBlend and TCom). This is highly ill-advised on their part, but
* does allow them to delete a command when references to it are gone, which
* is fragile but useful given their somewhat-OO style. Because of this, this
* structure MUST NOT be const so that the C compiler puts the data in
* writable memory. [Bug 2558422] [Bug 07d13d99b0a9]
* TODO: Provide a better API for those extensions so that they can coexist...
*/
Tcl_ObjType tclCmdNameType = {
"cmdName", /* name */
FreeCmdNameInternalRep, /* freeIntRepProc */
DupCmdNameInternalRep, /* dupIntRepProc */
|
| ︙ | ︙ | |||
4172 4173 4174 4175 4176 4177 4178 |
}
/*
* OK, must create a new internal representation (or fail) as any cache we
* had is invalid one way or another.
*/
| > | | 4172 4173 4174 4175 4176 4177 4178 4179 4180 4181 4182 4183 4184 4185 4186 4187 |
}
/*
* OK, must create a new internal representation (or fail) as any cache we
* had is invalid one way or another.
*/
/* See [] why we cannot call SetCmdNameFromAny() directly here. */
if (tclCmdNameType.setFromAnyProc(interp, objPtr) != TCL_OK) {
return NULL;
}
resPtr = objPtr->internalRep.twoPtrValue.ptr1;
return (Tcl_Command) (resPtr ? resPtr->cmdPtr : NULL);
}
/*
|
| ︙ | ︙ |
Changes to generic/tclProc.c.
| ︙ | ︙ | |||
65 66 67 68 69 70 71 |
* Tcl_GetStringFromObj should panic
* instead. */
NULL /* SetFromAny function; Tcl_ConvertToType
* should panic instead. */
};
/*
| | | < | 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 |
* Tcl_GetStringFromObj should panic
* instead. */
NULL /* SetFromAny function; Tcl_ConvertToType
* should panic instead. */
};
/*
* The [upvar]/[uplevel] level reference type. Uses the longValue field
* to remember the integer value of a parsed #<integer> format.
*
* Uses the default behaviour throughout, and never disposes of the string
* rep; it's just a cache type.
*/
static const Tcl_ObjType levelReferenceType = {
"levelReference",
|
| ︙ | ︙ | |||
781 782 783 784 785 786 787 | * Given a description of a procedure frame, such as the first argument * to an "uplevel" or "upvar" command, locate the call frame for the * appropriate level of procedure. * * Results: * The return value is -1 if an error occurred in finding the frame (in * this case an error message is left in the interp's result). 1 is | | | 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 | * Given a description of a procedure frame, such as the first argument * to an "uplevel" or "upvar" command, locate the call frame for the * appropriate level of procedure. * * Results: * The return value is -1 if an error occurred in finding the frame (in * this case an error message is left in the interp's result). 1 is * returned if objPtr was either an int or an int preceded by "#" and * it specified a valid frame. 0 is returned if objPtr isn't one of the * two things above (in this case, the lookup acts as if objPtr were * "1"). The variable pointed to by framePtrPtr is filled in with the * address of the desired frame (unless an error occurs, in which case it * isn't modified). * * Side effects: |
| ︙ | ︙ | |||
803 804 805 806 807 808 809 |
Tcl_Interp *interp, /* Interpreter in which to find frame. */
Tcl_Obj *objPtr, /* Object describing frame. */
CallFrame **framePtrPtr) /* Store pointer to frame here (or NULL if
* global frame indicated). */
{
register Interp *iPtr = (Interp *) interp;
int curLevel, level, result;
| < | | < < < | > > > > < | | < | < < | | < < < < > | > > | > | > | > | < | | < < > | | | < > > | > | < < < < < > < < | | < < < < < < < < | | < < < < | < < | < | < < < | | | | > | | | > | < > | < < | | | 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 |
Tcl_Interp *interp, /* Interpreter in which to find frame. */
Tcl_Obj *objPtr, /* Object describing frame. */
CallFrame **framePtrPtr) /* Store pointer to frame here (or NULL if
* global frame indicated). */
{
register Interp *iPtr = (Interp *) interp;
int curLevel, level, result;
const char *name = NULL;
/*
* Parse object to figure out which level number to go to.
*/
result = 0;
curLevel = iPtr->varFramePtr->level;
/*
* Check for integer first, since that has potential to spare us
* a generation of a stringrep.
*/
if (objPtr == NULL) {
/* Do nothing */
} else if (TCL_OK == Tcl_GetIntFromObj(NULL, objPtr, &level)
&& (level >= 0)) {
level = curLevel - level;
result = 1;
} else if (objPtr->typePtr == &levelReferenceType) {
level = (int) objPtr->internalRep.longValue;
result = 1;
} else {
name = TclGetString(objPtr);
if (name[0] == '#') {
if (TCL_OK == Tcl_GetInt(NULL, name+1, &level) && level >= 0) {
TclFreeIntRep(objPtr);
objPtr->typePtr = &levelReferenceType;
objPtr->internalRep.longValue = level;
result = 1;
} else {
result = -1;
}
} else if (isdigit(UCHAR(name[0]))) { /* INTL: digit */
/*
* If this were an integer, we'd have succeeded already.
* Docs say we have to treat this as a 'bad level' error.
*/
result = -1;
}
}
if (result == 0) {
level = curLevel - 1;
name = "1";
}
if (result != -1) {
if (level >= 0) {
CallFrame *framePtr;
for (framePtr = iPtr->varFramePtr; framePtr != NULL;
framePtr = framePtr->callerVarPtr) {
if (framePtr->level == level) {
*framePtrPtr = framePtr;
return result;
}
}
}
if (name == NULL) {
name = TclGetString(objPtr);
}
}
Tcl_SetObjResult(interp, Tcl_ObjPrintf("bad level \"%s\"", name));
Tcl_SetErrorCode(interp, "TCL", "VALUE", "STACKLEVEL", NULL);
return -1;
}
/*
*----------------------------------------------------------------------
|
| ︙ | ︙ |
Changes to generic/tclStringObj.c.
| ︙ | ︙ | |||
32 33 34 35 36 37 38 39 40 41 42 43 44 45 | * * See the file "license.terms" for information on usage and redistribution of * this file, and for a DISCLAIMER OF ALL WARRANTIES. */ #include "tclInt.h" #include "tommath.h" /* * Set COMPAT to 1 to restore the shimmering patterns to those of Tcl 8.5. * This is an escape hatch in case the changes have some unexpected unwelcome * impact on performance. If things go well, this mechanism can go away when * post-8.6 development begins. */ | > | 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | * * See the file "license.terms" for information on usage and redistribution of * this file, and for a DISCLAIMER OF ALL WARRANTIES. */ #include "tclInt.h" #include "tommath.h" #include "tclStringRep.h" /* * Set COMPAT to 1 to restore the shimmering patterns to those of Tcl 8.5. * This is an escape hatch in case the changes have some unexpected unwelcome * impact on performance. If things go well, this mechanism can go away when * post-8.6 development begins. */ |
| ︙ | ︙ | |||
85 86 87 88 89 90 91 |
const Tcl_ObjType tclStringType = {
"string", /* name */
FreeStringInternalRep, /* freeIntRepPro */
DupStringInternalRep, /* dupIntRepProc */
UpdateStringOfString, /* updateStringProc */
SetStringFromAny /* setFromAnyProc */
};
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | 86 87 88 89 90 91 92 93 94 95 96 97 98 99 |
const Tcl_ObjType tclStringType = {
"string", /* name */
FreeStringInternalRep, /* freeIntRepPro */
DupStringInternalRep, /* dupIntRepProc */
UpdateStringOfString, /* updateStringProc */
SetStringFromAny /* setFromAnyProc */
};
/*
* TCL STRING GROWTH ALGORITHM
*
* When growing strings (during an append, for example), the following growth
* algorithm is used:
*
|
| ︙ | ︙ |
Added generic/tclStringRep.h.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 |
/*
* tclStringRep.h --
*
* This file contains the definition of the Unicode string internal
* representation and macros to access it.
*
* A Unicode string is an internationalized string. Conceptually, a
* Unicode string is an array of 16-bit quantities organized as a
* sequence of properly formed UTF-8 characters. There is a one-to-one
* map between Unicode and UTF characters. Because Unicode characters
* have a fixed width, operations such as indexing operate on Unicode
* data. The String object is optimized for the case where each UTF char
* in a string is only one byte. In this case, we store the value of
* numChars, but we don't store the Unicode data (unless Tcl_GetUnicode
* is explicitly called).
*
* The String object type stores one or both formats. The default
* behavior is to store UTF. Once Unicode is calculated by a function, it
* is stored in the internal rep for future access (without an additional
* O(n) cost).
*
* To allow many appends to be done to an object without constantly
* reallocating the space for the string or Unicode representation, we
* allocate double the space for the string or Unicode and use the
* internal representation to keep track of how much space is used vs.
* allocated.
*
* Copyright (c) 1995-1997 Sun Microsystems, Inc.
* Copyright (c) 1999 by Scriptics Corporation.
*
* See the file "license.terms" for information on usage and redistribution of
* this file, and for a DISCLAIMER OF ALL WARRANTIES.
*/
/*
* The following structure is the internal rep for a String object. It keeps
* track of how much memory has been used and how much has been allocated for
* the Unicode and UTF string to enable growing and shrinking of the UTF and
* Unicode reps of the String object with fewer mallocs. To optimize string
* length and indexing operations, this structure also stores the number of
* characters (same of UTF and Unicode!) once that value has been computed.
*
* Under normal configurations, what Tcl calls "Unicode" is actually UTF-16
* restricted to the Basic Multilingual Plane (i.e. U+00000 to U+0FFFF). This
* can be officially modified by altering the definition of Tcl_UniChar in
* tcl.h, but do not do that unless you are sure what you're doing!
*/
typedef struct String {
int numChars; /* The number of chars in the string. -1 means
* this value has not been calculated. >= 0
* means that there is a valid Unicode rep, or
* that the number of UTF bytes == the number
* of chars. */
int allocated; /* The amount of space actually allocated for
* the UTF string (minus 1 byte for the
* termination char). */
int maxChars; /* Max number of chars that can fit in the
* space allocated for the unicode array. */
int hasUnicode; /* Boolean determining whether the string has
* a Unicode representation. */
Tcl_UniChar unicode[1]; /* The array of Unicode chars. The actual size
* of this field depends on the 'maxChars'
* field above. */
} String;
#define STRING_MAXCHARS \
(int)(((size_t)UINT_MAX - sizeof(String))/sizeof(Tcl_UniChar))
#define STRING_SIZE(numChars) \
(sizeof(String) + ((numChars) * sizeof(Tcl_UniChar)))
#define stringCheckLimits(numChars) \
do { \
if ((numChars) < 0 || (numChars) > STRING_MAXCHARS) { \
Tcl_Panic("max length for a Tcl unicode value (%d chars) exceeded", \
STRING_MAXCHARS); \
} \
} while (0)
#define stringAttemptAlloc(numChars) \
(String *) attemptckalloc((unsigned) STRING_SIZE(numChars))
#define stringAlloc(numChars) \
(String *) ckalloc((unsigned) STRING_SIZE(numChars))
#define stringRealloc(ptr, numChars) \
(String *) ckrealloc((ptr), (unsigned) STRING_SIZE(numChars))
#define stringAttemptRealloc(ptr, numChars) \
(String *) attemptckrealloc((ptr), (unsigned) STRING_SIZE(numChars))
#define GET_STRING(objPtr) \
((String *) (objPtr)->internalRep.twoPtrValue.ptr1)
#define SET_STRING(objPtr, stringPtr) \
((objPtr)->internalRep.twoPtrValue.ptr1 = (void *) (stringPtr))
/*
* Local Variables:
* mode: c
* c-basic-offset: 4
* fill-column: 78
* End:
*/
|
Changes to generic/tclTest.c.
| ︙ | ︙ | |||
6887 6888 6889 6890 6891 6892 6893 |
int objc,
Tcl_Obj *const objv[])
{
/*
* Insure that callbacks effectively run at the proper level during the
* unwinding of the NRE stack.
*/
| | | 6887 6888 6889 6890 6891 6892 6893 6894 6895 6896 6897 6898 6899 6900 6901 |
int objc,
Tcl_Obj *const objv[])
{
/*
* Insure that callbacks effectively run at the proper level during the
* unwinding of the NRE stack.
*/
Tcl_NRAddCallback(interp, NREUnwind_callback, INT2PTR(-1), INT2PTR(-1),
INT2PTR(-1), NULL);
return TCL_OK;
}
static int
|
| ︙ | ︙ |
Changes to generic/tclThreadTest.c.
| ︙ | ︙ | |||
830 831 832 833 834 835 836 |
/*
* Short circut sends to ourself. Ought to do something with -async, like
* run in an idle handler.
*/
if (threadId == Tcl_GetCurrentThread()) {
Tcl_MutexUnlock(&threadMutex);
| | | 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 |
/*
* Short circut sends to ourself. Ought to do something with -async, like
* run in an idle handler.
*/
if (threadId == Tcl_GetCurrentThread()) {
Tcl_MutexUnlock(&threadMutex);
return Tcl_EvalEx(interp, script,-1,TCL_EVAL_GLOBAL);
}
/*
* Create the event for its event queue.
*/
threadEventPtr = ckalloc(sizeof(ThreadEvent));
|
| ︙ | ︙ | |||
1025 1026 1027 1028 1029 1030 1031 |
result = "no target interp!";
errorCode = "THREAD";
errorInfo = "";
} else {
Tcl_Preserve(interp);
Tcl_ResetResult(interp);
Tcl_CreateThreadExitHandler(ThreadFreeProc, threadEventPtr->script);
| | | 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 |
result = "no target interp!";
errorCode = "THREAD";
errorInfo = "";
} else {
Tcl_Preserve(interp);
Tcl_ResetResult(interp);
Tcl_CreateThreadExitHandler(ThreadFreeProc, threadEventPtr->script);
code = Tcl_EvalEx(interp, threadEventPtr->script,-1,TCL_EVAL_GLOBAL);
Tcl_DeleteThreadExitHandler(ThreadFreeProc, threadEventPtr->script);
if (code != TCL_OK) {
errorCode = Tcl_GetVar(interp, "errorCode", TCL_GLOBAL_ONLY);
errorInfo = Tcl_GetVar(interp, "errorInfo", TCL_GLOBAL_ONLY);
} else {
errorCode = errorInfo = NULL;
}
|
| ︙ | ︙ |
Changes to generic/tclZlib.c.
| ︙ | ︙ | |||
1190 1191 1192 1193 1194 1195 1196 | outSize = deflateBound(&zshPtr->stream, zshPtr->stream.avail_in)+100; zshPtr->stream.avail_out = outSize; dataTmp = ckalloc(zshPtr->stream.avail_out); zshPtr->stream.next_out = (Bytef *) dataTmp; e = deflate(&zshPtr->stream, flush); | | | > | | | 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 |
outSize = deflateBound(&zshPtr->stream, zshPtr->stream.avail_in)+100;
zshPtr->stream.avail_out = outSize;
dataTmp = ckalloc(zshPtr->stream.avail_out);
zshPtr->stream.next_out = (Bytef *) dataTmp;
e = deflate(&zshPtr->stream, flush);
while (e == Z_BUF_ERROR || (flush == Z_FINISH && e == Z_OK)) {
/*
* Output buffer too small to hold the data being generated or we
* are doing the end-of-stream flush (which can spit out masses of
* data). This means we need to put a new buffer into place after
* saving the old generated data to the outData list.
*/
obj = Tcl_NewByteArrayObj((unsigned char *) dataTmp, outSize);
Tcl_ListObjAppendElement(NULL, zshPtr->outData, obj);
if (outSize < 0xFFFF) {
outSize = 0xFFFF; /* There may be *lots* of data left to
|
| ︙ | ︙ |
Changes to library/reg/pkgIndex.tcl.
1 2 3 |
if {([info commands ::tcl::pkgconfig] eq "")
|| ([info sharedlibextension] ne ".dll")} return
if {[::tcl::pkgconfig get debug]} {
| | | | 1 2 3 4 5 6 7 8 9 |
if {([info commands ::tcl::pkgconfig] eq "")
|| ([info sharedlibextension] ne ".dll")} return
if {[::tcl::pkgconfig get debug]} {
package ifneeded registry 1.3.2 \
[list load [file join $dir tclreg13g.dll] registry]
} else {
package ifneeded registry 1.3.2 \
[list load [file join $dir tclreg13.dll] registry]
}
|
Changes to library/tcltest/pkgIndex.tcl.
1 2 3 4 5 6 7 8 9 10 11 |
# Tcl package index file, version 1.1
# This file is generated by the "pkg_mkIndex -direct" command
# and sourced either when an application starts up or
# by a "package unknown" script. It invokes the
# "package ifneeded" command to set up package-related
# information so that packages will be loaded automatically
# in response to "package require" commands. When this
# script is sourced, the variable $dir must contain the
# full path name of this file's directory.
if {![package vsatisfies [package provide Tcl] 8.5]} {return}
| | | 1 2 3 4 5 6 7 8 9 10 11 12 |
# Tcl package index file, version 1.1
# This file is generated by the "pkg_mkIndex -direct" command
# and sourced either when an application starts up or
# by a "package unknown" script. It invokes the
# "package ifneeded" command to set up package-related
# information so that packages will be loaded automatically
# in response to "package require" commands. When this
# script is sourced, the variable $dir must contain the
# full path name of this file's directory.
if {![package vsatisfies [package provide Tcl] 8.5]} {return}
package ifneeded tcltest 2.4.0 [list source [file join $dir tcltest.tcl]]
|
Changes to library/tcltest/tcltest.tcl.
| ︙ | ︙ | |||
18 19 20 21 22 23 24 |
package require Tcl 8.5 ;# -verbose line uses [info frame]
namespace eval tcltest {
# When the version number changes, be sure to update the pkgIndex.tcl file,
# and the install directory in the Makefiles. When the minor version
# changes (new feature) be sure to update the man page as well.
| | | 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
package require Tcl 8.5 ;# -verbose line uses [info frame]
namespace eval tcltest {
# When the version number changes, be sure to update the pkgIndex.tcl file,
# and the install directory in the Makefiles. When the minor version
# changes (new feature) be sure to update the man page as well.
variable Version 2.4.0
# Compatibility support for dumb variables defined in tcltest 1
# Do not use these. Call [package provide Tcl] and [info patchlevel]
# yourself. You don't need tcltest to wrap it for you.
variable version [package provide Tcl]
variable patchLevel [info patchlevel]
|
| ︙ | ︙ | |||
607 608 609 610 611 612 613 614 |
}
set code [catch {Configure {*}$args} msg]
return -code $code $msg
}
proc AcceptVerbose { level } {
set level [AcceptList $level]
if {[llength $level] == 1} {
| > > > > > > > > > > > > | < | | | 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 |
}
set code [catch {Configure {*}$args} msg]
return -code $code $msg
}
proc AcceptVerbose { level } {
set level [AcceptList $level]
set levelMap {
l list
p pass
b body
s skip
t start
e error
l line
m msec
u usec
}
set levelRegexp "^([join [dict values $levelMap] |])\$"
if {[llength $level] == 1} {
if {![regexp $levelRegexp $level]} {
# translate single characters abbreviations to expanded list
set level [string map $levelMap [split $level {}]]
}
}
set valid [list]
foreach v $level {
if {[regexp $levelRegexp $v]} {
lappend valid $v
}
}
return $valid
}
proc IsVerbose {level} {
|
| ︙ | ︙ | |||
1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 |
set errorInfo(setup) $::errorInfo
set errorCode(setup) $::errorCode
}
set setupFailure [expr {$code != 0}]
# Only run the test body if the setup was successful
if {!$setupFailure} {
# Verbose notification of $body start
if {[IsVerbose start]} {
puts [outputChannel] "---- $name start"
flush [outputChannel]
}
| > > > > > | 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 |
set errorInfo(setup) $::errorInfo
set errorCode(setup) $::errorCode
}
set setupFailure [expr {$code != 0}]
# Only run the test body if the setup was successful
if {!$setupFailure} {
# Register startup time
if {[IsVerbose msec] || [IsVerbose usec]} {
set timeStart [clock microseconds]
}
# Verbose notification of $body start
if {[IsVerbose start]} {
puts [outputChannel] "---- $name start"
flush [outputChannel]
}
|
| ︙ | ︙ | |||
2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 |
if {$msg ne {}} {
append coreMsg "\nError:\
Problem renaming core file: $msg"
}
}
}
}
# if we didn't experience any failures, then we passed
variable numTests
if {!($setupFailure || $cleanupFailure || $coreFailure
|| $outputFailure || $errorFailure || $codeFailure
|| $scriptFailure)} {
if {$testLevel == 1} {
| > > > > > > > > > > | 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 |
if {$msg ne {}} {
append coreMsg "\nError:\
Problem renaming core file: $msg"
}
}
}
}
if {[IsVerbose msec] || [IsVerbose usec]} {
set t [expr {[clock microseconds] - $timeStart}]
if {[IsVerbose usec]} {
puts [outputChannel] "++++ $name took $t μs"
}
if {[IsVerbose msec]} {
puts [outputChannel] "++++ $name took [expr {round($t/1000.)}] ms"
}
}
# if we didn't experience any failures, then we passed
variable numTests
if {!($setupFailure || $cleanupFailure || $coreFailure
|| $outputFailure || $errorFailure || $codeFailure
|| $scriptFailure)} {
if {$testLevel == 1} {
|
| ︙ | ︙ |
Changes to library/tzdata/America/Caracas.
1 2 3 4 5 6 7 8 9 |
# created by tools/tclZIC.tcl - do not edit
set TZData(:America/Caracas) {
{-9223372036854775808 -16064 0 LMT}
{-2524505536 -16060 0 CMT}
{-1826739140 -16200 0 VET}
{-157750200 -14400 0 VET}
{1197183600 -16200 0 VET}
}
| > | 1 2 3 4 5 6 7 8 9 10 |
# created by tools/tclZIC.tcl - do not edit
set TZData(:America/Caracas) {
{-9223372036854775808 -16064 0 LMT}
{-2524505536 -16060 0 CMT}
{-1826739140 -16200 0 VET}
{-157750200 -14400 0 VET}
{1197183600 -16200 0 VET}
{1462086000 -14400 0 VET}
}
|
Changes to library/tzdata/America/Port-au-Prince.
| ︙ | ︙ | |||
42 43 44 45 46 47 48 |
{1352008800 -18000 0 EST}
{1362898800 -14400 1 EDT}
{1383458400 -18000 0 EST}
{1394348400 -14400 1 EDT}
{1414908000 -18000 0 EST}
{1425798000 -14400 1 EDT}
{1446357600 -18000 0 EST}
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | 42 43 44 45 46 47 48 49 |
{1352008800 -18000 0 EST}
{1362898800 -14400 1 EDT}
{1383458400 -18000 0 EST}
{1394348400 -14400 1 EDT}
{1414908000 -18000 0 EST}
{1425798000 -14400 1 EDT}
{1446357600 -18000 0 EST}
}
|
Changes to library/tzdata/America/Santiago.
| ︙ | ︙ | |||
114 115 116 117 118 119 120 |
{1313899200 -10800 1 CLST}
{1335668400 -14400 0 CLT}
{1346558400 -10800 1 CLST}
{1367118000 -14400 0 CLT}
{1378612800 -10800 1 CLST}
{1398567600 -14400 0 CLT}
{1410062400 -10800 1 CLST}
| > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 |
{1313899200 -10800 1 CLST}
{1335668400 -14400 0 CLT}
{1346558400 -10800 1 CLST}
{1367118000 -14400 0 CLT}
{1378612800 -10800 1 CLST}
{1398567600 -14400 0 CLT}
{1410062400 -10800 1 CLST}
{1463281200 -14400 0 CLT}
{1471147200 -10800 1 CLST}
{1494730800 -14400 0 CLT}
{1502596800 -10800 1 CLST}
{1526180400 -14400 0 CLT}
{1534046400 -10800 1 CLST}
{1557630000 -14400 0 CLT}
{1565496000 -10800 1 CLST}
{1589079600 -14400 0 CLT}
{1596945600 -10800 1 CLST}
{1620529200 -14400 0 CLT}
{1629000000 -10800 1 CLST}
{1652583600 -14400 0 CLT}
{1660449600 -10800 1 CLST}
{1684033200 -14400 0 CLT}
{1691899200 -10800 1 CLST}
{1715482800 -14400 0 CLT}
{1723348800 -10800 1 CLST}
{1746932400 -14400 0 CLT}
{1754798400 -10800 1 CLST}
{1778382000 -14400 0 CLT}
{1786248000 -10800 1 CLST}
{1809831600 -14400 0 CLT}
{1818302400 -10800 1 CLST}
{1841886000 -14400 0 CLT}
{1849752000 -10800 1 CLST}
{1873335600 -14400 0 CLT}
{1881201600 -10800 1 CLST}
{1904785200 -14400 0 CLT}
{1912651200 -10800 1 CLST}
{1936234800 -14400 0 CLT}
{1944100800 -10800 1 CLST}
{1967684400 -14400 0 CLT}
{1976155200 -10800 1 CLST}
{1999738800 -14400 0 CLT}
{2007604800 -10800 1 CLST}
{2031188400 -14400 0 CLT}
{2039054400 -10800 1 CLST}
{2062638000 -14400 0 CLT}
{2070504000 -10800 1 CLST}
{2094087600 -14400 0 CLT}
{2101953600 -10800 1 CLST}
{2125537200 -14400 0 CLT}
{2133403200 -10800 1 CLST}
{2156986800 -14400 0 CLT}
{2165457600 -10800 1 CLST}
{2189041200 -14400 0 CLT}
{2196907200 -10800 1 CLST}
{2220490800 -14400 0 CLT}
{2228356800 -10800 1 CLST}
{2251940400 -14400 0 CLT}
{2259806400 -10800 1 CLST}
{2283390000 -14400 0 CLT}
{2291256000 -10800 1 CLST}
{2314839600 -14400 0 CLT}
{2322705600 -10800 1 CLST}
{2346894000 -14400 0 CLT}
{2354760000 -10800 1 CLST}
{2378343600 -14400 0 CLT}
{2386209600 -10800 1 CLST}
{2409793200 -14400 0 CLT}
{2417659200 -10800 1 CLST}
{2441242800 -14400 0 CLT}
{2449108800 -10800 1 CLST}
{2472692400 -14400 0 CLT}
{2480558400 -10800 1 CLST}
{2504142000 -14400 0 CLT}
{2512612800 -10800 1 CLST}
{2536196400 -14400 0 CLT}
{2544062400 -10800 1 CLST}
{2567646000 -14400 0 CLT}
{2575512000 -10800 1 CLST}
{2599095600 -14400 0 CLT}
{2606961600 -10800 1 CLST}
{2630545200 -14400 0 CLT}
{2638411200 -10800 1 CLST}
{2661994800 -14400 0 CLT}
{2669860800 -10800 1 CLST}
{2693444400 -14400 0 CLT}
{2701915200 -10800 1 CLST}
{2725498800 -14400 0 CLT}
{2733364800 -10800 1 CLST}
{2756948400 -14400 0 CLT}
{2764814400 -10800 1 CLST}
{2788398000 -14400 0 CLT}
{2796264000 -10800 1 CLST}
{2819847600 -14400 0 CLT}
{2827713600 -10800 1 CLST}
{2851297200 -14400 0 CLT}
{2859768000 -10800 1 CLST}
{2883351600 -14400 0 CLT}
{2891217600 -10800 1 CLST}
{2914801200 -14400 0 CLT}
{2922667200 -10800 1 CLST}
{2946250800 -14400 0 CLT}
{2954116800 -10800 1 CLST}
{2977700400 -14400 0 CLT}
{2985566400 -10800 1 CLST}
{3009150000 -14400 0 CLT}
{3017016000 -10800 1 CLST}
{3040599600 -14400 0 CLT}
{3049070400 -10800 1 CLST}
{3072654000 -14400 0 CLT}
{3080520000 -10800 1 CLST}
{3104103600 -14400 0 CLT}
{3111969600 -10800 1 CLST}
{3135553200 -14400 0 CLT}
{3143419200 -10800 1 CLST}
{3167002800 -14400 0 CLT}
{3174868800 -10800 1 CLST}
{3198452400 -14400 0 CLT}
{3206318400 -10800 1 CLST}
{3230506800 -14400 0 CLT}
{3238372800 -10800 1 CLST}
{3261956400 -14400 0 CLT}
{3269822400 -10800 1 CLST}
{3293406000 -14400 0 CLT}
{3301272000 -10800 1 CLST}
{3324855600 -14400 0 CLT}
{3332721600 -10800 1 CLST}
{3356305200 -14400 0 CLT}
{3364171200 -10800 1 CLST}
{3387754800 -14400 0 CLT}
{3396225600 -10800 1 CLST}
{3419809200 -14400 0 CLT}
{3427675200 -10800 1 CLST}
{3451258800 -14400 0 CLT}
{3459124800 -10800 1 CLST}
{3482708400 -14400 0 CLT}
{3490574400 -10800 1 CLST}
{3514158000 -14400 0 CLT}
{3522024000 -10800 1 CLST}
{3545607600 -14400 0 CLT}
{3553473600 -10800 1 CLST}
{3577057200 -14400 0 CLT}
{3585528000 -10800 1 CLST}
{3609111600 -14400 0 CLT}
{3616977600 -10800 1 CLST}
{3640561200 -14400 0 CLT}
{3648427200 -10800 1 CLST}
{3672010800 -14400 0 CLT}
{3679876800 -10800 1 CLST}
{3703460400 -14400 0 CLT}
{3711326400 -10800 1 CLST}
{3734910000 -14400 0 CLT}
{3743380800 -10800 1 CLST}
{3766964400 -14400 0 CLT}
{3774830400 -10800 1 CLST}
{3798414000 -14400 0 CLT}
{3806280000 -10800 1 CLST}
{3829863600 -14400 0 CLT}
{3837729600 -10800 1 CLST}
{3861313200 -14400 0 CLT}
{3869179200 -10800 1 CLST}
{3892762800 -14400 0 CLT}
{3900628800 -10800 1 CLST}
{3924212400 -14400 0 CLT}
{3932683200 -10800 1 CLST}
{3956266800 -14400 0 CLT}
{3964132800 -10800 1 CLST}
{3987716400 -14400 0 CLT}
{3995582400 -10800 1 CLST}
{4019166000 -14400 0 CLT}
{4027032000 -10800 1 CLST}
{4050615600 -14400 0 CLT}
{4058481600 -10800 1 CLST}
{4082065200 -14400 0 CLT}
{4089931200 -10800 1 CLST}
}
|
Changes to library/tzdata/Antarctica/Palmer.
| ︙ | ︙ | |||
77 78 79 80 81 82 83 |
{1313899200 -10800 1 CLST}
{1335668400 -14400 0 CLT}
{1346558400 -10800 1 CLST}
{1367118000 -14400 0 CLT}
{1378612800 -10800 1 CLST}
{1398567600 -14400 0 CLT}
{1410062400 -10800 1 CLST}
| > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 |
{1313899200 -10800 1 CLST}
{1335668400 -14400 0 CLT}
{1346558400 -10800 1 CLST}
{1367118000 -14400 0 CLT}
{1378612800 -10800 1 CLST}
{1398567600 -14400 0 CLT}
{1410062400 -10800 1 CLST}
{1463281200 -14400 0 CLT}
{1471147200 -10800 1 CLST}
{1494730800 -14400 0 CLT}
{1502596800 -10800 1 CLST}
{1526180400 -14400 0 CLT}
{1534046400 -10800 1 CLST}
{1557630000 -14400 0 CLT}
{1565496000 -10800 1 CLST}
{1589079600 -14400 0 CLT}
{1596945600 -10800 1 CLST}
{1620529200 -14400 0 CLT}
{1629000000 -10800 1 CLST}
{1652583600 -14400 0 CLT}
{1660449600 -10800 1 CLST}
{1684033200 -14400 0 CLT}
{1691899200 -10800 1 CLST}
{1715482800 -14400 0 CLT}
{1723348800 -10800 1 CLST}
{1746932400 -14400 0 CLT}
{1754798400 -10800 1 CLST}
{1778382000 -14400 0 CLT}
{1786248000 -10800 1 CLST}
{1809831600 -14400 0 CLT}
{1818302400 -10800 1 CLST}
{1841886000 -14400 0 CLT}
{1849752000 -10800 1 CLST}
{1873335600 -14400 0 CLT}
{1881201600 -10800 1 CLST}
{1904785200 -14400 0 CLT}
{1912651200 -10800 1 CLST}
{1936234800 -14400 0 CLT}
{1944100800 -10800 1 CLST}
{1967684400 -14400 0 CLT}
{1976155200 -10800 1 CLST}
{1999738800 -14400 0 CLT}
{2007604800 -10800 1 CLST}
{2031188400 -14400 0 CLT}
{2039054400 -10800 1 CLST}
{2062638000 -14400 0 CLT}
{2070504000 -10800 1 CLST}
{2094087600 -14400 0 CLT}
{2101953600 -10800 1 CLST}
{2125537200 -14400 0 CLT}
{2133403200 -10800 1 CLST}
{2156986800 -14400 0 CLT}
{2165457600 -10800 1 CLST}
{2189041200 -14400 0 CLT}
{2196907200 -10800 1 CLST}
{2220490800 -14400 0 CLT}
{2228356800 -10800 1 CLST}
{2251940400 -14400 0 CLT}
{2259806400 -10800 1 CLST}
{2283390000 -14400 0 CLT}
{2291256000 -10800 1 CLST}
{2314839600 -14400 0 CLT}
{2322705600 -10800 1 CLST}
{2346894000 -14400 0 CLT}
{2354760000 -10800 1 CLST}
{2378343600 -14400 0 CLT}
{2386209600 -10800 1 CLST}
{2409793200 -14400 0 CLT}
{2417659200 -10800 1 CLST}
{2441242800 -14400 0 CLT}
{2449108800 -10800 1 CLST}
{2472692400 -14400 0 CLT}
{2480558400 -10800 1 CLST}
{2504142000 -14400 0 CLT}
{2512612800 -10800 1 CLST}
{2536196400 -14400 0 CLT}
{2544062400 -10800 1 CLST}
{2567646000 -14400 0 CLT}
{2575512000 -10800 1 CLST}
{2599095600 -14400 0 CLT}
{2606961600 -10800 1 CLST}
{2630545200 -14400 0 CLT}
{2638411200 -10800 1 CLST}
{2661994800 -14400 0 CLT}
{2669860800 -10800 1 CLST}
{2693444400 -14400 0 CLT}
{2701915200 -10800 1 CLST}
{2725498800 -14400 0 CLT}
{2733364800 -10800 1 CLST}
{2756948400 -14400 0 CLT}
{2764814400 -10800 1 CLST}
{2788398000 -14400 0 CLT}
{2796264000 -10800 1 CLST}
{2819847600 -14400 0 CLT}
{2827713600 -10800 1 CLST}
{2851297200 -14400 0 CLT}
{2859768000 -10800 1 CLST}
{2883351600 -14400 0 CLT}
{2891217600 -10800 1 CLST}
{2914801200 -14400 0 CLT}
{2922667200 -10800 1 CLST}
{2946250800 -14400 0 CLT}
{2954116800 -10800 1 CLST}
{2977700400 -14400 0 CLT}
{2985566400 -10800 1 CLST}
{3009150000 -14400 0 CLT}
{3017016000 -10800 1 CLST}
{3040599600 -14400 0 CLT}
{3049070400 -10800 1 CLST}
{3072654000 -14400 0 CLT}
{3080520000 -10800 1 CLST}
{3104103600 -14400 0 CLT}
{3111969600 -10800 1 CLST}
{3135553200 -14400 0 CLT}
{3143419200 -10800 1 CLST}
{3167002800 -14400 0 CLT}
{3174868800 -10800 1 CLST}
{3198452400 -14400 0 CLT}
{3206318400 -10800 1 CLST}
{3230506800 -14400 0 CLT}
{3238372800 -10800 1 CLST}
{3261956400 -14400 0 CLT}
{3269822400 -10800 1 CLST}
{3293406000 -14400 0 CLT}
{3301272000 -10800 1 CLST}
{3324855600 -14400 0 CLT}
{3332721600 -10800 1 CLST}
{3356305200 -14400 0 CLT}
{3364171200 -10800 1 CLST}
{3387754800 -14400 0 CLT}
{3396225600 -10800 1 CLST}
{3419809200 -14400 0 CLT}
{3427675200 -10800 1 CLST}
{3451258800 -14400 0 CLT}
{3459124800 -10800 1 CLST}
{3482708400 -14400 0 CLT}
{3490574400 -10800 1 CLST}
{3514158000 -14400 0 CLT}
{3522024000 -10800 1 CLST}
{3545607600 -14400 0 CLT}
{3553473600 -10800 1 CLST}
{3577057200 -14400 0 CLT}
{3585528000 -10800 1 CLST}
{3609111600 -14400 0 CLT}
{3616977600 -10800 1 CLST}
{3640561200 -14400 0 CLT}
{3648427200 -10800 1 CLST}
{3672010800 -14400 0 CLT}
{3679876800 -10800 1 CLST}
{3703460400 -14400 0 CLT}
{3711326400 -10800 1 CLST}
{3734910000 -14400 0 CLT}
{3743380800 -10800 1 CLST}
{3766964400 -14400 0 CLT}
{3774830400 -10800 1 CLST}
{3798414000 -14400 0 CLT}
{3806280000 -10800 1 CLST}
{3829863600 -14400 0 CLT}
{3837729600 -10800 1 CLST}
{3861313200 -14400 0 CLT}
{3869179200 -10800 1 CLST}
{3892762800 -14400 0 CLT}
{3900628800 -10800 1 CLST}
{3924212400 -14400 0 CLT}
{3932683200 -10800 1 CLST}
{3956266800 -14400 0 CLT}
{3964132800 -10800 1 CLST}
{3987716400 -14400 0 CLT}
{3995582400 -10800 1 CLST}
{4019166000 -14400 0 CLT}
{4027032000 -10800 1 CLST}
{4050615600 -14400 0 CLT}
{4058481600 -10800 1 CLST}
{4082065200 -14400 0 CLT}
{4089931200 -10800 1 CLST}
}
|
Changes to library/tzdata/Asia/Almaty.
1 2 3 4 |
# created by tools/tclZIC.tcl - do not edit
set TZData(:Asia/Almaty) {
{-9223372036854775808 18468 0 LMT}
| | | | | | | | | | | | | | | | | | | | | | | > | | < | > > | | | | | | | | | | | | | | | | | | | | | | | | < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
# created by tools/tclZIC.tcl - do not edit
set TZData(:Asia/Almaty) {
{-9223372036854775808 18468 0 LMT}
{-1441170468 18000 0 +05}
{-1247547600 21600 0 +06}
{354909600 25200 1 +07}
{370717200 21600 0 +06}
{386445600 25200 1 +07}
{402253200 21600 0 +06}
{417981600 25200 1 +07}
{433789200 21600 0 +06}
{449604000 25200 1 +07}
{465336000 21600 0 +06}
{481060800 25200 1 +07}
{496785600 21600 0 +06}
{512510400 25200 1 +07}
{528235200 21600 0 +06}
{543960000 25200 1 +07}
{559684800 21600 0 +06}
{575409600 25200 1 +07}
{591134400 21600 0 +06}
{606859200 25200 1 +07}
{622584000 21600 0 +06}
{638308800 25200 1 +07}
{654638400 21600 0 +06}
{670363200 18000 0 +05}
{670366800 21600 1 +06}
{686091600 18000 0 +05}
{695768400 21600 0 +06}
{701812800 25200 1 +07}
{717537600 21600 0 +06}
{733262400 25200 1 +07}
{748987200 21600 0 +06}
{764712000 25200 1 +07}
{780436800 21600 0 +06}
{796161600 25200 1 +07}
{811886400 21600 0 +06}
{828216000 25200 1 +07}
{846360000 21600 0 +06}
{859665600 25200 1 +07}
{877809600 21600 0 +06}
{891115200 25200 1 +07}
{909259200 21600 0 +06}
{922564800 25200 1 +07}
{941313600 21600 0 +06}
{954014400 25200 1 +07}
{972763200 21600 0 +06}
{985464000 25200 1 +07}
{1004212800 21600 0 +06}
{1017518400 25200 1 +07}
{1035662400 21600 0 +06}
{1048968000 25200 1 +07}
{1067112000 21600 0 +06}
{1080417600 25200 1 +07}
{1099166400 21600 0 +06}
}
|
Changes to library/tzdata/Asia/Anadyr.
| ︙ | ︙ | |||
25 26 27 28 29 30 31 |
{622562400 43200 0 ANAT}
{638287200 46800 1 ANAST}
{654616800 43200 0 ANAT}
{670341600 39600 0 ANAMMTT}
{670345200 43200 1 ANAST}
{686070000 39600 0 ANAT}
{695746800 43200 0 ANAMMTT}
| | | | 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
{622562400 43200 0 ANAT}
{638287200 46800 1 ANAST}
{654616800 43200 0 ANAT}
{670341600 39600 0 ANAMMTT}
{670345200 43200 1 ANAST}
{686070000 39600 0 ANAT}
{695746800 43200 0 ANAMMTT}
{701791200 46800 1 ANAST}
{717516000 43200 0 ANAT}
{733240800 46800 1 ANAST}
{748965600 43200 0 ANAT}
{764690400 46800 1 ANAST}
{780415200 43200 0 ANAT}
{796140000 46800 1 ANAST}
{811864800 43200 0 ANAT}
{828194400 46800 1 ANAST}
|
| ︙ | ︙ |
Changes to library/tzdata/Asia/Aqtau.
1 2 3 4 |
# created by tools/tclZIC.tcl - do not edit
set TZData(:Asia/Aqtau) {
{-9223372036854775808 12064 0 LMT}
| | | | | | | | | | | | | | | | | | | | | | | | | | | | > > | | | | | | | | | | | | | | | | | | | | | | | | | < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
# created by tools/tclZIC.tcl - do not edit
set TZData(:Asia/Aqtau) {
{-9223372036854775808 12064 0 LMT}
{-1441164064 14400 0 +04}
{-1247544000 18000 0 +05}
{-220942800 18000 0 +05}
{370724400 21600 0 +06}
{386445600 18000 0 +05}
{386449200 21600 1 +06}
{402256800 18000 0 +05}
{417985200 21600 1 +06}
{433792800 18000 0 +05}
{449607600 21600 1 +06}
{465339600 18000 0 +05}
{481064400 21600 1 +06}
{496789200 18000 0 +05}
{512514000 21600 1 +06}
{528238800 18000 0 +05}
{543963600 21600 1 +06}
{559688400 18000 0 +05}
{575413200 21600 1 +06}
{591138000 18000 0 +05}
{606862800 21600 1 +06}
{622587600 18000 0 +05}
{638312400 21600 1 +06}
{654642000 18000 0 +05}
{670366800 14400 0 +04}
{670370400 18000 1 +05}
{686095200 14400 0 +04}
{695772000 18000 0 +05}
{701816400 21600 1 +06}
{717541200 18000 0 +05}
{733266000 21600 1 +06}
{748990800 18000 0 +05}
{764715600 21600 1 +06}
{780440400 18000 0 +05}
{780444000 14400 0 +04}
{796168800 18000 1 +05}
{811893600 14400 0 +04}
{828223200 18000 1 +05}
{846367200 14400 0 +04}
{859672800 18000 1 +05}
{877816800 14400 0 +04}
{891122400 18000 1 +05}
{909266400 14400 0 +04}
{922572000 18000 1 +05}
{941320800 14400 0 +04}
{954021600 18000 1 +05}
{972770400 14400 0 +04}
{985471200 18000 1 +05}
{1004220000 14400 0 +04}
{1017525600 18000 1 +05}
{1035669600 14400 0 +04}
{1048975200 18000 1 +05}
{1067119200 14400 0 +04}
{1080424800 18000 1 +05}
{1099173600 18000 0 +05}
}
|
Changes to library/tzdata/Asia/Aqtobe.
1 2 3 4 |
# created by tools/tclZIC.tcl - do not edit
set TZData(:Asia/Aqtobe) {
{-9223372036854775808 13720 0 LMT}
| | | | | | | | | | | | | | | | | | | | | | | > > > > | < < | | | | | | | | | | | | | | | | | | | | | | | | | | < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
# created by tools/tclZIC.tcl - do not edit
set TZData(:Asia/Aqtobe) {
{-9223372036854775808 13720 0 LMT}
{-1441165720 14400 0 +04}
{-1247544000 18000 0 +05}
{354913200 21600 1 +06}
{370720800 21600 0 +06}
{386445600 18000 0 +05}
{386449200 21600 1 +06}
{402256800 18000 0 +05}
{417985200 21600 1 +06}
{433792800 18000 0 +05}
{449607600 21600 1 +06}
{465339600 18000 0 +05}
{481064400 21600 1 +06}
{496789200 18000 0 +05}
{512514000 21600 1 +06}
{528238800 18000 0 +05}
{543963600 21600 1 +06}
{559688400 18000 0 +05}
{575413200 21600 1 +06}
{591138000 18000 0 +05}
{606862800 21600 1 +06}
{622587600 18000 0 +05}
{638312400 21600 1 +06}
{654642000 18000 0 +05}
{670366800 14400 0 +04}
{670370400 18000 1 +05}
{686095200 14400 0 +04}
{695772000 18000 0 +05}
{701816400 21600 1 +06}
{717541200 18000 0 +05}
{733266000 21600 1 +06}
{748990800 18000 0 +05}
{764715600 21600 1 +06}
{780440400 18000 0 +05}
{796165200 21600 1 +06}
{811890000 18000 0 +05}
{828219600 21600 1 +06}
{846363600 18000 0 +05}
{859669200 21600 1 +06}
{877813200 18000 0 +05}
{891118800 21600 1 +06}
{909262800 18000 0 +05}
{922568400 21600 1 +06}
{941317200 18000 0 +05}
{954018000 21600 1 +06}
{972766800 18000 0 +05}
{985467600 21600 1 +06}
{1004216400 18000 0 +05}
{1017522000 21600 1 +06}
{1035666000 18000 0 +05}
{1048971600 21600 1 +06}
{1067115600 18000 0 +05}
{1080421200 21600 1 +06}
{1099170000 18000 0 +05}
}
|
Changes to library/tzdata/Asia/Baku.
| ︙ | ︙ | |||
23 24 25 26 27 28 29 |
{606866400 18000 1 BAKST}
{622591200 14400 0 BAKT}
{638316000 18000 1 BAKST}
{654645600 14400 0 BAKT}
{670370400 14400 1 BAKST}
{683496000 14400 0 AZST}
{686098800 10800 0 AZT}
| | | 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
{606866400 18000 1 BAKST}
{622591200 14400 0 BAKT}
{638316000 18000 1 BAKST}
{654645600 14400 0 BAKT}
{670370400 14400 1 BAKST}
{683496000 14400 0 AZST}
{686098800 10800 0 AZT}
{701823600 14400 1 AZST}
{717537600 14400 0 AZT}
{820440000 14400 0 AZT}
{828234000 18000 1 AZST}
{846378000 14400 0 AZT}
{852062400 14400 0 AZT}
{859680000 18000 1 AZST}
{877824000 14400 0 AZT}
|
| ︙ | ︙ | |||
67 68 69 70 71 72 73 |
{1351382400 14400 0 AZT}
{1364688000 18000 1 AZST}
{1382832000 14400 0 AZT}
{1396137600 18000 1 AZST}
{1414281600 14400 0 AZT}
{1427587200 18000 1 AZST}
{1445731200 14400 0 AZT}
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | 67 68 69 70 71 72 73 74 |
{1351382400 14400 0 AZT}
{1364688000 18000 1 AZST}
{1382832000 14400 0 AZT}
{1396137600 18000 1 AZST}
{1414281600 14400 0 AZT}
{1427587200 18000 1 AZST}
{1445731200 14400 0 AZT}
}
|
Added library/tzdata/Asia/Barnaul.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 |
# created by tools/tclZIC.tcl - do not edit
set TZData(:Asia/Barnaul) {
{-9223372036854775808 20100 0 LMT}
{-1579844100 21600 0 +06}
{-1247551200 25200 0 +08}
{354906000 28800 1 +08}
{370713600 25200 0 +07}
{386442000 28800 1 +08}
{402249600 25200 0 +07}
{417978000 28800 1 +08}
{433785600 25200 0 +07}
{449600400 28800 1 +08}
{465332400 25200 0 +07}
{481057200 28800 1 +08}
{496782000 25200 0 +07}
{512506800 28800 1 +08}
{528231600 25200 0 +07}
{543956400 28800 1 +08}
{559681200 25200 0 +07}
{575406000 28800 1 +08}
{591130800 25200 0 +07}
{606855600 28800 1 +08}
{622580400 25200 0 +07}
{638305200 28800 1 +08}
{654634800 25200 0 +07}
{670359600 21600 0 +07}
{670363200 25200 1 +07}
{686088000 21600 0 +06}
{695764800 25200 0 +08}
{701809200 28800 1 +08}
{717534000 25200 0 +07}
{733258800 28800 1 +08}
{748983600 25200 0 +07}
{764708400 28800 1 +08}
{780433200 25200 0 +07}
{796158000 28800 1 +08}
{801594000 25200 0 +07}
{811886400 21600 0 +06}
{828216000 25200 1 +07}
{846360000 21600 0 +06}
{859665600 25200 1 +07}
{877809600 21600 0 +06}
{891115200 25200 1 +07}
{909259200 21600 0 +06}
{922564800 25200 1 +07}
{941313600 21600 0 +06}
{954014400 25200 1 +07}
{972763200 21600 0 +06}
{985464000 25200 1 +07}
{1004212800 21600 0 +06}
{1017518400 25200 1 +07}
{1035662400 21600 0 +06}
{1048968000 25200 1 +07}
{1067112000 21600 0 +06}
{1080417600 25200 1 +07}
{1099166400 21600 0 +06}
{1111867200 25200 1 +07}
{1130616000 21600 0 +06}
{1143316800 25200 1 +07}
{1162065600 21600 0 +06}
{1174766400 25200 1 +07}
{1193515200 21600 0 +06}
{1206820800 25200 1 +07}
{1224964800 21600 0 +06}
{1238270400 25200 1 +07}
{1256414400 21600 0 +06}
{1269720000 25200 1 +07}
{1288468800 21600 0 +06}
{1301169600 25200 0 +07}
{1414263600 21600 0 +06}
{1459022400 25200 0 +07}
}
|
Changes to library/tzdata/Asia/Chita.
| ︙ | ︙ | |||
24 25 26 27 28 29 30 |
{622573200 32400 0 YAKT}
{638298000 36000 1 YAKST}
{654627600 32400 0 YAKT}
{670352400 28800 0 YAKMMTT}
{670356000 32400 1 YAKST}
{686080800 28800 0 YAKT}
{695757600 32400 0 YAKMMTT}
| | | | 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
{622573200 32400 0 YAKT}
{638298000 36000 1 YAKST}
{654627600 32400 0 YAKT}
{670352400 28800 0 YAKMMTT}
{670356000 32400 1 YAKST}
{686080800 28800 0 YAKT}
{695757600 32400 0 YAKMMTT}
{701802000 36000 1 YAKST}
{717526800 32400 0 YAKT}
{733251600 36000 1 YAKST}
{748976400 32400 0 YAKT}
{764701200 36000 1 YAKST}
{780426000 32400 0 YAKT}
{796150800 36000 1 YAKST}
{811875600 32400 0 YAKT}
{828205200 36000 1 YAKST}
|
| ︙ | ︙ |
Changes to library/tzdata/Asia/Gaza.
| ︙ | ︙ | |||
103 104 105 106 107 108 109 |
{1348178400 7200 0 EET}
{1364508000 10800 1 EEST}
{1380229200 7200 0 EET}
{1395957600 10800 1 EEST}
{1414098000 7200 0 EET}
{1427493600 10800 1 EEST}
{1445547600 7200 0 EET}
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 |
{1348178400 7200 0 EET}
{1364508000 10800 1 EEST}
{1380229200 7200 0 EET}
{1395957600 10800 1 EEST}
{1414098000 7200 0 EET}
{1427493600 10800 1 EEST}
{1445547600 7200 0 EET}
{1458946800 10800 1 EEST}
{1476997200 7200 0 EET}
{1490396400 10800 1 EEST}
{1509051600 7200 0 EET}
{1522450800 10800 1 EEST}
{1540501200 7200 0 EET}
{1553900400 10800 1 EEST}
{1571950800 7200 0 EET}
{1585350000 10800 1 EEST}
{1603400400 7200 0 EET}
{1616799600 10800 1 EEST}
{1634850000 7200 0 EET}
{1648249200 10800 1 EEST}
{1666299600 7200 0 EET}
{1679698800 10800 1 EEST}
{1698354000 7200 0 EET}
{1711753200 10800 1 EEST}
{1729803600 7200 0 EET}
{1743202800 10800 1 EEST}
{1761253200 7200 0 EET}
{1774652400 10800 1 EEST}
{1792702800 7200 0 EET}
{1806102000 10800 1 EEST}
{1824152400 7200 0 EET}
{1837551600 10800 1 EEST}
{1856206800 7200 0 EET}
{1869606000 10800 1 EEST}
{1887656400 7200 0 EET}
{1901055600 10800 1 EEST}
{1919106000 7200 0 EET}
{1932505200 10800 1 EEST}
{1950555600 7200 0 EET}
{1963954800 10800 1 EEST}
{1982005200 7200 0 EET}
{1995404400 10800 1 EEST}
{2013454800 7200 0 EET}
{2026854000 10800 1 EEST}
{2045509200 7200 0 EET}
{2058908400 10800 1 EEST}
{2076958800 7200 0 EET}
{2090358000 10800 1 EEST}
{2108408400 7200 0 EET}
{2121807600 10800 1 EEST}
{2139858000 7200 0 EET}
{2153257200 10800 1 EEST}
{2171307600 7200 0 EET}
{2184706800 10800 1 EEST}
{2202757200 7200 0 EET}
{2216761200 10800 1 EEST}
{2234811600 7200 0 EET}
{2248210800 10800 1 EEST}
{2266261200 7200 0 EET}
{2279660400 10800 1 EEST}
{2297710800 7200 0 EET}
{2311110000 10800 1 EEST}
{2329160400 7200 0 EET}
{2342559600 10800 1 EEST}
{2360610000 7200 0 EET}
{2374009200 10800 1 EEST}
{2392664400 7200 0 EET}
{2406063600 10800 1 EEST}
{2424114000 7200 0 EET}
{2437513200 10800 1 EEST}
{2455563600 7200 0 EET}
{2468962800 10800 1 EEST}
{2487013200 7200 0 EET}
{2500412400 10800 1 EEST}
{2518462800 7200 0 EET}
{2531862000 10800 1 EEST}
{2549912400 7200 0 EET}
{2563311600 10800 1 EEST}
{2581966800 7200 0 EET}
{2595366000 10800 1 EEST}
{2613416400 7200 0 EET}
{2626815600 10800 1 EEST}
{2644866000 7200 0 EET}
{2658265200 10800 1 EEST}
{2676315600 7200 0 EET}
{2689714800 10800 1 EEST}
{2707765200 7200 0 EET}
{2721164400 10800 1 EEST}
{2739819600 7200 0 EET}
{2753218800 10800 1 EEST}
{2771269200 7200 0 EET}
{2784668400 10800 1 EEST}
{2802718800 7200 0 EET}
{2816118000 10800 1 EEST}
{2834168400 7200 0 EET}
{2847567600 10800 1 EEST}
{2865618000 7200 0 EET}
{2879017200 10800 1 EEST}
{2897067600 7200 0 EET}
{2910466800 10800 1 EEST}
{2929122000 7200 0 EET}
{2942521200 10800 1 EEST}
{2960571600 7200 0 EET}
{2973970800 10800 1 EEST}
{2992021200 7200 0 EET}
{3005420400 10800 1 EEST}
{3023470800 7200 0 EET}
{3036870000 10800 1 EEST}
{3054920400 7200 0 EET}
{3068319600 10800 1 EEST}
{3086370000 7200 0 EET}
{3100374000 10800 1 EEST}
{3118424400 7200 0 EET}
{3131823600 10800 1 EEST}
{3149874000 7200 0 EET}
{3163273200 10800 1 EEST}
{3181323600 7200 0 EET}
{3194722800 10800 1 EEST}
{3212773200 7200 0 EET}
{3226172400 10800 1 EEST}
{3244222800 7200 0 EET}
{3257622000 10800 1 EEST}
{3276277200 7200 0 EET}
{3289676400 10800 1 EEST}
{3307726800 7200 0 EET}
{3321126000 10800 1 EEST}
{3339176400 7200 0 EET}
{3352575600 10800 1 EEST}
{3370626000 7200 0 EET}
{3384025200 10800 1 EEST}
{3402075600 7200 0 EET}
{3415474800 10800 1 EEST}
{3433525200 7200 0 EET}
{3446924400 10800 1 EEST}
{3465579600 7200 0 EET}
{3478978800 10800 1 EEST}
{3497029200 7200 0 EET}
{3510428400 10800 1 EEST}
{3528478800 7200 0 EET}
{3541878000 10800 1 EEST}
{3559928400 7200 0 EET}
{3573327600 10800 1 EEST}
{3591378000 7200 0 EET}
{3604777200 10800 1 EEST}
{3623432400 7200 0 EET}
{3636831600 10800 1 EEST}
{3654882000 7200 0 EET}
{3668281200 10800 1 EEST}
{3686331600 7200 0 EET}
{3699730800 10800 1 EEST}
{3717781200 7200 0 EET}
{3731180400 10800 1 EEST}
{3749230800 7200 0 EET}
{3762630000 10800 1 EEST}
{3780680400 7200 0 EET}
{3794079600 10800 1 EEST}
{3812734800 7200 0 EET}
{3826134000 10800 1 EEST}
{3844184400 7200 0 EET}
{3857583600 10800 1 EEST}
{3875634000 7200 0 EET}
{3889033200 10800 1 EEST}
{3907083600 7200 0 EET}
{3920482800 10800 1 EEST}
{3938533200 7200 0 EET}
{3951932400 10800 1 EEST}
{3969982800 7200 0 EET}
{3983986800 10800 1 EEST}
{4002037200 7200 0 EET}
{4015436400 10800 1 EEST}
{4033486800 7200 0 EET}
{4046886000 10800 1 EEST}
{4064936400 7200 0 EET}
{4078335600 10800 1 EEST}
{4096386000 7200 0 EET}
}
|
Changes to library/tzdata/Asia/Hebron.
| ︙ | ︙ | |||
102 103 104 105 106 107 108 |
{1348178400 7200 0 EET}
{1364508000 10800 1 EEST}
{1380229200 7200 0 EET}
{1395957600 10800 1 EEST}
{1414098000 7200 0 EET}
{1427493600 10800 1 EEST}
{1445547600 7200 0 EET}
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 |
{1348178400 7200 0 EET}
{1364508000 10800 1 EEST}
{1380229200 7200 0 EET}
{1395957600 10800 1 EEST}
{1414098000 7200 0 EET}
{1427493600 10800 1 EEST}
{1445547600 7200 0 EET}
{1458946800 10800 1 EEST}
{1476997200 7200 0 EET}
{1490396400 10800 1 EEST}
{1509051600 7200 0 EET}
{1522450800 10800 1 EEST}
{1540501200 7200 0 EET}
{1553900400 10800 1 EEST}
{1571950800 7200 0 EET}
{1585350000 10800 1 EEST}
{1603400400 7200 0 EET}
{1616799600 10800 1 EEST}
{1634850000 7200 0 EET}
{1648249200 10800 1 EEST}
{1666299600 7200 0 EET}
{1679698800 10800 1 EEST}
{1698354000 7200 0 EET}
{1711753200 10800 1 EEST}
{1729803600 7200 0 EET}
{1743202800 10800 1 EEST}
{1761253200 7200 0 EET}
{1774652400 10800 1 EEST}
{1792702800 7200 0 EET}
{1806102000 10800 1 EEST}
{1824152400 7200 0 EET}
{1837551600 10800 1 EEST}
{1856206800 7200 0 EET}
{1869606000 10800 1 EEST}
{1887656400 7200 0 EET}
{1901055600 10800 1 EEST}
{1919106000 7200 0 EET}
{1932505200 10800 1 EEST}
{1950555600 7200 0 EET}
{1963954800 10800 1 EEST}
{1982005200 7200 0 EET}
{1995404400 10800 1 EEST}
{2013454800 7200 0 EET}
{2026854000 10800 1 EEST}
{2045509200 7200 0 EET}
{2058908400 10800 1 EEST}
{2076958800 7200 0 EET}
{2090358000 10800 1 EEST}
{2108408400 7200 0 EET}
{2121807600 10800 1 EEST}
{2139858000 7200 0 EET}
{2153257200 10800 1 EEST}
{2171307600 7200 0 EET}
{2184706800 10800 1 EEST}
{2202757200 7200 0 EET}
{2216761200 10800 1 EEST}
{2234811600 7200 0 EET}
{2248210800 10800 1 EEST}
{2266261200 7200 0 EET}
{2279660400 10800 1 EEST}
{2297710800 7200 0 EET}
{2311110000 10800 1 EEST}
{2329160400 7200 0 EET}
{2342559600 10800 1 EEST}
{2360610000 7200 0 EET}
{2374009200 10800 1 EEST}
{2392664400 7200 0 EET}
{2406063600 10800 1 EEST}
{2424114000 7200 0 EET}
{2437513200 10800 1 EEST}
{2455563600 7200 0 EET}
{2468962800 10800 1 EEST}
{2487013200 7200 0 EET}
{2500412400 10800 1 EEST}
{2518462800 7200 0 EET}
{2531862000 10800 1 EEST}
{2549912400 7200 0 EET}
{2563311600 10800 1 EEST}
{2581966800 7200 0 EET}
{2595366000 10800 1 EEST}
{2613416400 7200 0 EET}
{2626815600 10800 1 EEST}
{2644866000 7200 0 EET}
{2658265200 10800 1 EEST}
{2676315600 7200 0 EET}
{2689714800 10800 1 EEST}
{2707765200 7200 0 EET}
{2721164400 10800 1 EEST}
{2739819600 7200 0 EET}
{2753218800 10800 1 EEST}
{2771269200 7200 0 EET}
{2784668400 10800 1 EEST}
{2802718800 7200 0 EET}
{2816118000 10800 1 EEST}
{2834168400 7200 0 EET}
{2847567600 10800 1 EEST}
{2865618000 7200 0 EET}
{2879017200 10800 1 EEST}
{2897067600 7200 0 EET}
{2910466800 10800 1 EEST}
{2929122000 7200 0 EET}
{2942521200 10800 1 EEST}
{2960571600 7200 0 EET}
{2973970800 10800 1 EEST}
{2992021200 7200 0 EET}
{3005420400 10800 1 EEST}
{3023470800 7200 0 EET}
{3036870000 10800 1 EEST}
{3054920400 7200 0 EET}
{3068319600 10800 1 EEST}
{3086370000 7200 0 EET}
{3100374000 10800 1 EEST}
{3118424400 7200 0 EET}
{3131823600 10800 1 EEST}
{3149874000 7200 0 EET}
{3163273200 10800 1 EEST}
{3181323600 7200 0 EET}
{3194722800 10800 1 EEST}
{3212773200 7200 0 EET}
{3226172400 10800 1 EEST}
{3244222800 7200 0 EET}
{3257622000 10800 1 EEST}
{3276277200 7200 0 EET}
{3289676400 10800 1 EEST}
{3307726800 7200 0 EET}
{3321126000 10800 1 EEST}
{3339176400 7200 0 EET}
{3352575600 10800 1 EEST}
{3370626000 7200 0 EET}
{3384025200 10800 1 EEST}
{3402075600 7200 0 EET}
{3415474800 10800 1 EEST}
{3433525200 7200 0 EET}
{3446924400 10800 1 EEST}
{3465579600 7200 0 EET}
{3478978800 10800 1 EEST}
{3497029200 7200 0 EET}
{3510428400 10800 1 EEST}
{3528478800 7200 0 EET}
{3541878000 10800 1 EEST}
{3559928400 7200 0 EET}
{3573327600 10800 1 EEST}
{3591378000 7200 0 EET}
{3604777200 10800 1 EEST}
{3623432400 7200 0 EET}
{3636831600 10800 1 EEST}
{3654882000 7200 0 EET}
{3668281200 10800 1 EEST}
{3686331600 7200 0 EET}
{3699730800 10800 1 EEST}
{3717781200 7200 0 EET}
{3731180400 10800 1 EEST}
{3749230800 7200 0 EET}
{3762630000 10800 1 EEST}
{3780680400 7200 0 EET}
{3794079600 10800 1 EEST}
{3812734800 7200 0 EET}
{3826134000 10800 1 EEST}
{3844184400 7200 0 EET}
{3857583600 10800 1 EEST}
{3875634000 7200 0 EET}
{3889033200 10800 1 EEST}
{3907083600 7200 0 EET}
{3920482800 10800 1 EEST}
{3938533200 7200 0 EET}
{3951932400 10800 1 EEST}
{3969982800 7200 0 EET}
{3983986800 10800 1 EEST}
{4002037200 7200 0 EET}
{4015436400 10800 1 EEST}
{4033486800 7200 0 EET}
{4046886000 10800 1 EEST}
{4064936400 7200 0 EET}
{4078335600 10800 1 EEST}
{4096386000 7200 0 EET}
}
|
Changes to library/tzdata/Asia/Irkutsk.
| ︙ | ︙ | |||
25 26 27 28 29 30 31 |
{622576800 28800 0 IRKT}
{638301600 32400 1 IRKST}
{654631200 28800 0 IRKT}
{670356000 25200 0 IRKMMTT}
{670359600 28800 1 IRKST}
{686084400 25200 0 IRKT}
{695761200 28800 0 IRKMMTT}
| | | | 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
{622576800 28800 0 IRKT}
{638301600 32400 1 IRKST}
{654631200 28800 0 IRKT}
{670356000 25200 0 IRKMMTT}
{670359600 28800 1 IRKST}
{686084400 25200 0 IRKT}
{695761200 28800 0 IRKMMTT}
{701805600 32400 1 IRKST}
{717530400 28800 0 IRKT}
{733255200 32400 1 IRKST}
{748980000 28800 0 IRKT}
{764704800 32400 1 IRKST}
{780429600 28800 0 IRKT}
{796154400 32400 1 IRKST}
{811879200 28800 0 IRKT}
{828208800 32400 1 IRKST}
|
| ︙ | ︙ |
Changes to library/tzdata/Asia/Kamchatka.
| ︙ | ︙ | |||
24 25 26 27 28 29 30 |
{622562400 43200 0 PETT}
{638287200 46800 1 PETST}
{654616800 43200 0 PETT}
{670341600 39600 0 PETMMTT}
{670345200 43200 1 PETST}
{686070000 39600 0 PETT}
{695746800 43200 0 PETMMTT}
| | | | 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
{622562400 43200 0 PETT}
{638287200 46800 1 PETST}
{654616800 43200 0 PETT}
{670341600 39600 0 PETMMTT}
{670345200 43200 1 PETST}
{686070000 39600 0 PETT}
{695746800 43200 0 PETMMTT}
{701791200 46800 1 PETST}
{717516000 43200 0 PETT}
{733240800 46800 1 PETST}
{748965600 43200 0 PETT}
{764690400 46800 1 PETST}
{780415200 43200 0 PETT}
{796140000 46800 1 PETST}
{811864800 43200 0 PETT}
{828194400 46800 1 PETST}
|
| ︙ | ︙ |
Changes to library/tzdata/Asia/Khandyga.
| ︙ | ︙ | |||
24 25 26 27 28 29 30 |
{622573200 32400 0 YAKT}
{638298000 36000 1 YAKST}
{654627600 32400 0 YAKT}
{670352400 28800 0 YAKMMTT}
{670356000 32400 1 YAKST}
{686080800 28800 0 YAKT}
{695757600 32400 0 YAKMMTT}
| | | | 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
{622573200 32400 0 YAKT}
{638298000 36000 1 YAKST}
{654627600 32400 0 YAKT}
{670352400 28800 0 YAKMMTT}
{670356000 32400 1 YAKST}
{686080800 28800 0 YAKT}
{695757600 32400 0 YAKMMTT}
{701802000 36000 1 YAKST}
{717526800 32400 0 YAKT}
{733251600 36000 1 YAKST}
{748976400 32400 0 YAKT}
{764701200 36000 1 YAKST}
{780426000 32400 0 YAKT}
{796150800 36000 1 YAKST}
{811875600 32400 0 YAKT}
{828205200 36000 1 YAKST}
|
| ︙ | ︙ |
Changes to library/tzdata/Asia/Krasnoyarsk.
| ︙ | ︙ | |||
24 25 26 27 28 29 30 |
{622580400 25200 0 KRAT}
{638305200 28800 1 KRAST}
{654634800 25200 0 KRAT}
{670359600 21600 0 KRAMMTT}
{670363200 25200 1 KRAST}
{686088000 21600 0 KRAT}
{695764800 25200 0 KRAMMTT}
| | | | 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
{622580400 25200 0 KRAT}
{638305200 28800 1 KRAST}
{654634800 25200 0 KRAT}
{670359600 21600 0 KRAMMTT}
{670363200 25200 1 KRAST}
{686088000 21600 0 KRAT}
{695764800 25200 0 KRAMMTT}
{701809200 28800 1 KRAST}
{717534000 25200 0 KRAT}
{733258800 28800 1 KRAST}
{748983600 25200 0 KRAT}
{764708400 28800 1 KRAST}
{780433200 25200 0 KRAT}
{796158000 28800 1 KRAST}
{811882800 25200 0 KRAT}
{828212400 28800 1 KRAST}
|
| ︙ | ︙ |
Changes to library/tzdata/Asia/Magadan.
| ︙ | ︙ | |||
24 25 26 27 28 29 30 |
{622566000 39600 0 MAGT}
{638290800 43200 1 MAGST}
{654620400 39600 0 MAGT}
{670345200 36000 0 MAGMMTT}
{670348800 39600 1 MAGST}
{686073600 36000 0 MAGT}
{695750400 39600 0 MAGMMTT}
| | | | 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
{622566000 39600 0 MAGT}
{638290800 43200 1 MAGST}
{654620400 39600 0 MAGT}
{670345200 36000 0 MAGMMTT}
{670348800 39600 1 MAGST}
{686073600 36000 0 MAGT}
{695750400 39600 0 MAGMMTT}
{701794800 43200 1 MAGST}
{717519600 39600 0 MAGT}
{733244400 43200 1 MAGST}
{748969200 39600 0 MAGT}
{764694000 43200 1 MAGST}
{780418800 39600 0 MAGT}
{796143600 43200 1 MAGST}
{811868400 39600 0 MAGT}
{828198000 43200 1 MAGST}
|
| ︙ | ︙ | |||
64 65 66 67 68 69 70 71 |
{1224946800 39600 0 MAGT}
{1238252400 43200 1 MAGST}
{1256396400 39600 0 MAGT}
{1269702000 43200 1 MAGST}
{1288450800 39600 0 MAGT}
{1301151600 43200 0 MAGT}
{1414245600 36000 0 MAGT}
}
| > | 64 65 66 67 68 69 70 71 72 |
{1224946800 39600 0 MAGT}
{1238252400 43200 1 MAGST}
{1256396400 39600 0 MAGT}
{1269702000 43200 1 MAGST}
{1288450800 39600 0 MAGT}
{1301151600 43200 0 MAGT}
{1414245600 36000 0 MAGT}
{1461427200 39600 0 MAGT}
}
|
Changes to library/tzdata/Asia/Novokuznetsk.
| ︙ | ︙ | |||
24 25 26 27 28 29 30 |
{622580400 25200 0 KRAT}
{638305200 28800 1 KRAST}
{654634800 25200 0 KRAT}
{670359600 21600 0 KRAMMTT}
{670363200 25200 1 KRAST}
{686088000 21600 0 KRAT}
{695764800 25200 0 KRAMMTT}
| | | | 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
{622580400 25200 0 KRAT}
{638305200 28800 1 KRAST}
{654634800 25200 0 KRAT}
{670359600 21600 0 KRAMMTT}
{670363200 25200 1 KRAST}
{686088000 21600 0 KRAT}
{695764800 25200 0 KRAMMTT}
{701809200 28800 1 KRAST}
{717534000 25200 0 KRAT}
{733258800 28800 1 KRAST}
{748983600 25200 0 KRAT}
{764708400 28800 1 KRAST}
{780433200 25200 0 KRAT}
{796158000 28800 1 KRAST}
{811882800 25200 0 KRAT}
{828212400 28800 1 KRAST}
|
| ︙ | ︙ |
Changes to library/tzdata/Asia/Novosibirsk.
| ︙ | ︙ | |||
24 25 26 27 28 29 30 |
{622580400 25200 0 NOVT}
{638305200 28800 1 NOVST}
{654634800 25200 0 NOVT}
{670359600 21600 0 NOVMMTT}
{670363200 25200 1 NOVST}
{686088000 21600 0 NOVT}
{695764800 25200 0 NOVMMTT}
| | | | 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
{622580400 25200 0 NOVT}
{638305200 28800 1 NOVST}
{654634800 25200 0 NOVT}
{670359600 21600 0 NOVMMTT}
{670363200 25200 1 NOVST}
{686088000 21600 0 NOVT}
{695764800 25200 0 NOVMMTT}
{701809200 28800 1 NOVST}
{717534000 25200 0 NOVT}
{733258800 28800 1 NOVST}
{738090000 25200 0 NOVST}
{748987200 21600 0 NOVT}
{764712000 25200 1 NOVST}
{780436800 21600 0 NOVT}
{796161600 25200 1 NOVST}
{811886400 21600 0 NOVT}
|
| ︙ | ︙ |
Changes to library/tzdata/Asia/Omsk.
| ︙ | ︙ | |||
24 25 26 27 28 29 30 |
{622584000 21600 0 OMST}
{638308800 25200 1 OMSST}
{654638400 21600 0 OMST}
{670363200 18000 0 OMSMMTT}
{670366800 21600 1 OMSST}
{686091600 18000 0 OMST}
{695768400 21600 0 OMSMMTT}
| | | | 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
{622584000 21600 0 OMST}
{638308800 25200 1 OMSST}
{654638400 21600 0 OMST}
{670363200 18000 0 OMSMMTT}
{670366800 21600 1 OMSST}
{686091600 18000 0 OMST}
{695768400 21600 0 OMSMMTT}
{701812800 25200 1 OMSST}
{717537600 21600 0 OMST}
{733262400 25200 1 OMSST}
{748987200 21600 0 OMST}
{764712000 25200 1 OMSST}
{780436800 21600 0 OMST}
{796161600 25200 1 OMSST}
{811886400 21600 0 OMST}
{828216000 25200 1 OMSST}
|
| ︙ | ︙ |
Changes to library/tzdata/Asia/Oral.
1 2 3 4 |
# created by tools/tclZIC.tcl - do not edit
set TZData(:Asia/Oral) {
{-9223372036854775808 12324 0 LMT}
| | | | | | | | | | | | | | | | | | | | | | | | | | | < | > > | | | | | | | | | | | | | | | | | | | | | | | | < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
# created by tools/tclZIC.tcl - do not edit
set TZData(:Asia/Oral) {
{-9223372036854775808 12324 0 LMT}
{-1441164324 14400 0 +04}
{-1247544000 18000 0 +05}
{354913200 21600 1 +06}
{370720800 21600 0 +06}
{386445600 18000 0 +05}
{386449200 21600 1 +06}
{402256800 18000 0 +05}
{417985200 21600 1 +06}
{433792800 18000 0 +05}
{449607600 21600 1 +06}
{465339600 18000 0 +05}
{481064400 21600 1 +06}
{496789200 18000 0 +05}
{512514000 21600 1 +06}
{528238800 18000 0 +05}
{543963600 21600 1 +06}
{559688400 18000 0 +05}
{575413200 21600 1 +06}
{591138000 18000 0 +05}
{606862800 14400 0 +04}
{606866400 18000 1 +05}
{622591200 14400 0 +04}
{638316000 18000 1 +05}
{654645600 14400 0 +04}
{670370400 18000 1 +05}
{686095200 14400 0 +04}
{701816400 14400 0 +04}
{701820000 18000 1 +05}
{717544800 14400 0 +04}
{733269600 18000 1 +05}
{748994400 14400 0 +04}
{764719200 18000 1 +05}
{780444000 14400 0 +04}
{796168800 18000 1 +05}
{811893600 14400 0 +04}
{828223200 18000 1 +05}
{846367200 14400 0 +04}
{859672800 18000 1 +05}
{877816800 14400 0 +04}
{891122400 18000 1 +05}
{909266400 14400 0 +04}
{922572000 18000 1 +05}
{941320800 14400 0 +04}
{954021600 18000 1 +05}
{972770400 14400 0 +04}
{985471200 18000 1 +05}
{1004220000 14400 0 +04}
{1017525600 18000 1 +05}
{1035669600 14400 0 +04}
{1048975200 18000 1 +05}
{1067119200 14400 0 +04}
{1080424800 18000 1 +05}
{1099173600 18000 0 +05}
}
|
Changes to library/tzdata/Asia/Qyzylorda.
1 2 3 4 |
# created by tools/tclZIC.tcl - do not edit
set TZData(:Asia/Qyzylorda) {
{-9223372036854775808 15712 0 LMT}
| | | | | | | | | | | | | | | | | | | | | | | | > | | < < | | | > | > | | | | | | | | | | | | | < | | | | | < | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
# created by tools/tclZIC.tcl - do not edit
set TZData(:Asia/Qyzylorda) {
{-9223372036854775808 15712 0 LMT}
{-1441167712 14400 0 +04}
{-1247544000 18000 0 +05}
{354913200 21600 1 +06}
{370720800 21600 0 +06}
{386445600 18000 0 +05}
{386449200 21600 1 +06}
{402256800 18000 0 +05}
{417985200 21600 1 +06}
{433792800 18000 0 +05}
{449607600 21600 1 +06}
{465339600 18000 0 +05}
{481064400 21600 1 +06}
{496789200 18000 0 +05}
{512514000 21600 1 +06}
{528238800 18000 0 +05}
{543963600 21600 1 +06}
{559688400 18000 0 +05}
{575413200 21600 1 +06}
{591138000 18000 0 +05}
{606862800 21600 1 +06}
{622587600 18000 0 +05}
{638312400 21600 1 +06}
{654642000 18000 0 +05}
{670366800 14400 0 +04}
{670370400 18000 1 +05}
{701812800 18000 0 +05}
{701816400 21600 1 +06}
{717541200 18000 0 +05}
{733266000 21600 1 +06}
{748990800 18000 0 +05}
{764715600 21600 1 +06}
{780440400 18000 0 +05}
{796165200 21600 1 +06}
{811890000 18000 0 +05}
{828219600 21600 1 +06}
{846363600 18000 0 +05}
{859669200 21600 1 +06}
{877813200 18000 0 +05}
{891118800 21600 1 +06}
{909262800 18000 0 +05}
{922568400 21600 1 +06}
{941317200 18000 0 +05}
{954018000 21600 1 +06}
{972766800 18000 0 +05}
{985467600 21600 1 +06}
{1004216400 18000 0 +05}
{1017522000 21600 1 +06}
{1035666000 18000 0 +05}
{1048971600 21600 1 +06}
{1067115600 18000 0 +05}
{1080421200 21600 1 +06}
{1099170000 21600 0 +06}
}
|
Changes to library/tzdata/Asia/Sakhalin.
| ︙ | ︙ | |||
25 26 27 28 29 30 31 |
{622566000 39600 0 SAKT}
{638290800 43200 1 SAKST}
{654620400 39600 0 SAKT}
{670345200 36000 0 SAKMMTT}
{670348800 39600 1 SAKST}
{686073600 36000 0 SAKT}
{695750400 39600 0 SAKMMTT}
| | | | 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
{622566000 39600 0 SAKT}
{638290800 43200 1 SAKST}
{654620400 39600 0 SAKT}
{670345200 36000 0 SAKMMTT}
{670348800 39600 1 SAKST}
{686073600 36000 0 SAKT}
{695750400 39600 0 SAKMMTT}
{701794800 43200 1 SAKST}
{717519600 39600 0 SAKT}
{733244400 43200 1 SAKST}
{748969200 39600 0 SAKT}
{764694000 43200 1 SAKST}
{780418800 39600 0 SAKT}
{796143600 43200 1 SAKST}
{811868400 39600 0 SAKT}
{828198000 43200 1 SAKST}
|
| ︙ | ︙ | |||
66 67 68 69 70 71 72 73 |
{1224950400 36000 0 SAKT}
{1238256000 39600 1 SAKST}
{1256400000 36000 0 SAKT}
{1269705600 39600 1 SAKST}
{1288454400 36000 0 SAKT}
{1301155200 39600 0 SAKT}
{1414249200 36000 0 SAKT}
}
| > | 66 67 68 69 70 71 72 73 74 |
{1224950400 36000 0 SAKT}
{1238256000 39600 1 SAKST}
{1256400000 36000 0 SAKT}
{1269705600 39600 1 SAKST}
{1288454400 36000 0 SAKT}
{1301155200 39600 0 SAKT}
{1414249200 36000 0 SAKT}
{1459008000 39600 0 SAKT}
}
|
Changes to library/tzdata/Asia/Srednekolymsk.
| ︙ | ︙ | |||
24 25 26 27 28 29 30 |
{622566000 39600 0 MAGT}
{638290800 43200 1 MAGST}
{654620400 39600 0 MAGT}
{670345200 36000 0 MAGMMTT}
{670348800 39600 1 MAGST}
{686073600 36000 0 MAGT}
{695750400 39600 0 MAGMMTT}
| | | | 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
{622566000 39600 0 MAGT}
{638290800 43200 1 MAGST}
{654620400 39600 0 MAGT}
{670345200 36000 0 MAGMMTT}
{670348800 39600 1 MAGST}
{686073600 36000 0 MAGT}
{695750400 39600 0 MAGMMTT}
{701794800 43200 1 MAGST}
{717519600 39600 0 MAGT}
{733244400 43200 1 MAGST}
{748969200 39600 0 MAGT}
{764694000 43200 1 MAGST}
{780418800 39600 0 MAGT}
{796143600 43200 1 MAGST}
{811868400 39600 0 MAGT}
{828198000 43200 1 MAGST}
|
| ︙ | ︙ |
Added library/tzdata/Asia/Tomsk.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 |
# created by tools/tclZIC.tcl - do not edit
set TZData(:Asia/Tomsk) {
{-9223372036854775808 20391 0 LMT}
{-1578807591 21600 0 +06}
{-1247551200 25200 0 +08}
{354906000 28800 1 +08}
{370713600 25200 0 +07}
{386442000 28800 1 +08}
{402249600 25200 0 +07}
{417978000 28800 1 +08}
{433785600 25200 0 +07}
{449600400 28800 1 +08}
{465332400 25200 0 +07}
{481057200 28800 1 +08}
{496782000 25200 0 +07}
{512506800 28800 1 +08}
{528231600 25200 0 +07}
{543956400 28800 1 +08}
{559681200 25200 0 +07}
{575406000 28800 1 +08}
{591130800 25200 0 +07}
{606855600 28800 1 +08}
{622580400 25200 0 +07}
{638305200 28800 1 +08}
{654634800 25200 0 +07}
{670359600 21600 0 +07}
{670363200 25200 1 +07}
{686088000 21600 0 +06}
{695764800 25200 0 +08}
{701809200 28800 1 +08}
{717534000 25200 0 +07}
{733258800 28800 1 +08}
{748983600 25200 0 +07}
{764708400 28800 1 +08}
{780433200 25200 0 +07}
{796158000 28800 1 +08}
{811882800 25200 0 +07}
{828212400 28800 1 +08}
{846356400 25200 0 +07}
{859662000 28800 1 +08}
{877806000 25200 0 +07}
{891111600 28800 1 +08}
{909255600 25200 0 +07}
{922561200 28800 1 +08}
{941310000 25200 0 +07}
{954010800 28800 1 +08}
{972759600 25200 0 +07}
{985460400 28800 1 +08}
{1004209200 25200 0 +07}
{1017514800 28800 1 +08}
{1020196800 25200 0 +07}
{1035662400 21600 0 +06}
{1048968000 25200 1 +07}
{1067112000 21600 0 +06}
{1080417600 25200 1 +07}
{1099166400 21600 0 +06}
{1111867200 25200 1 +07}
{1130616000 21600 0 +06}
{1143316800 25200 1 +07}
{1162065600 21600 0 +06}
{1174766400 25200 1 +07}
{1193515200 21600 0 +06}
{1206820800 25200 1 +07}
{1224964800 21600 0 +06}
{1238270400 25200 1 +07}
{1256414400 21600 0 +06}
{1269720000 25200 1 +07}
{1288468800 21600 0 +06}
{1301169600 25200 0 +07}
{1414263600 21600 0 +06}
{1464465600 25200 0 +07}
}
|
Changes to library/tzdata/Asia/Ust-Nera.
| ︙ | ︙ | |||
23 24 25 26 27 28 29 |
{622566000 39600 0 MAGT}
{638290800 43200 1 MAGST}
{654620400 39600 0 MAGT}
{670345200 36000 0 MAGMMTT}
{670348800 39600 1 MAGST}
{686073600 36000 0 MAGT}
{695750400 39600 0 MAGMMTT}
| | | | 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
{622566000 39600 0 MAGT}
{638290800 43200 1 MAGST}
{654620400 39600 0 MAGT}
{670345200 36000 0 MAGMMTT}
{670348800 39600 1 MAGST}
{686073600 36000 0 MAGT}
{695750400 39600 0 MAGMMTT}
{701794800 43200 1 MAGST}
{717519600 39600 0 MAGT}
{733244400 43200 1 MAGST}
{748969200 39600 0 MAGT}
{764694000 43200 1 MAGST}
{780418800 39600 0 MAGT}
{796143600 43200 1 MAGST}
{811868400 39600 0 MAGT}
{828198000 43200 1 MAGST}
|
| ︙ | ︙ |
Changes to library/tzdata/Asia/Vladivostok.
| ︙ | ︙ | |||
24 25 26 27 28 29 30 |
{622569600 36000 0 VLAT}
{638294400 39600 1 VLAST}
{654624000 36000 0 VLAT}
{670348800 32400 0 VLAMMTT}
{670352400 36000 1 VLAST}
{686077200 32400 0 VLAT}
{695754000 36000 0 VLAMMTT}
| | | | 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
{622569600 36000 0 VLAT}
{638294400 39600 1 VLAST}
{654624000 36000 0 VLAT}
{670348800 32400 0 VLAMMTT}
{670352400 36000 1 VLAST}
{686077200 32400 0 VLAT}
{695754000 36000 0 VLAMMTT}
{701798400 39600 1 VLAST}
{717523200 36000 0 VLAT}
{733248000 39600 1 VLAST}
{748972800 36000 0 VLAT}
{764697600 39600 1 VLAST}
{780422400 36000 0 VLAT}
{796147200 39600 1 VLAST}
{811872000 36000 0 VLAT}
{828201600 39600 1 VLAST}
|
| ︙ | ︙ |
Changes to library/tzdata/Asia/Yakutsk.
| ︙ | ︙ | |||
24 25 26 27 28 29 30 |
{622573200 32400 0 YAKT}
{638298000 36000 1 YAKST}
{654627600 32400 0 YAKT}
{670352400 28800 0 YAKMMTT}
{670356000 32400 1 YAKST}
{686080800 28800 0 YAKT}
{695757600 32400 0 YAKMMTT}
| | | | 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
{622573200 32400 0 YAKT}
{638298000 36000 1 YAKST}
{654627600 32400 0 YAKT}
{670352400 28800 0 YAKMMTT}
{670356000 32400 1 YAKST}
{686080800 28800 0 YAKT}
{695757600 32400 0 YAKMMTT}
{701802000 36000 1 YAKST}
{717526800 32400 0 YAKT}
{733251600 36000 1 YAKST}
{748976400 32400 0 YAKT}
{764701200 36000 1 YAKST}
{780426000 32400 0 YAKT}
{796150800 36000 1 YAKST}
{811875600 32400 0 YAKT}
{828205200 36000 1 YAKST}
|
| ︙ | ︙ |
Changes to library/tzdata/Asia/Yekaterinburg.
| ︙ | ︙ | |||
25 26 27 28 29 30 31 |
{622587600 18000 0 SVET}
{638312400 21600 1 SVEST}
{654642000 18000 0 SVET}
{670366800 14400 0 SVEMMTT}
{670370400 18000 1 SVEST}
{686095200 14400 0 SVET}
{695772000 18000 0 YEKMMTT}
| | | | 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
{622587600 18000 0 SVET}
{638312400 21600 1 SVEST}
{654642000 18000 0 SVET}
{670366800 14400 0 SVEMMTT}
{670370400 18000 1 SVEST}
{686095200 14400 0 SVET}
{695772000 18000 0 YEKMMTT}
{701816400 21600 1 YEKST}
{717541200 18000 0 YEKT}
{733266000 21600 1 YEKST}
{748990800 18000 0 YEKT}
{764715600 21600 1 YEKST}
{780440400 18000 0 YEKT}
{796165200 21600 1 YEKST}
{811890000 18000 0 YEKT}
{828219600 21600 1 YEKST}
|
| ︙ | ︙ |
Changes to library/tzdata/Asia/Yerevan.
| ︙ | ︙ | |||
23 24 25 26 27 28 29 |
{606866400 18000 1 YERST}
{622591200 14400 0 YERT}
{638316000 18000 1 YERST}
{654645600 14400 0 YERT}
{670370400 14400 1 YERST}
{685569600 14400 0 AMST}
{686098800 10800 0 AMT}
| | | | 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
{606866400 18000 1 YERST}
{622591200 14400 0 YERT}
{638316000 18000 1 YERST}
{654645600 14400 0 YERT}
{670370400 14400 1 YERST}
{685569600 14400 0 AMST}
{686098800 10800 0 AMT}
{701823600 14400 1 AMST}
{717548400 10800 0 AMT}
{733273200 14400 1 AMST}
{748998000 10800 0 AMT}
{764722800 14400 1 AMST}
{780447600 10800 0 AMT}
{796172400 14400 1 AMST}
{811897200 14400 0 AMT}
{852062400 14400 0 AMT}
|
| ︙ | ︙ | |||
62 63 64 65 66 67 68 |
{1224972000 14400 0 AMT}
{1238277600 18000 1 AMST}
{1256421600 14400 0 AMT}
{1269727200 18000 1 AMST}
{1288476000 14400 0 AMT}
{1301176800 18000 1 AMST}
{1319925600 14400 0 AMT}
| | | 62 63 64 65 66 67 68 69 70 |
{1224972000 14400 0 AMT}
{1238277600 18000 1 AMST}
{1256421600 14400 0 AMT}
{1269727200 18000 1 AMST}
{1288476000 14400 0 AMT}
{1301176800 18000 1 AMST}
{1319925600 14400 0 AMT}
{1328731200 14400 0 AMT}
}
|
Added library/tzdata/Europe/Astrakhan.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
# created by tools/tclZIC.tcl - do not edit
set TZData(:Europe/Astrakhan) {
{-9223372036854775808 11532 0 LMT}
{-1441249932 10800 0 +03}
{-1247540400 14400 0 +05}
{354916800 18000 1 +05}
{370724400 14400 0 +04}
{386452800 18000 1 +05}
{402260400 14400 0 +04}
{417988800 18000 1 +05}
{433796400 14400 0 +04}
{449611200 18000 1 +05}
{465343200 14400 0 +04}
{481068000 18000 1 +05}
{496792800 14400 0 +04}
{512517600 18000 1 +05}
{528242400 14400 0 +04}
{543967200 18000 1 +05}
{559692000 14400 0 +04}
{575416800 18000 1 +05}
{591141600 14400 0 +04}
{606866400 10800 0 +04}
{606870000 14400 1 +04}
{622594800 10800 0 +03}
{638319600 14400 1 +04}
{654649200 10800 0 +03}
{670374000 14400 0 +04}
{701820000 10800 0 +04}
{701823600 14400 1 +04}
{717548400 10800 0 +03}
{733273200 14400 1 +04}
{748998000 10800 0 +03}
{764722800 14400 1 +04}
{780447600 10800 0 +03}
{796172400 14400 1 +04}
{811897200 10800 0 +03}
{828226800 14400 1 +04}
{846370800 10800 0 +03}
{859676400 14400 1 +04}
{877820400 10800 0 +03}
{891126000 14400 1 +04}
{909270000 10800 0 +03}
{922575600 14400 1 +04}
{941324400 10800 0 +03}
{954025200 14400 1 +04}
{972774000 10800 0 +03}
{985474800 14400 1 +04}
{1004223600 10800 0 +03}
{1017529200 14400 1 +04}
{1035673200 10800 0 +03}
{1048978800 14400 1 +04}
{1067122800 10800 0 +03}
{1080428400 14400 1 +04}
{1099177200 10800 0 +03}
{1111878000 14400 1 +04}
{1130626800 10800 0 +03}
{1143327600 14400 1 +04}
{1162076400 10800 0 +03}
{1174777200 14400 1 +04}
{1193526000 10800 0 +03}
{1206831600 14400 1 +04}
{1224975600 10800 0 +03}
{1238281200 14400 1 +04}
{1256425200 10800 0 +03}
{1269730800 14400 1 +04}
{1288479600 10800 0 +03}
{1301180400 14400 0 +04}
{1414274400 10800 0 +03}
{1459033200 14400 0 +04}
}
|
Changes to library/tzdata/Europe/Chisinau.
| ︙ | ︙ | |||
42 43 44 45 46 47 48 |
{528246000 10800 0 MSK}
{543970800 14400 1 MSD}
{559695600 10800 0 MSK}
{575420400 14400 1 MSD}
{591145200 10800 0 MSK}
{606870000 14400 1 MSD}
{622594800 10800 0 MSK}
| > | | < | 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
{528246000 10800 0 MSK}
{543970800 14400 1 MSD}
{559695600 10800 0 MSK}
{575420400 14400 1 MSD}
{591145200 10800 0 MSK}
{606870000 14400 1 MSD}
{622594800 10800 0 MSK}
{638319600 14400 1 MSD}
{641948400 10800 0 EEST}
{654652800 7200 0 EET}
{670377600 10800 1 EEST}
{686102400 7200 0 EET}
{694216800 7200 0 EET}
{701820000 10800 1 EEST}
{717541200 7200 0 EET}
{733269600 10800 1 EEST}
{748990800 7200 0 EET}
|
| ︙ | ︙ |
Changes to library/tzdata/Europe/Kaliningrad.
| ︙ | ︙ | |||
31 32 33 34 35 36 37 |
{496796400 10800 0 MSK}
{512521200 14400 1 MSD}
{528246000 10800 0 MSK}
{543970800 14400 1 MSD}
{559695600 10800 0 MSK}
{575420400 14400 1 MSD}
{591145200 10800 0 MSK}
| | | | | | | | | 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
{496796400 10800 0 MSK}
{512521200 14400 1 MSD}
{528246000 10800 0 MSK}
{543970800 14400 1 MSD}
{559695600 10800 0 MSK}
{575420400 14400 1 MSD}
{591145200 10800 0 MSK}
{606870000 7200 0 EEMMTT}
{606873600 10800 1 EEST}
{622598400 7200 0 EET}
{638323200 10800 1 EEST}
{654652800 7200 0 EET}
{670377600 10800 1 EEST}
{686102400 7200 0 EET}
{701827200 10800 1 EEST}
{717552000 7200 0 EET}
{733276800 10800 1 EEST}
{749001600 7200 0 EET}
{764726400 10800 1 EEST}
{780451200 7200 0 EET}
{796176000 10800 1 EEST}
{811900800 7200 0 EET}
{828230400 10800 1 EEST}
|
| ︙ | ︙ |
Added library/tzdata/Europe/Kirov.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 |
# created by tools/tclZIC.tcl - do not edit
set TZData(:Europe/Kirov) {
{-9223372036854775808 11928 0 LMT}
{-1593825528 10800 0 +03}
{-1247540400 14400 0 +05}
{354916800 18000 1 +05}
{370724400 14400 0 +04}
{386452800 18000 1 +05}
{402260400 14400 0 +04}
{417988800 18000 1 +05}
{433796400 14400 0 +04}
{449611200 18000 1 +05}
{465343200 14400 0 +04}
{481068000 18000 1 +05}
{496792800 14400 0 +04}
{512517600 18000 1 +05}
{528242400 14400 0 +04}
{543967200 18000 1 +05}
{559692000 14400 0 +04}
{575416800 18000 1 +05}
{591141600 14400 0 +04}
{606866400 10800 0 +04}
{606870000 14400 1 +04}
{622594800 10800 0 +03}
{638319600 14400 1 +04}
{654649200 10800 0 +03}
{670374000 14400 0 +04}
{701820000 10800 0 +04}
{701823600 14400 1 +04}
{717548400 10800 0 +03}
{733273200 14400 1 +04}
{748998000 10800 0 +03}
{764722800 14400 1 +04}
{780447600 10800 0 +03}
{796172400 14400 1 +04}
{811897200 10800 0 +03}
{828226800 14400 1 +04}
{846370800 10800 0 +03}
{859676400 14400 1 +04}
{877820400 10800 0 +03}
{891126000 14400 1 +04}
{909270000 10800 0 +03}
{922575600 14400 1 +04}
{941324400 10800 0 +03}
{954025200 14400 1 +04}
{972774000 10800 0 +03}
{985474800 14400 1 +04}
{1004223600 10800 0 +03}
{1017529200 14400 1 +04}
{1035673200 10800 0 +03}
{1048978800 14400 1 +04}
{1067122800 10800 0 +03}
{1080428400 14400 1 +04}
{1099177200 10800 0 +03}
{1111878000 14400 1 +04}
{1130626800 10800 0 +03}
{1143327600 14400 1 +04}
{1162076400 10800 0 +03}
{1174777200 14400 1 +04}
{1193526000 10800 0 +03}
{1206831600 14400 1 +04}
{1224975600 10800 0 +03}
{1238281200 14400 1 +04}
{1256425200 10800 0 +03}
{1269730800 14400 1 +04}
{1288479600 10800 0 +03}
{1301180400 14400 0 +04}
{1414274400 10800 0 +03}
}
|
Changes to library/tzdata/Europe/Minsk.
| ︙ | ︙ | |||
29 30 31 32 33 34 35 |
{591145200 10800 0 MSK}
{606870000 14400 1 MSD}
{622594800 10800 0 MSK}
{631141200 10800 0 MSK}
{670374000 10800 1 EEST}
{686102400 7200 0 EET}
{701820000 10800 1 EEST}
| > | | 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
{591145200 10800 0 MSK}
{606870000 14400 1 MSD}
{622594800 10800 0 MSK}
{631141200 10800 0 MSK}
{670374000 10800 1 EEST}
{686102400 7200 0 EET}
{701820000 10800 1 EEST}
{717544800 10800 0 EEST}
{717552000 7200 0 EET}
{733276800 10800 1 EEST}
{749001600 7200 0 EET}
{764726400 10800 1 EEST}
{780451200 7200 0 EET}
{796176000 10800 1 EEST}
{811900800 7200 0 EET}
{828230400 10800 1 EEST}
|
| ︙ | ︙ |
Changes to library/tzdata/Europe/Moscow.
| ︙ | ︙ | |||
36 37 38 39 40 41 42 |
{622594800 10800 0 MSK}
{638319600 14400 1 MSD}
{654649200 10800 0 MSK}
{670374000 7200 0 EEMMTT}
{670377600 10800 1 EEST}
{686102400 7200 0 EET}
{695779200 10800 0 MSD}
| | | | 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
{622594800 10800 0 MSK}
{638319600 14400 1 MSD}
{654649200 10800 0 MSK}
{670374000 7200 0 EEMMTT}
{670377600 10800 1 EEST}
{686102400 7200 0 EET}
{695779200 10800 0 MSD}
{701823600 14400 1 MSD}
{717548400 10800 0 MSK}
{733273200 14400 1 MSD}
{748998000 10800 0 MSK}
{764722800 14400 1 MSD}
{780447600 10800 0 MSK}
{796172400 14400 1 MSD}
{811897200 10800 0 MSK}
{828226800 14400 1 MSD}
|
| ︙ | ︙ |
Changes to library/tzdata/Europe/Samara.
| ︙ | ︙ | |||
24 25 26 27 28 29 30 |
{606866400 10800 0 MSD}
{606870000 14400 1 MSD}
{622594800 10800 0 MSK}
{638319600 14400 1 MSD}
{654649200 10800 0 MSK}
{670374000 7200 0 EEMMTT}
{670377600 10800 1 EEST}
| | | | | 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
{606866400 10800 0 MSD}
{606870000 14400 1 MSD}
{622594800 10800 0 MSK}
{638319600 14400 1 MSD}
{654649200 10800 0 MSK}
{670374000 7200 0 EEMMTT}
{670377600 10800 1 EEST}
{686102400 10800 0 SAMT}
{687916800 14400 0 SAMT}
{701820000 18000 1 SAMST}
{717544800 14400 0 SAMT}
{733269600 18000 1 SAMST}
{748994400 14400 0 SAMT}
{764719200 18000 1 SAMST}
{780444000 14400 0 SAMT}
{796168800 18000 1 SAMST}
{811893600 14400 0 SAMT}
{828223200 18000 1 SAMST}
|
| ︙ | ︙ |
Added library/tzdata/Europe/Ulyanovsk.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 |
# created by tools/tclZIC.tcl - do not edit
set TZData(:Europe/Ulyanovsk) {
{-9223372036854775808 11616 0 LMT}
{-1593825216 10800 0 +03}
{-1247540400 14400 0 +05}
{354916800 18000 1 +05}
{370724400 14400 0 +04}
{386452800 18000 1 +05}
{402260400 14400 0 +04}
{417988800 18000 1 +05}
{433796400 14400 0 +04}
{449611200 18000 1 +05}
{465343200 14400 0 +04}
{481068000 18000 1 +05}
{496792800 14400 0 +04}
{512517600 18000 1 +05}
{528242400 14400 0 +04}
{543967200 18000 1 +05}
{559692000 14400 0 +04}
{575416800 18000 1 +05}
{591141600 14400 0 +04}
{606866400 10800 0 +04}
{606870000 14400 1 +04}
{622594800 10800 0 +03}
{638319600 14400 1 +04}
{654649200 10800 0 +03}
{670374000 7200 0 +03}
{670377600 10800 1 +03}
{686102400 7200 0 +02}
{695779200 10800 0 +04}
{701823600 14400 1 +04}
{717548400 10800 0 +03}
{733273200 14400 1 +04}
{748998000 10800 0 +03}
{764722800 14400 1 +04}
{780447600 10800 0 +03}
{796172400 14400 1 +04}
{811897200 10800 0 +03}
{828226800 14400 1 +04}
{846370800 10800 0 +03}
{859676400 14400 1 +04}
{877820400 10800 0 +03}
{891126000 14400 1 +04}
{909270000 10800 0 +03}
{922575600 14400 1 +04}
{941324400 10800 0 +03}
{954025200 14400 1 +04}
{972774000 10800 0 +03}
{985474800 14400 1 +04}
{1004223600 10800 0 +03}
{1017529200 14400 1 +04}
{1035673200 10800 0 +03}
{1048978800 14400 1 +04}
{1067122800 10800 0 +03}
{1080428400 14400 1 +04}
{1099177200 10800 0 +03}
{1111878000 14400 1 +04}
{1130626800 10800 0 +03}
{1143327600 14400 1 +04}
{1162076400 10800 0 +03}
{1174777200 14400 1 +04}
{1193526000 10800 0 +03}
{1206831600 14400 1 +04}
{1224975600 10800 0 +03}
{1238281200 14400 1 +04}
{1256425200 10800 0 +03}
{1269730800 14400 1 +04}
{1288479600 10800 0 +03}
{1301180400 14400 0 +04}
{1414274400 10800 0 +03}
{1459033200 14400 0 +04}
}
|
Changes to library/tzdata/Europe/Vilnius.
| ︙ | ︙ | |||
26 27 28 29 30 31 32 |
{496796400 10800 0 MSK}
{512521200 14400 1 MSD}
{528246000 10800 0 MSK}
{543970800 14400 1 MSD}
{559695600 10800 0 MSK}
{575420400 14400 1 MSD}
{591145200 10800 0 MSK}
| | | | | > | | 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
{496796400 10800 0 MSK}
{512521200 14400 1 MSD}
{528246000 10800 0 MSK}
{543970800 14400 1 MSD}
{559695600 10800 0 MSK}
{575420400 14400 1 MSD}
{591145200 10800 0 MSK}
{606870000 7200 0 EEMMTT}
{606873600 10800 1 EEST}
{622598400 7200 0 EET}
{638323200 10800 1 EEST}
{654652800 7200 0 EET}
{670377600 10800 1 EEST}
{686102400 7200 0 EET}
{701827200 10800 1 EEST}
{717552000 7200 0 EET}
{733276800 10800 1 EEST}
{749001600 7200 0 EET}
{764726400 10800 1 EEST}
{780451200 7200 0 EET}
|
| ︙ | ︙ |
Changes to library/tzdata/Europe/Volgograd.
| ︙ | ︙ | |||
16 17 18 19 20 21 22 |
{465343200 14400 0 VOLT}
{481068000 18000 1 VOLST}
{496792800 14400 0 VOLT}
{512517600 18000 1 VOLST}
{528242400 14400 0 VOLT}
{543967200 18000 1 VOLST}
{559692000 14400 0 VOLT}
| | | | | > | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
{465343200 14400 0 VOLT}
{481068000 18000 1 VOLST}
{496792800 14400 0 VOLT}
{512517600 18000 1 VOLST}
{528242400 14400 0 VOLT}
{543967200 18000 1 VOLST}
{559692000 14400 0 VOLT}
{575416800 10800 0 VOLMMTT}
{575420400 14400 1 VOLST}
{591145200 10800 0 VOLT}
{606870000 14400 1 VOLST}
{622594800 10800 0 VOLT}
{638319600 14400 1 VOLST}
{654649200 10800 0 VOLT}
{670374000 14400 0 VOLT}
{701820000 10800 0 MSD}
{701823600 14400 1 MSD}
{717548400 10800 0 MSK}
{733273200 14400 1 MSD}
{748998000 10800 0 MSK}
{764722800 14400 1 MSD}
{780447600 10800 0 MSK}
{796172400 14400 1 MSD}
{811897200 10800 0 MSK}
{828226800 14400 1 MSD}
|
| ︙ | ︙ |
Changes to library/tzdata/Pacific/Easter.
| ︙ | ︙ | |||
93 94 95 96 97 98 99 |
{1313899200 -18000 1 EASST}
{1335668400 -21600 0 EAST}
{1346558400 -18000 1 EASST}
{1367118000 -21600 0 EAST}
{1378612800 -18000 1 EASST}
{1398567600 -21600 0 EAST}
{1410062400 -18000 1 EASST}
| > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 |
{1313899200 -18000 1 EASST}
{1335668400 -21600 0 EAST}
{1346558400 -18000 1 EASST}
{1367118000 -21600 0 EAST}
{1378612800 -18000 1 EASST}
{1398567600 -21600 0 EAST}
{1410062400 -18000 1 EASST}
{1463281200 -21600 0 EAST}
{1471147200 -18000 1 EASST}
{1494730800 -21600 0 EAST}
{1502596800 -18000 1 EASST}
{1526180400 -21600 0 EAST}
{1534046400 -18000 1 EASST}
{1557630000 -21600 0 EAST}
{1565496000 -18000 1 EASST}
{1589079600 -21600 0 EAST}
{1596945600 -18000 1 EASST}
{1620529200 -21600 0 EAST}
{1629000000 -18000 1 EASST}
{1652583600 -21600 0 EAST}
{1660449600 -18000 1 EASST}
{1684033200 -21600 0 EAST}
{1691899200 -18000 1 EASST}
{1715482800 -21600 0 EAST}
{1723348800 -18000 1 EASST}
{1746932400 -21600 0 EAST}
{1754798400 -18000 1 EASST}
{1778382000 -21600 0 EAST}
{1786248000 -18000 1 EASST}
{1809831600 -21600 0 EAST}
{1818302400 -18000 1 EASST}
{1841886000 -21600 0 EAST}
{1849752000 -18000 1 EASST}
{1873335600 -21600 0 EAST}
{1881201600 -18000 1 EASST}
{1904785200 -21600 0 EAST}
{1912651200 -18000 1 EASST}
{1936234800 -21600 0 EAST}
{1944100800 -18000 1 EASST}
{1967684400 -21600 0 EAST}
{1976155200 -18000 1 EASST}
{1999738800 -21600 0 EAST}
{2007604800 -18000 1 EASST}
{2031188400 -21600 0 EAST}
{2039054400 -18000 1 EASST}
{2062638000 -21600 0 EAST}
{2070504000 -18000 1 EASST}
{2094087600 -21600 0 EAST}
{2101953600 -18000 1 EASST}
{2125537200 -21600 0 EAST}
{2133403200 -18000 1 EASST}
{2156986800 -21600 0 EAST}
{2165457600 -18000 1 EASST}
{2189041200 -21600 0 EAST}
{2196907200 -18000 1 EASST}
{2220490800 -21600 0 EAST}
{2228356800 -18000 1 EASST}
{2251940400 -21600 0 EAST}
{2259806400 -18000 1 EASST}
{2283390000 -21600 0 EAST}
{2291256000 -18000 1 EASST}
{2314839600 -21600 0 EAST}
{2322705600 -18000 1 EASST}
{2346894000 -21600 0 EAST}
{2354760000 -18000 1 EASST}
{2378343600 -21600 0 EAST}
{2386209600 -18000 1 EASST}
{2409793200 -21600 0 EAST}
{2417659200 -18000 1 EASST}
{2441242800 -21600 0 EAST}
{2449108800 -18000 1 EASST}
{2472692400 -21600 0 EAST}
{2480558400 -18000 1 EASST}
{2504142000 -21600 0 EAST}
{2512612800 -18000 1 EASST}
{2536196400 -21600 0 EAST}
{2544062400 -18000 1 EASST}
{2567646000 -21600 0 EAST}
{2575512000 -18000 1 EASST}
{2599095600 -21600 0 EAST}
{2606961600 -18000 1 EASST}
{2630545200 -21600 0 EAST}
{2638411200 -18000 1 EASST}
{2661994800 -21600 0 EAST}
{2669860800 -18000 1 EASST}
{2693444400 -21600 0 EAST}
{2701915200 -18000 1 EASST}
{2725498800 -21600 0 EAST}
{2733364800 -18000 1 EASST}
{2756948400 -21600 0 EAST}
{2764814400 -18000 1 EASST}
{2788398000 -21600 0 EAST}
{2796264000 -18000 1 EASST}
{2819847600 -21600 0 EAST}
{2827713600 -18000 1 EASST}
{2851297200 -21600 0 EAST}
{2859768000 -18000 1 EASST}
{2883351600 -21600 0 EAST}
{2891217600 -18000 1 EASST}
{2914801200 -21600 0 EAST}
{2922667200 -18000 1 EASST}
{2946250800 -21600 0 EAST}
{2954116800 -18000 1 EASST}
{2977700400 -21600 0 EAST}
{2985566400 -18000 1 EASST}
{3009150000 -21600 0 EAST}
{3017016000 -18000 1 EASST}
{3040599600 -21600 0 EAST}
{3049070400 -18000 1 EASST}
{3072654000 -21600 0 EAST}
{3080520000 -18000 1 EASST}
{3104103600 -21600 0 EAST}
{3111969600 -18000 1 EASST}
{3135553200 -21600 0 EAST}
{3143419200 -18000 1 EASST}
{3167002800 -21600 0 EAST}
{3174868800 -18000 1 EASST}
{3198452400 -21600 0 EAST}
{3206318400 -18000 1 EASST}
{3230506800 -21600 0 EAST}
{3238372800 -18000 1 EASST}
{3261956400 -21600 0 EAST}
{3269822400 -18000 1 EASST}
{3293406000 -21600 0 EAST}
{3301272000 -18000 1 EASST}
{3324855600 -21600 0 EAST}
{3332721600 -18000 1 EASST}
{3356305200 -21600 0 EAST}
{3364171200 -18000 1 EASST}
{3387754800 -21600 0 EAST}
{3396225600 -18000 1 EASST}
{3419809200 -21600 0 EAST}
{3427675200 -18000 1 EASST}
{3451258800 -21600 0 EAST}
{3459124800 -18000 1 EASST}
{3482708400 -21600 0 EAST}
{3490574400 -18000 1 EASST}
{3514158000 -21600 0 EAST}
{3522024000 -18000 1 EASST}
{3545607600 -21600 0 EAST}
{3553473600 -18000 1 EASST}
{3577057200 -21600 0 EAST}
{3585528000 -18000 1 EASST}
{3609111600 -21600 0 EAST}
{3616977600 -18000 1 EASST}
{3640561200 -21600 0 EAST}
{3648427200 -18000 1 EASST}
{3672010800 -21600 0 EAST}
{3679876800 -18000 1 EASST}
{3703460400 -21600 0 EAST}
{3711326400 -18000 1 EASST}
{3734910000 -21600 0 EAST}
{3743380800 -18000 1 EASST}
{3766964400 -21600 0 EAST}
{3774830400 -18000 1 EASST}
{3798414000 -21600 0 EAST}
{3806280000 -18000 1 EASST}
{3829863600 -21600 0 EAST}
{3837729600 -18000 1 EASST}
{3861313200 -21600 0 EAST}
{3869179200 -18000 1 EASST}
{3892762800 -21600 0 EAST}
{3900628800 -18000 1 EASST}
{3924212400 -21600 0 EAST}
{3932683200 -18000 1 EASST}
{3956266800 -21600 0 EAST}
{3964132800 -18000 1 EASST}
{3987716400 -21600 0 EAST}
{3995582400 -18000 1 EASST}
{4019166000 -21600 0 EAST}
{4027032000 -18000 1 EASST}
{4050615600 -21600 0 EAST}
{4058481600 -18000 1 EASST}
{4082065200 -21600 0 EAST}
{4089931200 -18000 1 EASST}
}
|
Changes to library/word.tcl.
| ︙ | ︙ | |||
11 12 13 14 15 16 17 |
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
# The following variables are used to determine which characters are
# interpreted as white space.
if {$::tcl_platform(platform) eq "windows"} {
# Windows style - any but a unicode space char
| > | > > | > > | > > | > | 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
# The following variables are used to determine which characters are
# interpreted as white space.
if {$::tcl_platform(platform) eq "windows"} {
# Windows style - any but a unicode space char
if {![info exists ::tcl_wordchars]} {
set ::tcl_wordchars {\S}
}
if {![info exists ::tcl_nonwordchars]} {
set ::tcl_nonwordchars {\s}
}
} else {
# Motif style - any unicode word char (number, letter, or underscore)
if {![info exists ::tcl_wordchars]} {
set ::tcl_wordchars {\w}
}
if {![info exists ::tcl_nonwordchars]} {
set ::tcl_nonwordchars {\W}
}
}
# Arrange for caches of the real matcher REs to be kept, which enables the REs
# themselves to be cached for greater performance (and somewhat greater
# clarity too).
namespace eval ::tcl {
|
| ︙ | ︙ |
Changes to tests/assemble.test.
| ︙ | ︙ | |||
3275 3276 3277 3278 3279 3280 3281 3282 3283 3284 3285 3286 3287 3288 |
catch {
apply {{} {
assemble {reverse polish notation}
}}
}
}
} 0
rename fillTables {}
rename assemble {}
::tcltest::cleanupTests
return
| > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 3275 3276 3277 3278 3279 3280 3281 3282 3283 3284 3285 3286 3287 3288 3289 3290 3291 3292 3293 3294 3295 3296 3297 3298 3299 3300 3301 3302 3303 3304 3305 3306 3307 3308 3309 3310 3311 3312 3313 3314 3315 3316 3317 3318 3319 3320 3321 3322 3323 3324 3325 3326 3327 3328 3329 3330 3331 3332 3333 3334 3335 3336 3337 3338 3339 3340 3341 3342 3343 3344 3345 3346 3347 3348 3349 3350 3351 3352 3353 3354 3355 3356 3357 3358 3359 3360 3361 3362 3363 3364 3365 3366 3367 3368 3369 3370 3371 3372 3373 3374 |
catch {
apply {{} {
assemble {reverse polish notation}
}}
}
}
} 0
test assemble-52.1 {Bug 3154ea2759} {
apply {{} {
# Needs six exception ranges to force the range allocations to use the
# malloced store.
::tcl::unsupported::assemble {
beginCatch @badLabel
push error
push testing
invokeStk 2
pop
push 0
jump @okLabel
label @badLabel
push 1; # should be pushReturnCode
label @okLabel
endCatch
pop
beginCatch @badLabel2
push error
push testing
invokeStk 2
pop
push 0
jump @okLabel2
label @badLabel2
push 1; # should be pushReturnCode
label @okLabel2
endCatch
pop
beginCatch @badLabel3
push error
push testing
invokeStk 2
pop
push 0
jump @okLabel3
label @badLabel3
push 1; # should be pushReturnCode
label @okLabel3
endCatch
pop
beginCatch @badLabel4
push error
push testing
invokeStk 2
pop
push 0
jump @okLabel4
label @badLabel4
push 1; # should be pushReturnCode
label @okLabel4
endCatch
pop
beginCatch @badLabel5
push error
push testing
invokeStk 2
pop
push 0
jump @okLabel5
label @badLabel5
push 1; # should be pushReturnCode
label @okLabel5
endCatch
pop
beginCatch @badLabel6
push error
push testing
invokeStk 2
pop
push 0
jump @okLabel6
label @badLabel6
push 1; # should be pushReturnCode
label @okLabel6
endCatch
pop
}
}}
} {}; # must not crash
rename fillTables {}
rename assemble {}
::tcltest::cleanupTests
return
|
| ︙ | ︙ |
Changes to tests/compile.test.
| ︙ | ︙ | |||
220 221 222 223 224 225 226 227 228 229 230 231 232 233 |
set ::foo 1
proc foreach-test {} {
foreach ::foo {1 2 3} {}
}
foreach-test
set ::foo
} 3
test compile-6.1 {TclCompileSetCmd: global scalar names with ::s} -setup {
catch {unset x}
catch {unset y}
} -body {
set x 123
proc p {} {
| > > > > > > > > > > > | 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 |
set ::foo 1
proc foreach-test {} {
foreach ::foo {1 2 3} {}
}
foreach-test
set ::foo
} 3
test compile-5.3 {TclCompileForeachCmd: [Bug b9b2079e6d]} -setup {
proc demo {} {
foreach x y {
if 1 break else
}
}
} -body {
demo
} -cleanup {
rename demo {}
} -returnCodes error -result {wrong # args: no script following "else" argument}
test compile-6.1 {TclCompileSetCmd: global scalar names with ::s} -setup {
catch {unset x}
catch {unset y}
} -body {
set x 123
proc p {} {
|
| ︙ | ︙ |
Changes to tests/lreplace.test.
| ︙ | ︙ | |||
94 95 96 97 98 99 100 |
test lreplace-1.26 {lreplace command} {
catch {unset foo}
set foo {a b}
list [set foo [lreplace $foo end end]] \
[set foo [lreplace $foo end end]] \
[set foo [lreplace $foo end end]]
} {a {} {}}
| | > > > > > | | | 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 |
test lreplace-1.26 {lreplace command} {
catch {unset foo}
set foo {a b}
list [set foo [lreplace $foo end end]] \
[set foo [lreplace $foo end end]] \
[set foo [lreplace $foo end end]]
} {a {} {}}
test lreplace-1.27 {lreplace command} {
lreplace x 1 1
} x
test lreplace-1.28 {lreplace command} {
lreplace x 1 1 y
} {x y}
test lreplace-2.1 {lreplace errors} {
list [catch lreplace msg] $msg
} {1 {wrong # args: should be "lreplace list first last ?element ...?"}}
test lreplace-2.2 {lreplace errors} {
list [catch {lreplace a b} msg] $msg
} {1 {wrong # args: should be "lreplace list first last ?element ...?"}}
test lreplace-2.3 {lreplace errors} {
list [catch {lreplace x a 10} msg] $msg
} {1 {bad index "a": must be integer?[+-]integer? or end?[+-]integer?}}
test lreplace-2.4 {lreplace errors} {
list [catch {lreplace x 10 x} msg] $msg
} {1 {bad index "x": must be integer?[+-]integer? or end?[+-]integer?}}
test lreplace-2.5 {lreplace errors} {
list [catch {lreplace x 10 1x} msg] $msg
} {1 {bad index "1x": must be integer?[+-]integer? or end?[+-]integer?}}
test lreplace-2.6 {lreplace errors} {
list [catch {lreplace x 3 2} msg] $msg
} {1 {list doesn't contain element 3}}
test lreplace-2.7 {lreplace errors} {
list [catch {lreplace x 2 2} msg] $msg
} {1 {list doesn't contain element 2}}
test lreplace-3.1 {lreplace won't modify shared argument objects} {
proc p {} {
lreplace "a b c" 1 1 "x y"
return "a b c"
}
p
|
| ︙ | ︙ | |||
177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 |
} {0 1 a b c 3 4}
test lreplace-4.11 {lreplace end index first} {
lreplace {0 1 2 3 4} end-2 1 a b c
} {0 1 a b c 2 3 4}
test lreplace-4.12 {lreplace end index first} {
lreplace {0 1 2 3 4} end-2 2 a b c
} {0 1 a b c 3 4}
# cleanup
catch {unset foo}
::tcltest::cleanupTests
return
# Local Variables:
# mode: tcl
# End:
| > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 |
} {0 1 a b c 3 4}
test lreplace-4.11 {lreplace end index first} {
lreplace {0 1 2 3 4} end-2 1 a b c
} {0 1 a b c 2 3 4}
test lreplace-4.12 {lreplace end index first} {
lreplace {0 1 2 3 4} end-2 2 a b c
} {0 1 a b c 3 4}
test lreplace-4.13 {lreplace empty list} {
lreplace {} 1 1 1
} 1
test lreplace-4.14 {lreplace empty list} {
lreplace {} 2 2 2
} 2
test lreplace-5.1 {compiled lreplace: Bug 47ac84309b} {
apply {x {
lreplace $x end 0
}} {a b c}
} {a b c}
test lreplace-5.2 {compiled lreplace: Bug 47ac84309b} {
apply {x {
lreplace $x end 0 A
}} {a b c}
} {a b A c}
# Testing for compiled behaviour. Far too many variations to check with
# spelt-out tests. Note that this *just* checks whether the compiled version
# and the interpreted version are the same, not whether the interpreted
# version is correct.
apply {{} {
set lss {{} {a} {a b c} {a b c d}}
set ins {{} A {A B}}
set idxs {-2 -1 0 1 2 3 end-3 end-2 end-1 end end+1 end+2}
set lreplace lreplace
foreach ls $lss {
foreach a $idxs {
foreach b $idxs {
foreach i $ins {
set expected [list [catch {$lreplace $ls $a $b {*}$i} m] $m]
set tester [list lreplace $ls $a $b {*}$i]
set script [list catch $tester m]
set script "list \[$script\] \$m"
test lreplace-6.[incr n] {lreplace battery} \
[list apply [list {} $script]] $expected
}
}
}
}
}}
# cleanup
catch {unset foo}
::tcltest::cleanupTests
return
# Local Variables:
# mode: tcl
# End:
|
Changes to tests/namespace.test.
| ︙ | ︙ | |||
2949 2950 2951 2952 2953 2954 2955 2956 2957 2958 2959 2960 2961 2962 |
rename getbytes {}
unset i ns start end
} -result 0
test namespace-55.1 {compiled ensembles inside compiled ensembles: Bug 6d2f249a01} {
info class [format %s constructor] oo::object
} ""
# cleanup
catch {rename cmd1 {}}
catch {unset l}
catch {unset msg}
catch {unset trigger}
namespace delete {*}[namespace children :: test_ns_*]
| > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 2949 2950 2951 2952 2953 2954 2955 2956 2957 2958 2959 2960 2961 2962 2963 2964 2965 2966 2967 2968 2969 2970 2971 2972 2973 2974 2975 2976 2977 2978 2979 2980 2981 2982 2983 2984 2985 2986 2987 2988 2989 2990 2991 2992 2993 2994 2995 2996 2997 2998 2999 3000 3001 |
rename getbytes {}
unset i ns start end
} -result 0
test namespace-55.1 {compiled ensembles inside compiled ensembles: Bug 6d2f249a01} {
info class [format %s constructor] oo::object
} ""
test namespace-56.1 {bug f97d4ee020: mutually-entangled deletion} {
namespace eval ::testing {
proc abc {} {}
proc def {} {}
trace add command abc delete "rename ::testing::def {}; #"
trace add command def delete "rename ::testing::abc {}; #"
}
namespace delete ::testing
} {}
test namespace-56.2 {bug f97d4ee020: mutually-entangled deletion} {
namespace eval ::testing {
namespace eval abc {proc xyz {} {}}
namespace eval def {proc xyz {} {}}
trace add command abc::xyz delete "namespace delete ::testing::def {}; #"
trace add command def::xyz delete "namespace delete ::testing::abc {}; #"
}
namespace delete ::testing
} {}
test namespace-56.3 {bug f97d4ee020: mutually-entangled deletion} {
namespace eval ::testing {
variable gone {}
oo::class create CB {
variable cmd
constructor other {set cmd $other}
destructor {rename $cmd {}; lappend ::testing::gone $cmd}
}
namespace eval abc {
::testing::CB create def ::testing::abc::ghi
::testing::CB create ghi ::testing::abc::def
}
namespace delete abc
try {
return [lsort $gone]
} finally {
namespace delete ::testing
}
}
} {::testing::abc::def ::testing::abc::ghi}
# cleanup
catch {rename cmd1 {}}
catch {unset l}
catch {unset msg}
catch {unset trigger}
namespace delete {*}[namespace children :: test_ns_*]
|
| ︙ | ︙ |
Changes to tests/registry.test.
| ︙ | ︙ | |||
15 16 17 18 19 20 21 |
namespace import -force ::tcltest::*
}
testConstraint reg 0
if {[testConstraint win]} {
if {![catch {
::tcltest::loadTestedCommands
| | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
namespace import -force ::tcltest::*
}
testConstraint reg 0
if {[testConstraint win]} {
if {![catch {
::tcltest::loadTestedCommands
set ::regver [package require registry 1.3.2]
}]} {
testConstraint reg 1
}
}
# determine the current locale
testConstraint english [expr {
[llength [info commands testlocale]]
&& [string match "English*" [testlocale all ""]]
}]
test registry-1.0 {check if we are testing the right dll} {win reg} {
set ::regver
} {1.3.2}
test registry-1.1 {argument parsing for registry command} {win reg} {
list [catch {registry} msg] $msg
} {1 {wrong # args: should be "registry ?-32bit|-64bit? option ?arg ...?"}}
test registry-1.1a {argument parsing for registry command} {win reg} {
list [catch {registry -32bit} msg] $msg
} {1 {wrong # args: should be "registry ?-32bit|-64bit? option ?arg ...?"}}
test registry-1.1b {argument parsing for registry command} {win reg} {
|
| ︙ | ︙ |
Changes to tests/stringComp.test.
| ︙ | ︙ | |||
724 725 726 727 728 729 730 731 732 733 734 735 736 737 |
apply {arg {
set argCopy $arg
set arg [string replace $arg 1 2 aa]
# Crashes in comparison before fix
expr {$arg ne $argCopy}
}} abcde
} 1
## string tolower
## not yet bc
## string toupper
## not yet bc
| > > > > > > > > > > | 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 |
apply {arg {
set argCopy $arg
set arg [string replace $arg 1 2 aa]
# Crashes in comparison before fix
expr {$arg ne $argCopy}
}} abcde
} 1
test stringComp-14.4 {Bug 1af8de570511} {
apply {{x y} {
# Generate an unshared string value
set val ""
for { set i 0 } { $i < $x } { incr i } {
set val [format "0%s" $val]
}
string replace $val[unset val] 1 1 $y
}} 4 x
} 0x00
## string tolower
## not yet bc
## string toupper
## not yet bc
|
| ︙ | ︙ |
Changes to tests/uplevel.test.
| ︙ | ︙ | |||
97 98 99 100 101 102 103 104 105 106 107 108 109 110 |
uplevel
} -result {wrong # args: should be "uplevel ?level? command ?arg ...?"}
test uplevel-4.4 {error: not enough args} -returnCodes error -body {
apply {{} {
uplevel 1
}}
} -result {wrong # args: should be "uplevel ?level? command ?arg ...?"}
proc a2 {} {
uplevel a3
}
proc a3 {} {
global x y
set x [info level]
| > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 |
uplevel
} -result {wrong # args: should be "uplevel ?level? command ?arg ...?"}
test uplevel-4.4 {error: not enough args} -returnCodes error -body {
apply {{} {
uplevel 1
}}
} -result {wrong # args: should be "uplevel ?level? command ?arg ...?"}
test uplevel-4.5 {level parsing} {
apply {{} {uplevel 0 {}}}
} {}
test uplevel-4.6 {level parsing} {
apply {{} {uplevel #0 {}}}
} {}
test uplevel-4.7 {level parsing} {
apply {{} {uplevel [expr 0] {}}}
} {}
test uplevel-4.8 {level parsing} {
apply {{} {uplevel #[expr 0] {}}}
} {}
test uplevel-4.9 {level parsing} {
apply {{} {uplevel -0 {}}}
} {}
test uplevel-4.10 {level parsing} {
apply {{} {uplevel #-0 {}}}
} {}
test uplevel-4.11 {level parsing} {
apply {{} {uplevel [expr -0] {}}}
} {}
test uplevel-4.12 {level parsing} {
apply {{} {uplevel #[expr -0] {}}}
} {}
test uplevel-4.13 {level parsing} {
apply {{} {uplevel 1 {}}}
} {}
test uplevel-4.14 {level parsing} {
apply {{} {uplevel #1 {}}}
} {}
test uplevel-4.15 {level parsing} {
apply {{} {uplevel [expr 1] {}}}
} {}
test uplevel-4.16 {level parsing} {
apply {{} {uplevel #[expr 1] {}}}
} {}
test uplevel-4.17 {level parsing} {
apply {{} {uplevel -0xffffffff {}}}
} {}
test uplevel-4.18 {level parsing} {
apply {{} {uplevel #-0xffffffff {}}}
} {}
test uplevel-4.19 {level parsing} {
apply {{} {uplevel [expr -0xffffffff] {}}}
} {}
test uplevel-4.20 {level parsing} {
apply {{} {uplevel #[expr -0xffffffff] {}}}
} {}
test uplevel-4.21 {level parsing} -body {
apply {{} {uplevel -1 {}}}
} -returnCodes error -result {invalid command name "-1"}
test uplevel-4.22 {level parsing} -body {
apply {{} {uplevel #-1 {}}}
} -returnCodes error -result {bad level "#-1"}
test uplevel-4.23 {level parsing} -body {
apply {{} {uplevel [expr -1] {}}}
} -returnCodes error -result {invalid command name "-1"}
test uplevel-4.24 {level parsing} -body {
apply {{} {uplevel #[expr -1] {}}}
} -returnCodes error -result {bad level "#-1"}
test uplevel-4.25 {level parsing} -body {
apply {{} {uplevel 0xffffffff {}}}
} -returnCodes error -result {bad level "0xffffffff"}
test uplevel-4.26 {level parsing} -body {
apply {{} {uplevel #0xffffffff {}}}
} -returnCodes error -result {bad level "#0xffffffff"}
test uplevel-4.27 {level parsing} -body {
apply {{} {uplevel [expr 0xffffffff] {}}}
} -returnCodes error -result {bad level "4294967295"}
test uplevel-4.28 {level parsing} -body {
apply {{} {uplevel #[expr 0xffffffff] {}}}
} -returnCodes error -result {bad level "#4294967295"}
test uplevel-4.29 {level parsing} -body {
apply {{} {uplevel 0.2 {}}}
} -returnCodes error -result {bad level "0.2"}
test uplevel-4.30 {level parsing} -body {
apply {{} {uplevel #0.2 {}}}
} -returnCodes error -result {bad level "#0.2"}
test uplevel-4.31 {level parsing} -body {
apply {{} {uplevel [expr 0.2] {}}}
} -returnCodes error -result {bad level "0.2"}
test uplevel-4.32 {level parsing} -body {
apply {{} {uplevel #[expr 0.2] {}}}
} -returnCodes error -result {bad level "#0.2"}
test uplevel-4.33 {level parsing} -body {
apply {{} {uplevel .2 {}}}
} -returnCodes error -result {invalid command name ".2"}
test uplevel-4.34 {level parsing} -body {
apply {{} {uplevel #.2 {}}}
} -returnCodes error -result {bad level "#.2"}
test uplevel-4.35 {level parsing} -body {
apply {{} {uplevel [expr .2] {}}}
} -returnCodes error -result {bad level "0.2"}
test uplevel-4.36 {level parsing} -body {
apply {{} {uplevel #[expr .2] {}}}
} -returnCodes error -result {bad level "#0.2"}
proc a2 {} {
uplevel a3
}
proc a3 {} {
global x y
set x [info level]
|
| ︙ | ︙ |
Changes to tests/utf.test.
| ︙ | ︙ | |||
298 299 300 301 302 303 304 |
test utf-21.1 {TclUniCharIsAlnum} {
# this returns 1 with Unicode 7 compliance
string is alnum \u1040\u021f\u0220
} {1}
test utf-21.2 {unicode alnum char in regc_locale.c} {
# this returns 1 with Unicode 7 compliance
| | | 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 |
test utf-21.1 {TclUniCharIsAlnum} {
# this returns 1 with Unicode 7 compliance
string is alnum \u1040\u021f\u0220
} {1}
test utf-21.2 {unicode alnum char in regc_locale.c} {
# this returns 1 with Unicode 7 compliance
list [regexp {^[[:alnum:]]+$} \u1040\u021f\u0220] [regexp {^\w+$} \u1040\u021f\u0220_\u203f\u2040\u2054\ufe33\ufe34\ufe4d\ufe4e\ufe4f\uff3f]
} {1 1}
test utf-21.3 {unicode print char in regc_locale.c} {
# this returns 1 with Unicode 7 compliance
regexp {^[[:print:]]+$} \ufbc1
} 1
test utf-21.4 {TclUniCharIsGraph} {
# [Bug 3464428]
|
| ︙ | ︙ |
Changes to tests/zlib.test.
| ︙ | ︙ | |||
871 872 873 874 875 876 877 878 879 880 881 882 883 884 |
set f [open $file rb]
set d [read $f]
close $f
zlib gunzip $d -header noSuchNs::foo
} -cleanup {
removeFile $file
} -returnCodes error -result {can't set "noSuchNs::foo": parent namespace doesn't exist}
::tcltest::cleanupTests
return
# Local Variables:
# mode: tcl
# End:
| > > > > > > > > > > > > > > > > > > | 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 |
set f [open $file rb]
set d [read $f]
close $f
zlib gunzip $d -header noSuchNs::foo
} -cleanup {
removeFile $file
} -returnCodes error -result {can't set "noSuchNs::foo": parent namespace doesn't exist}
test zlib-12.1 {Tk Bug 9eb55debc5} -constraints zlib -setup {
set stream [zlib stream compress]
} -body {
for {set opts {};set y 0} {$y < 60} {incr y} {
for {set line {};set x 0} {$x < 100} {incr x} {
append line [binary format ccc $x $y 128]
}
if {$y == 59} {
set opts -finalize
}
$stream put {*}$opts $line
}
set data [$stream get]
list [string length $data] [string length [zlib decompress $data]]
} -cleanup {
$stream close
} -result {12026 18000}
::tcltest::cleanupTests
return
# Local Variables:
# mode: tcl
# End:
|
Changes to tools/genStubs.tcl.
1 2 3 4 5 6 7 8 9 10 11 12 | # genStubs.tcl -- # # This script generates a set of stub files for a given # interface. # # # Copyright (c) 1998-1999 by Scriptics Corporation. # Copyright (c) 2007 Daniel A. Steffen <das@users.sourceforge.net> # # See the file "license.terms" for information on usage and redistribution # of this file, and for a DISCLAIMER OF ALL WARRANTIES. | < < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
# genStubs.tcl --
#
# This script generates a set of stub files for a given
# interface.
#
#
# Copyright (c) 1998-1999 by Scriptics Corporation.
# Copyright (c) 2007 Daniel A. Steffen <das@users.sourceforge.net>
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
namespace eval genStubs {
# libraryName --
#
# The name of the entire library. This value is used to compute
# the USE_*_STUBS macro and the name of the init file.
variable libraryName "UNKNOWN"
|
| ︙ | ︙ |
Changes to tools/man2html.tcl.
1 2 3 4 |
#!/bin/sh
# \
exec tclsh "$0" ${1+"$@"}
| < < | 1 2 3 4 5 6 7 8 9 10 11 |
#!/bin/sh
# \
exec tclsh "$0" ${1+"$@"}
# man2html.tcl --
#
# This file contains procedures that work in conjunction with the
# man2tcl program to generate a HTML files from Tcl manual entries.
#
# Copyright (c) 1996 by Sun Microsystems, Inc.
|
| ︙ | ︙ |
Changes to tools/man2html1.tcl.
1 2 3 4 5 6 7 | # man2html1.tcl -- # # This file defines procedures that are used during the first pass of the # man page to html conversion process. It is sourced by h.tcl. # # Copyright (c) 1996 by Sun Microsystems, Inc. | < < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 | # man2html1.tcl -- # # This file defines procedures that are used during the first pass of the # man page to html conversion process. It is sourced by h.tcl. # # Copyright (c) 1996 by Sun Microsystems, Inc. # Global variables used by these scripts: # # state - state variable that controls action of text proc. # # curFile - tail of current man page. # # file - file pointer; for both xref.tcl and contents.html |
| ︙ | ︙ |
Changes to tools/man2html2.tcl.
1 2 3 4 5 6 7 8 | ############################################################################## # man2html2.tcl -- # # This file defines procedures that are used during the second pass of the man # page to html conversion process. It is sourced by man2html.tcl. # # Copyright (c) 1996 by Sun Microsystems, Inc. | < < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | ############################################################################## # man2html2.tcl -- # # This file defines procedures that are used during the second pass of the man # page to html conversion process. It is sourced by man2html.tcl. # # Copyright (c) 1996 by Sun Microsystems, Inc. # Global variables used by these scripts: # # NAME_file - array indexed by NAME and containing file names used for # hyperlinks. # # textState - state variable defining action of 'text' proc. # |
| ︙ | ︙ |
Changes to tools/tclZIC.tcl.
| ︙ | ︙ | |||
26 27 28 29 30 31 32 | #---------------------------------------------------------------------- # # Copyright (c) 2004 by Kevin B. Kenny. All rights reserved. # See the file "license.terms" for information on usage and redistribution # of this file, and for a DISCLAIMER OF ALL WARRANTIES. #---------------------------------------------------------------------- | < < | 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
#----------------------------------------------------------------------
#
# Copyright (c) 2004 by Kevin B. Kenny. All rights reserved.
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#----------------------------------------------------------------------
# Define the names of the Olson files that we need to load.
# We avoid the solar time files and the leap seconds.
set olsonFiles {
africa antarctica asia australasia
backward etcetera europe northamerica
pacificnew southamerica systemv
|
| ︙ | ︙ |
Changes to tools/tcltk-man2html.tcl.
1 2 | #!/usr/bin/env tclsh | | | 1 2 3 4 5 6 7 8 9 10 |
#!/usr/bin/env tclsh
if {[catch {package require Tcl 8.6-} msg]} {
puts stderr "ERROR: $msg"
puts stderr "If running this script from 'make html', set the\
NATIVE_TCLSH environment\nvariable to point to an installed\
tclsh8.6 (or the equivalent tclsh86.exe\non Windows)."
exit 1
}
|
| ︙ | ︙ |
Changes to unix/Makefile.in.
| ︙ | ︙ | |||
653 654 655 656 657 658 659 | Makefile: $(UNIX_DIR)/Makefile.in $(DLTEST_DIR)/Makefile.in $(SHELL) config.status #tclConfig.h: $(UNIX_DIR)/tclConfig.h.in # $(SHELL) config.status clean: clean-packages | | | 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 |
Makefile: $(UNIX_DIR)/Makefile.in $(DLTEST_DIR)/Makefile.in
$(SHELL) config.status
#tclConfig.h: $(UNIX_DIR)/tclConfig.h.in
# $(SHELL) config.status
clean: clean-packages
rm -rf *.a *.o libtcl* core errs *~ \#* TAGS *.E a.out \
errors ${TCL_EXE} ${TCLTEST_EXE} lib.exp Tcl @DTRACE_HDR@
cd dltest ; $(MAKE) clean
distclean: distclean-packages clean
rm -rf Makefile config.status config.cache config.log tclConfig.sh \
tclConfig.h *.plist Tcl.framework tcl.pc
cd dltest ; $(MAKE) distclean
|
| ︙ | ︙ | |||
845 846 847 848 849 850 851 | @echo "Installing package opt0.4 files to $(SCRIPT_INSTALL_DIR)/opt0.4/"; @for i in $(TOP_DIR)/library/opt/*.tcl ; \ do \ $(INSTALL_DATA) $$i "$(SCRIPT_INSTALL_DIR)"/opt0.4; \ done; @echo "Installing package msgcat 1.6.0 as a Tcl Module"; @$(INSTALL_DATA) $(TOP_DIR)/library/msgcat/msgcat.tcl "$(SCRIPT_INSTALL_DIR)"/../tcl8/8.5/msgcat-1.6.0.tm; | | | | 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 | @echo "Installing package opt0.4 files to $(SCRIPT_INSTALL_DIR)/opt0.4/"; @for i in $(TOP_DIR)/library/opt/*.tcl ; \ do \ $(INSTALL_DATA) $$i "$(SCRIPT_INSTALL_DIR)"/opt0.4; \ done; @echo "Installing package msgcat 1.6.0 as a Tcl Module"; @$(INSTALL_DATA) $(TOP_DIR)/library/msgcat/msgcat.tcl "$(SCRIPT_INSTALL_DIR)"/../tcl8/8.5/msgcat-1.6.0.tm; @echo "Installing package tcltest 2.4.0 as a Tcl Module"; @$(INSTALL_DATA) $(TOP_DIR)/library/tcltest/tcltest.tcl "$(SCRIPT_INSTALL_DIR)"/../tcl8/8.5/tcltest-2.4.0.tm; @echo "Installing package platform 1.0.14 as a Tcl Module"; @$(INSTALL_DATA) $(TOP_DIR)/library/platform/platform.tcl "$(SCRIPT_INSTALL_DIR)"/../tcl8/8.4/platform-1.0.14.tm; @echo "Installing package platform::shell 1.1.4 as a Tcl Module"; @$(INSTALL_DATA) $(TOP_DIR)/library/platform/shell.tcl "$(SCRIPT_INSTALL_DIR)"/../tcl8/8.4/platform/shell-1.1.4.tm; @echo "Installing encoding files to $(SCRIPT_INSTALL_DIR)/encoding/"; |
| ︙ | ︙ | |||
1592 1593 1594 1595 1596 1597 1598 | # The following is a CYGWIN only source: tclWinError.o: $(TOP_DIR)/win/tclWinError.c $(CC) -c $(CC_SWITCHES) $(TOP_DIR)/win/tclWinError.c # DTrace support | | | 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 | # The following is a CYGWIN only source: tclWinError.o: $(TOP_DIR)/win/tclWinError.c $(CC) -c $(CC_SWITCHES) $(TOP_DIR)/win/tclWinError.c # DTrace support $(TCL_OBJS) $(STUB_LIB_OBJS) $(TCLSH_OBJS) $(TCLTEST_OBJS) $(XTTEST_OBJS) $(TOMMATH_OBJS): @DTRACE_HDR@ $(DTRACE_HDR): $(DTRACE_SRC) $(DTRACE) -h $(DTRACE_SWITCHES) -o $@ -s $(DTRACE_SRC) $(DTRACE_OBJ): $(DTRACE_SRC) $(TCL_OBJS) $(DTRACE) -G $(DTRACE_SWITCHES) -o $@ -s $(DTRACE_SRC) $(TCL_OBJS) |
| ︙ | ︙ |
Changes to unix/tclUnixNotfy.c.
| ︙ | ︙ | |||
429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 |
if (triggerPipe != -1) {
if (write(triggerPipe, "q", 1) != 1) {
Tcl_Panic("Tcl_FinalizeNotifier: %s",
"unable to write q to triggerPipe");
}
close(triggerPipe);
while(triggerPipe != -1) {
pthread_cond_wait(¬ifierCV, ¬ifierMutex);
}
if (notifierThreadRunning) {
int result = pthread_join((pthread_t) notifierThread, NULL);
if (result) {
Tcl_Panic("Tcl_FinalizeNotifier: unable to join notifier "
"thread");
}
| > > | 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 |
if (triggerPipe != -1) {
if (write(triggerPipe, "q", 1) != 1) {
Tcl_Panic("Tcl_FinalizeNotifier: %s",
"unable to write q to triggerPipe");
}
close(triggerPipe);
pthread_mutex_lock(¬ifierMutex);
while(triggerPipe != -1) {
pthread_cond_wait(¬ifierCV, ¬ifierMutex);
}
pthread_mutex_unlock(¬ifierMutex);
if (notifierThreadRunning) {
int result = pthread_join((pthread_t) notifierThread, NULL);
if (result) {
Tcl_Panic("Tcl_FinalizeNotifier: unable to join notifier "
"thread");
}
|
| ︙ | ︙ |
Changes to win/Makefile.in.
| ︙ | ︙ | |||
656 657 658 659 660 661 662 | @echo "Installing library opt0.4 directory"; @for j in $(ROOT_DIR)/library/opt/*.tcl; \ do \ $(COPY) "$$j" "$(SCRIPT_INSTALL_DIR)/opt0.4"; \ done; @echo "Installing package msgcat 1.6.0 as a Tcl Module"; @$(COPY) $(ROOT_DIR)/library/msgcat/msgcat.tcl $(SCRIPT_INSTALL_DIR)/../tcl8/8.5/msgcat-1.6.0.tm; | | | | 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 | @echo "Installing library opt0.4 directory"; @for j in $(ROOT_DIR)/library/opt/*.tcl; \ do \ $(COPY) "$$j" "$(SCRIPT_INSTALL_DIR)/opt0.4"; \ done; @echo "Installing package msgcat 1.6.0 as a Tcl Module"; @$(COPY) $(ROOT_DIR)/library/msgcat/msgcat.tcl $(SCRIPT_INSTALL_DIR)/../tcl8/8.5/msgcat-1.6.0.tm; @echo "Installing package tcltest 2.4.0 as a Tcl Module"; @$(COPY) $(ROOT_DIR)/library/tcltest/tcltest.tcl $(SCRIPT_INSTALL_DIR)/../tcl8/8.5/tcltest-2.4.0.tm; @echo "Installing package platform 1.0.14 as a Tcl Module"; @$(COPY) $(ROOT_DIR)/library/platform/platform.tcl $(SCRIPT_INSTALL_DIR)/../tcl8/8.4/platform-1.0.14.tm; @echo "Installing package platform::shell 1.1.4 as a Tcl Module"; @$(COPY) $(ROOT_DIR)/library/platform/shell.tcl $(SCRIPT_INSTALL_DIR)/../tcl8/8.4/platform/shell-1.1.4.tm; @echo "Installing encodings"; @for i in $(ROOT_DIR)/library/encoding/*.enc ; do \ $(COPY) "$$i" "$(SCRIPT_INSTALL_DIR)/encoding"; \ |
| ︙ | ︙ | |||
709 710 711 712 713 714 715 |
test: test-tcl test-packages
test-tcl: binaries $(TCLSH) $(CAT32) $(TEST_DLL_FILE)
TCL_LIBRARY="$(LIBRARY_DIR)"; export TCL_LIBRARY; \
./$(TCLSH) "$(ROOT_DIR_NATIVE)/tests/all.tcl" $(TESTFLAGS) \
-load "package ifneeded Tcltest ${VERSION}@TCL_PATCH_LEVEL@ [list load [file normalize ${TEST_DLL_FILE}] Tcltest]; \
package ifneeded dde 1.4.0 [list load [file normalize ${DDE_DLL_FILE}] dde]; \
| | | | 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 |
test: test-tcl test-packages
test-tcl: binaries $(TCLSH) $(CAT32) $(TEST_DLL_FILE)
TCL_LIBRARY="$(LIBRARY_DIR)"; export TCL_LIBRARY; \
./$(TCLSH) "$(ROOT_DIR_NATIVE)/tests/all.tcl" $(TESTFLAGS) \
-load "package ifneeded Tcltest ${VERSION}@TCL_PATCH_LEVEL@ [list load [file normalize ${TEST_DLL_FILE}] Tcltest]; \
package ifneeded dde 1.4.0 [list load [file normalize ${DDE_DLL_FILE}] dde]; \
package ifneeded registry 1.3.2 [list load [file normalize ${REG_DLL_FILE}] registry]" | ./$(CAT32)
# Useful target to launch a built tclsh with the proper path,...
runtest: binaries $(TCLSH) $(TEST_DLL_FILE)
@TCL_LIBRARY="$(LIBRARY_DIR)"; export TCL_LIBRARY; \
./$(TCLSH) $(TESTFLAGS) -load "package ifneeded Tcltest ${VERSION}@TCL_PATCH_LEVEL@ [list load [file normalize ${TEST_DLL_FILE}] Tcltest]; \
package ifneeded dde 1.4.0 [list load [file normalize ${DDE_DLL_FILE}] dde]; \
package ifneeded registry 1.3.2 [list load [file normalize ${REG_DLL_FILE}] registry]" $(SCRIPT)
# This target can be used to run tclsh from the build directory via
# `make shell SCRIPT=foo.tcl`
shell: binaries
@TCL_LIBRARY="$(LIBRARY_DIR)"; export TCL_LIBRARY; \
./$(TCLSH) $(SCRIPT)
|
| ︙ | ︙ |
Changes to win/coffbase.txt.
| ︙ | ︙ | |||
30 31 32 33 34 35 36 37 38 39 40 41 42 | tdom 0x109E0000 0x00080000 tclvfs 0x10A70000 0x00010000 tkvideo 0x10B00000 0x00010000 tclsdl 0x10B20000 0x00080000 vqtcl 0x10C00000 0x00010000 tdbc 0x10C40000 0x00010000 thread 0x10C80000 0x00020000 ; ; insert new packages here ; snack 0x1E000000 0x00400000 sound 0x1E400000 0x00400000 snackogg 0x1E800000 0x00200000 | > | 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | tdom 0x109E0000 0x00080000 tclvfs 0x10A70000 0x00010000 tkvideo 0x10B00000 0x00010000 tclsdl 0x10B20000 0x00080000 vqtcl 0x10C00000 0x00010000 tdbc 0x10C40000 0x00010000 thread 0x10C80000 0x00020000 nsf 0x10ca0000 0x00080000 ; ; insert new packages here ; snack 0x1E000000 0x00400000 sound 0x1E400000 0x00400000 snackogg 0x1E800000 0x00200000 |
Changes to win/makefile.vc.
| ︙ | ︙ | |||
585 586 587 588 589 590 591 | test: test-core test-pkgs test-core: setup $(TCLTEST) dlls $(CAT32) set TCL_LIBRARY=$(ROOT:\=/)/library !if "$(OS)" == "Windows_NT" || "$(MSVCDIR)" == "IDE" $(DEBUGGER) $(TCLTEST) "$(ROOT:\=/)/tests/all.tcl" $(TESTFLAGS) -loadfile << package ifneeded dde 1.4.0 [list load "$(TCLDDELIB:\=/)" dde] | | | | 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 | test: test-core test-pkgs test-core: setup $(TCLTEST) dlls $(CAT32) set TCL_LIBRARY=$(ROOT:\=/)/library !if "$(OS)" == "Windows_NT" || "$(MSVCDIR)" == "IDE" $(DEBUGGER) $(TCLTEST) "$(ROOT:\=/)/tests/all.tcl" $(TESTFLAGS) -loadfile << package ifneeded dde 1.4.0 [list load "$(TCLDDELIB:\=/)" dde] package ifneeded registry 1.3.2 [list load "$(TCLREGLIB:\=/)" registry] << !else @echo Please wait while the tests are collected... $(TCLTEST) "$(ROOT:\=/)/tests/all.tcl" $(TESTFLAGS) -loadfile << > tests.log package ifneeded dde 1.4.0 "$(TCLDDELIB:\=/)" dde] package ifneeded registry 1.3.2 "$(TCLREGLIB:\=/)" registry] << type tests.log | more !endif runtest: setup $(TCLTEST) dlls $(CAT32) set TCL_LIBRARY=$(ROOT:\=/)/library $(DEBUGGER) $(TCLTEST) $(SCRIPT) |
| ︙ | ︙ |
Changes to win/tclWinReg.c.
| ︙ | ︙ | |||
159 160 161 162 163 164 165 |
if (Tcl_InitStubs(interp, "8.5", 0) == NULL) {
return TCL_ERROR;
}
cmd = Tcl_CreateObjCommand(interp, "registry", RegistryObjCmd,
interp, DeleteCmd);
Tcl_SetAssocData(interp, REGISTRY_ASSOC_KEY, NULL, cmd);
| | | 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 |
if (Tcl_InitStubs(interp, "8.5", 0) == NULL) {
return TCL_ERROR;
}
cmd = Tcl_CreateObjCommand(interp, "registry", RegistryObjCmd,
interp, DeleteCmd);
Tcl_SetAssocData(interp, REGISTRY_ASSOC_KEY, NULL, cmd);
return Tcl_PkgProvide(interp, "registry", "1.3.2");
}
/*
*----------------------------------------------------------------------
*
* Registry_Unload --
*
|
| ︙ | ︙ | |||
799 800 801 802 803 804 805 | /* * Multistrings are stored as an array of null-terminated strings, * terminated by two null characters. Also do a bounds check in case * we get bogus data. */ | | | | | | | 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 |
/*
* Multistrings are stored as an array of null-terminated strings,
* terminated by two null characters. Also do a bounds check in case
* we get bogus data.
*/
while ((p < end) && *((WCHAR *) p) != 0) {
WCHAR *wp;
Tcl_WinTCharToUtf((TCHAR *) p, -1, &buf);
Tcl_ListObjAppendElement(interp, resultPtr,
Tcl_NewStringObj(Tcl_DStringValue(&buf),
Tcl_DStringLength(&buf)));
wp = (WCHAR *) p;
while (*wp++ != 0) {/* empty body */}
p = (char *) wp;
Tcl_DStringFree(&buf);
}
Tcl_SetObjResult(interp, resultPtr);
} else if ((type == REG_SZ) || (type == REG_EXPAND_SZ)) {
Tcl_WinTCharToUtf((TCHAR *) Tcl_DStringValue(&data), -1, &buf);
Tcl_DStringResult(interp, &buf);
} else {
|
| ︙ | ︙ | |||
1328 1329 1330 1331 1332 1333 1334 | Tcl_DString buf; const char *data = Tcl_GetString(dataObj); length = dataObj->length; data = (char *) Tcl_WinUtfToTChar(data, length, &buf); /* | | | 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 | Tcl_DString buf; const char *data = Tcl_GetString(dataObj); length = dataObj->length; data = (char *) Tcl_WinUtfToTChar(data, length, &buf); /* * Include the null in the length, padding if needed for WCHAR. */ Tcl_DStringSetLength(&buf, Tcl_DStringLength(&buf)+1); length = Tcl_DStringLength(&buf) + 1; result = RegSetValueEx(key, (TCHAR *) valueName, 0, (DWORD) type, (BYTE *) data, (DWORD) length); |
| ︙ | ︙ | |||
1389 1390 1391 1392 1393 1394 1395 |
int objc, /* Number of arguments. */
Tcl_Obj *const objv[]) /* Argument values. */
{
LRESULT result;
DWORD_PTR sendResult;
int timeout = 3000;
size_t len;
| < > > | > > | | | > | | | 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 |
int objc, /* Number of arguments. */
Tcl_Obj *const objv[]) /* Argument values. */
{
LRESULT result;
DWORD_PTR sendResult;
int timeout = 3000;
size_t len;
const char *str;
Tcl_Obj *objPtr;
WCHAR *wstr;
Tcl_DString ds;
if (objc == 3) {
str = Tcl_GetString(objv[1]);
len = objv[1]->length;
if ((len < 2) || (*str != '-') || strncmp(str, "-timeout", len)) {
return TCL_BREAK;
}
if (Tcl_GetIntFromObj(interp, objv[2], &timeout) != TCL_OK) {
return TCL_ERROR;
}
}
str = Tcl_GetString(objv[0]);
len = objv[0]->length;
wstr = (WCHAR *) Tcl_WinUtfToTChar(str, len, &ds);
if (Tcl_DStringLength(&ds) == 0) {
wstr = NULL;
}
/*
* Use the ignore the result.
*/
result = SendMessageTimeout(HWND_BROADCAST, WM_SETTINGCHANGE,
(WPARAM) 0, (LPARAM) wstr, SMTO_ABORTIFHUNG, (UINT) timeout, &sendResult);
Tcl_DStringFree(&ds);
objPtr = Tcl_NewObj();
Tcl_ListObjAppendElement(NULL, objPtr, Tcl_NewWideIntObj((Tcl_WideInt) result));
Tcl_ListObjAppendElement(NULL, objPtr, Tcl_NewWideIntObj((Tcl_WideInt) sendResult));
Tcl_SetObjResult(interp, objPtr);
return TCL_OK;
}
/*
*----------------------------------------------------------------------
|
| ︙ | ︙ |
Changes to win/tclWinSock.c.
| ︙ | ︙ | |||
2057 2058 2059 2060 2061 2062 2063 |
unsigned short chosenport = 0;
struct addrinfo *addrlist = NULL;
struct addrinfo *addrPtr; /* Socket address to listen on. */
TcpState *statePtr = NULL; /* The returned value. */
char channelName[SOCK_CHAN_LENGTH];
u_long flag = 1; /* Indicates nonblocking mode. */
const char *errorMsg = NULL;
| < | 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 |
unsigned short chosenport = 0;
struct addrinfo *addrlist = NULL;
struct addrinfo *addrPtr; /* Socket address to listen on. */
TcpState *statePtr = NULL; /* The returned value. */
char channelName[SOCK_CHAN_LENGTH];
u_long flag = 1; /* Indicates nonblocking mode. */
const char *errorMsg = NULL;
if (TclpHasSockets(interp) != TCL_OK) {
return NULL;
}
/*
* Check that WinSock is initialized; do not call it if not, to prevent
|
| ︙ | ︙ | |||
2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 |
error:
if (addrlist != NULL) {
freeaddrinfo(addrlist);
}
if (statePtr != NULL) {
statePtr->acceptProc = acceptProc;
statePtr->acceptProcData = acceptProcData;
sprintf(channelName, SOCK_TEMPLATE, statePtr);
statePtr->channel = Tcl_CreateChannel(&tcpChannelType, channelName,
statePtr, 0);
/*
| > | 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 |
error:
if (addrlist != NULL) {
freeaddrinfo(addrlist);
}
if (statePtr != NULL) {
ThreadSpecificData *tsdPtr = TclThreadDataKeyGet(&dataKey);
statePtr->acceptProc = acceptProc;
statePtr->acceptProcData = acceptProcData;
sprintf(channelName, SOCK_TEMPLATE, statePtr);
statePtr->channel = Tcl_CreateChannel(&tcpChannelType, channelName,
statePtr, 0);
/*
|
| ︙ | ︙ |
Changes to win/tclWinThrd.c.
| ︙ | ︙ | |||
164 165 166 167 168 169 170 |
static DWORD WINAPI
TclWinThreadStart(
LPVOID lpParameter) /* The WinThread structure pointer passed
* from TclpThreadCreate */
{
WinThread *winThreadPtr = (WinThread *) lpParameter;
| < | | < | | < | 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 |
static DWORD WINAPI
TclWinThreadStart(
LPVOID lpParameter) /* The WinThread structure pointer passed
* from TclpThreadCreate */
{
WinThread *winThreadPtr = (WinThread *) lpParameter;
LPTHREAD_START_ROUTINE lpOrigStartAddress;
LPVOID lpOrigParameter;
if (!winThreadPtr) {
return TCL_ERROR;
}
_controlfp(winThreadPtr->fpControl, _MCW_EM | _MCW_RC | 0x03000000 /* _MCW_DN */
#if !defined(_WIN64)
| _MCW_PC
#endif
);
lpOrigStartAddress = winThreadPtr->lpStartAddress;
lpOrigParameter = winThreadPtr->lpParameter;
ckfree((char *)winThreadPtr);
return lpOrigStartAddress(lpOrigParameter);
}
|
| ︙ | ︙ |