summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-06-24 03:47:37 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-06-24 03:47:37 +0000
commit0161f79a123829c08f7e15f82d1c0d7f3a6f9265 (patch)
tree0382480d421f2c77053e81c3be717d32bc66bcc7
parentca87ac691b08a986f1f5df37aa925ce8164c6a22 (diff)
internal.h: rb_fstring_lit
* internal.h (rb_fstring_lit): new macro to make a fstring from a string literal. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51008 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog5
-rw-r--r--gc.c2
-rw-r--r--internal.h2
3 files changed, 7 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 276ea0187b..a52222610d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,7 @@
-Wed Jun 24 12:47:05 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Wed Jun 24 12:47:14 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * internal.h (rb_fstring_lit): new macro to make a fstring from a
+ string literal.
* include/ruby/intern.h (rb_strlen_lit): new macro to get the
length of a string literal, borrowed from mruby/mruby@e4afd53.
diff --git a/gc.c b/gc.c
index a86226e610..dd3d70c3ef 100644
--- a/gc.c
+++ b/gc.c
@@ -9192,7 +9192,7 @@ Init_GC(void)
{
VALUE opts;
rb_define_const(rb_mGC, "OPTS", opts = rb_ary_new());
-#define OPT(o) if (o) rb_ary_push(opts, rb_fstring_new(#o, strlen(#o)))
+#define OPT(o) if (o) rb_ary_push(opts, rb_fstring_lit(#o))
OPT(GC_DEBUG);
OPT(USE_RGENGC);
OPT(RGENGC_DEBUG);
diff --git a/internal.h b/internal.h
index 84eb6e204e..7b085cee31 100644
--- a/internal.h
+++ b/internal.h
@@ -1089,6 +1089,8 @@ size_t rb_strftime(char *s, size_t maxsize, const char *format, rb_encoding *enc
void Init_frozen_strings(void);
VALUE rb_fstring(VALUE);
VALUE rb_fstring_new(const char *ptr, long len);
+#define rb_fstring_lit(str) rb_fstring_new((str), rb_strlen_lit(str))
+#define rb_fstring_literal(str) rb_fstring_lit(str)
int rb_str_buf_cat_escaped_char(VALUE result, unsigned int c, int unicode_p);
int rb_str_symname_p(VALUE);
VALUE rb_str_quote_unprintable(VALUE);