[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
texinfo/doc texinfo.tex,1.91,1.92
From: |
Karl Berry <address@hidden> |
Subject: |
texinfo/doc texinfo.tex,1.91,1.92 |
Date: |
Wed, 24 Sep 2003 17:49:34 +0000 |
Update of /cvsroot/texinfo/texinfo/doc
In directory subversions:/tmp/cvs-serv22029
Modified Files:
texinfo.tex
Log Message:
(\dosubind): must propagate penalty after all,
because we insert a non-discardable item (the
whatsit), which makes following glue a
breakpoint. Now I understand (maybe).
(\sectionheading): must end with \nobreak after
all, purely to make \lastpenalty 10000 so future
code can check that and avoid breaks.
(\parsebodycommon): such as this code; don't do a
\medbreak if lastpenalty >=10000.
Index: texinfo.tex
===================================================================
RCS file: /cvsroot/texinfo/texinfo/doc/texinfo.tex,v
retrieving revision 1.91
retrieving revision 1.92
diff -C2 -d -r1.91 -r1.92
*** texinfo.tex 24 Sep 2003 15:20:59 -0000 1.91
--- texinfo.tex 24 Sep 2003 17:49:31 -0000 1.92
***************
*** 4,8 ****
\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
%
! \def\texinfoversion{2003-09-24.08}
%
% Copyright (C) 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995,
--- 4,8 ----
\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
%
! \def\texinfoversion{2003-09-24.10}
%
% Copyright (C) 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995,
***************
*** 3215,3219 ****
--- 3215,3222 ----
\iflinks
\ifvmode
+ % \lastskip and \lastpenalty cannot both be nonzero simultaneously.
\skip0 = \lastskip
+ \count255 = \lastpenalty
+ %
% If \lastskip is nonzero, that means the last item was a
% skip. And since a skip is discardable, that means this
***************
*** 3224,3232 ****
\fi
%
! \temp % do the write
%
! % Since this glue would be preceded by a non-discardable item
! % (the whatsit from the \write), we must insert a \nobreak.
! \ifvmode \ifdim\skip0 = 0pt \else \nobreak\vskip\skip0 \fi \fi
\fi
}%
--- 3227,3252 ----
\fi
%
! \temp % do the write
%
! \ifvmode
! \ifdim\skip0 = 0pt
! % if \lastskip was zero, perhaps the last item was a
! % penalty, and perhaps it was >=10000, e.g., a \nobreak.
! % In that case, we want to re-insert the penalty; since we
! % just inserted a non-discardable item, any following glue
! % (such as a \parskip) would be a breakpoint. For example:
! % @deffn deffn-whatever
! % @vindex index-whatever
! % Description.
! % would allow a break between the index-whatever whatsit
! % and the "Description." paragraph.
! \ifnum\count255>9999 \nobreak \fi
! \else
! % On the other hand, if we had a nonzero \lastskip,
! % this make-up glue would be preceded by a non-discardable item
! % (the whatsit from the \write), we must insert a \nobreak.
! \nobreak\vskip\skip0
! \fi
! \fi
\fi
}%
***************
*** 4117,4120 ****
--- 4137,4148 ----
% discardable item.)
\vskip-\parskip
+ %
+ % This \nobreak is purely so the last item on the list is a \penalty
+ % of 10000. This is so other code, for instance \parsebodycommon, can
+ % check for and avoid allowing breakpoints. Otherwise, it would
+ % insert a valid breakpoint between:
+ % @section sec-whatever
+ % @deffn def-whatever
+ \nobreak
}
***************
*** 5045,5049 ****
% between a section heading and a defun.
\ifnum\lastpenalty=10002 \penalty0 \fi
! \medbreak
%
% Define the \E... end token that this defining construct specifies
--- 5073,5082 ----
% between a section heading and a defun.
\ifnum\lastpenalty=10002 \penalty0 \fi
! %
! % Similarly, after a section heading, do not allow a break.
! % But do insert the glue.
! \ifnum\lastpenalty<10000 \medbreak
! \else \medskip % preceded by discardable penalty, so not a breakpoint
! \fi
%
% Define the \E... end token that this defining construct specifies
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- texinfo/doc texinfo.tex,1.91,1.92,
Karl Berry <address@hidden> <=