You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
internally finds the argument \par, braces it, then expands \test{\par}. TeX complains that there is a runaway argument, and drops everything until the \par. That leaves a brace that has no reason to be there.
The text was updated successfully, but these errors were encountered:
Setting the (internal) "speedup macros" boolean to false fixes the problem. One issue is that \@@_macro_call_quick_loop:NNN calls \@@_input_gpop_item:NF and loses track of whether the argument was braced or not. Otherwise we could look for the string \par in the argument and fall back to \@@_macro_call_safe: in such cases.
Actually the problem is more dire than I had understood. With \def\test#1{}, expanding \test{{{{{\par}}}}} leads to a Runaway error and leaves five closing braces in the input stream. The only way I see to deal with this on the unravel side would be to have a method that splits a gtl variable at the first \par. (See feature request blefloch/latex-gtl#4.) Then throw away the part before \par, complaining about a Runaway argument, and keep everything after, which most likely leads to other TeX errors detected by unravel.
The error recovery for non-
\long
macros which have simple arguments (#1#2#3...
) when they receive\par
is different inunravel
than in TeX.internally finds the argument
\par
, braces it, then expands\test{\par}
. TeX complains that there is a runaway argument, and drops everything until the\par
. That leaves a brace that has no reason to be there.The text was updated successfully, but these errors were encountered: