summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2011-08-26* ext/pathname/lib/pathname.rb: Fix typos and grammar mistakes. Patchdrbrain
by Luke Gruber. [#5203] * ext/pty/lib/expect.rb: ditto * lib/mathn.rb: ditto * lib/net/http.rb: ditto * lib/open-uri.rb: ditto * lib/ostruct.rb: ditto * lib/tempfile.rb: ditto * lib/thread.rb: ditto * lib/weakref.rb: ditto * sample/webrick/httpproxy.rb: ditto git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33086 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-08-26ugh. sorryryan
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33083 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-08-26Added gem activation for minitest/autoload to help users keep currentryan
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33082 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-08-26* iseq.c (iseq_data_to_ary): fix type of variableko1
(long -> unsigned long) to suppress a warning. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33081 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-08-26* 2011-08-27svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33080 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-08-26* vm_core.h: add a decl. of rb_autoloading_value().ko1
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33079 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-08-26* variable.c: Make autoload thread-safe. See #921.nahi
What's the problem? autoload is thread unsafe. When we define a constant to be autoloaded, we expect the constant construction is invariant. But current autoload implementation allows other threads to access the constant while the first thread is loading a file. What's happening inside? The current implementation uses Qundef as a marker of autoload in Constant table. Once the first thread find Qundef as a value at constant lookup, it starts loading a defined feature. Generally a loaded file overrides the Qundef in Constant table by module/class declaration at very beginning lines of the file, so other threads can see the new Module/Class object before feature loading is finished. It breaks invariant construction. How to solve? To ensure invariant constant construction, we need to override Qundef with defined Object after the feature loading. For keeping Qundef in Constant table, I expanded autoload_data struct in Module to have a slot for keeping the defined object while feature loading. And changed Module's constant lookup/update logic a little so that the slot is only visible from the thread which invokes feature loading. (== the first thread which accessed the autoload constant) Evaluation? All test passes (bootstrap test, test-all and RubySpec) and added 8 tests for threading behavior. Extra logics are executed only when Qundef is found, so no perf drop should happen except autoloading. * variable.c (rb_autoload): Prepare new autoload_data struct. * variable.c (rb_autoload_load): Load feature and update Constant table after feature loading is finished. * variable.c (rb_const_get_0): When the fetched constant is under autoloading, it returns the object only for the thread which starts autoloading. * variable.c (rb_const_defined_0): Ditto. * variable.c (rb_const_set): When the specified constant is under autoloading, it sets the object only for the thread which starts autoloading. Otherwise, simply overrides Qundef with constant override warning. * vm_insnhelper.c (vm_get_ev_const): Apply same change as rb_const_get_0 in variable.c. * test/ruby/test_autoload.rb: Added tests for threading behavior. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33078 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-08-26* lib/rubygems: Update to RubyGems 1.8.10. Fixes security issue indrbrain
creating ruby-format gemspecs. Fixes Gem.dir not being at the front of Gem.path to fix uninstall and cleanup commands. Fixes gem uninstall stopping on the first missing gem. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33074 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-08-25* time.c (strftimev): Make Time#to_s default to US-ASCII encoding buttenderlove
respect Encoding.default_internal. [ruby-core:39092] * test/ruby/test_time.rb (class TestTime): Corresponding test. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33073 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-08-25* README*: remove trailing spaces.kazu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33072 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-08-25* 2011-08-26svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33071 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-08-25update doc.akr
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33070 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-08-25properties.nobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33069 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-08-25* ext/openssl/lib/openssl/bn.rb: Hide copyright info from RDoc.drbrain
* ext/openssl/lib/openssl/digest.rb: ditto * ext/openssl/lib/openssl/x509.rb: ditto * ext/openssl/lib/openssl/cipher.rb: ditto git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33066 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-08-25* ext/openssl/ossl_digest.c: Document OpenSSL::Digest::digest and adddrbrain
an example to OpenSSL::Digest. Patch by Sylvain Daubert. [Ruby 1.9 - Bug #5166] * ext/openssl/lib/openssl/digest.rb (module OpenSSL): ditto git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33065 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-08-24* vm.c (vm_make_env_each): work around to solve Bug #2729.ko1
fixes: Bug #2729 a patch from Kazuki Tsujimoto <kazuki@callcc.net> This problem is caused by changing dfp (dynamic env pointer) from saved dfp. Saved dfp is pointed env in VM stack. However, the dfp can be moved because VM copies env from VM stack to the heap. At this copying, dfp was also changed. To solve this problem, I'll try to change throw mechanism (not save target dfp, but save target cfp). * bootstraptest/test_flow.rb: add a test for above. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33064 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-08-24* numeric.c (int_round): Fix Integer#round [ruby-core:39096]marcandre
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33061 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-08-24* numeric.c: Rdoc fixmarcandre
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33060 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-08-24* vm_insnhelper.h, vm_insnhelper.c, vm.c, vm_method.c, insns.def:ko1
Manage a redefinition of special methods for each classes. A patch from Joel Gouly <joel.gouly@gmail.com>. Thanks! git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33059 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-08-24* ext/psych/lib/psych.rb: Fixing psych version number.tenderlove
* ext/psych/psych.gemspec: updating the gemspec. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33057 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-08-24* ext/psych/lib/psych/nodes/node.rb: default `to_yaml` encoding to betenderlove
UTF-8. * test/psych/test_encoding.rb: test yaml dump encoding. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33052 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-08-24* test/fileutils/test_fileutils.rb (test_chmod_symbol_mode): Solarisngoto
seems to behave the same as FreeBSD. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33051 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-08-24* 2011-08-25svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33050 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-08-24* test/ruby/test_rubyoptions.rb (test_script_from_stdin): slave ptyngoto
should be manipulated because master pty may not be a tty on some environment (e.g. Solaris). [Bug:#5222] [ruby-dev:44420] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33049 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-08-24Add a missing parenthesis in the example.naruse
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33047 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-08-24* iseq.h, iseq.c, compile.c: Change the line number data structureko1
to solve an issue reported at [ruby-dev:44413] [Ruby 1.9 - Bug #5217]. Before this fix, each instruction has an information including line number (iseq::iseq_insn_info_table). Instead of this data structure, recording only line number changing places (iseq::iseq_line_info_table). The order of entries in iseq_line_info_table is ascending order of iseq_line_info_table_entry::position. You can get a line number by an iseq and a program counter with this data structure. This fix reduces memory consumption of iseq (bytecode). On my measurement, a rails application consumes 21.8MB for iseq with this fix on the 32bit CPU. Without this fix, it consumes 24.7MB for iseq [ruby-dev:44415]. * proc.c: ditto. * vm_insnhelper.c: ditto. * vm_method.c: ditto. * vm.c (rb_vm_get_sourceline): change to use rb_iseq_line_no(). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33046 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-08-24* insns.def (defined): fix to checking class variable.ko1
A patch by Magnus Holm <judofyr@gmail.com>. Thanks! * test/ruby/test_variable.rb: add a test for above. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33045 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-08-23* lib/rdoc: Update to RDoc 3.9.3. Fixes RDoc with `ruby -Ku`. Allowsdrbrain
HTTPS image paths to be turned into <img> tags. Prevents special markup inside <tt> from being processed. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33043 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-08-23* lib/rubygems: Update to RubyGems 1.8.9. Fixes uninstalling multipledrbrain
gems and gem cleanup. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33040 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-08-23fixed tests broken by new minitest mixinryan
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33039 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-08-23Imported minitest 2.5.0 (r6557)ryan
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33036 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-08-23* 2011-08-24svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33031 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-08-23* thread.c (update_coverage): skip coverage count up if the currentmame
line is out of the way. rb_sourceline() is unreliable when source code is big. [ruby-dev:44413] * test/coverage/test_coverage.rb: add a test for above. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33030 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-08-23* load.c (rb_f_require): Improve documentation of Kernel#require.drbrain
[Ruby 1.9 - Bug #5210] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33027 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-08-23* 2011-08-23svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33024 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-08-23* ext/zlib/zlib.c (gzfile_read_header): Ensure that each section ofnahi
gzip header is readable to avoid SEGV. * test/zlib/test_zlib.rb (test_corrupted_header): Test it. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33023 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-08-22* 2011-08-22svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33022 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-08-22* sprintf.c (rb_str_format): add RB_GC_GUARD to prevent temporarynagachika
strings from GC. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33021 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-08-21* iseq.c (iseq_s_disasm): remove variable which is no longer usedktsj
since r33013. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33019 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-08-21* 2011-08-21svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33018 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-08-21* configure.in: use LD_LIBRARY_PATH_64 on 64-bit Solaris.ngoto
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33017 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-08-20* iseq.c (iseq_s_disasm): fix a bug that may cause SEGV.ktsj
* test/ruby/test_method.rb (test_body): add a test for the above change. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33013 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-08-20* 2011-08-20svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33012 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-08-20* ext/stringio/stringio.c (strio_read): return new string if nilnobu
is explicitly given as a buffer ([Bug #5207]), otherwise set the encoding. also removed dead code. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33010 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-08-19* process.c (proc_spawn_v, proc_spawn): should not wait thenobu
spawned process. * process.c (proc_spawn_v): fix missing argument, and try with /bin/sh only if failed with ENOEXEC. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33009 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-08-19* lib/net/imap.rb (idle): raises a Net::IMAP::Error when theshugo
connection is closed. based on the patch by Hugo Barauna. [Bug #5190] [ruby-core:38930] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33007 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-08-19* configure.in: defines _DARWIN_UNLIMITED_SELECT if the target_osmrkn
is darwin. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33006 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-08-19* thread.c: add a description for the behavior of select(2) onmrkn
Mac OS X 10.7 (Lion). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33005 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-08-19* 2011-08-19svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33002 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-08-19* lib/net/imap.rb (msg_att): accepts extra space before ')'.shugo
based on the patch by art lussos. [Bug #5163] [ruby-core:38820] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33001 b2dd03c8-39d4-4d8f-98ff-823fe69b080e