diff options
author | Yukihiro Matsumoto <matz@ruby-lang.org> | 1994-12-19 12:01:10 +0900 |
---|---|---|
committer | Takashi Kokubun <takashikkbn@gmail.com> | 2019-08-17 22:09:31 +0900 |
commit | b3f9ba5a3720de81a9a14d9d906509f81abeef7a (patch) | |
tree | b5203ba2322aeb4ba05df7ddeb4d17369bd3e63a /env.h | |
parent | 00e36aa09f54925c2f9c30524b48f4f54a9adb23 (diff) |
version 0.62v0_62
https://cache.ruby-lang.org/pub/ruby/1.0/ruby-0.62.tar.gz
Mon Dec 19 12:01:10 1994 Yukihiro Matsumoto (matz@ix-02)
* parse.y(cond): 条件式に代入式が置かれた場合,`-v'オプションで警
告が出るように.
* parse.y(**): 冪乗演算子`**'の優先順位を単項演算子より高くした.
* parse.y(and,or): 優先順位の低い演算子`and', `or'.
* 0.62 released.
* eval.c: 不必要になったPUSH_ENV, POP_ENVを減らした.
* env.h: ENVIONからselfをはずした.PUSH_ENVはsuperの準備のためだけ
に用いることにした.
* eval.c: 下記のオブジェクト化で遅くなった実行速度をもとに戻した.
Mon Dec 17 23:01:10 1994 Yukihiro Matsumoto (matz@ix-02)
* eval.c: env.{argv,argc}とscope.local_varsのオブジェクト化.
* eval.c: 1スコープ内で複数Blockを生成したときのバグを修正.
Fri Dec 16 15:52:06 1994 Yukihiro Matsumoto (matz@ix-02)
* parse.y: `&&'と`||'の両辺はいつでも条件式とした.
Thu Dec 15 00:16:04 1994 Yukihiro Matsumoto (matz@dyna)
* eval.c(Block): Blockオブジェクトを実現.
* node.h: NODE_QLISTはなくなった.
* eval.c(rb_call): 引数への代入を名前で一つずつ代入するのをやめて,
一度にコピーするようにした.
* eval.c(rb_call): rubyで記述されたメソッドへの引数渡しをinline化.
* eval.c: イテレータ判定処理の全面書き換え.不適切なイテレータ呼び
出しをなくした.例えば「[foo(),bar()]{i|baz(i)}」でfooもbarもイ
テレータとして呼び出され*ない*.
* eval.c(rb_call): SCOPE処理をinline化.メソッド呼び出しの若干の高
速化.
Wed Dec 14 18:09:33 1994 Yukihiro Matsumoto (matz@ix-02)
* node.h: nodeもオブジェクトにする.よってGCで回収される.
Diffstat (limited to 'env.h')
-rw-r--r-- | env.h | 14 |
1 files changed, 4 insertions, 10 deletions
@@ -3,8 +3,8 @@ env.h - $Author: matz $ - $Revision: 1.5 $ - $Date: 1994/11/01 08:27:51 $ + $Revision: 1.7 $ + $Date: 1994/12/19 08:30:01 $ created at: Mon Jul 11 11:53:03 JST 1994 ************************************************/ @@ -12,27 +12,21 @@ #define ENV_H extern struct ENVIRON { - VALUE self; int argc; VALUE *argv; + VALUE arg_ary; ID last_func; struct RClass *last_class; struct ENVIRON *prev; } *the_env; -#undef Qself -#define Qself the_env->self - extern struct SCOPE { ID *local_tbl; VALUE *local_vars; - VALUE block; - int flags; + VALUE var_ary; struct SCOPE *prev; } *the_scope; -#define VARS_MALLOCED (1<<2) - extern int rb_in_eval; #endif /* ENV_H */ |