[ruby-core:62743] [ruby-trunk - Bug #8344] Status of Psych and Syck

From: shibata.hiroshi@...
Date: 2014-05-25 04:25:00 UTC
List: ruby-core #62743
Issue #8344 has been updated by Hiroshi SHIBATA.


I am against to remove YAML::ENGINE now.

Psych can't parse some yaml file in real application.
I use Syck in this situation via YAML::ENGINE.yamler.

I tried to use syck gem with 2.1.2p106 and r46097.

```
% ruby -ryaml -rsyck -ve "YAML::ENGINE.yamler = 'syck'; p YAML"        
ruby 2.1.2p106 (2014-05-23 revision 46054) [x86_64-darwin13.0]
Syck
% ruby -ryaml -rsyck -ve "YAML::ENGINE.yamler = 'syck'; p YAML"
ruby 2.2.0dev (2014-05-25 trunk 46097) [x86_64-darwin13]
/Users/hsbt/.rbenv/versions/2.2.0-dev/lib/ruby/gems/2.2.0/gems/syck-1.0.1/lib/yaml/engine_manager.rb:48:in `remove_const': constant Psych::ENGINE not defined (NameError)
```

If we need to remove YAML::ENGINE, Please update and ship syck gem before.

----------------------------------------
Bug #8344: Status of Psych and Syck
https://bugs.ruby-lang.org/issues/8344#change-46866

* Author: Benoit Daloze
* Status: Assigned
* Priority: Normal
* Assignee: Aaron Patterson
* Category: lib
* Target version: current: 2.2.0
* ruby -v: ruby 2.1.0dev (2013-04-28 trunk 40513) [x86_64-darwin10.8.0]
* Backport: 1.9.3: UNKNOWN, 2.0.0: REQUIRED
----------------------------------------
Hello,

The current state of YAML being Psych is still a bit unclear (see lib/yaml.rb).

I propose to document YAML as always being (=) Psych,
and give a tip about the syck gem which might be used with the Syck constant (but the YAML constant is always Psych).

Do we need to keep Psych::EngineManager? I guess for compatibility it is safer?
May I document it as deprecated so it might removed in a future version?

Related to #6163.



-- 
https://bugs.ruby-lang.org/

In This Thread