Bug #354
closedTest failure test/ruby/test_transcode.rb
Added by duerst (Martin Dürst) over 16 years ago. Updated over 13 years ago.
Description
=begin
test_iso_2022_jp ので 262 行目 (と 267 行目) は RuntimeError で失敗します。
原因は "\x1b$(Dd!\x1b(B".force_encoding("iso-2022-jp") での JIS X 0212 の 区68 点01
の「銙」という字です。iso-2022-jp は成瀬さん、このテストは mane さんが入れましたので、
整理お願いできますでしょうか。
=end
Updated by naruse (Yui NARUSE) over 16 years ago
- Category set to M17N
- Status changed from Open to Assigned
- Priority changed from Normal to 3
=begin
現在の Ruby 1.9 における「ISO-2022-JP」は、同「EUC-JP」をベースに実装しているのですが、
この「EUC-JP」は正確には Microsoft CP51932 と呼ばれるものに極めて近いもの、
つまり MS 風のテーブルを用いた「EUC-JP」亜種になっています。
これには本当の EUC-JP (IANA 定義) に含まれている JIS X 0212 が含まれていません。
そのため、その実装を用いている「ISO-2022-JP」にも JIS X 0212 が含まれず、
このバグが発生するわけです。
以上のような理由のため、修正は transcode の仕様の確定待ちとなるため、
「当面の間修正されない既知のバグ」というのが現在のステータスになります。
なので、そのような趣旨の別ファイルにテストを移動したい¶
なお、workaround としては「iconv または nkf を用いる」になります。
=end
Updated by naruse (Yui NARUSE) over 16 years ago
=begin
ISO-2022-JP は JIS X 0212 を含まないのではないかという指摘をいただきました、仰る通り。
ここで、
- ISO-2022-JP-1 には含むので、そちらに移す
- EUC-JP は含むのでそちらに移す
- ISO-2022-JP が含むべきなのに現在含んでいない文字・・・はないので、
マッピングが誤っているものを書く - そういえばいわゆる半角カナが変換できちゃうのでそれも
などという対処がありえますが、失敗するテストばかり追加してもしょうがないので、
reminder がわりにとりあえず現在のでいいかなーと。
=end
Updated by duerst (Martin Dürst) over 16 years ago
- Status changed from Assigned to Closed
- Assignee changed from naruse (Yui NARUSE) to duerst (Martin Dürst)
=begin
色々な情報ありがとうございます。それに合わせてテストを修正しました。
reminder をコメントに残しました。テストと実装の隔たりがなくなりましたので、
close します。
=end
Updated by mame (Yusuke Endoh) over 16 years ago
=begin
遠藤です。
2008/07/25 2:41 NARUSE, Yui naruse@airemix.jp:
行単位の restart は ISO-2022-JP や UTF-7 は可能な気がします。
つまるところ、decode しなくても改行の認識が可能な encoding については、
gets をサポートする方向です。
test_terminator_stateful_conversion(TestIO_M17N) のように、gets に
デリミタを指定するようなのも、サポート対象外ですよね。たぶん。
サポート対象外の要求に対しては NotImplementedError を投げるのは
どうでしょうか。これならそれなりにテストが書けそうです。
Index: io.c¶
--- io.c (revision 18257)
+++ io.c (working copy)
@@ -323,11 +323,17 @@
return;
}
+static rb_encoding *io_input_encoding(rb_io_t *fptr);
+
static void
io_ungetc(VALUE str, rb_io_t *fptr)
{
int len = RSTRING_LEN(str);
-
if (rb_enc_dummy_p(io_input_encoding(fptr))) {
-
rb_raise(rb_eNotImpError, "ungetc against dummy encoding is not
currently supported"); -
}
-
if (fptr->rbuf == NULL) {
fptr->rbuf_off = 0;
fptr->rbuf_len = 0;
@@ -1950,6 +1956,9 @@GetOpenFile(io, fptr);
rb_io_check_readable(fptr); -
if (rb_enc_dummy_p(io_input_encoding(fptr)) && rs != rb_default_rs) {
-
rb_raise(rb_eNotImpError, "gets with delimiter against dummy
encoding is not currently supported"); -
}
if (NIL_P(rs)) {
str = read_all(fptr, 0, Qnil);
if (RSTRING_LEN(str) == 0) return Qnil;
@@ -2265,6 +2274,10 @@
int r, n, cr = 0;
VALUE str; -
if (rb_enc_dummy_p(enc)) {
-
rb_raise(rb_eNotImpError, "getc against dummy encoding is not
currently supported"); -
}
-
if (io_fillbuf(fptr) < 0) {
return Qnil;
}
Index: test/ruby/test_io_m17n.rb
===================================================================
--- test/ruby/test_io_m17n.rb (revision 18257)
+++ test/ruby/test_io_m17n.rb (working copy)
@@ -161,11 +161,13 @@
with_tmpdir {
src = "before \e$B\x23\x30\x23\x31\e(B
after".force_encoding("iso-2022-jp")
generate_file('tmp', src)
-
s = open("tmp", "r:iso-2022-jp:euc-jp") {|f|
-
f.gets("0".force_encoding("euc-jp"))
-
}
-
assert_equal(Encoding.find("euc-jp"), s.encoding)
-
assert_str_equal(src.encode("euc-jp"), s)
-
assert_raise(NotImplementedError) do
-
s = open("tmp", "r:iso-2022-jp:euc-jp") {|f|
-
f.gets("0".force_encoding("euc-jp"))
-
}
-
assert_equal(Encoding.find("euc-jp"), s.encoding)
-
assert_str_equal(src.encode("euc-jp"), s)
-
}end
end
@@ -218,13 +220,30 @@
with_tmpdir {
src = "\e$B\x23\x30\x23\x31\e(B".force_encoding("iso-2022-jp")
generate_file('tmp', src)
-
open("tmp", "r:iso-2022-jp:euc-jp") {|f|
-
assert_equal("\xa3\xb0".force_encoding("euc-jp"), f.getc)
-
assert_equal("\xa3\xb1".force_encoding("euc-jp"), f.getc)
-
}
-
assert_raise(NotImplementedError) do
-
open("tmp", "r:iso-2022-jp:euc-jp") {|f|
-
assert_equal("\xa3\xb0".force_encoding("euc-jp"), f.getc)
-
assert_equal("\xa3\xb1".force_encoding("euc-jp"), f.getc)
-
}
-
end
}
end -
def test_ungetc_stateful_conversion
-
with_tmpdir {
-
src = "before \e$B\x23\x30\x23\x31\e(B
after".force_encoding("iso-2022-jp")
-
generate_file('tmp', src)
-
assert_raise(NotImplementedError) do
-
s = open("tmp", "r:iso-2022-jp:euc-jp") {|f|
-
f.ungetc("0".force_encoding("euc-jp"))
- f.read
-
}
-
assert_equal(Encoding.find("euc-jp"), s.encoding)
-
assert_str_equal(("0" + src).encode("euc-jp"), s)
-
end
- }
- end
- def test_open_ascii
with_tmpdir {
src = "abc\n"
--
Yusuke ENDOH mame@tsg.ne.jp
=end
Updated by naruse (Yui NARUSE) over 16 years ago
=begin
成瀬です。
Yusuke ENDOH wrote:
2008/07/25 1:02 Tanaka Akira akr@fsij.org:
In article e0b1e5700807240845o4c09cfa5gae142c1dd0c74170@mail.gmail.com,
"Yusuke ENDOH" mame@tsg.ne.jp writes:
- test_getc_stateful_conversion(TestIO_M17N)
- test_terminator_stateful_conversion(TestIO_M17N)
- stateful encoding は当分サポートされない
transcode は stateful encoding をサポートし始めていますよ。「サポートされないエンコーディングなので ISO-2022-JP にからんだ挙動は
不定であり、transcode は一部が偶然うまく動いているに過ぎない」と私は
理解していました。が、成瀬さんか Martin さんの言質 (と、明文化された公式のドキュメント)
が欲しいです。「サポートされない」と理解した根拠は、成瀬さんの日頃の発言と、るりまです。
enc というか鬼車というか、String クラスや正規表現といった Ruby M17N 本体では
stateful encoding はサポートしません。
一方で、transcode はそれとは別の仕組みなので独立しています。
transcode 的には、stateful encoding は restartable に現状ならないために、
getc を変換しつつ読みだすことができません。
文字単位の restart は 1.9.1 ではサポートしません。
行単位の restart は ISO-2022-JP や UTF-7 は可能な気がします。
つまるところ、decode しなくても改行の認識が可能な encoding については、
gets をサポートする方向です。
全部一気に読みこむ場合はサポートします。
まとめると、
- getc, ungetc ×
- gets ○
- read ○
以上のような限定的なサポートが提供される予定です。
--
NARUSE, Yui naruse@airemix.jp
=end
Updated by mame (Yusuke Endoh) over 16 years ago
=begin
遠藤です。
2008/07/24 0:44 Yui NARUSE redmine@ruby-lang.org:
以上のような理由のため、修正は transcode の仕様の確定待ちとなるため、
「当面の間修正されない既知のバグ」というのが現在のステータスになります。なので、そのような趣旨の別ファイルにテストを移動したい¶
賛成です。直る予定のないテストを make test-all に放置しておくのは、
-
テスト結果の視認性が悪くなり、リグレッションテストがしにくくなる
-
「テストは多少失敗しててもいい」というダメな認識が広まってしまう
-
事情を知らない人にはビルドの失敗などと区別がつかない
の 3 点から、よくないと思います。
そのような状態だと思われるテストは、以下の 3 点です。
-
test_getc_stateful_conversion(TestIO_M17N)
-
test_terminator_stateful_conversion(TestIO_M17N)
- stateful encoding は当分サポートされない
-
test_iso_2022_jp(TestTranscode)
- EUC の補助漢字は当分サポートされない
これらは test/ruby/PENDINGS.rb に移し、make test-all (や make check)
では実行しないようにしたいと思います。
(ただし、何でもかんでも PENDINGS.rb に入れたらダメです。重要。)
どんなもんでしょうか。
以下のパッチでは、make test-all-including-pendings で PENDINGS.rb も
含めたテストを走らせるようにしてみました。
Index: common.mk¶
--- common.mk (revision 18196)
+++ common.mk (working copy)
@@ -368,6 +368,9 @@
test-all:
$(RUNRUBY) "$(srcdir)/test/runner.rb" --basedir="$(TESTSDIR)"
--runner=$(TESTUI) $(TESTS)
+test-all-including-pendings:
- $(RUNRUBY) "$(srcdir)/test/runner.rb" --basedir="$(TESTSDIR)"
--runner=$(TESTUI) --pattern=PENDINGS.rb $(TESTS)
extconf: $(PREP)
$(MINIRUBY) -run -e mkdir -- -p "$(EXTCONFDIR)"
$(RUNRUBY) -C "$(EXTCONFDIR)" $(EXTCONF) $(EXTCONFARGS)
Index: test/ruby/test_transcode.rb
--- test/ruby/test_transcode.rb (revision 18196)
+++ test/ruby/test_transcode.rb (working copy)
@@ -259,13 +259,11 @@
assert_raise(RuntimeError) { "\x1b$(A".encode("utf-8", "iso-2022-jp") }
assert_equal("\uff71\uff72\uff73\uff74\uff75",
"\x1b(I12345\x1b(B".force_encoding("iso-2022-jp").encode("utf-8")) #
JIS X 0201 ァィゥェォ
-
assert_equal("\u9299", "\x1b$(Dd!\x1b(B".encode("utf-8",
"iso-2022-jp")) # JIS X 0212 区68 点01 ?
assert_raise(RuntimeError) { "\x1b$C".encode("utf-8", "iso-2022-jp") }
assert_raise(RuntimeError) { "\x1e".encode("utf-8", "iso-2022-jp") }
assert_raise(RuntimeError) { "\x80".encode("utf-8", "iso-2022-jp") }assert_equal("\x1b(I12345\x1b(B".force_encoding("iso-2022-jp"),
"\uff71\uff72\uff73\uff74\uff75".encode("iso-2022-jp")) -
assert_equal("\x1b$(Dd!\x1b(B".force_encoding("iso-2022-jp"),
"\u9299".encode("iso-2022-jp"))
end
end
Index: test/ruby/test_io_m17n.rb
===================================================================
--- test/ruby/test_io_m17n.rb (revision 18196)
+++ test/ruby/test_io_m17n.rb (working copy)
@@ -157,18 +157,6 @@
}
end -
def test_terminator_stateful_conversion
-
with_tmpdir {
-
src = "before \e$B\x23\x30\x23\x31\e(B
after".force_encoding("iso-2022-jp")
-
generate_file('tmp', src)
-
s = open("tmp", "r:iso-2022-jp:euc-jp") {|f|
-
f.gets("0".force_encoding("euc-jp"))
-
}
-
assert_equal(Encoding.find("euc-jp"), s.encoding)
-
assert_str_equal(src.encode("euc-jp"), s)
-
}
-
end
-
def test_nonascii_terminator
with_tmpdir {
generate_file('tmp', "before \xA2\xA2 after")
@@ -214,17 +202,6 @@
}
end -
def test_getc_stateful_conversion
-
with_tmpdir {
-
src = "\e$B\x23\x30\x23\x31\e(B".force_encoding("iso-2022-jp")
-
generate_file('tmp', src)
-
open("tmp", "r:iso-2022-jp:euc-jp") {|f|
-
assert_equal("\xa3\xb0".force_encoding("euc-jp"), f.getc)
-
assert_equal("\xa3\xb1".force_encoding("euc-jp"), f.getc)
-
}
-
}
-
end
-
def test_open_ascii
with_tmpdir {
src = "abc\n"
Index: test/ruby/PENDINGS.rb
===================================================================
--- test/ruby/PENDINGS.rb (revision 0)
+++ test/ruby/PENDINGS.rb (revision 0)
@@ -0,0 +1,62 @@
+# -- encoding: ASCII-8BIT -- # make sure this runs in binary mode
+# some of the comments are in UTF-8
+require 'test/unit'
+require 'tmpdir'
+require 'timeout'
+
+class TestIO_M17N_PENDING < Test::Unit::TestCase
- def with_tmpdir
- Dir.mktmpdir {|dir|
-
Dir.chdir(dir) {
-
yield dir
-
}
- }
- end
- def generate_file(path, content)
- open(path, "wb") {|f| f.write content }
- end
- def encdump(str)
- "#{str.dump}.force_encoding(#{str.encoding.name.dump})"
- end
- def assert_str_equal(expected, actual, message=nil)
- full_message = build_message(message, <<EOT)
+#{encdump expected} expected but not equal to
+#{encdump actual}.
+EOT - assert_block(full_message) { expected == actual }
- end
- def test_getc_stateful_conversion
- with_tmpdir {
-
src = "\e$B\x23\x30\x23\x31\e(B".force_encoding("iso-2022-jp")
-
generate_file('tmp', src)
-
open("tmp", "r:iso-2022-jp:euc-jp") {|f|
-
assert_equal("\xa3\xb0".force_encoding("euc-jp"), f.getc)
-
assert_equal("\xa3\xb1".force_encoding("euc-jp"), f.getc)
-
}
- }
- end
- def test_terminator_stateful_conversion
- with_tmpdir {
-
src = "before \e$B\x23\x30\x23\x31\e(B
after".force_encoding("iso-2022-jp")
-
generate_file('tmp', src)
-
s = open("tmp", "r:iso-2022-jp:euc-jp") {|f|
-
f.gets("0".force_encoding("euc-jp"))
-
}
-
assert_equal(Encoding.find("euc-jp"), s.encoding)
-
assert_str_equal(src.encode("euc-jp"), s)
- }
- end
+end
+class TestTranscode_PENDING < Test::Unit::TestCase
- def test_euc_jis_x_0212
- assert_equal("\u9299", "\x1b$(Dd!\x1b(B".encode("utf-8",
"iso-2022-jp")) # JIS X 0212 区68 点01 ? - assert_equal("\x1b$(Dd!\x1b(B".force_encoding("iso-2022-jp"),
"\u9299".encode("iso-2022-jp")) - end
+end
--
Yusuke ENDOH mame@tsg.ne.jp
=end
Updated by mame (Yusuke Endoh) over 16 years ago
=begin
2008/07/25 1:02 Tanaka Akira akr@fsij.org:
In article e0b1e5700807240845o4c09cfa5gae142c1dd0c74170@mail.gmail.com,
"Yusuke ENDOH" mame@tsg.ne.jp writes:
- test_getc_stateful_conversion(TestIO_M17N)
- test_terminator_stateful_conversion(TestIO_M17N)
- stateful encoding は当分サポートされない
transcode は stateful encoding をサポートし始めていますよ。
「サポートされないエンコーディングなので ISO-2022-JP にからんだ挙動は
不定であり、transcode は一部が偶然うまく動いているに過ぎない」と私は
理解していました。
が、成瀬さんか Martin さんの言質 (と、明文化された公式のドキュメント)
が欲しいです。
「サポートされない」と理解した根拠は、成瀬さんの日頃の発言と、るりまです。
http://doc.loveruby.net/refm/api/view/spec/m17n
ダミーエンコーディング
サポートしません。Ruby はエンコーディングの名前だけ知っている状態です。ISO-2022-JP, UTF-7 がこれにあたります。
--
Yusuke ENDOH mame@tsg.ne.jp
=end
Updated by mame (Yusuke Endoh) over 16 years ago
=begin
遠藤です。
2008/07/30 7:33 Tanaka Akira akr@fsij.org:
In article e0b1e5700807290517mee11539lfbd82d4dfc98c53f@mail.gmail.com,
"Yusuke ENDOH" mame@tsg.ne.jp writes:2008/07/25 2:41 NARUSE, Yui naruse@airemix.jp:
行単位の restart は ISO-2022-JP や UTF-7 は可能な気がします。
つまるところ、decode しなくても改行の認識が可能な encoding については、
gets をサポートする方向です。test_terminator_stateful_conversion(TestIO_M17N) のように、gets に
デリミタを指定するようなのも、サポート対象外ですよね。たぶん。なんでサポート対象外なんですか?
改行の認識の話ばっかりだったので、そういう前提かと誤読してました。
ちょっと UTF-7 を調べてみたんですが、RFC 2152 によると任意の文字を
BASE64 でエンコードしてもいいようです。
$ echo foo+AAo-bar | iconv -f=UTF-7 -t=UTF-8 | od -c
0000000 f o o \n b a r \n
0000010
これでは改行文字が認識できない可能性があるので、UTF-7 に対する
gets は一切禁止しなければならないと思います。
それならいっそ dummy encoding に対する gets はすべて禁止しちゃえ、
というのが私の意見です。
が、どうしても ISO-2022-JP で gets したいという需要が無視できない
のでしたら、gets で ISO-2022-JP だけ特別扱いするのはどうでしょう。
IO が stateful encoding をサポートする日までの workaround です。
ESC 以外の制御文字だけからなるデリミタだけは通すようにしました。
Index: io.c¶
--- io.c (revision 18264)
+++ io.c (working copy)
@@ -1956,8 +1956,23 @@
GetOpenFile(io, fptr);
rb_io_check_readable(fptr);
- if (rb_enc_dummy_p(io_input_encoding(fptr)) && rs != rb_default_rs) {
- rb_raise(rb_eNotImpError, "gets with delimiter against dummy
encoding is not currently supported");
- /* FIXME! please support stateful encoding */
- if (rb_enc_dummy_p(io_input_encoding(fptr))) {
- const char *name = rb_enc_name(io_input_encoding(fptr));
- if ((strcmp(name, "ISO-2022-JP") == 0 || strcmp(name, "ISO2022-JP") == 0 ||
-
strcmp(name, "ISO-2022-JP2") == 0 || strcmp(name, "ISO2022-JP2") == 0) &&
-
!NIL_P(rs) && rs != rb_default_rs) {
-
int i;
-
for (i = 0; i < RSTRING_LEN(rs); i++) {
-
char c = RSTRING_PTR(rs)[i];
-
if (c == 0x1b || 0x20 <= c) {
-
rb_raise(rb_eNotImpError, "gets against dummy encoding is not
currently supported");
-
}
-
}
- }
- else {
-
rb_raise(rb_eNotImpError, "gets against dummy encoding is not
currently supported");
- }
}
if (NIL_P(rs)) {
str = read_all(fptr, 0, Qnil);
--
Yusuke ENDOH mame@tsg.ne.jp
=end
Updated by Tietew (Toru Iwase) over 16 years ago
=begin
On Wed, 30 Jul 2008 19:10:29 +0900
In article e0b1e5700807300311v13752775mcf8bb5086753051d@mail.gmail.com
[[ruby-dev:35695] Re: PENDINGS.rb (Was: Re: [Ruby 1.9 - Bug #354] (Assigned) Test failure test/ruby/test_transcode.rb)]
"Yusuke ENDOH" mame@tsg.ne.jp wrote:
これでは改行文字が認識できない可能性があるので、UTF-7 に対する
gets は一切禁止しなければならないと思います。
それならいっそ dummy encoding に対する gets はすべて禁止しちゃえ、
というのが私の意見です。
UTF-7 で (CR)LF がエンコードされていても(当面は?)認識しませんよ、とい
うことでいいんじゃないでしょうか。
ほんと、UTF-7 て嫌なエンコーディングだ……¶
--
Tietew tietew@tietew.net
Blog: http://www.tietew.jp/
PGP: 26CB 71BB B595 09C4 0153 81C4 773C 963A D51B 8CAA
=end
Updated by mame (Yusuke Endoh) over 16 years ago
=begin
遠藤です。
2008/07/30 20:24 Tanaka Akira akr@fsij.org:
In article e0b1e5700807300311v13752775mcf8bb5086753051d@mail.gmail.com,
"Yusuke ENDOH" mame@tsg.ne.jp writes:これでは改行文字が認識できない可能性があるので、UTF-7 に対する
gets は一切禁止しなければならないと思います。
それならいっそ dummy encoding に対する gets はすべて禁止しちゃえ、
というのが私の意見です。ISO-2022-JP でも UTF-7 でも、変換してから改行文字を認識する
ようにすればいいのでは?
なるほど。
そのためには、transcode がもっとまともな変換 API を提供する
必要があります
もう 1.9.1 には間に合わないといわれているので、これは 1.9.2
以降の課題じゃないでしょうか。1.9.1 に間に合えばそれにこした
ことはないですが、落としどころを見つけて仮の仕様としておいた
方がいいと思います。
--
Yusuke ENDOH mame@tsg.ne.jp
=end
Updated by mame (Yusuke Endoh) over 16 years ago
=begin
遠藤です。
2008/07/30 19:41 Tietew tietew@tietew.net:
On Wed, 30 Jul 2008 19:10:29 +0900
In article e0b1e5700807300311v13752775mcf8bb5086753051d@mail.gmail.com
[[ruby-dev:35695] Re: PENDINGS.rb (Was: Re: [Ruby 1.9 - Bug #354] (Assigned) Test failure test/ruby/test_transcode.rb)]
"Yusuke ENDOH" mame@tsg.ne.jp wrote:これでは改行文字が認識できない可能性があるので、UTF-7 に対する
gets は一切禁止しなければならないと思います。
それならいっそ dummy encoding に対する gets はすべて禁止しちゃえ、
というのが私の意見です。UTF-7 で (CR)LF がエンコードされていても(当面は?)認識しませんよ、とい
うことでいいんじゃないでしょうか。
なるほど。デリミタを指定した場合はどうでしょうか。
- デリミタがエンコードされていても認識しませんよ
- デリミタと同じ文字列がエンコード上で現れたらそこで切りますよ
というのが今までの実装です。私の理解が正しければ。
これが仕様でいいなら、ISO-2022-JP に対する gets が変なところで
切れるのも仕様ってことで、テストを直して終わりです。
個人的には「できないならできない」と言って欲しいですけど。
--
Yusuke ENDOH mame@tsg.ne.jp
=end
Updated by Tietew (Toru Iwase) over 16 years ago
=begin
On Wed, 30 Jul 2008 20:44:36 +0900
In article e0b1e5700807300445q11e6faa2hbd07140bdd837c0d@mail.gmail.com
[[ruby-dev:35698] Re: PENDINGS.rb (Was: Re: [Ruby 1.9 - Bug #354] (Assigned) Test failure test/ruby/test_transcode.rb)]
"Yusuke ENDOH" mame@tsg.ne.jp wrote:
ISO-2022-JP でも UTF-7 でも、変換してから改行文字を認識する
ようにすればいいのでは?なるほど。
ruby workaround としては、
open(file, "r:utf-7:utf-8") do |f|
f = StringIO.new(f.read) # 変換
while line = f.gets # ただしく動く
# I am happy
end
end
てな感じですよね。大きいファイルのことは考えていませんが。
そのためには、transcode がもっとまともな変換 API を提供する
必要がありますもう 1.9.1 には間に合わないといわれているので、これは 1.9.2
以降の課題じゃないでしょうか。1.9.1 に間に合えばそれにこした
ことはないですが、落としどころを見つけて仮の仕様としておいた
方がいいと思います。
現状維持(ステートフルのことは考慮外)でいいんじゃないかと思います。
変なところで切れても「あとで直す予定」ということで。
--
Tietew tietew@tietew.net
Blog: http://www.tietew.jp/
PGP: 26CB 71BB B595 09C4 0153 81C4 773C 963A D51B 8CAA
=end
Updated by mame (Yusuke Endoh) over 16 years ago
=begin
遠藤です。
2008/07/30 21:39 Tietew tietew@tietew.net:
そのためには、transcode がもっとまともな変換 API を提供する
必要がありますもう 1.9.1 には間に合わないといわれているので、これは 1.9.2
以降の課題じゃないでしょうか。1.9.1 に間に合えばそれにこした
ことはないですが、落としどころを見つけて仮の仕様としておいた
方がいいと思います。現状維持(ステートフルのことは考慮外)でいいんじゃないかと思います。
変なところで切れても「あとで直す予定」ということで。
常識的なデータに対しては現状でうまく動きそうなので、そのままに
しておいてほしい、ということですかね。
あまり好きじゃないですが、強く反対はしません。
これが採択されるなら、それにあわせてテストを変えようと思います。
ふと思ったのですが、この中途半端な仕様が脆弱性の誘因になることは
ないですよね?
--
Yusuke ENDOH mame@tsg.ne.jp
=end