source file of the LilyPond music typesetter
- (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2003 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include <sstream>
+#include "config.h"
-
-#include "file-path.hh"
#include "includable-lexer.hh"
+#include "file-path.hh"
#include "source-file.hh"
#include "source.hh"
#include "warn.hh"
#define YYSTATE YY_START
#endif
+/* Flex >= 2.5.29 has include stack; but we don't use that yet. */
+#ifndef HAVE_FLEXLEXER_YY_CURRENT_BUFFER
+#define yy_current_buffer \
+ (yy_buffer_stack != 0 ? yy_buffer_stack[yy_buffer_stack_top] : 0)
+#endif
+
Includable_lexer::Includable_lexer ()
{
+#ifdef HAVE_FLEXLEXER_YY_CURRENT_BUFFER
yy_current_buffer = 0;
+#endif
allow_includes_b_ = true;
}
{
String msg = _f ("can't find file: `%s'", s);
msg += "\n";
- msg += _f ("(search path: `%s')", global_sources->path_C_->string ().to_str0 ());
+ msg += _f ("(search path: `%s')", global_sources->path_C_->to_string ().to_str0 ());
msg += "\n";
LexerError (msg.to_str0 ());
*/
yy_switch_to_buffer (yy_create_buffer (sl->get_istream (), YY_BUF_SIZE));
-
}
+/*
+ Unused.
+ */
void
Includable_lexer::new_input (String name, String data, Sources* sources)
{
if (verbose_global_b)
progress_indication ("]");
yy_delete_buffer (yy_current_buffer);
+#ifdef HAVE_FLEXLEXER_YY_CURRENT_BUFFER
yy_current_buffer = 0;
+#endif
if (state_stack_.empty ())
{
+#ifdef HAVE_FLEXLEXER_YY_CURRENT_BUFFER
yy_current_buffer = 0;
+#endif
return false;
}
else