message: Introduce underlining for error message regions.
[pspp] / src / language / control / repeat.c
index 118e8d3ccd4fd8c56c075c9512d735945f4e6cd9..8876c8fb9e2efeb9bbe9a90a5b284616e83d801c 100644 (file)
@@ -201,10 +201,7 @@ do_parse_commands (struct substring s, enum segmenter_mode mode,
                    struct hmap *dummies,
                    struct string *outputs, size_t n_outputs)
 {
-  struct segmenter segmenter;
-
-  segmenter_init (&segmenter, mode);
-
+  struct segmenter segmenter = segmenter_init (mode, false);
   while (!ss_is_empty (s))
     {
       enum segment_type type;
@@ -256,7 +253,6 @@ parse_commands (struct lexer *lexer, struct hmap *dummies)
   struct string input;
   size_t n_values;
   char *file_name;
-  int line_number;
   bool ok;
   size_t i;
 
@@ -264,7 +260,7 @@ parse_commands (struct lexer *lexer, struct hmap *dummies)
     file_name = xstrdup (lex_get_file_name (lexer));
   else
     file_name = NULL;
-  line_number = lex_get_first_line_number (lexer, 0);
+  int line_number = lex_ofs_start_point (lexer, lex_ofs (lexer)).line;
 
   ds_init_empty (&input);
   while (lex_is_string (lexer))