Merge from gnulib.
This incorporates: 2014-03-26 strftime: wrap macros in "do {...} while(0)" * lib/strftime.c, doc/misc/texinfo.tex: Update from gnulib.
This commit is contained in:
parent
b18d7820f3
commit
cefcfbcc1b
4 changed files with 60 additions and 26 deletions
|
@ -1,3 +1,9 @@
|
|||
2014-03-26 Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
||||
Merge from gnulib, incorporating:
|
||||
2014-03-26 strftime: wrap macros in "do {...} while(0)"
|
||||
* lib/strftime.c: Update from gnulib.
|
||||
|
||||
2014-03-07 Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
||||
Merge from gnulib, incorporating:
|
||||
|
|
|
@ -1,3 +1,7 @@
|
|||
2014-03-26 Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
||||
* texinfo.tex: Update from gnulib.
|
||||
|
||||
2014-03-24 Michael Albinus <michael.albinus@gmx.de>
|
||||
|
||||
* tramp.texi (Frequently Asked Questions): Add fish shell settings.
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
% Load plain if necessary, i.e., if running under initex.
|
||||
\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
|
||||
%
|
||||
\def\texinfoversion{2014-02-16.16}
|
||||
\def\texinfoversion{2014-03-17.07}
|
||||
%
|
||||
% Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995,
|
||||
% 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
|
||||
|
@ -3935,19 +3935,23 @@
|
|||
}
|
||||
|
||||
% multitable-only commands.
|
||||
%
|
||||
% @headitem starts a heading row, which we typeset in bold.
|
||||
% Assignments have to be global since we are inside the implicit group
|
||||
% of an alignment entry. \everycr resets \everytab so we don't have to
|
||||
%
|
||||
% @headitem starts a heading row, which we typeset in bold. Assignments
|
||||
% have to be global since we are inside the implicit group of an
|
||||
% alignment entry. \everycr below resets \everytab so we don't have to
|
||||
% undo it ourselves.
|
||||
\def\headitemfont{\b}% for people to use in the template row; not changeable
|
||||
\def\headitem{%
|
||||
\checkenv\multitable
|
||||
\crcr
|
||||
\gdef\headitemcrhook{\nobreak}% attempt to avoid page break after headings
|
||||
\global\everytab={\bf}% can't use \headitemfont since the parsing differs
|
||||
\the\everytab % for the first item
|
||||
}%
|
||||
%
|
||||
% default for tables with no headings.
|
||||
\let\headitemcrhook=\relax
|
||||
%
|
||||
% A \tab used to include \hskip1sp. But then the space in a template
|
||||
% line is not enough. That is bad. So let's go back to just `&' until
|
||||
% we again encounter the problem the 1sp was intended to solve.
|
||||
|
@ -3978,15 +3982,15 @@
|
|||
%
|
||||
\everycr = {%
|
||||
\noalign{%
|
||||
\global\everytab={}%
|
||||
\global\everytab={}% Reset from possible headitem.
|
||||
\global\colcount=0 % Reset the column counter.
|
||||
% Check for saved footnotes, etc.
|
||||
%
|
||||
% Check for saved footnotes, etc.:
|
||||
\checkinserts
|
||||
% Keeps underfull box messages off when table breaks over pages.
|
||||
%\filbreak
|
||||
% Maybe so, but it also creates really weird page breaks when the
|
||||
% table breaks over pages. Wouldn't \vfil be better? Wait until the
|
||||
% problem manifests itself, so it can be fixed for real --karl.
|
||||
%
|
||||
% Perhaps a \nobreak, then reset:
|
||||
\headitemcrhook
|
||||
\global\let\headitemcrhook=\relax
|
||||
}%
|
||||
}%
|
||||
%
|
||||
|
|
|
@ -681,24 +681,44 @@ strftime_case_ (bool upcase, STREAM_OR_CHAR_T *s,
|
|||
switch (format_char)
|
||||
{
|
||||
#define DO_NUMBER(d, v) \
|
||||
digits = d; \
|
||||
number_value = v; goto do_number
|
||||
do \
|
||||
{ \
|
||||
digits = d; \
|
||||
number_value = v; \
|
||||
goto do_number; \
|
||||
} \
|
||||
while (0)
|
||||
#define DO_SIGNED_NUMBER(d, negative, v) \
|
||||
digits = d; \
|
||||
negative_number = negative; \
|
||||
u_number_value = v; goto do_signed_number
|
||||
do \
|
||||
{ \
|
||||
digits = d; \
|
||||
negative_number = negative; \
|
||||
u_number_value = v; \
|
||||
goto do_signed_number; \
|
||||
} \
|
||||
while (0)
|
||||
|
||||
/* The mask is not what you might think.
|
||||
When the ordinal i'th bit is set, insert a colon
|
||||
before the i'th digit of the time zone representation. */
|
||||
#define DO_TZ_OFFSET(d, negative, mask, v) \
|
||||
digits = d; \
|
||||
negative_number = negative; \
|
||||
tz_colon_mask = mask; \
|
||||
u_number_value = v; goto do_tz_offset
|
||||
do \
|
||||
{ \
|
||||
digits = d; \
|
||||
negative_number = negative; \
|
||||
tz_colon_mask = mask; \
|
||||
u_number_value = v; \
|
||||
goto do_tz_offset; \
|
||||
} \
|
||||
while (0)
|
||||
#define DO_NUMBER_SPACEPAD(d, v) \
|
||||
digits = d; \
|
||||
number_value = v; goto do_number_spacepad
|
||||
do \
|
||||
{ \
|
||||
digits = d; \
|
||||
number_value = v; \
|
||||
goto do_number_spacepad; \
|
||||
} \
|
||||
while (0)
|
||||
|
||||
case L_('%'):
|
||||
if (modifier != 0)
|
||||
|
@ -1265,9 +1285,9 @@ strftime_case_ (bool upcase, STREAM_OR_CHAR_T *s,
|
|||
}
|
||||
if (modifier == L_('O'))
|
||||
goto bad_format;
|
||||
else
|
||||
DO_SIGNED_NUMBER (4, tp->tm_year < -TM_YEAR_BASE,
|
||||
tp->tm_year + (unsigned int) TM_YEAR_BASE);
|
||||
|
||||
DO_SIGNED_NUMBER (4, tp->tm_year < -TM_YEAR_BASE,
|
||||
tp->tm_year + (unsigned int) TM_YEAR_BASE);
|
||||
|
||||
case L_('y'):
|
||||
if (modifier == L_('E'))
|
||||
|
|
Loading…
Add table
Reference in a new issue