# textmode t text ^((?:[^<>\\]|<<|>>|\\.)+) e early_close ^<> t argument ^<(\d+)> t special_argument ^<([\w\d]+)> t ellipsis ^<(\.\.\.)> e overmarked_arg ^<(#[\w\d]+)> e escape_nostr ^<([^(>]*\\[^>]*)> e blank_fname ^<\( t text ^ e invalid_raw ^]+>) e bad_format ^<[^>]*> e extra_ab ^<[^>]* e bad_format ^.+ o extract_next ^$ # escmode0 e eos ^$ e extra_rp ^\) # lots of unused regexes e bad_format ^.+ # escmode1 e eos ^$ e blank_fname ^\( t text ^raw\(([^)]*)\)\|? e invalid_raw ^raw\( t push_func ^([-\w\d+*/^?=.]+)\( e call_arg ^#[\w\d]+\( t argument ^#(\d+)\|? t special_argument ^#([\w\d]+)\|? e extra_h ^#([\w\d#]+) e early_close ^#[^()|<>] t text \\\( e invalid_fname ^[^>(|]*\( e extra_p ^(\))\|> e extra_c ^(\))[^)|>]+> o call_func ^(\))> t call_func ^(\))\|? t ellipsis ^(\.\.\.)\|? e extra_ab ^< e extra_lp ^> t text ^\| t text ^((?:[^|()<>\\]|\\.)*)\|? e bad_format ^.+