texinfo-commits
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]