mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-23 09:43:32 +08:00
Update.
* timezone/africa: Update from tzdata1998e. * timezone/antarctica: Likewise. * timezone/asia: Likewise. * timezone/australasia: Likewise. * timezone/europe: Likewise. * timezone/iso3166.tab: Likewise. * timezone/northamerica: Likewise. * timezone/tzselect.ksh: Likewise. * timezone/zone.tab: Likewise.
This commit is contained in:
parent
a56a64d43f
commit
f962d79247
10
ChangeLog
10
ChangeLog
@ -2,6 +2,16 @@
|
||||
|
||||
* manual/texinfo.tex: Update to last available version.
|
||||
|
||||
* timezone/africa: Update from tzdata1998e.
|
||||
* timezone/antarctica: Likewise.
|
||||
* timezone/asia: Likewise.
|
||||
* timezone/australasia: Likewise.
|
||||
* timezone/europe: Likewise.
|
||||
* timezone/iso3166.tab: Likewise.
|
||||
* timezone/northamerica: Likewise.
|
||||
* timezone/tzselect.ksh: Likewise.
|
||||
* timezone/zone.tab: Likewise.
|
||||
|
||||
1998-05-27 Ulrich Drepper <drepper@cygnus.com>
|
||||
|
||||
* sysdeps/unix/sysv/linux/i386/chown.c: Fix comment.
|
||||
|
@ -1,5 +1,5 @@
|
||||
% texinfo.tex -- TeX macros to handle Texinfo files.
|
||||
% $Id: texinfo.tex,v 2.214 1998/04/13 16:40:45 drepper Exp $
|
||||
% $Id: texinfo.tex,v 2.215 1998/05/29 09:03:23 drepper Exp $
|
||||
%
|
||||
% Copyright (C) 1985, 86, 88, 90, 91, 92, 93, 94, 95, 96, 97, 98
|
||||
% Free Software Foundation, Inc.
|
||||
@ -27,7 +27,7 @@
|
||||
% reports; you can get the latest version from:
|
||||
% /home/gd/gnu/doc/texinfo.tex on the GNU machines.
|
||||
% ftp://ftp.gnu.org/pub/gnu/texinfo.tex
|
||||
% (and all GNU mirrors)
|
||||
% (and all GNU mirrors, see ftp://ftp.gnu.org/pub/gnu/README.mirrors)
|
||||
% ftp://tug.org/tex/texinfo.tex
|
||||
% ftp://ctan.org/macros/texinfo/texinfo.tex
|
||||
% (and all CTAN mirrors, finger ctan@tug.org for a list).
|
||||
@ -60,7 +60,7 @@
|
||||
|
||||
% This automatically updates the version number based on RCS.
|
||||
\def\deftexinfoversion$#1: #2 ${\def\texinfoversion{#2}}
|
||||
\deftexinfoversion$Revision: 2.214 $
|
||||
\deftexinfoversion$Revision: 2.215 $
|
||||
\message{Loading texinfo package [Version \texinfoversion]:}
|
||||
|
||||
% If in a .fmt file, print the version number
|
||||
@ -98,18 +98,20 @@
|
||||
% starts a new line in the output.
|
||||
\newlinechar = `^^J
|
||||
|
||||
% Set up fixed words for English.
|
||||
\ifx\putwordChapter\undefined{\gdef\putwordChapter{Chapter}}\fi%
|
||||
\def\putwordInfo{Info}%
|
||||
\ifx\putwordSee\undefined{\gdef\putwordSee{See}}\fi%
|
||||
\ifx\putwordsee\undefined{\gdef\putwordsee{see}}\fi%
|
||||
\ifx\putwordfile\undefined{\gdef\putwordfile{file}}\fi%
|
||||
\ifx\putwordpage\undefined{\gdef\putwordpage{page}}\fi%
|
||||
\ifx\putwordsection\undefined{\gdef\putwordsection{section}}\fi%
|
||||
\ifx\putwordSection\undefined{\gdef\putwordSection{Section}}\fi%
|
||||
\ifx\putwordTableofContents\undefined{\gdef\putwordTableofContents{Table of Contents}}\fi%
|
||||
\ifx\putwordShortContents\undefined{\gdef\putwordShortContents{Short Contents}}\fi%
|
||||
\ifx\putwordAppendix\undefined{\gdef\putwordAppendix{Appendix}}\fi%
|
||||
% Set up fixed words for English if not already set.
|
||||
\ifx\putwordAppendix\undefined \gdef\putwordAppendix{Appendix}\fi
|
||||
\ifx\putwordChapter\undefined \gdef\putwordChapter{Chapter}\fi
|
||||
\ifx\putwordfile\undefined \gdef\putwordfile{file}\fi
|
||||
\ifx\putwordInfo\undefined \gdef\putwordfile{Info}\fi
|
||||
\ifx\putwordMethodon\undefined \gdef\putwordMethodon{Method on}\fi
|
||||
\ifx\putwordon\undefined \gdef\putwordon{on}\fi
|
||||
\ifx\putwordpage\undefined \gdef\putwordpage{page}\fi
|
||||
\ifx\putwordsection\undefined \gdef\putwordsection{section}\fi
|
||||
\ifx\putwordSection\undefined \gdef\putwordSection{Section}\fi
|
||||
\ifx\putwordsee\undefined \gdef\putwordsee{see}\fi
|
||||
\ifx\putwordSee\undefined \gdef\putwordSee{See}\fi
|
||||
\ifx\putwordShortContents\undefined \gdef\putwordShortContents{Short Contents}\fi
|
||||
\ifx\putwordTableofContents\undefined\gdef\putwordTableofContents{Table of Contents}\fi
|
||||
|
||||
% Ignore a token.
|
||||
%
|
||||
@ -963,13 +965,24 @@ where each line of input produces a line of output.}
|
||||
\def\value{\begingroup
|
||||
\catcode`\-=12 \catcode`\_=12 % Allow - and _ in VAR.
|
||||
\valuexxx}
|
||||
\def\valuexxx#1{%
|
||||
\def\valuexxx#1{\expandablevalue{#1}\endgroup}
|
||||
|
||||
% We have this subroutine so that we can handle at least some @value's
|
||||
% properly in indexes (we \let\value to this in \indexdummies). Ones
|
||||
% whose names contain - or _ still won't work, but we can't do anything
|
||||
% about that. The command has to be fully expandable, since the result
|
||||
% winds up in the index file. This means that if the variable's value
|
||||
% contains other Texinfo commands, it's almost certain it will fail
|
||||
% (although perhaps we could fix that with sufficient work to do a
|
||||
% one-level expansion on the result, instead of complete).
|
||||
%
|
||||
\def\expandablevalue#1{%
|
||||
\expandafter\ifx\csname SET#1\endcsname\relax
|
||||
{\{No value for ``#1''\}}%
|
||||
{[No value for ``#1'']v}%
|
||||
\else
|
||||
\csname SET#1\endcsname
|
||||
\fi
|
||||
\endgroup}
|
||||
}
|
||||
|
||||
% @ifset VAR ... @end ifset reads the `...' iff VAR has been defined
|
||||
% with @set.
|
||||
@ -1077,12 +1090,21 @@ where each line of input produces a line of output.}
|
||||
% @refill is a no-op.
|
||||
\let\refill=\relax
|
||||
|
||||
% If working on a large document in chapters, it is convenient to
|
||||
% be able to disable indexing, cross-referencing, and contents, for test runs.
|
||||
% This is done with @novalidate (before @setfilename).
|
||||
%
|
||||
\newif\iflinks \linkstrue % by default we want the aux files.
|
||||
\let\novalidate = \linksfalse
|
||||
|
||||
% @setfilename is done at the beginning of every texinfo file.
|
||||
% So open here the files we need to have open while reading the input.
|
||||
% This makes it possible to make a .fmt file for texinfo.
|
||||
\def\setfilename{%
|
||||
\readauxfile
|
||||
\opencontents
|
||||
\iflinks
|
||||
\readauxfile
|
||||
\opencontents
|
||||
\fi % \openindices needs to do some work in any case.
|
||||
\openindices
|
||||
\fixbackslash % Turn off hack to swallow `\input texinfo'.
|
||||
\global\let\setfilename=\comment % Ignore extra @setfilename cmds.
|
||||
@ -1896,7 +1918,7 @@ July\or August\or September\or October\or November\or December\fi
|
||||
\def\itemize{\parsearg\itemizezzz}
|
||||
|
||||
\def\itemizezzz #1{%
|
||||
\begingroup % ended by the @end itemsize
|
||||
\begingroup % ended by the @end itemize
|
||||
\itemizey {#1}{\Eitemize}
|
||||
}
|
||||
|
||||
@ -2262,12 +2284,14 @@ width0pt\relax} \fi
|
||||
% the file that accumulates this index. The file's extension is foo.
|
||||
% The name of an index should be no more than 2 characters long
|
||||
% for the sake of vms.
|
||||
|
||||
\def\newindex #1{
|
||||
\expandafter\newwrite \csname#1indfile\endcsname% Define number for output file
|
||||
\openout \csname#1indfile\endcsname \jobname.#1 % Open the file
|
||||
\expandafter\xdef\csname#1index\endcsname{% % Define \xxxindex
|
||||
\noexpand\doindex {#1}}
|
||||
%
|
||||
\def\newindex#1{%
|
||||
\iflinks
|
||||
\expandafter\newwrite \csname#1indfile\endcsname
|
||||
\openout \csname#1indfile\endcsname \jobname.#1 % Open the file
|
||||
\fi
|
||||
\expandafter\xdef\csname#1index\endcsname{% % Define @#1index
|
||||
\noexpand\doindex{#1}}
|
||||
}
|
||||
|
||||
% @defindex foo == \newindex{foo}
|
||||
@ -2276,11 +2300,13 @@ width0pt\relax} \fi
|
||||
|
||||
% Define @defcodeindex, like @defindex except put all entries in @code.
|
||||
|
||||
\def\newcodeindex #1{
|
||||
\expandafter\newwrite \csname#1indfile\endcsname% Define number for output file
|
||||
\openout \csname#1indfile\endcsname \jobname.#1 % Open the file
|
||||
\expandafter\xdef\csname#1index\endcsname{% % Define \xxxindex
|
||||
\noexpand\docodeindex {#1}}
|
||||
\def\newcodeindex#1{%
|
||||
\iflinks
|
||||
\expandafter\newwrite \csname#1indfile\endcsname
|
||||
\openout \csname#1indfile\endcsname \jobname.#1
|
||||
\fi
|
||||
\expandafter\xdef\csname#1index\endcsname{%
|
||||
\noexpand\docodeindex{#1}}
|
||||
}
|
||||
|
||||
\def\defcodeindex{\parsearg\newcodeindex}
|
||||
@ -2325,6 +2351,7 @@ width0pt\relax} \fi
|
||||
\def\singlecodeindexer #1{\doind{\indexname}{\code{#1}}}
|
||||
|
||||
\def\indexdummies{%
|
||||
\def\ { }%
|
||||
% Take care of the plain tex accent commands.
|
||||
\def\"{\realbackslash "}%
|
||||
\def\`{\realbackslash `}%
|
||||
@ -2366,7 +2393,6 @@ width0pt\relax} \fi
|
||||
\def\gtr{\realbackslash gtr}%
|
||||
\def\less{\realbackslash less}%
|
||||
\def\hat{\realbackslash hat}%
|
||||
%\def\char{\realbackslash char}%
|
||||
\def\TeX{\realbackslash TeX}%
|
||||
\def\dots{\realbackslash dots }%
|
||||
\def\result{\realbackslash result}%
|
||||
@ -2393,7 +2419,12 @@ width0pt\relax} \fi
|
||||
\def\kbd##1{\realbackslash kbd {##1}}%
|
||||
\def\dfn##1{\realbackslash dfn {##1}}%
|
||||
\def\emph##1{\realbackslash emph {##1}}%
|
||||
\def\value##1{\realbackslash value {##1}}%
|
||||
%
|
||||
% Handle some cases of @value -- where the variable name does not
|
||||
% contain - or _, and the value does not contain any
|
||||
% (non-fully-expandable) commands.
|
||||
\let\value = \expandablevalue
|
||||
%
|
||||
\unsepspaces
|
||||
}
|
||||
|
||||
@ -2466,14 +2497,24 @@ width0pt\relax} \fi
|
||||
% so we do not become unable to do a definition.
|
||||
|
||||
{\catcode`\@=0 \catcode`\\=\other
|
||||
@gdef@realbackslash{\}}
|
||||
@gdef@realbackslash{\}}
|
||||
|
||||
\let\indexbackslash=0 %overridden during \printindex.
|
||||
\let\SETmarginindex=\relax % put index entries in margin (undocumented)?
|
||||
|
||||
\let\SETmarginindex=\relax %initialize!
|
||||
% workhorse for all \fooindexes
|
||||
% #1 is name of index, #2 is stuff to put there
|
||||
\def\doind #1#2{%
|
||||
% For \ifx comparisons.
|
||||
\def\emptymacro{\empty}
|
||||
|
||||
% Most index entries go through here, but \dosubind is the general case.
|
||||
%
|
||||
\def\doind#1#2{\dosubind{#1}{#2}\empty}
|
||||
|
||||
% Workhorse for all \fooindexes.
|
||||
% #1 is name of index, #2 is stuff to put there, #3 is subentry --
|
||||
% \empty if called from \doind, as we usually are. The main exception
|
||||
% is with defuns, which call us directly.
|
||||
%
|
||||
\def\dosubind#1#2#3{%
|
||||
% Put the index entry in the margin if desired.
|
||||
\ifx\SETmarginindex\relax\else
|
||||
\insert\margin{\hbox{\vrule height8pt depth3pt width0pt #2}}%
|
||||
@ -2484,13 +2525,22 @@ width0pt\relax} \fi
|
||||
\indexdummies % Must do this here, since \bf, etc expand at this stage
|
||||
\escapechar=`\\
|
||||
{%
|
||||
\let\folio=0% We will expand all macros now EXCEPT \folio.
|
||||
\let\folio = 0% We will expand all macros now EXCEPT \folio.
|
||||
\def\rawbackslashxx{\indexbackslash}% \indexbackslash isn't defined now
|
||||
% so it will be output as is; and it will print as backslash.
|
||||
%
|
||||
\def\thirdarg{#3}%
|
||||
%
|
||||
% If third arg is present, precede it with space in sort key.
|
||||
\ifx\thirdarg\emptymacro
|
||||
\let\subentry = \empty
|
||||
\else
|
||||
\def\subentry{ #3}%
|
||||
\fi
|
||||
%
|
||||
% First process the index-string with all font commands turned off
|
||||
% to get the string to sort by.
|
||||
{\indexnofonts \xdef\indexsorttmp{#2}}%
|
||||
{\indexnofonts \xdef\indexsorttmp{#2\subentry}}%
|
||||
%
|
||||
% Now produce the complete index entry, with both the sort key and the
|
||||
% original text, including any font commands.
|
||||
@ -2499,33 +2549,35 @@ width0pt\relax} \fi
|
||||
\write\csname#1indfile\endcsname{%
|
||||
\realbackslash entry{\indexsorttmp}{\folio}{\the\toks0}}%
|
||||
}%
|
||||
\temp
|
||||
%
|
||||
% If third (subentry) arg is present, add it to the index string.
|
||||
\ifx\thirdarg\emptymacro \else
|
||||
\toks0 = {#3}%
|
||||
\edef\temp{\temp{\the\toks0}}%
|
||||
\fi
|
||||
%
|
||||
% If a skip is the last thing on the list now, preserve it
|
||||
% by backing up by \lastskip, doing the \write, then inserting
|
||||
% the skip again. Otherwise, the whatsit generated by the
|
||||
% \write will make \lastskip zero. The result is that sequences
|
||||
% like this:
|
||||
% @end defun
|
||||
% @tindex whatever
|
||||
% @defun ...
|
||||
% will have extra space inserted, because the \medbreak in the
|
||||
% start of the @defun won't see the skip inserted by the @end of
|
||||
% the previous defun.
|
||||
\iflinks
|
||||
\skip0 = \lastskip \ifdim\lastskip = 0pt \else \vskip-\lastskip \fi
|
||||
\temp
|
||||
\ifdim\skip0 = 0pt \else \vskip\skip0 \fi
|
||||
\fi
|
||||
}%
|
||||
}%
|
||||
\penalty\count255
|
||||
}%
|
||||
}
|
||||
|
||||
\def\dosubind #1#2#3{%
|
||||
{\count10=\lastpenalty %
|
||||
{\indexdummies % Must do this here, since \bf, etc expand at this stage
|
||||
\escapechar=`\\%
|
||||
{\let\folio=0%
|
||||
\def\rawbackslashxx{\indexbackslash}%
|
||||
%
|
||||
% Now process the index-string once, with all font commands turned off,
|
||||
% to get the string to sort the index by.
|
||||
{\indexnofonts
|
||||
\xdef\temp1{#2 #3}%
|
||||
}%
|
||||
% Now produce the complete index entry. We process the index-string again,
|
||||
% this time with font commands expanded, to get what to print in the index.
|
||||
\edef\temp{%
|
||||
\write \csname#1indfile\endcsname{%
|
||||
\realbackslash entry {\temp1}{\folio}{#2}{#3}}}%
|
||||
\temp }%
|
||||
}\penalty\count10}}
|
||||
|
||||
% The index entry written in the file actually looks like
|
||||
% \entry {sortstring}{page}{topic}
|
||||
% or
|
||||
@ -2949,7 +3001,7 @@ width0pt\relax} \fi
|
||||
\toks0 = {#1}%
|
||||
\edef\temp{{\realbackslash chapentry{\the\toks0}{\the\chapno}{\noexpand\folio}}}%
|
||||
\escapechar=`\\%
|
||||
\write \contentsfile \temp %
|
||||
\iflinks \write\contentsfile\temp \fi
|
||||
\donoderef %
|
||||
\global\let\section = \numberedsec
|
||||
\global\let\subsection = \numberedsubsec
|
||||
@ -2970,7 +3022,7 @@ width0pt\relax} \fi
|
||||
\edef\temp{{\realbackslash chapentry{\the\toks0}%
|
||||
{\putwordAppendix{} \appendixletter}{\noexpand\folio}}}%
|
||||
\escapechar=`\\%
|
||||
\write \contentsfile \temp %
|
||||
\iflinks \write\contentsfile\temp \fi
|
||||
\appendixnoderef %
|
||||
\global\let\section = \appendixsec
|
||||
\global\let\subsection = \appendixsubsec
|
||||
@ -3005,7 +3057,7 @@ width0pt\relax} \fi
|
||||
\toks0 = {#1}%
|
||||
\edef\temp{{\realbackslash unnumbchapentry{\the\toks0}{\noexpand\folio}}}%
|
||||
\escapechar=`\\%
|
||||
\write \contentsfile \temp %
|
||||
\iflinks \write\contentsfile\temp \fi
|
||||
\unnumbnoderef %
|
||||
\global\let\section = \unnumberedsec
|
||||
\global\let\subsection = \unnumberedsubsec
|
||||
@ -3022,7 +3074,7 @@ width0pt\relax} \fi
|
||||
\edef\temp{{\realbackslash secentry %
|
||||
{\the\toks0}{\the\chapno}{\the\secno}{\noexpand\folio}}}%
|
||||
\escapechar=`\\%
|
||||
\write \contentsfile \temp %
|
||||
\iflinks \write\contentsfile\temp \fi
|
||||
\donoderef %
|
||||
\penalty 10000 %
|
||||
}}
|
||||
@ -3038,7 +3090,7 @@ width0pt\relax} \fi
|
||||
\edef\temp{{\realbackslash secentry %
|
||||
{\the\toks0}{\appendixletter}{\the\secno}{\noexpand\folio}}}%
|
||||
\escapechar=`\\%
|
||||
\write \contentsfile \temp %
|
||||
\iflinks \write\contentsfile\temp \fi
|
||||
\appendixnoderef %
|
||||
\penalty 10000 %
|
||||
}}
|
||||
@ -3051,7 +3103,7 @@ width0pt\relax} \fi
|
||||
\toks0 = {#1}%
|
||||
\edef\temp{{\realbackslash unnumbsecentry{\the\toks0}{\noexpand\folio}}}%
|
||||
\escapechar=`\\%
|
||||
\write \contentsfile \temp %
|
||||
\iflinks \write\contentsfile\temp \fi
|
||||
\unnumbnoderef %
|
||||
\penalty 10000 %
|
||||
}}
|
||||
@ -3066,7 +3118,7 @@ width0pt\relax} \fi
|
||||
\edef\temp{{\realbackslash subsecentry %
|
||||
{\the\toks0}{\the\chapno}{\the\secno}{\the\subsecno}{\noexpand\folio}}}%
|
||||
\escapechar=`\\%
|
||||
\write \contentsfile \temp %
|
||||
\iflinks \write\contentsfile\temp \fi
|
||||
\donoderef %
|
||||
\penalty 10000 %
|
||||
}}
|
||||
@ -3081,7 +3133,7 @@ width0pt\relax} \fi
|
||||
\edef\temp{{\realbackslash subsecentry %
|
||||
{\the\toks0}{\appendixletter}{\the\secno}{\the\subsecno}{\noexpand\folio}}}%
|
||||
\escapechar=`\\%
|
||||
\write \contentsfile \temp %
|
||||
\iflinks \write\contentsfile\temp \fi
|
||||
\appendixnoderef %
|
||||
\penalty 10000 %
|
||||
}}
|
||||
@ -3094,7 +3146,7 @@ width0pt\relax} \fi
|
||||
\toks0 = {#1}%
|
||||
\edef\temp{{\realbackslash unnumbsubsecentry{\the\toks0}{\noexpand\folio}}}%
|
||||
\escapechar=`\\%
|
||||
\write \contentsfile \temp %
|
||||
\iflinks \write\contentsfile\temp \fi
|
||||
\unnumbnoderef %
|
||||
\penalty 10000 %
|
||||
}}
|
||||
@ -3111,7 +3163,7 @@ width0pt\relax} \fi
|
||||
{\the\chapno}{\the\secno}{\the\subsecno}{\the\subsubsecno}
|
||||
{\noexpand\folio}}}%
|
||||
\escapechar=`\\%
|
||||
\write \contentsfile \temp %
|
||||
\iflinks \write\contentsfile\temp \fi
|
||||
\donoderef %
|
||||
\penalty 10000 %
|
||||
}}
|
||||
@ -3128,7 +3180,7 @@ width0pt\relax} \fi
|
||||
{\appendixletter}
|
||||
{\the\secno}{\the\subsecno}{\the\subsubsecno}{\noexpand\folio}}}%
|
||||
\escapechar=`\\%
|
||||
\write \contentsfile \temp %
|
||||
\iflinks \write\contentsfile\temp \fi
|
||||
\appendixnoderef %
|
||||
\penalty 10000 %
|
||||
}}
|
||||
@ -3141,7 +3193,7 @@ width0pt\relax} \fi
|
||||
\toks0 = {#1}%
|
||||
\edef\temp{{\realbackslash unnumbsubsubsecentry{\the\toks0}{\noexpand\folio}}}%
|
||||
\escapechar=`\\%
|
||||
\write \contentsfile \temp %
|
||||
\iflinks \write\contentsfile\temp \fi
|
||||
\unnumbnoderef %
|
||||
\penalty 10000 %
|
||||
}}
|
||||
@ -3924,7 +3976,12 @@ width0pt\relax} \fi
|
||||
\catcode 61=\active % 61 is `='
|
||||
\obeylines\activeparens\spacesplit#3}
|
||||
|
||||
\def\defmethparsebody #1#2#3#4 {\begingroup\inENV %
|
||||
% #1 is the \E... control sequence to end the definition (which we define).
|
||||
% #2 is the \...x control sequence for consecutive fns (which we define).
|
||||
% #3 is the control sequence to call to resume processing.
|
||||
% #4, delimited by the space, is the class name.
|
||||
%
|
||||
\def\defmethparsebody#1#2#3#4 {\begingroup\inENV %
|
||||
\medbreak %
|
||||
% Define the end token that this defining construct specifies
|
||||
% so that it will exit this group.
|
||||
@ -3935,6 +3992,24 @@ width0pt\relax} \fi
|
||||
\exdentamount=\defbodyindent
|
||||
\begingroup\obeylines\activeparens\spacesplit{#3{#4}}}
|
||||
|
||||
% @deftypemethod has an extra argument that nothing else does. Sigh.
|
||||
% #1 is the \E... control sequence to end the definition (which we define).
|
||||
% #2 is the \...x control sequence for consecutive fns (which we define).
|
||||
% #3 is the control sequence to call to resume processing.
|
||||
% #4, delimited by the space, is the class name.
|
||||
% #5 is the method's return type.
|
||||
%
|
||||
\def\deftypemethparsebody#1#2#3#4 #5 {\begingroup\inENV %
|
||||
\medbreak %
|
||||
% Define the end token that this defining construct specifies
|
||||
% so that it will exit this group.
|
||||
\def#1{\endgraf\endgroup\medbreak}%
|
||||
\def#2##1 ##2 {\begingroup\obeylines\activeparens\spacesplit{#3{##1}{##2}}}%
|
||||
\parindent=0in
|
||||
\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindent
|
||||
\exdentamount=\defbodyindent
|
||||
\begingroup\obeylines\activeparens\spacesplit{#3{#4}{#5}}}
|
||||
|
||||
\def\defopparsebody #1#2#3#4#5 {\begingroup\inENV %
|
||||
\medbreak %
|
||||
% Define the end token that this defining construct specifies
|
||||
@ -4152,39 +4227,46 @@ width0pt\relax} \fi
|
||||
\def\defspecx #1 {\errmessage{@defspecx in invalid context}}
|
||||
\def\deftypefnx #1 {\errmessage{@deftypefnx in invalid context}}
|
||||
\def\deftypemethodx #1 {\errmessage{@deftypemethodx in invalid context}}
|
||||
\def\deftypeunx #1 {\errmessage{@deftypeunx in invalid context}}
|
||||
\def\deftypefunx #1 {\errmessage{@deftypeunx in invalid context}}
|
||||
|
||||
% @defmethod, and so on
|
||||
|
||||
% @defop {Funny Method} foo-class frobnicate argument
|
||||
% @defop CATEGORY CLASS OPERATION ARG...
|
||||
|
||||
\def\defop #1 {\def\defoptype{#1}%
|
||||
\defopparsebody\Edefop\defopx\defopheader\defoptype}
|
||||
|
||||
\def\defopheader #1#2#3{%
|
||||
\dosubind {fn}{\code{#2}}{on #1}% Make entry in function index
|
||||
\dosubind {fn}{\code{#2}}{\putwordon\ #1}% Make entry in function index
|
||||
\begingroup\defname {#2}{\defoptype{} on #1}%
|
||||
\defunargs {#3}\endgroup %
|
||||
}
|
||||
|
||||
% @deftypemethod foo-class return-type foo-method args
|
||||
% @deftypemethod CLASS RETURN-TYPE METHOD ARG...
|
||||
%
|
||||
\def\deftypemethod{%
|
||||
\defmethparsebody\Edeftypemethod\deftypemethodx\deftypemethodheader}
|
||||
\deftypemethparsebody\Edeftypemethod\deftypemethodx\deftypemethodheader}
|
||||
%
|
||||
% #1 is the class name, #2 the data type, #3 the method name, #4 the args.
|
||||
\def\deftypemethodheader#1#2#3#4{%
|
||||
\deftypefnheaderx{Method on #1}{#2}#3 #4\relax
|
||||
\dosubind{fn}{\code{#3}}{\putwordon\ \code{#1}}% entry in function index
|
||||
\begingroup
|
||||
\defname{\defheaderxcond#2\relax$$$#3}{\putwordMethodon\ \code{#1}}%
|
||||
\deftypefunargs{#4}%
|
||||
\endgroup
|
||||
}
|
||||
|
||||
% @defmethod == @defop Method
|
||||
|
||||
%
|
||||
\def\defmethod{\defmethparsebody\Edefmethod\defmethodx\defmethodheader}
|
||||
|
||||
\def\defmethodheader #1#2#3{%
|
||||
\dosubind {fn}{\code{#2}}{on #1}% entry in function index
|
||||
\begingroup\defname {#2}{Method on #1}%
|
||||
\defunargs {#3}\endgroup %
|
||||
%
|
||||
% #1 is the class name, #2 the method name, #3 the args.
|
||||
\def\defmethodheader#1#2#3{%
|
||||
\dosubind{fn}{\code{#2}}{\putwordon\ \code{#1}}% entry in function index
|
||||
\begingroup
|
||||
\defname{#2}{\putwordMethodon\ \code{#1}}%
|
||||
\defunargs{#3}%
|
||||
\endgroup
|
||||
}
|
||||
|
||||
% @defcv {Class Option} foo-class foo-flag
|
||||
@ -4301,7 +4383,205 @@ width0pt\relax} \fi
|
||||
\def\deftpx #1 {\errmessage{@deftpx in invalid context}}
|
||||
|
||||
|
||||
\message{cross reference,}
|
||||
\message{macros,}
|
||||
% @macro.
|
||||
% The basic scheme is as follows:
|
||||
% We read the first line and split it up into macro name and parameter
|
||||
% list. We then walk the parameter list defining control sequences
|
||||
% named \MAC@<macro name><parameter name>. Each expands to another
|
||||
% control sequence named \MAC@<macro name>.<parameter number>. Those
|
||||
% control sequences will be defined at macro runtime to be the
|
||||
% parameter expansion text.
|
||||
%
|
||||
% The body is then read in as a single argument in a context where \
|
||||
% is an active character, and the cs \MACb.<macro name> is defined as
|
||||
% the macro body. The active character \ takes one argument delimited
|
||||
% by another \, and uses it to index the table of macro arguments
|
||||
% described above.
|
||||
%
|
||||
% Finally, we define a control sequence \<macro name> which calls one
|
||||
% of the six (!) macro execution commands. These six commands
|
||||
% correspond to recursive and nonrecursive macros with no, one, and
|
||||
% many arguments. They all take one argument, <macro name>, set up
|
||||
% the environment appropriately, and call the real macro.
|
||||
%
|
||||
% \macsave@<macro name> holds the old definition of \<macro name>.
|
||||
|
||||
\newcount\paramno
|
||||
\newtoks\macname
|
||||
|
||||
% This does \let #1 = #2, except with \csnames.
|
||||
\def\cslet#1#2{%
|
||||
\expandafter\expandafter\expandafter
|
||||
\let
|
||||
\expandafter\expandafter
|
||||
\csname#1\endcsname
|
||||
\csname#2\endcsname}
|
||||
|
||||
% We have to play lots of games with the catcodes. Initially { and }
|
||||
% are made `other' so that \splitarg (below) can use them as argument
|
||||
% delimiters. Then - is made a letter so that \iimacro can recognize
|
||||
% @allow-recursion.
|
||||
\def\macro{\bgroup\catcode`\{=\other\catcode`\}=\other\parsearg\imacro}
|
||||
\def\imacro#1{\egroup % started in \macro
|
||||
\splitarg{#1}% now \macname is the macname and \toks0 the arglist
|
||||
\paramno=0%
|
||||
\edef\tmp{\the\toks0}%
|
||||
\ifx\tmp\empty % no arguments
|
||||
\else
|
||||
\expandafter\parsemargdef \the\toks0;%
|
||||
\fi
|
||||
\bgroup\catcode`\-=11\global\futurelet\nxt\iimacro}
|
||||
|
||||
% \imacro has noted whether the macro takes one, two, or many
|
||||
% arguments (in \paramno). \iimacro figures out whether it's
|
||||
% recursive, and then uses the argument count and the recursivity to
|
||||
% select one of the six macro execution sequences. Then we save the
|
||||
% original definition of @foo in \macsave@foo, and define @foo to call
|
||||
% the selected execution sequence. \edef conveniently just expands
|
||||
% the token registers, not the deep structure.
|
||||
\def\iimacro{%
|
||||
\egroup % started in \imacro
|
||||
\ifx\nxt\allowrecur
|
||||
\let\next\parserbody
|
||||
\toks0=\expandafter{\csname dormacro\ifcase\paramno na\or oa\fi\endcsname}%
|
||||
\else
|
||||
\let\next\parsebody
|
||||
\toks0=\expandafter{\csname domacro\ifcase\paramno na\or oa\fi\endcsname}%
|
||||
\fi
|
||||
\expandafter\ifx \csname macsave@\the\macname\endcsname \relax
|
||||
\cslet{macsave@\the\macname}{\the\macname}%
|
||||
\else
|
||||
\errmessage{warning: redefining macro \the\macname}%
|
||||
\fi
|
||||
\expandafter\edef\csname\the\macname\endcsname{\the\toks0{\the\macname}}%
|
||||
\next}
|
||||
|
||||
% @allow-recursion is noticed and handled by \iimacro. It should
|
||||
% never actually be executed. It has two names so we don't need
|
||||
% strange catcodes while defining \iimacro.
|
||||
\def\allowrecur{\errmessage{Internal error: \noexpand\allowrecur executed}}
|
||||
{\catcode`\-=11\global\let\allow-recursion\allowrecur}
|
||||
|
||||
% unmacro just restores the old meaning; the MAC@<macname> macros
|
||||
% remain defined. (Memory leak!) \norecurse is defined below, near
|
||||
% the execution commands.
|
||||
\def\unmacro{\parsearg\iunmacro}
|
||||
\def\iunmacro#1{\macname={#1} \norecurse}
|
||||
|
||||
% We need {} to be ordinary inside these commands. [] are temporary
|
||||
% grouping symbols.
|
||||
\begingroup
|
||||
\catcode`\{=\other \catcode`\}=\other
|
||||
\catcode`\[=1 \catcode`\]=2
|
||||
|
||||
% @macro can be called with or without a brace-surrounded macro
|
||||
% argument list. These three sequences extract the macro name and arg
|
||||
% list in hopefully all cases. *Note, anything on the line after the
|
||||
% first pair of braces will be thrown out.
|
||||
\gdef\splitarg#1[\isplitarg|#1 {}|]
|
||||
\gdef\isplitarg|#1 {#2}#3|[%
|
||||
\toks0=[#2]%
|
||||
\edef\tmp[\the\toks0]%
|
||||
\ifx\tmp\empty
|
||||
\isplitargnospaces|#1{}|%
|
||||
\else
|
||||
\macname=[#1]%
|
||||
\fi]
|
||||
\gdef\isplitargnospaces|#1{#2}#3|[\macname=[#1] \toks0=[#2]]
|
||||
|
||||
% \parsebrace gets around the situation produced by \braceorline
|
||||
% (below) where the { has the wrong catcode because of \futurelet.
|
||||
% The \egroup matches a \bgroup in \braceorline.
|
||||
\gdef\parsebrace#1{#2}[\egroup\let\next=#1\next[#2]]
|
||||
|
||||
\global\let\brace={ % used by \braceorline, below
|
||||
|
||||
\endgroup
|
||||
|
||||
|
||||
% Argument parsing.
|
||||
% These routines iterate over a comma-separated list defining
|
||||
% tokens that map macro formal to actual parameters.
|
||||
% \parsemargdef sets the formal -> positional correspondence at macro
|
||||
% definition time; \parsemarg sets positional -> actual at runtime.
|
||||
%
|
||||
% The definitions are not symmetric because the callers have the
|
||||
% argument list in different places (token register and #arg)
|
||||
\def\parsemargdef#1;{\paramno=0\iparsemargdef#1,;,}
|
||||
\def\iparsemargdef#1,{%
|
||||
\if#1;\let\next=\relax
|
||||
\else \let\next=\iparsemargdef
|
||||
\advance\paramno by 1%
|
||||
\expandafter\edef\csname MAC@\the\macname#1\endcsname
|
||||
{\csname MAC@\the\macname.\the\paramno\endcsname}%
|
||||
\fi\next}
|
||||
|
||||
\def\parsemarg#1{\paramno=1\iparsemarg#1,;,}
|
||||
\def\iparsemarg#1,{%
|
||||
\if#1;\let\next=\relax
|
||||
\else \let\next=\iparsemarg
|
||||
\expandafter\def\csname MAC@\the\macname.\the\paramno\endcsname{#1}%
|
||||
\advance\paramno by 1%
|
||||
\fi\next}
|
||||
|
||||
% Argument substitution.
|
||||
% \ is active when the body is read and tokenized; it converts its
|
||||
% argument to a macro-argument name and expands it. We use | as a
|
||||
% temporary escape character.
|
||||
{
|
||||
\catcode`\|=0 |catcode`|\=|active
|
||||
|gdef\#1\{|csname MAC@|the|macname#1|endcsname}
|
||||
}
|
||||
|
||||
% These sequences read and save the macro body. \parserbody absorbs
|
||||
% the @allow-recursion in its argument, and then falls through to
|
||||
% \parsebody.
|
||||
\def\parsebody{\begingroup\catcode`\\=\active\iparsebody}
|
||||
\def\parserbody#1{\parsebody}
|
||||
|
||||
% \iparsebody reads the entire macro in as an argument. \ was made
|
||||
% active by \parsebody while the reading occurs.
|
||||
\long\def\iparsebody#1 \end macro% The space eats the final CR.
|
||||
{\endgroup % started in \parsebody
|
||||
\expandafter\def\csname MACb.\the\macname \endcsname{#1}}
|
||||
|
||||
% These six sequences execute recursive and nonrecursive macros of no,
|
||||
% one, and many arguments. We need to distinguish one arg from many
|
||||
% args because a one-argument macro invoked with no arguments gets the
|
||||
% rest of the line as its argument.
|
||||
%
|
||||
% Please note that all macros are executed inside a group, so any
|
||||
% changes made by a macro (@set, etc.) won't stick.
|
||||
\def\dormacrona#1{\begingroup\macname={#1}\idomacro{}}
|
||||
\def\dormacrooa#1{\begingroup\macname={#1}\braceorline}
|
||||
\def\dormacro#1{\begingroup\macname={#1}\idomacro}
|
||||
|
||||
\def\domacrona#1{\begingroup\macname={#1}\norecurse\idomacro{}}
|
||||
\def\domacrooa#1{\begingroup\macname={#1}\norecurse\braceorline}
|
||||
\def\domacro#1{\begingroup\macname={#1}\norecurse\idomacro}
|
||||
|
||||
% some helpers:
|
||||
\def\norecurse{\cslet{\the\macname}{macsave@\the\macname}}
|
||||
\def\idomacro#1{\parsemarg{#1}\csname MACb.\the\macname\endcsname\endgroup}
|
||||
|
||||
% \braceorline decides whether the next nonwhitespace character is a
|
||||
% {. If so it reads up to the closing }, if not, it reads the whole
|
||||
% line. Whatever was read is then fed to \idomacro. \parsebrace is
|
||||
% defined above, near \splitarg, in a strange catcode environment;
|
||||
% this is necessary because \futurelet freezes the catcode of the
|
||||
% peeked-at character.
|
||||
\def\braceorline{\bgroup
|
||||
\catcode`\{=\other\catcode`\}=\other \futurelet\nxt\ibraceorline}
|
||||
\def\ibraceorline{%
|
||||
\ifx\nxt\brace
|
||||
\expandafter\parsebrace
|
||||
\else
|
||||
\egroup \expandafter\parsearg
|
||||
\fi \idomacro}
|
||||
|
||||
|
||||
\message{cross references,}
|
||||
\newwrite\auxfile
|
||||
|
||||
\newif\ifhavexrefs % True if xref values are known.
|
||||
@ -4394,7 +4674,9 @@ width0pt\relax} \fi
|
||||
{\let\folio=0
|
||||
\normalturnoffactive
|
||||
\edef\next{\write\auxfile{\internalsetq{#1}{#2}}}%
|
||||
\next
|
||||
\iflinks
|
||||
\next
|
||||
\fi
|
||||
}%
|
||||
}
|
||||
|
||||
@ -4448,12 +4730,14 @@ width0pt\relax} \fi
|
||||
\expandafter\ifx\csname X#1\endcsname\relax
|
||||
% If not defined, say something at least.
|
||||
\angleleft un\-de\-fined\angleright
|
||||
\ifhavexrefs
|
||||
\message{\linenumber Undefined cross reference `#1'.}%
|
||||
\else
|
||||
\ifwarnedxrefs\else
|
||||
\global\warnedxrefstrue
|
||||
\message{Cross reference values unknown; you must run TeX again.}%
|
||||
\iflinks
|
||||
\ifhavexrefs
|
||||
\message{\linenumber Undefined cross reference `#1'.}%
|
||||
\else
|
||||
\ifwarnedxrefs\else
|
||||
\global\warnedxrefstrue
|
||||
\message{Cross reference values unknown; you must run TeX again.}%
|
||||
\fi
|
||||
\fi
|
||||
\fi
|
||||
\else
|
||||
@ -4696,7 +4980,9 @@ width0pt\relax} \fi
|
||||
\openin 1 = epsf.tex
|
||||
\ifeof 1 \else
|
||||
\closein 1
|
||||
\def\epsfannounce{\toks0 = }% do not bother showing banner
|
||||
% Do not bother showing banner with post-v2.7 epsf.tex (available in
|
||||
% doc/epsf.tex until it shows up on ctan).
|
||||
\def\epsfannounce{\toks0 = }%
|
||||
\input epsf.tex
|
||||
\fi
|
||||
%
|
||||
@ -4726,7 +5012,12 @@ width0pt\relax} \fi
|
||||
% \epsfbox itself resets \epsf?size at each figure.
|
||||
\setbox0 = \hbox{\ignorespaces #2}\ifdim\wd0 > 0pt \epsfxsize=#2\relax \fi
|
||||
\setbox0 = \hbox{\ignorespaces #3}\ifdim\wd0 > 0pt \epsfysize=#3\relax \fi
|
||||
\epsfbox{#1.eps}%
|
||||
% If the image is by itself, center it.
|
||||
\ifvmode
|
||||
\centerline{\epsfbox{#1.eps}}%
|
||||
\else
|
||||
\epsfbox{#1.eps}%
|
||||
\fi
|
||||
}
|
||||
|
||||
% End of control word definitions.
|
||||
|
@ -1,4 +1,4 @@
|
||||
# @(#)africa 7.23
|
||||
# @(#)africa 7.24
|
||||
|
||||
# This data is by no means authoritative; if you think you know better,
|
||||
# go ahead and edit the file (and please send any changes to
|
||||
@ -105,9 +105,6 @@ Zone Africa/Luanda 0:52:56 - LMT 1892
|
||||
0:52:04 - LMT 1911 May 26 # Luanda Mean Time?
|
||||
1:00 - WAT
|
||||
|
||||
# Bassas da India
|
||||
# uninhabited
|
||||
|
||||
# Benin
|
||||
# Whitman says they switched to 1:00 in 1946, not 1934; go with Shanks.
|
||||
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
|
||||
@ -240,9 +237,6 @@ Zone Africa/Addis_Ababa 2:34:48 - LMT 1870
|
||||
2:35:20 - ADMT 1936 May 5 # Adis Dera MT
|
||||
3:00 - EAT
|
||||
|
||||
# Europa Island
|
||||
# uninhabited
|
||||
|
||||
# Gabon
|
||||
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
|
||||
Zone Africa/Libreville 0:37:48 - LMT 1912
|
||||
@ -264,9 +258,6 @@ Rule Ghana 1936 1942 - Dec 31 0:00 0 GMT
|
||||
Zone Africa/Accra -0:00:52 - LMT 1918
|
||||
0:00 Ghana %s
|
||||
|
||||
# Glorioso Is
|
||||
# uninhabited
|
||||
|
||||
# Guinea
|
||||
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
|
||||
Zone Africa/Conakry -0:54:52 - LMT 1912
|
||||
@ -280,9 +271,6 @@ Zone Africa/Bissau -1:02:20 - LMT 1911 May 26
|
||||
-1:00 - WAT 1975
|
||||
0:00 - GMT
|
||||
|
||||
# Juan de Nova
|
||||
# uninhabited
|
||||
|
||||
# Kenya
|
||||
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
|
||||
Zone Africa/Nairobi 2:27:16 - LMT 1928 Jul
|
||||
@ -450,6 +438,19 @@ Zone Africa/Lagos 0:13:36 - LMT 1919 Sep
|
||||
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
|
||||
Zone Indian/Reunion 3:41:52 - LMT 1911 Jun # Saint-Denis
|
||||
4:00 - RET # Reunion Time
|
||||
#
|
||||
# Scattered Islands (Iles Eparses) administered from Reunion are as follows.
|
||||
# The following information about them is taken from
|
||||
# <a href="http://www.outre-mer.gouv.fr/domtom/ile.htm">
|
||||
# Iles Eparses
|
||||
# </a>
|
||||
# (1997-07-22, in French). We have no info about their time zone histories.
|
||||
#
|
||||
# Bassas da India - uninhabited
|
||||
# Europa Island - inhabited from 1905 to 1910 by two families
|
||||
# Glorioso Is - inhabited until at least 1958
|
||||
# Juan de Nova - uninhabited
|
||||
# Tromelin - inhabited until at least 1958
|
||||
|
||||
# Rwanda
|
||||
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
|
||||
@ -553,9 +554,6 @@ Zone Africa/Dar_es_Salaam 2:37:08 - LMT 1931
|
||||
Zone Africa/Lome 0:04:52 - LMT 1893
|
||||
0:00 - GMT
|
||||
|
||||
# Tromelin
|
||||
# uninhabited
|
||||
|
||||
# Tunisia
|
||||
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
|
||||
Rule Tunisia 1939 only - Apr 15 23:00s 1:00 S
|
||||
|
@ -1,4 +1,4 @@
|
||||
# @(#)antarctica 7.13
|
||||
# @(#)antarctica 7.14
|
||||
|
||||
# From Paul Eggert (1997-03-28):
|
||||
# To keep things manageable, we list only locations occupied year-round;
|
||||
@ -41,18 +41,24 @@ Rule ChileAQ 1970 max - Mar Sun>=9 0:00 0 -
|
||||
#
|
||||
# year-round bases
|
||||
# Casey, Bailey Peninsula, since 1969
|
||||
# Davis, Vestfold Hills, since 1957-01-13 (except 1965-01 - 1969-02)
|
||||
# Davis, Vestfold Hills, since 1957-01-13 (except 1964-11 - 1969-02)
|
||||
# Mawson, Holme Bay, since 1954-02-13
|
||||
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
|
||||
Zone Antarctica/Casey 0 - ___ 1969
|
||||
8:00 - WST # Western (Aus) Standard Time
|
||||
#Zone Antartica/Davis unknown
|
||||
Zone Antarctica/Davis 0 - ___ 1957 Jan 13
|
||||
7:00 - DAVT 1964 Nov # Davis Time
|
||||
0 - ___ 1969 Feb
|
||||
7:00 - DAVT
|
||||
Zone Antarctica/Mawson 0 - ___ 1954 Feb 13
|
||||
6:00 - MAWT # Mawson Time
|
||||
# References:
|
||||
# <a href="http://www.antdiv.gov.au/aad/exop/sfo/casey/casey_aws.html">
|
||||
# Casey Weather (1998-02-26)
|
||||
# </a>
|
||||
# <a href="http://www.antdiv.gov.au/aad/exop/sfo/davis/video.html">
|
||||
# Davis Station, Antarctica (1998-02-26)
|
||||
# </a>
|
||||
# <a href="http://www.antdiv.gov.au/aad/exop/sfo/mawson/video.html">
|
||||
# Mawson Station, Antarctica (1998-02-25)
|
||||
# </a>
|
||||
|
@ -1,4 +1,4 @@
|
||||
# @(#)asia 7.38
|
||||
# @(#)asia 7.39
|
||||
|
||||
# This data is by no means authoritative; if you think you know better,
|
||||
# go ahead and edit the file (and please send any changes to
|
||||
@ -881,6 +881,14 @@ Zone Asia/Karachi 4:28:12 - LMT 1907
|
||||
# to Palestine's rules. If you have more info about this, please
|
||||
# send it to tz@elsie.nci.nih.gov for incorporation into future editions.
|
||||
|
||||
# From IINS News Service - Israel - 1998-03-23 10:38:07 Israel time,
|
||||
# forwarded by Ephraim Silverberg:
|
||||
#
|
||||
# Despite the fact that Israel changed over to daylight savings time
|
||||
# last week, the PLO Authority (PA) has decided not to turn its clocks
|
||||
# one-hour forward at this time. As a sign of independence from Israeli rule,
|
||||
# the PA has decided to implement DST in April.
|
||||
|
||||
# These rules for Egypt are stolen from the `africa' file.
|
||||
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
|
||||
Rule EgyptAsia 1957 only - May 10 0:00 1:00 S
|
||||
|
@ -1,4 +1,4 @@
|
||||
# @(#)australasia 7.41
|
||||
# @(#)australasia 7.43
|
||||
# This file also includes Pacific islands.
|
||||
|
||||
# Notes are at the end of this file
|
||||
@ -158,9 +158,6 @@ Zone Australia/Lord_Howe 10:36:20 - LMT 1895 Feb
|
||||
10:30 LH LHST
|
||||
|
||||
# Australian miscellany
|
||||
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
|
||||
Zone Indian/Christmas 7:02:52 - LMT 1895 Feb
|
||||
7:00 - CXT # Christmas Island Time
|
||||
#
|
||||
# Ashmore Is, Cartier
|
||||
# no indigenous inhabitants; only seasonal caretakers
|
||||
@ -178,6 +175,10 @@ Zone Indian/Christmas 7:02:52 - LMT 1895 Feb
|
||||
# Manihiki, Penrhyn, Rakehanga
|
||||
# no information
|
||||
|
||||
# Christmas
|
||||
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
|
||||
Zone Indian/Christmas 7:02:52 - LMT 1895 Feb
|
||||
7:00 - CXT # Christmas Island Time
|
||||
|
||||
# Cook Is
|
||||
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
|
||||
@ -207,6 +208,8 @@ Zone Pacific/Marquesas -9:18:00 - LMT 1912 Oct
|
||||
-9:30 - MART # Marquesas Time
|
||||
Zone Pacific/Tahiti -9:58:16 - LMT 1912 Oct # Papeete
|
||||
-10:00 - TAHT # Tahiti Time
|
||||
# Clipperton (near North America) is administered from French Polynesia;
|
||||
# it is uninhabited.
|
||||
|
||||
# Guam
|
||||
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
|
||||
@ -402,6 +405,12 @@ Zone Pacific/Johnston -10:00 - HST
|
||||
# Kingman
|
||||
# uninhabited
|
||||
|
||||
# Midway
|
||||
Zone Pacific/Midway -11:49:28 - LMT 1901
|
||||
-11:00 - NST 1967 Apr # N=Nome
|
||||
-11:00 - BST 1983 Nov 30 # B=Bering
|
||||
-11:00 - SST # S=Samoa
|
||||
|
||||
# Palmyra
|
||||
# uninhabited since World War II; was probably like Pacific/Kiritimati
|
||||
|
||||
|
127
timezone/europe
127
timezone/europe
@ -1,4 +1,4 @@
|
||||
# %W%
|
||||
# @(#)europe 7.54
|
||||
|
||||
# This data is by no means authoritative; if you think you know better,
|
||||
# go ahead and edit the file (and please send any changes to
|
||||
@ -147,7 +147,7 @@
|
||||
# time of sunrise and sunset in The Times, when BDST was in effect, and
|
||||
# if you find a zone reference it will say, "All times B.D.S.T."
|
||||
|
||||
# From Peter Ilieve <peter@aldie.co.uk> (1998-01-12):
|
||||
# From Peter Ilieve <peter@aldie.co.uk> (1998-04-19):
|
||||
# The following list attempts to show the complete history of Summer Time
|
||||
# legislation in the United Kingdom, and has quite a bit to say about
|
||||
# the Isle of Man and the Channel Islands as well.
|
||||
@ -200,7 +200,7 @@
|
||||
# seen it I don't know if it used Greenwich mean time, some other definition,
|
||||
# or just said that Isle of Man time would be the same as in Great Britain.
|
||||
#
|
||||
# - The Isle of Man (War Legislation) Act, 1914 (4 & 5 Geo. 5. c. 62) (???)
|
||||
# - The Isle of Man (War Legislation) Act, 1914 (4 & 5 Geo. 5. c. 62)
|
||||
#
|
||||
# Gives the power, by Order in Council, to extend wartime legislation
|
||||
# to the Isle of Man.
|
||||
@ -258,6 +258,14 @@
|
||||
#
|
||||
# The matching Isle of Man Order for 1918 with the same dates and times.
|
||||
#
|
||||
# - The Termination of the Present War (Definition) Act, 1918
|
||||
# (8 & 9 Geo. 5. c. 59)
|
||||
#
|
||||
# This gave power to specify a legal end date for the war just ended,
|
||||
# which would affect things like the Summer Time Act, 1916, which applied
|
||||
# only in wartime. This date was to be close to the date of formal
|
||||
# ratification of the treaty or treaties of peace.
|
||||
#
|
||||
# - S.R.&O. 1919, No. 297
|
||||
#
|
||||
# An Order made under the Summer Time Act, 1916 giving dates
|
||||
@ -285,12 +293,12 @@
|
||||
# Monday 25 October (the time remaining 02:00 GMT). The 1989 Green
|
||||
# Paper (Cm 722) says this was done because of a coal strike.
|
||||
#
|
||||
# - The War Emergency Laws (Continuance) Act, 1920 (10 & 11 Geo. 5. c. 5) (???)
|
||||
# - The War Emergency Laws (Continuance) Act, 1920 (10 Geo. 5. c. 5)
|
||||
#
|
||||
# This extends the power to make Orders under the Summer Time Act, 1916
|
||||
# for a period of 12 months after the termination of the war.
|
||||
# I haven't seen this one so I don't know when it came into force, or
|
||||
# when the law deemed the termination of the war to have been.
|
||||
# Came into force on 31 March 1920. Although the war had been over for more
|
||||
# than 12 months by then the legal end date had not yet been set.
|
||||
#
|
||||
# - S.R.&O. 1921, No. 363
|
||||
#
|
||||
@ -302,11 +310,16 @@
|
||||
#
|
||||
# The matching Isle of Man Order for 1921 with the same dates and times.
|
||||
#
|
||||
# - S.R.&O. 1922, No. 264 (???)
|
||||
# - S.R.&O. 1922, No. 264
|
||||
#
|
||||
# This probably defines Summer Time for 1922 as the Summer Time Act, 1922
|
||||
# was passed after the start date. Dates from Cm 722:
|
||||
# 1922: 26 March to 8 October
|
||||
# An Order made under the Summer Time Act, 1916 and the War
|
||||
# Emergency Laws (Continuance) Act, 1920 giving dates for Summer Time
|
||||
# in 1921 of Sunday 26 March to Sunday 8 October, both at 02:00 GMT.
|
||||
# It also mentions the arrangements for defining the legal end date
|
||||
# for the late war. An Order was made on 10 August 1921, under the
|
||||
# Termination of the Present War (Definition) Act, 1918, setting
|
||||
# a date of 31 August 1921. This means the powers of the Summer Time
|
||||
# Act, 1916 would finally expire on 31 August 1922.
|
||||
#
|
||||
# - S.R.&O. 1922, No. 290 (???)
|
||||
#
|
||||
@ -327,7 +340,7 @@
|
||||
# dated 13 October 1922. It revokes (among other things) the Order extending
|
||||
# the Summer Time Act, 1916 to the Isle of Man.
|
||||
#
|
||||
# - The Expiring Laws Continuance Act, 1923 (13 & 14 Geo. 5. c. 37) (jsm)
|
||||
# - The Expiring Laws Continuance Act, 1923 (13 & 14 Geo. 5. c. 37)
|
||||
#
|
||||
# This extended the Summer Time Act, 1922 (among other things) until
|
||||
# 31 December 1924.
|
||||
@ -359,15 +372,16 @@
|
||||
# These were made under the Emergency Powers (Defence) Act, 1939.
|
||||
# They change the end date to be the day after the third Saturday in November.
|
||||
#
|
||||
# - S.R.&O. 1940, No. 1883
|
||||
# - S.R.&O. 1940, No. 172
|
||||
#
|
||||
# An Order in Council amending the Defence (Summer Time) Regulations, 1939.
|
||||
# It changed the start date to the day after the fourth Saturday in February
|
||||
# (ie. 25 Feb 1940).
|
||||
#
|
||||
# - S.R.&O. 1940, No. 1883
|
||||
#
|
||||
# Another Order amending the Defence (Summer Time) Regulations, 1939.
|
||||
# This continues summer time throughout the year after it starts in 1940.
|
||||
# There was another Order (S.R.&O. 1940, No. 172) that I assume had merely
|
||||
# changed the dates, to start on 4 February, and was then superseded by this
|
||||
# one. I haven't seen No. 172 so I don't know what end date it would have
|
||||
# specified. The dates from Cm 722:
|
||||
# 1940: Summer Time starts on 4 February
|
||||
#
|
||||
# - S.R.&O. 1941, No. 476
|
||||
#
|
||||
@ -385,15 +399,20 @@
|
||||
#
|
||||
# - S.R.&O. 1944, No. 932
|
||||
#
|
||||
# This changed the end date of Double Summer Time to 17 September 1944.
|
||||
# (I don't have the text of this, just a note of what it did, the text almost
|
||||
# certainly had the `day after the nth Saturday' form.)
|
||||
# Another Order amending the Defence (Summer Time) Regulations, 1939.
|
||||
# This changed the end date of Double Summer Time to the day after the
|
||||
# third Saturday in September (ie. 17 September 1944).
|
||||
#
|
||||
# - S.R.&O. 1945, No. 312 (???)
|
||||
# - S.R.&O. 1945, No. 312
|
||||
#
|
||||
# Probably defines the dates of Double Summer Time in 1945.
|
||||
# I do have this quote from Hansard (the official record of the United Kingdom
|
||||
# Parliament), Oral Answers, 1 March 1945, cols 1559--60:
|
||||
# Another Order amending the Defence (Summer Time) Regulations, 1939.
|
||||
# This changes the start and end dates of Double Summer Time to the
|
||||
# day after the first Sunday in April and the day after the second Saturday
|
||||
# in July (ie. Mon 2 April to Sun 15 July).
|
||||
#
|
||||
# I have this quote from Hansard (the official record of the United Kingdom
|
||||
# Parliament), Oral Answers, 1 March 1945, cols 1559--60, explaining the
|
||||
# unusual start on a Monday:
|
||||
#
|
||||
# `58. Major Sir Goronwy Owen asked the Secretary of State for the Home
|
||||
# Department if he is now able to state the Government's proposals
|
||||
@ -410,15 +429,13 @@
|
||||
# Sunday, but in the night of Sunday-Monday so that it will operate from
|
||||
# Monday, 2nd April.'
|
||||
#
|
||||
# Cm 722 gives dates of:
|
||||
# 1945: Double Summer time: 2 April to 15 July
|
||||
# 1945: Summer Time ends on 7 October
|
||||
#
|
||||
# - S.R.&O. 1945, No. 1208
|
||||
#
|
||||
# An Order under the Emergency Powers (Defence) Acts, 1939 and 1940 revoking
|
||||
# a long list of things, including the Defence (Summer Time) Regulations, 1939.
|
||||
# This meant that Summer Time reverted to being set by the 1922 and 1925 Acts.
|
||||
# It was made on 28 September, early enough to end Summer Time on the
|
||||
# date defined by the 1925 Act: 7 October.
|
||||
#
|
||||
# - The Summer Time Act, 1947 (10 & 11 Geo. 6. c. 16)
|
||||
#
|
||||
@ -431,21 +448,36 @@
|
||||
# both to vary the dates and to continue Double Summer Time. It applied
|
||||
# to the Isle of Man and the Channel Islands.
|
||||
#
|
||||
# - Summer Time Order, 1948 (S.I. 1948/495) (???)
|
||||
# - Summer Time Order, 1949 (S.I. 1949/373) (???)
|
||||
# - Summer Time Order, 1950 (S.I. 1950/518) (???)
|
||||
# - Summer Time Order, 1951 (S.I. 1951/430) (???)
|
||||
# - Summer Time Order, 1952 (S.I. 1952/451) (???)
|
||||
# - Summer Time Order, 1948 (S.I. 1948/495)
|
||||
#
|
||||
# These presumably give the dates of Summer Time for the relevent years.
|
||||
# There was no Double Summer Time. The dates given in the 1989 Green Paper
|
||||
# for these years are:
|
||||
# 1948: 14 March to 31 October
|
||||
# 1949: 3 April to 30 October
|
||||
# 1950: 16 April to 22 October
|
||||
# 1951: 15 April to 21 October
|
||||
# 1952: 20 April to 26 October
|
||||
# After 1952 things revert back to the 1922 and 1925 Acts.
|
||||
# An Order made under the Summer Time Act, 1947. Gave dates for 1948 of
|
||||
# 14 March and 31 October, both at 02:00 GMT.
|
||||
#
|
||||
# Although the 1947 Act had legislated for Double Summer Time, this was
|
||||
# not continued after 1947.
|
||||
#
|
||||
# - Summer Time Order, 1949 (S.I. 1949/373)
|
||||
#
|
||||
# Another Order made under the Summer Time Act, 1947. Gave dates for 1949
|
||||
# of 3 April and 30 October, both at 02:00 GMT.
|
||||
#
|
||||
# - Summer Time Order, 1950 (S.I. 1950/518)
|
||||
#
|
||||
# Another Order made under the Summer Time Act, 1947. Gave dates for 1950
|
||||
# of 16 April and 22 October, both at 02:00 GMT.
|
||||
#
|
||||
# - Summer Time Order, 1951 (S.I. 1951/430)
|
||||
#
|
||||
# Another Order made under the Summer Time Act, 1947. Gave dates for 1951
|
||||
# of 15 April and 21 October, both at 02:00 GMT.
|
||||
#
|
||||
# - Summer Time Order, 1952 (S.I. 1952/451)
|
||||
#
|
||||
# Another Order made under the Summer Time Act, 1947. Gave dates for 1952
|
||||
# of 20 April and 26 October, both at 02:00 GMT.
|
||||
#
|
||||
# This is the last of this run of Orders, so for 1953 things reverted
|
||||
# to the 1922 and 1925 Acts.
|
||||
#
|
||||
# - The Interpretation Act (Northern Ireland), 1954 (1954 c. 33 (N.I.)) (???)
|
||||
#
|
||||
@ -659,7 +691,9 @@
|
||||
# 2000: 26 March to 29 October
|
||||
# 2001: 25 March to 28 October
|
||||
#
|
||||
# <a href="http://www.hmso.gov.uk/si/si1997/97298201.htm">
|
||||
# - Summer Time Order 1997 (S.I. 1997/2982)
|
||||
# </a>
|
||||
#
|
||||
# Implements the eighth Directive. Has the same text about the Isle of Man,
|
||||
# Guernsey and Jersey as the 1994 Order.
|
||||
@ -757,7 +791,7 @@ Rule GB-Eire 1939 only - Apr Sun>=16 2:00s 1:00 BST
|
||||
# S.R.&O. 1939, No. 1379
|
||||
Rule GB-Eire 1939 only - Nov Sun>=16 2:00s 0 GMT
|
||||
# S.R.&O. 1940, No. 172 and No. 1883
|
||||
Rule GB-Eire 1940 only - Feb 25 2:00s 1:00 BST
|
||||
Rule GB-Eire 1940 only - Feb Sun>=23 2:00s 1:00 BST
|
||||
# S.R.&O. 1941, No. 476
|
||||
Rule GB-Eire 1941 only - May Sun>=2 1:00s 2:00 BDST
|
||||
Rule GB-Eire 1941 1943 - Aug Sun>=9 1:00s 1:00 BST
|
||||
@ -766,9 +800,9 @@ Rule GB-Eire 1942 1944 - Apr Sun>=2 1:00s 2:00 BDST
|
||||
# S.R.&O. 1944, No. 932
|
||||
Rule GB-Eire 1944 only - Sep Sun>=16 1:00s 1:00 BST
|
||||
# S.R.&O. 1945, No. 312
|
||||
Rule GB-Eire 1945 only - Apr 2 1:00s 2:00 BDST
|
||||
Rule GB-Eire 1945 only - Apr Mon>=2 1:00s 2:00 BDST
|
||||
Rule GB-Eire 1945 only - Jul Sun>=9 1:00s 1:00 BST
|
||||
# S.R.&O. 1945, No. 1208
|
||||
Rule GB-Eire 1945 only - Jul 15 1:00s 1:00 BST
|
||||
Rule GB-Eire 1945 1946 - Oct Sun>=2 2:00s 0 GMT
|
||||
Rule GB-Eire 1946 only - Apr Sun>=9 2:00s 1:00 BST
|
||||
# The Summer Time Act, 1947
|
||||
@ -778,9 +812,10 @@ Rule GB-Eire 1947 only - Aug 10 1:00s 1:00 BST
|
||||
Rule GB-Eire 1947 only - Nov 2 2:00s 0 GMT
|
||||
# Summer Time Order, 1948 (S.I. 1948/495)
|
||||
Rule GB-Eire 1948 only - Mar 14 2:00s 1:00 BST
|
||||
Rule GB-Eire 1948 1949 - Oct lastSun 2:00s 0 GMT
|
||||
Rule GB-Eire 1948 only - Oct 31 2:00s 0 GMT
|
||||
# Summer Time Order, 1949 (S.I. 1949/373)
|
||||
Rule GB-Eire 1949 only - Apr 3 2:00s 1:00 BST
|
||||
Rule GB-Eire 1949 only - Oct 30 2:00s 0 GMT
|
||||
# Summer Time Order, 1950 (S.I. 1950/518)
|
||||
# Summer Time Order, 1951 (S.I. 1951/430)
|
||||
# Summer Time Order, 1952 (S.I. 1952/451)
|
||||
|
@ -3,12 +3,16 @@
|
||||
# From Paul Eggert <eggert@twinsun.com> (1996-09-03):
|
||||
#
|
||||
# This file contains a table with the following columns:
|
||||
# 1. ISO 3166 2-character country code.
|
||||
# 1. ISO 3166-1:1997 2-character country code. See:
|
||||
# 2. The usual English name for the country,
|
||||
# chosen so that alphabetic sorting of subsets produces helpful lists.
|
||||
# This is not the same as the English name in the ISO 3166 tables.
|
||||
#
|
||||
# For France in Europe, we follow common practice and use FR,
|
||||
# even though FX might be more technically correct.
|
||||
# The PS code below has been reserved for Palestine by the ISO;
|
||||
# however, the code is not yet officially assigned to Palestine. Please see
|
||||
# <a href="ftp://ftp.informatik.uni-erlangen.de/pub/doc/ISO/ISO-3166-background">
|
||||
# Cord Wischhoefer, Country Code Elements for Palestine (1996-07-24)
|
||||
# </a>.
|
||||
#
|
||||
# Columns are separated by a single tab.
|
||||
# The table is sorted by country code.
|
||||
@ -191,6 +195,7 @@ PL Poland
|
||||
PM St Pierre & Miquelon
|
||||
PN Pitcairn
|
||||
PR Puerto Rico
|
||||
PS Palestine
|
||||
PT Portugal
|
||||
PW Palau
|
||||
PY Paraguay
|
||||
|
@ -1,4 +1,4 @@
|
||||
# @(#)northamerica 7.39
|
||||
# @(#)northamerica 7.40
|
||||
# also includes Central America and the Caribbean
|
||||
|
||||
# This data is by no means authoritative; if you think you know better,
|
||||
@ -262,11 +262,6 @@ Zone Pacific/Honolulu -10:31:26 - LMT 1900 Jan 1 12:00
|
||||
-10:30 US H%sT 1947 Jun 8 2:00
|
||||
-10:00 - HST
|
||||
|
||||
Zone Pacific/Midway -11:49:28 - LMT 1901
|
||||
-11:00 - NST 1967 Apr # N=Nome
|
||||
-11:00 - BST 1983 Nov 30 # B=Bering
|
||||
-11:00 - SST # S=Samoa
|
||||
|
||||
# Now we turn to US areas that have diverged from the consensus since 1970.
|
||||
|
||||
# Arizona mostly uses MST.
|
||||
@ -1102,9 +1097,6 @@ Zone America/Cayman -5:25:32 - LMT 1890 # Georgetown
|
||||
-5:07 - KMT 1912 Feb # Kingston Mean Time
|
||||
-5:00 - EST
|
||||
|
||||
# Clipperton
|
||||
# uninhabited
|
||||
|
||||
# Costa Rica
|
||||
# Shanks gives some very odd dates for 1991, and stops there.
|
||||
# For now, we won't guess further.
|
||||
|
@ -10,21 +10,25 @@
|
||||
# If your host lacks the Korn shell,
|
||||
# you can use either of the following free programs instead:
|
||||
#
|
||||
# <a href=ftp://ftp.gnu.org/pub/gnu/>
|
||||
# Bourne-Again shell (bash)
|
||||
# <URL:ftp://ftp.gnu.ai.mit.edu/pub/gnu/>
|
||||
# </a>
|
||||
#
|
||||
# <a href=ftp://ftp.cs.mun.ca/pub/pdksh/pdksh.tar.gz>
|
||||
# Public domain ksh
|
||||
# <URL:ftp://ftp.cs.mun.ca/pub/pdksh/pdksh.tar.gz>
|
||||
# </a>
|
||||
#
|
||||
# This script also uses several features of modern awk programs.
|
||||
# If your host lacks awk, or has an old awk that does not conform to Posix.2,
|
||||
# you can use either of the following free programs instead:
|
||||
#
|
||||
# <a href=ftp://ftp.gnu.org/pub/gnu/>
|
||||
# GNU awk (gawk)
|
||||
# <URL:ftp://ftp.gnu.ai.mit.edu/pub/gnu/>
|
||||
# </a>
|
||||
#
|
||||
# <a href=ftp://ftp.whidbey.net/pub/brennan/>
|
||||
# mawk
|
||||
# <URL:ftp://ftp.whidbey.net/pub/brennan/>
|
||||
# </a>
|
||||
|
||||
|
||||
# Specify default values for environment variables if they are unset.
|
||||
|
@ -33,6 +33,7 @@ AQ -7750+16636 Antarctica/McMurdo McMurdo Station, Ross Island
|
||||
AQ -9000+00000 Antarctica/South_Pole Amundsen-Scott Station, South Pole
|
||||
AQ -6448-06406 Antarctica/Palmer Palmer Station, Anvers Island
|
||||
AQ -6736+06253 Antarctica/Mawson Mawson Station, Holme Bay
|
||||
AQ -6835+07758 Antarctica/Davis Davis Station, Vestfold Hills
|
||||
AQ -6617+11031 Antarctica/Casey Casey Station, Bailey Peninsula
|
||||
AQ -6640+14001 Antarctica/DumontDUrville Dumont-d'Urville Base, Terre Adelie
|
||||
AR -3436-05827 America/Buenos_Aires E Argentina (BA, DF, SC, TF)
|
||||
@ -178,8 +179,7 @@ ID -0610+10648 Asia/Jakarta Java & Sumatra
|
||||
ID -0507+11924 Asia/Ujung_Pandang Borneo & Celebes
|
||||
ID -0232+14042 Asia/Jayapura Irian Jaya & the Moluccas
|
||||
IE +5320-00615 Europe/Dublin
|
||||
IL +3146+03514 Asia/Jerusalem most locations
|
||||
IL +3130+03428 Asia/Gaza Gaza Strip
|
||||
IL +3146+03514 Asia/Jerusalem
|
||||
IN +2232+08822 Asia/Calcutta
|
||||
IO -0720+07225 Indian/Chagos
|
||||
IQ +3321+04425 Asia/Baghdad
|
||||
@ -255,7 +255,7 @@ NP +2743+08519 Asia/Katmandu
|
||||
NR -0031+16655 Pacific/Nauru
|
||||
NU -1901+16955 Pacific/Niue
|
||||
NZ -3652+17446 Pacific/Auckland most locations
|
||||
NZ -4355+17630 Pacific/Chatham Chatham Island
|
||||
NZ -4355-17630 Pacific/Chatham Chatham Islands
|
||||
OM +2336+05835 Asia/Muscat
|
||||
PA +0858-07932 America/Panama
|
||||
PE -1203-07703 America/Lima
|
||||
@ -269,6 +269,7 @@ PL +5215+02100 Europe/Warsaw
|
||||
PM +4703-05620 America/Miquelon
|
||||
PN -2504-13005 Pacific/Pitcairn
|
||||
PR +182806-0660622 America/Puerto_Rico
|
||||
PS +3130+03428 Asia/Gaza
|
||||
PT +3843-00908 Europe/Lisbon mainland
|
||||
PT +3238-01654 Atlantic/Madeira Madeira Islands
|
||||
PT +3744-02540 Atlantic/Azores Azores
|
||||
|
Loading…
Reference in New Issue
Block a user