summaryrefslogtreecommitdiff
path: root/ext/tk/tkutil.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/tk/tkutil.c')
-rw-r--r--ext/tk/tkutil.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/ext/tk/tkutil.c b/ext/tk/tkutil.c
index 0595207fe3..152860c563 100644
--- a/ext/tk/tkutil.c
+++ b/ext/tk/tkutil.c
@@ -31,6 +31,7 @@ static ID ID_path;
static ID ID_at_path;
static ID ID_to_eval;
static ID ID_to_s;
+static ID ID_source;
static ID ID_downcase;
static ID ID_install_cmd;
static ID ID_merge_tklist;
@@ -664,6 +665,9 @@ get_eval_string_core(obj, enc_flag, self)
case T_NIL:
return rb_str_new2("");
+ case T_REGEXP:
+ return rb_funcall(obj, ID_source, 0, 0);
+
default:
if (rb_obj_is_kind_of(obj, cTkObject)) {
/* return rb_str_new3(rb_funcall(obj, ID_path, 0, 0)); */
@@ -1235,6 +1239,7 @@ Init_tkutil()
ID_at_path = rb_intern("@path");
ID_to_eval = rb_intern("to_eval");
ID_to_s = rb_intern("to_s");
+ ID_source = rb_intern("source");
ID_downcase = rb_intern("downcase");
ID_install_cmd = rb_intern("install_cmd");
ID_merge_tklist = rb_intern("_merge_tklist");