Commit graph

29857 commits

Author SHA1 Message Date
shirosaki
b56a2afc14 Index $LOADED_FEATURES so that require isn't so slow
* 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-05 15:27:01 +00:00
svn
2a7d349eb4 * 2012-11-06
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37479 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-05 15:24:08 +00:00
shirosaki
e575070f2f Expose whether two arrays are shared
* 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
2012-11-05 15:24:07 +00:00
shirosaki
4d414c9f68 Clarify and explain loaded_feature_path and rb_feature_p
* 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
2012-11-05 15:24:03 +00:00
shirosaki
9bb55f7633 * ext/dl/win32/lib/Win32API.rb (Win32API#call): use 64bit pointer for x64
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
2012-11-05 14:00:41 +00:00
shirosaki
868ab650eb * cygwin/GNUmakefile.in (uncommon.mk): link *.res.o.
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
2012-11-05 14:00:35 +00:00
kosaki
9da62b63d9 * thread_pthread.c (native_thread_init, native_thread_destroy):
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
2012-11-05 02:46:41 +00:00
naruse
0ba4526d06 * lib/cgi/core.rb: check if Tempfile is defined before use it.
* 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
2012-11-05 02:34:17 +00:00
zzak
0ba78cb2f7 * lib/uri/http.rb (URI::HTTP.build): Fix example
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
2012-11-05 01:19:09 +00:00
xibbar
1362d81a22 Mon Nov 5 09:55:05 2012 Takeyuki FUJIOKA <xibbar@ruby-lang.org>
* 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
2012-11-05 00:57:45 +00:00
xibbar
d5528ec358 Mon Nov 5 09:50:28 2012 Takeyuki FUJIOKA <xibbar@ruby-lang.org>
* 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-05 00:57:41 +00:00
svn
a8aaf1eb14 * 2012-11-05
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37469 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-04 21:14:23 +00:00
naruse
b5c5b980dd Don't redefine methods
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
2012-11-04 21:14:19 +00:00
kou
8519a2d581 * ChangeLog: Remove garbages.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37467 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-04 12:37:11 +00:00
xibbar
6837f3dc54 Sun Nov 4 20:41:28 2012 Takeyuki FUJIOKA <xibbar@ruby-lang.org>
* 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
2012-11-04 11:48:05 +00:00
glass
2142287c86 * lib/fileutils.rb (module FileUtils): repatch [ruby-core:39622]
[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
2012-11-04 02:56:11 +00:00
glass
a28a060db4 * array.c (recursive_equal): fix to return true when self and other
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
2012-11-04 02:44:58 +00:00
nobu
e59d5667c7 dir.c: FNM_EXTGLOB
* 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-04 01:19:11 +00:00
svn
7ba2f1a9dd * 2012-11-04
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37462 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-03 19:51:43 +00:00
nagachika
129dafda6f * ChangeLog: fix ML link for r37444 and r37447.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37461 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-03 19:51:38 +00:00
tadf
d4199057bc * complex.c: modified doc.
* rational.c: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37460 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-03 14:39:50 +00:00
tadf
64bb9749af * ext/date/date_core.c: modified doc.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37459 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-03 13:39:54 +00:00
ktsj
65b746bec0 * vm.c (rb_vm_rewrite_ep_in_errinfo, vm_rewrite_ep_in_errinfo):
merge code and remove `rb_vm_rewrite_ep_in_errinfo'.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37458 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-03 09:41:38 +00:00
ktsj
049ace5888 * vm.c, proc.c: avoid unnecessary `rb_vm_rewrite_ep_in_errinfo'
calls.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37457 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-03 09:18:58 +00:00
ktsj
c1dbeada5b * ChangeLog: fix.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37456 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-03 09:14:28 +00:00
kou
98d69f426f * bin/testrb: Use only Test::Unit::AutoRunner in test-unit gem
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
2012-11-03 08:56:22 +00:00
tadf
0ae90522a6 * ext/date/date_parse.c (parse_eu): should capture apostrophe too.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37454 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-03 05:59:08 +00:00
tadf
d55aa2bf67 * ext/date/date_parse.c (date__parse): revised the tight parser.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37453 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-03 05:47:32 +00:00
kou
6bc138b052 * lib/rexml/xmldecl.rb (REXML::XMLDecl#content): Add missing \A
and \z.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37452 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-03 05:44:31 +00:00
kou
04f41f019a * lib/rexml/output.rb (REXML::Output#initialize): Use normalized
encoding name.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37451 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-03 05:43:28 +00:00
kou
ac9a8ac624 * lib/rexml/output.rb (REXML::Output): Don't output BOM in middle
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
2012-11-03 05:42:40 +00:00
kou
15a743b3ff * NEWS: Add an item about REXML::Document#write.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37449 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-03 05:11:00 +00:00
kou
82aef2ae50 * test/rexml/test_document.rb: Fix tests that expect encoding name
isn't normalized.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37448 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-03 04:58:03 +00:00
zzak
c420f8449e * dir.c (Dir#glob):
Documentation for pattern section, backslash subsection
  Patch by Eric Bouchut
  [ruby-core#48528] [Bug #7230]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37447 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-03 04:47:49 +00:00
kou
bdbc8c5b74 Revert r37439 and r37441
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
2012-11-03 04:46:06 +00:00
kazu
4aca275e9c fix typos
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37445 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-03 04:40:42 +00:00
zzak
c442d22160 * io.c (IO#new):
Documentation for IO#open modes and formatting
  [ruby-core#48052] [Bug #7179]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37444 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-03 04:28:38 +00:00
zzak
4d42277823 * io.c (IO#new):
Documentation for IO#open modes and formatting
  [ruby-core#48052] [Bug #7179]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37443 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-03 04:27:56 +00:00
kou
dbfb5deab6 * test/rexml/test_encoding.rb (EncodingTester#test_in_different_out):
Fix a test that expects encoding in XML declaration is changed by
  Output's encoding. It is dropped feature.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37442 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-03 04:03:55 +00:00
kou
9c606a0a4c * 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@37441 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-03 03:55:06 +00:00
kou
3f817764e2 * lib/rexml/document.rb (REXML::Document#write): Document encoding
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
2012-11-03 03:53:09 +00:00
kou
69eedf6a18 * 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.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37439 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-03 03:41:26 +00:00
glass
c032c5bc9a * array.c (recursive_equal): fix not to make invalid pointers when
self and other are resized to same size in #== of their elements.
  [ruby-dev:46373] [Feature #6177]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37438 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-03 03:21:47 +00:00
kou
bd2024165c * test/rexml/test_xml_declaration.rb (TestXmlDeclaration#test_*):
Remove needless prefix from test names.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37437 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-03 03:06:50 +00:00
kou
9a2dc8f9da * test/rexml/test_xml_declaration_parent_child.rb: Rename to ...
* test/rexml/test_xml_declaration.rb: ... this.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37436 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-03 03:05:28 +00:00
zzak
63e9bc50f5 * hash.c (rb_hash_delete): Correct grammar
Patch by Glenn Oppegard
  [Fixes #208 Github]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37435 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-03 02:45:15 +00:00
nari
4166390229 * NEWS: add a news about GC::Profiler.raw_data.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37434 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-03 02:35:39 +00:00
nari
e2f951656f * NEWS: add a news about rb_newobj_of() and NEWOBJ_OF().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37433 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-03 02:35:36 +00:00
nari
805b08f292 * eval.c (f_current_dirname): add the new method for Kernel.
This method almotst same as File.dirname(__FILE__). One
  different behavior is it returns nil when __FILE__ returns nil.
  [Feature #3346]

* NEWS:  ditto

* test/ruby/test_method.rb: related test.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37432 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-03 01:37:50 +00:00
shugo
d2fd7f32c8 * test/ruby/test_refinement.rb (test_new_method_by_send,
test_new_method_by_method_object): add tests for Kernel#send and
  Kernel#method with refinements.

* test/ruby/test_refinement.rb (test_symbol_to_proc): add a test
  calling a proc created by Symbol#to_proc outside the scope where
  a refinement is closed over.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37431 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-03 00:09:26 +00:00