diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2000-07-01 06:47:47 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2000-07-01 06:47:47 +0000 |
commit | c7d499225b4d035c17acf774a3d53e20d6301df7 (patch) | |
tree | e75ab42ee208290c1c4123178f1f8317f1fb3175 | |
parent | 11fef7fd630528ac1b6c55739cb1affb2208944c (diff) |
matz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@796 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 25 | ||||
-rw-r--r-- | config.sub | 4 | ||||
-rw-r--r-- | eval.c | 2 | ||||
-rw-r--r-- | parse.y | 22 | ||||
-rw-r--r-- | re.c | 18 |
5 files changed, 53 insertions, 18 deletions
@@ -1,3 +1,24 @@ +Sat Jul 1 15:22:35 2000 Yukihiro Matsumoto <matz@netlab.co.jp> + + * eval.c (rb_eval): the value from RTEST() is not valid Ruby + objct. result shoule be either true or false. + +Sat Jul 1 09:30:06 2000 Katsuyuki Komatsu <komatsu@sarion.co.jp> + + * re.c (rb_reg_initialize): was freeing invalid pointer. + +Sat Jul 1 03:25:56 2000 Yukihiro Matsumoto <matz@netlab.co.jp> + + * parse.y (call_args): command_call can be the last argument of + call_args. It had to be the only argument. + + * re.c (rb_reg_s_quote): should not dump core even for unsane mbc + string. + +Fri Jun 30 01:36:20 2000 Aleksi Niemela <aleksi.niemela@cinnober.com> + + * parse.y (f_norm_arg): better, nicer error message. + Thu Jun 29 07:45:33 2000 Yukihiro Matsumoto <matz@netlab.co.jp> * ext/socket/socket.c (udp_send): destination may be packed @@ -19,6 +40,10 @@ Wed Jun 28 17:26:06 2000 Yukihiro Matsumoto <matz@netlab.co.jp> * ruby.c (proc_options): -e, - did not exec -r. +Wed Jun 28 14:52:28 2000 Koga Youichirou <y-koga@mms.mt.nec.co.jp> + + * config.sub: NetBSD/hpcmips support. + Wed Jun 28 10:11:06 2000 Yukihiro Matsumoto <matz@netlab.co.jp> * gc.c: gc trigger threshold changed; GC_NEWOBJ_LIMIT removed, diff --git a/config.sub b/config.sub index 3c591de61b..27dae9e8f5 100644 --- a/config.sub +++ b/config.sub @@ -525,6 +525,10 @@ case $basic_machine in basic_machine=i386-unknown os=-netbsd ;; + hpcmips*-*) + basic_machine=hpcmips-unknown + os=-netbsd + ;; netwinder) basic_machine=armv4l-corel os=-linux @@ -2311,7 +2311,7 @@ rb_eval(self, n) rb_bug("unexpected local variable"); } if (!RTEST(ruby_scope->local_vars[node->nd_cnt])) { - result = RTEST(rb_eval(self, node->nd_beg)); + result = RTEST(rb_eval(self, node->nd_beg)) ? Qtrue : Qfalse; ruby_scope->local_vars[node->nd_cnt] = result; } else { @@ -861,14 +861,14 @@ opt_call_args : none | call_args opt_nl call_args : command_call - { - value_expr($1); - $$ = NEW_LIST($1); - } | args ',' { $$ = $1; } + | args ',' command_call + { + $$ = list_append($1, $3); + } | args opt_block_arg { $$ = arg_blk_pass($1, $2); @@ -1592,7 +1592,19 @@ f_args : f_arg ',' f_optarg ',' f_rest_arg opt_f_block_arg f_norm_arg : tCONSTANT { - yyerror("formal argument must not be constant"); + yyerror("formal argument cannot be a constant"); + } + | tIVAR + { + yyerror("formal argument cannot be an instance variable"); + } + | tGVAR + { + yyerror("formal argument cannot be a global variable"); + } + | tCVAR + { + yyerror("formal argument cannot be a class variable"); } | tIDENTIFIER { @@ -88,12 +88,6 @@ rb_memcmp(p1, p2, len) return 0; } -int -rb_str_cicmp(str1, str2) - VALUE str1, str2; -{ -} - #define REG_CASESTATE FL_USER0 #define KCODE_NONE 0 #define KCODE_EUC FL_USER1 @@ -830,7 +824,7 @@ rb_reg_initialize(obj, s, len, options) struct RRegexp *re = RREGEXP(obj); if (re->ptr) re_free_pattern(re->ptr); - if (re->str) free(re->ptr); + if (re->str) free(re->str); re->ptr = 0; re->str = 0; @@ -879,7 +873,7 @@ rb_reg_new(s, len, options) NEWOBJ(re, struct RRegexp); OBJSETUP(re, rb_cRegexp, T_REGEXP); - re->ptr = 0; re->len = 0; + re->ptr = 0; re->len = 0; re->str = 0; rb_reg_initialize(re, s, len, options); return (VALUE)re; } @@ -1036,7 +1030,7 @@ rb_reg_s_new(argc, argv, klass) { NEWOBJ(re, struct RRegexp); OBJSETUP(re, klass, T_REGEXP); - re->ptr = 0; re->len = 0; + re->ptr = 0; re->len = 0; re->str = 0; rb_obj_call_init((VALUE)re, argc, argv); return (VALUE)re; } @@ -1063,11 +1057,11 @@ rb_reg_s_quote(argc, argv) tmp = ALLOCA_N(char, len*2); t = tmp; - for (; s != send; s++) { + for (; s < send; s++) { if (ismbchar(*s)) { size_t n = mbclen(*s); - while (n--) + while (n-- && s < send) *t++ = *s++; s--; continue; @@ -1146,7 +1140,7 @@ rb_reg_clone(re) NEWOBJ(clone, struct RRegexp); CLONESETUP(clone, re); rb_reg_check(re); - clone->ptr = 0; clone->len = 0; + clone->ptr = 0; clone->len = 0; clone->str = 0; rb_reg_initialize(clone, RREGEXP(re)->str, RREGEXP(re)->len, rb_reg_options(re)); return (VALUE)re; |