@@ -461,16 +461,15 @@ doMacros' n inp = do
461 case inp of
461 case inp of
462 Tok spos (CtrlSeq "begin") _ : Tok _ Symbol "{" :
462 Tok spos (CtrlSeq "begin") _ : Tok _ Symbol "{" :
463 Tok _ Word name : Tok _ Symbol "}" : ts
463 Tok _ Word name : Tok _ Symbol "}" : ts
464− -> handleMacros macros n spos name ts
464+ -> handleMacros macros n spos name ts <|> return inp
465 Tok spos (CtrlSeq "end") _ : Tok _ Symbol "{" :
465 Tok spos (CtrlSeq "end") _ : Tok _ Symbol "{" :
466 Tok _ Word name : Tok _ Symbol "}" : ts
466 Tok _ Word name : Tok _ Symbol "}" : ts
467− -> handleMacros macros n spos ("end" <> name) ts
467+ -> handleMacros macros n spos ("end" <> name) ts <|> return inp
468 Tok _ (CtrlSeq "expandafter") _ : t : ts
468 Tok _ (CtrlSeq "expandafter") _ : t : ts
469 -> combineTok t <$> doMacros' n ts
469 -> combineTok t <$> doMacros' n ts
470 Tok spos (CtrlSeq name) _ : ts
470 Tok spos (CtrlSeq name) _ : ts
471− -> handleMacros macros n spos name ts
471+ -> handleMacros macros n spos name ts <|> return inp
472 _ -> return inp
472 _ -> return inp
476 combineTok (Tok spos (CtrlSeq name) x) (Tok _ Word w : ts)
475 combineTok (Tok spos (CtrlSeq name) x) (Tok _ Word w : ts)