+ struct lexer *lexer = lexer_;
+ struct msg m = *m_;
+
+ if (m.file_name == NULL)
+ {
+ m.file_name = CONST_CAST (char *, lex_get_file_name (lexer));
+ m.first_line = lex_get_first_line_number (lexer, 0);
+ m.last_line = lex_get_last_line_number (lexer, 0);
+ }
+
+ message_item_submit (message_item_create (&m));
+}
+
+static void
+add_syntax_reader (struct lexer *lexer, const char *file_name,
+ const char *encoding, enum lex_syntax_mode syntax_mode)
+{
+ struct lex_reader *reader;
+
+ reader = (!strcmp (file_name, "-") && isatty (STDIN_FILENO)
+ ? terminal_reader_create ()
+ : lex_reader_for_file (file_name, encoding, syntax_mode,
+ LEX_ERROR_CONTINUE));