summaryrefslogtreecommitdiffhomepage
path: root/include/mruby.h
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2019-10-04 16:02:50 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2019-10-04 16:02:50 +0900
commit1f5a7f2f4970144164232a2bc45f561de5d65c33 (patch)
tree4741dd494776ba84926d982d16a4322684fa0368 /include/mruby.h
parent08eafe21d305e17c41b0221cae22dc1e90bee9cf (diff)
downloadmruby-1f5a7f2f4970144164232a2bc45f561de5d65c33.tar.gz
mruby-1f5a7f2f4970144164232a2bc45f561de5d65c33.zip
Freeze strings from `nil.to_s`, `true.to_s`, `false.to_s`.
This is an experimental changes in Ruby 2.7.
Diffstat (limited to 'include/mruby.h')
-rw-r--r--include/mruby.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/include/mruby.h b/include/mruby.h
index 04b21bc35..5d12cf84e 100644
--- a/include/mruby.h
+++ b/include/mruby.h
@@ -1022,6 +1022,12 @@ MRB_API mrb_value mrb_str_new_cstr(mrb_state*, const char*);
MRB_API mrb_value mrb_str_new_static(mrb_state *mrb, const char *p, size_t len);
#define mrb_str_new_lit(mrb, lit) mrb_str_new_static(mrb, (lit), mrb_strlen_lit(lit))
+MRB_API mrb_value mrb_obj_freeze(mrb_state*, mrb_value);
+#define mrb_str_new_frozen(mrb,p,len) mrb_obj_freeze(mrb,mrb_str_new(mrb,p,len))
+#define mrb_str_new_cstr_frozen(mrb,p) mrb_obj_freeze(mrb,mrb_str_new_cstr(mrb,p))
+#define mrb_str_new_static_frozen(mrb,p,len) mrb_obj_freeze(mrb,mrb_str_new_static(mrb,p,len))
+#define mrb_str_new_lit_frozen(mrb,lit) mrb_obj_freeze(mrb,mrb_str_new_lit(mrb,lit))
+
#ifdef _WIN32
MRB_API char* mrb_utf8_from_locale(const char *p, int len);
MRB_API char* mrb_locale_from_utf8(const char *p, int len);