Граф коммитов

29032 Коммитов

Автор SHA1 Сообщение Дата
nagachika c2834e3ce4 * ChangeLog: add ML and ticket ref for r38441.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38449 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-18 14:02:18 +00:00
kosaki 06dcf7840f * io.c (rb_io_wait_writable): don't use rb_thread_wait_fd()
because it is for waiting until io readable.

* io.c (rb_io_wait_writable): always use rb_thread_fd_writable()
  instaed of bare rb_wait_for_single_fd(). we shouldn't ignore
  return value.
* io.c (rb_io_wait_readable): ditto. always use rb_thread_wait_fd().

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38448 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-18 10:07:15 +00:00
kosaki 005db82d36 * thread.c (rb_thread_wait_fd_rw): fix infinite loop bug.
rb_wait_for_single_fd() never return positive number.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38447 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-18 10:07:05 +00:00
drbrain dff59f6c5d * lib/rdoc/encoding.rb: Do not remove #! line from document when
setting encoding.  This allows ruby executables to be parsed as ruby
  files.
* test/rdoc/test_rdoc_encoding.rb:  Test for above.

* lib/rdoc/parser.rb:  Set the parser file name of ruby executables
  correctly.
* test/rdoc/test_rdoc_parser.rb:  Test for above.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38446 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-18 08:24:57 +00:00
drbrain aa233d3f33 * doc/syntax/literals.rdoc: Used simplified heredoc example that
doesn't include method definition.  Added heredoc with backticks.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38445 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-18 07:46:33 +00:00
drbrain 69dfd5e034 * lib/rdoc/store.rb: Work around RDoc stores from older versions of
RDoc.
* test/rdoc/test_rdoc_store.rb:  Test for above.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38444 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-18 07:39:15 +00:00
drbrain 2e881bd59e * lib/rdoc/ruby_lex.rb: Return a TkHEREDOC instead of a TkSTRING when
the heredoc identifier is followed by a line-end.  This allows proper
  display of some HEREDOCs in source view.
* lib/rdoc/ruby_token.rb:  Added TkHEREDOC
* test/rdoc/test_rdoc_ruby_lex.rb:  Test for above.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38443 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-18 07:31:36 +00:00
nobu 84e3e8441c * properties.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38442 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-18 04:31:13 +00:00
nagachika 606b66db7d * vm.c (rb_vm_make_jump_tag_but_local_jump): take care of the case
TAG_JUMP() with TAG_FATAL (ex. rb_fatal()).

* test/ruby/test_fiber.rb (test_fatal_in_fiber): add a test for above.

