texinfo-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

texinfo/doc texinfo.tex,1.89,1.90


From: Karl Berry <address@hidden>
Subject: texinfo/doc texinfo.tex,1.89,1.90
Date: Wed, 24 Sep 2003 00:35:42 +0000

Update of /cvsroot/texinfo/texinfo/doc
In directory subversions:/tmp/cvs-serv21769

Modified Files:
        texinfo.tex 
Log Message:
(\dosubind): remove my misbegotten idea of
propagating the penalty; all that did was increase
the chance of a valid breakpoint.
(\numhead,\apphead,\unnmhead): avoid spurious
blank spaces, for cleanliness.


Index: texinfo.tex
===================================================================
RCS file: /cvsroot/texinfo/texinfo/doc/texinfo.tex,v
retrieving revision 1.89
retrieving revision 1.90
diff -C2 -d -r1.89 -r1.90
*** texinfo.tex 23 Sep 2003 12:54:02 -0000      1.89
--- texinfo.tex 24 Sep 2003 00:35:40 -0000      1.90
***************
*** 4,8 ****
  \expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
  %
! \def\texinfoversion{2003-09-23.05}
  %
  % 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-23.17}
  %
  % Copyright (C) 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995,
***************
*** 3161,3231 ****
    \fi
    {%
!     \count255=\lastpenalty
      {%
!       \indexdummies % Must do this here, since \bf, etc expand at this stage
!       \escapechar=`\\
!       {%
!         \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.
!         %
!         % The main index entry text.
!         \toks0 = {#2}%
!         %
!         % If third arg is present, precede it with space in sort key.
!         \def\thirdarg{#3}%
!         \ifx\thirdarg\emptymacro \else
!            % If the third (subentry) arg is present, add it to the index
!            % line to write.
!           \toks0 = \expandafter{\the\toks0 \space #3}%
          \fi
          %
!         % Process the index entry with all font commands turned off, to
!         % get the string to sort by.
!         {\indexnofonts
!          \edef\temp{\the\toks0}% need full expansion
!          \xdef\indexsorttmp{\temp}%
!         }%
!         %
!         % Set up the complete index entry, with both the sort key and
!         % the original text, including any font commands.  We write
!         % three arguments to \entry to the .?? file (four in the
!         % subentry case), texindex reduces to two when writing the .??s
!         % sorted result.
!         \edef\temp{%
!           \write\csname#1indfile\endcsname{%
!             \realbackslash entry{\indexsorttmp}{\folio}{\the\toks0}}%
!         }%
!         %
!         % 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.
!         %
!         % But don't do any of this if we're not in vertical mode.  We
!         % don't want to do a \vskip and prematurely end a paragraph.
!         %
!         % Avoid page breaks due to these extra skips, too.
          %
!         \iflinks
!           \ifvmode
!             \skip0 = \lastskip
!             \ifdim\lastskip = 0pt \else \nobreak\vskip-\skip0 \fi
!           \fi
!           %
!           \temp % do the write
!           %
!           \ifvmode \ifdim\skip0 = 0pt \else \nobreak\vskip\skip0 \fi \fi
!         \fi
!       }%
      }%
-     \penalty\count255
    }%
  }
--- 3161,3234 ----
    \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.
!       \def\rawbackslashxx{\indexbackslash}% \indexbackslash isn't defined now
!       % so it will be output as is; and it will print as backslash.
!       %
!       % The main index entry text.
!       \toks0 = {#2}%
!       %
!       % If third arg is present, precede it with space in sort key.
!       \def\thirdarg{#3}%
!       \ifx\thirdarg\emptymacro \else
!          % If the third (subentry) arg is present, add it to the index
!          % line to write.
!         \toks0 = \expandafter{\the\toks0 \space #3}%
!       \fi
!       %
!       % Process the index entry with all font commands turned off, to
!       % get the string to sort by.
!       {\indexnofonts
!        \edef\temp{\the\toks0}% need full expansion
!        \xdef\indexsorttmp{\temp}%
!       }%
!       %
!       % Set up the complete index entry, with both the sort key and
!       % the original text, including any font commands.  We write
!       % three arguments to \entry to the .?? file (four in the
!       % subentry case), texindex reduces to two when writing the .??s
!       % sorted result.
!       \edef\temp{%
!         \write\csname#1indfile\endcsname{%
!           \realbackslash entry{\indexsorttmp}{\folio}{\the\toks0}}%
!       }%
!       %
!       % 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.
!       %
!       % But don't do any of this if we're not in vertical mode.  We
!       % don't want to do a \vskip and prematurely end a paragraph.
!       %
!       % Avoid page breaks due to these extra skips, too.
!       %
!       \iflinks
!         \ifvmode
!           \skip0 = \lastskip
!           % If \lastskip is nonzero, that means the last item was a
!           % skip.  And since a skip is discardable, that means this
!           % -\skip0 glue we're inserting is preceded by a
!           % non-discardable item, therefore it is not a potential
!           % breakpoint, therefore no \nobreak needed.
!           \ifdim\lastskip = 0pt \else \vskip-\skip0 \fi
          \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
      }%
    }%
  }
***************
*** 3650,3668 ****
  \def\numhead#1#2{\absseclevel=\secbase\advance\absseclevel by #1
  \ifcase\absseclevel
!   \chapterzzz{#2}
! \or
!   \seczzz{#2}
! \or
!   \numberedsubseczzz{#2}
! \or
!   \numberedsubsubseczzz{#2}
! \else
!   \ifnum \absseclevel<0
!     \chapterzzz{#2}
    \else
!     \numberedsubsubseczzz{#2}
    \fi
! \fi
! \suppressfirstparagraphindent
  }
  
--- 3653,3666 ----
  \def\numhead#1#2{\absseclevel=\secbase\advance\absseclevel by #1
  \ifcase\absseclevel
!       \chapterzzz{#2}%
!   \or \seczzz{#2}%
!   \or \numberedsubseczzz{#2}%
!   \or \numberedsubsubseczzz{#2}%
    \else
!     \ifnum \absseclevel<0 \chapterzzz{#2}%
!     \else \numberedsubsubseczzz{#2}%
!     \fi
    \fi
!   \suppressfirstparagraphindent
  }
  
***************
*** 3670,3708 ****
  \def\apphead#1#2{\absseclevel=\secbase\advance\absseclevel by #1
  \ifcase\absseclevel
!   \appendixzzz{#2}
! \or
!   \appendixsectionzzz{#2}
! \or
!   \appendixsubseczzz{#2}
! \or
!   \appendixsubsubseczzz{#2}
! \else
!   \ifnum \absseclevel<0
!     \appendixzzz{#2}
    \else
!     \appendixsubsubseczzz{#2}
    \fi
! \fi
! \suppressfirstparagraphindent
  }
  
  % like \numhead, but chooses numberless heading levels
  \def\unnmhead#1#2{\absseclevel=\secbase\advance\absseclevel by #1
! \ifcase\absseclevel
!   \unnumberedzzz{#2}
! \or
!   \unnumberedseczzz{#2}
! \or
!   \unnumberedsubseczzz{#2}
! \or
!   \unnumberedsubsubseczzz{#2}
! \else
!   \ifnum \absseclevel<0
!     \unnumberedzzz{#2}
    \else
!     \unnumberedsubsubseczzz{#2}
    \fi
! \fi
! \suppressfirstparagraphindent
  }
  
--- 3668,3696 ----
  \def\apphead#1#2{\absseclevel=\secbase\advance\absseclevel by #1
  \ifcase\absseclevel
!       \appendixzzz{#2}%
!   \or \appendixsectionzzz{#2}%
!   \or \appendixsubseczzz{#2}%
!   \or \appendixsubsubseczzz{#2}%
    \else
!     \ifnum \absseclevel<0 \appendixzzz{#2}%
!     \else \appendixsubsubseczzz{#2}%
!     \fi
    \fi
!   \suppressfirstparagraphindent
  }
  
  % like \numhead, but chooses numberless heading levels
  \def\unnmhead#1#2{\absseclevel=\secbase\advance\absseclevel by #1
!   \ifcase\absseclevel
!       \unnumberedzzz{#2}%
!   \or \unnumberedseczzz{#2}%
!   \or \unnumberedsubseczzz{#2}%
!   \or \unnumberedsubsubseczzz{#2}%
    \else
!     \ifnum \absseclevel<0 \unnumberedzzz{#2}%
!     \else \unnumberedsubsubseczzz{#2}%
!     \fi
    \fi
!   \suppressfirstparagraphindent
  }
  
***************
*** 4121,4127 ****
    \kern .5 \csname #2headingskip\endcsname
    %
    % We'll almost certainly start a paragraph next, so don't let that
!   % glue accumulate.  Avoid a break.
!   \nobreak \vskip-\parskip
  }
  
--- 4109,4120 ----
    \kern .5 \csname #2headingskip\endcsname
    %
+   % Do not let the kern be a potential breakpoint, as it would be if it
+   % was followed by glue.
+   \nobreak
+   %
    % We'll almost certainly start a paragraph next, so don't let that
!   % glue accumulate.  (Not a breakpoint because it's preceded by a
!   % discardable item.)
!   \vskip-\parskip
  }
  



reply via email to

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