summaryrefslogtreecommitdiff
path: root/ChangeLog
AgeCommit message (Collapse)Author
2016-02-28NoMethodError#private_call?nobu
* error.c (nometh_err_initialize): add private_call? parameter. * error.c (nometh_err_private_call_p): add private_call? method, to tell if the exception raised in private form FCALL or VCALL. [Feature #12043] * vm_eval.c (make_no_method_exception): append private_call? argument. * vm_insnhelper.c (ci_missing_reason): copy FCALL flag. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53961 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-28Clarify set intersection and union documentationnobu
* array.c (rb_ary_and): clarify that set intersection returns the unique elements common to both arrays. * array.c (rb_ary_or): clarify that union preserves the order from the given arrays. - Most know what intersection means, but saying the operation excludes duplicates could be misleading ([1] & [1], duplicates excluded, might mean a result of []). - Instead, saying intersection returns the unique elements common to both arrays is more concise and less ambiguous. - The set union's documentation was incomplete in its describing preservation of order. Saying union preserves the order of the original array neglects the idea that the order of the elements in both arrays, as given, will be preserved. - Instead, saying set union preserves the order from the given arrays (and adding an example) fully demonstrates the idea. [Fix GH-1273] [ci skip] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53958 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-27* enc/unicode/case-folding.rb, casefold.h: Reducing size of TitleCaseduerst
table by eliminating duplicates. (with Kimihito Matsui) git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53957 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-26numeric.c: wrong type step should raise TypeErrornobu
* numeric.c (num_step_scan_args): comparison String with Numeric should raise TypeError. it is an invalid type, but not a mismatch the number of arguments. [ruby-core:62430] [Bug #9810] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53949 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-26doc: editor local variables [ci skip]nobu
* doc/extension.rdoc, doc/extension.ja.rdoc: add editor local variables, with commenting out by :enddoc: directives which are just ignored unless code object mode. [Bug #12111] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53948 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-26* doc/extension.ja.rdoc: removed rendering error caused by editor specifichsbt
configuration on http://docs.ruby-lang.org/en/trunk/extension_rdoc.html . [Bug #12111][ruby-core:73990] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53947 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-26* lib/xmlrpc.rb: Removed references to NQXML. It's obsoleted parser.hsbt
[fix GH-1245][ruby-core:59593][Feature #9371] * lib/xmlrpc/config.rb: ditto. * lib/xmlrpc/parser.rb: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53946 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-26* lib/tmpdir.rb: Unify to coding-style for method definition.hsbt
[fix GH-1252] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53945 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-26* README.md: update markdown syntax for anchor tag.hsbt
[fix GH-1265] Patch by @lukBarros git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53944 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-26* lib/irb.rb: avoid to needless truncation when using back_trace_limit option.hsbt
[fix GH-1205][ruby-core:72773][Bug #11969] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53943 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-25Reduce system calls by activating the `did_you_mean` gem.tenderlove
Activating the gem puts the gem on the load path, where simply requiring the file will search every gem that's installed until it can find a gem that contains the `did_you_mean` file. Calling RubyGems' `require` will search each installed gem until it can find one that contains the file it should require. This means that the more gems you have installed, the longer it can take to require that gem. To see this in action, lets compare the number of `stat` calls for a "bare require" vs the number of `stat` calls for a require that follows a gem activation by using these two programs: ``` [aaron@TC rubygems (master)]$ cat req_dym.rb begin require 'did_you_mean' rescue LoadError end [aaron@TC rubygems (master)]$ cat gem_dym.rb begin gem 'did_you_mean' require 'did_you_mean' rescue Gem::LoadError, LoadError end ``` The first program just requires the `did_you_mean` gem, where the second one activates the gem, then requires it. We can count the number of `stat` calls using `dtrace`: ``` [aaron@TC rubygems (master)]$ ruby -v ruby 2.3.0p0 (2015-12-25 revision 53290) [x86_64-darwin15] [aaron@TC rubygems (master)]$ sudo dtrace -q -n 'syscall::stat*:entry { printf("%s\n", copyinstr(arg0)); }' -c`rbenv which ruby`" --disable-did_you_mean req_dym.rb" | wc -l dtrace: error on enabled probe ID 3 (ID 826: syscall::stat64:entry): invalid user access in action #1 at DIF offset 24 dtrace: error on enabled probe ID 3 (ID 826: syscall::stat64:entry): invalid user access in action #1 at DIF offset 24 dtrace: error on enabled probe ID 3 (ID 826: syscall::stat64:entry): invalid user access in action #1 at DIF offset 24 dtrace: error on enabled probe ID 3 (ID 826: syscall::stat64:entry): invalid user access in action #1 at DIF offset 24 283 [aaron@TC rubygems (master)]$ sudo dtrace -q -n 'syscall::stat*:entry { printf("%s\n", copyinstr(arg0)); }' -c`rbenv which ruby`" --disable-did_you_mean gem_dym.rb" | wc -l dtrace: error on enabled probe ID 3 (ID 826: syscall::stat64:entry): invalid user access in action #1 at DIF offset 24 dtrace: error on enabled probe ID 3 (ID 826: syscall::stat64:entry): invalid user access in action #1 at DIF offset 24 dtrace: error on enabled probe ID 3 (ID 826: syscall::stat64:entry): invalid user access in action #1 at DIF offset 24 dtrace: error on enabled probe ID 3 (ID 826: syscall::stat64:entry): invalid user access in action #1 at DIF offset 24 13 ``` The "bare require" version does over 10x the number of stat calls compared to the "gem, then require" version. Of course the number for the first one depends on the number of gems you have installed that sort before the `did_you_mean` gem. Lets also look at trunk Ruby: ``` [aaron@TC rubygems (master)]$ ruby -v ruby 2.4.0dev (2016-02-25 trunk 53940) [x86_64-darwin15] [aaron@TC rubygems (master)]$ sudo dtrace -q -n 'syscall::stat*:entry { printf("%s\n", copyinstr(arg0)); }' -c`rbenv which ruby`" --disable-did_you_mean req_dym.rb" | wc -l dtrace: error on enabled probe ID 3 (ID 826: syscall::stat64:entry): invalid user access in action #1 at DIF offset 24 dtrace: error on enabled probe ID 3 (ID 826: syscall::stat64:entry): invalid user access in action #1 at DIF offset 24 dtrace: error on enabled probe ID 3 (ID 826: syscall::stat64:entry): invalid user access in action #1 at DIF offset 24 dtrace: error on enabled probe ID 3 (ID 826: syscall::stat64:entry): invalid user access in action #1 at DIF offset 24 2325 [aaron@TC rubygems (master)]$ sudo dtrace -q -n 'syscall::stat*:entry { printf("%s\n", copyinstr(arg0)); }' -c`rbenv which ruby`" --disable-did_you_mean gem_dym.rb" | wc -l dtrace: error on enabled probe ID 3 (ID 826: syscall::stat64:entry): invalid user access in action #1 at DIF offset 24 dtrace: error on enabled probe ID 3 (ID 826: syscall::stat64:entry): invalid user access in action #1 at DIF offset 24 dtrace: error on enabled probe ID 3 (ID 826: syscall::stat64:entry): invalid user access in action #1 at DIF offset 24 dtrace: error on enabled probe ID 3 (ID 826: syscall::stat64:entry): invalid user access in action #1 at DIF offset 24 685 ``` This change will reduce the number of `stat` calls on trunk Ruby too, but since this installation doesn't have the `did_you_mean` gem, RubyGems is still reading every gem spec file so that it can raise a `Gem::LoadError` exception with a nice error message. If we can modify RubyGems a little, it may be possible to drop the number of stat calls even on a Ruby installation that doesn't have the `did_you_mean` gem. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53941 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-25* enc/unicode/case-folding.rb: Adding possibility for debugging outputduerst
for TitleCase table in casefold.h. (with Kimihito Matsui) git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53930 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-24* include/ruby/oniguruma.h: Rearranging flag assignments and makingduerst
space for titlecase indices; adding additional macros to add or extract titlecase index; adding comments for better documentation. * enc/unicode.c: Moving some macros to include/ruby/oniguruma.h; activating use of titlecase indices. (with Kimihito Matsui) git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53915 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-24* random.c (limited_rand): Add a specialized path for the limit fits in 32 bit.akr
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53914 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-23* enc/unicode/case-folding.rb, casefold.h: Outputting actual titlecaseduerst
data (new table, with indices from other tables). * enc/unicode.c: Ignoring titlecase data indices for the moment. (with Kimihito Matsui) git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53906 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-23* enc/unicode/case-folding.rb, casefold.h: Reading casing data fromduerst
SpecialCasing.txt. (with Kimihito Matsui) git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53904 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-22fix a typo [ci skip]kazu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53892 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-22* enc/unicode/case-folding.rb, casefold.h: Adding flag for title-case,duerst
not yet operational. (with Kimihito Matsui) git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53891 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-22* enc/unicode/case-folding.rb, casefold.h: Fixed bug that avoided inclusionduerst
of compatibility characters in uppper-/lower-case mappings. (with Kimihito Matsui) git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53890 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-21cgi/escape: Optimize CGI.unescapenobu
* cgi/escape/escape.c: Optimize CGI.unescape performance by C ext for ASCII-compatible encodings. [Fix GH-1250] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53885 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-21cgi/escape: Optimize CGI.unescapeHTMLnobu
* cgi/escape/escape.c: Optimize CGI.unescapeHTML performance by C ext for ASCII-compatible encodings. [Fix GH-1242] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53884 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-20doc/extension.rdoc: update paths for defs/ directorynormal
These files were moved in r19844 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53880 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-20Fix Module#module_eval rdoc [ci skip]nobu
* vm_eval.c (rb_mod_module_eval): [DOC] Fix documentation signature for Module#module_eval. [Fix GH-1258] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53879 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-20Update README.mdnobu
* README.md: a few grammatical changes to the main Ruby README.md. [Fix GH-1259] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53878 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-20dir.c: paths as UTF-8nobu
* dir.c (push_pattern, push_glob): deal with read paths as UTF-8 to stat later, on Windows as well as OS X. [ruby-core:73868] [Bug #12081] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53877 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-19object.c: fix error messagenobu
* object.c (rb_mod_const_get): make error message at uninterned string consistent with symbols. [ruby-dev:49498] [Bug #12089] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53875 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-19find.rb: raise with the namenobu
* lib/find.rb (Find#find): raise with the given path name if it does not exist. [ruby-dev:49497] [Bug #12087] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53874 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-19* enc/unicode.c: Activated use of case mapping data in CaseUnfold_11 array.duerst
(with Kimihito Matsui) git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53870 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-19extmk.rb: cygwin casenobu
* ext/extmk.rb: add cygwin case, nothing excluded. [ruby-core:73806] [Bug#12071] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53868 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-18fix output in EXAMPLES [ci skip]kazu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53867 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-18string.c: Symbol#matchnobu
* string.c (sym_match_m): delegate to String#match but not String#=~. [ruby-core:72864] [Bug #11991] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53866 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-18* remove trailing spaces.svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53864 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-18* re.c: Add MatchData#named_capturessorah
[Feature #11999] [ruby-core:72897] * test/ruby/test_regexp.rb(test_match_data_named_captures): Test for above. * NEWS: News about MatchData#named_captures. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53863 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-17ChangeLog: remove duplicate entry [ci skip]nobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53859 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-17fix typos [ci skip]kazu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53858 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-17id.def: $~ and $_nobu
* defs/id.def (predefined): add idLASTLINE and idBACKREF for $~ and $_ respectively. * parse.y: use idLASTLINE and idBACKREF instead of rb_intern. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53856 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-17string.c: fix rb_str_initnobu
* string.c (rb_str_init): fix segfault and memory leak, consider wide char encoding terminator. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53855 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-17* string.c (rb_str_init): introduce String.new(capacity: size)naruse
[Feature #12024] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53850 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-16fix indent [ci skip]kazu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53845 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-16ChangeLog should be us-ascii [ci skip]kazu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53844 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-16* enc/unicode/case-folding.rb, casefold.h: Used only first elementduerst
(rather than all) of target in CaseUnfold_11 array. (with Kimihito Matsui) git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53843 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-16numeric.c: fix segfaultnobu
* numeric.c (compare_with_zero): fix variable name, rb_cmperr requires VALUEs but not an ID. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53842 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-16dir.c: Dir.empty?nobu
* dir.c (rb_dir_s_empty_p): add Dir.empty? method, which tells the argument is the name of an empty directory. [Feature #10121] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53841 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-16rbinstall.rb: drive letter in without_destdirnobu
* tool/rbinstall.rb (without_destdir): just strip a drive letter which is prepended by with_destdir. pointed out by @DavidEGrayson. https://github.com/ruby/ruby/commit/0e5f9ae#commitcomment-16101763 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53840 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-15* insns.def (opt_plus): simply use LONG2NUM() instead of wronglynaruse
complex overflow case. * insns.def (opt_sub): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53839 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-15rbinstall.rb: drive letter in without_destdirnobu
* tool/rbinstall.rb (without_destdir): compare with the destdir after stripping a drive letter, on dosish platforms. pointed out by @DavidEGrayson. https://github.com/ruby/ruby/commit/d0cf23b#commitcomment-16100407 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53838 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-15parse.y: kwarg to method with same name variablenobu
* parse.y (parse_ident): allow keyword arguments just after a method where the same name local variable is defined. [ruby-core:73816] [Bug#12073] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53835 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-15* enc/unicode/case-folding.rb: Added debugging optionduerst
(with Kimihito Matsui) git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53833 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-14mkmf.rb: Do not modify caller stringsnobu
* lib/mkmf.rb (with_{cpp,c,ld}flags): copy caller strings not to be modified, in append_{cpp,c,ld}flags respectively. [Fix GH-1246] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53821 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-14not overwrite causenobu
* eval.c (setup_exception): set the cause only if it is explicitly given or not set yet. [Bug #12068] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53819 b2dd03c8-39d4-4d8f-98ff-823fe69b080e