+ Whoops. The size argument to yy_create_buffer is not the
+ filelength but a BUFFERSIZE. Maybe this is why reading stdin fucks up. */
+ yy_switch_to_buffer (yy_create_buffer (file->get_istream (), YY_BUF_SIZE));
+}
+
+void
+Includable_lexer::new_input (string name, string data, Sources *sources)
+{
+ Source_file *file = new Source_file (name, data);
+ sources->add (file);
+ file_name_strings_.push_back (name);
+
+ char_count_stack_.push_back (0);
+ if (yy_current_buffer)
+ state_stack_.push_back (yy_current_buffer);
+
+ if (be_verbose_global)
+ progress_indication (string ("[") + name);
+ include_stack_.push_back (file);
+
+ yy_switch_to_buffer (yy_create_buffer (file->get_istream (), YY_BUF_SIZE));