Index: texinfo.tex =================================================================== --- texinfo.tex (revision 6352) +++ texinfo.tex (working copy) @@ -7429,6 +7429,17 @@ \usembodybackslash } +% \sometimesescape - backslash behaviour - expand \\ as \, otherwise +% keep \ as it is +{ address@hidden @address@hidden@other address@hidden@[=1 @address@hidden address@hidden@sometimesescape#1[% +% we need noexpand because \ is active address@hidden @noexpand address@hidden #1 @normalbackslash% address@hidden @normalbackslash#1% address@hidden + \def\macroargctxt{% used when scanning invocations \scanctxt \catcode`\\=0 @@ -7828,8 +7839,8 @@ \noexpand\scanmacro{\temp}\egroup}% \or % 1 \expandafter\xdef\csname\the\macname\endcsname{% - \bgroup\noexpand\macroargctxt - \noexpand\braceorline + \bgroup\noexpand\scanctxt + \noexpand\oneargbraceorline \expandafter\noexpand\csname\the\macname xxx\endcsname}% \expandafter\xdef\csname\the\macname xxx\endcsname##1{% \egroup @@ -7875,7 +7886,24 @@ \expandafter\parsearg \fi \macnamexxx} +\def\oneargbraceorline#1{% + \let\macnamexxx=#1\futurelet\nchar\oneargbraceorlinexxx} +% \oneargbraceorlinexxx +% We need to set \ as active so the @let works address@hidden @address@hidden address@hidden@oneargbraceorlinexxx{% + @address@hidden@bgroup + @macroargctxt + @message{argument in braces,} + @else + @message{argument on line,} + @scanctxt + @address@hidden@sometimesescape + @address@hidden + @fi @macnamexxx}} + + % @alias. % We need some trickery to remove the optional spaces around the equal % sign. Make them active and then expand them all to nothing.