* ext/-test-/fatal/extconf.rb, ext/-test-/fatal/rb_fatal.c: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38441 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-18 04:30:44 +00:00
zzak ec3226d826 * vm_trace.c (tracepoint_attr_defined_class): Clean up rdoc for
TracePoint#defined_class


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38440 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-18 04:18:06 +00:00
zzak dbc8565fa3 typos in changelog
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38439 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-18 04:16:00 +00:00
drbrain b06dfe594e * lib/rubygems/specification.rb: Fixed ruby output of requirements
with multiple version specifiers.
* test/rubygems/test_gem_ext_cmake_builder.rb:  Only look for specific
  lines in cmake output.  Should fix [ruby-trunk - Bug #7579]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38438 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-18 03:16:27 +00:00
drbrain 87f099d069 * doc/syntax/literals.rdoc: Added 0o octal integers.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38437 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-18 02:48:35 +00:00
emboss 831af844ef * test/openssl/test_ssl.rb: Use :TLSv1_2_client explicitly in
test_tls_v1_2 to prevent upstream bug.
  [Bug #7197] [ruby-dev:46240]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38436 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-18 02:32:28 +00:00
naruse c2606d23c5 Show $LOAD_PATH and RUBYLIB to debug easier
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38435 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-18 02:06:39 +00:00
emboss e814e2ff3a * test/openssl/test_ssl.rb: Improve my grammar.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38434 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-18 02:04:52 +00:00
emboss 84f1dae9d6 * ext/openssl/lib/ssl.rb: Enable insertion of empty fragments as a
countermeasure for the BEAST attack by default. The default options
  of OpenSSL::SSL:SSLContext are now:
  OpenSSL::SSL::OP_ALL & ~OpenSSL::SSL::OP_DONT_INSERT_EMPTY_FRAGMENTS
  [Bug #5353] [ruby-core:39673]

* test/openssl/test_ssl.rb: Adapt tests to new SSLContext default.

* NEWS: Announce the new default.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38433 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-18 02:02:43 +00:00
ko1 f5a32acb97 fix ChangeLog comment
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38432 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-17 22:08:00 +00:00
ko1 256c5f2577 * method.h: remove `VM_METHOD_TYPE_CFUNC_FRAMELESS' method type.
This method type is for optimized CFUNC such as Fixnum#+ and so on.
  This feature is half-baked and no way to use them.
  [Background]
  Now, VM has opt_plus instructions to optimize `+' methods for
  some Classes (such as Fixnum, Float (flonum)). We call this
  type of instructions as `specialized instructions'.
  This simple technique improve simple program dramatically.
  However, we can make specialized instructions for only several
  types (classes) and selectors (method names) because a large
  instruction will be slow. In other words, this technique has no
  extensibility.
  To overcome this problem, VM_METHOD_TYPE_CFUNC_FRAMELESS was
  introduced (r37198). This type is a variant of CFUNC, but called
  their functiions directly without building a method frame.
  Any CFUNC method can be defined as frameless methods if a method
  is not needed to make method frame. Frameless methods are faster
  as specialized instructions (a bit slower, but no need to care).
  No problem described at
  http://charlie.bz/blog/why-do-singleton-methods-make-ruby-slow
  because this technique doesn't see class, but see method body
  itself. Alias is also no problem.
  [Problem]
  However, we can't set frameless method type for polymorphic methods
  such as Array#[]. Necessity for method frame depends on which
  parameter type. For example, Fixnum#+ needs method frame if
  coerce is needed. Current VM_METHOD_TYPE_CFUNC_FRAMELESS is not
  flexible and need more tuning to introduce it.
  Expected behavior of frameless method type may be:
  result = optimized_cfunc(params); /* call optimized cfunc */
  if (result == Qundef) { result = normal_cfunc(); }
  This is why I say this feature is half-baked.
  We need to learn primitive method in Smalltalk more.
  (I heard this name at RubyConf Taiwan this month. Thanks!)
  [Conclusion]
  Nobody may use this feature and there is no compatibility issue.
  This feature goes to next minor (2.1?).
* proc.c (rb_method_entry_arity): ditto.
* vm_eval.c, vm_insnhelper.c, vm_method.c: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38431 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-17 22:04:12 +00:00
ko1 6247099f4c * vm_trace.c (fill_id_and_klass): TracePoint#defined_class returns
singleton class. `set_trace_func' passed attached class (which is
  attached/modified by singleton class) by 6th block parameter if it
  is singleton class. Previous behavior follows this spec.
  However, this method named `defined_class' should return singleton
  class directly because singleton methods are defined in singleton
  class. There are no compatible issue because TracePoint is introduced
  after 2.0.
  But compatiblity with `set_trace_func' is brokne. This means that
  you can not replace all `set_trace_func' code with TracePoint
  without consideration of this behavior.
  [Bug #7554]
* test/ruby/test_settracefunc.rb: change a test to catch up
  an above chagne.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38430 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-17 20:28:51 +00:00
tenderlove 4654d75ea3 * ext/psych/lib/psych/visitors/to_ruby.rb: speed up node mapping so
common cases are evaluated first.  Thanks Kevin Menard!

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38429 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-17 18:04:50 +00:00
zzak c60e45f100 * lib/optparse.rb: Remove 'developer documentation' section from rdoc
Patch by Marcus Stollsteimer [ruby-core:50526][Bug #7504]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38428 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-17 17:44:34 +00:00
zzak 08d599670a typo
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38427 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-17 17:37:28 +00:00
svn b02141ad78 * 2012-12-18
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38426 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-17 17:37:02 +00:00
zzak f2a997d858 * lib/matrix.rb (#dup): typo in example [ruby-core:50946][Bug #7582]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38425 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-17 17:36:56 +00:00
naruse 8dcc5ec888 Use EnvUtil.rubybin instead of Gem.ruby
[ruby-core:50943] [Bug #7581]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38424 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-17 12:48:12 +00:00
charliesome a70bb8889b * class.c (rewrite_cref_stack, clone_method): rewrite a method's cref
stack when cloning into a new class to allow lexical const lookup to
  work as expected [ruby-core:47834] [Bug #7107]
* test/ruby/test_class.rb (class TestClass): related test

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38423 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-17 09:49:00 +00:00
kosaki 6d8ad6c489 * io.c (io_flush_buffer_sync2): avoid to return 0. because
rb_thread_call_without_gvl2 uses 0 internally.
* io.c (io_flush_buffer_async2): adapt the above.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38422 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-17 05:04:04 +00:00
drbrain 73b244d0de * doc/syntax/methods.rdoc: Added a description of singleton methods.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38421 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-17 03:05:45 +00:00
drbrain 85d3d572fa * doc/.document: Added doc/syntax
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38420 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-17 02:36:30 +00:00
drbrain 29fd593475 * doc/syntax.rdoc: Added syntax guide table of contents
* doc/syntax/exceptions.rdoc:  Syntax guide for exceptions
* doc/syntax/literals.rdoc:  Syntax guide for literals
* doc/syntax/methods.rdoc:  Syntax guide for methods


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38419 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-17 02:26:15 +00:00
drbrain 810008293f * lib/rdoc.rb: Updated VERSION.
* lib/rdoc/markup/attribute_manager.rb:  Removed useless empty check.

	* lib/rdoc/markup/to_markdown.rb:  Support links from other formats.
	* lib/rdoc/markup/formatter.rb:  ditto.
	* lib/rdoc/markup/to_html.rb:  ditto.
	* test/rdoc/test_rdoc_markup_formatter.rb:  Test for above.
	* test/rdoc/test_rdoc_markup_to_html.rb:  ditto.
	* test/rdoc/test_rdoc_markup_to_markdown.rb:  ditto.

	* lib/rdoc/rd/block_parser.rb:  Improved footnote display.  Worked
	  around bug in footnote conversion to Markdown.
	* test/rdoc/test_rdoc_rd_block_parser.rb:  Test for above.

	* lib/rdoc/rd/inline_parser.rb:  Fixed bug with emphasis inside
	  verbatim.
	* test/rdoc/test_rdoc_rd_inline_parser.rb:  Test for above.

	* test/rdoc/test_rdoc_parser_rd.rb:  Use mu_pp, use shortcut methods.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38418 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-16 23:07:49 +00:00
svn 10295ab2ff * 2012-12-17
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38417 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-16 23:00:08 +00:00
drbrain 92443fccbf * lib/rubygems.rb: Updated VERSION
* test/rubygems/test_gem_installer.rb:  Fixed ambiguous first argument
  warning.

* test/rubygems/test_gem_rdoc.rb:  RDoc generation depends on installed
  version of RDoc.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38416 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-16 23:00:04 +00:00
kosaki 44b4b9060d * signal.c (rb_sigaltstack_size): cast sysconf() return value
explicitly. Fix compile error on Mac OS X.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38415 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-15 17:10:50 +00:00
nagachika 54619f8d1e * cont.c (rb_fiber_start): don't enqueue Qnil to async_errinfo_queue.
rb_vm_make_jump_tag_but_local_jump() could return Qnil (ex. when
  finished by Thread.exit). [ruby-dev:45218] [Bug #5993]

* test/ruby/test_fiber.rb (test_exit_in_fiber): add test for it.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38414 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-15 15:46:07 +00:00
ngoto 48bcb55c41 * ext/fiddle/pointer.c (rb_fiddle_ptr2cptr): fix error message forgotten to be changed from DL to Fiddle.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38413 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-15 15:04:25 +00:00
svn 438cca5720 * 2012-12-16
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38412 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-15 15:00:05 +00:00
kazu 9d960e38c8 fix a typo
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38411 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-15 15:00:00 +00:00
kosaki 0e19d2b434 * signal.c (default_handler): remove rb_register_sigaltstack()
call. sigaltstack was already registered when creating threads.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38410 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-15 14:20:24 +00:00
kosaki aff9dff46d * signal.c (rb_sigaltstack_size): new. calculate stack size for
sigsegv handler. enlarge value when x86 or x86_64 on Linux.
  Linux has very small MINSIGSTKSZ size (2048 bytes) and
  our sigsegv routine need 5KiB at least. [Bug #7141]
* internal.h: add declaration of rb_sigaltstack_size().
* vm_core.h: remove ALT_STACK_SIZE definition.

* signal.c (rb_register_sigaltstack): replace ALT_STACK_SIZE with
  rb_sigaltstack_size();
* gc.c (Init_heap): ditto.
* vm.c (th_init): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38409 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-15 14:20:12 +00:00
tadf cbe5f8820b * rational.c (f_round_common): should check overflow.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38408 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-15 09:25:13 +00:00
tadf 81af1bd9e8 * ratioanl.c (float_rationalize): reduced.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38407 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-15 09:01:22 +00:00
nobu 985fe77356 test_gem_remote_fetcher.rb: restore environment variables
* test/rubygems/test_gem_remote_fetcher.rb (setup, teardown): always
  restore environment variables fo http proxy, to get rid of sporadic
  warnings from URI::Generic#find_proxy.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38406 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-15 07:29:43 +00:00
kazu 43f791624a fix a typo
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38405 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-15 07:18:07 +00:00
nobu 691ee91c1a * proc.c (rb_binding_new_with_cfp): allocate the object after envirionment check.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38404 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-15 06:10:04 +00:00
nobu 2ca5e8eeab * parse.y (yycompile0): adjust indent.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38403 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-15 06:10:01 +00:00
kosaki 771f692792 fix typo
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38402 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-15 05:40:41 +00:00
kosaki 7fbaa0bedf * io.c (finish_writeconv): uses rb_write_internal2 if
fptr->write_lock have.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38401 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-15 05:40:29 +00:00
kosaki e78d4e69fe * thread.c (rb_mutex_owned_p): remove static.
* io.c (io_flush_buffer): don't hold mutex if already have.
  Now recursive lock may occur when following scenario.
  fptr_finalize -> finish_writeconv_sync -> finish_writeconv
  -> io_fflush.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38400 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-15 05:40:18 +00:00