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
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38578 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
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.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38577 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/profiler.rb (Profiler__::PROFILE_PROC, print_profile): store
profile data per threads for concurrent-execution.
[ruby-core:22046] [Bug #1152]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38576 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/profiler.rb (Profiler__::Wrapper): support calling singleton
methods of an instance of BasicObject.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38575 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
outer local variable' from example and make obvious ARGV with
non-option arguments.
Patch by Marcus Stollsteimer [ruby-core:47460] [Bug #6997]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38561 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
class methods to IRB::Inspector [ruby-core:51067][Bug #7598]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38542 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
prevent modules with the names of constants from appearing in the
documentation.
* test/rdoc/test_rdoc_parser_ruby.rb: Test for the above.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38490 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
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.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38461 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
setting encoding. This allows ruby executables to be parsed as ruby
files.
* test/rdoc/test_rdoc_encoding.rb: Test for above.
* lib/rdoc/parser.rb: Set the parser file name of ruby executables
correctly.
* test/rdoc/test_rdoc_parser.rb: Test for above.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38446 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
the heredoc identifier is followed by a line-end. This allows proper
display of some HEREDOCs in source view.
* lib/rdoc/ruby_token.rb: Added TkHEREDOC
* test/rdoc/test_rdoc_ruby_lex.rb: Test for above.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38443 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
with multiple version specifiers.
* test/rubygems/test_gem_ext_cmake_builder.rb: Only look for specific
lines in cmake output. Should fix [ruby-trunk - Bug #7579]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38438 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/rdoc/markup/attribute_manager.rb: Removed useless empty check.
* lib/rdoc/markup/to_markdown.rb: Support links from other formats.
* lib/rdoc/markup/formatter.rb: ditto.
* lib/rdoc/markup/to_html.rb: ditto.
* test/rdoc/test_rdoc_markup_formatter.rb: Test for above.
* test/rdoc/test_rdoc_markup_to_html.rb: ditto.
* test/rdoc/test_rdoc_markup_to_markdown.rb: ditto.
* lib/rdoc/rd/block_parser.rb: Improved footnote display. Worked
around bug in footnote conversion to Markdown.
* test/rdoc/test_rdoc_rd_block_parser.rb: Test for above.
* lib/rdoc/rd/inline_parser.rb: Fixed bug with emphasis inside
verbatim.
* test/rdoc/test_rdoc_rd_inline_parser.rb: Test for above.
* test/rdoc/test_rdoc_parser_rd.rb: Use mu_pp, use shortcut methods.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38418 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test/rubygems/test_gem_installer.rb: Fixed ambiguous first argument
warning.
* test/rubygems/test_gem_rdoc.rb: RDoc generation depends on installed
version of RDoc.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38416 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
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.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38362 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* 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]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38348 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
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.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38338 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
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.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38311 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (codesign): check identifier at link time, not
configure time.
* lib/mkmf.rb (LINK_SO): sign extensions too. replace empty line with
default command.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38289 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
the file to read, to the internal encoding.
[Bug #4281][ruby-dev:43036]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38285 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
RubyGems 1.8.x
* test/rubygems/test_gem_package.rb: Test for above.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38281 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* 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.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38277 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
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.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38272 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/test/unit.rb (Test::Unit::Runner#_run_parallel): no need to
check all reports.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38264 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
retry skipped test. this fix makes 40% faster the whole test-all
with -j5 on Windows.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38257 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* 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]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38255 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
for signal propagation tests
* lib/rake/file_utils.rb: Prefer the built ruby.
* test/rake/test_rake_functional.rb: ditto
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38232 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
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
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38229 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
async_interrupt_timeing(:on_blocking) by default.
[Bug #7503] [ruby-core:50524]
* test/test_timeout.rb (#test_timeout_blocking): test for the above.
* test/test_timeout.rb (test_timeout_immediate): ditto
* test/test_timeout.rb (test_timeout_immediate2): ditto.
* NEWS: news for the above.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38216 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test/rdoc/test_rdoc_parser_changelog.rb: Test for above.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38208 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/mkmf.rb (MakeMakefile#macro_defined?): use clearly different
strings from conflict markers.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38199 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
extensions.
* test/rdoc/test_rdoc_ri_driver.rb: Test for above
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38169 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
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
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38117 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
@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.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38109 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/rdoc/markdown.rb (RDoc::Markdown): use \r instead of raw control
code.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38102 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
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.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38074 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
(Gem::Specification.validate_permissions): don't check executablity
of the source on Windows. they will be wrapped to .bat files when
installing. see [ruby-core:50388].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38064 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Patch by Marcus Stollsteimer [ruby-core:50303] [Bug #7465]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38033 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
of RubyGems. (not by rbinstall.rb).
* test/rubygems/test_gem_commands_setup_command.rb: Test for above.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38029 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/abbrev.rb (Abbrev#abbrev): Stop using a regexp that causes a
false warning. [Bug #7471]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38028 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* 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.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38027 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
for bundler.
* test/rubygems/test_gem_spec_fetcher.rb: Test for above.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38024 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Rake::Backtrace::SUPPRESSED_PATHS
* test/rake/test_rake_backtrace.rb: Skip tests when tmpdir is in the
suppressed pattern.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38023 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
user-friendly.
* test/rdoc/test_rdoc_ri_driver.rb: Test for above.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38021 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
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"'
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37989 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
RubyGems.
* test/test_tracer.rb: ditto. Improved failure message if the test
fails
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37988 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
outside rubygems or ruby tests as the files are not available (or
necessary).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37981 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
defined for asserts of warnings.
* test/rdoc: use verbose_capture_io on asserts of warnings.
they failed when tests was run with RUBYOPT=-W0.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37978 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/mkmf.rb (MakeMakefile#pkg_config): strip all white spaces for
mingw64+MSYS pkg-config which errouneously emits extra newlines.
[ruby-core:47998] [Bug #7163]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37820 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Based on a patch by Marcus Stollsteimer
[ruby-core:49585] [Bug #7405]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37811 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Based on a patch from Vincent Batts [ruby-core:49172] [Bug #7319]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37651 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/shellwords.rb (Shellwords#shellescape): Add back my original
real world example with some enhancement.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37577 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/shellwords.rb (Shellwords#shellescape): Undo part of the
previous rdoc change. This new example using a string-only
array was not in line with the description.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37576 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
previous Tempfile#inspect says it is a File, but actually
it is not a File.
t = Tempfile.new("foo") #=> #<File:/tmp/foo20121106-31970-1ffbum0>
t.is_a? File #=> false
now Tempfile#inspect returns like:
t = Tempfile.new("foo")
#=> #<Tempfile:/tmp/foo20121106-31970-1ffbum0>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37492 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
If HTML5 element methods are already defined, don't redefine them.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37468 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/cgi.rb, lib/cgi/*/rb: rename CGI#header to
CGI#http_header,
add and update HTML5 tag generater. [Bug #7110]
Patch provided by Marcus Stollsteimer, thank you !
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37466 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
compatible API to be available by both test/unit bundled in Ruby
and test-unit gem.
* lib/test/unit.rb (Test::Unit::AutoRunner): Move codes from testrb.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37455 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
of the output string.
* test/rexml/test_document.rb: Add a test for the above change.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37450 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
r37439:
* lib/rexml/xmldecl.rb (REXML::XMLDecl): Stop using REXML::Encoding
module because XMLDecl doesn't convert encoding. This causes
removing XML encoding name normalization (encoding.upcase).
Encoding name in XML declaration is what user specifies.
I think this is reasonable change.
* test/rexml/test_xml_declaration.rb: Add tests for the above change.
r37441:
* test/rexml/test_core.rb (Tester#test_ticket_88): Follow the
change that encoding name in XML declaration isn't normalized.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37446 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
option. Now different encoding between XML file's encoding and
XML declaration's encodiong is support.
[Feature #4872] (work in progress)
* lib/rexml/xmldecl.rb (REXML::XMLDecl#write): Always use XMLDecl's
encoding.
* test/rexml/test_document.rb: Update tests for the above change.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37440 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
module because XMLDecl doesn't convert encoding. This causes
removing XML encoding name normalization (encoding.upcase).
Encoding name in XML declaration is what user specifies.
I think this is reasonable change.
* test/rexml/test_xml_declaration.rb: Add tests for the above change.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37439 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/mkmf.rb (MakeMakefile#timestamp_file): use .-. instead of !, a
special character of NMAKE and BSD make. [Bug #7265]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37426 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/mkmf.rb (MakeMakefile#timestamp_file): use ! instead of %, a GNU
make special character.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37414 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
for UTF-16XX encoded XML that doesn't have encoding="UTF-16" in
XML declration.
* test/rexml/test_document.rb: Add tests for the above change.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37363 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
@line_break initialize code. It should be done only in #encoding=.
* lib/rexml/parsers/baseparser.rb: Don't set UTF-16 encoding to
source by encoding="UTF-16" in XML declaration because UTF-16XX
source encoding should be set in Source#initialize or
IOSource#intialize. They should handle BOM. Parser should not
consider about it.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37361 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
to support custom XML encoding.
[Feature #4872] (work in progress)
* test/rexml/test_document.rb: Add tests for the above change.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37355 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Hash as argument.
* test/rexml/test_document.rb: Add tests for the above change.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37353 b2dd03c8-39d4-4d8f-98ff-823fe69b080e