I have a problem with the following code:
\newtoks\sectoks
\sectoks={\noindent}
\newtoks\subsubjectstyle
\subsubjectstyle={\emitsectglue 1\the\sectoks}
\newtoks\postsectoks
\postsectoks={\par\smallskip\noindent\kern-1sp\hskip1sp}
\long\def\subsubject#1\par{%
{\the\subsubjectstyle#1}\the\postsectoks}
\def\emitsectglue#1{%
\ifdim\lastskip=1sp
\nobreak
\else
\vskip0pt plus#1\baselineskip
\penalty-\numexpr#1*100+50\relax
\vskip0pt plus-#1\baselineskip
\vskip#1\baselineskip
\fi}
\long\def\blockquote#1\eol{%
\emitsectglue 1
\begingroup
\raggedright\narrower\noindent #1
\smallskip
\endgroup\noindent}
\tracingall
\subsubject
The following subsubject will choose the first if's true-branch.
\subsubject
But the following blockquote will not. Why is that?
\blockquote
Be conservative in what you send, liberal in what you receive
\eol
\bye
When using the \subsubject
command followed by another \subsubject
, the macros work as expected and do not add the vertical glue & negative penalty.
However, when using the exact same code with another command, all of a sudden the right \if
-branch doesn't get selected. I don't understand why is that.
:)
\if
is a TeX primitive, not plain-tex IIRC, so maybe this title is better?