From 5d828b25d4ae30a000c054a724ac248dadbb97b3 Mon Sep 17 00:00:00 2001 From: Yukihiro Matsumoto Date: Tue, 10 Jan 1995 00:58:20 +0900 Subject: version 0.64 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit https://cache.ruby-lang.org/pub/ruby/1.0/ruby-0.64.tar.gz Tue Jan 10 00:58:20 1995 Yukihiro Matsumoto (matz@dyna) * eval.c: レシーバと引数は常にiterではない. * cons.c(aref,aset): negative offset対応. Mon Jan 9 14:40:39 1995 Yukihiro Matsumoto (matz@ix-02) * parse.y: foo{..}の形式において,fooをローカル変数やクラス名では なく,引数なしの関数型メソッド呼び出しとみなすようにした. * list.c -> cons.c: 名称変更(クラス名も). * list.c: a::b::c::nilをリスト(a b c)とみなすlisp形式から,a::b::c をリスト(a b c)とみなすruby形式に変更.[], []=, eachもそれに会わ せた仕様とする. * list.c: consペアとしての機能を強調.仕様変更. Sat Jan 7 01:26:26 1995 Yukihiro Matsumoto (matz@dyna) * eval.c: 自己代入の不具合修正. * eval.c(masign): 多重代入が配列もリストもとれるようにした. * list.c: assocを2要素の配列からList(CONSペア)に変更した. Fri Jan 6 13:42:12 1995 Yukihiro Matsumoto (matz@ix-02) * parse.y: a[b]+=cやa.b+=cなどの自己代入形式で,aやbを2度評価しな くなった. * eval.c: iterator設定のバグフィックス. * list.c: Listクラスを新設. Thu Jan 5 13:55:00 1995 Yukihiro Matsumoto (matz@ix-02) * parse.y: SCOPEのメモリリークをなくした. * eval.c: built-inメソッドへの引数の引き渡し方を変更して,配列の生 成数を減らした. * re.c: match-dataを毎回生成することをやめた.`$~'をアクセスした時 にon-demandで生成する. * string.c etc: 不必要なmemmoveをmemcpyに置換. * parse.y: =~, !~は副作用があるのでコンパイル時に展開できない. Tue Jan 3 02:04:36 1995 Yukihiro Matsumoto (matz@dyna) * eval.c: rest引数のbug fix. * eval.c,gc.c: scopeをオブジェクトにした. * eval.c: envとscopeの扱いを変更した. Wed Dec 28 09:46:57 1994 Yukihiro Matsumoto (matz@ix-02) * parse.y: evalでローカル変数が追加された場合に対応した. * parse.y: 演算子を含むaliasのbug fix. Tue Dec 27 16:45:20 1994 Yukihiro Matsumoto (matz@ix-02) * parse.y: def A Bをalias A Bに変更. * eval.c: alias関係のbug修正.nodeをオブジェクト化した時にenbugし たようだ. * signal.c: システムコールの再定義を止めた. * io.c(select): write/exceptのフラグ設定にバグ. * Makefile.in: static link用オプションをMake変数として独立させた. --- file.c | 32 +++++++++++++++++++------------- 1 file changed, 19 insertions(+), 13 deletions(-) (limited to 'file.c') diff --git a/file.c b/file.c index 8fd04bc8b1..bae2c3140b 100644 --- a/file.c +++ b/file.c @@ -4,7 +4,7 @@ file.c - $Author: matz $ - $Date: 1994/12/09 09:40:19 $ + $Date: 1995/01/10 10:42:36 $ created at: Mon Nov 15 12:24:34 JST 1993 Copyright (C) 1994 Yukihiro Matsumoto @@ -837,15 +837,17 @@ chmod_internal(path, mode) } static VALUE -Sfile_chmod(obj, args) - VALUE obj, args; +Sfile_chmod(argc, argv, obj) + int argc; + VALUE *argv; + VALUE obj; { VALUE vmode; VALUE rest; int mode, n; VALUE path; - rb_scan_args(args, "1*", &vmode, &rest); + rb_scan_args(argc, argv, "1*", &vmode, &rest); mode = NUM2INT(vmode); n = apply2files(chmod_internal, rest, mode); @@ -882,14 +884,16 @@ chown_internal(path, args) } static VALUE -Sfile_chown(obj, args) - VALUE obj, args; +Sfile_chown(argc, argv, obj) + int argc; + VALUE *argv; + VALUE obj; { VALUE o, g, rest; struct chown_args arg; int n; - rb_scan_args(args, "2*", &o, &g, &rest); + rb_scan_args(argc, argv, "2*", &o, &g, &rest); if (o == Qnil) { arg.owner = -1; } @@ -932,14 +936,16 @@ utime_internal(path, tvp) } static VALUE -Sfile_utime(obj, args) - VALUE obj, args; +Sfile_utime(argc, argv, obj) + int argc; + VALUE *argv; + VALUE obj; { VALUE atime, mtime, rest; struct timeval tvp[2]; int n; - rb_scan_args(args, "2*", &atime, &mtime, &rest); + rb_scan_args(argc, argv, "2*", &atime, &mtime, &rest); tvp[0] = *time_timeval(atime); tvp[1] = *time_timeval(mtime); @@ -1134,9 +1140,9 @@ Init_File() rb_define_single_method(C_File, "mtime", Sfile_mtime, 1); rb_define_single_method(C_File, "ctime", Sfile_ctime, 1); - rb_define_single_method(C_File, "utime", Sfile_utime, -2); - rb_define_single_method(C_File, "chmod", Sfile_chmod, -2); - rb_define_single_method(C_File, "chown", Sfile_chown, -2); + rb_define_single_method(C_File, "utime", Sfile_utime, -1); + rb_define_single_method(C_File, "chmod", Sfile_chmod, -1); + rb_define_single_method(C_File, "chown", Sfile_chown, -1); rb_define_single_method(C_File, "link", Sfile_link, 2); rb_define_single_method(C_File, "symlink", Sfile_symlink, 2); -- cgit v1.2.3