From 2d101f0a87ed256fda0b85a93ad89997ff0f2f13 Mon Sep 17 00:00:00 2001 From: akr Date: Sun, 9 Dec 2007 11:57:06 +0000 Subject: [PATCH] Regexp#fixed_encoding? documented. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14160 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- re.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/re.c b/re.c index 1264733f6b..647d9c00ac 100644 --- a/re.c +++ b/re.c @@ -758,6 +758,31 @@ rb_match_busy(VALUE match) FL_SET(match, MATCH_BUSY); } +/* + * call-seq: + * rxp.fixed_encoding? => true or false + * + * Returns true if rxp is only applicable to + * a string encoded as rxp.encoding. + * + * r = /a/ + * r.fixed_encoding? #=> false + * r =~ "\u{6666} a" #=> 2 + * r =~ "\xa1\xa2 a".force_encoding("euc-jp") #=> 2 + * + * r = /a/u + * r.fixed_encoding? #=> true + * r.encoding #=> + * r =~ "\u{6666} a" #=> 2 + * r =~ "\xa1\xa2".force_encoding("euc-jp") # ArgumentError + * + * r = /\u{6666}/ + * r.fixed_encoding? #=> true + * r.encoding #=> + * r =~ "\u{6666} a" #=> 0 + * r =~ "\xa1\xa2".force_encoding("euc-jp") # ArgumentError + */ + static VALUE rb_reg_fixed_encoding_p(VALUE re) {