summaryrefslogtreecommitdiff
path: root/test
AgeCommit message (Collapse)Author
2013-02-22merge revision(s) 39384:usa
* lib/rexml/document.rb (REXML::Document.entity_expansion_text_limit): new attribute to read/write entity expansion text limit. the default limit is 10Kb. * lib/rexml/text.rb (REXML::Text.unnormalize): check above attribute. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@39385 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-22[Backport #7851]usa
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@39380 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-22merge revision(s) 34982: [Backport #5218]usa
* eval_jump.c (rb_exec_end_proc): remember the latest exit status. [ruby-core:43173][Bug #5218] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@39378 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-13* ext/json: Import JSON 1.5.5.usa
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@39218 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-06merge miss of r39093.usa
I don't understand why svn merge didn't merge any files and reported no errors. terrible... git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@39113 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-06merge revision(s) 35474,35479,38939,38943,38963,38991,38994: [Backport #7786]usa
* ext/socket/raddrinfo.c (init_unix_addrinfo): support the longest path in sockaddr_un. (inspect_sockaddr): ditto. (addrinfo_mdump): ditto. (addrinfo_mload): ditto. (rsock_unixpath_str): new function. (rsock_unixpath): removed. (rsock_unixaddr): use rsock_unixpath_str. * ext/socket/socket.c (sock_s_pack_sockaddr_un): support the longest path in sockaddr_un. (sock_s_unpack_sockaddr_un): ditto. (sock_s_gethostbyaddr): unused variable removed. * ext/socket/unixsocket.c (rsock_init_unixsock): support the longest path in sockaddr_un. * ext/socket/rubysocket.h (rsock_unixpath_str): declared. (rsock_unixpath): removed. * test/socket/test_unix.rb: comment out test_nul because abstract unix sockets may contain NULs. * ext/socket/socket.c (sock_s_pack_sockaddr_un): support the longest path in sockaddr_un, really. reported by nagachika. http://d.hatena.ne.jp/nagachika/20120426/ruby_trunk_changes_35474_35476 * 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. * ext/socket/raddrinfo (rsock_unix_sockaddr_len): renamed from rsock_unixpath_len, because it returns not the length of the path, but the length of a socket address for the path. * ext/socket/socket.c (sock_s_pack_sockaddr_un): calculate the correct address length of an abstract socket. * test/socket/test_unix.rb: related test. * ext/socket/unixsocket.c (rsock_init_unixsock): use rb_inspect() because rb_sys_fail_str() fails if its argument contains NUL. * test/socket/test_unix.rb: related test. * ext/socket/raddrinfo.c (rsock_unix_sockaddr_len): return sizeof(sa_familiy_t) if path is empty. see "Autobind Feature" in unix(7) for details. * ext/socket/lib/socket.rb (unix_socket_abstract_name?): treat an empty path as an abstract name. * test/socket/test_unix.rb: related test. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@39096 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-06merge revision(s) 36905: [Backport #6977]usa
* dir.c (glob_make_pattern): names under recursive need to be single basenames to match for each name. [ruby-core:47418] [Bug #6977] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@39090 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-15* test/net/protocol/test_protocol.rb: the backported test assumed that theusa
source encoding is UTF-8 (because it's 2.0.0 spec). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@38833 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-15merge revision(s) 38010: [Backport #7452]usa
* 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. * test/rdoc/test_rdoc_servlet.rb: Tets for above git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@38831 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-15merge revision(s) 37487,37563: [Backport #7278]usa
* lib/net/protocol.rb (Net::InternetMessageIO#each_crlf_line): don't use /n in universal regexp. [ruby-dev:46394] [Bug #7278] * lib/net/protocol.rb (Net::InternetMessageIO#each_crlf_line): treat \r as newline as mame pointed. [ruby-dev:46425] [Bug #7278] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@38830 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-15merge revision(s) 38801,38809,38810: [Backport #7404]usa
* 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. * ext/bigdecimal/bigdecimal.c: use `RB_TYPE_P(x, t)` instead of `TYPE(x) == t`. * ext/bigdecimal/bigdecimal.c (BigDecimal_to_s): use CRuby style. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@38829 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-11merge revision(s) 38739: [Backport #7671]usa
* 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] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@38781 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-21merge revision(s) 37862:usa
* test/ruby/test_argf.rb (TestArgf#test_chars): since marshal data is binary, shouldn't pass via text mode. use base64 encoded data. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@38516 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-20merge revision(s) 38364,38366: [Backport #7557]usa
* 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 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@38507 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-20merge revision(s) 38202,38238,38324,38326: [Backport #7527]usa
* 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. * 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. * 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 shoud 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. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@38506 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-20merge revision(s) 37572,37622,37766,37773: [Backport #7527]usa
* string.c (rb_str_crypt): crypt(3) may return NULL. Latest glibc (2.16?) crypt(3) actually returns NULL. [Bug #7312] * test/ruby/test_m17n_comb.rb (test_str_crypt): Use RbConfig to get libc's directory. Patched by Vit Ondruch [ruby-core:49763] [Bug #7312] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@38503 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-20merge revision(s) 38211: [Backport #7516]usa
* 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 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@38502 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-19merge revision(s) 37851: [Backport #7438]usa
* io.c (argf_each_codepoint): add missing ARGF#codepoints [Bug #7438] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@38472 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-19merge revision(s) 38039: [Backport #7408]usa
* parse.y (parser_yylex): fix false usage of local variable, it cannot appear in fname state [ruby-core:49659] [Bug #7408] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@38470 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-19merge revision(s) 36593: [Backport #7407]usa
* gc.c: return true or false. Patch by Dirkjan Bussink. [Bug #6821] * test/ruby/test_gc.rb: add test-case for this bug. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@38469 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-19merge revision(s) 38357,38363: [Backport #7325]usa
* marshal.c (r_entry0): don't taint classes and modules because Marshal.load just return the dumped classes and modules. [Bug #7325] [ruby-core:49198] * test/ruby/test_marshal.rb: related test. Marshal.load just returns the dumped classes and modules. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@38468 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-13reverted r38318.usa
rubyspec reports that there is incompatibility. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@38359 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-11merge revision(s) 37692,37700,37706: [Backport #7381]usa
* win32/file.c (replace_to_long_name): skip automatic path expansion when wildcard character is used. [ruby-core:49451] [Bug #7374] * test/ruby/test_file_exhaustive.rb: add a test for above. * win32/file.c (replace_to_long_name): skip expansion for all wildcard characters. [ruby-core:49451] [Bug #7374] * test/ruby/test_file_exhaustive.rb: add more assertions to test. * win32/file.c (replace_to_long_name): correct logic around wildcard characters detection and ensure wide-chars are used as pattern. [ruby-core:49451] [Bug #7374] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@38321 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-11merge revision(s) 38235: [Backport #7255]usa
* parse.y (parser_here_document): flush string content between new line and :string_embexpr. [ruby-core:48703] [Bug #7255] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@38319 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-11merge revision(s) 37594: [Backport #7046]usa
* lib/erb.rb (ERB#run, ERB#result): eval under isolated bindings for safe concurrent use. [ruby-core:47638] [Bug #7046] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@38318 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-11merge revision(s) 38292: [Backport #6899]usa
* 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. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@38317 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-15merge revision(s) 35080: [Backport #7353]usa
* gc.c (free_method_entry_i): method entry may be in unlinked_method_entry_list. [ruby-core:43383][Bug #6171] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@37660 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-15merge revision(s) 36491,36877: [Backport #7320]usa
Use 0 for webrick's port and get the actual port. [Bug #6766] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@37659 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-09merge revision(s) 36332:usa
* test/csv/test_features.rb: add require for Tempfile. * test/csv/test_serialization.rb: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@37586 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-09merge revision(s) 35591: [Backport #7317]usa
test: why believe source directories are writable always? git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@37578 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-09merge revision(s) 36246:usa
* test/win32ole/test_win32ole.rb (test_s_codepage_changed): FileSystemObject only supports ANSI or UTF-16LE encoding. Patch by bosko (Bosko Ivanisevic) [ruby-trunk - Bug #6650] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@37575 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-09merge revision(s) 37567: [Backport #7315]usa
* bignum.c (bigmul0): enable big_mul_toom3. [ruby-core:48552] [Bug #7242] * bignum.c (bigmul1_toom3): fix incorrect calculation. the patch is made by Heesob Park. [ruby-core:48552] [Bug #7242] * bignum.c (bigmul0): disable big_mul_toom3 temporalily. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@37573 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-09merge revision(s) 37565: [Backport #7315]usa
* bignum.c (bigmul0): disable big_mul_toom3_temporalily. [ruby-core:48552] [Bug #7242] * test/ruby/test_bignum.rb (test_mul_large_numbers): add a test for bigmul1_toom3 suggested in [Bug #7242]. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@37570 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-08* file.c (append_fspath): filesystem encoding is prior to the encodingusa
of argument. * file.c (rb_file_expand_path_internal, EXPAND_PATH_BUFFER): ignore the encoding of the given path name, use filesystem encoding always instead. [ruby-dev:39393] [Bug #2154] * test/ruby/test_file_exhaustive.rb: removed 2.0 spec tests. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@37562 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-08merge revision(s) 36520:usa
test_dir_m17n.rb: composite character * test/ruby/test_dir_m17n.rb (test_filename_utf8_raw_windows_1252_name): get rid of composite character for troublesome Mac OS X file system. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@37560 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-08merge revision(s) 36516usa
* test/ruby/test_dir_m17n.rb: remove a garbage. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@37559 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-08merge revision(s) 36515,36521:usa
* test/ruby/test_dir_m17n.rb: sorry, typo. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@37557 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-08merge revision(s) 36641: [Backport #7295]usa
* test/win32ole/test_win32ole_variant.rb: setting WIN32OLE.locale to pass some assertion. Thanks to Hiroshi Shirosaki. [ruby-core:46873][Bug #6814] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@37556 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-08merge revision(s) 36306: [Backport #7296]usa
* test/win32ole/test_win32ole.rb (test_s_codepage_changed): FileSystemObject only supports ANSI or UTF-16LE encoding. Patch by h.shirosaki (Hiroshi Shirosaki) [ruby-trunk - Bug #6650] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@37555 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-08merge revision(s) 36509,36514: [Backport #7294]usa
* test/ruby/test_dir_m17n.rb (create_and_check_raw_file_name): add new helper method to ease encoding testing. Patch by Oleg Sukhodolsky. [ruby-core:46589][Bug #6765] * test/ruby/test_dir_m17n.rb (test_filename_extutf8): use filesystem encoding when reading entries and comparing. * test/ruby/test_dir_m17n.rb (test_filename_utf8_raw_name): removed. * test/ruby/test_dir_m17n.rb (test_filename_utf8_raw_jp_name): split test. * test/ruby/test_dir_m17n.rb: refactoring. RE should be in the left side of the =~ operator, and compare the result with nil is meaningless. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@37554 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-08merge revision(s) 37270: [Backport #7185]usa
* vm.c (rb_vm_jump_tag_but_local_jump): pass through thrown objects. [ruby-dev:46234] [Bug #7185] * vm_eval.c (rb_eval_cmd): if state is non-zero, val should be nil and rb_vm_jump_tag_but_local_jump() just jump tag. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@37551 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-08merge revision(s) 37406: [Backport #7176]usa
* ext/bigdecimal/bigdecimal.c (BigDecimal_add), test/bigdecimal/test_bigdecimal.rb: need to specify precision for converting Rational and Float. [ruby-core:48045] [Bug #7176] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@37550 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-26merge revision(s) 32826,34732: [Backport #6681]usa
* file.c (rb_enc_path_next, rb_enc_path_skip_prefix) (rb_enc_path_last_separator, rb_enc_path_end) (ruby_enc_find_basename, ruby_enc_find_extname): encoding-aware path handling functions. * file.c (rb_home_dir, file_expand_path, rb_realpath_internal) (rb_file_s_basename, rb_file_dirname, rb_file_s_extname) (rb_file_join): should respect the encodings of arguments than file system encoding. [ruby-dev:45145] [Bug #5919] * dir.c (check_dirname, ruby_glob0): ditto. * ext/pathname/pathname.c (path_sub_ext): ditto. * util.c, include/ruby/util.h (ruby_add_suffix): remove the function. [Bug #5153] [ruby-core:38736] * io.c (argf_next_argv): remove the call of above function. * ext/-test-/add_suffix, test/-ext-/test_add_suffix.rb: remove the test extension module because this is only for testsing ruby_add_suffix(). * LEGAL: remove the mention about a part of util.c, because now we removed the part. * io.c (argf_next_argv): now the new filename is not guranteed to use, so should check the return value of rename(2). * test/ruby/test_argf.rb (TestArgf#test_inplace_rename_impossible): now we expect same result with other platforms on no_safe_rename platforms (=Windows). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@37330 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-25merge revision(s) 37032:usa
test_gem_installer.rb: restore ARGV * test/rubygems/test_gem_installer.rb (TestGemInstaller#test_install_creates_binstub_that_dont_trust_encoding): restore ARGV properly, non-ascii strings in different encodings are not equal. [ruby-core:45975] [Bug #6673] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@37324 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-25merge revision(s) 36636:usa
* test/etc/test_etc.rb (TestEtc#test_getpwuid): `s' is never set to nil. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@37323 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-25merge revision(s) ↵usa
34849,34853,34854,34855,34859,34862,35384,35385,36811,36812,36850,36907,36908: [Backport #7174] * Makefile.in (PLATFORM_DIR): add a variable for `win32` directory. * Makefile.in (clean-platform): add new target. It cleans `win32` directory. * common.mk (clean): add a dependency for `win32` directory. * common.mk (distclean): ditto. * common.mk (distclean-platform): add new target. It cleans `win32` directory. * common.mk ($(PLATFORM_D)): add new target to make `win32` directory. * common.mk (win32/win32.$(OBJEXT)): move win32.o into `win32` directory. * common.mk (win32/file.$(OBJEXT)): add new target for win32/file.c. * configure.in: move win32.o into `win32` directory and add win32/file.o to MISSING. * file.c (file_load_ok, rb_file_load_ok): replace static file_load_ok() with public rb_file_load_ok(). It's to link Windows implementation in win32/file.c. * file.c (rb_find_file_ext_safe): ditto. * file.c (rb_find_file_safe): ditto. * win32/file.c (rb_file_load_ok): new file. Add Windows specific optimized implementation of rb_file_load_ok(). We created a separated file to avoid too many #ifdef macro which is unreadable. * win32/Makefile.sub (PLATFORM_DIR): add a variable for `win32` directory. * win32/Makefile.sub (MISSING): move win32.obj into `win32` directory and add win32/file.obj to MISSING. * win32/Makefile.sub (MAKEDIRS): replace MINIRUBY with BASERUBY. It's because miniruby doesn't exist when making `win32` directory. * win32/Makefile.sub (clean-platform): add new target to clean `win32` directory. * win32/Makefile.sub ({$(srcdir)}.c{}.obj): make it not match win32/file.c to build properly. * win32/Makefile.sub (win32/win32.$(OBJEXT)): move win32.obj into `win32` directory. Patch created with Luis Lavena. [ruby-core:42480] [Feature #5999] * win32/Makefile.sub (MAKEDIRS): use mkdir of cmd.exe instead of ruby. [Bug #6103] [ruby-core:43012] * win32/README.win32: added a notice about command extension of cmd.exe. * win32/makedirs.bat: new command to make intermediate directories, and not to report any errors if the directory already exists. * win32/Makefile.sub (MAKEDIRS): enable command extensions. * win32/file.c (INVALID_FILE_ATTRIBUTES): define for old SDK. * configure.in (mingw): add shlwapi to the list of dependency libs for Windows. * win32/Makefile.sub (EXTSOLIBS): ditto. * internal.h: declare internal functions rb_w32_init_file, rb_file_expand_path_internal and rb_file_expand_path_fast. * file.c (Init_File): invoke Windows initialization rb_w32_init_file * win32/file.c (rb_file_load_path_internal): new function. Windows-specific implementation that replaces file_expand_path. [Bug #6836][ruby-core:46996] * win32/file.c (rb_w32_init_file): new function. Initialize codepage cache for faster conversion encodings lookup. * file.c (file_expand_path): rename to rb_file_expand_path_internal. Conditionally exclude from Windows. * file.c (rb_file_expand_path_fast): new function. delegates to rb_file_expand_path_internal without performing a hit to the filesystem. * file.c (file_expand_path_1): use rb_file_expand_path_internal without path expansion (used by require). * file.c (rb_find_file_ext_safe): ditto. * file.c (rb_find_file_safe): ditto. * load.c (rb_get_expanded_load_path): use rb_file_expand_path_fast. * load.c (rb_feature_provided): ditto. * file.c (rb_file_expand_path): use rb_file_expand_path_internal with path expansion. * file.c (rb_file_absolute_path): ditto. * test/ruby/test_file_exhaustive.rb: new tests to exercise rb_file_expand_path_internal implementation and compliance with existing behaviors. * test/ruby/test_file_exhaustive.rb: fix test introduced in r36811 for posix environments where HOME is not defined. [ruby-core:47322] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@37321 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-16merge revision(s) 36625: [Backport #6831]usa
test_etc.rb: remove implicit assumption * test/etc/test_etc.rb (TestEtc#test_getpwuid): remove implicit assumption, that getpwuid() would return the first entry in the order of getpw(), for shared UID. apparently it is not true on MacOS X 10.8. [ruby-core:46975][Bug #6831] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@37210 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-16merge revision(s) 36800: [Backport #6377]usa
* file.c (rb_find_file_ext_safe, rb_find_file_safe): default to US-ASCII for encdb and transdb. * load.c (search_required): keep encoding of feature name. set loading path to filesystem encoding. [Bug #6377][ruby-core:44750] * ruby.c (add_modules, require_libraries): assume default external encoding as well as ARGV. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@37209 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-16merge revision(s) 34977: [Backport #5661]usa
* random.c (random_s_rand): ensure default PRNG is re-initialized after fork. patched by Eric Wong. [ruby-core:41209][Bug #5661] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@37208 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-16merge revision(s) 37177: [Backport #7157]usa
* ruby.c (rb_f_sub, rb_f_gsub): pass the given block. [ruby-core:47967] [Bug #7157] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@37205 b2dd03c8-39d4-4d8f-98ff-823fe69b080e