Commit graph

5121 commits

Author SHA1 Message Date
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
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
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
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
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
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
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
shugo
b14e2b4401 * object.c (rb_mod_to_s): Module#{to_s,inspect}, when invoked on
a refinement, returns a string in the format #<refinement:C@M>,
  where C is a refined class and M is a module at which the refinemet
  is defined.

* eval.c (rb_mod_refine): store information on a refinement for the
  above change.

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

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37424 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-02 08:53:06 +00:00
shugo
bb50421381 * string.c (sym_to_proc, sym_call): A Proc created by Symbol#to_proc
should close over the current refinements.
  [ruby-dev:46345] [Bug #7261]

* vm_eval.c (rb_call0, rb_search_method_entry,
  rb_funcall_passing_block_with_refinements): add a new argument
  `refinements' for the above changes.

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

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37418 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-02 05:48:29 +00:00
nobu
499b5a9197 proc.c: main.define_method
* proc.c (top_define_method): new method, main.define_method.
  [ruby-core:45715] [Feature #6609]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37417 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-01 23:24:33 +00:00
nobu
27f414916e test_process.rb: use never existing file
* test/ruby/test_process.rb (test_execopts_preserve_env_on_exec_failure):
  use never existing file in the current temporary directory.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37413 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-01 19:40:15 +00:00
mrkn
a3e5a86596 * ext/bigdecimal/bigdecimal.c (BigDecimal_new),
test/bigdecimal/test_bigdecimal.rb:
  Fix exception message of BigDecimal constructor with a Float.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37407 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-01 13:04:04 +00:00
mrkn
2e6b5ece95 * 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/trunk@37406 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-01 13:03:53 +00:00
mame
a5fc96a5c1 * test/ruby/test_process.rb: Revert r37404. My ubuntu box has
actually the directory named "/nonexistent"...  Sorry.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37405 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-01 12:46:27 +00:00
mame
de08204297 * test/ruby/test_process.rb: Process.exec raised EACCES on Linux
3.5.0-17-generic.  This is a temporal fix to rescue that exception.
  Needs kosaki's review.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37404 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-01 12:33:51 +00:00
shugo
7a58c65a89 * eval.c (rb_using_module): using should be used indirectly.
[ruby-dev:46326] [Feature #7251]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37399 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-01 05:45:28 +00:00
tenderlove
4b1df2ae45 * ext/dl/lib/dl/struct.rb: fix strange require order. [ruby-dev:45702]
* ext/dl/lib/dl/value.rb: ditto

* test/dl/test_c_struct_entry.rb: remove strange require order from
  tests.

* test/dl/test_c_union_entity.rb: ditto

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37391 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-30 17:54:34 +00:00
shugo
e46471e90c * eval.c (rb_mod_refine): fix the error message when no block is
given.  [ruby-dev:46319] [Bug #7244]

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


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37390 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-30 14:58:47 +00:00
naruse
643f5308e6 Check if there is no error before reconnect [Bug #4387]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37387 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-30 00:40:54 +00:00
tenderlove
2285319b31 * thread.c: added Thread#thread_variable_(get|set),
Thread#thread_variable?, and Thread#thread_variables for operating
  on variables that are local to threads. [ruby-core:47790]

* vm.c: ditto

* test/ruby/test_thread.rb: tests for thread variables.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37384 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-29 17:22:36 +00:00
nobu
56f9574de8 stringio.c: close separatedly
* ext/stringio/stringio.c (strio_close): close separatedly per each
  instances, as well as IO.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37382 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-29 09:23:02 +00:00
naruse
897a3fce91 Use assert_normal_exit to split process
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37381 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-29 08:52:59 +00:00
tenderlove
0f9307914b * ext/psych/lib/psych/handlers/recorder.rb: added a class for
recording YAML parse and emit events.

* ext/psych/lib/psych/handler.rb: adding a list of events so that
  handler classes can more easily be meta-programmed.

* test/psych/handlers/test_recorder.rb: tests for the change.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37378 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-29 01:23:54 +00:00
marcandre
e44e356b53 * lib/ostruct.rb: Add [] and []=, base on a patch by Thomas Sawyer
[ruby-core:42779] [Feature #6056]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37376 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-28 21:20:10 +00:00
marcandre
3785d2675a * lib/ostruct.rb: Also accept {Open}Struct as argument to new
[ruby-core:47476] [Feature #7007]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37375 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-28 21:19:50 +00:00
marcandre
b4300d25c9 * lib/ostruct.rb: Add OpenStruct#eql? and OpenStruct#hash
[ruby-core:42651] [Bug #6029]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37373 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-28 21:19:15 +00:00
marcandre
15d4862b91 * lib/ostruct.rb (each_pair): Add #each_pair [#1400]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37372 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-28 21:18:53 +00:00
kou
4e23505398 * test/rexml/test_document.rb: Remove needless indent.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37367 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-28 14:54:59 +00:00
kou
5f18ce9a02 * test/rexml/test_document.rb: Add tests for parsing XML encoded
by UTF-8 with BOM.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37366 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-28 14:53:07 +00:00
kou
a7322e3678 * lib/rexml/parsers/baseparser.rb: Fix a bug that UTF-8 is used
for UTF-16XX encoded XML that doesn't have encoding="UTF-16" in
  XML declration.
* test/rexml/test_document.rb: Add tests for the above change.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37363 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-28 12:42:37 +00:00
kou
a750424cab * test/rexml/test_document.rb: Group tests that they parse
UTF-16XX encoded XML that has encoding="UTF-16" in XML declaration.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37362 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-28 12:39:37 +00:00
kou
100b3be9ae * test/rexml/test_document.rb: Add tests for parsing XML encoded
by UTF-16 with BOM.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37360 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-28 12:19:58 +00:00
tadf
9f773625e5 * ext/date/date_parse.c (iso8601_{ext,bas}_time): should not match
empty string.
- この行以下は無視されます --

M    ChangeLog
M    ext/date/date_parse.c
M    test/date/test_date_parse.rb


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37357 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-28 10:16:02 +00:00
kou
af83fcfe4d * lib/rexml/document.rb (REXML::Document#write): Add :encoding option
to support custom XML encoding.
  [Feature #4872] (work in progress)
* test/rexml/test_document.rb: Add tests for the above change.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37355 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-28 06:43:38 +00:00
kou
de2e09e0bc * lib/rexml/document.rb (REXML::Document#write): Accept options
Hash as argument.
* test/rexml/test_document.rb: Add tests for the above change.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37353 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-28 05:59:59 +00:00
tenderlove
f8d34b2a75 * ext/psych/lib/psych/visitors/yaml_tree.rb: tree should return the
same thing on every call.

* test/psych/visitors/test_yaml_tree.rb: related test.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37350 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-28 01:13:09 +00:00
tenderlove
dbe6250af2 * ext/psych/lib/psych/visitors/yaml_tree.rb: YAML Tree object should
be able to take an emitter object as it's output.

* test/psych/visitors/test_yaml_tree.rb: related test.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37349 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-28 01:06:09 +00:00
ko1
f3e5f2cd75 * bignum.c (bignew_1): Bignum instances are frozen.
Feature #3222
* include/ruby/ruby.h: Fixnum instances are also frozen.
* class.c (singleton_class_of): check Bignum before
  singleton cheking.
* test/ruby/test_bignum.rb: add a test.
* test/ruby/test_fixnum.rb: ditto.
* test/ruby/marshaltestlib.rb, test/ruby/test_eval.rb,
  test/ruby/test_object.rb: catch up above changes.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37348 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-28 00:03:20 +00:00
nobu
e672994d14 parse.y: warn static content assign in cond
* parse.y (assign_in_cond): warn for static content object asignments
  in conditional statements.  [ruby-dev:43083] [Feature #4299]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37344 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-27 15:49:09 +00:00
ko1
180c744b3b * numeric.c (rb_float_new_in_heap), include/ruby/ruby.h:
make all Float objects frozen.
  [ruby-dev:46081] [ruby-trunk - Feature #6936]
  Most part of patch by NARUSE, Yui  <naruse@ruby-lang.org>.
* class.c (singleton_class_of): raise TypeError when
  trying to define a singleton method on Float objects.
* vm.c (vm_define_method): ditto.
* test/ruby/marshaltestlib.rb: catch up above changes.
* test/ruby/test_class.rb: ditto.
* test/test_pp.rb: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37341 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-27 02:10:53 +00:00
tenderlove
82af182e74 * object.c (rb_mod_const_get): const_get accepts qualified constant
strings.  e.g. Object.const_get("Foo::Bar::Baz") [ruby-core:41404]

* test/ruby/test_module.rb: tests for new behavior

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37335 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-26 21:31:23 +00:00
nobu
e6c5b9f308 revert r37326 "remove string literal concatenation"
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37328 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-25 14:06:31 +00:00
nobu
db1f7079b6 remove string literal concatenation
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37326 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-25 10:07:22 +00:00
tenderlove
fe38109ffe Add test for instance_exec receiving a curried proc.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37303 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-23 17:46:33 +00:00
nobu
a8e25c92f3 test_rubyoptions.rb: --help option
* test/ruby/test_rubyoptions.rb (TestRubyOptions#test_usage): now
  --help shows more lines.  [ruby-core:48072] [Bug #7184]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37302 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-23 16:37:47 +00:00