\begin{describe}{mac}
{with-scanner-place (@<place> @<scanner>) @<declarations>^* @<form>^*
@> @<value>^*}
- Capture the @<scanner>'s current position as a place, evaluate the
- @<body-form>s as an implicit progn with the variable @<place> bound to the captured
- place. When control leaves the @<body-form>s, the place is released. The return
- values are the values of the final @<body-form>.
+ Capture the @<scanner>'s current position as a place, evaluate the @<form>s
+ as an implicit progn with the variable @<place> bound to the captured
+ place. When control leaves the @<form>s, the place is released. The
+ return values are the values of the final @<form>.
\end{describe}
\subsection{Scanner file-location protocol} \label{sec:parsing.scanner.floc}
\begin{describe}{parseform}
{seq (@{ @<atomic-parser-spec> @!
(@[@<var>@] @<parser>) @}^*) \\ \ind
- @<body-form>^*}
+ @<form>^*}
\end{describe}
\begin{describe}{parseform}{and @<parser>^*}
{skip-until (@[[ :keep-end @<keep-end-flag> @]]) @<token-type>^*}
\end{describe}
-\begin{describe}{parseform}{error () @<sub-parser> @<recover-parser>}
+\begin{describe}{parseform}
+ {error (@[[ :ignore-unconsumed @<flag> @]]) \\ \ind
+ @<sub-parser> @<recover-parser>}
\end{describe}
\begin{describe}{fun}