diff --git a/CHANGELOG.md b/CHANGELOG.md index 404b1c33..590fb291 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,8 @@ # Changelog +* Fix `warning: instance variable @options not initialized` when + running under verbose mode (`-w`, `$VERBOSE = true`). + * Fix SmartyPants single quotes right after a link. For example: ~~~markdown diff --git a/ext/redcarpet/rc_render.c b/ext/redcarpet/rc_render.c index 297f7531..26568ac7 100644 --- a/ext/redcarpet/rc_render.c +++ b/ext/redcarpet/rc_render.c @@ -390,6 +390,7 @@ static VALUE rb_redcarpet_rbase_alloc(VALUE klass) static void rb_redcarpet__overload(VALUE self, VALUE base_class) { struct rb_redcarpet_rndr *rndr; + VALUE options_ivar; Data_Get_Struct(self, struct rb_redcarpet_rndr, rndr); rndr->options.self = self; @@ -411,7 +412,8 @@ static void rb_redcarpet__overload(VALUE self, VALUE base_class) } } - if (rb_iv_get(self, "@options") == Qnil) + options_ivar = rb_attr_get(self, rb_intern("@options")); + if (options_ivar == Qundef || options_ivar == Qnil) rb_iv_set(self, "@options", rb_hash_new()); }