summaryrefslogtreecommitdiffstats
path: root/stdlib/scanf.ml
diff options
context:
space:
mode:
Diffstat (limited to 'stdlib/scanf.ml')
-rw-r--r--stdlib/scanf.ml9
1 files changed, 6 insertions, 3 deletions
diff --git a/stdlib/scanf.ml b/stdlib/scanf.ml
index b9592ae2b..c21de7248 100644
--- a/stdlib/scanf.ml
+++ b/stdlib/scanf.ml
@@ -1035,7 +1035,7 @@ fun k fmt -> match fmt with
| Formatting_lit (_, rest) -> take_format_readers k rest
| Formatting_gen (Open_tag (Format (fmt, _)), rest) -> take_format_readers k (concat_fmt fmt rest)
-
+ | Formatting_gen (Open_box (Format (fmt, _)), rest) -> take_format_readers k (concat_fmt fmt rest)
| Format_arg (_, _, rest) -> take_format_readers k rest
| Format_subst (_, fmtty, rest) -> take_fmtty_format_readers k (erase_rel (symm fmtty)) rest
@@ -1229,8 +1229,11 @@ fun ib fmt readers -> match fmt with
String.iter (check_char ib) (string_of_formatting_lit formatting_lit);
make_scanf ib rest readers
| Formatting_gen (Open_tag (Format (fmt', _)), rest) ->
- check_char ib '@'; check_char ib '{'; check_char ib '<';
- make_scanf ib (concat_fmt fmt' (Char_literal ('<', rest))) readers
+ check_char ib '@'; check_char ib '{';
+ make_scanf ib (concat_fmt fmt' rest) readers
+ | Formatting_gen (Open_box (Format (fmt', _)), rest) ->
+ check_char ib '@'; check_char ib '[';
+ make_scanf ib (concat_fmt fmt' rest) readers
| Ignored_param (ign, rest) ->
let Param_format_EBB fmt' = param_format_of_ignored_format ign rest in