summaryrefslogtreecommitdiff
path: root/parse.y
AgeCommit message (Collapse)Author
2002-12-16* parse.y (nextc): get rid of overrun. (pointed out by akrnobu
[ruby-list:36773]) git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@3155 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-12-02* eval.c (backtrace): should ignore line 0 frame.matz
* sprintf.c (rb_f_sprintf): preceding ".." for negative hexadecimal numbers should not appear if prec (e.g. %.4) is specified. * compar.c (cmp_eq,cmp_gt,cmp_ge,cmp_lt,cmp_le): "<=>" might return nil. check using rb_cmpint(). * error.c (init_syserr): remove sys_nerr dependency. * regex.c (re_match): avoid dereferencing if size == 0. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@3112 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-26* array.c, class.c, eval.c, file.c, gc.c, node.h, numeric.c,knu
object.c, parse.y, range.c, re.c, string.c, struct.c, util.c, ext/socket/socket.c: merge from 1.7: treat long values as long instead of int. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@3003 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-25* parse.y (str_extend): pushback() takes one argument, so properlyknu
pass c to it. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@3000 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-18* parse.y (value_expr0): allow return/break/next/redo/retry in rhsnobu
of logical operator. [ruby-dev:18534] * parse.y (remove_begin): eliminate useless NODE_BEGIN. [ruby-dev:18535] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@2972 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-25* eval.c (ruby_run): should set toplevel visibility again here.matz
* eval.c (rb_eval): should not rely on ruby_class == rb_cObject check. Besides allow implicit publicity for attribute set methods. * parse.y (primary): need not to check class_nest, just set whether method is an attrset or not. * string.c (rb_str_each_line): p might be at the top of the string. * variable.c (rb_path2class): should not use rb_eval_string(). * parse.y (str_extend): expression substitution can contain string terminator again. * parse.y (yylex): the warning message "invalid character syntax" was never issued. * file.c (rb_find_file): $LOAD_PATH must not be empty. * file.c (rb_find_file_ext): ditto. * range.c (range_eq): class check should be based on range.class, instead of Range to work with Range.dup. * range.c (range_eql): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@2888 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-06* parse.y (rb_gc_mark_parser): ruby_eval_tree is marked in eval.c.aamine
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@2812 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-06* parse.y (rb_gc_mark_parser): should mark all global variables in parse.y.aamine
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@2807 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-05* gc.c (rb_gc): should mark parser.aamine
* parse.y (rb_gc_mark_parser): new function. * intern.h (rb_gc_mark_parser): added. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@2801 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-02* gc.c (gc_sweep): does reclaim nodes in also compile time, if we can.aamine
* ruby.c (load_file): omit GC if we can. * parse.y (ruby_parser_stack_on_heap): new function. * intern.h (ruby_parser_stack_on_heap): added. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@2782 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-07-11* eval.c (rb_eval): fixed line number in string interpolation.nobu
* parse.y (str_extend): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@2637 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-07-11* parse.y (yylex): should pushback proper char after '<<'.nobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@2634 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-07-11* string.c (rb_str_slice_bang): if there's no correspondingmatz
substring, slice! should return nil without exception. * string.c (rb_str_split_m): accept separator value nil as well. * class.c (include_class_new): module may be T_ICLASS; retrieve original module information. * re.c (rb_reg_expr_str): need to process backslashes properly. * parse.y (yylex): no here document after a dot. * parse.y (yylex): should have set lex_state properly after '`'. * parse.y (yylex): should have set lex_state properly after tOP_ASGN. * bignum.c (rb_big2dbl): return canonical HUGE_VAL for infinity. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@2633 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-06-14* parse.y (read_escape): deny zero-width hexadecimal character.nobu
(ruby-bugs-ja:PR#260) * parse.y (tokadd_escape): ditto. * regex.c (re_compile_pattern): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@2568 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-06-13* hash.c (rb_hash_s_create): use rb_hash_aset() instead of callingmatz
st_insert() directly, to dup&freeze string keys. * parse.y (yylex): proper error message for "@@0". * parse.y (yylex): paren to parse_string() must be zero for unparenthesized strings. * parse.y (str_extend): broken string when unterminated "#{". git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@2564 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-06-12* parse.y (yylex): 'do' should return kDO_BLOCK on EXPR_ENDARG.matz
* parse.y (singleton): "def (()).a end" dumped core. * parse.y (range_op): node may be null. * parse.y (match_gen): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@2559 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-06-12* parse.y (stmt): fix typo.nobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@2557 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-06-11* eval.c (rb_eval): ruby_frame->last_func may be null, if it'smatz
called outside of a method. * parse.y (arg): use INT2NUM, not INT2FIX for tUMINUS. * parse.y (arg): $1 may be null for tPOW. * parse.y (stmt,arg): too much void value check. * parse.y (arg): need to check void value on rules which does not use node_assign(). * ext/socket/socket.c (ipaddr): need not to taint hostnames. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@2547 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-06-10* numeric.c (fix_lshift): negative shift count means right shift.nobu
(ruby-bugs-ja:PR#248) * numeric.c (fix_rshift): return -1 when left side operand is negative. (ruby-bugs-ja:PR#247) * parse.y (yylex): `0_' should be an error. (ruby-bugs-ja:PR#239) git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@2536 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-06-02* parse.y (here_document): check if identifier is terminated.nobu
(ruby-bugs-ja:PR#239) * parse.y (yylex): should pushback proper char after '**'. (ruby-bugs-ja:PR#240) git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@2509 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-05-22* parse.y (yylex): case '<': here-document label ate '-'.aamine
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@2487 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-05-10* parse.y (here_document): preserve line number begins herenobu
document. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@2443 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-05-01* file.c (rb_find_file): load must be done from an abolute path ifmatz
$SAFE >= 4. * re.c (rb_reg_s_quote): quote whitespaces for /x cases. * eval.c (rb_thread_cleanup): should not terminate main_thread by Fatal error. * regex.c (is_in_list): need to not exclude NUL and NEWLINE. * re.c (rb_reg_expr_str): wrong backslash escapement. * re.c (rb_reg_expr_str): do not escape embedded space characters. * eval.c (rb_thread_cleanup): current thread may be THREAD_STOPPED, for example when terminated from signal handler. * re.c (rb_reg_expr_str): should treat backslash specially in escaping. * bignum.c (rb_big_eq): check `y == x' if y is neither Fixnum, Bignum, nor Float. * pack.c (pack_unpack): should treat 'U' in character unit, not in byte unit. * marshal.c (w_uclass): should check based on rb_obj_class(), not CLASS_OF(). * io.c (io_write): check error if written data is less than specified size to detect EPIPE. * eval.c (assign): ruby_verbose should be surrounded by RTEST(). * object.c (rb_str2cstr): ditto. * parse.y (void_expr): ditto. * parse.y (void_stmts): ditto. * variable.c (rb_ivar_get): ditto. * variable.c (rb_cvar_set): ditto. * variable.c (rb_cvar_get): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@2419 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-04-04* parse.y: avoid binson 1.35 warnings. add ; at the end of a rule.eban
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@2332 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-03-19* re.c (rb_reg_search): should clear last_match if pos is out ofmatz
string range. * string.c (rb_str_index_m): ditto. * string.c (rb_str_rindex): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@2224 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-03-18* enum.c (enum_find): catch a value before recycle.nobu
* enum.c (enum_min): ditto. * enum.c (enum_max): ditto. * parse.y (parse_string): part of multi-byte sequence must not match to paren. * parse.y (parse_qstring): ditto. * parse.y (parse_quotedwords): ditto. * parse.y (str_extend): handle multi-byte characters. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@2217 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-03-15* class.c (rb_define_class): should handle autoload.matz
* class.c (rb_define_module): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@2208 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-03-08* eval.c (cvar_cbase): utility function to find innermost nonmatz
singleton cbase. * eval.c (is_defined): adopt new cvar behavior. * eval.c (rb_eval): ditto. * eval.c (assign): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@2168 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-03-07* gc.c (rb_source_filename): added. holds unique strings for filenobu
names with GC space. * gc.c (rb_gc_mark): mark source file name. * gc.c (gc_sweep): ditto. * gc.c (Init_GC): initialize source file name table. * intern.h (rb_source_filename): added. * eval.c (rb_eval_string): use rb_source_filename(). * parse.y (yycompile): ditto. * ruby.c (proc_options): ditto. * ruby.c (load_file): ditto. * ruby.c (ruby_script): ditto. * ruby.c (ruby_prog_init): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@2166 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-02-20* hash.c (rb_any_cmp): should handle Qundef in keys.matz
* eval.c (remove_method): should not remove a empty method to implement "undef". * eval.c (rb_eval): should allow singleton class def for true/false/nil. * parse.y (str_extend): backslash escape was done wrong. * class.c (rb_include_module): should preserve ancestor order in the included class/module. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@2101 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-02-19* marshal.c (r_object): complete restoration before callingmatz
r_regist(). * parse.y (yylex): operators in the "op" rule should make lex_state EXPR_ARG on EXPR_FNAME and EXPR_DOT. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@2091 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-02-13* parse.y (assignable): should emit CVASGN within the methodmatz
body. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@2064 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-02-09* eval.c (rb_eval): singleton chech should be moved from yycompilematz
to here. * eval.c (is_defined): check should be added here too. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@2060 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-02-08* parse.y (yycompile): should inherit "in_single" if eval happenedmatz
in a singleton method. * eval.c (rb_eval): class variables from singleton methods defined within singleton class statement should work like ones defined by sington def statements. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@2058 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-01-28* parse.y (yylex): strict check for numbers.nobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@2026 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-01-21* eval.c (ruby_stop): should not trace error handler.matz
* io.c (io_write): should not raise exception on O_NONBLOCK io. * dir.c (dir_set_pos): seek should return dir, pos= should not. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@2008 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-01-16* eval.c (block_pass): should not pass tainted block, if $SAFE > 0.matz
* variable.c (rb_mod_remove_cvar): should pass the char*. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@1995 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-01-04* parse.y (yycompile): strdup()'ed twice.nobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@1963 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-01-04forgot to commit everything bug ChangeLogmatz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@1960 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-12-31* parse.y (yycompile): always store copy of filename.nobu
* parse.y (rb_compile_file): no longer need to strdup() here. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@1952 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-12-25* stable version 1.6.6 released.matz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@1939 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-12-12* parse.y (str_extend): make up pushback call.matz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@1906 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-12-10* parse.y (gettable): should freeze __FILE__ string(__LINE__ is Fixnum).eban
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@1901 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-12-10* parse.y (gettable): should freeze __LINE__ string.matz
* parse.y (str_extend): should not process immature #$x and #@x interportation, e.g #@#@ etc. * regex.c (WC2MBC1ST): should not pass through > 0x80 number in UTF-8. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@1897 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-11-25 * parse.y (str_extend): change types of second and third argumentsusa
from char to int. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@1857 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-11-21* parse.y (str_extend): should check nesting parentheses in #{}.matz
* eval.c (rb_thread_select): tv_sec and tv_usec should not be negative. * signal.c (posix_signal): do not set SA_RESTART for SIGVTALRM. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@1851 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-11-19* parse.y (str_extend): should not terminate string interpolationmatz
with newlines in here-docs and newline terminated strings. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@1848 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-11-19* parse.y (str_extend): term can be any character.matz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@1846 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-11-18* parse.y: needless conditional.nobu
* parse.y (parse_regx): parse error at unterminated regex /#{. (ruby-bugs-ja:PR#142) git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@1838 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-11-13* signal.c (sighandle): should not re-register sighandler ifmatz
POSIX_SIGNAL is defined. * eval.c (error_print): errat array may be empty. * parse.y (yylex): float '1_.0' should not be allowed. * variable.c (var_getter): should care about var as Qfalse (ruby-bugs#PR199). * array.c (cmpint): <=> or block for {min,max} may return bignum. * array.c (sort_1): use rb_compint. * array.c (sort_2): ditto. * enum.c (min_ii): ditto. * enum.c (min_ii): ditto. * enum.c (max_i): ditto. * enum.c (max_ii): ditto. * mkconfig.rb: use String#dump to generate Ruby string literal. * range.c (range_eql): should override 'eql?' git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@1828 b2dd03c8-39d4-4d8f-98ff-823fe69b080e