Commit graph

10514 commits

Author SHA1 Message Date
akr
08928bb528 * signal.c (trap): Return "SYSTEM_DEFAULT" if SIG_DFL is set.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45894 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-09 23:48:47 +00:00
nobu
5d488225a4 test_signal.rb: missing argv
* test/ruby/test_signal.rb (test_hup_me): add missing argv.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45893 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-09 16:15:30 +00:00
nobu
a738b98fc6 test_beginendblock.rb, test_signal.rb: run with default handler
* test/ruby/test_beginendblock.rb (test_propagate_signaled): run
  with default handler.

* test/ruby/test_signal.rb (test_hup_me): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45891 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-09 15:13:11 +00:00
ayumin
bef8e4557c * lib/prime.rb (Prime#prime?): negative numbers can't be primes
by definition. reported by Ivan Kataitsev. [Bug #7395]
* test/test_prime.rb: add test.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45878 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-08 18:22:29 +00:00
nobu
7c072b35d1 class.c: always clear tables first
* class.c (rb_mod_init_copy): always clear instance variable,
  constant and method tables first, regardless the source tables.
  [ruby-dev:48182] [Bug #9813]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45874 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-08 05:34:31 +00:00
nobu
719804b5df webrick/httpserver.rb: Stop handling requests on shutdown
* lib/webrick/httpserver.rb (WEBrick::HTTPServer#run): stop
  handling requests on shutdown, even if the socket is readable
  and IO.select() returns true.  [Fixes GH-607]
* lib/webrick/server.rb (WEBrick::GenericServer#start): IO.select()
  raises ENOTSOCK on shutdown on Windows.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45872 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-08 01:17:07 +00:00
akr
b9f770ae8f refactored to test Socket and TCPSocket/TCPServer more consistently.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45871 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-07 23:21:10 +00:00
akr
2dbae9b1f1 * ext/openssl/lib/openssl/ssl.rb (OpenSSL::SSL::SSLServer#accept):
Consider Socket#accept as well as TCPServer#accept.
  Reported by Sam Stelfox.  [ruby-core:62064] [Bug #9750]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45863 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-07 12:48:27 +00:00
akr
1386a2303f refactoring to extract tcp_pair.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45862 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-07 12:22:02 +00:00
nobu
a352b0a207 numeric.c: check keyword arguments
* numeric.c (num_step_scan_args): check keyword arguments and fail
  if they conflict with positional arguments.
  [ruby-dev:48177] [Bug #9811]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45861 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-07 08:24:09 +00:00
nobu
11eb870136 vm_eval.c: exclude hidden variables
* vm_eval.c (rb_f_local_variables): exclude variables hidden by
  shadowing.  [ruby-core:60501] [Bug #9486]
* vm.c (collect_local_variables_in_iseq): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45850 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-07 02:25:43 +00:00
nobu
b5cae3820b parse.y: no duplicated names
* parse.y (new_bv_gen): no duplicated names, if already added in
  shadowing_lvar().

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45846 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-06 14:29:07 +00:00
nobu
d750b62d66 parse.y: remove duplicated names
* parse.y (local_tbl_gen): remove local variables duplicated with
  arguments.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45845 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-06 14:28:48 +00:00
akr
e4b05d91eb * lib/time.rb (Time.make_time): Adjust the time zone of "now".
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45843 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-06 09:50:08 +00:00
akr
0c3d513185 * lib/open-uri.rb (OpenURI.open_uri): Call StringIO#close only if
the StringIO object is not closed yet.
  Reported by Jordi Massaguer Pla.  [ruby-core:42538] [Bug #6010]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45835 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-05 16:38:53 +00:00
akr
7a69a3583c * process.c (check_exec_redirect): Open the file in write mode for
redirect from [:out, :err].
  Proposed and implemented by Yusuke Endoh.
  [ruby-dev:41430] [Feature #3348]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45828 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-05 13:37:09 +00:00
akr
edacb3a94a * ext/pathname/lib/pathname.rb (cleanpath_aggressive): make all
separators File::SEPARATOR from File::ALT_SEPARATOR.
  Reported by Daniel Rikowski.
  Fixed by Nobuyoshi Nakada.  [Bug #9618]

* ext/pathname/lib/pathname.rb (cleanpath_conservative): ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45827 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-05 13:09:58 +00:00
akr
391fc2eeec * ext/pathname/lib/pathname.rb (Pathname#/): Aliased to Pathname#+.
Suggested by Alexey Muranov.  [ruby-core:61432] [Feature #9625]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45826 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-05 12:49:27 +00:00
akr
78fa967224 add a comment.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45824 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-05 07:33:14 +00:00
akr
c2a87a1fa1 * lib/time.rb (Time.strptime): Raise ArgumentError if Date._strptime
doesn't extract date information.
  Reported by tadayoshi funaba.  [ruby-core:62349]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45823 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-05 02:47:53 +00:00
tadf
a72f9f3476 * ext/date/date_core.c (rt_rewrite_frags): a new feature (not a
bug fix) of strptime.  applies offset even if the given date is
	  not local time (%s and %Q).  This is an exceptional feature and
	  I do NOT recommend to use this at all.  Thank you git community.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45822 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-04 20:56:28 +00:00
nobu
7a6ebecf9e math.c: C99-like atan2
* math.c (math_atan2): return values like as expected by C99 if
  both two arguments are infinity.  based on the patch by cremno
  phobia <cremno AT mail.ru> in [ruby-core:62310].  [Feature #9799]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45805 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-04 01:23:01 +00:00
nobu
6e34259271 test_math.rb: rename check as assert_float
* test/ruby/test_math.rb (assert_float): rename with `assert_`
  prefix so that the caller frame would appear in backtraces.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45804 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-03 23:41:04 +00:00
akr
af56a2b6dc * lib/time.rb (Time.rfc2822): Fix year completion.
Produce fixed-offset time object if appropriate.
  (Time.xmlschema): Produce fixed-offset time object if appropriate.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45800 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-03 18:11:53 +00:00
akr
c4f29a6576 * lib/time.rb (make_time): Produce fixed-offset time object if
appropriate.
  (Time.strptime): Use d[:zone] instead of d[:offset].

* lib/rss/rss.rb (Time.w3cdtf): Produce fixed-offset time object if
  appropriate.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45798 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-03 15:23:29 +00:00
akr
0a76ec34ea add tests.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45797 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-03 13:09:07 +00:00
akr
4de238663a * lib/time.rb (Time.strptime): Use d[:offset] if d[:seconds] is not
given.
  Reported by tadayoshi funaba.  [ruby-core:62322]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45796 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-03 11:31:33 +00:00
nobu
38656e24be math.c: check domain of base argument
* math.c (math_log): check domain of base argument too.  raises
  Math::DomainError instead of returning NaN if the base is less
  than 0, and returns NaN instead of -infinity if both of two
  arguments are 0.  [ruby-core:62309] [Bug #9797]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45795 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-03 05:28:46 +00:00
nobu
0989529f88 time.c: fix underflow of unsigned integers
* time.c (vtm_add_offset): get rid of underflow of unsigned
  integers.  fix up r45155.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45792 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-02 18:43:23 +00:00
nobu
d1c0375526 test_io.rb: defer f_type
* test/ruby/test_io.rb (test_seek, test_seek_symwhence): defer
  File::Statfs#type call which may not be implemented, to mitigate
  errors on platforms where SEEK_DATA is available but f_type in
  struct statfs is not.  [ruby-dev:48154] [Bug #9789]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45783 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-02 02:32:53 +00:00
nobu
d42e0ea844 parse.y: turn dynamically interned Symbol into an ID
* parse.y (rb_id_attrset): turn dynamically interned Symbol into
  an ID, since rb_str_dynamic_intern returns a Symbol but not an
  ID.  [ruby-core:62226] [Bug #9787]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45782 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-02 01:37:57 +00:00
nobu
b522335554 test_inadvertent_creation.rb: use Symbol.find
* ext/-test-/symbol/intern.c: Symbol.find is available now.

* test/-ext-/symbol/test_inadvertent_creation.rb (noninterned_name):
  use Symbol.find instead.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45763 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-04-30 15:16:07 +00:00
nobu
751a8dce6a * remove trailing spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45759 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-04-30 09:11:07 +00:00
ko1
ba6b0acdb6 * vm.c (invoke_block_from_c): add VM_FRAME_FLAG_BMETHOD to record
it is bmethod frame.
* vm.c (vm_exec): invoke RUBY_EVENT_RETURN event if rollbacked frame
  is VM_FRAME_FLAG_BMETHOD.
  [Bug #9759]
* test/ruby/test_settracefunc.rb: add a test for TracePoint/set_trace_func.
* vm_core.h: renmae rb_thread_t::passed_me to
  rb_thread_t::passed_bmethod_me to clarify the usage.
* vm_insnhelper.c (vm_call_bmethod_body): use renamed member.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45758 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-04-30 09:08:10 +00:00
nobu
48384bbab7 parse.y: pin down dynamic symbol only
* parse.y (rb_id_attrset): pin down dynamic symbol only. it is
  possibe that attrset ID can be registered as a static symbol
  after the corresponding attrget ID has been registered as a
  dynamic, and then the latter may be collected.
  [ruby-core:62226] [Bug #9787]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45756 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-04-30 08:06:51 +00:00
ktsj
cce5fe1ae5 * test/ruby/test_symbol.rb (TestSymbol#test_symbol_gc_1): fix typo.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45742 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-04-29 01:35:22 +00:00
ktsj
0f51db6a1e * parse.y (symbols_i): like r45492, call rb_gc_resurrect().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45741 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-04-29 01:25:36 +00:00
naruse
559d689ca6 * configure.in: check struct statvfs and struct statvfs.f_fstypename.
* configure.in: on NetBSD fstatfs is obsoleted.

* file.c: support NetBSD for File::Statfs.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45733 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-04-28 09:08:15 +00:00
tadf
bb05bcde01 * ext/date/date_strptime.c (date__strptime_internal): do not overwrite century.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45728 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-04-27 10:44:23 +00:00
hsbt
2406557794 * test/ruby/test_enum.rb (test_flat_map): Added test for flat_map.
Contribute from @igaiga. [fix GH-598]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45725 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-04-26 02:53:54 +00:00
nobu
37e432b5bf compile.c: non-destructive keyword splat
* compile.c (compile_array_): make copy a first hash not to modify
  the argument itself.  keyword splat should be non-destructive.
  [ruby-core:62161] [Bug #9776]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45724 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-04-26 01:55:34 +00:00
akr
3bd10c6ee7 update comment.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45723 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-04-26 00:21:34 +00:00
akr
79c09eb597 * test/ruby/test_process.rb (test_rlimit_nofile): Don't limit
RLIMIT_NOFILE too small.
  This fix sporadic "[ASYNC BUG] thread_timer: select" on GNU/Linux.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45721 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-04-25 23:07:28 +00:00
naruse
7f87816a89 suppress warnings: assigned but unused variable - pos
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45706 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-04-24 08:47:47 +00:00
naruse
25ae5cc39b suppress warnings: ambiguous first argument; put parentheses or even spaces
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45705 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-04-24 08:47:29 +00:00
naruse
313e34b461 Add test for r45492, r45693, r45698
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45699 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-04-24 02:16:38 +00:00
naruse
8c3b01022b call to_i
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45696 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-04-24 01:01:18 +00:00
nobu
ca258c86cf file.c: statfs_inspect
* file.c (statfs_inspect): add File::Statfs#inspect method.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45695 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-04-24 00:35:34 +00:00
naruse
2dca886a07 * parse.y (dsym_node_gen): like r45492, call rb_gc_resurrect().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45693 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-04-23 20:59:03 +00:00
naruse
474e9869ef skip on SEEK_HOLE
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45691 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-04-23 06:05:30 +00:00