summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--src/parse.y8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/parse.y b/src/parse.y
index 55ad602ba..25522e8b0 100644
--- a/src/parse.y
+++ b/src/parse.y
@@ -239,7 +239,9 @@ local_nest(parser_state *p)
static void
local_unnest(parser_state *p)
{
- p->locals = p->locals->cdr;
+ if (p->locals) {
+ p->locals = p->locals->cdr;
+ }
}
static mrb_bool
@@ -261,7 +263,9 @@ local_var_p(parser_state *p, mrb_sym sym)
static void
local_add_f(parser_state *p, mrb_sym sym)
{
- p->locals->car = push(p->locals->car, nsym(sym));
+ if (p->locals) {
+ p->locals->car = push(p->locals->car, nsym(sym));
+ }
}
static void