* win32/win32.c (ChildRecord, FindFreeChildSlot): ditto.
* win32/win32.c, win32/win32.h (pipe_exec): new function for two-way
pipe support for win32.
* win32/win32.c, win32/win32.h (FindPipedChildSlot, rb_w32_popen,
rb_w32_pclose): removed functions for two-way pipe support for win32.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2610 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* object.c (rb_any_to_a): declare Object#to_a to be obsolete.
* object.c (rb_Array): do not convert nil into [] automagically.
* object.c (rb_Integer): use "to_int" instead of
"to_i". [experimental]
* object.c (nil_to_f): new method.
* object.c (rb_Integer): Symbols and nil should cause error.
* object.c (rb_Float): nil should cause error.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2608 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
huge data. API is changed a bit.
* lib/pp.rb: adapt new pretty printing API.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2600 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
string literals.
* parse.y (here_document): should be aware of __END__ within here
documents.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2592 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* eval.c (eval): not enforce to make assigned variables dynamic.
* parse.y (string): split rules to strings/xstring/regexp to allow
arbitrary statements inside string interpolation.
* parse.y (here_document): splitted into three phases.
* parse.y (literall_append, literal_concat): added.
append/concatinate string literals.
* sample/test.rb (valid_syntax): adjust line number for BEGIN.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2590 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (__MSVCRT__): removed because it is defined
in the GCC specs.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2587 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
etc, instead.
* parse.y (yylex): no here document after a dot.
* parse.y (yylex): should have set lex_state 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/trunk@2579 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
a dead symlink. Given a dead symlink named "a", Dir.glob("?")
did catch it but Dir.glob("a") somehow didn't.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2571 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
suggested by Guy Decoux.
* hash.c (rb_hash_s_create): use rb_hash_aset() instead of calling
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 "#{".
* enum.c (enum_sort_by): had a bug in 1 element enumeration.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2565 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in, cygwin/GNUmakefile: use dllwrap when --disable-shared
is specified.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2551 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
called outside of a method.
* parse.y (arg): use INT2NUM, not INT2FIX for tUMINUS.
* parse.y (arg): unnecessary negative tPOW treatment.
* parse.y (tokadd_escape): wrong backslash escapement.
* parse.y (stmt,arg): too much void value check.
* parse.y (stmt,arg): need to check void value on rules which does
not use node_assign().
* ext/socket/socket.c (ipaddr): need not to taint hostnames.
* range.c (range_include): should be based on "<=>", whereas
member? still is based on "each".
* range.c (range_min,range_max): redefine methods based on "<=>".
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2548 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* numeric.c (fix_rshift): return -1 when left side operand is
negative.
* parse.y (yylex): `0_' should be an error. (ruby-bugs-ja:PR#239)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2535 b2dd03c8-39d4-4d8f-98ff-823fe69b080e