diff options
| -rw-r--r-- | src/parse.y | 4 | ||||
| -rw-r--r-- | tasks/mrbgems.rake | 3 | ||||
| -rw-r--r-- | tools/mirb/mirb.c | 6 |
3 files changed, 8 insertions, 5 deletions
diff --git a/src/parse.y b/src/parse.y index 35bc18cd5..7972e87c4 100644 --- a/src/parse.y +++ b/src/parse.y @@ -38,6 +38,10 @@ static void yywarn(parser_state *p, const char *s); static void yywarning(parser_state *p, const char *s); static void backref_error(parser_state *p, node *n); +#ifndef isascii +#define isascii(c) (((c) & ~0x7f) == 0) +#endif + #define identchar(c) (isalnum(c) || (c) == '_' || !isascii(c)) typedef unsigned int stack_type; diff --git a/tasks/mrbgems.rake b/tasks/mrbgems.rake index 1f3aa0811..c18a9a181 100644 --- a/tasks/mrbgems.rake +++ b/tasks/mrbgems.rake @@ -8,7 +8,7 @@ MRuby.each_target do # loader all gems self.libmruby << objfile("#{build_dir}/mrbgems/gem_init") - file objfile("#{build_dir}/mrbgems/gem_init") => "#{build_dir}/mrbgems/gem_init.c" + file objfile("#{build_dir}/mrbgems/gem_init") => ["#{build_dir}/mrbgems/gem_init.c", "#{build_dir}/LEGAL"] file "#{build_dir}/mrbgems/gem_init.c" => [MRUBY_CONFIG] do |t| FileUtils.mkdir_p "#{build_dir}/mrbgems" open(t.name, 'w') do |f| @@ -42,7 +42,6 @@ MRuby.each_target do end # legal documents - self.libmruby << "#{build_dir}/LEGAL" file "#{build_dir}/LEGAL" => [MRUBY_CONFIG] do |t| open(t.name, 'w+') do |f| f.puts <<LEGAL diff --git a/tools/mirb/mirb.c b/tools/mirb/mirb.c index ed3b105b6..ba400bf95 100644 --- a/tools/mirb/mirb.c +++ b/tools/mirb/mirb.c @@ -38,9 +38,6 @@ is_code_block_open(struct mrb_parser_state *parser) { int code_block_open = FALSE; - /* check for unterminated string */ - if (parser->lex_strterm) return TRUE; - /* check for heredoc */ if (parser->heredoc_starts_nextline) return TRUE; if (parser->heredoc_end_now) { @@ -70,6 +67,9 @@ is_code_block_open(struct mrb_parser_state *parser) return code_block_open; } + /* check for unterminated string */ + if (parser->lex_strterm) return TRUE; + switch (parser->lstate) { /* all states which need more code */ |
