2004-10-07 Stepan Kasal @table command doesn't work inside environment @display. There is no point in trying to fix it: just give up with a cry. * doc/texinfo.tex (\table, \ftable, \vtable): Instead of calling \tablex directly, call ... (\tablecheck): ... this new macro which checks for active newline; if it's found, it reports an error and uses \doignore to recover. --- texinfo.tex.orig 2004-10-07 12:06:38.000000000 +0200 +++ texinfo.tex 2004-10-07 12:55:03.833035318 +0200 @@ -2314,15 +2314,26 @@ % @table, @ftable, @vtable. \envdef\table{% \let\itemindex\gobble - \tablex + \tablecheck{table}% } \envdef\ftable{% \def\itemindex ##1{\doind {fn}{\code{##1}}}% - \tablex + \tablecheck{ftable}% } \envdef\vtable{% \def\itemindex ##1{\doind {vr}{\code{##1}}}% - \tablex + \tablecheck{vtable}% +} +\def\tablecheck#1{% + \ifnum \the\catcode`\^^M=\active + \endgroup + \errmessage{This command won't work in this context; perhaps the problem is + that we are \inenvironment\thisenv}% + \def\next{\doignore{#1}}% + \else + \let\next\tablex + \fi + \next } \def\tablex#1{% \def\itemindicate{#1}%