summaryrefslogtreecommitdiff
path: root/ext/psych/parser.c
AgeCommit message (Collapse)Author
2012-08-07merge revision(s) r36583, r36458, r36414, r36103, r35690, r35681, r35658, ↵tenderlove
r35657, r35655, r35492: [Backport #6815] * ext/psych/lib/psych.rb: updated to released version. * ext/psych/psych.gemspec: ditto * ext/psych/emitter.c (initialize): allow a configuration object to be passed to the constructor so that mutation isn't required after instantiation. * ext/psych/lib/psych/handler.rb: add configuration object * ext/psych/lib/psych/visitors/emitter.rb: use configuration object if extra configuration is present. * ext/psych/lib/psych/visitors/to_ruby.rb: strings with YAML anchors are properly referenced. Patched by Joe Rafaniello via Github: https://github.com/tenderlove/psych/pull/69 * ext/psych/lib/psych/visitors/yaml_tree.rb: ditto * test/psych/test_alias_and_anchor.rb: test for change * ext/psych/lib/psych.rb: bumping psych to 1.3.3 * ext/psych/psych.gemspec: ditto * ext/psych/extconf.rb: Use an exception instaed of bare abort. * ext/psych/parser.c (transcode_string): fix encoding index names. Thanks markizko for reporting. * ext/psych/lib/psych/visitors/to_ruby.rb: fix a bug with string subclass dumping and loading. * test/psych/test_array.rb: pertinent tests * test/psych/test_string.rb: ditto * ext/psych/lib/psych/visitors/to_ruby.rb: convert omap tagged maps to Psych::Omap objects rather than hashes. [Bug #6425] * test/psych/test_omap.rb: pertinent test. * ext/psych/lib/psych/visitors/yaml_tree.rb: keep a reference to custom coders so that GC does not impact dumped yaml reference ids. * ext/psych/lib/psych/json/yaml_events.rb: implicit styles should not be changeable for JSON events. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@36654 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-04-07merge revision(s) 35245,35248:tenderlove
* ext/psych/lib/psych.rb: bumping up psych version to match release. * ext/psych/psych.gemspec: ditto * ext/psych/parser.c: fall back to any encoding if the external encoding is wrong. [ruby-core:44163] * test/psych/test_encoding.rb: fix test git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@35251 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-29merge revision(s) ↵tenderlove
32578,33401,33403,33404,33531,33655,33679,33809,33900,33965,34067,34069,34087,34328,34330,34527,34772,34783,34839,34914,34953,34954,35153: [Backport #6212] * ext/psych/lib/psych.rb: updating version to match gem * ext/psych/psych.gemspec: ditto * ext/psych/lib/psych/visitors/to_ruby.rb: fixing deprecation warning * ext/psych/lib/psych.rb: define a new BadAlias error class. * ext/psych/lib/psych/visitors/to_ruby.rb: raise an exception when deserializing an alias that does not exist. * test/psych/test_merge_keys.rb: corresponding test. * ext/psych/lib/psych.rb (load, parse): stop parsing or loading after the first document has been parsed. * test/psych/test_stream.rb: pertinent tests. * ext/psych/lib/psych.rb (parse_stream, load_stream): if a block is given, documents will be yielded to the block as they are parsed. [ruby-core:42404] [Bug #5978] * ext/psych/lib/psych/handlers/document_stream.rb: add a handler that yields documents as they are parsed * test/psych/test_stream.rb: corresponding tests. * ext/psych/lib/psych/core_ext.rb: only extend Kernel if IRB is loaded in order to stop method pollution. * ext/psych/lib/psych.rb: default open YAML files with utf8 external encoding. [ruby-core:42967] * test/psych/test_tainted.rb: ditto * ext/psych/parser.c: prevent a memory leak by protecting calls to handler callbacks. * test/psych/test_parser.rb: test to demonstrate leak. * ext/psych/parser.c: set parser encoding based on the YAML input rather than user configuration. * test/psych/test_encoding.rb: corresponding tests. * test/psych/test_parser.rb: ditto * test/psych/test_tainted.rb: ditto * ext/psych/parser.c: removed external encoding setter, allow parser to be reused. * ext/psych/lib/psych/parser.rb: added external encoding setter. * test/psych/test_parser.rb: test parser reuse * ext/psych/lib/psych/visitors/to_ruby.rb: Added support for loading subclasses of String with ivars * ext/psych/lib/psych/visitors/yaml_tree.rb: Added support for dumping subclasses of String with ivars * test/psych/test_string.rb: corresponding tests * ext/psych/lib/psych/visitors/to_ruby.rb: Added ability to load array subclasses with ivars. * ext/psych/lib/psych/visitors/yaml_tree.rb: Added ability to dump array subclasses with ivars. * test/psych/test_array.rb: corresponding tests * ext/psych/emitter.c: fixing clang warnings. Thanks Joey! * ext/psych/lib/psych/visitors/to_ruby.rb: BigDecimals can be restored from YAML. * ext/psych/lib/psych/visitors/yaml_tree.rb: BigDecimals can be dumped to YAML. * test/psych/test_numeric.rb: tests for BigDecimal serialization * ext/psych/lib/psych/scalar_scanner.rb: Strings that look like dates should be treated as strings and not dates. * test/psych/test_scalar_scanner.rb: corresponding tests. * ext/psych/lib/psych.rb (module Psych): parse and load methods take an optional file name that is used when raising Psych::SyntaxError exceptions * ext/psych/lib/psych/syntax_error.rb (module Psych): allow nil file names and handle nil file names in the exception message * test/psych/test_exception.rb (module Psych): Tests for changes. * ext/psych/parser.c (parse): parse method can take an option file name for use in exception messages. * test/psych/test_parser.rb: corresponding tests. * ext/psych/lib/psych.rb: remove autoload from psych * ext/psych/lib/psych/json.rb: ditto * ext/psych/lib/psych/tree_builder.rb: dump complex numbers, rationals, etc with reference ids. * ext/psych/lib/psych/visitors/yaml_tree.rb: ditto * ext/psych/lib/psych/visitors/to_ruby.rb: loading complex numbers, rationals, etc with reference ids. * test/psych/test_object_references.rb: corresponding tests * ext/psych/lib/psych/scalar_scanner.rb: make sure strings that look like base 60 numbers are serialized as quoted strings. * test/psych/test_string.rb: test for change. * ext/psych/parser.c: remove unused variable. * ext/psych/lib/psych/syntax_error.rb: Add file, line, offset, and message attributes during parse failure. * ext/psych/parser.c: Update parser to raise exception with correct values. * test/psych/test_exception.rb: corresponding tests. * ext/psych/parser.c (parse): Use context_mark for indicating error line and column. * ext/psych/lib/psych/scalar_scanner.rb: use normal begin / rescue since postfix rescue cannot receive the exception class. Thanks nagachika! git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@35165 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-06* ext/psych/parser.c (parse): release event objects to plug memorytenderlove
leak. Thanks Mark J. Titorenko! git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31930 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-04-21* ext/psych/parser.c (parse): strings from psych have proper tainttenderlove
markings. * test/psych/test_tainted.rb: test for string taint git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31317 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-03-22* ext/psych/parser.c: parenthesize macro arguments.akr
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31150 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-22reverting r30628 since this seems like a bug in libyamltenderlove
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30634 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-22* ext/psych/parser.c (parse): fixing off-by-one error on line numberstenderlove
in parse exceptions. [ruby-core:34690] * test/psych/test_parser.rb: test for error git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30628 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-22* ext/psych/parser.c (parse): add the file name to the exception whentenderlove
parse errors occur. * test/psych/test_parser.rb: test for parse error file name git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30626 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-22* ext/psych/parser.c (parse): fix assertion error when reusing atenderlove
parser after an exception has been raised * test/psych/test_parser.rb: test for assertion error git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30625 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-17* ext/psych/lib/psych/parser.rb (Mark): Adding a class to wraptenderlove
marker information * ext/psych/parser.c (mark): Add a method to return the mark object for the parser * test/psych/test_parser.rb: tests for the Mark class. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30588 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-19* ext/psych/lib/psych.rb: Adding Psych::Exceptiontenderlove
* ext/psych/parser.c: Do not allow extern_encoding to be set twice * test/psych/test_parser.rb: test git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27882 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-19* ext/psych/emitter.c: using xmalloc and xfree for memory allocationtenderlove
* ext/psych/lib/psych/nodes/stream.rb: encoding should be read / write * ext/psych/parser.c: supporting UTF-16 and UTF-16 + BOM * test/psych/test_parser.rb: testing UTF-16 and UTF-16 + BOM git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27881 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-17* process.c: suppress warning for signed and unsigned typemame
inconsistency. * ext/psych/parser.c: ditto. * ext/sdbm/_sdbm.c: ditto. * ext/syck/rubyext.c: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27864 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-11* ext/psych/parser.c (PSYCH_TRANSCODE): get rid of bare use of gccnobu
extension. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27728 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-11* ext/psych/parser.c: fixed broken indent.nobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27727 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-10* ext/psych/parser.c (parse): Return strings encoded astenderlove
Encoding.default_internal if set. * test/psych/test_encoding.rb: Tests for encoding change. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27723 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-10* ext/psych/parser.c: Fixing a segv in test-all. Thanks Yusuke!tenderlove
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27289 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-09* ext/psych/parser.c: parse raises a TypeError when nil is passed in.tenderlove
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27278 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-08* ext/psych/*.c: not executable.nobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27262 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-29* ext/psych/{emitter,parser,psych}.c: move variablenaruse
declaration to the first of the block. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27097 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-28* ext/psych/*: importing Psych to trunktenderlove
* test/psych/*: ditto * lib/psych/*: ditto git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27079 b2dd03c8-39d4-4d8f-98ff-823fe69b080e