[#39954] Fwd: [ruby-cvs:33451] Ruby:r26235 (trunk): * trace.h: new file. wraps tracing mechanisms. — SASADA Koichi <ko1@...>

 ささだです.

16 messages 2010/01/04
[#39957] Re: Fwd: [ruby-cvs:33451] Ruby:r26235 (trunk): * trace.h: new file. wraps tracing mechanisms. — Yugui <yugui@...> 2010/01/04

2010/1/4 SASADA Koichi <ko1@atdot.net>:

[#39959] Re: Fwd: [ruby-cvs:33451] Ruby:r26235 (trunk): * trace.h: new file. wraps tracing mechanisms. — SASADA Koichi <ko1@...> 2010/01/04

 ささだです.

[#39975] [Feature #2571] 文字列のハミング距離 — Kenta Murata <redmine@...>

Feature #2571: 文字列のハミング距離

14 messages 2010/01/07

[#39978] "require 'logge'" fails on ruby 1.8.7 from http://github.com/shyouhei/ruby — MOROHASHI Kyosuke <moronatural@...>

諸橋です。

7 messages 2010/01/07

[#40004] [Bug:trunk] require_relative depends on current directory — Yusuke ENDOH <mame@...>

遠藤です。

13 messages 2010/01/09

[#40074] [Bug #2603] NetBSD 5.0以降でpthreadの処理に由来する不具合 — Takahiro Kambe <redmine@...>

Bug #2603: NetBSD 5.0以降でpthreadの処理に由来する不具合

29 messages 2010/01/14
[#40086] Re: [Bug #2603] NetBSD 5.0以降でpthreadの処理に由来する不具合 — f-miura@... (MIURA, Fumiaki) 2010/01/14

NTTレゾナントの三浦です。不完全なpatchを書いてすみません。

[#40088] Re: [Bug #2603] NetBSD 5.0以降でpthreadの処理に由来する不具合 — Takahiro Kambe <taca@...> 2010/01/14

こんばんは。

[#40091] Re: [Bug #2603] NetBSD 5.0以降でpthreadの処理に由来する不具合 — KOSAKI Motohiro <kosaki.motohiro@...> 2010/01/15

kosakiです

[#40092] Re: [Bug #2603] NetBSD 5.0以降でpthreadの処理に由来する不具合 — Takahiro Kambe <taca@...> 2010/01/15

こんにちは。

[#40077] [Bug #2604] test_dsa_sign_verify() in test/openssl/test_ec.rb failes — Takahiro Kambe <redmine@...>

Bug #2604: test_dsa_sign_verify() in test/openssl/test_ec.rb failes

11 messages 2010/01/14

[#40153] [Bug:trunk] three bugs of Matrix::Scalar — Yusuke ENDOH <mame@...>

連投すみません。

19 messages 2010/01/25
[#40184] Re: [Bug:trunk] three bugs of Matrix::Scalar — keiju@... (石塚圭樹) 2010/01/27

けいじゅ@いしつかです.

[#40189] Re: [Bug:trunk] three bugs of Matrix::Scalar — Yusuke ENDOH <mame@...> 2010/01/27

遠藤です。

[#40191] Re: [Bug:trunk] three bugs of Matrix::Scalar — keiju@... (石塚圭樹) 2010/01/27

けいじゅ@いしつかです.

[#40224] Re: [Bug:trunk] three bugs of Matrix::Scalar — Yukihiro Matsumoto <matz@...> 2010/01/28

まつもと ゆきひろです

[#40162] [Bug #2658] rubyspec: Ruby character strings interpolates the return value of Object#inspect, without ivars, if Object#to_s does not return a String instance ERROR — Yusuke Endoh <redmine@...>

Bug #2658: rubyspec: Ruby character strings interpolates the return value of Object#inspect, without ivars, if Object#to_s does not return a String instance ERROR

8 messages 2010/01/26
[#40163] Re: [Bug #2658] rubyspec: Ruby character strings interpolates the return value of Object#inspect, without ivars, if Object#to_s does not return a String instance ERROR — Tanaka Akira <akr@...> 2010/01/26

2010年1月26日20:39 Yusuke Endoh <redmine@ruby-lang.org>:

[#40168] [Bug #2662] BigDecimal#ceil, etc. should not return Integer — Yusuke Endoh <redmine@...>

Bug #2662: BigDecimal#ceil, etc. should not return Integer

10 messages 2010/01/26

[#40200] [Feature #2673] the length for an enumerator generated by Array#permutation and Array#combination — Kenta Murata <redmine@...>

Feature #2673: the length for an enumerator generated by Array#permutation and Array#combination

14 messages 2010/01/28

[#40221] [Bug:trunk] rubyspec: SimpleDelegator when frozen creates a frozen clone ERROR — Yusuke ENDOH <mame@...>

まつもとさん、または lib/delegator.rb についてわかる誰か

13 messages 2010/01/28

[#40265] MonitorMixin::ConditionVariable#wait timeout — Tanaka Akira <akr@...>

手元の Ubuntu 9.10 の環境で Ruby 1.9.2 を make test-all すると

38 messages 2010/01/30
[#40326] Re: MonitorMixin::ConditionVariable#wait timeout — Shugo Maeda <shugo@...> 2010/02/05

前田です。

[#41155] Re: MonitorMixin::ConditionVariable#wait timeout — Yusuke ENDOH <mame@...> 2010/05/05

前田さん、akr さん

[#41157] Re: MonitorMixin::ConditionVariable#wait timeout — Tanaka Akira <akr@...> 2010/05/05

2010年5月5日9:32 Yusuke ENDOH <mame@tsg.ne.jp>:

[#41158] Re: MonitorMixin::ConditionVariable#wait timeout — Yusuke ENDOH <mame@...> 2010/05/05

遠藤です。

[#41159] Re: MonitorMixin::ConditionVariable#wait timeout — Tanaka Akira <akr@...> 2010/05/05

2010年5月5日11:46 Yusuke ENDOH <mame@tsg.ne.jp>:

[#41160] Re: MonitorMixin::ConditionVariable#wait timeout — Yusuke ENDOH <mame@...> 2010/05/05

遠藤です。

[#41182] Re: MonitorMixin::ConditionVariable#wait timeout — Tanaka Akira <akr@...> 2010/05/06

2010年5月5日13:22 Yusuke ENDOH <mame@tsg.ne.jp>:

[#41183] Re: MonitorMixin::ConditionVariable#wait timeout — Yusuke ENDOH <mame@...> 2010/05/06

遠藤です。

[#41186] Re: MonitorMixin::ConditionVariable#wait timeout — Tanaka Akira <akr@...> 2010/05/06

2010年5月6日19:58 Yusuke ENDOH <mame@tsg.ne.jp>:

[#41205] Re: MonitorMixin::ConditionVariable#wait timeout — Yusuke ENDOH <mame@...> 2010/05/06

遠藤です。

[#41207] Re: MonitorMixin::ConditionVariable#wait timeout — KOSAKI Motohiro <kosaki.motohiro@...> 2010/05/06

2010年5月6日23:08 Yusuke ENDOH <mame@tsg.ne.jp>:

[#41208] Re: MonitorMixin::ConditionVariable#wait timeout — Tanaka Akira <akr@...> 2010/05/06

2010年5月6日23:15 KOSAKI Motohiro <kosaki.motohiro@gmail.com>:

[#41245] Re: MonitorMixin::ConditionVariable#wait timeout — Yusuke ENDOH <mame@...> 2010/05/10

遠藤です。

[#41252] Re: MonitorMixin::ConditionVariable#wait timeout — KOSAKI Motohiro <kosaki.motohiro@...> 2010/05/10

kosakiです

[#41255] Re: MonitorMixin::ConditionVariable#wait timeout — Yusuke ENDOH <mame@...> 2010/05/10

遠藤です。

[#41256] Re: MonitorMixin::ConditionVariable#wait timeout — Masaya TARUI <tarui@...> 2010/05/10

樽家です。

[#40269] [Feature #2695] Supported Platforms — Kazuhiro NISHIYAMA <redmine@...>

Feature #2695: Supported Platforms

17 messages 2010/01/31
[#40760] [Feature #2695] Supported Platforms — Yusuke Endoh <redmine@...> 2010/03/25

チケット #2695 が更新されました。 (by Yusuke Endoh)

[ruby-dev:40033] Re: [Feature #2571] 文字列のハミング距離

From: "NARUSE, Yui" <naruse@...>
Date: 2010-01-11 07:32:21 UTC
List: ruby-dev #40033
成瀬です。

パッチが誤っていました、これだけですね。

diff --git a/include/ruby/intern.h b/include/ruby/intern.h
index 14e23b8..116afa5 100644
--- a/include/ruby/intern.h
+++ b/include/ruby/intern.h
@@ -662,6 +662,7 @@ VALUE rb_str_associated(VALUE);
 void rb_str_setter(VALUE, ID, VALUE*);
 VALUE rb_str_intern(VALUE);
 VALUE rb_sym_to_s(VALUE);
+long rb_str_strlen(VALUE);
 VALUE rb_str_length(VALUE);
 long rb_str_offset(VALUE, long);
 size_t rb_str_capacity(VALUE);
diff --git a/string.c b/string.c
index 2dcc330..78620b8 100644
--- a/string.c
+++ b/string.c
@@ -1079,6 +1079,12 @@ str_strlen(VALUE str, rb_encoding *enc)
     return n;
 }
 
+long
+rb_str_strlen(VALUE str)
+{
+    return str_strlen(str, STR_ENC_GET(str));
+}
+
 /*
  *  call-seq:
  *     str.length   => integer

(2010/01/11 16:27), NARUSE, Yui wrote:
> 成瀬です。
> 
> (2010/01/11 16:17), Yukihiro Matsumoto wrote:
>> まつもと ゆきひろです
>>
>> In message "Re: [ruby-dev:40029] Re: [Feature #2571]  	文字列のハミング距離"
>>     on Mon, 11 Jan 2010 15:53:55 +0900, "NARUSE, Yui" <naruse@airemix.jp> writes:
>>
>> |(2010/01/11 15:35), Kenta Murata wrote:
>> |> ところで、拡張ライブラリにする際に、str_strlen を公開 API にしてもらいたいのですが、
>> |> それは可能でしょうか? rb_str_strlen になるのかな?
>> |
>> |名前がちょっと悩む所なんですがとりあえず、
>>
>> 公開には賛成です。しかし、rb_str_strlen()とする時には、
>>
>>   str_strlen(str, STR_ENC_GET(str))
>>
>> を返す1引数の関数にするべきでは。VALUEを与えているのに
>> encodingも外から渡す必要はないでしょう。
> 
> 確かに、修正しました。
> 
> diff --git a/include/ruby/intern.h b/include/ruby/intern.h
> index 14e23b8..116afa5 100644
> --- a/include/ruby/intern.h
> +++ b/include/ruby/intern.h
> @@ -662,6 +662,7 @@ VALUE rb_str_associated(VALUE);
>  void rb_str_setter(VALUE, ID, VALUE*);
>  VALUE rb_str_intern(VALUE);
>  VALUE rb_sym_to_s(VALUE);
> +long rb_str_strlen(VALUE);
>  VALUE rb_str_length(VALUE);
>  long rb_str_offset(VALUE, long);
>  size_t rb_str_capacity(VALUE);
> diff --git a/string.c b/string.c
> index 2dcc330..a4a6122 100644
> --- a/string.c
> +++ b/string.c
> @@ -1079,6 +1079,12 @@ str_strlen(VALUE str, rb_encoding *enc)
>      return n;
>  }
>  
> +long
> +rb_str_strlen(VALUE str)
> +{
> +    return rb_str_strlen(str, STR_ENC_GET(str));
> +}
> +
>  /*
>   *  call-seq:
>   *     str.length   => integer
> @@ -1092,7 +1098,7 @@ rb_str_length(VALUE str)
>  {
>      long len;
>  
> -    len = str_strlen(str, STR_ENC_GET(str));
> +    len = rb_str_strlen(str, STR_ENC_GET(str));
>      return LONG2NUM(len);
>  }
>  
> @@ -1573,11 +1579,11 @@ rb_str_substr(VALUE str, long beg, long len)
>  	    goto sub;
>  	}
>  	else {
> -	    beg += str_strlen(str, enc);
> +	    beg += rb_str_strlen(str, enc);
>  	    if (beg < 0) return Qnil;
>  	}
>      }
> -    else if (beg > 0 && beg > str_strlen(str, enc)) {
> +    else if (beg > 0 && beg > rb_str_strlen(str, enc)) {
>  	return Qnil;
>      }
>      if (len == 0) {
> @@ -2266,8 +2272,8 @@ rb_str_index(VALUE str, VALUE sub, long offset)
>      if (is_broken_string(sub)) {
>  	return -1;
>      }
> -    len = str_strlen(str, enc);
> -    slen = str_strlen(sub, enc);
> +    len = rb_str_strlen(str, enc);
> +    slen = rb_str_strlen(sub, enc);
>      if (offset < 0) {
>  	offset += len;
>  	if (offset < 0) return -1;
> @@ -2329,7 +2335,7 @@ rb_str_index_m(int argc, VALUE *argv, VALUE str)
>  	pos = 0;
>      }
>      if (pos < 0) {
> -	pos += str_strlen(str, STR_ENC_GET(str));
> +	pos += rb_str_strlen(str, STR_ENC_GET(str));
>  	if (pos < 0) {
>  	    if (TYPE(sub) == T_REGEXP) {
>  		rb_backref_set(Qnil);
> @@ -2340,7 +2346,7 @@ rb_str_index_m(int argc, VALUE *argv, VALUE str)
>  
>      switch (TYPE(sub)) {
>        case T_REGEXP:
> -	if (pos > str_strlen(str, STR_ENC_GET(str)))
> +	if (pos > rb_str_strlen(str, STR_ENC_GET(str)))
>  	    return Qnil;
>  	pos = str_offset(RSTRING_PTR(str), RSTRING_END(str), pos,
>  			 rb_enc_check(str, sub), single_byte_optimizable(str));
> @@ -2382,8 +2388,8 @@ rb_str_rindex(VALUE str, VALUE sub, long pos)
>      if (is_broken_string(sub)) {
>  	return -1;
>      }
> -    len = str_strlen(str, enc);
> -    slen = str_strlen(sub, enc);
> +    len = rb_str_strlen(str, enc);
> +    slen = rb_str_strlen(sub, enc);
>      /* substring longer than string */
>      if (len < slen) return -1;
>      if (len - pos < slen) {
> @@ -2433,7 +2439,7 @@ rb_str_rindex_m(int argc, VALUE *argv, VALUE str)
>      VALUE sub;
>      VALUE vpos;
>      rb_encoding *enc = STR_ENC_GET(str);
> -    long pos, len = str_strlen(str, enc);
> +    long pos, len = rb_str_strlen(str, enc);
>  
>      if (rb_scan_args(argc, argv, "11", &sub, &vpos) == 2) {
>  	pos = NUM2LONG(vpos);
> @@ -2981,7 +2987,7 @@ rb_str_aref(VALUE str, VALUE indx)
>  	    long beg, len;
>  	    VALUE tmp;
>  
> -	    len = str_strlen(str, STR_ENC_GET(str));
> +	    len = rb_str_strlen(str, STR_ENC_GET(str));
>  	    switch (rb_range_beg_len(indx, &beg, &len, len, 0)) {
>  	      case Qfalse:
>  		break;
> @@ -3136,7 +3142,7 @@ rb_str_splice(VALUE str, long beg, long len, VALUE val)
>  
>      StringValue(val);
>      enc = rb_enc_check(str, val);
> -    slen = str_strlen(str, enc);
> +    slen = rb_str_strlen(str, enc);
>  
>      if (slen < beg) {
>        out_of_range:
> @@ -3232,14 +3238,14 @@ rb_str_aset(VALUE str, VALUE indx, VALUE val)
>  	    rb_raise(rb_eIndexError, "string not matched");
>  	}
>  	beg = rb_str_sublen(str, beg);
> -	rb_str_splice(str, beg, str_strlen(indx, 0), val);
> +	rb_str_splice(str, beg, rb_str_strlen(indx, 0), val);
>  	return val;
>  
>        default:
>  	/* check if indx is Range */
>  	{
>  	    long beg, len;
> -	    if (rb_range_beg_len(indx, &beg, &len, str_strlen(str, 0), 2)) {
> +	    if (rb_range_beg_len(indx, &beg, &len, rb_str_strlen(str, 0), 2)) {
>  		rb_str_splice(str, beg, len, val);
>  		return val;
>  	    }
> @@ -6605,13 +6611,13 @@ rb_str_justify(int argc, VALUE *argv, VALUE str, char jflag)
>  	enc = rb_enc_check(str, pad);
>  	f = RSTRING_PTR(pad);
>  	flen = RSTRING_LEN(pad);
> -	fclen = str_strlen(pad, enc);
> +	fclen = rb_str_strlen(pad, enc);
>  	singlebyte = single_byte_optimizable(pad);
>  	if (flen == 0 || fclen == 0) {
>  	    rb_raise(rb_eArgError, "zero width padding");
>  	}
>      }
> -    len = str_strlen(str, enc);
> +    len = rb_str_strlen(str, enc);
>      if (width < 0 || len >= width) return rb_str_dup(str);
>      n = width - len;
>      llen = (jflag == 'l') ? 0 : ((jflag == 'r') ? n : n/2);
> @@ -6829,7 +6835,7 @@ rb_str_rpartition(VALUE str, VALUE sep)
>      }
>      return rb_ary_new3(3, rb_str_substr(str, 0, pos),
>  		          sep,
> -		          rb_str_substr(str,pos+str_strlen(sep,STR_ENC_GET(sep)),RSTRING_LEN(str)));
> +		          rb_str_substr(str,pos+rb_str_strlen(sep,STR_ENC_GET(sep)),RSTRING_LEN(str)));
>  }
>  
>  /*
> 

-- 
NARUSE, Yui  <naruse@airemix.jp>

In This Thread