* texinfo.tex (\dosubind): Don't do \vskip to preserve \lastskip
authorKarl Berry <karl@gnu.org>
Sun, 19 Jul 1998 14:20:42 +0000 (14:20 +0000)
committerKarl Berry <karl@gnu.org>
Sun, 19 Jul 1998 14:20:42 +0000 (14:20 +0000)
  unless we are in vertical mode.  Otherwise we might end a
  paragraph prematurely, and \folio won't get expanded by
  \output.
  Report from: "Richard E. Stone" <res@rstone.mn.org>

texinfo.tex

index 6d59772..a0d954d 100644 (file)
@@ -2569,10 +2569,22 @@ width0pt\relax} \fi
         % 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
-          \skip0 = \lastskip \ifdim\lastskip = 0pt \else \vskip-\lastskip \fi
-          \temp
-          \ifdim\skip0 = 0pt \else \vskip\skip0 \fi
+          \ifvmode
+            \skip0 = \lastskip
+            \ifdim\lastskip = 0pt \else \nobreak\vskip-\lastskip \fi
+          \fi
+          %
+          \temp % do the write
+          %
+          % 
+          \ifvmode \ifdim\skip0 = 0pt \else \nobreak\vskip\skip0 \fi \fi
         \fi
       }%
     }%