Fri Jan 25 19:14:24 2013 Masaki Suketa <masaki.suketa@nifty.ne.jp>
* ext/win32ole/win32ole.c: use TlsAlloc instead of __declspec(thread)
to avoid SEGV if win32ole.so loaded with LoadLibrary in Windows
Vista or earlier.
Fri Jan 25 16:47:31 2013 Shugo Maeda <shugo@ruby-lang.org>
* ext/socket/raddrinfo.c (rsock_unixpath_len, init_unix_addrinfo),
ext/socket/unixsocket.c (unixsock_connect_internal,
rsock_init_unixsock): calculate the correct address length of
an abstract socket. Without this fix, sizeof(struct sockaddr_un)
is specified as the length of an abstract socket for bind(2) or
connect(2), so the address of the socket is filled with extra NUL
characters. See unix(7) for details.
* ext/socket/lib/socket.rb (unix_server_socket): don't access the
file system if the platform is Linux and path starts with NUL,
which means that the socket is an abstract socket.
* test/socket/test_unix.rb: related test.
Fri Jan 25 13:02:27 2013 Eric Hodel <drbrain@segment7.net>
* lib/drb/drb.rb: Updated documentation based on patch from Vincent
Batts. [ruby-trunk - Bug #7714]
* lib/drb/ssl.rb: ditto.
Fri Jan 25 12:23:29 2013 Eric Hodel <drbrain@segment7.net>
* lib/drb/drb.rb: Improved documentation by adding or hiding methods.
* lib/drb/eq.rb: ditto.
* lib/drb/extserv.rb: ditto.
* lib/drb/gw.rb: ditto.
* lib/drb/invokemethod.rb: ditto.
* lib/drb/observer.rb: ditto.
* lib/drb/ssl.rb: ditto.
* lib/drb/timeridconv.rb: ditto.
* lib/drb/unix.rb: ditto.
* sample/drb/gw_cu.rb: Fixed bug in DRb gateway sample.
Fri Jan 25 12:01:56 2013 Koichi Sasada <ko1@atdot.net>
* vm_core.h: modify a comment about rb_iseq_t::local_size.
A patch by davidbalbert (David Albert) [Bug #6750]
Fri Jan 25 10:36:31 2013 Eric Hodel <drbrain@segment7.net>
* lib/mkmf.rb: Documented MakeMakefile constants. Hide implementation
details from RDoc
Fri Jan 25 10:04:07 2013 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/compatibility.rb: Hide compatibility shims from RDoc
* lib/rubygems/config_file.rb: Hide RbConfig use from RDoc
* lib/rubygems/test_case.rb: Added note to use realpath when 1.8
support is dropped.
Fri Jan 25 09:14:43 2013 Eric Hodel <drbrain@segment7.net>
* lib/rdoc/generator/darkfish.rb: Fixed debug message. RDoc bug #174
by Thomas Leitner.
* lib/rdoc/store.rb: Fixed deletion of ri attribute data when a class
was loaded then saved. RDoc bug #171 by Thomas Leitner.
* test/rdoc/test_rdoc_store.rb: Test for above.
Thu Jan 24 19:55:25 2013 Shota Fukumori <her@sorah.jp>
* NEWS (yaml): Write about bundled libyaml.
Thu Jan 24 16:54:34 2013 Eric Hodel <drbrain@segment7.net>
* doc/syntax/calling_methods.rdoc: Added a Method Lookup section.
* doc/syntax/refinements.rdoc (Method Lookup): Clarified that
refinement methods are looked up in classes, not instances.
Thu Jan 24 16:49:17 2013 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
* enum.c (enum_zip): Fix error message
* array.c (take_items): Same, for Array#zip
Thu Jan 24 16:47:26 2013 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
* enumerator.c (lazy_zip): raise error for bad arguments
[Bug #7706]
Thu Jan 24 16:05:08 2013 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
* enumerator.c: Optimize Lazy#zip when passed only arrays
[Bug #7706]
Thu Jan 24 15:21:17 2013 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
* enumerator.c: Fix state handling for Lazy#zip,{drop_take}{_while}
[bug #7696] [bug #7691]
Thu Jan 24 11:43:47 2013 Narihiro Nakamura <authornari@gmail.com>
* eval.c (f_current_dirname): Add documentation about "__dir__
returns always an absolute path". [Bug #7729]
Thu Jan 24 10:28:30 2013 Eric Hodel <drbrain@segment7.net>
* NEWS (RDoc): Added mention of page support and markdown support.
Thu Jan 24 09:40:13 2013 Eric Hodel <drbrain@segment7.net>
* doc/syntax/refinements.rdoc: Added refinements document based on
the specification from the wiki.
* doc/syntax.rdoc: Added link to refinements document.
Wed Jan 23 16:29:09 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
* win32/win32.c (rb_w32_spawn, rb_w32_aspawn_flags): fix missing
initialization. pointed out by phasis68 (Heesob Park) at
[ruby-core:51579]. [Bug #7721]
Wed Jan 23 16:18:04 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
* lib/mkmf.rb (MakeMakefile#try_constant): fix for large unsigned.
* lib/mkmf.rb (MakeMakefile#try_constant): fix for larger constants.
* test/mkmf/test_constant.rb: tests for try_constant.
TODO: define check_constant and use it.
Wed Jan 23 13:35:37 2013 Koichi Sasada <ko1@atdot.net>
* thread_pthread.c (ruby_init_stack): ignore `STACK_END_ADDRESS'
if Ruby interpreter is running on co-routine.
[Feature #2294]
https://bugs.ruby-lang.org/issues/2294#note-18
Wed Jan 23 12:28:22 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
* win32/win32.c (rb_w32_spawn, rb_w32_aspawn_flags): check the results
of acp_to_wstr() which can return NULL. [ruby-core:51557] [Bug #7721]
Wed Jan 23 10:40:49 2013 Eric Hodel <drbrain@segment7.net>
* doc/syntax/assignment.rdoc (Implicit Array Assignment): Clarify
that "left-hand side" means "of the assignment". Suggested by Jorge
Dias.
* doc/syntax/assignment.rdoc (Multiple Assignment): ditto.
Wed Jan 23 10:34:47 2013 Eric Hodel <drbrain@segment7.net>
* doc/syntax/assignment.rdoc (Local Variables and Methods): Fixed
example showing caching of a method's results into a local variable.
Added not about using an explicit receiver to call a method that
matches a local variable. Suggested by markov_twain on twitter.
Wed Jan 23 10:20:08 2013 Eric Hodel <drbrain@segment7.net>
* lib/README: Fixed typo. Patch by Pradeep Sahoo.
Fixes #240 on github
Wed Jan 23 09:53:39 2013 Eric Hodel <drbrain@segment7.net>
* lib/rdoc/servlet.rb: Fixed display of site and home documentation.
Fixes rdoc issue #170 by Thomas Leitner.
* test/rdoc/test_rdoc_servlet.rb: Test for above.
* lib/rdoc/code_object.rb: Split #initialize_visibility from
#initialize for reuse when loading a stored object.
Fixes rdoc issue #171 by Thomas Leitner.
* lib/rdoc/any_method.rb: Initialize visibility for #display? For
rdoc issue #171
* lib/rdoc/attr.rb: ditto.
* lib/rdoc/class_module.rb: ditto.
* lib/rdoc/top_level.rb: ditto.
* test/rdoc/test_rdoc_any_method.rb: Test for above.
* test/rdoc/test_rdoc_attr.rb: ditto.
* test/rdoc/test_rdoc_class_module.rb: ditto.
* test/rdoc/test_rdoc_constant.rb: ditto.
* test/rdoc/test_rdoc_top_level.rb: ditto.
Wed Jan 23 06:43:26 2013 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/test_case.rb: Use Dir.tmpdir for rubygems tests instead
of ./tmp/test. Fixes [ruby-trunk - Bug #7717]
Tue Jan 22 22:58:03 2013 Akinori MUSHA <knu@iDaemons.org>
* misc/ruby-electric.el (ruby-electric-curlies): Fix the bug where
an open curly inserted in a string is always replaced with a
hash sign.
Mon Jan 21 15:41:33 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
* tool/mkconfig.rb: BASERUBY is transient at core build.
Mon Jan 21 13:51:21 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
* lib/mkmf.rb ($extmk): traverse parent directories for the case
srcdir is a symlink.
Sun Jan 20 23:55:37 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
* marshal.c (w_object, r_object0): separate respond_to checks and
calling, and get back to the old behavior for 2.0. [Bug #7564]
Sun Jan 20 22:24:28 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
* tool/vpath.rb (VPath#def_options): hack for msys make, which
converts a command line argument to non-msys command seems like a
path list automagically. [Bug #7710] [ruby-core:51489]
Sat Jan 19 11:35:00 2013 Zachary Scott <zachary@zacharyscott.net>
* struct.c (Struct.new): Document Struct.new with block
Patch by Hiroyuki Iwatsuki [Bug #7674]
Sat Jan 19 09:52:46 2013 Eric Hodel <drbrain@segment7.net>
* doc/syntax/miscellaneous.rdoc: Added section on defined?
Sat Jan 19 09:27:31 2013 Eric Hodel <drbrain@segment7.net>
* doc/syntax/assignment.rdoc (Local Variables and Methods): Made it
more clear that local variables are created by the parser, not
execution. Thanks to John Hawthorn.
Sat Jan 19 09:15:58 2013 Eric Hodel <drbrain@segment7.net>
* doc/syntax/assignment.rdoc: Improved links
* doc/syntax/methods.rdoc: ditto.
* doc/syntax.rdoc: Added link to assignment document
Sat Jan 19 08:47:33 2013 Eric Hodel <drbrain@segment7.net>
* doc/syntax/assignment.rdoc: Added a syntax document on assignment.
Fri Jan 18 14:11:01 2013 Eric Hodel <drbrain@segment7.net>
* doc/syntax/methods.rdoc: Added Array Decomposition.
Fri Jan 18 12:54:21 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
* tool/rbinstall.rb (gem): Gem.ensure_gem_subdirectories makes
subdirectories group-writable, so make them with $dir_mode.
Fri Jan 18 11:24:33 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
* ext/win32ole/win32ole.c (ole_initialize): uninitialize OLE at thread
ends. [Bug #2618] [ruby-core:27634]
* ext/win32ole/win32ole.c (ole_initialize): initialize OLE for each
threads. [Bug #2618] [ruby-core:27634]
Thu Jan 17 22:10:35 2013 Kouhei Sutou <kou@cozmixng.org>
* lib/rubygems/ext/builder.rb (Gem::Ext::Builder.make): Remove
.time dependency from *.rb install target. It causes needless
*.rb install. [Bug #7698] [ruby-core:51437]
Reported by Tadashi Saito. Thanks!!!
* test/rubygems/test_gem_installer.rb
(TestGemInstaller#test_install_extension_and_script): Add a test
for the above change.
Thu Jan 17 21:08:20 2013 Kouhei Sutou <kou@cozmixng.org>
* eval.c: Fix a typo in ruby_finalize() documentation.
Thu Jan 17 20:28:18 2013 Benoit Daloze <eregontp@gmail.com>
* object.c: Typo in Kernel#hash documentation.
Patch by zed_0xff [Github Fixes #237]
Thu Jan 17 10:48:56 2013 Aaron Patterson <aaron@tenderlovemaking.com>
* ext/psych/lib/psych/scalar_scanner.rb: use constants rather than
calculating Inf and NaN.
Thu Jan 17 10:21:05 2013 Eric Hodel <drbrain@segment7.net>
* doc/syntax/miscellaneous.rdoc: Added Ending an Expression and
indentation.
Thu Jan 17 09:30:21 2013 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/installer.rb: Untaint string when checking output
for $SAFE=1
* lib/rubygems/specification.rb: Keep previously loaded specs as
active. This prevents double loading when refreshing the gem list.
* test/rubygems/test_gem.rb: Test for above
* lib/rubygems.rb: Bump version to 2.0.0.rc.2
Thu Jan 17 09:08:37 2013 Eric Hodel <drbrain@segment7.net>
* doc/syntax/control_expressions.rdoc: Added ? : ternary if
Thu Jan 17 08:36:04 2013 Eric Hodel <drbrain@segment7.net>
* doc/syntax/miscellaneous.rdoc: Added documentation for alias, undef,
BEGIN, END.
* doc/syntax/modules_and_classes.rdoc (Constants): Fixed unwrapped
paragraph with trailing whitespace.
* doc/syntax/modules_and_classes.rdoc (Scope): Added section pointing
to alias and undef documentation.
* doc/syntax.rdoc: Added link to miscellaneous section.
Thu Jan 17 07:50:26 2013 Eric Hodel <drbrain@segment7.net>
* doc/syntax/control_expressions.rdoc (Flip-Flop): Added a section on
the flip-flop.
Thu Jan 17 06:59:51 2013 Eric Hodel <drbrain@segment7.net>
* doc/syntax/control_expressions.rdoc (if Expressions): Fixed markup
error. Fixes #235 on github by FlyingFoX.
Thu Jan 17 06:53:58 2013 Eric Hodel <drbrain@segment7.net>
* doc/syntax/literals.rdoc (Strings): Fixed typo. Fixes #236 on
github by Doug Yun.
Wed Jan 16 18:45:46 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
* ext/win32ole/lib/win32ole.rb: use TracePoint to hook all thread
creation not only by Thread.new and to get rid of interference with
svar scope. [Bug #7681] [ruby-core:51365]
Wed Jan 16 09:35:53 2013 Eric Hodel <drbrain@segment7.net>
* .document: Removed extra space
* lib/irb/lc/.document: Hide help-message
* lib/minitest/.document: Hide README.txt
* lib/rake/lib/.document: Hide project.rake
* lib/rdoc/generator/template/json_index/.document: Hide JavaScript
files
* lib/rubygems/ssl_certs/.document: Hide PEM files.
Wed Jan 16 03:54:28 2013 Eric Hodel <drbrain@segment7.net>
* doc/syntax/control_expressions.rdoc: Omit optional "then" for if and
unless expressions. Improved description of "a if a = 0.zero?"
NameError. Note that "do" for for loop is optional.
Wed Jan 16 03:28:47 2013 Eric Hodel <drbrain@segment7.net>
* doc/syntax/calling_methods.rdoc: Link to defining methods.
* doc/syntax/methods.rdoc: Link to calling methods, fixed typo.
Wed Jan 16 03:15:00 2013 Eric Hodel <drbrain@segment7.net>
* doc/syntax/methods.rdoc: Fixed link
* doc/syntax/modules_and_classes.rdoc: Fixed link
* doc/syntax.rdoc: Updated with links to the recently added pages
Wed Jan 16 03:05:50 2013 Eric Hodel <drbrain@segment7.net>
* doc/syntax/control_expressions.rdoc (redo Statement): Added note
about retry.
* doc/syntax/exceptions.rdoc: Added retry statement
Tue Jan 15 23:12:34 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
* tool/vpath.rb (VPath#list): default separator to PATH_SEPARATOR from
configure.in for make, not same name constant of File for use in ruby.
Tue Jan 15 22:30:04 2013 Keiju Ishitsuka <keiju@ishitsuka.com>
* lib/irb/ext/save-history.rb: identify rightly a status of a
history file that already exists [Bug #7694]. Thanks Nobuhiro IMAI
for this patch.
Tue Jan 15 15:55:28 2013 Eric Hodel <drbrain@segment7.net>
* doc/syntax/control_expressions.rdoc: Added description of control
expressions in ruby.
Tue Jan 15 13:33:00 2013 Eric Hodel <drbrain@segment7.net>
* doc/syntax/methods.rdoc (Method Names): Added method names including
operator methods.
* doc/syntax/methods.rdoc (Return Values): Added note that assignment
methods ignore return values.
* doc/syntax/precedence.rdoc: Added document describing precedence.
Tue Jan 15 11:49:31 2013 Eric Hodel <drbrain@segment7.net>
* doc/syntax/methods.rdoc (Block Argument): Added section on block
argument. Thanks to Andy Lindeman.
Tue Jan 15 10:54:59 2013 Eric Hodel <drbrain@segment7.net>
* doc/syntax/calling_methods.rdoc (Arguments): Added improved
introduction to arguments including passing style and lazy
evaluation. Thanks to Matt Aimonetti.
* doc/syntax/calling_methods.rdoc (Positional Arguments): Added
description for sending a message to a method with *arguments
* doc/syntax/calling_methods.rdoc (Default Positional Arguments):
Added description. Thanks to Andy Lindeman.
* doc/syntax/calling_methods.rdoc (Block Local Arguments):
Added description of block locals. Thanks to Justin Collins.
* doc/syntax/calling_methods.rdoc (Hash to Keyword Arguments): Added
section describing ** operator. Thanks to Justin Collins.
Tue Jan 15 10:40:18 2013 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
* test_lazy_enumerator: Test that map & flat_map also require a block
Tue Jan 15 09:22:47 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
* thread_pthread.c (gvl_init): Reset gvl.wait_yield explicitly when
fork()ing. Patch by Apollon Oikonomopoulos. Thanks!
[Bug #7693][ruby-core:51424]
Tue Jan 15 09:27:56 2013 Eric Hodel <drbrain@segment7.net>
* doc/syntax/calling_methods.rdoc (Receiver): Added :: as pointed out
by Tony Arcieri
* doc/syntax/calling_methods.rdoc (Block Argument): Fixed { } block
examples as pointed out by David Copeland.
Tue Jan 15 09:10:29 2013 Eric Hodel <drbrain@segment7.net>
* doc/syntax/methods.rdoc (Array/Hash Argument): Moved above Keyword
Arguments
* doc/syntax/methods.rdoc (Keyword Arguments): Described ** for
gathering arbitrary keyword arguments.
Tue Jan 15 08:56:37 2013 Eric Hodel <drbrain@segment7.net>
* doc/syntax/calling_methods.rdoc: Added document describing method
calls.
Tue Jan 15 07:39:21 2013 Eric Hodel <drbrain@segment7.net>
* lib/rdoc/top_level.rb: Fixed extension trimming for page names in
RDoc HTML output. [ruby-trunk - Bug #7673]
* test/rdoc/test_rdoc_top_level.rb: Test for above.
Mon Jan 14 23:06:41 2013 Keiju Ishitsuka <keiju@ishitsuka.com>
* lib/irb/ext/save-history.rb: outputs its history to
owner-only-readable file and change the permission of a file that
already exists [Bug #7694]. Thanks Nobuhiro IMAI for bug reports.
Mon Jan 14 17:12:48 2013 Shugo Maeda <shugo@ruby-lang.org>
* enumerator.c (lazy_flat_map_func): flat_map should call each only
when the value of a block returns a forcable object.
[ruby-core:51401] [Bug #7690]
* enumerator.c (lazy_flat_map): add documentation.
* test/ruby/test_lazy_enumerator.rb: related test.
Mon Jan 14 16:42:28 2013 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
* enumerator.c: Require block for Lazy#{take|drop}_while [Bug #7692]
Mon Jan 14 14:41:00 2013 Kenta Murata <mrkn@mrkn.jp>
* ext/bigdecimal/bigdecimal.c (BigDecimal_to_s): use CRuby style.
Mon Jan 14 14:39:00 2013 Kenta Murata <mrkn@mrkn.jp>
* ext/bigdecimal/bigdecimal.c: use `RB_TYPE_P(x, t)` instead of
`TYPE(x) == t`.
Mon Jan 14 10:18:56 2013 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
* enumerator.c: Fix size for Enumerator::Lazy#flat_map
Mon Jan 14 07:12:52 2013 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
* lib/matrix/lup_decomposition: Fix bugs with LUP Decomposition of
rectangular matrices. [rubyspec:ba849801a85]
Mon Jan 14 06:46:53 2013 NARUSE, Yui <naruse@ruby-lang.org>
* regparse.c (add_ctype_to_cc): don't check dup warn on adding
negative ctype to cclass. [Bug #7471] [ruby-core:50344]
Mon Jan 14 06:06:03 2013 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
* lib/matrix/eigenvalue_decomposition: Backport bugfix of Jama 1.0.3
[rubyspec:df87040be371]
Sun Jan 13 16:45:00 2013 Zachary Scott <zachary@zacharyscott.net>
* ext/psych/yaml/scanner.c: Fix typos, patch by James Dabbs
[Github tenderlove/psych#118]
Sun Jan 13 15:00:00 2013 Kenta Murata <mrkn@mrkn.jp>
* ext/bigdecimal/bigdecimal.c (BigDecimal_sub):
need to specify precision for converting Rational and Float.
[ruby-dev:46544] [Bug #7404]
* ext/bigdecimal/bigdecimal.c (BigDecimal_mult): ditto.
* ext/bigdecimal/bigdecimal.c (BigDecimal_divide): ditto.
* ext/bigdecimal/bigdecimal.c (BigDecimal_DoDivmod): ditto.
* ext/bigdecimal/bigdecimal.c (BigDecimal_divremain): ditto.
* test/bigdecimal/test_bigdecimal.rb: add tests for the above fixes.
Sun Jan 13 14:48:55 2013 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
* lib/matrix/eigenvalue_decomposition: Fix eigensystem with complex
eigenvectors. Patch by pypypy567.
[Bug #7208] [ruby-dev:46251] [rubyspec:242f8e55bd]
* lib/matrix/lup_decomposition.rb: Fix error for rectangular matrices
[bug#7620] [ruby-core:51118] [rubyspec:41f833ee2]
Sun Jan 13 14:06:00 2013 Zachary Scott <zachary@zacharyscott.net>
* lib/irb.rb, lib/prime.rb: Typos in overview
Patch by Ershad K [Github Fixes #234]
Sun Jan 13 13:40:00 2013 Zachary Scott <zachary@zacharyscott.net>
* lib/open3.rb : Typo in Open3 overview. Patch by zed_0xff
[Github Fixes #233]
Sat Jan 12 17:42:00 2013 Kenta Murata <mrkn@cookpad.com>
* numeric.c (do_coerce): fix for the exceptions which the coerce
method raises. The optimization done by r38756 is preserved.
[Bug #7645] [ruby-core:51213]
Sat Jan 12 16:12:46 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
* win32/setup.mak (-runtime-): see msvcrt from link header on mswin
instead of running testing executable file, for cross compiling.
Sat Jan 12 08:58:47 2013 Aaron Patterson <aaron@tenderlovemaking.com>
* ext/psych/lib/psych/visitors/to_ruby.rb: merge key values that
contain something besides a hash should be left in tact.
* test/psych/test_merge_keys.rb: test for change
Sat Jan 12 07:52:47 2013 Masaki Suketa <masaki.suketa@nifty.ne.jp>
* ext/win32ole/win32ole.c (ole_set_byref): support VT_UI8|VT_BYREF,
VT_I8|VT_BYREF in cygwin and mingw.
* ext/win32ole/win32ole.c (ole_variant2val): ditto.
* test/win32ole/test_win32ole_variant.rb (test_s_new_with_i8_byref):
ditto.
* test/win32ole/test_win32ole_variant.rb (test_s_new_with_ui8_byref):
ditto.
Sat Jan 12 02:45:00 2013 Zachary Scott <zachary@zacharyscott.net>
* man/ruby.1 (options): include --*-encoding from r38784
Fri Jan 11 23:34:48 2013 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
* ruby.c (usage): sort --*-encoding in help. (same order of -E)
Fri Jan 11 16:56:29 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
* tool/mkconfig.rb: use configured libdir value to fix
--enable-load-relative on systems where libdir is not default value,
overridden in config.site files. [ruby-core:47267] [Bug #6903]
Fri Jan 11 11:59:32 2013 NARUSE, Yui <naruse@ruby-lang.org>
* string.c (dispose_string): use rb_str_free for freeing string in
parse.y. by Sokolov Yura <funny.falcon@gmail.com>
https://github.com/ruby/ruby/pull/87 fix GH-87
Fri Jan 11 09:56:22 2013 Shugo Maeda <shugo@ruby-lang.org>
* insns.def (defineclass): private constants should not be accessed
by scoped module definitions. The bug was introduced in r38495.
* test/ruby/test_module.rb: related test.
Fri Jan 11 02:11:59 2013 Shugo Maeda <shugo@ruby-lang.org>
* lib/rbconfig/obsolete.rb (respond_to_missing?): use send because
RbConfig.respond_to_missing? is now private.
Thu Jan 10 22:00:58 2013 Koichi Sasada <ko1@atdot.net>
* vm_core.h (VM_DEBUG_BP_CHECK): set 0 as default.
This flag specifies checking BP consistency on each frame popping.
Now, we don't have any trouble on it, so I remove it.
If you feel any bugs about VM execution, then set it to 1.
Thu Jan 10 21:03:05 2013 TAKANO `takano32' Mitsuhiro <tak@no32.tk>
* cont.c: define FIBER_USE_NATIVE as 0 in ia64.
Thu Jan 10 19:39:05 2013 TAKANO `takano32' Mitsuhiro <tak@no32.tk>
* thread.c: fix RB_GC_SAVE_MACHINE_REGISTER_STACK define for ia64.
Thu Jan 10 17:45:39 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
* Makefile.in, win32/Makefile.sub ($(MKFILES)): continue if Makefile
unchanged.
Thu Jan 10 16:31:20 2013 Shugo Maeda <shugo@ruby-lang.org>
* vm_insnhelper.c (vm_search_super_method): raise a TypeError
instead of a NotImplementedError if self is not an instance of the
current class. [ruby-dev:39772] [Bug #2402]
Thu Jan 10 16:47:18 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
* ext/tk/extconf.rb (find_tcltk_header): use have_header instead of
try_cpp, which is incredibly slow with VC.
Thu Jan 10 15:55:28 2013 Shugo Maeda <shugo@ruby-lang.org>
* numeric.c (do_coerce): remove an unused variable.
Thu Jan 10 15:35:55 2013 Shugo Maeda <shugo@ruby-lang.org>
* tool/gen_dummy_probes.rb: remove comments in probes.d to fix the
compilation error introduced by r38755.
Thu Jan 10 11:15:04 2013 Kenta Murata <mrkn@cookpad.com>
* numeric.c (do_coerce): speed optimization by using rb_check_funcall
instead of rb_rescue + rb_funcall.
This fix is based on the patch by Benoit Daloze.
[Bug #7645] [ruby-core:51213]
Thu Jan 10 11:15:04 2013 Aaron Patterson <aaron@tenderlovemaking.com>
* probes.d: updating probes to be more symmetrical, adding
documentation.
* load.c: ditto
Thu Jan 10 04:23:07 2013 Aaron Patterson <aaron@tenderlovemaking.com>
* ext/psych/lib/psych/scalar_scanner.rb: strip trailing dots from
floats so that Float() will not raise an exception.
* test/psych/test_numeric.rb: test to ensure "1." can be loaded
* test/psych/test_string.rb: make sure "1." can round trip
Thu Jan 10 03:38:40 2013 Aaron Patterson <aaron@tenderlovemaking.com>
* ext/psych/lib/psych/visitors/yaml_tree.rb: ascii only binary strings
will be dumped as unicode. Thanks Paul Kunysch!
* test/psych/test_string.rb: appropriate test
Thu Jan 10 03:29:55 2013 Koichi Sasada <ko1@atdot.net>
* compile.c (compile_array_): modify wrong optimization.
A script "[print(1)]; print(2)" should output "12".
However, the compiler had eliminated "[print(1)]" expression
because it is void expression (unused array).
Of course, side-effect should be remained.
This issue is reported by Masaya Tarui.
* bootstraptest/test_literal.rb: add a test.
Wed Jan 9 22:07:42 2013 Masaki Matsushita <glass.saga@gmail.com>
* load.c (load_lock): if thread shield is destroyed and there is no
waiting thread, insert new thread shield into load_table.
[Bug #7530] [ruby-core:50645]
Wed Jan 9 21:43:32 2013 Masaki Matsushita <glass.saga@gmail.com>
* load.c (load_lock): revert r38744. it should acquire new thread
shield.
Wed Jan 9 15:40:18 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
* vm.c (th_init, ruby_thread_init): initialize root_svar with Qnil,
since lep_svar_place() expects uninitialized svar to be nil, not 0.
Wed Jan 9 13:20:23 2013 Masaki Matsushita <glass.saga@gmail.com>
* test/ruby/test_require.rb: improve test for r38744.
fix to use Tempfile instead of temporary file in current directory.
the patch is from nobu (Nobuyoshi Nakada).
Wed Jan 9 09:53:23 2013 Masaki Matsushita <glass.saga@gmail.com>
* load.c (load_lock): fix not to delete thread shield twice.
it may break the shield locked by another thread.
[Bug #7530] [ruby-core:50645]
* test/ruby/test_require.rb: a test for above.
Wed Jan 9 02:13:22 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
* include/ruby/ruby.h (RBasic): to be aligned on a VALUE size
boundary. [Bug #7647]
Tue Jan 8 14:41:41 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
* vm_core.h (rb_iseq_t): move flip_cnt from struct iseq_compile_data,
because it has same life span as enclosing iseq. [Bug #7671]
[ruby-core:51296]
Mon Jan 7 23:43:00 2013 Kenta Murata <mrkn@mrkn.jp>
* ext/bigdecimal/bigdecimal.c (rmpd_power_by_big_decimal):
add RB_GC_GUARD to prevent the intermediate object is GCed too early.
This patch was made by Yusuke Endoh. [Bug #7044] [ruby-core:47632]
* test/bigdecimal/test_bigdecimal.rb: add a reproduction test for
the issue [Bug #7044]
Mon Jan 7 21:40:36 2013 Shugo Maeda <shugo@ruby-lang.org>
* vm_method.c (Init_eval_method): main.public and main.private
should be private.
* proc.c (Init_Proc): main.define_method should be private.
* test/ruby/test_module.rb: related test.
Mon Jan 7 20:48:47 2013 Shugo Maeda <shugo@ruby-lang.org>
* eval.c (Init_eval): main.include should be private.
[ruby-core:51293] [Bug #7670]
* test/ruby/test_module.rb (test_top_include_is_private): a new test
for the above change.
Mon Jan 7 20:29:50 2013 Shugo Maeda <shugo@ruby-lang.org>
* NEWS: remove description about `require "refinement"'.
Mon Jan 7 20:15:49 2013 Shugo Maeda <shugo@ruby-lang.org>
* eval.c (Init_eval): enable Refinements by default.
[ruby-core:51286] [Bug #7667]
* eval.c (rb_mod_refine, top_using): show a warning when
Module#refine or main.using is called at the first time.
* ext/refinement/*: removed the extension library "refinement".
* test/ruby/test_refinement.rb: fix for the above changes.
Mon Jan 7 17:34:22 2013 Koichi Sasada <ko1@atdot.net>
* include/ruby/ruby.h (RUBY_EVENT_SPECIFIED_LINE): make it special.
This flag is not contained by RUBY_EVENT_TRACEPOINT_ALL.
This event is experimental one. It is possible to remove/rename
flag name after 2.0.1.
* vm_trace.c (get_event_id): return :line if SPECIFIED_LINE was
occurred. `:specified_line' never been returned.
Mon Jan 7 15:42:10 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
* parse.y (f_kwrest): allow bare kwrest_mark as valid syntax. its
semantics is still undefined. [Bug #7662] [ruby-core:51269]
Mon Jan 7 15:31:58 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
* parse.y (f_kwrest): reject duplicated kwrest argument name.
Mon Jan 7 15:24:10 2013 Koichi Sasada <ko1@atdot.net>
* vm_trace.c (rb_threadptr_exec_event_hooks_orig): pop tag before
JUMP_TAG() if frame is `finish' frame.
Without this patch, there is an inconsistency between control
frame stack and tags stack.
[Bug #7668]
* test/ruby/test_settracefunc.rb: add a test for above.
Mon Jan 7 15:21:48 2013 NAKAMURA Usaku <usa@ruby-lang.org>
* Makefile.in, common.mk (fake, yes-fake, no-make): these dependencies
are not platform dependent.
* win32/Makefile.sub ($(arch)-fake.rb): workaround.
Mon Jan 7 12:09:24 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
* vm_insnhelper.c (vm_callee_setup_arg_complex, vm_yield_setup_block_args):
set keyrest hash after making rest array, so that the last element
will not be overwritten. [ruby-core:51278] [Bug #7665]
Mon Jan 7 09:37:24 2013 Koichi Sasada <ko1@atdot.net>
* NEWS: add a NEWS entry about RubyVM.
Sun Jan 6 19:06:57 2013 Yuki Yugui Sonoda <yugui@yugui.jp>
* win32/Makefile.sub: Fix build with VC.
Patch by Charlie Savage. Fixes [ruby-core:51261]
Sun Jan 6 18:43:48 2013 Yuki Yugui Sonoda <yugui@yugui.jp>
* bootstraptest/test_io.rb: add a test for [ruby-dev:46834].
* io.c (rb_cloexec_fcntl_dupfd) Use an emulation with dup(2) when
fcntl(2) and/or F_DUPFD is unavailable.
Suggested by akr.
* configure.in (HAVE_FCNTL): NativeClient does not provide fcntl(2).
Sun Jan 6 11:11:26 2013 Eric Hodel <drbrain@segment7.net>
* doc/syntax/modules_and_classes.rdoc: Fixed typo.
Sun Jan 6 05:35:18 2013 Eric Hodel <drbrain@segment7.net>
* doc/syntax/modules_and_classes.rdoc: Added singleton classes
documentation.
Sun Jan 6 02:22:00 2013 Zachary Scott <zachary@zacharyscott.net>
* lib/webrick/httpservlet/abstract.rb (WEBrick::HTTPServlet): Typo in
example. Patch by shlensky [Fixes #232 on github]
Sat Jan 5 21:15:10 2013 NARUSE, Yui <naruse@ruby-lang.org>
* lib/net/http/generic_request.rb:
Amazon ECA API and GTE/1.3 disallow requests whose host has port
number if its port number equals to default port number of the
scheme. [Bug #7650]
Sat Jan 5 13:58:59 2013 Eric Hodel <drbrain@segment7.net>
* doc/syntax/modules_and_classes.rdoc: Improved description of methods
on a module or class as suggested by Tobias Buhlmann
Sat Jan 5 13:38:07 2013 Masaki Matsushita <glass.saga@gmail.com>
* string.c (rb_str_enumerate_lines): fix invalid byte sequence error
when a separator is passed. The patch is from yoshidam (Yoshida
Masato).
[Bug #7646] [ruby-dev:46827]
* test/ruby/test_string.rb: a test for above.
Sat Jan 5 12:25:42 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
* test/ruby/envutil.rb (Test::Unit::Assertions#assert_in_out_err):
check stdout and stderr both.
Sat Jan 5 10:21:54 2013 Eric Hodel <drbrain@segment7.net>
* doc/syntax/modules_and_classes.rdoc: Added documentation of syntax
for Modules and Classes.
* doc/syntax/methods.rdoc: Moved some text to the Modules and
Classes syntax document.
Sat Jan 5 08:38:27 2013 Eric Hodel <drbrain@segment7.net>
* doc/syntax/methods.rdoc: Added return values and scope sections,
slightly modified from the original patch. Fixes #227 from github by
Dave Brown.
Sat Jan 5 08:21:41 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
* io.c (rb_cloexec_fcntl_dupfd): improve #ifdef condition.
* io.c (rb_maygvl_fd_fix_cloexec): ditto.
Sat Jan 5 07:54:59 2013 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/commands/cleanup_command.rb: Clean all possible gems
using multiple passes. Fixes RubyGems bug #422. Refactored for
maintainability.
* test/rubygems/test_gem_commands_cleanup_command.rb: Test for above.
Sat Jan 5 05:04:39 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
* gc.c (vm_xrealloc): add a few comment why we avoid realloc(ptr,0).
Fri Jan 4 20:17:06 2013 Yuki Yugui Sonoda <yugui@yugui.jp>
* Makefile.in (RBCONFIG): Moved from common.mk in order to use the
variable in Makefile.in.
* win32/Makefile.sub (RBCONFIG): Ditto.
Fri Jan 4 19:45:50 2013 Yuki Yugui Sonoda <yugui@yugui.jp>
* common.mk (run, parse): Use BTESTRUBY instead of MINIRUBY to handle
cross-compiling cases, e.g. NativeClient.
Fri Jan 4 17:58:16 2013 Yuki Yugui Sonoda <yugui@yugui.jp>
* common.mk (yes-btest): btest depends on also $(arch)-fake.rb and
rbconfig.rb on building for NativeClient.
* Makefile.in (fake): Avoid generating $(arch)-fake.rb unless cross
compiling.
* configure.in (CROSS_COMPILING): New substitution.
Fri Jan 4 16:26:45 2013 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/doctor.rb: Process directories in order in case the
filesystem doesn't. [ruby-trunk - Bug #7618]
Process specifications before other directories in case of bugs.
* test/rubygems/test_gem_doctor.rb: Test for above.
* lib/rubygems.rb: Updated version.
* test/rubygems/test_require.rb: Fixed double require of
benchmark.rb. RubyGems bug #420.
* test/rubygems/test_gem_commands_check_command.rb: Fixed unused
variable warnings.
* test/rubygems/test_gem_commands_query_command.rb: ditto
* test/rubygems/test_gem_installer.rb: ditto
Fri Jan 4 15:05:25 2013 Eric Hodel <drbrain@segment7.net>
* lib/rdoc/cross_reference.rb: Fixed matching of C#=== or #===. RDoc
bug #164
* test/rdoc/test_rdoc_cross_reference.rb: Test for above.
* lib/rdoc/parser/changelog.rb: Fixed parsing of dates. RDoc bug #165
* test/rdoc/test_rdoc_parser_changelog.rb: Test for above.
* lib/rdoc/parser.rb: Fixed parsing multibyte files with incomplete
characters at byte 1024. [ruby-trunk - Bug #6393]
Fixed handling of -E. [ruby-trunk - Bug #6392]
* test/rdoc/test_rdoc_options.rb: Test for above.
* test/rdoc/test_rdoc_parser.rb: ditto.
* test/rdoc/test_rdoc_parser_c.rb: ditto.
* test/rdoc/test_rdoc_parser_changelog.rb: ditto.
* test/rdoc/test_rdoc_parser_markdown.rb: ditto.
* test/rdoc/test_rdoc_parser_rd.rb: ditto.
* test/rdoc/test_rdoc_rdoc.rb: ditto.
* lib/rdoc/tom_doc.rb: Fixed parsing of [] in TomDoc arguments list.
RDoc bug #167
* test/rdoc/test_rdoc_tom_doc.rb: Test for above.
* lib/rdoc.rb: Update version.
Fri Jan 4 11:51:00 2013 Zachary Scott <zachary@zacharyscott.net>
* lib/forwardable.rb: Fix rdoc parameters for ::def_single_delegator.
Patch by Vladimir Andrijevik [Github Fixes #230]
Fri Jan 4 00:35:11 2013 Yuki Yugui Sonoda <yugui@yugui.jp>
Fix failures on btest for NativeClient.
* bootstraptest/runner.rb (nacl?): New method to distinguish NaCl
cross build.
* bootstraptest/test_io.rb: Skip unsupported operations.
* bootstraptest/test_literal.rb: ditto.
Fri Jan 4 00:29:40 2013 Yuki Yugui Sonoda <yugui@yugui.jp>
* io.c (rb_cloexec_fcntl_dupfd): Fix failures in
bootstrap_test/test_io.rb. NativeClient does not support F_DUPFD
but supports dup2(2).
Thu Jan 3 17:46:50 2013 Kouhei Sutou <kou@cozmixng.org>
* lib/rexml/element.rb (REXML::Elements#add): Remove too much
"elements" in document. Sorry...
Thu Jan 3 17:42:32 2013 Kouhei Sutou <kou@cozmixng.org>
* lib/rexml/element.rb (REXML::Elements#each): Add missing
"elements" in document. [ruby-talk:402713]
Reported by Wesley Rishel. Thanks!!!
Thu Jan 3 15:13:00 2013 Zachary Scott <zachary@zacharyscott.net>
* ext/psych/lib/psych.rb (Psych.load): Return value of
Psych::SyntaxError.message should be same as example.
Patch by Ippei Obayashi [ruby-core:51193] [Bug #7636]
Thu Jan 3 14:58:00 2013 Zachary Scott <zachary@zacharyscott.net>
* lib/forwardable.rb (SingleForwardable): Fix example in overview
Patch by Vladimir Andrijevik [Github Fixes #231]
Thu Jan 3 14:32:47 2013 Yuki Yugui Sonoda <yugui@yugui.jp>
* configure.in (OBJCOPY): Fixes build error for NativeClient.
Avoid disabling OBJCOPY for NativeClient.
* thread_pthread.c (rb_reserved_fd_p): USE_SLEEPY_TIMER_THREAD is
always defined. Fixes compilation error for NativeClient.
Wed Jan 02 03:09:00 2013 Zachary Scott <zachary@zacharyscott.net>
* ext/zlib/zlib.c (Zlib::GzipReader): Fix typo by zed_0xff
[Fixes Github #229]
Wed Jan 02 02:29:00 2013 Zachary Scott <zachary@zacharyscott.net>
* hash.c (rb_hash_update): Revert documentation from r38672
See: https://github.com/ruby/ruby/pull/228#issuecomment-11791013
Wed Jan 02 02:16:00 2013 Zachary Scott <zachary@zacharyscott.net>
* hash.c (rb_hash_update): Documentation for Hash#merge and shallow
copies Patch by Yorick Peterse [Fixes Github #228]
Mon Dec 31 15:10:00 2012 Zachary Scott <zachary@zacharyscott.net>
* vm_backtrace.c: Add documentation for Kernel#caller_locations,
Kernel#caller, and Thread::Backtrace::Location
Mon Dec 31 13:05:00 2012 Zachary Scott <zachary@zacharyscott.net>
* test/ruby/test_backtrace.rb: Add test for r37957 [Feature #7434]
Sun Dec 30 23:33:36 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* parse.y (simple_re_meta): escaped closing parenthesis has different
meaning. [Bug #7610] [ruby-core:51088]
Sun Dec 30 12:09:47 2012 Charlie Somerville <charlie@charliesomerville.com>
* configure.in: use 4 argument form of AC_CHECK_HEADERS to force
autoconf to use compiler's result
Sun Dec 30 10:58:04 2012 Kazuki Tsujimoto <kazuki@callcc.net>
* test/ruby/test_keyword.rb: add a test for passing hash
as a last argument. [ruby-dev:46712] [Bug #7529]
Sun Dec 30 10:51:29 2012 Kazuki Tsujimoto <kazuki@callcc.net>
* vm_insnhelper.c: set keyword hash on Proc/block calls.
[ruby-core:51172] [Bug #7630]
* test/ruby/test_keyword.rb: add tests for above.
Sat Dec 29 21:57:11 2012 Keiju Ishitsuka <keiju@ishitsuka.com>
* lib/irb/completion.rb: treat rightly completion for symbol on irb
[Bug #7632].
Sat Dec 29 21:51:30 2012 Shugo Maeda <shugo@ruby-lang.org>
* ext/curses/curses.c (window_cury, window_curx, window_maxy,
window_maxx, window_begy, window_begx): use RB_UNUSED_VAR()
to suppress unused-but-set-variable warnings.
Sat Dec 29 16:45:00 2012 Zachary Scott <zachary@zacharyscott.net>
* iseq.c (RubyVM::InstructionSequence): rdoc formatting
Sat Dec 29 15:28:00 2012 Zachary Scott <zachary@zacharyscott.net>
* iseq.c (RubyVM::InstructionSequence): Add rdoc for new iseq features
added from r38085, this includes ::of, #path, #absolute_path,
#label, #base_label, #first_lineno, and #inspect
Sat Dec 29 14:06:00 2012 Zachary Scott <zachary@zacharyscott.net>
* iseq.c (rb_iseq_line_trace_all, rb_iseq_line_trace_specify): Add
rdoc for experimental C level api of iseq, from r38076
Sat Dec 29 11:37:36 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* object.c (rb_obj_clone): attach clone to its singleton class during
cloning singleton class so that singleton_method_added will be called
on it. based on the patch by shiba (satoshi shiba)[Bug #5283] in
[ruby-dev:44477]. [Bug #5283]
Sat Dec 29 10:10:39 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* configure.in (crt_externs.h): use standard macro AC_CHECK_HEADERS.
Fri Dec 28 23:12:44 2012 Charlie Somerville <charlie@charliesomerville.com>
* configure.in: check for the whether crt_externs.h is present when compiling
for darwin (this header is missing in the iOS SDK)
* eval_intern.h: check HAVE_CRT_EXTERNS_H before including crt_externs.h, if
not defined, include missing/crt_externs.h instead
* hash.c: ditto
* missing/setproctitle.c: ditto
* missing/crt_externs.h: declare _NSGetEnviron() function and define environ
for iOS
Fri Dec 28 21:40:36 2012 Keiju Ishitsuka <keiju@ishitsuka.com>
* lib/irb/context.rb: IRB::Context#new: Check from JobManager
inside IRB namespace [Bug #7628]. Thanks rafaelfranca for bug
report and its patch.
Fri Dec 28 17:06:17 2012 Akinori MUSHA <knu@iDaemons.org>
* misc/ruby-electric.el (ruby-electric-curlies): Automatically
indent closing curly brackets when
ruby-electric-newline-before-closing-bracket is true.
Fri Dec 28 11:50:42 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* vm_insnhelper.c (vm_yield_setup_block_args): pass single argument to
single optional parameter unchanged without splatting. [Bug #7621]
[ruby-dev:46801]
Fri Dec 28 11:17:47 2012 Shugo Maeda <shugo@ruby-lang.org>
* proc.c (method_eq): fix the documentation to refer to owner.
[ruby-core:51105] [Bug #7613]
* test/ruby/test_method.rb (test_alias_onwer): new test to confirm
that `a == b' returns false if owners of a and b are different.
Fri Dec 28 07:07:43 2012 NARUSE, Yui <naruse@ruby-lang.org>
* def/id.def: use split(/^/) instead of String#lines to support
Ruby 1.8.5 as BASERUBY.
Thu Dec 27 21:56:56 2012 NARUSE, Yui <naruse@ruby-lang.org>
* variable.c (rb_mod_remove_const): fix segv caused by r38558.
Tue Dec 28 01:13:48 2012 James Edward Gray II <james@graysoftinc.com>
* lib/csv.rb: Added more Hash methods to CSV::Row.
Thu Dec 27 23:27:15 2012 Keiju Ishitsuka <keiju@ishitsuka.com>
* lib/irb/ruby-lex.rb: make lex_state to EXPR_END when next token
is an operator after SYMBEG [Bug #6378].
Thu Dec 27 21:30:21 2012 Keiju Ishitsuka <keiju@ishitsuka.com>
* lib/irb/ruby-lex.rb: allow to handle recursive heredocs on
irb[Bug #5648].
Thu Dec 27 20:45:29 2012 Masaki Matsushita <glass.saga@gmail.com>
* ext/stringio/stringio.c (strio_getline): fix not to raise TypeError
when limit is nil.
[Bug #7232] [ruby-core:48531]
* test/stringio/test_stringio.rb: a test for above.
Thu Dec 27 21:08:23 2012 Charlie Somerville <charlie@charliesomerville.com>
* vm_core.h (VM_DEFINECLASS_TYPE): explicit cast to enum type to avoid 64->32
shorten warning
Thu Dec 27 20:11:29 2012 Masaki Matsushita <glass.saga@gmail.com>
* ext/stringio/stringio.c (strio_ungetc): raise IOError instead of RuntimeError
if the string is frozen.
[Bug #7231] [ruby-core:48530]
* ext/stringio/stringio.c (strio_ungetbyte): ditto.
* test/stringio/test_stringio.rb: a test for above.
Wed Dec 26 23:55:18 2012 Keiju Ishitsuka <keiju@ishitsuka.com>
* lib/irb/context.rb: fix IRB::Inspector#keys_with_inspector [Bug #7598]
Wed Dec 26 23:26:15 2012 Keiju Ishitsuka <keiju@ishitsuka.com>
* lib/irb/context.rb: IRB::Context#use_readline= has been obsolete
[Bug #6339].
Wed Dec 26 21:32:46 2012 Keiju Ishitsuka <keiju@ishitsuka.com>
* lib/irb/context.rb: make a correct prompt from
IRB.conf[:IRB_NAME] on irb [Bug #6338]. Patched by sho-h.
Wed Dec 26 21:09:19 2012 Keiju Ishitsuka <keiju@ishitsuka.com>
* lib/irb/ext/math-mode.rb: make not able to change math-mode
after irb starting [Bug #6302]. Patched by sho-h.
Wed Dec 26 12:52:36 2012 Keiju Ishitsuka <keiju@ishitsuka.com>
* lib/irb/init.rb: change default debug level for
irb[ruby-dev:46805], [Bug #6301].
Wed Dec 26 11:54:11 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
* configure.in: enable -fPIE when checking -pie for fixing
OpenBSD build error. Patch by George Koehler. Thank you!
[Bug #7606] [ruby-core:51082]
Wed Dec 26 07:31:24 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* string.c (rb_enc_cr_str_copy_for_substr): empty string is always
valid or 7bit.
* string.c (rb_str_enumerate_lines, rb_str_chop): reduce duplicated
code.
* string.c (rb_str_enumerate_chars): prevent shared copy from GC.
Wed Dec 26 01:31:16 2012 Keiju Ishitsuka <keiju@ishitsuka.com>
* lib/irb/init.rb, lib/irb/context.rb: fix conf.debug_level=
[Bug #6301] and fix irb command option: -- irb_debug_level for irb.
Wed Dec 26 00:59:18 2012 Keiju Ishitsuka <keiju@ishitsuka.com>
* lib/irb/ruby-lex.rb: improve RubyLex performance for large files
[Bug #5202]. Patch by ryanmelt.
Tue Dec 25 22:21:06 2012 Keiju Ishitsuka <keiju@ishitsuka.com>
* lib/irb/output-method.rb: raise right exception when
IRB::OutputMethod#print don't defined [Bug #6657].
Tue Dec 25 22:06:33 2012 Koichi Sasada <ko1@atdot.net>
* vm_trace.c (rb_threadptr_exec_event_hooks_and_pop_frame):
pop a frame before JUMP_TAG() if exception occurred.
This change fix bug of Ruby 1.9.
[ruby-core:51128] [ruby-trunk - Bug #7624]
* vm_core.h (EXEC_EVENT_HOOK_AND_POP_FRAME): add to use
`rb_threadptr_exec_event_hooks_and_pop_frame()'.
* vm.c (vm_exec): use EXEC_EVENT_HOOK_AND_POP_FRAME() while
exception handling. While exception handling, if an exception
is raised in hooks, need to pop current frame and raise this
raised exception by hook.
* test/ruby/test_settracefunc.rb: add a test.
Tue Dec 25 21:08:53 2012 Keiju Ishitsuka <keiju@ishitsuka.com>
* lib/irb/init.rb, lib/irb/lc/ja/error.rb, lib/irb/lc/error.rb:
raise exception when illegal RC_NAME_GENERATOR defined [Bug #6455].
Tue Dec 25 19:22:17 2012 Keiju Ishitsuka <keiju@ishitsuka.com>
* lib/irb/workspace.rb: define method to private on top-level irb
[Bug #5776]. Patch by davidbalbert.
Tue Dec 25 19:09:51 2012 NAKAMURA Usaku <usa@ruby-lang.org>
* bignum.c, include/ruby/intern.h (rb_big_eql): exported.
* thread.c (recursive_check): object_id maybe a Bignum, not Fixnum on
LLP64. see also r38493 and r38548.
reported by Heesob Park at [ruby-core:51083] [Bug #7607], and patched
by shirosaki at [ruby-core:51095]
Tue Dec 25 18:53:35 2012 Koichi Sasada <ko1@atdot.net>
* vm_core.h, eval_intern.h (CHECK_STACK_OVERFLOW): move
CHECK_STACK_OVERFLOW() to vm_core.h and rename to
CHECK_VM_STACK_OVERFLOW().
This change is only move and rename.
* tool/instruction.rb: catch up above changes.
* vm.c, vm_insnhelper.c: ditto.
* vm_insnhelper.c (vm_stackoverflow): add a function to unify
raising vm stackoverflow exception.
Tue Dec 25 16:16:54 2012 Koichi Sasada <ko1@atdot.net>
* vm_core.h (RUBY_VM_THREAD_VM_STACK_SIZE): change default
VM stack size (128 KB or 256 KB -> 512 KB or 1024 KB).
This re-sizing corrects smaller value introduced at r38478.
Newer value is same VM stack size of Ruby 1.9.
[ruby-dev:46797] [ruby-trunk - Bug #7603]
Tue Dec 25 13:38:12 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* error.c (compile_err_append, compile_warn_print, warn_print): use
rb_write_error_str() instead of writing to rb_stderr directly.
* io.c (rb_write_error_str): a stopgap measure not to unblock GVL.
warning from require seems to still have race condition errors.
Tue Dec 25 00:59:29 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* node.h (NODE_OP_CDECL), compile.c (iseq_compile_each),
parse.y (stmt, arg): allow scoped constant op-assignment.
[ruby-core:40154] [Bug #5449]
Mon Dec 24 04:56:48 2012 NARUSE, Yui <naruse@ruby-lang.org>
* lib/net/http/generic_request.rb (Net::HTTPGenericRequest):
set content-length to zero on empty post requests
by Gregory Ostermayr <gregory.ostermayr@gmail.com>
https://github.com/ruby/ruby/pull/201 fix GH-201
Sun Dec 23 19:09:16 2012 Koichi Sasada <ko1@atdot.net>
* thread.c: rename methods:
from Thread.async_interrupt_timing to Thread.handle_interrupt,
from Thread.async_interrupted? to Thread.pending_interrupt?.
Also rename option from `defer' to `never'.
[ruby-core:51074] [ruby-trunk - Feature #6762]
* vm_core.c, thread.c: rename functions and data structure
`async_errinfo' to `pending_interrupt'.
* thread.c: add global variables sym_immediate, sym_on_blocking and
sym_never.
* cont.c, process.c, vm.c, signal.c: ditto.
* lib/sync.rb, lib/thread.rb: catch up this renaming.
* test/ruby/test_thread.rb: ditto.
Sun Dec 23 17:57:30 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* lib/profiler.rb (Profiler__::PROFILE_PROC, print_profile): store
profile data per threads for concurrent-execution.
[ruby-core:22046] [Bug #1152]
* lib/profiler.rb (Profiler__::Wrapper): support calling singleton
methods of an instance of BasicObject.
* lib/profiler.rb (Profiler__::PROFILE_PROC): use TracePoint.
Sun Dec 23 16:13:00 2012 Zachary Scott <zachary@zacharyscott.net>
* lib/erb.rb: typos for ERB::new link
Sun Dec 23 16:06:00 2012 Zachary Scott <zachary@zacharyscott.net>
* lib/erb.rb: Document ERB::new trim_mode '-' for lines ending in -%>
[ruby-core:51084] [Bug #7608]
Sun Dec 23 15:25:00 2012 Zachary Scott <zachary@zacharyscott.net>
* lib/irb/ruby-lex.rb: Add handling for %i and %I quoting to irb
Patch by flori [ruby-core:49550] [Bug #7392] [Github Issue #157]
Sun Dec 23 15:05:48 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* vm_eval.c (rb_check_funcall_with_hook): rb_check_funcall with hook
which is called before calling method_missing or target method.
* marshal.c (w_object, r_object0): use rb_check_funcall_with_hook
instead of respond_to? and call.
Sun Dec 23 14:52:00 2012 Zachary Scott <zachary@zacharyscott.net>
* re.c (rb_reg_eqq): doc: #=== is not a synonym for #=~, added example
[ruby-dev:46746] [Bug #7571]
Sun Dec 23 14:35:13 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* thread.c (BLOCKING_REGION): if fail_if_interrupted is false ignore
the result of blocking_region_begin(), since it always is true in
that case. suppress "uninitialized" warnings.
Sun Dec 23 09:34:07 2012 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/commands/check_command.rb: Added --doctor and --dry-run
options to clean up after failed uninstallation.
* test/rubygems/test_gem_commands_check_command.rb: Test for above.
* lib/rubygems/commands/push_command.rb: Allow pushes from RubyGems
2.0.0.preview3
* lib/rubygems/commands/update_command.rb: Use Gem.ruby_version
* lib/rubygems/dependency.rb: Update style.
* lib/rubygems/installer.rb: Ensure installed gem specifications will
be useable. Refactor.
* test/rubygems/test_gem_installer.rb: ditto.
* lib/rubygems/validator.rb: Fixed bug with unreadable files.
* lib/rubygems.rb: Fixed broken methods.
* test/rubygems/test_gem.rb: Test for above.
* test/rubygems/test_gem_commands_push_command.rb: Fixed overridden
Gem.latest_rubygems_version
Sun Dec 23 01:52:01 2012 Akinori MUSHA <knu@iDaemons.org>
* io.c (rb_io_lines, rb_io_bytes, rb_io_chars, rb_io_codepoints):
Deprecate IO#{lines,bytes,chars,codepoints} and those of ARGF.
[Feature #6670]
* ext/stringio/stringio.c (strio_lines, strio_bytes, strio_chars)
(strio_codepoints): Deprecate
StringIO#{lines,bytes,chars,codepoints}. [Feature #6670]
* ext/zlib/zlib.c (rb_gzreader_lines, rb_gzreader_bytes):
Deprecate Zlib::GzipReader#{lines,bytes}. [Feature #6670]
Sat Dec 23 01:35:00 2012 Zachary Scott <zachary@zacharyscott.net>
* lib/optparse.rb: Documentation for OptionParser to remove 'shadowed
outer local variable' from example and make obvious ARGV with
non-option arguments.
Patch by Marcus Stollsteimer [ruby-core:47460] [Bug #6997]
Sat Dec 23 00:08:00 2012 Kenta Murata <mrkn@mrkn.jp>
* include/ruby/intern.h: add the prototype declaration of
rb_num_coerce_bit.
* numeric.c (rb_num_coerce_bit): the new coerce function for bitwise
binary operation.
* bignum.c (rb_big_and): use coerce to convert the argument, which isn't
a Fixnum nor a Bignum, to the corresponding Integer object so that
bitwise operations can support Integer-mimic objects.
[Bug #1792] [ruby-core:39491]
* bignum.c (rb_big_or): ditto.
* bignum.c (rb_big_xor): ditto.
* numeric.c (bit_coerce): ditto.
* numeric.c (fix_and): ditto.
* numeric.c (fix_or): ditto.
* numeric.c (fix_xor): ditto.
* test/ruby/test_integer.rb: add tests for the above changes.
* test/ruby/test_bignum.rb: ditto.
Sun Dec 23 00:04:54 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* internal.h (QUOTE, QUOTE_ID): quote unprintable chars in strings and
IDs. [Bug #7574] [ruby-dev:46749]
* string.c (rb_str_quote_unprintable): ditto.
Sat Dec 22 23:59:18 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* error.c (rb_compile_error, rb_compile_warn, rb_compile_warning),
(rb_warn, rb_warning): support PRIsVALUE.
Sat Dec 22 22:04:58 2012 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org>
* cont.c (rb_fiber_start): unify conditions.
Sat Dec 22 21:47:55 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
* io.c (rb_io_wait_writable): use rb_thread_check_ints() instead
of rb_thread_fd_writable().
* io.c (rb_io_wait_readable): ditto.
Sat Dec 22 20:31:10 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* object.c (rb_mod_const_get): symbol cannot be nested constant name.
Sat Dec 22 19:26:35 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* object.c (rb_mod_const_get): check more strictly. [ruby-dev:46748]
[Bug #7573]
Wed Dec 19 02:34:48 2012 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org>
* cont.c (rb_fiber_start): in case of jump with TAG_FATAL,
enqueue error into async_errinfo_queue, because you cannot call
TH_TAG_JUMP() in this function. [ruby-dev:45218] [Bug #5993]
* thread.c (rb_threadptr_execute_interrupts): now INT2FIX(TAG_FATAL)
can be popped from async_errinfo_queue.
* vm.c (rb_vm_make_jump_tag_but_local_jump): revert r38441.
rb_vm_make_jump_tag_but_local_jump() shouldn't return exception
in case of state == TAG_FATAL.
* test/ruby/test_fiber.rb (test_exit_in_fiber): fix a test to illuminate
Thread.exit should terminate current Thread.
Sat Dec 22 13:15:08 2012 Hiroshi Shirosaki <h.shirosaki@gmail.com>
* gc.c (obj_id_to_ref): add a macro to treat Bignum object id.
This follows the change r38493.
* gc.c (id2ref): fix for working fine with Bignum object id on x64
Windows.
* gc.c (wmap_finalize): ditto.
Sat Dec 22 11:30:21 2012 Masaki Matsushita <glass.saga@gmail.com>
* struct.c (make_struct): remove junk ID check to allow members who
have junk name like "foo\000".
* test/ruby/test_struct.rb: Test for above.
[Bug #7575] [ruby-dev:46750]
Sat Dec 22 05:34:54 2012 Eric Hodel <drbrain@segment7.net>
* lib/net/http.rb: Requests may be created with a URI which sets the
Host header. Responses contain the requested URI for easier redirect
following. [ruby-trunk - Feature #6482]
* lib/net/http/generic_request.rb: ditto.
* lib/net/http/response.rb: ditto.
* NEWS (net/http): Updated for above.
* test/net/http/test_http.rb: Tests for above.
* test/net/http/test_http.rb: ditto.
* test/net/http/test_httpresponse.rb: ditto.
Sat Dec 22 02:35:00 2012 Zachary Scott <zachary@zacharyscott.net>
* lib/irb/slex.rb(#match): Typo, should be D_DETAIL
[ruby-core:51071] [Bug#7600]
Sat Dec 22 02:29:00 2012 Zachary Scott <zachary@zacharyscott.net>
* lib/irb/input-method.rb, lib/irb.rb: Typo in
InputMethod#readable_atfer_eof? to #readable_after_eof?
[ruby-core:51069] [Bug #7599]
Sat Dec 22 02:19:38 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
* vm_dump.c (rb_vm_bugreport): revert r38533.
* addr2line.c (fill_lines): add ELF sanity check.
[Bug #7597] [ruby-dev:46786]
Sat Dec 22 02:05:00 2012 Zachary Scott <zachary@zacharyscott.net>
* lib/irb/inspector.rb, lib/irb/context.rb: Move IRB::INSPECTORS and
class methods to IRB::Inspector [ruby-core:51067][Bug #7598]
Sat Dec 22 00:28:46 2012 NAKAMURA Usaku <usa@ruby-lang.org>
* object.c (rb_obj_hash): shouldn't assume object_id can be long.
based on a patch by Heesob Park at [ruby-core:51060].
cf. [Backport #7454]
Fri Dec 21 23:15:25 2012 Kouhei Sutou <kou@cozmixng.org>
* ext/fiddle/lib/fiddle/struct.rb (Fiddle::CStructEntity#set_ctypes):
CPtr -> Pointer.
* test/fiddle/test_c_struct_entry.rb
(Fiddle::TestCStructEntity#test_aref_pointer):
Added the test for the above.
Fri Dec 21 23:12:05 2012 Kouhei Sutou <kou@cozmixng.org>
* ext/fiddle/lib/fiddle/struct.rb (Fiddle::CStructEntity#set_ctypes):
CPtr -> Pointer.
* test/fiddle/test_c_struct_entry.rb
(Fiddle::TestCStructEntity#test_aref_pointer_array):
Added the test for the above.
Fri Dec 21 22:43:36 2012 Kouhei Sutou <kou@cozmixng.org>
* ext/fiddle/lib/fiddle/import.rb (Fiddle::Importer#sizeof):
CPtr -> Pointer.
* test/fiddle/test_import.rb (Fiddle::TestImport#test_sizeof):
Added the test for the above.
Fri Dec 21 22:34:17 2012 Koichi Sasada <ko1@atdot.net>
* test/ruby/test_iseq.rb: disable a test which checks features
removed at r38532.
Fri Dec 21 22:02:00 2012 NAKAMURA Usaku <usa@ruby-lang.org>
* win32/{dir.h,win32.c} (rb_w32_readdir): removed old rb_w32_readdir()
and renamed from rb_w32_readdir_with_enc().
[ruby-core:24864] [Feature #1927]
* dir.c (READDIR): follow above change.
Fri Dec 21 21:12:54 2012 Masaya Tarui <tarui@ruby-lang.org>
* vm_dump.c (rb_vm_bugreport): commentout addr2line call temporarily
in order to avoid segv. anyone can fix addr2line?
[Bug #7597] [ruby-dev:46786]
Fri Dec 21 20:38:28 2012 Koichi Sasada <ko1@atdot.net>
* 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.
Fri Dec 21 20:21:04 2012 Koichi Sasada <ko1@atdot.net>
* vm_trace.c (tracepoint_new): add code to support specified thread.
But not tested and this feature is not supported officially.
Fri Dec 21 19:37:15 2012 Koichi Sasada <ko1@atdot.net>
* ruby.c (process_options): need to acquire env from TOPLEVEL_BINDING
each time.
`bind->env' may update after `eval()'.
[Bug #7536]
Fri Dec 21 18:46:50 2012 Koichi Sasada <ko1@atdot.net>
* include/ruby/debug.h, vm_core.h: define rb_trace_arg_t at
include/ruby/debug.h (move from vm_core.h).
Fri Dec 21 17:48:15 2012 Koichi Sasada <ko1@atdot.net>
* 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.
[Bug #7590]
* 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.
Fri Dec 21 16:38:08 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* template/id.h.tmpl (ID2ATTRSET): compile time constant macro for
ID_ATTRSET.
* defs/id.def (KeywordError): check duplication.
* defs/id.def: support for other scope IDs,
ID_{INSTANCE,GLOBAL,CONST,CLASS}.
Fri Dec 21 14:45:00 2012 Zachary Scott <zachary@zacharyscott.net>
* lib/irb.rb, lib/irb/*: Documentation for IRB
Fri Dec 21 11:31:02 2012 Eric Hodel <drbrain@segment7.net>
* lib/rake/*: Updated to rake 0.9.6
* doc/rake/*: ditto
* test/rake/*: ditto
Fri Dec 21 08:56:34 2012 Masaya Tarui <tarui@ruby-lang.org>
* vm_trace.c (rb_suppress_tracing): remove unused variable 'vm_tracing'
Fri Dec 21 01:01:45 2012 Masaya Tarui <tarui@ruby-lang.org>
* lib/irb/completion.rb (CompletionProc): support completion of
instance variables. [ruby-dev:46710] [Bug #7520]
Thu Dec 20 20:58:25 2012 Masaya Tarui <tarui@ruby-lang.org>
* 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.
Thu Dec 20 18:29:54 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* include/ruby/ruby.h (RTEST, NIL_P): make bare expressions without
outermost parentheses.
Thu Dec 20 17:29:00 2012 Shugo Maeda <shugo@ruby-lang.org>
* NEWS: fix the description for Refinements.
Thu Dec 20 16:53:59 2012 Shugo Maeda <shugo@ruby-lang.org>
* 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.
Thu Dec 20 16:52:37 2012 Martin Bosslet <Martin.Bosslet@googlemail.com>
* NEWS: announce AEAD encryption support in the OpenSSL extension.
Thu Dec 20 16:40:13 2012 NAKAMURA Usaku <usa@ruby-lang.org>
* gc.c (nonspecial_obj_id): VALUE is not compatible with Fixnum on
LLP64 platform, such as 64bit Windows.
reported by Heesob Park at [ruby-core:50255] [Bug #7454], and the
fix is suggested by akr.
Thu Dec 20 16:39:04 2012 Martin Bosslet <Martin.Bosslet@gmail.com>
* 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]
Thu Dec 20 15:55:46 2012 Martin Bosslet <Martin.Bosslet@gmail.com>
* 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]
Thu Dec 20 15:22:59 2012 Eric Hodel <drbrain@segment7.net>
* 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.
Thu Dec 20 15:00:33 2012 Martin Bosslet <Martin.Bosslet@gmail.com>
* 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!
Thu Dec 20 12:56:53 2012 Eric Hodel <drbrain@segment7.net>
* 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.
Thu Dec 20 11:05:26 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* 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.
Thu Dec 20 10:29:58 2012 Martin Bosslet <Martin.Bosslet@googlemail.com>
* test/openssl/test_pkey_dh.rb: revert special treatment of
FIPS-capable installations since FIPS mode is now disabled for the
tests.
Thu Dec 20 10:23:12 2012 Martin Bosslet <Martin.Bosslet@gmail.com>
* 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]
Thu Dec 20 06:59:52 2012 Koichi Sasada <ko1@atdot.net>
* vm.c: support variable VM/Machine stack sizes.
Specified by the following environment variables:
- 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).
[Feature #4614], [Bug #7212]
* 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.
Thu Dec 20 06:25:44 2012 Koichi Sasada <ko1@atdot.net>
* test/ruby/test_fiber.rb: remove a strange single quote character.
With this character, this script exits by SyntaxError.
Thu Dec 20 01:03:00 2012 Zachary Scott <zachary@zacharyscott>
* ext/.document: Add missing ext modules to .document
Patch by Ryunosuke SATO [Fixes Github #224]
Wed Dec 19 23:52:16 2012 NAKAMURA Usaku <usa@ruby-lang.org>
* 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]
Wed Dec 19 23:36:12 2012 Naohisa Goto <ngotogenome@gmail.com>
* 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]
Wed Dec 19 19:34:03 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* object.c (rb_mod_const_get): nul byte is invalid as constant name.
Wed Dec 19 17:54:18 2012 Masaya Tarui <tarui@ruby-lang.org>
* vm_trace.c (rb_threadptr_exec_event_hooks): get rid of race
condition. [Bug #7589] [ruby-dev:46763]
Wed Dec 19 16:30:28 2012 Eric Hodel <drbrain@segment7.net>
* doc/syntax/literals.rdoc: Added 0d decimal format. Thanks Nobu!
Wed Dec 19 16:19:36 2012 Eric Hodel <drbrain@segment7.net>
* doc/syntax/methods.rdoc: Fixed typo. Thanks to Josh Susser.
Wed Dec 19 16:18:22 2012 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/commands/query_command.rb: Refactored to improve
maintainability.
* test/rubygems/test_gem_commands_query_command.rb: Note default gems
in gem list details.
* lib/rubygems/uninstaller.rb: Detect all gems for uninstallation.
This allows duplicate installs of default gems to be removed.
* lib/rubygems/specification.rb: Allow use of ::each_spec.
* lib/rubygems/test_case.rb: Added install_default_gems.
* test/rubygems/test_gem_commands_uninstall_command.rb: Moved test
down to the uninstaller tests.
* test/rubygems/test_gem_uninstaller.rb: Test for uninstallation of
default gems and duplicate default gems.
Wed Dec 19 15:23:50 2012 Eric Hodel <drbrain@segment7.net>
* doc/syntax/methods.rdoc: Add () around keyword arguments example for
consistency. Thanks to Josh Susser.
Wed Dec 19 01:51:24 2012 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org>
* vm.c (rb_vm_jump_tag_but_local_jump): remove unnecessary 2nd
argument.
* load.c (rb_load_internal): ditto.
* eval_intern.h (rb_vm_jump_tag_but_local_jump): ditto.
Tue Dec 18 18:57:58 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
* 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()
instead 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().
Tue Dec 18 18:55:33 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
* thread.c (rb_thread_wait_fd_rw): fix infinite loop bug.
rb_wait_for_single_fd() never return positive number.
Tue Dec 18 17:24:40 2012 Eric Hodel <drbrain@segment7.net>
* 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.
Tue Dec 18 16:46:15 2012 Eric Hodel <drbrain@segment7.net>
* doc/syntax/literals.rdoc: Used simplified heredoc example that
doesn't include method definition. Added heredoc with backticks.
Tue Dec 18 16:38:51 2012 Eric Hodel <drbrain@segment7.net>
* lib/rdoc/store.rb: Work around RDoc stores from older versions of
RDoc.
* test/rdoc/test_rdoc_store.rb: Test for above.
Tue Dec 18 16:31:20 2012 Eric Hodel <drbrain@segment7.net>
* 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.
Tue Dec 18 09:45:14 2012 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org>
* vm.c (rb_vm_make_jump_tag_but_local_jump): take care of the case
TAG_JUMP() with TAG_FATAL (ex. rb_fatal()). [ruby-core:50917]
[Bug #7570]
* 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.
Tue Dec 18 13:17:00 2012 Zachary Scott <zachary@zacharyscott.net>
* vm_trace.c (tracepoint_attr_defined_class): Clean up rdoc for
TracePoint#defined_class
Tue Dec 18 12:15:59 2012 Eric Hodel <drbrain@segment7.net>
* 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]
Tue Dec 18 11:45:26 2012 Eric Hodel <drbrain@segment7.net>
* doc/syntax/literals.rdoc: Added 0o octal integers.
Tue Dec 18 12:28:52 2012 Martin Bosslet <Martin.Bosslet@gmail.com>
* test/openssl/test_ssl.rb: Use :TLSv1_2_client explicitly in
test_tls_v1_2 to prevent upstream bug.
[Bug #7197] [ruby-dev:46240]
Tue Dec 18 11:52:34 2012 Martin Bosslet <Martin.Bosslet@gmail.com>
* 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.
Tue Dec 18 06:36:12 2012 Koichi Sasada <ko1@atdot.net>
* 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 functions 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]
I remove this feature and consider again.
This feature goes to next minor (2.1?).
Nobody may use this feature and there is no compatibility issue.
* proc.c (rb_method_entry_arity): ditto.
* vm_eval.c, vm_insnhelper.c, vm_method.c: ditto.
Tue Dec 18 04:58:22 2012 Koichi Sasada <ko1@atdot.net>
* 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 compatibility with `set_trace_func' is broken. 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 change.
Tue Dec 18 03:03:10 2012 Aaron Patterson <aaron@tenderlovemaking.com>
* ext/psych/lib/psych/visitors/to_ruby.rb: speed up node mapping so
common cases are evaluated first. Thanks Kevin Menard!
Tue Dec 18 02:35:00 2012 Zachary Scott <zachary@zacharyscott.net>
* lib/optparse.rb: Remove 'developer documentation' section from rdoc
Patch by Marcus Stollsteimer [ruby-core:50526][Bug #7504]
Tue Dec 18 02:35:00 2012 Zachary Scott <zachary@zacharyscott.net>
* lib/matrix.rb (#lup): typo in example [ruby-core:50946][Bug #7582]
Mon Dec 17 18:03:34 2012 Charlie Somerville <charlie@charliesomerville.com>
* 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
Mon Dec 17 13:56:55 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
* 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.
Mon Dec 17 12:05:32 2012 Eric Hodel <drbrain@segment7.net>
* doc/syntax/methods.rdoc: Added a description of singleton methods.
Mon Dec 17 11:35:57 2012 Eric Hodel <drbrain@segment7.net>
* doc/.document: Added doc/syntax
Mon Dec 17 11:25:32 2012 Eric Hodel <drbrain@segment7.net>
* 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
Mon Dec 17 07:59:40 2012 Eric Hodel <drbrain@segment7.net>
* 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.
Sun Dec 16 02:04:41 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
* signal.c (rb_sigaltstack_size): cast sysconf() return value
explicitly. Fix compile error on Mac OS X.
Sun Dec 16 00:39:43 2012 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org>
* 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.
Sat Dec 15 23:56:51 2012 Naohisa Goto <ngotogenome@gmail.com>
* ext/fiddle/pointer.c (rb_fiddle_ptr2cptr): fix error message
forgotten to be changed from DL to Fiddle.
Sat Dec 15 23:14:32 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
* signal.c (default_handler): remove rb_register_sigaltstack()
call. sigaltstack was already registered when creating threads.
Sat Dec 15 23:08:56 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
* 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.
Sat Dec 15 18:24:21 2012 Tadayoshi Funaba <tadf@dotrb.org>
* rational.c (f_round_common): should check overflow.
Sat Dec 15 18:00:00 2012 Tadayoshi Funaba <tadf@dotrb.org>
* rational.c (float_rationalize): reduced.
Sat Dec 15 14:18:44 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
* io.c (finish_writeconv): uses rb_write_internal2 if
fptr->write_lock have.
Sat Dec 15 13:57:08 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
* 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.
Sat Dec 15 13:38:30 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
* io.c (io_flush_buffer): uses io_flush_buffer_async2 instead of
io_flush_buffer_async.
* io.c (io_flush_buffer_async2): new helper function for
io_flush_buffer. It uses rb_thread_call_without_gvl2() instead
of rb_thread_io_blocking_region.
* io.c (io_flush_buffer_sync2): new helper function for
io_flush_buffer_async2.
Sat Dec 15 13:04:26 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
* io.c (internal_write_func2): new helper function for rb_write_internal2().
* io.c (rb_write_internal2): new function. it uses
rb_thread_call_without_gvl2() instead of rb_thread_io_blocking_region().
* io.c (rb_binwrite_string): uses rb_write_internal2 instead of
rb_write_internal. [Bug #7134]
Sat Dec 15 12:55:29 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
* io.c (rb_io_wait_writable): add to call rb_thread_wait_fd()
likes rb_io_wait_readable.
Sat Dec 15 11:54:50 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
* io.c (rb_io_wait_writable): don't call rb_thread_fd_writable()
when EINTR. EINTR mean signal interrupt was happen. We don't
need any wait.
Sat Dec 15 11:53:36 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
* thread.c (rb_thread_wait_fd_rw): remove silly rb_thread_alone()
check.
Sat Dec 15 10:22:38 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* thread.c (rb_thread_polling): revert but deprecate.
* include/ruby/intern.h (rb_thread_polling): deprecate.
Sat Dec 15 08:37:01 2012 Masaya Tarui <tarui@ruby-lang.org>
* test/rubygems/test_gem_ext_cmake_builder.rb (test_self_build):
get rid of false positive.
Sat Dec 15 08:05:56 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
* test/ruby/test_thread.rb (test_uninitialized, test_backtrace,
test_thread_timer_and_interrupt, test_thread_join_in_trap,
test_thread_join_current, test_thread_join_main_thread,
test_main_thread_status_at_exit, test_thread_status_in_trap,
test_thread_status_raise_after_kill, test_mutex_owned,
test_mutex_owned2): move these tests from TestThreadGroup class
to TestThread because they are not thread group tests.
* test/ruby/test_thread.rb (test_thread_status_raise_after_kill):
add t.join.
* test/ruby/test_threadgroup.rb: new file. moved ThreadGroup test
from test_thread.rb.
Sat Dec 15 08:02:11 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
* test/ruby/test_thread.rb (TestThread::Thread::new.): remove
th.abort_on_exception change. Test template shouldn't change
global flag. It prevent to test a normal case.
Sat Dec 15 06:15:14 2012 Eric Hodel <drbrain@segment7.net>
* configure.in (HAVE_GCC_ATOMIC_BUILTINS): Set -march=i486 to enable
__sync_val_compare_and_swap. Patch by KOSAKI Motohiro.
[ruby-trunk - Bug #7485]
Sat Dec 15 03:42:34 2012 Naohisa Goto <ngotogenome@gmail.com>
* ext/.document: add fiddle/pointer.c, fiddle/handle.c, and
fiddle/win32/lib as documentation.
Sat Dec 15 03:06:40 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
* file.c (rb_file_flock): use rb_thread_wait_for() instead of
rb_thread_polling(). When getting EAGAIN, we need to wait a
while even if no multi threading.
* thread.c (sleep_for_polling, rb_thread_polling) removed.
Sat Dec 15 00:03:31 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
* signal.c (rb_f_kill): remove rb_thread_polling() because this
has no good effect and makes meaningless 100ms delay. 1)
when sending signal to another process, waiting has just silly.
2) when sending signal to current process, 100ms is often not
enough time to wait. It depend on kernel behavior. And,
rb_thread_polling() doesn't make sense anyway. When rb_thread_alone()
is true, it doesn't wait at all and Process.kill() users don't
expect threading changes Process.kill() behavior. [Bug #7560]
Fri Dec 14 17:10:57 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* parse.y (parser_params): parser_tokline to track the line number at
which token started. [ruby-dev:46737] [Bug #7559]
* parse.y (fcall): operation with starting line number.
* parse.y (command, primary, method_call): point method name line.
* parse.y (gettable_gen): return token line for __LINE__.
Fri Dec 14 16:56:59 2012 Shugo Maeda <shugo@ruby-lang.org>
* vm_insnhelper.c (vm_call_super_method): remove volatile introduced
in r38365.
* vm_insnhelper.c (vm_call_method): use __forceinline to prevent
VC++ to make vm_call_general and vm_call_super_method as the same
method. Thanks, Heesob Park. [Bug #7556] [ruby-core:50867]
Fri Dec 14 14:59:14 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* test/ruby/envutil.rb (Test::Unit::Assertions#assert_separately):
take file and line by using caller_locations if not given.
* test/ruby/envutil.rb (Test::Unit::Assertions#assert_separately):
count assertions in separated tests.
Fri Dec 14 14:16:42 2012 Eric Hodel <drbrain@segment7.net>
* lib/rdoc/rubygems_hook.rb: Fixed generation of documentation.
Disabled rdoc generation by default to match RubyGems defaults.
Reduced diff with RubyGems::RDoc.
* test/rdoc/test_rdoc_rubygems_hook.rb: Tests for the above.
* test/rubygems/test_gem_rdoc.rb: ditto.
* lib/rdoc/store.rb: Removed useless variable assignment
Fri Dec 14 13:58:40 2012 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/commands/rdoc_command.rb: When overwriting
documentation, remove existing documentation first.
* lib/rubygems/server.rb: Fixed documentation links.
* test/rubygems/test_gem_server.rb: Test for the above.
* lib/rubygems/rdoc.rb: Reduced diff with RDoc::RubyGemsHook
* test/rubygems/test_gem_rdoc.rb: ditto
Fri Dec 14 04:08:05 2012 NARUSE, Yui <naruse@ruby-lang.org>
* test/ruby/envutil.rb (Test::Unit::Assertions#assert_separately):
added to execute given test source on separate process,
catch its resulted exception and raise it on main process.
Fri Dec 14 07:43:44 2012 Aaron Patterson <aaron@tenderlovemaking.com>
* ext/psych/lib/psych/visitors/yaml_tree.rb: quote strings that begin
with non-word characters. Thanks Alex Tambellini!
* test/psych/test_yaml.rb: appropriate test case
Thu Dec 13 23:14:17 2012 Shugo Maeda <shugo@ruby-lang.org>
* vm_insnhelper.c (vm_call_super_method): a workaround for the
failure of TestRefinement#test_refine_recursion in Windows.
See [ruby-core:50871] for details.
Thu Dec 13 23:10:52 Charlie Somerville <charlie@charliesomerville.com>
* object.c (Init_Object): use rb_mod_init_copy for Class#initialize_copy
* class.c (rb_class_init_copy): rename to class_init_copy_check, performs type
checks on arguments to prevent reinitialization of initialized class
[ruby-core:50869] [Bug #7557]
* class.c (rb_mod_init_copy): use class_init_copy_check if receiver is T_CLASS
* test/ruby/test_class.rb (class TestClass): related test
Thu Dec 13 16:53:10 2012 Eric Hodel <drbrain@segment7.net>
* lib/rdoc/class_module.rb: Fixed duplicate comments for classes and
modules from C.
* test/rdoc/test_rdoc_class_module.rb: Test for the above.
* lib/rdoc/parser/c.rb: Reload C variable names to allow proper
updates of an ri store for C files.
* lib/rdoc/rdoc.rb: ditto.
* lib/rdoc/store.rb: ditto.
* test/rdoc/test_rdoc_parser_c.rb: Test for the above.
* test/rdoc/test_rdoc_store.rb: ditto.
Thu Dec 13 14:20:00 2012 Zachary Scott <zachary@zacharyscott.net>
* lib/irb*: merge doc from doc/irb/ird.rd and improve overall
documentation of IRB
* doc/irb/irb.rd: remove stale documentation
Thu Dec 13 14:10:00 2012 Shugo Maeda <shugo@ruby-lang.org>
* marshal.c (r_entry0): don't taint classes and modules because
Marshal.load just returns the dumped classes and modules.
[Bug #7325] [ruby-core:49198]
* test/ruby/test_marshal.rb: related test.
Thu Dec 13 14:10:13 2012 NAKAMURA Usaku <usa@ruby-lang.org>
* test/ruby/test_require.rb (TestRequire#test_loaded_features_encoding):
need to check compatibility, not equality of encodings.
Thu Dec 13 14:02:15 2012 NAKAMURA Usaku <usa@ruby-lang.org>
* file.c (rb_file_join): check encoding compatibility before joining
strings.
Thu Dec 13 13:06:27 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* proc.c (umethod_bind): allow another form of method transplanting
from a module via UnboundMethod. [ruby-core:34267][Feature #4254]
Thu Dec 13 12:07:25 2012 Shugo Maeda <shugo@ruby-lang.org>
* include/ruby/ruby.h (RB_UNUSED_VAR): new macro to suppress
warnings for unused variables.
* ext/bigdecimal/bigdecimal.c (ENTER): use RB_UNUSED_VAR() to
suppress annoying warnings by -Wunused-but-set-variable in gcc 4.6.
Thu Dec 13 11:22:33 2012 Koichi Sasada <ko1@atdot.net>
* method.h: remove "VM_METHOD_TYPE__MAX" from rb_method_type_t.
rb_method_type_t is not a number and "_MAX" causes misunderstanding.
* proc.c (rb_method_entry_arity): ditto.
* vm_eval.c (vm_call0_body): ditto.
* vm_insnhelper.c (vm_call_method): ditto.
Wed Dec 12 21:40:45 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* lib/tmpdir.rb (Dir::Tmpname#create): deal with a prefix name which
starts with tilde as a plain name, not expanding as home directory.
[ruby-core:50793] [Bug #7547]
Wed Dec 12 19:48:59 2012 NARUSE, Yui <naruse@ruby-lang.org>
* ext/json: merge JSON 1.7.5.
fix tests and other fixes.
Wed Dec 12 18:30:29 2012 Shugo Maeda <shugo@ruby-lang.org>
* class.c (rb_prepend_module): move refined methods from the origin
of a class to the class, because refinements should have priority
over prepended modules.
* test/ruby/test_refinement.rb: related test.
Wed Dec 12 18:27:09 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* time.c (zone_str): lookup or insert by using st_update() at once.
Wed Dec 12 15:30:11 2012 NARUSE, Yui <naruse@ruby-lang.org>
* configure.in: add -fno-omit-frame-pointer if libexecinfo is used.
At least on FreeBSD ruby will crash on getting C backtrace
when it is compiled with other than -O0.
* vm_dump.c: enable backtrace on FreeBSD even if with optimizations.
Wed Dec 12 16:08:04 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* test/rdoc/test_rdoc_rdoc.rb (TestRDocRDoc#test_normalized_file_list_non_file_directory):
use File::NULL for portability if possible.
Wed Dec 12 16:07:23 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* method.h (rb_method_flag_t): name a magic number for NOEX_SAFE and
NOEX_WITH as NOEX_SAFE_SHIFT_OFFSET.
* method.h (rb_method_type_t, method_optimized_type): C89 forbids a
comma after the last element in enum.
* proc.c (rb_method_entry_arity), vm_eval.c (vm_call0_body),
vm_insnhelper.c (vm_call_method): add VM_METHOD_TYPE__MAX case.
Wed Dec 12 14:16:35 2012 Eric Hodel <drbrain@segment7.net>
* lib/rdoc/class_module.rb: Added RDoc::ClassModule#documented? which
checks comment_location. Hide RDoc::ClassModule#comment=.
* test/rdoc/test_rdoc_class_module.rb: Test for above.
* lib/rdoc/generator/template/darkfish/_sidebar_table_of_contents.rhtml:
Fix display of the table of contents in the sidebar.
* lib/rdoc/generator/template/darkfish/table_of_contents.rhtml:
Use #comment_location when displaying classes or modules.
* test/rdoc/test_rdoc_store.rb: Use comment_location.
Wed Dec 12 13:40:52 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* vm_insnhelper.c (vm_getivar): no uninitialized instance variables
warnings for non-object if attr method.
Wed Dec 12 06:43:37 2012 Benoit Daloze <eregontp@gmail.com>
* iseq.c (rb_iseq_parameters): fix limit for optional arguments.
* test/ruby/test_keyword.rb: tests for above.
* vm_core.h (struct rb_iseq_struct): update documentation
with keyword arguments. [Bug #7540] [ruby-core:50735]
Wed Dec 12 03:45:41 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* vm.c (vm_exec): pass exceptions while handling an exception.
* vm_trace.c (rb_threadptr_exec_event_hooks): propagate exceptions.
revert r38293 partially.
Wed Dec 12 03:09:05 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* sample/test.rb (Progress#initialize): add --verbose option and show
messages in one line unless --verbose is given.
Wed Dec 12 01:47:02 2012 Shugo Maeda <shugo@ruby-lang.org>
* eval.c (rb_using_refinement): make the method table of an iclass
for a refinement that of the refinement, not that of the origin of
the refinement, which is set by rb_include_class_new(). This
change is needed to make module prepend into a refinement work
properly.
* test/ruby/test_refinement.rb: related test.
Wed Dec 12 01:05:04 2012 NARUSE, Yui <naruse@ruby-lang.org>
* tool/make-snapshot: add --disable-rubygem to both MINIRUBY and RUBY.
On making miniprelude.c, it seems use MINIRUBY. this fixes #7541
but rubygems also needs to be fixed for older rubies.
Wed Dec 12 00:32:11 2012 Naohisa Goto <ngotogenome@gmail.com>
* test/dl/test_func.rb (test_name_with_block, test_bind, test_qsort1):
call unbind to release the callback closure because maximum number
of callbacks is limited to DL::MAX_CALLBACK (== 5) with pure DL
without Fiddle.
Wed Dec 12 00:13:34 2012 Naohisa Goto <ngotogenome@gmail.com>
* ext/dl/lib/dl/func.rb (DL::Function#unbind, #bound?): suppress
NoMethodError when Fiddle is available. [ruby-core:50756] [Bug #7543]
* test/dl/test_func.rb (test_bound*, test_unbind*): tests for the above.
Tue Dec 11 19:38:37 2012 Naohisa Goto <ngotogenome@gmail.com>
* ext/fiddle/function.c (Fiddle::Function.new): new keyword argument
:name to set the name attribute.
* ext/fiddle/lib/fiddle/import.rb (import_function, bind_function):
set function name by using the :name keyword argument.
Re-fixes r38243. [ruby-core:50566]
* test/fiddle/test_function.rb (test_name): test for the :name keyword
argument and Fiddle::Function#name.
Tue Dec 11 16:57:33 2012 Eric Hodel <drbrain@segment7.net>
* common.mk: Added --pages-dir to rdoc creation. Now doc/ items show
up at top-level.
* .document: Moved doc/* entries to doc/.document
* doc/.document: ditto
Tue Dec 11 16:44:37 2012 Eric Hodel <drbrain@segment7.net>
* lib/rdoc/options.rb: Added --page-dir option for moving pages in
doc/ to the top-level.
* lib/rdoc/rdoc.rb: ditto.
* test/rdoc/test_rdoc_options.rb: Test for the above.
* test/rdoc/test_rdoc_rdoc.rb: ditto.
Tue Dec 11 15:24:05 2012 Eric Hodel <drbrain@segment7.net>
* ext/pathname/lib/pathname.rb: Hide private methods from RDoc.
Tue Dec 11 15:11:29 2012 NARUSE, Yui <naruse@ruby-lang.org>
* tool/make-snapshot (BASERUBY): add --disable-gem to avoid load gems.
[Bug #7541] [ruby-core:50736]
Tue Dec 11 12:00:19 2012 NARUSE, Yui <naruse@ruby-lang.org>
* ext/dl/win32/extconf.rb: Fix typo
by Santiago Pastorino <santiago@wyeworks.com>
https://github.com/ruby/ruby/pull/221 fix GH-221
Tue Dec 11 01:53:37 2012 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
* lib/matrix: alias {row|column}_size to {row|column}_count and use
the latter.
[Bug #7369] [ruby-core:49409]
Tue Dec 11 00:26:58 2012 Shugo Maeda <shugo@ruby-lang.org>
* fix the behavior when a module is included into a refinement.
This change is a little tricky, so it might be better to prohibit
module inclusion to refinements.
* include/ruby/ruby.h (RMODULE_INCLUDED_INTO_REFINEMENT): new flag
to represent that a module (iclass) is included into a refinement.
* class.c (include_modules_at): set RMODULE_INCLUDED_INTO_REFINEMENT
if klass is a refinement.
* eval.c (rb_mod_refine): set the superclass of a refinement to the
refined class for super.
* eval.c (rb_using_refinement): skip the above superclass (the
refined class) when creating iclasses for refinements. Otherwise,
`using Refinement1; using Refinement2' creates iclasses:
<Refinement2> -> <RefinedClass> -> <Refinement1> -> RefinedClass,
where <Module> is an iclass for Module, so RefinedClass is
searched before Refinement1. The correct iclasses should be
<Refinement2> -> <Refinement1> -> RefinedClass.
* vm_insnhelper.c (vm_search_normal_superclass): if klass is an
iclass for a refinement, use the refinement's superclass instead
of the iclass's superclass. Otherwise, multiple refinements are
searched by super. For example, if a refinement Refinement2
includes a module M (i.e., Refinement2 -> <M> -> RefinedClass,
and if refinements iclasses are <Refinement2> -> <M>' ->
<Refinement1> -> RefinedClass, then super in <Refinement2> should
use Refinement2's superclass <M> instead of <Refinement2>'s
superclass <M>'.
* vm_insnhelper.c (vm_search_super_method): do not raise a
NotImplementError if current_defined_class is a module included
into a refinement. Because of the change of
vm_search_normal_superclass(), the receiver might not be an
instance of the module('s iclass).
* test/ruby/test_refinement.rb: related test.
Mon Dec 10 18:35:25 2012 Shugo Maeda <shugo@ruby-lang.org>
* vm_method.c (rb_method_entry_without_refinements): use
rb_resolve_refined_method() to search superclasses if
me->def->orig_me is 0. This change fixes make test-all
TESTS="json ruby/test_refinement.rb".
* test/ruby/test_refinement.rb: related test.
Mon Dec 10 17:59:07 2012 NAKAMURA Usaku <usa@ruby-lang.org>
* ext/fiddle/win32/*: library ports from DL to Fiddle.
* ext/dl/win32/extconf.rb: check fiddle. often case dl compiled prior
to fiddle, so this change is no meaning. in most cases, simply
fiddle/win32 overwrite dl/win32.
Mon Dec 10 15:23:35 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* vm_trace.c (rb_threadptr_exec_event_hooks): exceptions in event
hooks should not propagate outside.
Mon Dec 10 15:11:06 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* compile.c (iseq_compile_each): count flip-flop state in local iseq
not in each iseqs, so that the keys can be other than hidden
strings. [ruby-core:47253] [Bug #6899]
* vm_insnhelper.c (lep_svar_get, lep_svar_set, vm_getspecial): store
flip-flop states in an array instead of a hash.
* iseq.c (set_relation): main iseq also can has local scope.
Mon Dec 10 10:36:12 2012 Narihiro Nakamura <authornari@gmail.com>
* lib/irb/magic-file.rb: set a encoding, which is detected from
the file to read, to the internal encoding.
[Bug #4281][ruby-dev:43036]
Mon Dec 10 09:40:19 2012 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/ext/cmake_builder.rb: Added a builder for cmake.
* lib/rubygems/ext.rb: ditto.
* lib/rubygems/installer.rb: ditto.
* test/rubygems/test_gem_ext_cmake_builder.rb: Test for above.
Mon Dec 10 09:13:08 2012 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/package.rb: Omit directories when packaging gems like
RubyGems 1.8.x
* test/rubygems/test_gem_package.rb: Test for above.
Sun Dec 9 17:36:59 2012 Shugo Maeda <shugo@ruby-lang.org>
* vm_insnhelper.c (vm_call_opt_send): Kernel#send should not use
refinements.
* proc.c (mnew): Kernel#method, Kernel#public_method,
Module#instance_method, and Module#public_instance_method should
not use refinements.
* vm_method.c (rb_method_boundp): Kernel#respond_to? should not use
refinements.
* test/ruby/test_refinement.rb: related test.
Sun Dec 9 06:19:04 2012 Eric Hodel <drbrain@segment7.net>
* lib/rdoc/markdown/entities.rb: Added documentation.
* lib/rdoc/parser/ruby.rb: Updated style
* lib/rdoc/ruby_lex.rb: Parse characters up to \u{FFFFF}
* test/rdoc/test_rdoc_ruby_lex.rb: Test for above.
Sat Dec 8 22:38:35 2012 Shugo Maeda <shugo@ruby-lang.org>
* eval.c (rb_mod_refine): don't override Module#include. It's
unnecessary now because refinements are activated only in refine
blocks.
Sat Dec 8 22:33:26 2012 Shugo Maeda <shugo@ruby-lang.org>
* eval.c: remove Module#refinements.
* test/ruby/test_refinement.rb: remove tests for Module#refinements.
Sat Dec 8 13:17:55 2012 Shugo Maeda <shugo@ruby-lang.org>
* eval.c (top_using): raise a RuntimeError if using is called in a
module definition or a method definition.
* test/ruby/test_refinement.rb: related test.
Sat Dec 8 15:01:35 2012 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/commands/cleanup_command.rb: Skip default gems when
cleaning up.
* test/rubygems/test_gem_commands_cleanup_command.rb: Test for above.
* lib/rubygems/commands/query_command.rb: Fixed listing remote gems.
* lib/rubygems/dependency_installer.rb: Ignore non-files when looking
for local gems.
* test/rubygems/test_gem_dependency_installer.rb: Test for above.
* lib/rubygems/uninstaller.rb: The user must confirm uninstalling gems
that have dependencies.
* test/rubygems/test_gem_uninstaller.rb: Test for above.
* lib/rubygems.rb (module Gem): Updated version.
* test/rubygems/*.pem: Updated to run in FIPS mode.
* test/rubygems/test_gem_security.rb: ditto.
* test/rubygems/test_gem_security_signer.rb: ditto.
Sat Dec 8 12:34:01 2012 Shugo Maeda <shugo@ruby-lang.org>
* vm_insnhelper.c (vm_search_normal_superclass): super in a
refinement always uses the refined class as its superclass.
* test/ruby/test_refinement.rb: related test.
Sat Dec 8 11:59:59 2012 Shugo Maeda <shugo@ruby-lang.org>
* eval.c (rb_mod_refine): raise an ArgumentError if a given
block is of a Proc object.
* vm_insnhelper.c (vm_call_method): store refined methods in inline
cache to improve performance. It's safe now because blocks cannot
be yielded with different refinements in the new specification.
* test/ruby/test_refinement.rb: related test.
Sat Dec 8 11:17:53 2012 Shugo Maeda <shugo@ruby-lang.org>
* eval.c (rb_mod_refine), vm_eval.c (rb_yield_refine_block):
Module#refine activates all refinements defined in that module
only in a given block.
* string.c (sym_to_proc, sym_call): don't use refinements.
* test/ruby/test_refinement.rb: related test.
Sat Dec 8 09:24:42 2012 Eric Hodel <drbrain@segment7.net>
* ext/openssl/ossl_x509name.c: Completed documentation for
OpenSSL::X509::Name.
Sat Dec 8 07:57:12 2012 Koichi Sasada <ko1@atdot.net>
* ext/objspace/objspace.c (iow_size): return size of internal object
for ObjectSpace.memsize_of().
* test/objspace/test_objspace.rb: add a test.
Tue Dec 08 02:39:23 2012 James Edward Gray II <james@graysoftinc.com>
* lib/csv.rb: A fix for row comparison by Stephen Wattam. [Bug #7528]
Sat Dec 8 01:27:23 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* lib/test/unit.rb (Test::Unit::Runner#_run_parallel): no need to
check all reports.
Sat Dec 8 00:10:34 2012 Shugo Maeda <shugo@ruby-lang.org>
* vm_eval.c (yield_under, eval_under): do not activate refinements
of the receiver in module_eval and instance_eval.
* eval.c (ruby_Init_refinement): undef Class#refine.
* eval.c (ruby_Init_refinement): remove Module#using.
* eval.c (ruby_Init_refinement): main.using should be private.
* eval.c (rb_mod_refine): the argument of Module#refine should not
be a module.
* insns.def (defineclass): do not activate refinements in a class or
module.
Fri Dec 7 23:42:11 2012 Shugo Maeda <shugo@ruby-lang.org>
* ext/refinement/refinement.c: include ruby/ruby.h instead of the
declaration of rb_warn().
Fri Dec 7 16:07:00 2012 Zachary Scott <zachary@zacharyscott.net>
* doc/etc.rd: Removed stale documentation file
* ext/etc/etc.c: Merged documentation from doc/etc.rd and updated
rdoc, added documentation for Etc::Passwd and Etc::Group
Fri Dec 7 16:00:57 2012 NAKAMURA Usaku <usa@ruby-lang.org>
* lib/test/unit.rb (Test::Unit::Runner#_run_parallel): no need to
retry skipped test. this fix makes 40% faster the whole test-all
with -j5 on Windows.
Fri Dec 7 14:22:29 2012 Eric Hodel <drbrain@segment7.net>
* lib/rdoc/markup/to_joined_paragraph.rb: Completed documentation
* lib/rdoc/parser/c.rb: ditto
* lib/rdoc/parser/changelog.rb: ditto
* lib/rdoc/servlet.rb: ditto
* lib/rdoc/store.rb: ditto
* lib/rdoc/store.rb: Improved HTML error page. Completed
documentation
* lib/rdoc/parser/ruby.rb: Fixed bug attaching a comment to A::B = 42
* test/rdoc/test_rdoc_parser_ruby.rb: Test for above
* test/rdoc/test_rdoc_comment.rb: Removed garbage
Fri Dec 7 14:03:59 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* lib/timeout.rb (Timeout#timeout): since async_interrupt_timing
re-raises a deferred exception, replace the timeout exception with
Timeout::Error after it. [Bug #7503]
Fri Dec 7 13:07:00 2012 Zachary Scott <zachary@zacharyscott.net>
* doc/forwardable.rd: Remove stale documentation file
* lib/forwardable.rb: Merge documentation from doc/forwardable.rd
Fri Dec 7 09:47:35 2012 NARUSE, Yui <naruse@ruby-lang.org>
* time.c (time_mdump): dump timezone string to private instance variable
on marshaling.
* time.c (time_mload): load timezone string from private instance
variable named 'zone'.
Fri Dec 7 01:15:07 2012 Naohisa Goto <ngotogenome@gmail.com>
* ext/fiddle/lib/fiddle/function.rb (Fiddle::Function#name): new
attribute needed to switch Win32::Registry from DL to Fiddle.
* ext/fiddle/lib/fiddle/import.rb (import_function, bind_function):
set function name to the returned Fiddle::Function object.
Fri Dec 7 00:11:44 2012 Shugo Maeda <shugo@ruby-lang.org>
* test/ruby/test_refinement.rb: fix some tests to use neither
Module#using nor Module#module_eval.
Thu Dec 6 23:27:50 2012 Shugo Maeda <shugo@ruby-lang.org>
* eval.c (ruby_Init_refinement): a new function to enable
Refinements with a warning "Refinements are experimental...".
* ext/refinement/refinement.c, ext/refinement/extconf.rb: a new
extension library to enable Refinements.
Thu Dec 6 18:23:05 2012 Shugo Maeda <shugo@ruby-lang.org>
* revised r37993 to avoid SEGV/ILL in tests. In r37993, a method
entry with VM_METHOD_TYPE_REFINED holds only the original method
definition, so ci->me is set to a method entry allocated in the
stack, and it causes SEGV/ILL. In this commit, a method entry
with VM_METHOD_TYPE_REFINED holds the whole original method entry.
Furthermore, rb_thread_mark() is changed to mark cfp->klass to
avoid GC for iclasses created by copy_refinement_iclass().
* vm_method.c (rb_method_entry_make): add a method entry with
VM_METHOD_TYPE_REFINED to the class refined by the refinement if
the target module is a refinement. When a method entry with
VM_METHOD_TYPE_UNDEF is invoked by vm_call_method(), a method with
the same name is searched in refinements. If such a method is
found, the method is invoked. Otherwise, the original method in
the refined class (rb_method_definition_t::body.orig_me) is
invoked. This change is made to simplify the normal method lookup
and to improve the performance of normal method calls.
* vm_method.c (EXPR1, search_method, rb_method_entry),
vm_eval.c (rb_call0, rb_search_method_entry): do not use
refinements for method lookup.
* vm_insnhelper.c (vm_call_method): search methods in refinements if
ci->me is VM_METHOD_TYPE_REFINED. If the method is called by
super (i.e., ci->call == vm_call_super_method), skip the same
method entry as the current method to avoid infinite call of the
same method.
* class.c (include_modules_at): add a refined method entry for each
method defined in a module included in a refinement.
* class.c (rb_prepend_module): set an empty table to
RCLASS_M_TBL(klass) to add refined method entries, because
refinements should have priority over prepended modules.
* proc.c (mnew): use rb_method_entry_with_refinements() to get
a refined method.
* vm.c (rb_thread_mark): mark cfp->klass for iclasses created by
copy_refinement_iclass().
* vm.c (Init_VM), cont.c (fiber_init): initialize th->cfp->klass.
* test/ruby/test_refinement.rb (test_inline_method_cache): do not skip
the test because it should pass successfully.
* test/ruby/test_refinement.rb (test_redefine_refined_method): new
test for the case a refined method is redefined.
Thu Dec 6 17:29:03 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* parse.y (parser_here_document): flush string content between new
line and :string_embexpr. [ruby-core:48703] [Bug #7255]
Thu Dec 6 16:35:21 2012 Eric Hodel <drbrain@segment7.net>
* test/rake/helper.rb: Load envutil correctly. Removed useless rescue
for signal propagation tests
* lib/rake/file_utils.rb: Prefer the built ruby.
* test/rake/test_rake_functional.rb: ditto
Thu Dec 6 15:20:34 2012 Eric Hodel <drbrain@segment7.net>
* lib/rdoc/context.rb: Don't warn for duplicate methods while loading.
* test/rdoc/test_rdoc_context.rb: Test for above.
Thu Dec 6 14:26:22 2012 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/command_manager.rb: Removed string concatenation
syntax. [Bug #6265]
* lib/rubygems/commands/install_command.rb: ditto
* lib/rubygems/commands/uninstall_command.rb: ditto
* lib/rubygems/indexer.rb: ditto
* lib/rubygems/security/policy.rb: ditto
* lib/rubygems/security.rb: ditto
* lib/rubygems/uninstaller.rb: ditto
* test/rubygems/test_gem_commands_cert_command.rb: ditto
* test/rubygems/test_gem_package.rb: ditto
* test/rubygems/test_gem_security.rb: ditto
* test/rubygems/test_gem_security_policy.rb: ditto
Thu Dec 6 14:10:08 2012 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/package.rb: Set rubygems_version before validation.
Fixes issue with bundler.
* test/rubygems/test_gem_package.rb: Test for above.
* lib/rubygems/remote_fetcher.rb: Only update the cache when we have
permission. [ruby-trunk - Bug #7509]
* lib/rubygems/source.rb (class Gem): ditto
* test/rubygems/test_gem_remote_fetcher.rb: Test for above.
* lib/rubygems/test_utilities.rb: ditto
* lib/rubygems/specification.rb: Derive base_dir properly for default
gems. [ruby-trunk - Bug #7496]
* test/rubygems/test_gem_specification.rb: Test for above.
* lib/rubygems.rb: Untaint Dir.pwd when searching for gemdeps files
for operation under $SAFE=1
Thu Dec 06 12:07:11 2012 Koichi Sasada <ko1@atdot.net>
* vm_trace.c: TracePoint#enable should not cause an error
when it is already enabled. TracePoint#disable is too.
[ruby-core:50561] [ruby-trunk - Bug #7513]
* test/ruby/test_settracefunc.rb: add tests.
Thu Dec 6 07:19:58 2012 Eric Hodel <drbrain@segment7.net>
* lib/rdoc*: Improved display of ChangeLog files as HTML.
* test/rdoc*: Test for above.
Thu Dec 6 04:34:19 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
* thread.c (rb_uninterruptible): helper function for providing
temporary async_interrupt_timing(Object => :defer)
* io.c (rb_f_p): use rb_uninterruptible.
* io.c (rb_f_p_internal): helper function for rb_f_p().
* io.c (struct rb_f_p_arg): new struct for rb_f_p_internal.
* test/ruby/test_thread.rb (test_async_interrupt_and_p): test for
the above.
Thu Dec 6 04:27:10 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
* io.c (io_binwrite): check interrupt before io issue.
* test/ruby/test_thread.rb (test_async_interrupt_and_io):
test for the above.
Thu Dec 6 01:10:36 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* vm_eval.c (rb_method_call_status): use Qundef as no self instead of
the current self.
* vm_eval.c (send_internal): public_send does not consider how it is
called, as mentioned in r14173. patched by charliesome (Charlie
Somerville). [ruby-core:50489] [Bug #7499]
Wed Dec 5 23:50:23 2012 Narihiro Nakamura <authornari@gmail.com>
* gc.c (getrusage_time): uses clock_gettime() with
CLOCK_PROCESS_CPUTIME_ID when available, which provides a 1ns
precision on linux. [ruby-core:50495] [Bug #7500]
patched by Aman Gupta.
Wed Dec 5 22:46:02 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* vm.c (rb_vm_make_proc): save the proc made from the given block so
that it will not get collected. [ruby-core:50545] [Bug #7507]
Wed Dec 5 22:13:57 2012 Naohisa Goto <ngotogenome@gmail.com>
* ext/dl/lib/dl/func.rb (DL::Function#bind): When Fiddle is used,
@ptr should be updated. This fixes SEGV raised in DL::Function#call
after calling DL::Function#bind. [Bug #7516] [ruby-dev:46708]
* test/dl/test_func.rb (test_bind): test for the above
Wed Dec 5 18:53:00 2012 Masaya Tarui <tarui@ruby-lang.org>
* thread.c (rb_thread_s_async_interrupt_timing): have to check ints
before jumping out.
* test/ruby/test_thread.rb (test_async_interrupt_with_return): add test
rescue has to catch a queued async exception at the time of return.
* test/ruby/test_thread.rb (test_async_interrupt_with_break): add test
rescue has to catch a queued async exception at the time of break.
Wed Dec 5 16:54:28 2012 Koichi Sasada <ko1@atdot.net>
* test/ruby/memory_status.rb: suppress warning.
A patch from NAKAMURA Usaku.
Wed Dec 5 16:06:54 2012 Eric Hodel <drbrain@segment7.net>
* lib/rdoc/parser/changelog.rb: Parse more ChangeLog file variations.
* test/rdoc/test_rdoc_parser_changelog.rb: Test for above.
Wed Dec 5 12:17:11 2012 Naohisa Goto <ngotogenome@gmail.com>
* ext/dl/lib/dl/func.rb (DL::Function#initialize, DL::Function#bind):
ABI should be set by using CFunc#calltype even when Fiddle is used.
When Fiddle is used and a block is given, name should not be ignored.
[ruby-core:50562] [Bug #7514]
* ext/dl/lib/dl/import.rb (DL::Importer#bind_function): should respect
abi and name when Fiddle is used.
* test/dl/test_func.rb (test_name_with_block): test for "name" method
with giving a block.
Wed Dec 5 11:55:00 2012 Zachary Scott <zachary@zacharyscott.net>
* doc/shell.rd, doc/shell.rd.ja: Removed stale doc files
* lib/shell.rb, lib/shell/*: Merge and updates docs from doc/shell.rd*
Wed Dec 5 11:42:38 2012 Koichi Sasada <ko1@atdot.net>
* test/ruby/test_settracefunc.rb: disable trace.
Wed Dec 5 11:37:37 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* lib/mkmf.rb (MakeMakefile#macro_defined?): use clearly different
strings from conflict markers.
Wed Dec 5 04:25:00 2012 Zachary Scott <zachary@zacharyscott.net>
* lib/README: Add rdoc modeline directive and formatting libs
Wed Dec 5 04:04:02 2012 Masaya Tarui <tarui@ruby-lang.org>
* test/ruby/test_thread.rb (test_async_interrupt_blocking): bugfix
about deferred check
Wed Dec 5 03:35:37 2012 Masaya Tarui <tarui@ruby-lang.org>
* vm_core.h (RUBY_VM_CHECK_INTS_BLOCKING): check async queue everytime.
* thread.c (sleep_forever): check RUBY_VM_CHECK_INTS_BLOCKING first.
* thread.c (sleep_timeval): ditto.
* test/ruby/test_thread.rb (test_async_interrupt_blocking): add a test
exceptions are correctly deferred and raised on :on_blocking context.
Wed Dec 5 02:36:10 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* common.mk, defs/id.def, template/id.c.tmpl: generate id.c as well as id.h.
Wed Dec 5 00:56:21 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
* thread.c (rb_mutex_owned_p): new method that return current
thread have the target mutex or not. [Feature #7505] [ruby-dev:46697]
* test/ruby/test_thread.rb (test_mutex_owned, test_mutex_owned2):
test for the above.
* NEWS: new for the above.
Wed Dec 5 00:05:47 2012 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
* lib/erb.rb (make_compiler, add_put_cmd, add_insert_cmd): extract
methods.
Tue Dec 4 18:21:04 2012 Naohisa Goto <ngotogenome@gmail.com>
* test/ruby/memory_status.rb (Memory): use fiddle/types if available.
* test/ruby/memory_status.rb (Memory::Win32): :stdcall is needed on
x86 WIN32. This commit partly reverts r38054.
Tue Dec 4 18:05:58 2012 Naohisa Goto <ngotogenome@gmail.com>
* ext/fiddle/lib/fiddle/types.rb: copied from ext/dl/lib/dl/types.rb
and modified for Fiddle, needed for migration from DL to Fiddle.
Tue Dec 4 17:57:09 2012 Naohisa Goto <ngotogenome@gmail.com>
* ext/fiddle/lib/fiddle/import.rb (import_function, bind_function):
should respect call_type for migration from DL to Fiddle.
[Bug #7484] [ruby-core:50405]
Tue Dec 4 16:54:00 2012 Eric Hodel <drbrain@segment7.net>
* .document: Added ChangeLog and doc/ChangeLog-* as documentation
Tue Dec 4 16:47:46 2012 Eric Hodel <drbrain@segment7.net>
* lib/rdoc/parser/changelog.rb: Added a ChangeLog parser to RDoc.
* lib/rdoc/parser.rb: ditto
* test/rdoc/test_rdoc_parser_changelog.rb: Test for above.
Tue Dec 4 16:23:32 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* marshal.c (path2class, path2module): use PRIsVALUE.
* marshal.c (w_object, marshal_dump, marshal_load): use
rb_check_funcall if possible.
* marshal.c (w_object, marshal_dump, r_object0, marshal_load): use
RB_GC_GUARD() (directly or indirectly) instead of volatile.
* variable.c (rb_path_to_class): prevent the argument from GC.
Tue Dec 04 13:55:07 2012 Koichi Sasada <ko1@atdot.net>
* vm_opts.h: enable optimization - operand unification.
Operand unification technique enable to combine
an instruction and specific operands and make new
instruction.
* defs/opt_operand.def: add several configuration
of operand unification.
* insns.def: use `int' instead to suppress warning.
Mon Dec 3 17:58:53 2012 NARUSE, Yui <naruse@ruby-lang.org>
* parse.y: replace parser->enc with current_enc.
Tue Dec 4 08:33:46 2012 Eric Hodel <drbrain@segment7.net>
* README.EXT: Converted to RDoc format
* README.EXT.ja: ditto
Tue Dec 4 08:32:10 2012 Eric Hodel <drbrain@segment7.net>
* lib/rdoc/ri/driver.rb: Fixed ri page display for files with
extensions.
* test/rdoc/test_rdoc_ri_driver.rb: Test for above
Tue Dec 4 04:11:50 2012 Eric Hodel <drbrain@segment7.net>
* .document: Add NEWS for `ri ruby:NEWS`
* NEWS: Set format as rdoc
* doc/NEWS-1.8.7: ditto
* doc/NEWS-1.9.1: ditto
* doc/NEWS-1.9.2: ditto
* doc/NEWS-1.9.3: ditto
Mon Dec 3 20:37:22 2012 Koichi Sasada <ko1@atdot.net>
* vm_exec.c: check VM_COLLECT_USAGE_DETAILS.
Mon Dec 3 20:28:02 2012 Koichi Sasada <ko1@atdot.net>
* compile.c (iseq_specialized_instruction):
change condition of using `opt_send_simple'.
More method invocations can be simple.
Mon Dec 3 20:03:38 2012 Koichi Sasada <ko1@atdot.net>
* test/ruby/test_objectspace.rb: skip RuntimeError
which says a message "can't modify frozen File".
Is that correct behavior?
Mon Dec 03 20:00:19 2012 Koichi Sasada <ko1@atdot.net>
* vm_exec.c: vm_analysis_insn should be static.
Mon Dec 3 19:10:12 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* random.c (Init_Random), rational.c (Init_Rational): make marshal
methods private. [Feature #6539]
Mon Dec 3 18:29:27 2012 Koichi Sasada <ko1@atdot.net>
* iseq.h: iseq_catch_table_entry::catch_type should be
Fixnum because they are pushed into Array in a compiler.
[Bug #7502]
* test/ruby/test_objectspace.rb: add a test of this issue.
Mon Dec 3 18:25:16 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* template/id.h.tmpl (preserved_ids): "empty?" is not an attribute name.
Mon Dec 3 16:23:09 2012 Koichi Sasada <ko1@atdot.net>
* vm_backtrace.c (vm_backtrace_to_ary): check negative size (2nd arg).
Mon Dec 3 15:50:33 2012 Akinori MUSHA <knu@iDaemons.org>
* misc/ruby-additional.el (ruby-mode-set-encoding): Unbreak by
fixing a typo, s/set/setq/.
Mon Dec 3 14:14:19 2012 Koichi Sasada <ko1@atdot.net>
* compile.c (iseq_compile_each): joke shouldn't use id.h defined ids.
* id.c (Init_id): ditto.
* common.mk: fix dependency.
Mon Dec 3 12:43:35 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* misc/ruby-mode.el (ruby-block-end-re, ruby-delimiter)
(ruby-mode-syntax-table, ruby-parse-partial, ruby-beginning-of-indent):
merge from Emacs.
* misc/ruby-mode.el (ruby-calculate-indent): fix indentation of
argument lines in parentheses. [Bug #5140]
Mon Dec 3 07:52:41 2012 Eric Hodel <drbrain@segment7.net>
* lib/rdoc/parser.rb: Improved modeline support. Patch by nobu.
* test/rdoc/test_rdoc_parser.rb: Test for above.
Sun Dec 3 00:06:00 2012 Kenta Murata <mrkn@mrkn.jp>
* ext/bigdecimal/bigdecimal.c (BigDecimal_new): stop checking string
taintness. [Bug #5508] [ruby-core:40510]
Sun Dec 2 19:26:47 2012 Masaya Tarui <tarui@ruby-lang.org>
* thread.c (RB_GC_SAVE_MACHINE_CONTEXT, rb_gc_save_machine_context):
extract rb_gc_save_machine_context to RB_GC_SAVE_MACHINE_CONTEXT.
NOTE: machine_regs and machine_stack_end must be set in current scope.
Sun Dec 2 18:46:24 2012 Koichi Sasada <ko1@atdot.net>
* array.c, enum.c, insns.def, io.c, numeric.c, parse.y, process.c,
range.c: use prepared IDs.
A patch from charliesome (Charlie Somerville).
[Bug #7495]
* common.mk: add dependency to id.h.
* common.mk: replace ID_H_INCLUDES with id.h.
Sun Dec 2 16:48:00 2012 Zachary Scott <zachary@zacharyscott.net>
* lib/weakref.rb (rdoc): Clean up usage, add example,
note ArgumentError on WeakRef.new
Sun Dec 2 16:45:00 2012 Zachary Scott <zachary@zacharyscott.net>
* gc.c (WeakMap): Add doc for internal reference, use lib/weakref.rb
Sun Dec 2 07:24:23 2012 Eric Hodel <drbrain@segment7.net>
* lib/rdoc/parser.rb: Parse files with a -*- rdoc -*- modeline
* test/rdoc/test_rdoc_parser.rb: Test for above
Sun Dec 2 06:02:00 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
* gc.h (SET_MACHINE_STACK_END): add volatile for preventing
harmful optimization. [ruby-dev:46665] [Bug #7468]
Sun Dec 2 05:01:58 2012 Koichi Sasada <ko1@atdot.net>
* iseq.c (rb_iseq_line_trace_each): iterate `line' event only.
* test/ruby/test_iseq.rb: add a test for this change.
Sun Dec 2 02:46:04 2012 Koichi Sasada <ko1@atdot.net>
* vm_trace.c: add TracePoint#inspect.
* test/ruby/test_settracefunc.rb: add a test for this change.
Sat Dec 1 21:18:19 2012 Koichi Sasada <ko1@atdot.net>
* test/ruby/test_backtrace.rb: add a test for
Thread::Backtrace::Location#inspect.
BTW, tests for `caller_locations' are not enough.
Any volunteers are welcome.
Sat Dec 1 21:06:58 2012 Koichi Sasada <ko1@atdot.net>
* vm_backtrace.c (location_inspect_m): add
Thread::Backtrace::Location#inspect.
It same as loc_obj.to_s.inspect.
Sat Dec 1 19:24:09 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* io.c (rb_io_puts): recurse for the argument itself, not converted
array elements. [ruby-core:42444] [Bug #5986]
Sat Dec 1 19:01:36 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* marshal.c (w_object, r_object0): call private marshal methods.
[Feature #6539]
Sat Dec 1 18:52:22 2012 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/commands/cleanup_command.rb: Fix cleanup command for
multiple gems. [ruby-trunk - #7481] by Kouhei Sutou
* test/rubygems/test_gem_commands_cleanup_command.rb: Test for above.
* lib/rubygems.rb: Autoload Gem::Source to prevent test failures
Sat Dec 1 18:17:00 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* complex.c (Init_Complex), time.c (Init_Time): make marshal methods
private. [Feature #6539]
* object.c (Init_Object): make remove_instance_variable public.
[Feature #6539]
* id.c (Init_id), template/id.h.tmpl: add initialize_{copy,clone,dup}
and respond_to_missing?.
* vm_method.c (rb_method_entry_make): make above methods private.
[Feature #6539]
Sat Dec 1 16:40:22 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
* test/ruby/test_thread.rb: move ConditionVariable related test
into test/thread/test_cv.rb.
* test/thread/test_cv.rb: new file.
* test/thread/test_cv.rb (test_condvar_empty_signal): new tests.
* test/thread/test_cv.rb (test_condvar_empty_broadcast): ditto.
Sat Dec 1 15:14:25 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
* test/ruby/test_thread.rb (test_cv_wait_deadlock): enable
cv deadlock test.
Sat Dec 1 14:23:33 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
* lib/thread.rb (ConditionVariable): use hash instead of array for
@waiters.
* test/thread/test_queue.rb (test_sized_queue_and_wakeup): remove
a test because @waiters no longer have a chance to duplicated. Now it's
a hash.
Sat Dec 1 17:16:54 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* misc/ruby-electric.el (ruby-electric-curlies): use kill-region
instead of interactive command delete-backward-char.
Sat Dec 1 17:12:55 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* misc/inf-ruby.el (inferior-ruby-mode): fix the
compilation-shell-minor-mode configuration. a patch by
j2petkov (Jean-Christophe Petkovich) in [ruby-core:46518].
[Bug #6742]
Sat Dec 1 15:05:30 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* dir.c (glob_helper): use NAMLEN() to tell the length of d_name
instead of strlen(), which can access beyond the boundary.
Sat Dec 1 13:48:13 2012 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/specification.rb: Don't add default gems to $LOAD_PATH
as they are already there.
Sat Dec 1 12:22:17 2012 Kouhei Sutou <kou@cozmixng.org>
* re-added r38053 that is reverted by r38061. Problems by r38053
are resolved by r38096. r38096 removed GEM_SKIP configuration.
The below is ChangeLog of r38053:
* defs/default_gems: Add base directory column.
* tool/rbinstall.rb:
- Install .gemspecs of default gem to
#{GEM_HOME}/specifications/default/.
- Update files parameter of .gemspecs by relative path from
library directory.
Sat Dec 1 11:09:12 2012 Aaron Patterson <aaron@tenderlovemaking.com>
* variable.c (rb_class_path_no_cache): add a function to get the class
path without caching the computed path. Some classes are frozen, and
will raise an exception without this.
* probes.d (cmethod-entry, cmethod-return): separate cmethods from
regular methods to match set trace func.
* probes_helper.h: refactor macros. Fix probes to avoid calling
#inspect when profiling.
* insns.def: update for use with new macros.
* vm_eval.c: ditto
* vm_insnhelper.c: ditto
* test/dtrace/test_singleton_function.rb: fix test for new output.
* test/dtrace/test_cmethod.rb: test the cmethod probes.
Sat Dec 1 09:44:16 2012 Eric Hodel <drbrain@segment7.net>
* test/rdoc/test_rdoc_options.rb: Windows drive letters are
case-insensitive.
Sat Dec 1 09:42:13 2012 Eric Hodel <drbrain@segment7.net>
* lib/rubygems.rb: Search for gem deps file up the directory tree.
* test/rubygems/test_gem.rb: Test for above.
Sat Dec 1 09:33:32 2012 Eric Hodel <drbrain@segment7.net>
* test/runner.rb: Set GEM_HOME, GEM_PATH and GEM_SKIP to empty set.
With default_gem support in RubyGems GEM_SKIP prevents loading of
built-in gems.
Sat Dec 1 07:16:17 2012 Hiroshi Shirosaki <h.shirosaki@gmail.com>
* compile.c (ADD_CATCH_ENTRY): add a cast to fix SEGV with x64 mingw
on Windows 8. Without cast, 0 might be non zero value at higher bits
in rb_ary_new3().
[ruby-core:50258] [Bug #7456]
Sat Dec 1 04:07:57 2012 NARUSE, Yui <naruse@ruby-lang.org>
* parse.y (parser.utf8): remove unused property.
* parse.y (UTF8_ENC): remove unused macro.
* parse.y (parser_tokadd_utf8): use rb_utf8_encoding() directly.
Sat Dec 1 03:49:45 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
* lib/sync.rb (Sync_m#sync_synchronize): add Thread.async_interrupt_timing
for protecting from async interrupt.
* lib/sync.rb (Sync_m#sync_lock): ditto.
Sat Dec 1 03:38:04 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
* lib/thread.rb (ConditionVariable#broadcast): s/RuntimeError/StandardError/
* lib/thread.rb (ConditionVariable#signal): ditto.
Sat Dec 1 03:29:52 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
* lib/thread.rb (SizedQueue#pop): rewrite by using ConditionVariable.
* lib/thread.rb (SizedQueue#push): ditto.
* lib/thread.rb (SizedQueue#max): ditto.
* lib/thread.rb (Queue#pop): ditto.
* lib/thread.rb (Queue#push): ditto.
* lib/thread.rb (SizedQueue#num_waiting): adopt the above changes.
* lib/thread.rb (SizedQueue#initialize): ditto.
* lib/thread.rb (Queue#num_waiting): ditto.
* lib/thread.rb (Queue#initialize): ditto.
* test/thread/test_queue.rb (test_sized_queue_and_wakeup): ditto.
Sat Dec 1 03:45:47 2012 Koichi Sasada <ko1@atdot.net>
* thread.c (Thread.async_interrupt_timing): fix RDoc.
:never is not used any more.
Sat Dec 1 02:56:19 2012 Koichi Sasada <ko1@atdot.net>
* iseq.c: add RubyVM::InstructionSequence (ISeq) inspection methods.
* ISeq#path returns path of this ISeq written.
* ISeq#absolute_path returns absolute path.
* ISeq#label returns label (method name and so on).
* ISeq#base_label returns base label (see Thread::Backtrace::Location).
* ISeq#first_lineno returns first line number of this ISeq.
* ISeq.of(obj) returns ISeq object which obj (Proc or Method)
is contains.
* test/ruby/test_iseq.rb: add tests.
Sat Dec 1 02:58:51 2012 Eric Hodel <drbrain@segment7.net>
* include/ruby/ruby.h (rb_event_flag_t): Maintain integer precision
for clang error (VALUE aka unsigned long vs unsigned int)
Sat Dec 1 02:53:18 2012 Eric Hodel <drbrain@segment7.net>
* test/rubygems/test_gem_dependency_installer.rb: Use Gem.read_binary
instead of File.binread for ruby 1.8 compatibility in the rubygems
source repository. Updates r38075
Sat Dec 1 02:33:20 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
* thread.c (rb_threadptr_interrupt_mask, async_interrupt_timing_func):
merge into them into rb_thread_s_async_interrupt_timing.
* thread.c (rb_thread_s_async_interrupt_timing): ditto.
Sat Dec 1 02:11:47 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
* thread.c (rb_threadptr_interrupt_mask): add argument check.
* thread.c (async_interrupt_timing_arg_check_i): helper function
for the above.
* test/ruby/test_thread.rb (test_async_interrupt_timing_invalid_argument):
test for the above.
Sat Dec 1 01:19:34 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
* lib/thread.rb (ConditionVariable#broadcast): protect from
async interrupt by using Thread.async_interrupt_timing.
* lib/thread.rb (ConditionVariable#signal): ditto.
* lib/thread.rb (ConditionVariable#wait): ditto.
Sat Dec 1 02:04:23 2012 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
* test/ruby/envutil.rb (Test::Unit::Assertions#assert_in_out_err):
raise if assert_in_out_err misused.
Sat Dec 1 02:08:16 2012 NAKAMURA Usaku <usa@ruby-lang.org>
* test/rdoc/test_rdoc_rubygems_hook.rb
(TestRDocRubygemsHook#test_setup_unwritable): 1. check the existence
of the file(directory) before touch it. 2. remove test
file(directory) after the test. see [ruby-core:50388].
Sat Dec 1 01:51:06 2012 Koichi Sasada <ko1@atdot.net>
[EXPERIMENTAL]
* iseq.c: add following two methods.
* ISeq#line_trace_all returns all line traces (line numbers)
* ISeq#line_trace_specify(pos, set) set `pos'th line event to
specified_line event (if set is true).
These features are introduced for debuggers (mainly to make
breakpoint).
* iseq.h: add decl. of C APIs.
* test/ruby/test_iseq.rb: add tests.
* vm_trace.c: add `specified_line' event.
* include/ruby/ruby.h: ditto.
Sat Dec 1 01:49:52 2012 NAKAMURA Usaku <usa@ruby-lang.org>
* test/rubygems/test_gem_dependency_installer.rb: gems are of course
binary files, so use a binary reading method when reading it.
see [ruby-core:50388].
Sat Dec 1 01:21:07 2012 NAKAMURA Usaku <usa@ruby-lang.org>
* lib/rubygems/command.rb (Gem::Command#get_all_gem_names_and_versions):
who assumes that the pathname of a gem never contains ':' ?
yes, on Unixen pathnames can contain ':', and on Windows they almost
certainly contain ':'. see [ruby-core:50388].
* lib/rubygems/requirement.rb (Gem::Requirement::PATTERN_RAW): extract
the regexp to match the version specifier from PATTERN to use in
above method.
Sat Dec 1 00:48:19 2012 Naohisa Goto <ngotogenome@gmail.com>
* ext/fiddle/extconf.rb, ext/fiddle/function.c
(Fiddle::Function::STDCALL): FFI_STDCALL is not a macro, but an
enumeration. [ruby-core:50398] [Bug #7483]
Sat Dec 1 00:08:55 2012 NAKAMURA Usaku <usa@ruby-lang.org>
* test/rubygems/test_gem_installer.rb
(TestGemInstaller#test_check_executable_overwrite_other_non_gem):
on Windows, rubygems always generate a wrapper .bat file when
installing a file into bin, so testing no-overwrite a wrapper file
and a non-wrapper file is nonsense. see [ruby-core:50388].
Fri Nov 30 23:39:58 2012 NAKAMURA Usaku <usa@ruby-lang.org>
* test/rubygems/test_gem_installer.rb
(TestGemInstaller#test_check_executable_overwrite_default_bin_dir):
if the executable to be overwritten was generated by rubygems, the
error message differs from the only copied one's.
see [ruby-core:50388].
Fri Nov 30 23:27:26 2012 NAKAMURA Usaku <usa@ruby-lang.org>
* test/rubygems/test_gem_ext_ext_conf_builder.rb
(TestGemExtExtConfBuilder::test_class_make): reading with binary mode
of course introduce \r on Windows. see [ruby-core:50388].
Fri Nov 30 23:11:37 2012 NAKAMURA Usaku <usa@ruby-lang.org>
* lib/rubygems/specification.rb
(Gem::Specification.validate_permissions): don't check executability
of the source on Windows. they will be wrapped to .bat files when
installing. see [ruby-core:50388].
Fri Nov 30 22:44:14 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
* vm_core.h (rb_vm_struct): add thread_destruct_lock field.
* thread.c (Init_Thread): ditto.
* thread.c (rb_vm_gvl_destroy): ditto.
* thread.c (thread_start_func_2): make sure vm->running_thread
don't point to dead thread.
* thread.c (timer_thread_function): close a race against thread
destruction. [Bug #4911][ruby-dev:43859]
* vm_core.h (rb_thread_set_current): reset running time of
current thread instead of previous thread. We no longer
assume previous running thread still live.
Fri Nov 30 21:57:43 2012 NAKAMURA Usaku <usa@ruby-lang.org>
* revert r38053 because it causes too many test failures.
if you've already installed r38053 or later, remove the installed
lib/ruby/gems/2.0.0 directory and reinstall this revision or later.
Fri Nov 30 21:07:56 2012 NAKAMURA Usaku <usa@ruby-lang.org>
* lib/test/unit/parallel.rb (Test::Unit::Worker.run): wrap LoadError
because it's Gem::LoadError sometimes. see [Bug #6882]
Fri Nov 30 20:47:44 2012 Koichi Sasada <ko1@atdot.net>
* thread.c: TracePoint#self returns invoking/exiting thread object
at thread_begin/end event.
* test/ruby/test_settracefunc.rb: fix test.
Fri Nov 30 19:55:17 2012 NAKAMURA Usaku <usa@ruby-lang.org>
* test/ruby/memory_status.rb (Memory::Win32): use fiddle instead of dl,
but I doubt fiddle is not compatible with dl. (if you are interested,
see the diff.) [ruby-core:50194] [Bug #7443]
Fri Nov 30 19:37:44 2012 Kouhei Sutou <kou@cozmixng.org>
* defs/default_gems: Add base directory column.
* tool/rbinstall.rb:
- Install .gemspecs of default gem to
#{GEM_HOME}/specifications/default/.
- Update files parameter of .gemspecs by relative path from
library directory.
Fri Nov 30 19:30:00 2012 Zachary Scott <zachary@zacharyscott.net>
* vm_trace.c:
tracepoint_attr_return_value (TracePoint#return_value):
include `:b_return` for method doc
tracepoint_enable_m, tracepoint_disable_m (#enable/#disable):
don't have block argument, document block scope
Fri Nov 30 18:52:56 2012 Koichi Sasada <ko1@atdot.net>
* vm_trace.c (tracepoint_disable_m, tracepoint_enable_m):
fix block parameter.
No argument should be given to a block which is passed
to TracePoint#enable (and disable).
Fri Nov 30 18:23:26 2012 Koichi Sasada <ko1@atdot.net>
* thread.c: rename Thread.control_interrupt
to Thread.async_interrupt_timing.
The option name `:never' is also changed to `:defer'.
[ruby-core:50375] [ruby-trunk - Feature #6762]
* thread.c: remove Thread.check_interrupt.
This method is difficult to understand by name.
* thread.c: add Thread.async_interrupted?.
This method check any deferred async interrupts.
* test/ruby/test_thread.rb: change tests for above.
Fri Nov 30 18:24:00 2012 Zachary Scott <zachary@zacharyscott.net>
* vm_trace.c: Documentation for TracePoint API
[ruby-core:47243] [Feature #6895]
Fri Nov 30 17:43:50 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* string.c (rb_str_cmp_m): try to compare with to_str result if
possible before calling <=> method. [ruby-core:49279] [Bug #7342]
* string.c (rb_str_cmp_m): use rb_check_funcall instead of respond_to
and call.
* string.c (rb_str_cmp_m): return fixed value, one of -1,0,+1 always.
Fri Nov 30 16:19:14 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* vm_dump.c (rb_vm_bugreport): get rid of calling methods in sigsegv
handler. based on a patch by charliesome (Charlie Somerville)
[ruby-core:49573] [Bug #7402]
Fri Nov 30 16:05:44 2012 Eric Hodel <drbrain@segment7.net>
* NEWS: Added RubyGems 2.0.0
Fri Nov 30 15:24:37 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* parse.y (parser_yylex): fix false usage of local variable, it cannot
appear in fname state [ruby-core:49659] [Bug #7408]
Fri Nov 30 15:20:12 2012 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/package.rb: Load YAML for building gems.
* test/rubygems/test_gem_commands_contents_command.rb: Sort expected
output of default gem contents. Re-fixes r38004 and r38005.
Fri Nov 30 15:15:00 2012 Zachary Scott <zachary@zacharyscott.net>
* vm_trace.c (set_trace_func): Formatting of params and events
Fri Nov 30 14:45:00 2012 Zachary Scott <zachary@zacharyscott.net>
* lib/net/http.rb: Net::HTTP::Patch to list of HTTP Request Classes
Patch by Ryunosuke SATO [Fixes #217 on github]
Fri Nov 30 14:05:00 2012 Zachary Scott <zachary@zacharyscott.net>
* lib/cgi.rb: CGI example for HTML generation
Patch by Marcus Stollsteimer [ruby-core:50303] [Bug #7465]
Fri Nov 30 13:52:00 2012 Zachary Scott <zachary@zacharyscott.net>
* time.c: Documentation improvements, grammar and formatting
Patch by Bernd Homuth [ruby-core:49203] [Bug #7326]
Fri Nov 30 13:48:33 2012 Eric Hodel <drbrain@segment7.net>
* lib/rdoc.rb: Set version to 4.0.0.preview2
* lib/rubygems.rb: Set version to 2.0.0.preview2
Fri Nov 30 13:11:53 2012 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/commands/setup_command.rb: Remove old files on install
of RubyGems. (not by rbinstall.rb).
* test/rubygems/test_gem_commands_setup_command.rb: Test for above.
Fri Nov 30 12:47:59 2012 Akinori MUSHA <knu@iDaemons.org>
* lib/abbrev.rb (Abbrev#abbrev): A fixed string prefix pattern
should only match the beginning of each word, not the beginning
of every line in it.
* lib/abbrev.rb (Abbrev#abbrev): Stop using a regexp that causes a
false warning. [Bug #7471]
Fri Nov 30 12:30:55 2012 Akinori MUSHA <knu@iDaemons.org>
* test/test_abbrev.rb: Add tests for lib/abbrev.rb.
Fri Nov 30 12:27:51 2012 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/spec_fetcher.rb: Allow prerelease spec fetching to fail
for bundler.
* test/rubygems/test_gem_spec_fetcher.rb: Test for above.
Fri Nov 30 12:20:53 2012 Eric Hodel <drbrain@segment7.net>
* lib/rake/backtrace.rb: Removed duplication in
Rake::Backtrace::SUPPRESSED_PATHS
* test/rake/test_rake_backtrace.rb: Skip tests when tmpdir is in the
suppressed pattern.
Fri Nov 30 11:07:45 2012 Shugo Maeda <shugo@ruby-lang.org>
* revert r37993 to avoid SEGV in tests.
Fri Nov 30 10:38:54 2012 Eric Hodel <drbrain@segment7.net>
* lib/rdoc/ri/driver.rb: Relaxed matching for pages to be more
user-friendly.
* test/rdoc/test_rdoc_ri_driver.rb: Test for above.
Fri Nov 30 09:50:16 2012 Eric Hodel <drbrain@segment7.net>
* lib/rdoc/markdown.rb: Fixed warnings with -w
Fri Nov 30 09:38:22 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* include/ruby/ruby.h (RB_GC_GUARD_PTR): add note.
* vm_backtrace.c (backtrace_to_str_ary): use RB_GC_GUARD() instead of
RB_GC_GUARD_PTR() which has no effect.
(backtrace_to_location_ary): ditto.
(vm_backtrace_to_ary): ditto.
Fri Nov 30 09:22:52 2012 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/commands/contents_command.rb: Sort output from command.
Replaces r38004, r38005
* test/rubygems/test_gem_commands_contents_command.rb: ditto.
* lib/rubygems/defaults.rb: Use Gem.path_separator for jruby support.
* lib/rubygems/path_support.rb: ditto
Fri Nov 30 08:34:03 2012 Eric Hodel <drbrain@segment7.net>
* lib/rdoc/generator/darkfish.rb: Silenced warning
* test/rdoc/test_rdoc_rdoc.rb: ditto
* lib/rdoc/markup/parser.rb: Use byteslice when available for
performance
* test/rdoc/test_rdoc_markup_parser.rb: Test for above
* lib/rdoc/test_case.rb: ditto
* lib/rdoc/parser/ruby.rb: Fixed bug parsing yield({})
* test/rdoc/test_rdoc_parser_ruby.rb (end):
* lib/rdoc/rubygems_hook.rb: Skip default gems. Display generator
name properly.
* test/rdoc/test_rdoc_rubygems_hook.rb: Test for above
* lib/rdoc/servlet.rb: Fixed typo.
Fri Nov 30 08:09:56 2012 Narihiro Nakamura <authornari@gmail.com>
* gc.c : remove a unused function.
Fri Nov 30 07:46:42 2012 Narihiro Nakamura <authornari@gmail.com>
* gc.c (rb_objspace_call_finalizer): finalize_deferred may free up
a object which is reachable from a part after this function,
e.g. ruby_vm_destruct(). [ruby-dev:46647] [Bug #7452]
* test/ruby/test_gc.rb (test_finalizing_main_thread): add a test
for above.
Fri Nov 30 07:43:44 2012 Koichi Sasada <ko1@atdot.net>
* thread.c (rb_thread_interrupted): avoid warning of
implicit conversion.
* thread.c (rb_threadptr_execute_interrupts): ditto.
Fri Nov 30 07:34:28 2012 Koichi Sasada <ko1@atdot.net>
* vm_backtrace.c: add GC guards.
Fri Nov 30 07:21:33 2012 Koichi Sasada <ko1@atdot.net>
[EXPERIMENTAL: NEED DISCUSS]
* vm_trace.c: add events
* :thread_begin - hook at thread beginning.
* :thread_end - hook at thread ending.
* :b_call - hook at block enter.
* :b_return - hook at block leave.
This change slow down block invocation.
Please try and give us feedback until 2.0 code freeze.
* include/ruby/ruby.h: ditto.
* compile.c (rb_iseq_compile_node): ditto.
* insns.def: ditto.
* thread.c: ditto.
* vm.c: ditto.
* include/ruby/debug.h: add a comment.
* test/ruby/test_settracefunc.rb: add a tests.
Fri Nov 30 06:56:30 2012 Ryan Davis <ryand-ruby@zenspider.com>
* test/minitest/*: Imported minitest 4.3.2 (r8027)
Fri Nov 30 04:16:29 2012 Eric Hodel <drbrain@segment7.net>
* lib/rake/*: Updated to rake 0.9.5
* test/rake/*: ditto.
* NEWS: ditto.
Fri Nov 30 02:53:47 2012 Aaron Patterson <aaron@tenderlovemaking.com>
* vm.c: add a return hook when a method raises an exception.
* probes_helper.h: look up klass and method if none are provided.
* eval.c: update macro usage.
* vm_eval.c: ditto.
* vm_insnhelper.c: ditto.
* test/dtrace/test_function_entry.rb: test for change.
Fri Nov 30 02:27:12 2012 NARUSE, Yui <naruse@ruby-lang.org>
* compile.c (compile_array_): refix r37991 remove assertion:
it is true only if type == COMPILE_ARRAY_TYPE_HASH.
[ruby-dev:46658] [Bug #7466]
* vm.c (m_core_hash_from_ary): add assertion instead of above.
* vm.c (m_core_hash_merge_ary): ditto.
Thu Nov 29 19:15:14 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* compile.c (compile_array_): hash elements must be paired even for
literal elements. [ruby-dev:46658] [Bug #7466]
Thu Nov 29 22:39:35 2012 Naohisa Goto <ngotogenome@gmail.com>
* ext/openssl/ossl_ssl.c (ssl_npn_encode_protocol_i): fix byte order
issue on big-endian architecture [ruby-core:50292] [Bug #7463]
Thu Nov 29 22:23:31 2012 Hiroshi Nakamura <nahi@ruby-lang.org>
* test/openssl/test_cipher.rb (test_ctr_if_exists): add CTR mode test
if underlying OpenSSL supports it. See #4408
Thu Nov 29 21:42:16 2012 Shugo Maeda <shugo@ruby-lang.org>
* vm_method.c (rb_method_entry_make): add a method entry with
VM_METHOD_TYPE_REFINED to the class refined by the refinement if
the target module is a refinement. When a method entry with
VM_METHOD_TYPE_UNDEF is invoked by vm_call_method(), a method with
the same name is searched in refinements. If such a method is
found, the method is invoked. Otherwise, the original method in
the refined class (rb_method_definition_t::body.orig_def) is
invoked. This change is made to simplify the normal method lookup
and to improve the performance of normal method calls.
* vm_method.c (EXPR1, search_method, rb_method_entry),
vm_eval.c (rb_call0, rb_search_method_entry): do not use
refinements for method lookup.
* vm_insnhelper.c (vm_call_method): search methods in refinements if
ci->me is VM_METHOD_TYPE_REFINED. If the method is called by
super (i.e., ci->call == vm_call_super_method), skip the same
method entry as the current method to avoid infinite call of the
same method.
* class.c (include_modules_at): add a refined method entry for each
method defined in a module included in a refinement.
* class.c (rb_prepend_module): set an empty table to
RCLASS_M_TBL(klass) to add refined method entries, because
refinements should have priority over prepended modules.
* proc.c (mnew): use rb_method_entry_with_refinements() to get
a refined method.
* test/ruby/test_refinement.rb (test_inline_method_cache): do not skip
the test because it should pass successfully.
* test/ruby/test_refinement.rb (test_redefine_refined_method): new
test for the case a refined method is redefined.
Thu Nov 29 17:45:10 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* variable.c (rb_const_set): show namespace in warning messages.
[Feature #7190]
Thu Nov 29 17:31:53 2012 NARUSE, Yui <naruse@ruby-lang.org>
* lib/rubygems.rb (Gem.load_yaml): return if Kernel#gem is not defined
yet. This causes crash if test-all requires libraries in a certain
order. A simple reproducible code is
ruby --disable-gem -e'require"yaml";require"minitest/autorun"'
Thu Nov 29 17:19:26 2012 Eric Hodel <drbrain@segment7.net>
* lib/tracer.rb: Updated to match removal of custom_require from
RubyGems.
* test/test_tracer.rb: ditto. Improved failure message if the test
fails
Thu Nov 29 17:15:00 2012 Zachary Scott <zachary@zacharyscott.net>
* gc.c: Documentation for GC, GC::Profiler, ObjectSpace, and
ObjectSpace::WeakMap [ruby-core:50245] [Bug #7449]
Thu Nov 29 17:12:26 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* tool/generic_erb.rb, tool/id2token.rb: add --path-separator option
for mingw where make and built ruby live in different world.
* tool/vpath.rb: extract from tool/instruction.rb.
Thu Nov 29 17:11:06 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* test/io/wait/test_io_wait.rb (TestIOWait#fill_pipe):
Errno::EWOULDBLOCK may not be the same as Errno::EAGAIN. patch by
phasis68 (Heesob Park) at [ruby-core:49894]. [Bug #7420]
Thu Nov 29 17:03:38 2012 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/test_case.rb: Determine path to certificates to avoid
build-dir problems.
* test/rubygems/test_gem_security_signer.rb: Use predetermined paths
to avoid build-dir problems.
Thu Nov 29 16:18:14 2012 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/test_case.rb: Disable loading of keys and certificates
outside rubygems or ruby tests as the files are not available (or
necessary).
Thu Nov 29 16:14:41 2012 Koichi Sasada <ko1@atdot.net>
* vm_backtrace.c (rb_debug_i
|