[#31320] Import RubyGems to Ruby 1.9 — "NAKAMURA, Hiroshi" <nakahiro@...>
-----BEGIN PGP SIGNED MESSAGE-----
なかだです。
-----BEGIN PGP SIGNED MESSAGE-----
-----BEGIN PGP SIGNED MESSAGE-----
-----BEGIN PGP SIGNED MESSAGE-----
-----BEGIN PGP SIGNED MESSAGE-----
まつもと ゆきひろです
-----BEGIN PGP SIGNED MESSAGE-----
-----BEGIN PGP SIGNED MESSAGE-----
まつもと ゆきひろです
-----BEGIN PGP SIGNED MESSAGE-----
まつもと ゆきひろです
-----BEGIN PGP SIGNED MESSAGE-----
まつもと ゆきひろです
-----BEGIN PGP SIGNED MESSAGE-----
まつもと ゆきひろです
-----BEGIN PGP SIGNED MESSAGE-----
まつもと ゆきひろです
In article <E1Ika5D-0007fc-GG@x31>,
-----BEGIN PGP SIGNED MESSAGE-----
まつもと ゆきひろです
-----BEGIN PGP SIGNED MESSAGE-----
In message <471447D5.5050902@sarion.co.jp>
咳といいます。
Rubygems は、基本的に他のパッケージシステムから包みやすい作り
In message <868x62huhe.knu@iDaemons.org>
At Wed, 17 Oct 2007 22:04:23 +0900,
Tuesday 16 October 2007 14:09:13 に NAKAMURA, Hiroshi さんは書きました:
-----BEGIN PGP SIGNED MESSAGE-----
押田です。
Sunday 21 October 2007 00:17:43 に NAKAMURA, Hiroshi さんは書きました:
> ちなみに「ruby/1.9.1の標準添付からどのライブラリを外すか?」という議論も
-----BEGIN PGP SIGNED MESSAGE-----
-----BEGIN PGP SIGNED MESSAGE-----
ささだです。
-----BEGIN PGP SIGNED MESSAGE-----
まつもと ゆきひろです
-----BEGIN PGP SIGNED MESSAGE-----
> U parsearg, tadf
まつもと ゆきひろです
-----BEGIN PGP SIGNED MESSAGE-----
[#31323] Bignum#to_s の Karatsuba 基数変換による高速化 — "Kenta Murata" <muraken@...>
むらけんです.
まつもと ゆきひろです
むらけんです.
まつもと ゆきひろです
遠藤です。
むらたです.
遠藤です。
むらたです.
[#31333] Invalid error message by illegal regexp — KIMURA Koichi <kimura.koichi@...>
木村です。
[#31351] set_trace_func NULL pointer given — eklerni <eklerni@...>
From:eklerni
[#31357] invalid string for Date.parse — Yukihiro Matsumoto <matz@...>
まつもと ゆきひろです
> となります。どうも、junではじまっているので6月とみなしている
なかだです。
[#31371] simultaneous exceptions dump core — "Yusuke ENDOH" <mame@...>
遠藤と申します。
ささだです。
遠藤です。
[#31376] Re: [ ruby-Bugs-9490 ] Date module, step method, infinite loop if +step+ is 0 should raise an exception? — Urabe Shyouhei <shyouhei@...>
rubyforgeで表題の件が卜部にassignされてるのですが、どうしましょう。
Date のほうで、合せたらいいというのなら、それでいいと思います。
[#31377] Re: [ ruby-Patches-11719 ] add a :passive option to open-uri's open method — Urabe Shyouhei <shyouhei@...>
rubyforgeで表題の件が卜部にassignされてるのですが、どうしましょう。
In article <46BE0E9B.70309@ruby-lang.org>,
[#31397] File exists - /tmp/bootstraptest.tmpwd — Tanaka Akira <akr@...>
ひとつのマシンで、あるユーザが btest した後、他のユーザが
ささだです。
In article <46C18A65.7030209@atdot.net>,
[#31407] [BUG] Stack consistency error (sp: 11, bp: 12) — Tanaka Akira <akr@...>
以下のようにすると Stack consistency error になります。
[#31448] Ruby's (new) Bizarre Operator(s) — Nobuyoshi Nakada <nobu@...>
なかだです。
まつもと ゆきひろです
バンサンです。
[#31462] Dir.mktmpdir for 1.8 — Tanaka Akira <akr@...>
Dir.mktmpdir を 1.8 に入れたいんですが、どうでしょう?
まつもと ゆきひろです
In article <E1IMCUq-00083X-Uo@x31>,
[#31470] nested fiber invocation — Yukihiro Matsumoto <matz@...>
まつもと ゆきひろです
[#31473] setter of $! — SASADA Koichi <ko1@...>
ささだです。
[#31475] lambda {|(v0,v1),v2|}.call([1],2) — Tanaka Akira <akr@...>
以下の例は ArgumentError になりません。
ささだです。
[#31502] {|(a,a)|} — Tanaka Akira <akr@...>
以下がエラーになりません。
[#31522] a, a = 1, 2 — Tanaka Akira <akr@...>
ふと気がついたんですが、a, a = 1, 2 とすると、1.8 と 1.9 で
こんにちは、なかむら(う)です。
[#31525] いくつかのバグ報告と提案(5点) — eklerni <eklerni@...>
From:eklerni
なかだです。
まつもと ゆきひろです
[#31539] strtod の精度 — Satoshi Nakagawa <snakagawa@...>
中川といいます。
まつもと ゆきひろです
中川です。
中川です。
まつもと ゆきひろです
中川です。
中川です。
まつもと ゆきひろです
In article <EEC70971-AED4-4830-801B-A507561AEDCD@infoteria.co.jp>,
[#31576] test/win32ole — SASADA Koichi <ko1@...>
ささだです.
[#31583] Fiber reviesed — SASADA Koichi <ko1@...>
ささだです.
遠藤です。
ささだです.
遠藤です。
ささだです.
[#31625] IO.sysdup2, IO.sysdup, IO.sysclose — Tanaka Akira <akr@...>
redirect の処理をちょっと書いてみたところ、
まつもと ゆきひろです
In article <E1IOaVr-0001Yu-4H@x31>,
In article <87d4xc97ml.fsf@fsij.org>,
[#31646] Re: [ruby-cvs:20498] Ruby:r13261 (trunk): * encoding.c: provide basic features for M17N. — Tanaka Akira <akr@...>
In article <200708250329.l7P3TjNP004245@ci.ruby-lang.org>,
まつもと ゆきひろです
[#31651] rb_enc_mbclen — Tanaka Akira <akr@...>
rb_enc_mbclen のインターフェースは GB18030 などで困るんじゃ
[ruby-dev:31350] Re: RDoc i18n化パッチ
黒田拓です。
なかださん、お返事ありがとうございました。
Nobuyoshi Nakada さんは書きました:
> 基本的には、こういった機能追加は1.8ではなく1.9でしょう。
言われてみればそうでした。
頂いた助言を元にパッチを作り直したのですが、今回、パッチ元は1.9にしました。
> 細かいことをいうと、remove_unwanted_langがちょっとまどろっこしい
> かな。
修正、ありがとうございました。自分の書いたコードがえらくスッキリと変わっ
ていて驚きました。
> * lang: が視覚的な区切りとして認識しづらい
とりあえず:section:とかと同様に、:lang: を区切りにするようにしたのです
が、あまり変わらないですね。悩ましいところです。
他に、
> if l.sub!(/^(\s*\#?).*\s*lang:\s*([a-z]{2})/n, '\1')
> sl = $2
などとして「`:lang: ja'の前後に任意の文字を入れられる」とかも考えてみた
のですが、条件がゆるすぎるような気がして今回提出のパッチには入れていない
です。
後は使い方の問題にして、ドキュメントを書く際に言語指定の前に空行だけのコ
メント行を入れて目立たせるとかでしょうか。
> * 出力されたHTMLのcharsetがiso8859-1のまま
> * 異なるエンコーディングはどう扱うべきか
> といったあたりが疑問です。
まず、デフォルトのcharset指定をUTF-8に変更してみました。
そして、出力するcharsetに応じて、Kconvを使って変換するオプションを追加し
てみました。
起動時に
* -K オプションが指定されていたらKconvを使って変換する
* `-k euc' などとして変換元の文字コードを指定出来る
* -kによる指定がない場合は、変換元文字コードにはKconv::AUTOを使う
という動作です。
~/$ rdoc -l ja -K -k euc -c Shift_jis
といった具合です。
他の言語がどう記述されるか見当がつかなかったので(本当に多言語なドキュメ
ントをソースに入れるならUTF-8を使うことになるのでしょうか)、僕の方ではと
りあえず日本語のみを念頭に考えています。
--
--------------------------------------------------
黒田 拓(くろだ ひらく)
hiraku@sapporo.email.ne.jp
http://www.hinet.mydns.jp/~hiraku/
--------------------------------------------------
Attachments (1)
diff -ur ruby1.9.orig/lib/rdoc/options.rb ruby1.9/lib/rdoc/options.rb
--- ruby1.9.orig/lib/rdoc/options.rb 2007-02-13 08:01:19.000000000 +0900
+++ ruby1.9/lib/rdoc/options.rb 2007-08-05 23:45:11.000000000 +0900
@@ -94,6 +94,12 @@
# scan newer sources than the flag file if true.
attr_reader :force_update
+ # Language of Document
+ attr_reader :lang
+ attr_reader :lang_strict
+ attr_reader :kcode
+ attr_reader :kconv
+
module OptionList
OPTION_LIST = [
@@ -238,6 +244,18 @@
"name of the current file will be substituted;\n" +
"if the URL doesn't contain a '\%s', the\n" +
"filename will be appended to it." ],
+
+ [ "--lang", "-l", "language",
+ "Set language of document."],
+
+ [ "--lang-strict", "-L", nil,
+ "Use ONLY language-specified(or not specified) document."],
+
+ [ "--kconv", "-K", nil,
+ "Convert comment charset by kconv."],
+
+ [ "--kcode", "-k", "kcode",
+ "Set charset of comments in source file."],
]
def OptionList.options
@@ -381,7 +399,7 @@
when /^E/i
'EUC-JP'
else
- 'iso-8859-1'
+ 'UTF-8'
end
accessors = []
@@ -409,6 +427,10 @@
when "--template" then @template = arg
when "--title" then @title = arg
when "--webcvs" then @webcvs = arg
+ when "--lang" then @lang = arg
+ when "--lang-strict" then @lang_strict = true
+ when "--kcode" then @kcode = arg
+ when "--kconv" then @kconv = true
when "--accessor"
arg.split(/,/).each do |accessor|
diff -ur ruby1.9.orig/lib/rdoc/parsers/parse_rb.rb ruby1.9/lib/rdoc/parsers/parse_rb.rb
--- ruby1.9.orig/lib/rdoc/parsers/parse_rb.rb 2007-02-13 08:01:19.000000000 +0900
+++ ruby1.9/lib/rdoc/parsers/parse_rb.rb 2007-08-05 23:45:11.000000000 +0900
@@ -2339,6 +2339,9 @@
context.set_current_section(param, comment)
comment.clear
break
+
+ when "lang"
+ break
else
warn "Unrecognized directive '#{directive}'"
break
@@ -2346,6 +2349,7 @@
end
remove_private_comments(comment)
+ remove_unwanted_lang(comment)
end
def remove_private_comments(comment)
@@ -2353,6 +2357,42 @@
comment.sub!(/^#--.*/m, '')
end
+ def remove_unwanted_lang(comment)
+ dl = @options.lang # Document Language
+ strict = @options.lang_strict
+ sl = nil # Section Language
+ r = []
+ comment.each_line do |l|
+ if l.sub!(/^(\s*\#?)\s*:lang:\s*([a-z]{2})(?=\s|$)/n, '\1')
+ sl = $2
+ r << l
+ elsif sl == dl or !(strict || (dl && sl))
+ r << l
+ end
+ end
+
+ r = r.join
+ if @options.kconv
+ require "kconv"
+ oc, ic = [@options.charset, @options.kcode].map do |i|
+ case i
+ when /^s/i
+ Kconv::SJIS
+ when /^e/i
+ Kconv::EUC
+ when /^u/i
+ Kconv::UTF8
+ else
+ nil
+ end
+ end
+ oc = Kconv::UTF8 unless oc
+ ic = Kconv::AUTO unless ic
+ r = r.kconv(oc, ic)
+ end
+
+ comment.replace(r)
+ end
def get_symbol_or_name