{warning-with-location (condition-with-location warning) \\ \>
\&key :location}
\dhead{cls}
+ {information-with-location (condition-with-location information) \\ \>
+ \&key :location}
+ \dhead{cls}
{enclosing-error-with-location
(enclosing-error-with-location error) \\ \>
\&key :condition :location}
(enclosing-condition-with-location warning) \\ \>
\&key :condition :location}
\dhead{cls}
+ {enclosing-information-with-location
+ (enclosing-condition-with-location information) \\ \>
+ \&key :condition :location}
+ \dhead{cls}
{simple-condition-with-location
(condition-with-location simple-condition) \\ \>
\&key :format-control :format-arguments :location}
\dhead{cls}
{simple-warning-with-location
(warning-with-location simple-warning) \\ \>
+ \&key :format-control :format-arguments :location}
+ \dhead{cls}
+ {simple-information-with-location
+ (information-with-location simple-information) \\ \>
\&key :format-control :format-arguments :location}}
\end{describe*}
+\begin{describe}{gf}
+ {enclosing-condition-with-location-type @<condition> @> @<symbol>}
+\end{describe}
+
\begin{describe}{fun}
{make-condition-with-location @<default-type> @<floc>
@<datum> \&rest @<arguments>
\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>^*}
\begin{describe}{fun}{define-indicator @<indicator> @<description>}
\end{describe}
-\begin{describe}{fun}{syntax-error @<scanner> @<expected> \&key :continuep}
+\begin{describe}{fun}
+ {syntax-error @<scanner> @<expected> \&key :continuep :location}
\end{describe}
\begin{describe}{fun}
- {lexer-error @<char-scanner> @<expected> @<consumed-flag>}
+ {lexer-error @<char-scanner> @<expected> \&key :location}
\end{describe}
\begin{describe}{parseform}
{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}