aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* * enum.c (enum_each_cons): Support for Enumerable#each_cons.sizemarcandre2012-11-062-1/+22
| | | | | | [Feature #6636] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37509 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * enum.c (enum_each_slice): Support for Enumerable#each_slice.sizemarcandre2012-11-062-1/+29
| | | | | | [Feature #6636] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37508 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * enum.c: Support for enumerators created by Enumerable with forwarding:marcandre2012-11-062-14/+36
| | | | | | | find_all, reject, ... [Feature #6636] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37507 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * vm_eval.c (rb_f_loop): Support for loop.sizemarcandre2012-11-062-1/+10
| | | | | | [Feature #6636] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37506 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * array.c (rb_ary_cycle): Support for Array#cycle.sizemarcandre2012-11-062-1/+23
| | | | | | [Feature #6636] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37505 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * array.c (rb_ary_repeated_combination): Support for repeated_combination.sizemarcandre2012-11-062-1/+17
| | | | | | [Feature #6636] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37504 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * array.c (rb_ary_repeated_permutation): Support for repeated_permutation.sizemarcandre2012-11-062-2/+20
| | | | | | [Feature #6636] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37503 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * array.c (rb_ary_combination): Support for Array#combination.sizemarcandre2012-11-062-2/+32
| | | | | | [Feature #6636] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37502 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * array.c (rb_ary_permutation): Support for Array#permutation.sizemarcandre2012-11-062-1/+37
| | | | | | [Feature #6636] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37501 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * array.c: Support for Enumerator#size in trivial cases:marcandre2012-11-062-12/+21
| | | | | | | | each, each_index, reverse_each, sort_by, collect, collect!, select, select!, keep_if, reject, reject!, delete_if [Feature #6636] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37500 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * enumerator.c: Support #size for enumerators created from enumeratorsmarcandre2012-11-062-2/+11
| | | | | | [Feature #6636] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37499 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * enumerator.c (obj_to_enum): Have #to_enum accept a blockmarcandre2012-11-062-2/+14
| | | | | | [Feature #6636] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37498 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * enumerator: New method #size; constructor accepts sizemarcandre2012-11-063-14/+74
| | | | | | | | | [Feature #6636] * include/ruby/intern.h: RETURN_SIZED_ENUMERATOR for support of sized enumerators git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37497 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2012-11-07svn2012-11-061-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37496 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * enumerator.c (enumerator_initialize): Warn when using deprecated formmarcandre2012-11-062-1/+5
| | | | | | [Feature #6636] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37495 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * object.c (rb_mod_const_get): Fix constant missing exception classtenderlove2012-11-063-1/+43
| | | | | | | | | and message to maintain backwards compatibility. Constant search should start at Object when constant starts with '::' * test/ruby/test_module.rb: test for fixes git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37494 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ChangeLog: add link to redmine and ruby-coreglass2012-11-061-0/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37493 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/tempfile.rb: fix confusing inspect.glass2012-11-062-0/+18
| | | | | | | | | | | | | | | 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
* * atomic.h: add #include <sys/atomic.h> for the workaround ofngoto2012-11-062-0/+7
| | | | | | | | header file name conflict of atomic.h with /usr/include/atomic.h on Solaris 10. [ruby-dev:46414] [Bug #7287] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37491 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/win32ole/test_win32ole.rb: follow other test files.usa2012-11-061-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37490 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/win32ole/test_win32ole.rb: now source encoding is UTF-8, sousa2012-11-062-1/+6
| | | | | | | binary strings in old scripts are dangerous. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37489 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * properties.nobu2012-11-060-0/+0
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37488 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/net/protocol.rb (Net::InternetMessageIO#each_crlf_line):naruse2012-11-063-1/+17
| | | | | | don't use /n in universal regexp. [ruby-dev:46394] [Bug #7278] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37487 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (rb_str_b): Add String#b, returning a copied stringnaruse2012-11-064-2/+45
| | | | | | whose encoding is ASCII-8BIT. [ruby-dev:45992] [Feature #6767] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37486 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ruby.c (load_file_internal): set default source encoding asnaruse2012-11-0624-6/+32
| | | | | | | | | UTF-8 instead of US-ASCII. [ruby-core:46021] [Feature #6679] * parse.y (parser_initialize): set default parser encoding as UTF-8 instead of US-ASCII. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37485 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_require.rbshirosaki2012-11-052-2/+9
| | | | | | | | (TestRequire#test_require_to_path_redefined_in_load_path, TestRequire#test_require_to_str_redefined_in_load_path): Suppress method redefined warning when test-all with RUBYOPT=-w. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37484 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * thread_pthread.c (rb_reserved_fd_p): fix typo in macro checkkosaki2012-11-052-1/+7
| | | | | | | | | that prevented the ifdef ever being true. [Bug #7281] [ruby-core:48940] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37483 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Fix compatibility of cached expanded load pathshirosaki2012-11-057-13/+276
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * file.c (rb_get_path_check_to_string): extract from rb_get_path_check(). We change the spec not to call to_path of String object. * file.c (rb_get_path_check_convert): extract from rb_get_path_check(). * file.c (rb_get_path_check): follow the above change. * file.c (rb_file_expand_path_fast): remove check_expand_path_args(). Instead we call it in load.c. * file.c (rb_find_file_ext_safe): use rb_get_expanded_load_path() to reduce expand cost. * file.c (rb_find_file_safe): ditto. * internal.h (rb_get_expanded_load_path): add a declaration. * internal.h (rb_get_path_check_to_string, rb_get_path_check_convert): add declarations. * load.c (rb_construct_expanded_load_path): fix for compatibility. Same checks in rb_get_path_check() are added. We don't replace $LOAD_PATH and ensure that String object of $LOAD_PATH are frozen. We don't freeze non String object and expand it every times. We add arguments for expanding load path partially and checking if load path have relative paths or non String objects. * load.c (load_path_getcwd): get current working directory for checking if it's changed when getting load path. * load.c (rb_get_expanded_load_path): fix for rebuilding cache properly. We check if current working directory is changed and rebuild expanded load path cache. We expand paths which start with ~ (User HOME) and non String objects every times for compatibility. We make this accessible from other source files. * load.c (rb_feature_provided): call rb_get_path() since we changed rb_file_expand_path_fast() not to call it. * load.c (Init_load): initialize vm->load_path_check_cache. * vm.c (rb_vm_mark): mark vm->load_path_check_cache for GC. * vm_core.h (rb_vm_struct): add vm->load_path_check_cache to store data to check load path cache validity. * test/ruby/test_require.rb (TestRequire): add tests for require compatibility related to cached expanded load path. [ruby-core:47970] [Bug #7158] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37482 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Cache the expanded load pathshirosaki2012-11-055-8/+54
| | | | | | | | | | | | | | | | | | | | | | * load.c (rb_get_expanded_load_path): cache the expanded load path. This saves 4KB of allocation and some stats for every element of the load path (so nearly a MB in my Rails app) on every require. * load.c (rb_construct_expanded_load_path): ensure that $LOAD_PATH entries are frozen strings. The user must mutate $LOAD_PATH itself rather than its individual entries. * vm_core.h (rb_vm_struct): add fields. * vm.c (rb_vm_mark): mark new fields. * ruby.c (process_options): modify $LOAD_PATH directly rather than its elements. Patch by Greg Price. [ruby-core:47970] [Bug #7158] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37481 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Index $LOADED_FEATURES so that require isn't so slowshirosaki2012-11-056-26/+182
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * load.c (rb_feature_p, rb_provide_feature): index $LOADED_FEATURES so that require isn't so slow. * load.c (rb_provide_feature, get_loaded_features_index): ensure that $LOADED_FEATURES entries are frozen strings. The user must mutate $LOADED_FEATURES itself rather than its individual entries. * load.c (reset_loaded_features_snapshot): add a new function to reset vm->loaded_features_snapshot. * load.c (get_loaded_features_index_raw): add a new function to get the loaded-features index. * load.c (features_index_add_single): add a new function to add to the loaded-features index a single feature. * load.c (features_index_add): add a new function to add to the loaded-features index all the required entries for `feature`. * vm_core.h (rb_vm_struct): add fields. * vm.c (rb_vm_mark): mark new fields. * include/ruby/intern.h (rb_hash_clear): declare function. * hash.c (rb_hash_clear): make function non-static. Patch by Greg Price. [ruby-core:47970] [Bug #7158] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37480 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2012-11-06svn2012-11-051-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37479 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Expose whether two arrays are sharedshirosaki2012-11-054-1/+27
| | | | | | | | | | | * array.c (rb_ary_shared_with_p): new function. Expose whether two arrays are shared (read-only, C only). * include/ruby/intern.h (rb_ary_shared_with_p): declare. Patch by Greg Price. [ruby-core:47970] [Bug #7158] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37478 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Clarify and explain loaded_feature_path and rb_feature_pshirosaki2012-11-052-12/+53
| | | | | | | | | | | | | | * load.c (loaded_feature_path): clarify and briefly comment function. These clarifications have no effect on the behavior of the function. * load.c (rb_feature_p): explain the search loop. Especially useful because the logic is complicated as described in the second paragraph. Patch by Greg Price. [ruby-core:47970] [Bug #7158] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37477 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/dl/win32/lib/Win32API.rb (Win32API#call): use 64bit pointer for x64shirosaki2012-11-052-1/+9
| | | | | | | | Windows. This would fix TestSecureRandom#test_s_random_bytes_without_openssl error. [ruby-core:47451] [Bug #6990] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37476 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * cygwin/GNUmakefile.in (uncommon.mk): link *.res.o.shirosaki2012-11-052-2/+10
| | | | | | | | EXTOBJES is defined in uncommon.mk. *.res.o setting should be below uncommon.mk. [ruby-core:48858] [Bug #7277] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37475 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * thread_pthread.c (native_thread_init, native_thread_destroy):kosaki2012-11-052-4/+8
| | | | | | | | | | | removed HAVE_PTHREAD_CONDATTR_INIT check because this silly #ifdef makes use-uninitialized-var issue and (2) native_cond_initialize() already have a right platform and caller don't need any additional care. [Bug #6825] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37474 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/cgi/core.rb: check if Tempfile is defined before use it.naruse2012-11-053-3/+42
| | | | | | * lib/cgi/core.rb: remove tempfiles only if tempfiles exist git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37473 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/uri/http.rb (URI::HTTP.build): Fix examplezzak2012-11-052-1/+7
| | | | | | | | Patch by Carina C. Zona [Fixes #209 Github] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37472 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Mon Nov 5 09:55:05 2012 Takeyuki FUJIOKA <xibbar@ruby-lang.org>xibbar2012-11-052-0/+27
| | | | | | * lib/cgi/core.rb: remove tempfile more early. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37471 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Mon Nov 5 09:50:28 2012 Takeyuki FUJIOKA <xibbar@ruby-lang.org>xibbar2012-11-051-0/+7
| | | | | | | * NEWS: add a news about html5 tagmaker and rename CGI#header to CGI#http_header git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37470 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2012-11-05svn2012-11-041-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37469 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Don't redefine methodsnaruse2012-11-041-0/+1
| | | | | | 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
* * ChangeLog: Remove garbages.kou2012-11-041-3/+0
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37467 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Sun Nov 4 20:41:28 2012 Takeyuki FUJIOKA <xibbar@ruby-lang.org>xibbar2012-11-048-54/+73
| | | | | | | | | * 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
* * lib/fileutils.rb (module FileUtils): repatch [ruby-core:39622]glass2012-11-042-10/+13
| | | | | | | [Feature #5337]. improve performance of FileUtils.compare_stream. [ruby-core:47545] [Feature #7028] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37465 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * array.c (recursive_equal): fix to return true when self and otherglass2012-11-043-1/+25
| | | | | | | | | are resized to same size and the current index become out of range. * test/ruby/test_array.rb: add a test for the above. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37464 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* dir.c: FNM_EXTGLOBnobu2012-11-045-4/+48
| | | | | | | | * dir.c (file_s_fnmatch): match with expanding braces if FNM_EXTGLOB is set. [ruby-core:40037] [Feature #5422] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37463 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2012-11-04svn2012-11-031-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37462 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ChangeLog: fix ML link for r37444 and r37447.nagachika2012-11-031-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37461 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * complex.c: modified doc.tadf2012-11-033-93/+103
| | | | | | | * rational.c: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37460 b2dd03c8-39d4-4d8f-98ff-823fe69b080e