159 Commits

Author SHA1 Message Date
kou
4e44eeaeb1 * lib/rexml/text.rb (REXML::Text.normalize): Fix a bug that all
entity filters are ignored. [ruby-dev:47278] [Bug #8302]
  Patch by Ippei Obayashi. Thanks!!!
* test/rexml/test_entity.rb (EntityTester#test_entity_filter): Add
  a test of the above change.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40484 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-26 14:36:30 +00:00
kou
562648e48c * lib/rexml/element.rb (REXML::Attributes#to_a): Support
namespaced attributes. [ruby-dev:47277] [Bug #8301]
  Patch by Ippei Obayashi. Thanks!!!
* test/rexml/test_attributes.rb
  (AttributesTester#test_to_a_with_namespaces): Add a test of the
  above change.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40482 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-26 13:56:34 +00:00
duerst
e5ce9579ec lib/rexml/document.rb, lib/rexml/element.rb,
lib/rexml/formatters/pretty.rb: remove opinionated
language in documentation. [Bug #8309],
reported by Charles Beckmann

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40420 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-23 08:41:56 +00:00
kou
3b6d093451 * lib/rexml/security.rb (REXML::Security): create.
* lib/rexml/rexml.rb: move entity_expansion_limit and
  entity_expansion_text_limit accessors to ...
* lib/rexml/security.rb: ... here.
* lib/rexml/document.rb: use REXML::Security.
* lib/rexml/text.rb: use REXML::Security.
* test/rexml/test_document.rb: use REXML::Security.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39528 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-27 12:24:31 +00:00
kou
b972878978 * lib/rexml/document.rb: move entity_expansion_limit accessor to ...
* lib/rexml/rexml.rb: ... here for consistency.
* lib/rexml/document.rb (REXML::Document.entity_expansion_limit):
  deprecated.
* lib/rexml/document.rb (REXML::Document.entity_expansion_limit=):
  deprecated.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39510 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-26 14:34:01 +00:00
kou
ea2e083a1d * lib/rexml/document.rb: move entity_expansion_limit accessor to ...
* lib/rexml/rexml.rb: ... here to make rexml/text independent from
  REXML::Document. It causes circular require.
* lib/rexml/document.rb (REXML::Document.entity_expansion_limit):
  deprecated.
* lib/rexml/document.rb (REXML::Document.entity_expansion_limit=):
  deprecated.
* lib/rexml/text.rb: add missing require "rexml/rexml" for
  REXML.entity_expansion_limit.
  Reported by Robert Ulejczyk. Thanks!!! [ruby-core:52895] [Bug #7961]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39509 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-26 14:30:40 +00:00
nagachika
a0afa57ea4 * lib/rexml/document.rb (REXML::Document.entity_expansion_text_limit):
fix a typo in comment in r39384.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39388 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-22 14:50:03 +00:00
usa
1ad9075734 * 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/trunk@39384 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-22 09:35:46 +00:00
kou
1fe680e812 * lib/rexml/element.rb (REXML::Elements#add): Remove too much
"elements" in document. Sorry...


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38682 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-03 08:48:22 +00:00
kou
ece67a0a12 * lib/rexml/element.rb (REXML::Elements#each): Add missing
"elements" in document. [ruby-talk:402713]
  Reported by Wesley Rishel. Thanks!!!


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38681 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-03 08:44:09 +00:00
naruse
58ef0f06c6 * ruby.c (load_file_internal): set default source encoding as
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
2012-11-06 00:49:57 +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
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
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
718813ca9b * lib/rexml/source.rb: Move encoding detection code to base class.
* lib/rexml/encoding.rb: Remove needless encoding detection code.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37365 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-28 14:52:21 +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
2a42c1bd3a * lib/rexml/source.rb (REXML::IOSource#initialize): Reduce
@line_break initialize code. It should be done only in #encoding=.
* lib/rexml/parsers/baseparser.rb: Don't set UTF-16 encoding to
  source by encoding="UTF-16" in XML declaration because UTF-16XX
  source encoding should be set in Source#initialize or
  IOSource#intialize. They should handle BOM. Parser should not
  consider about it.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37361 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-28 12:31:20 +00:00
kou
f774c96beb Revert r37358
* lib/rexml/source.rb (REXML::IOSource#initialize): Use
  encode("UTF-16XX") instead of UTF-16XX encoded byte string by
  hand.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37359 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-28 11:20:45 +00:00
kou
054ae037e6 * lib/rexml/source.rb (REXML::IOSource#initialize): Use
encode("UTF-16XX") instead of UTF-16XX encoded byte string by
  hand.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37358 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-28 10:57:01 +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
292c659b5c * lib/rexml/document.rb (REXML::Document#write): Remove needless
indent in document.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37354 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-28 06:01:06 +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
kou
134ded5d77 * lib/rexml/document.rb (REXML::Document#write): Fix wrong usage
in document.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37352 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-28 05:10:07 +00:00
kou
64c4647665 * lib/rexml/document.rb (REXML::Document#write): Fix wrong method
names in document.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37351 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-28 05:05:18 +00:00
tenderlove
ee827e52a7 eliminate shadowing outer local variable - name warning.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34496 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-08 18:03:51 +00:00
kou
ca77bce66d * lib/rexml/parsers/baseparser.rb: use meaningful name.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34420 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-02 12:48:45 +00:00
kou
92cecf79b4 * lib/rexml/parsers/baseparser.rb, test/rexml/test_namespace.rb:
fix the default xml namespace URI validation.
  Reported by Miho Hiramatsu. Thanks!!!


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34419 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-02 12:42:27 +00:00
kou
bd895ab176 * lib/rexml/parsers/baseparser.rb: use private instead of _xxx
method name. This is Ruby code not Python code.
  refs #5696


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34204 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-03 15:21:53 +00:00
ayumin
5eac56441c * lib/rexml/parsers/baseparser.rb: rexml BaseParser uses
instance_eval unnecessarily on listener add.
  patch from Charles Nutter. [Bug #5696] [ruby-core:41437]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34202 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-03 15:05:20 +00:00
ktsj
c3749b6a6d * ext/pathname/lib/pathname.rb, ext/tk/lib/multi-tk.rb,
ext/tk/sample/demos-en/widget, lib/benchmark.rb, lib/irb/cmd/fork.rb,
  lib/mkmf.rb, lib/net/ftp.rb, lib/net/smtp.rb, lib/open3.rb,
  lib/pstore.rb, lib/rexml/element.rb, lib/rexml/light/node.rb,
  lib/rinda/tuplespace.rb, lib/rss/maker/base.rb,
  lib/rss/maker/entry.rb, lib/scanf.rb, lib/set.rb, lib/shell.rb,
  lib/shell/command-processor.rb, lib/shell/process-controller.rb,
  lib/shell/system-command.rb, lib/uri/common.rb: remove unused block
  arguments to avoid creating Proc objects.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33638 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-05 07:37:47 +00:00
kou
2bb6fcb6fd * lib/rexml/parsers/baseparser.rb, test/rexml/test_comment.rb:
allow a single hyphen in comment. [Bug 5278]
  Reported by Thomas Fritzsche. Thanks!!!


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33210 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-09-07 14:42:44 +00:00
kou
da672779e2 * lib/rexml/formatters/pretty.rb
(REXML::Formatters::Pretty#write_text),
  test/rexml/test_core.rb
  (Tester#test_pretty_format_long_text_finite): don't ignore
  'width' parameter in pretty formatter. fixes #4498
  Reported by Michael Frasca. Thanks!!!


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31997 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-11 07:29:48 +00:00
kou
80cb3351dd * lib/rexml/parsers/xpathparser.rb
(REXML::Parsers::XPathParser#parse),
  test/rexml/test_elements.rb
  (ElementsTester::test_each_with_frozen_condition):
  don't modify original XPath. fixes #4164
  Reported by Pavel Shved. Thanks!!!


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31995 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-11 07:05:42 +00:00
shyouhei
42f704a8fa prevent an error when passing a frozen string to REXML::Text.new
dup the string passed in instead of cloning so that it's frozen state is ignored

Signed-off-by: URABE, Shyouhei <shyouhei@ruby-lang.org>

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31744 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-05-27 02:34:23 +00:00
nobu
d371e3583e * lib: revert r31635-r31638 and untabify with expand(1).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31641 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-05-19 00:07:25 +00:00
drbrain
7bbf2f3085 * lib: Convert tabs to spaces for ruby files per
http://redmine.ruby-lang.org/projects/ruby/wiki/DeveloperHowto#coding-style
	  Patch by Steve Klabnik [Ruby 1.9 - Bug #4730]
	  Patch by Jason Dew [Ruby 1.9 - Feature #4718]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31635 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-05-18 21:19:18 +00:00
drbrain
8dca379907 * lib/rexml/functions.rb: Add some documentation for REXML::Functions.
Patch by Sebastian Martinez.  [Ruby 1.9 - Feature #4688]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31551 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-05-13 17:54:22 +00:00
drbrain
615e7987ca * object.c (rb_obj_equal): Add documentation. Patch by Vincent Batts.
[Ruby 1.9 - Bug #4664]
	* lib/rexml:  ditto
	* lib/mkmf.rb:  ditto
	* ext/socket/lib/socket.rb:  ditto


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31525 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-05-11 22:56:13 +00:00
naruse
f25ff846f6 * lib/rexml/encoding.rb (REXML::Encoding#encoding=): store @encoding
a String which means the name of the encoding.
  this partially revert r29646.

* lib/rexml/document.rb: follow above.

* lib/rexml/output.rb: ditto.

* lib/rexml/parsers/baseparser.rb: ditto.

* lib/rexml/source.rb: ditto.

* lib/rexml/xmldecl.rb: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31008 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-03-02 15:36:48 +00:00
kou
c207b0b727 * lib/rexml/light/node.rb: remove circular require.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30117 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-07 13:01:36 +00:00
kou
9ce40aacef * lib/rexml/doctype.rb, test/rexml/test_doctype.rb: suppress warnings.
[ruby-core:33305]
  Reported by Aaron Patterson. Thanks!!!


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30113 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-07 12:10:23 +00:00
kou
6fcd0b37b3 * lib/rexml/formatters/pretty.rb (REXML::Formatters::Pretty#wrap):
REXML::Formatters::Pretty#wrap used a recursive method call to
  format text.  This switches it to use an iterative approach.
  [ruby-core:33245]
  Patch by Jeremy Evans. Thanks!!!

* test/rexml/test_core.rb: add a test for it.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29827 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-18 14:25:03 +00:00
marcandre
f3e3547407 * lib/*.rb: Remove unused variable warnings.
Patch by Run Paint [ruby-core:30991]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29726 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-08 20:59:01 +00:00
kou
2b82e06aaf * lib/rexml/encoding.rb: untabify.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29648 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-10-30 14:39:20 +00:00
kou
994f066f76 * lib/rexml/encoding.rb: use Ruby native encoding mechnism. [ruby-dev:42464]
* lib/rexml/encodings/: remove.

* lib/rexml/document.rb, lib/rexml/formatters/default.rb,
  lib/rexml/output.rb, lib/rexml/parseexception.rb,
  lib/rexml/parsers/baseparser.rb, lib/rexml/source.rb,
  lib/rexml/xmldecl.rb: use Ruby's native Encoding object.

* test/rexml/, test/rss/: follow the above encoding chagnes.

* NEWS: add REXML's incompatible change about encoding.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29646 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-10-30 12:10:56 +00:00
kou
d8c3fa1506 * lib/rexml/xpath_parser.rb, test/rexml/test_xpath.rb:
add missing method availability check. [ruby-core:32447]
  Reported by Wiebe Cazemier. Thanks!!!


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29288 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-09-17 14:47:20 +00:00
naruse
46ff009168 * lib/rexml/source.rb: force_encoding("UTF-8") when the input
is already UTF-8. patched by Kouhei Sutou [ruby-core:23404]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27342 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-14 13:11:11 +00:00