Commit graph

29400 commits

Author SHA1 Message Date
tarui
315bf4b6d7 * vm_dump.c (rb_vm_bugreport): commentout addr2line call temporarily
in order to avoid segv. anyone can fix addr2line?
	  [Bug #7597] [ruby-dev:46786]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38533 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-21 12:17:03 +00:00
ko1
17ac783541 * iseq.c (Init_ISeq): remove definition of the following methods:
ISeq#line_trace_all and ISeq#line_trace_specify because they are
  half baked.
  C APIs are remained as experimental. These functions will be
  renamed, removed their parameters may be changed.
  You can use these methods by C exts. Please give us your comments.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38532 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-21 11:44:09 +00:00
ko1
a6c5431156 * vm_trace.c (tracepoint_new): add code to support specified thread.
But not tested and this feature is not supported officially.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38531 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-21 11:22:54 +00:00
naruse
1ed4ed43f7 Add test for r38529 [Bug #7536]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38530 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-21 10:53:57 +00:00
ko1
f4ef96e6a2 * ruby.c (process_options): need to acquire env from TOPLEVEL_BINDING
each time.
  `bind->env' may update after `eval()'.
  [Bug #7536]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38529 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-21 10:39:59 +00:00
ko1
a598fcc8c1 fix ChangeLog
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38527 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-21 09:51:03 +00:00
ko1
8578cc337b * include/ruby/debug.h: define rb_trace_arg_t.
* vm_core.h: catch up above changes.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38526 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-21 09:48:15 +00:00
ko1
979479270c add a ticket number
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38525 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-21 09:37:31 +00:00
ko1
87d48d14a0 * vm_core.h, vm_trace.c: fix multi-threading bug for tracing.
Move `trace_arg' from rb_tp_t::trace_arg to rb_thread_t::trace_arg.
  `trace_arg' may changed by multiple threads.
  rb_thread_t::trace_arg can represent rb_thread_t::trace_running
  (null or non-null) and rb_thread_t::trace_running is removed.
  After that, `rb_tp_t' is not needed to check tracing or not
  (A running thread knows tracing or not). This is why I remove
  tp_attr_check_active() and make new function get_trace_arg().
  And this modification disable to work the following code:
  TracePoint.trace{|tp|
  Thread.new{p tp.event} # access `tp' from other threads.
  }
  I believe nobody mix threads at trace procedure.
  This is current limitation.
* cont.c (fiber_switch, rb_cont_call): use rb_thread_t::trace_arg
  instead of rb_thread_t::trace_running.
* test/ruby/test_settracefunc.rb: add a multi-threading test.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38524 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-21 09:33:44 +00:00
nobu
94a4bc0ef4 id.h.tmpl: ID2ATTRSET
* template/id.h.tmpl (ID2ATTRSET): compile time constant macro for
  ID_ATTRSET.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38523 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-21 07:38:11 +00:00
nobu
2edcf87c1c id.def: check duplication
* defs/id.def (KeywordError): check duplication.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38522 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-21 07:38:07 +00:00
nobu
298694a2fd id.def: other scope ID
* defs/id.def: support for other scope IDs,
  ID_{INSTANCE,GLOBAL,CONST,CLASS}.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38521 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-21 07:38:03 +00:00
nobu
e8794bf215 test_thread.rb: descriptive assertions
* test/ruby/test_thread.rb: (test_local_barrier),
  (test_status_and_stop_p, test_recursive_outer, test_stack_size): use
  more descriptive assertions.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38520 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-21 07:35:49 +00:00
nobu
2ed9c6fe0b test_thread.rb: flush before SystemStackError
* test/ruby/test_thread.rb (TestThread#test_stack_size): need to flush
  before SystemStackError.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38519 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-21 07:35:47 +00:00
nobu
3763c760fd vm_trace.c: style
* vm_trace.c (rb_suppress_tracing): adjust style.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38518 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-21 07:35:42 +00:00
nobu
6bfc7cca58 * properties.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38517 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-21 07:31:28 +00:00
zzak
7e9eb32669 * lib/irb.rb, lib/irb/*: Documentation for IRB
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38515 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-21 05:45:50 +00:00
drbrain
4f7a6aafa5 * lib/rake/*: Updated to rake 0.9.6
* doc/rake/*:  ditto
* test/rake/*:  ditto


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38514 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-21 02:34:37 +00:00
tarui
7764dd9357 * vm_trace.c (rb_suppress_tracing): remove unused variable 'vm_tracing'
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38513 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-20 23:58:16 +00:00
tarui
349b20cc91 * lib/irb/completion.rb (CompletionProc): support completion of
instance variables. [ruby-dev:46710] [Bug #7520]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38512 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-20 16:02:43 +00:00
svn
d73872f3bc * 2012-12-21
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38511 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-20 15:32:44 +00:00
kazu
5e85f08692 fix typos and tabify
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38510 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-20 15:32:39 +00:00
tarui
fbbb06f803 * vm_trace.c (rb_suppress_tracing): bugfix for vm->trace_running
counter. And if tracing is already true, vm_trace_running ops is
	  skipped to control overflow.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38509 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-20 12:02:37 +00:00
nobu
8497a7b918 ruby.h: RTEST NIL_P
* include/ruby/ruby.h (RTEST, NIL_P): make bare expressions without
  outermost parentheses.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38499 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-20 09:29:57 +00:00
nobu
ee26f5ec25 tkutil.c: NIL_P
* ext/tk/tkutil/tkutil.c (tk_symbolkey2str, ary2list, ary2list2): do
  not assume NIL_P() to be parenthesized always.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38498 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-20 09:28:35 +00:00
nobu
026518c8e5 ossl.c: RTEST
* ext/openssl/ossl.c (ossl_fips_mode_set): do not assume RTEST() to be
  parenthesized always.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38497 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-20 09:28:33 +00:00
shugo
f1f05e75cd * NEWS: fix the description for Refinements.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38496 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-20 08:29:41 +00:00
shugo
ea01ffa569 * vm_core.h (rb_vm_defineclass_type_t),
compile.c (iseq_compile_each), insns.def (defineclass): change the
  meaning of the third operand of defineclass as follows:
    lower 3bits: the type of the defineclass
                   0 = class, 1 = singleton class, 2 = module
    4th bit: a flag represents whether the defineclass is scoped
               0 = not scoped (e.g., class Foo)
	       1 = scoped (e.g., class Bar::Baz)
    5th bit: a flag represents whether the superclass is specified
               0 = not specified (e.g., class Foo)
               1 = specified (e.g., class Bar < Foo)
  If the superclass is specified and is not a class, a TypeError
  should be raised.  [ruby-dev:46747] [Bug #7572]

* test/ruby/test_class.rb: related test.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38495 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-20 08:13:53 +00:00
emboss
a158034789 * NEWS: announce AEAD encryption support in the OpenSSL extension.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38494 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-20 07:54:13 +00:00
usa
94f42d6d79 * gc.c (nonspecial_obj_id): VALUE is not compatible with Fixnum on
LLP64 platform, such as 64bit Windows.
  reporeted by Heesob Park at [ruby-core:50255] [Bug #7454], and the
  fix is suggested by akr.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38493 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-20 07:43:54 +00:00
emboss
b9bd8eaf3b * ext/openssl/ossl_cipher.c: fix errors for installations that do not
feature Authenticated Encryption.
* ext/openssl/extconf.rb: detect presence of EVP_CTRL_GCM_GET_TAG to
  determine whether Authenticated Encryption can be used.
  [Feature #6980] [ruby-core:47426]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38492 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-20 07:42:56 +00:00
emboss
4fce754f9b * ext/openssl/ossl.c: do not use FIPS_mode_set if not available.
* test/openssl/utils.rb: revise comment about setting FIPS mode to
  false.
* test/openssl/test_fips.rb: remove tests that cause errors on
  ruby-ci.
  [Feature #6946] [ruby-core:47345]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38491 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-20 07:00:11 +00:00
drbrain
a6ed298df7 * lib/rdoc/parser/ruby.rb: Ignore methods defined on constants to
prevent modules with the names of constants from appearing in the
  documentation.
* test/rdoc/test_rdoc_parser_ruby.rb:  Test for the above.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38490 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-20 06:23:28 +00:00
nobu
d3d00ab8fe * remove trailing spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38489 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-20 06:18:26 +00:00
emboss
215b54806b * ext/openssl/ossl_cipher.c: add support for Authenticated Encryption
with Associated Data (AEAD) for OpenSSL versions that support the
  GCM encryption mode. It's the only mode supported for now by OpenSSL
  itself. Add Cipher#authenticated? to detect whether a chosen mode
  does support Authenticated Encryption.
* test/openssl/test_cipher.rb: add tests for Authenticated Encryption.
  [Feature #6980] [ruby-core:47426] Thank you, Stephen Touset for
  providing a patch!



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38488 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-20 06:03:03 +00:00
drbrain
ec6cacf00a * lib/rdoc/markup/to_html.rb (class RDoc): Added current heading and
top links to headings.
* lib/rdoc/generator/template/darkfish/rdoc.css:  ditto
* test/rdoc/test_rdoc_generator_markup.rb:  Test for above
* test/rdoc/test_rdoc_markup_to_html.rb:  ditto

* test/rdoc/test_rdoc_comment.rb:  Removed trailing whitespace.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38487 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-20 03:57:08 +00:00
nobu
4407145294 test_require.rb: clear load path
* test/ruby/test_require.rb (test_require_invalid_shared_object),
  (test_require_too_long_filename, test_require_changed_current_dir),
  (test_require_not_modified_load_path, test_require_changed_home),
  (test_require_to_path_redefined_in_load_path),
  (test_require_to_str_redefined_in_load_path),
  (assert_require_with_shared_array_modified): clear preset load path
  so that unexpected files will not get loaded.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38486 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-20 03:43:53 +00:00
nobu
0de805f62b envutil.rb: validate syntax
* test/ruby/envutil.rb (assert_valid_syntax): move from
  test_syntax.rb.
* test/ruby/envutil.rb (assert_normal_exit): validate syntax before
  running because this assertion passes even if the code fails by
  SyntaxError.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38485 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-20 02:05:37 +00:00
nobu
3ec171510e vm.c: fix format
* vm.c (get_param): fix format specifier for size_t.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38484 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-20 01:52:50 +00:00
nobu
30fbc5591d * remove trailing spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38483 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-20 01:52:47 +00:00
emboss
b28ac4039d * test/openssl/test_pkey_dh.rb: revert special treatment of
FIPS-capable installations since FIPS mode is now disabled for the
  tests.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38482 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-20 00:32:09 +00:00
nobu
9fbdf1e347 * properties.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38481 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-20 00:31:06 +00:00
emboss
a3b753b282 * ext/openssl/ossl.c: add OpenSSL.fips_mode= to allow enabling FIPS
mode manually.
* test/openssl/utils.rb: turn off FIPS mode for tests. This prevents
  OpenSSL installations with FIPS mode enabled by default from raising
  FIPS-related errors during the tests.
* test/openssl/test_fips.rb: add tests for FIPS-capable OpenSSL
  installations.
  [Feature #6946] [ruby-core:47345]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38480 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-20 00:29:07 +00:00
ko1
e3e4e9dfe7 add ticket number
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38479 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-19 22:33:43 +00:00
ko1
87e1616048 * vm.c: support variable VM/Machine stack sizes.
Specified by the following environment variaables:
  - RUBY_THREAD_VM_STACK_SIZE: vm stack size used at thread creation.
  default: 128KB (32bit CPU) or 256KB (64bit CPU).
  - RUBY_THREAD_MACHINE_STACK_SIZE: machine stack size used at thread
  creation. default: 512KB or 1024KB.
  - RUBY_FIBER_VM_STACK_SIZE: vm stack size used at fiber creation.
  default: 64KB or 128KB.
  - RUBY_FIBER_MACHINE_STACK_SIZE: machine stack size used at fiber
  creation. default: 256KB or 256KB.
  This values are specified at launched timing. You can not change
  these values at running time.
  Environ variables are only *hints* because:
  - They are aligned to 4KB.
  - They have minimum values (depend on OSs).
  - Machine stack settings are ignored by some OSs.
  Default values especially fiber stack sizes are increased.
  This change affect Fiber's behavior:
  (1) You can run more complex program on a Fiber.
  (2) You can not make many (thousands) Fibers because of
  lack of address space (on 32bit CPU).
  If (2) bothers you,
  (a) Use 64bit CPU with big memory, or
  (b) Specify RUBY_FIBER_(VM|MACHINE)_STACK_SIZE correctly.
  You need to choose correct stack size carefully. These values
  are completely rely on systems (OS/compiler and so on).
* vm_core.h (rb_vm_t::default_params): add to record above settings.
* vm.c (RubyVM::DEFAULT_PARAMS): add new constant to see
  above setting.
* thread_pthread.c: support RUBY_THREAD_MACHINE_STACK_SIZE.
* cont.c: support RUBY_FIBER_(VM|MACHINE)_STACK_SIZE.
* test/ruby/test_fiber.rb: add tests for above.
* test/ruby/test_thread.rb: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38478 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-19 22:29:18 +00:00
ko1
5d92f6ec05 * test/ruby/test_fiber.rb: remove a strange single quote character.
With this character, this script exits by SyntaxError.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38477 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-19 21:28:44 +00:00
svn
7cb7d8ad1d * 2012-12-20
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38476 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-19 16:04:16 +00:00
zzak
bfa7a49d31 * ext/.document: Add missing ext modules to .document
Patch by Ryunosuke SATO [Fixes Github #224]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38475 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-19 16:04:11 +00:00
usa
e446378ad0 * ruby.c (load_file_internal): use original C string as the filename
for parser.
  reported by whiteleaf at [ruby-list:49085] [ruby-dev:46738]
  [Bug #7562]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38474 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-19 14:54:50 +00:00
ngoto
e90ccd3beb * marshal.c (marshal_dump, marshal_load): fix SEGV during make rdoc
and test failure in TestMarshal#test_gc and test_context_switch
  on SPARC Solaris 10 compiled with Oracle Solaris Studio 12.3.
  [Bug #7591] [ruby-dev:46772]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38473 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-19 14:47:26 +00:00