Commit graph

5576 commits

Author SHA1 Message Date
nobu
393ed5c950 vm_eval.c: cref-scope hack
* vm_eval.c (eval_under): singletons other than special constants
  don't need cref-scope hack.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36663 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-08 13:51:32 +00:00
nobu
6b4ecb32fb use local variables
* test/ruby/test_eval.rb: use local variables instead global variables
  if possible.
* test/ruby/test_ifunless.rb: ditto.
* test/ruby/test_iterator.rb: ditto.
* test/ruby/test_stringchar.rb: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36662 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-08 13:46:09 +00:00
ko1
93b6f8d619 * compile.c, insns.def (checkmatch):
remove checkincludearray instruction and
  add new instruction checkmatch.
  This change is to solve
  [Bug #4438] "rescue args type check omitted".
* iseq.c: increment ISEQ_MAJOR_VERSION because removal of
  checkincludearray instruction.
* vm_core.h: add several definitions for
  the checkmatch instruction.
* vm_insnhelper.c (check_match): added.
* bootstraptest/test_exception.rb: add a test.
* test/ruby/test_exception.rb: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36658 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-08 07:52:19 +00:00
usa
fca3c408a7 * test/ruby/test_require.rb (TestRequire#test_require_twice): added.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36651 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-07 02:59:04 +00:00
shugo
0f24f94470 * vm_method.c (rb_redefine_opt_method): use RCLASS_ORIGIN to avoid
SEGV when a module-prepended class is refined.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36650 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-07 02:44:24 +00:00
usa
b361d7d082 * test/ruby/test_file_exhaustive.rb
(TestFileExhaustive#test_expand_path*): refactoring.  split the method
  into some chunks of the same kind of tests.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36649 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-07 01:48:36 +00:00
tenderlove
ac37fc37b1 test String#each_line when separator is longer than string.
Thanks Charles Nutter.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36648 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-07 00:43:44 +00:00
nobu
28827e61d1 method in instance_eval
* class.c (rb_special_singleton_class_of): utility function.
* vm_eval.c (eval_under): special deal for class variable scope with
  instance_eval.
* vm_eval.c (rb_obj_instance_eval, rb_obj_instance_exec): allow method
  definition in instance_eval of special constants.  [ruby-core:28324]
  [Bug #2788]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36647 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-06 15:31:13 +00:00
nobu
745de093db test_exception.rb: split tests
* test/ruby/test_exception.rb (test_exception, test_else): split huge
  tests into simple tests.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36644 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-06 13:06:37 +00:00
nobu
ddabdd4427 test_exception.rb: use local variables
* test/ruby/test_exception.rb (test_exception, test_else): use local
  variables instead unnecessary global variables.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36643 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-06 13:06:16 +00:00
suke
906b2110d9 * test/win32ole/test_win32ole_variant.rb: setting WIN32OLE.locale
to pass some assertion.  Thanks to Hiroshi Shirosaki.
  [ruby-core:46873][Bug #6814]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36641 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-06 10:21:12 +00:00
shugo
9537e8ffe5 * internal.h, class.c, eval.c, insns.def: find the appropriate
receiver for super called in instance_eval.  If such a receiver is
  not found, raise NoMethodError. [ruby-dev:39772] [Bug #2402]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36640 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-06 07:00:19 +00:00
nobu
cc48423ead insns.def: use klass in cfp
* insns.def (defined): now should use klass in the current control
  frame to search superclass, not me->klass.  reported by naruse.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36637 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-06 02:34:36 +00:00
usa
7c5336b8f9 * test/etc/test_etc.rb (TestEtc#test_getpwuid): `s' is never set to nil.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36636 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-06 02:20:47 +00:00
usa
e7c6f87c89 * syslog/test_syslog_logger.rb: miss.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36635 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-06 02:11:58 +00:00
usa
404bb0efce * test/syslog/test_syslog_logger.rb: skip unless Syslog module is
available.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36634 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-06 02:09:33 +00:00
nobu
800d9a7ac1 test_etc.rb: remove implicit assumption
* test/etc/test_etc.rb (TestEtc#test_getpwuid): remove implicit
  assumption, that getpwuid() would return the first entry in the
  order of getpw(), for shared UID.  apparently it is not true on
  MacOS X 10.8.  [ruby-core:46975][Bug #6831]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36625 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-05 05:14:35 +00:00
tadf
949d740a32 uncommented some tests
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36623 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-04 22:07:42 +00:00
shugo
cd060b4588 * test/ruby/test_alias.rb (test_super_in_aliased_module_method):
add a test case for [ruby-dev:46028], which fails in 1.8.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36617 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-04 01:04:05 +00:00
nobu
e421410edc test_super.rb: rename
* test/ruby/test_super.rb (TestSuper#test_double_include2): rename to
  get rid of redefinition.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36615 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-03 16:54:19 +00:00
shugo
9bef3f0519 * insns.def (invokesuper): reverted r36612 so that super in an
aliased method will not call the same method.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36613 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-03 16:32:52 +00:00
shugo
2d3d84155d * insns.def (invokesuper): don't skip the same class. instead, use
rb_method_entry_get_with_omod() to avoid infinite loop when
  super is used with refinements. [ruby-core:30450] [Bug #3351]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36612 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-03 10:27:21 +00:00
nobu
5b657b5dcb runner.rb: no installed gems
* test/runner.rb: get rid of loading previously installed gems.
  [ruby-dev:46025]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36607 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-03 08:21:55 +00:00
shugo
19ddfc2483 * eval.c (rb_mod_using): new method Module#using. [experimental]
* eval.c (rb_mod_refine): new method Module#refine. [experimental]

* eval.c (f_using): new method Kernel#using. [experimental]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36596 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-02 11:34:19 +00:00
nari
b79bf14ff2 * gc.c: return true or false. Patch by Dirkjan Bussink. [Bug #6821]
* test/ruby/test_gc.rb: add test-case for this bug.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36593 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-02 02:47:12 +00:00
emboss
df05bd2c82 * ext/openssl/lib/openssl/digest.rb
test/openssl/test_digest.rb: Add Digest module function to OpenSSL
  module and test it. Patch provided by Eric Hodel.
  [ruby-core:46908][Feature #6819]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36592 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-02 01:58:49 +00:00
nobu
cc59a581f1 test_framework.rb: show mkmf.log on failure
* test/mkmf/test_framework.rb (test_core_foundation_framework): show
  mkmf.log on failure.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36591 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-01 22:29:58 +00:00
eregon
61b624d149 ext/digest/digest.c (hexencode_str_new): return an ASCII string
* test/digest: tests for all kind of digests encodings
  [ruby-core:46792][Bug #6799]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36588 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-01 13:30:51 +00:00
shirosaki
f52eefece1 test_rubyoptions.rb: fix test failure on Windows
* test/ruby/test_rubyoptions.rb (TestRubyOptions#test_encoding):
  Fix test_encoding failure on Windows.
  With chcp 65001, 1252 and 437, test_encoding failed. Test result
  depends on locale because LANG environment variable doesn't affect
  locale on Windows.
  [ruby-core:46872] [Bug #6813]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36587 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-07-31 20:58:08 +00:00
nobu
b283d01987 class.c: fix duplication of prepended module
* class.c (include_class_new): fix duplication of prepended module.
  since m_tbl of prepended module is always zero, copy from its
  copy iclass of original.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36585 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-07-31 15:33:23 +00:00
nobu
c7c4e87a40 * test/ruby/test_module.rb (TestModule#test_classpath): fix
typos.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36582 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-07-31 00:45:57 +00:00
naruse
0357ac8a38 * lib/rubygems/platform.rb (Gem::Platform#initialize): Support pattern
like x86_64-netbsd6.99.7.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36579 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-07-30 14:04:48 +00:00
naruse
e62ee61262 On amd64, RUBY_PLATFORM is x86_64-netbsd6.99.7.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36578 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-07-30 14:04:44 +00:00
nobu
0e15934d7f variable.c: fix r36574
* variable.c (find_class_path): no retry when preferred is given.
* variable.c (classname): if classid is set try it to find full
  qualified class path, and then try arbitrary class path.  try
  tmp_classpath at last even if enclosing namespace is anonymous.
  fix r36574.  [ruby-core:42865][Bug #6078]
* variable.c (rb_set_class_path_string, rb_set_class_path): set
  tmp_classpath instead of classpath if the name is not permanent.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36577 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-07-30 12:00:56 +00:00
naruse
e652ecfac7 Suppress warnings.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36576 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-07-30 06:03:15 +00:00
naruse
787e40097b NetBSD's /proc/<pid>/task is broken.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36575 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-07-30 05:56:51 +00:00
nobu
83940fc310 variable.c: tmp_classpath
* variable.c: store anonymous class path in tmp_classpath but not in
  classpath.  [ruby-core:42865][Bug #6078]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36574 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-07-30 05:24:24 +00:00
nobu
c05e6a8cda process.c: try conversion at redirection
* io.c (rb_io_check_io): make public.
* process.c (check_exec_redirect): try conversion to IO on redirect
  parameters.  [ruby-core:44181] [Bug #6269]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36551 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-07-27 09:25:54 +00:00
nobu
044aa29b7d test_lazy_enumerator.rb: test for cycle chain
* test/ruby/test_lazy_enumerator.rb (test_cycle_chain): more test for
  infinite sequence.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36549 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-07-27 08:09:03 +00:00
nobu
76ff1d90c8 test_lazy_enumerator.rb: test for cycle chain
* test/ruby/test_lazy_enumerator.rb (test_cycle_chain): more test for
  infinite sequence.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36548 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-07-27 08:07:21 +00:00
shyouhei
9b16b7478a * test/net/http/test_https.rb (TestNetHTTPS#test_session_reuse): localhost is not (always) 127.0.0.1. Don't expect that.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36543 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-07-26 05:54:29 +00:00
nobu
22783fdbc5 test_complex.rb, test_rational.rb: revert some assertions
* test_complex.rb, test_rational.rb: revert some assertions, but just
  assert that a frozen object cannot be modified with marshal_load.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36542 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-07-26 03:08:41 +00:00
nobu
003c45f9cd complex.c, rational.c: compatible marshal loader
* complex.c, rational.c: compatible marshal loader for compatibilities
  with 1.8.  [ruby-core:45775] [Bug #6625]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36538 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-07-25 08:41:07 +00:00
naruse
61a67bc720 Add test to clarify r36421. [Bug #5915]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36535 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-07-25 07:13:24 +00:00
naruse
131f694330 Suppress warnings.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36534 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-07-25 06:49:35 +00:00
usa
970c5ac4ff * test/testunit/test_redefinition.rb: broken class/method names.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36531 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-07-25 01:01:59 +00:00
naruse
347c554f7e * lib/cgi/html.rb (element_init): suppress redefine warning.
Don't define methods if they are already defined.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36529 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-07-25 00:19:09 +00:00
drbrain
ead728ca7d * lib/net/http.rb: Added SSL session reuse across connections for a
single instance to speed up connection.  [Feature #5341]
* NEWS:  ditto
* test/net/http/test_https.rb:  Tests for #5341


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36528 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-07-25 00:05:59 +00:00
tenderlove
91bd6e711d * parse.y: added symbols and qsymbols productions for %i and %I
support. %i{ .. } returns a list of symbols without interpolation,
  %I{ .. } returns a list of symbols with interpolation.  Thanks to
  Josh Susser for inspiration of this feature. [Feature #4985]

* ext/ripper/eventids2.c: added ripper events for %i and %I.

* test/ripper/test_parser_events.rb: ripper tests

* test/ripper/test_scanner_events.rb: ditto

* test/ruby/test_array.rb: test for %i and %I behavior

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36524 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-07-24 18:10:35 +00:00
naruse
0daf636e7a Unix doesn't use win_expected_filename.
r36519's essensial part is not to use filename.force_encoding("euc-jp").

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36521 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-07-24 09:57:59 +00:00