[#39954] Fwd: [ruby-cvs:33451] Ruby:r26235 (trunk): * trace.h: new file. wraps tracing mechanisms. — SASADA Koichi <ko1@...>
ささだです.
2010/1/4 SASADA Koichi <ko1@atdot.net>:
ささだです.
2010/1/4 SASADA Koichi <ko1@atdot.net>:
ささだです.
[#39975] [Feature #2571] 文字列のハミング距離 — Kenta Murata <redmine@...>
Feature #2571: 文字列のハミング距離
まつもと ゆきひろです
=1B$B$`$i$?$G$9!#=1B(B
成瀬です。
まつもと ゆきひろです
成瀬です。
成瀬です。
[#39978] "require 'logge'" fails on ruby 1.8.7 from http://github.com/shyouhei/ruby — MOROHASHI Kyosuke <moronatural@...>
諸橋です。
卜部です。
もろはしです。
いまいち問題を把握してない可能性もありますが、gitが$Id$展開しないからコケるんだけどgitからcloneしてもそのまま動くようにしてくれよ、ということでいいですかね?
[#39987] [Bug #2575] a test fail for IO#readpartial is broken on *BSD — Takahiro Kambe <redmine@...>
Bug #2575: a test fail for IO#readpartial is broken on *BSD
[#40003] [Feature #2579] Net::HTTP.start("www.ruby-lang.org", use_ssl: true) で SSL 利用を可能に — Yui NARUSE <redmine@...>
Feature #2579: Net::HTTP.start("www.ruby-lang.org", use_ssl: true) で SSL 利用を可能に
[#40004] [Bug:trunk] require_relative depends on current directory — Yusuke ENDOH <mame@...>
遠藤です。
チケット #2581 が更新されました。 (by Yusuke Endoh)
2010年3月7日0:30 Yusuke Endoh <redmine@ruby-lang.org>:
>> 1.9.2 では $: から "." が消えるため require_relative の需要が
遠藤です。
[#40017] Linuxで bm_vm3_thread_mutex.rb が刺さってしまい実行が完了しない — KOSAKI Motohiro <kosaki.motohiro@...>
kosakiです
遠藤です。
2010年1月12日0:20 Yusuke ENDOH <mame@tsg.ne.jp>:
[#40023] [Bug:trunk] ENV.[]= should raise an error on failure — "Akinori MUSHA" <knu@...>
現在 ENV.[]= は setenv(3) や putenv(3) の返り値を見ていませんが、
[#40059] [Bug:1.8] block.callの中でsuperできない — Kouhei Sutou <kou@...>
須藤です。
[#40063] [BUG] marshaling Time.utc_offset — Nobuyoshi Nakada <nobu@...>
なかだです。
2010年1月13日13:27 Nobuyoshi Nakada <nobu@ruby-lang.org>:
なかだです。
2010年1月14日13:01 Nobuyoshi Nakada <nobu@ruby-lang.org>:
Tanaka Akira =E3=81=95=E3=82=93=E3=81=AF=E6=9B=B8=E3=81=8D=E3=81=BE=E3=81=
[#40074] [Bug #2603] NetBSD 5.0以降でpthreadの処理に由来する不具合 — Takahiro Kambe <redmine@...>
Bug #2603: NetBSD 5.0以降でpthreadの処理に由来する不具合
NTTレゾナントの三浦です。不完全なpatchを書いてすみません。
こんばんは。
kosakiです
こんにちは。
こんにちは
At Fri, 15 Jan 2010 12:25:52 +0900, Takahiro Kambe wrote:
[#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
MjAxMC8xLzE0IFRha2FoaXJvIEthbWJlIDxyZWRtaW5lQHJ1YnktbGFuZy5vcmc+Ogo+IBskQiQz
In message <a67aadf81001161911j7f5fbd1bwca86375b70cf514f@mail.gmail.com>
[#40130] arm9プロセッサ用にビルド中のトラブル — hirohito <hirohito-ml@...>
東と申します。
[#40153] [Bug:trunk] three bugs of Matrix::Scalar — Yusuke ENDOH <mame@...>
連投すみません。
けいじゅ@いしつかです.
遠藤です。
けいじゅ@いしつかです.
まつもと ゆきひろです
けいじゅ@いしつかです.
まつもと ゆきひろです
遠藤です。
けいじゅ@いしつかです.
遠藤です。
けいじゅ@いしつかです.
[#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
2010年1月26日20:39 Yusuke Endoh <redmine@ruby-lang.org>:
2010年1月26日21:49 Tanaka Akira <akr@fsij.org>:
まつもと ゆきひろです
On 1/27/10 6:29 PM, Yukihiro Matsumoto wrote:
遠藤です。
[#40165] [Bug:1.8] compatibility issue of BigDecimal#** and #power — Yusuke ENDOH <mame@...>
まつもとさんか卜部さん
[#40168] [Bug #2662] BigDecimal#ceil, etc. should not return Integer — Yusuke Endoh <redmine@...>
Bug #2662: BigDecimal#ceil, etc. should not return Integer
ちょっと試してみました。
まつもと ゆきひろです
[#40169] [Bug #2664] Failure: test_segv_test(TestRubyOptions) — Kazuhiro NISHIYAMA <redmine@...>
Bug #2664: Failure: test_segv_test(TestRubyOptions)
[#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
チケット #2673 が更新されました。 (by _ wanabe)
遠藤です。
=1B$B$`$i$?$G$9!#=1B(B
チケット #2673 が更新されました。 (by Marc-Andre Lafortune)
[#40202] [Feature:trunk] RubyVM::InstructionSequence to accept IOs — Urabe Shyouhei <shyouhei@...>
RipperはRipper#initializeでIOを受け付けますが、ISeqはそうはなっていません。
[#40209] [Bug:trunk] behavior change of some methods of Date between 1.8 and 1.9 — Yusuke ENDOH <mame@...>
ふなばさん
[#40221] [Bug:trunk] rubyspec: SimpleDelegator when frozen creates a frozen clone ERROR — Yusuke ENDOH <mame@...>
まつもとさん、または lib/delegator.rb についてわかる誰か
チケット #2679 が更新されました。 (by Yusuke Endoh)
[#40241] [Feature:trunk] rubyspec: Vector.each2 given one argument returns self when given a block FAILED — Yusuke ENDOH <mame@...>
いしつかさん
[#40265] MonitorMixin::ConditionVariable#wait timeout — Tanaka Akira <akr@...>
手元の Ubuntu 9.10 の環境で Ruby 1.9.2 を make test-all すると
前田です。
前田さん、akr さん
2010年5月5日9:32 Yusuke ENDOH <mame@tsg.ne.jp>:
遠藤です。
2010年5月5日11:46 Yusuke ENDOH <mame@tsg.ne.jp>:
遠藤です。
小崎です
2010年5月5日16:48 KOSAKI Motohiro <kosaki.motohiro@gmail.com>:
2010年5月5日13:22 Yusuke ENDOH <mame@tsg.ne.jp>:
遠藤です。
2010年5月6日19:58 Yusuke ENDOH <mame@tsg.ne.jp>:
遠藤です。
遠藤です。
2010年5月6日23:08 Yusuke ENDOH <mame@tsg.ne.jp>:
2010年5月6日23:15 KOSAKI Motohiro <kosaki.motohiro@gmail.com>:
遠藤です。
kosakiです
遠藤です。
樽家です。
遠藤です。
樽家です。
2010年5月11日19:17 Masaya TARUI <tarui@prx.jp>:
2010年5月12日23:39 Tanaka Akira <akr@fsij.org>:
2010年5月13日22:19 Masaya TARUI <tarui@prx.jp>:
[#40269] [Feature #2695] Supported Platforms — Kazuhiro NISHIYAMA <redmine@...>
Feature #2695: Supported Platforms
チケット #2695 が更新されました。 (by Yusuke Endoh)
2010/3/26 Yusuke Endoh <redmine@ruby-lang.org>:
遠藤です。
2010/3/26 Yusuke ENDOH <mame@tsg.ne.jp>:
遠藤です。
=1B$B$`$i$?$G$9!#=1B(B
[ruby-dev:40032] Re: [Feature #2571] 文字列のハミング距離
成瀬です。
(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>