[#16154] : and :: — Shin-ichiro HARA <sinara@...>
原です。
まつもと ゆきひろです
原です。
まつもと ゆきひろです
原です。
[#16178] Marshal::dump calls Proc#yield? (1.6.7) — akira yamada / やまだあきら <akira@...>
まつもと ゆきひろです
[#16191] getopts() broken — "Akinori MUSHA" <knu@...>
getopts が最新の 1.6/1.7 で動かなくなっているようなので、
[#16211] pstore.rb and sync.rb — Kazuhiro NISHIYAMA <zn@...>
西山和広です。
けいじゅ@日本ラショナルソフトウェアです.
まつもと ゆきひろです
けいじゅ@日本ラショナルソフトウェアです.
まつもと ゆきひろです
[#16214] net/http.rb version_1_2 not work — Tietew <tietew-ml-ruby-dev@...>
Tietew です。
[#16223] importing racc-runtime — "Akinori MUSHA" <knu@...>
rough にある racc runtime モジュールを眺めていたんですが、
[#16231] LoadLibraryEx vs. LoadLibrary — WATANABE Hirofumi <eban@...>
わたなべです。
[#16240] [Oni Guruma] look behind — nobu.nakada@...
なかだです。
nobu.nakada@nifty.ne.jpさんの
In article <20020307054004.BFADD57D@helium.ruby-lang.org>,
Tanaka Akiraさんの<hvog03clxib.fsf@coulee.a02.aist.go.jp>から
[#16277] Dir::glob(pattern, flags = 0) — "Akinori MUSHA" <knu@...>
しばらく放置していた、
[#16283] ライブラリ拡大計画 — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
高橋征義です。
まつもと ゆきひろです
In article <1015827556.101112.6552.nullmailer@ev.netlab.jp>,
まつもと ゆきひろです
なかだです。
あおきです。
まつもと ゆきひろです
In article <hvowuwjbo4j.fsf@coulee.a02.aist.go.jp>,
わたなべです。
At Mon, 11 Mar 2002 12:17:12 +0900,
まつもと ゆきひろです
At Wed, 27 Mar 2002 18:56:03 +0900,
まつもと ゆきひろです
At Thu, 28 Mar 2002 00:12:49 +0900,
At Thu, 28 Mar 2002 23:45:49 +0900,
まつもと ゆきひろです
なかだです。
まつもと ゆきひろです
なかだです。
At Fri, 29 Mar 2002 20:32:17 +0900,
At Sun, 31 Mar 2002 02:20:04 +0900,
At Sun, 31 Mar 2002 02:20:04 +0900,
なかだです。
わたなべです。
At Fri, 8 Mar 2002 18:05:01 +0900,
まつもと ゆきひろです
なかだです。
In article <20020314133401.3918E10F3@sharui.nakada.kanuma.tochigi.jp>,
なかだです。
In article <20020315050614.C975F10F0@sharui.nakada.kanuma.tochigi.jp>,
なかだです。
In article <20020315160435.7A84B114C@sharui.nakada.kanuma.tochigi.jp>,
なかだです。
In article <200204161515.g3GFFjM17207@sharui.nakada.kanuma.tochigi.jp>,
なかだです。
In article <200204170729.g3H7TeM15268@sharui.nakada.kanuma.tochigi.jp>,
[#16290] IO#gets improvement — nobu.nakada@...
なかだです。
In article <20020308131426.8C36123B9@sharui.nakada.kanuma.tochigi.jp>,
なかだです。
In article <20020309025151.5405C24F2@sharui.nakada.kanuma.tochigi.jp>,
なかだです。
なかだです。
わたなべです。
なかだです。
わたなべです。
なかだです。
わたなべです。
なかだです。
わたなべです。
なかだです。
[#16351] map in printf format — nobu.nakada@...
なかだです。
[#16411] block local var — "K.Kosako" <kosako@...>
Version: 1.7 latest
> コンパイル時点で、ブロック変数かどうかの判定が
[#16422] abort with message — nobu.nakada@...
なかだです。
西山和広です。
[#16423] Re: [ruby-list:34301] Re: Enumerable#inject (Re: しぶらぐっ議事録。) — Koji Arai <JCA02266@...>
新井です。
[#16433] class variable & inheritance & singlton method / 1.6.7 — sinara@...
原です。
[#16454] Re: ext/iconv does not work with iconv 2.0 (FreeBSD) (PR#273) — nobu.nakada@...
なかだです。
[#16486] mswin32 configuration — nobu.nakada@...
なかだです。
こんにちは、なかむら(う)です。
なかだです。
こんにちは、なかむら(う)です。
なかだです。
こんにちは、なかむら(う)です。
なかだです。
こんにちは、なかむら(う)です。
なかだです。
こんにちは、なかむら(う)です。
なかだです。
こんにちは、なかむら(う)です。
なかだです。
[#16508] Re: [ruby-cvs] ruby: * mkconfig.rb: don't touch rbconfig.rb if there is a trouble. — "U.Nakamura" <usa@...>
こんにちは、なかむら(う)です。
In article <20020320203914.55E9.USA@osb.att.ne.jp>,
[#16514] MAKEFLAGS for ext — nobu.nakada@...
なかだです。
[#16518] ruby-zlib cvs operation — "Akinori MUSHA" <knu@...>
At Thu, 21 Mar 2002 16:53:03 +0000,
In article <86d6xxerjd.wl@daemon.musha.org>,
新井です。
うえのです。
[#16522] sprintf("%u") — Koji Arai <JCA02266@...>
新井です。
[#16532] 定数の再定義 — Wakou Aoyama <wakou@...>
青山です。
[#16545] BigFloat — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
At Sat, 23 Mar 2002 22:55:45 +0900,
At Sun, 24 Mar 2002 02:20:26 +0900,
In article <867ko3yyik.wl@archon.local.idaemons.org>,
At Sun, 24 Mar 2002 04:21:59 +0900,
In article <864rj7yljs.wl@archon.local.idaemons.org>,
At Sun, 24 Mar 2002 07:44:15 +0900,
In article <861yeazvtg.wl@archon.local.idaemons.org>,
At Sun, 24 Mar 2002 15:41:18 +0900,
けいじゅ@日本ラショナルソフトウェアです.
けいじゅ@日本ラショナルソフトウェアです.
At Tue, 2 Apr 2002 16:16:04 +0900,
原です。
小林です。
[#16555] File.fnmatch (Re: [rubyist:1286] Re: ARGV の機能) — Koji Arai <JCA02266@...>
新井です。
In article <20020324.135631.115921076.JCA02266@nifty.ne.jp>,
新井です。
In article <20020324.143726.89024092.JCA02266@nifty.ne.jp>,
新井です。
[#16593] Oniguruma and multibyte character literal — TAKAHASHI Masayoshi <maki@...>
高橋征義です。
まつもと ゆきひろです
なかだです。
[#16609] control uid/gid — nagai@...
永井@知能.九工大です.
[#16633] socket.c/sock_addrinfo() — WATANABE Tetsuya <tetsu@...>
渡辺哲也です。
[#16636] -L for iconv — Tanaka Akira <akr@...17n.org>
FreeBSD で --prefix つきで Ruby を install するときに、ext/iconv を使
[#16652] [OniGuruma] nested repeat operator — "K.Kosako" <kosako@...>
[ruby-talk:36959]で指摘された
なかだです。
なひです。
なかだです。
なひです。
なかだです。
まつもと ゆきひろです
In article <20020329022810.68F9E17@helium.ruby-lang.org>,
Tanaka Akiraさんの<hvohemzoku6.fsf@coulee.a02.aist.go.jp>から
In article <20020329090116.832F4807@helium.ruby-lang.org>,
Tanaka Akiraさんの<hvod6xnohi8.fsf@coulee.a02.aist.go.jp>から
In article <20020402043641.5E1F6783@helium.ruby-lang.org>,
[#16697] assignment nil to $~ — Tanaka Akira <akr@...17n.org>
% ruby -e '$~ = nil'
まつもと ゆきひろです
In article <1017631490.892199.30753.nullmailer@ev.netlab.jp>,
[ruby-dev:16188] Re: Defining (Python) Source Code Encoding
なかだです。
At Sun, 3 Mar 2002 16:14:58 +0900,
TAKAHASHI Masayoshi wrote:
> > > PEP(RCRのPython版)の263番で、「Defining Python Source Code Encoding」
> > > というdraftが出ています。要するに、ソースコードのencodingの判別に、
> > >
> > > #!/usr/bin/python
> > > # -*- coding: <encoding name> -*-
> > >
> > > というEmacs互換(?)な感じのコメントを書いておけば、処理系側でも
> > > その値を使うようにする、というものです。
> >
> > この形式も考えてはいたんですが、Emacsってencodingも-*-で指定で
> > きましたっけ。
>
> python-dev では「GNU Emacs21ならutf-8でもおーけー。XEmacs
> はだめみたいだけど、どうするつもりかXEmacs communityに聞いて
> みる」と言っています。vim6ではpluginで対応できるそうです。
>
> この辺は仕様が乱立してもうれしくないので、協調してほしいところ
> ですね。
なるほど。とりあえず合わせてみますか。ってかなり手抜き。あと、
かなり謎なmodesetという単語を、もうちょっとマシなものにしないと。
> # なお、彼らは「JapaneseCodesも取り込めば、Rubyも敵じゃないよん」
> # (超意訳)とかゆってます :-)
> # http://mail.python.org/pipermail/python-dev/2002-February/020483.html
Rubyの場合、Unicodizationを考えない分codecのサイズとかは気にす
る必要はないわけですが、個別の対応が要りますからねぇ。そろそろ
m17nを取り込みたいところです。
Index: intern.h
===================================================================
RCS file: /cvs/ruby/src/ruby/intern.h,v
retrieving revision 1.81
diff -u -2 -p -r1.81 intern.h
--- intern.h 2002/02/20 06:33:24 1.81
+++ intern.h 2002/03/03 10:13:34
@@ -332,4 +332,5 @@ void ruby_load_script _((void));
void ruby_init_loadpath _((void));
void ruby_incpush _((const char*));
+void ruby_modeset _((const char*, int));
/* signal.c */
VALUE rb_f_kill _((int, VALUE*));
Index: parse.y
===================================================================
RCS file: /cvs/ruby/src/ruby/parse.y,v
retrieving revision 1.156
diff -u -2 -p -r1.156 parse.y
--- parse.y 2002/02/20 04:31:50 1.156
+++ parse.y 2002/03/03 14:54:31
@@ -2985,7 +2985,7 @@ yylex()
case '#': /* it's a comment */
- while ((c = nextc()) != '\n') {
- if (c == -1)
- return 0;
+ while (lex_p < lex_pend) {
+ ruby_modeset(lex_p, lex_pend - lex_p);
+ lex_p = lex_pend;
}
/* fall through */
Index: ruby.c
===================================================================
RCS file: /cvs/ruby/src/ruby/ruby.c,v
retrieving revision 1.56
diff -u -2 -p -r1.56 ruby.c
--- ruby.c 2002/02/10 07:55:40 1.56
+++ ruby.c 2002/03/03 17:08:44
@@ -19,4 +19,5 @@
#include "dln.h"
#include "node.h"
+#include "regex.h"
#include <stdio.h>
#include <sys/types.h>
@@ -335,5 +336,82 @@ require_libraries()
}
+/* emacsen -*- hack */
+typedef void (*rb_modeset_setter_t) _((const char *val, const char *name));
+
+struct modeset {
+ const char *name;
+ rb_modeset_setter_t func;
+};
+
+static const struct modeset modesets[] = {
+ {"coding", (rb_modeset_setter_t)rb_set_kcode},
+};
+
+static const char modeset_pattern[] = ".*-\\*-\\s*(.*?)\\s*-\\*-";
+static struct re_pattern_buffer modeset_re;
+
+static const char modeset_scan_pattern[] =
+"([^\\s\'\":;]+)\\s*:\\s*(\"(?:\\\\.|[^\"])*\"|[^\"\\s;]+)[\\s;]*";
+static struct re_pattern_buffer modeset_scan_re;
+
static void
+Init_modeset _((void))
+{
+ re_compile_pattern(modeset_pattern,
+ sizeof(modeset_pattern) - 1,
+ &modeset_re);
+ re_compile_pattern(modeset_scan_pattern,
+ sizeof(modeset_scan_pattern) - 1,
+ &modeset_scan_re);
+}
+
+void
+ruby_modeset(str, len)
+ const char *str;
+ int len;
+{
+#define str_copy(_s, _p, _n) ((_s) \
+ ? (rb_str_resize((_s), (_n)), \
+ MEMCPY(RSTRING(_s)->ptr, (_p), char, (_n)), (_s)) \
+ : ((_s) = rb_str_new((_p), (_n))))
+#define match(_re, _p, _n) (MEMZERO(®s, struct re_registers, 1), \
+ re_match(&(_re), (_p), (_n), 0, ®s))
+ struct re_registers regs;
+ VALUE name = 0, val = 0;
+
+ if (match(modeset_re, str, len) < 0) return;
+
+ len = regs.end[1] - regs.beg[1];
+ str += regs.beg[1];
+ re_free_registers(®s);
+
+ while (match(modeset_scan_re, str, len) >= 0) {
+ const struct modeset *p = modesets;
+ int e0 = regs.end[0];
+ int n1 = regs.end[1] - regs.beg[1];
+ int s2 = regs.beg[2];
+ int n2 = regs.end[2] - s2;
+ re_free_registers(®s);
+
+ str_copy(name, str, n1);
+ rb_funcall(name, rb_intern("downcase!"), 0);
+
+ do {
+ if (strncmp(p->name, RSTRING(name)->ptr, n1) == 0) {
+ str_copy(val, str + s2, n2);
+ (*p->func)(RSTRING(val)->ptr, RSTRING(name)->ptr);
+ break;
+ }
+ } while (++p < modesets + sizeof(modesets) / sizeof(*p));
+
+ len -= e0;
+ str += e0;
+ }
+
+ if (name) rb_gc_force_recycle(name);
+ if (val) rb_gc_force_recycle(val);
+}
+
+static void
process_sflag()
{
@@ -843,4 +921,7 @@ load_file(fname, script)
}
}
+ if (RSTRING(line)->len > 1) {
+ ruby_modeset(RSTRING(line)->ptr, RSTRING(line)->len);
+ }
}
else if (!NIL_P(c)) {
@@ -1007,4 +1088,6 @@ ruby_prog_init()
rb_define_readonly_variable("$-a", &do_split);
rb_global_variable(&rb_argv0);
+
+ Init_modeset();
#ifdef MSDOS
--
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
中田 伸悦