Bug #8344
closedStatus of Psych and Syck
Description
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.
Updated by zzak (zzak _) over 11 years ago
We should update the YAML module overview in lib/yaml.rb to reflect this more clearly.
Maybe we add a History or just Syck section. I can write this patch.
Regarding the EngineManager, I think it should be deprecated and eventually removed (maybe in 2.1). Maybe this should be proposed as a separate feature.
Updated by Eregon (Benoit Daloze) over 11 years ago
- Assignee changed from Eregon (Benoit Daloze) to zzak (zzak _)
- Backport changed from 1.9.3: UNKNOWN, 2.0.0: UNKNOWN to 1.9.3: UNKNOWN, 2.0.0: REQUIRED
I did the doc change and zzak has some nice ideas to improve it, so I give him the ticket.
I would like to hear opinions about removing Psych::EngineManager.
Updated by naruse (Yui NARUSE) over 11 years ago
- Assignee changed from zzak (zzak _) to tenderlovemaking (Aaron Patterson)
Updated by zzak (zzak _) over 11 years ago
- Assignee changed from tenderlovemaking (Aaron Patterson) to zzak (zzak _)
- Target version set to 2.1.0
Aaron has stated that we should remove the EngineManager code for 2.1.0: https://twitter.com/tenderlove/status/328745442970066945
I can write this patch while I'm updating the documentation.
Updated by Anonymous over 11 years ago
On Mon, Apr 29, 2013 at 10:06:10PM +0900, zzak (Zachary Scott) wrote:
Issue #8344 has been updated by zzak (Zachary Scott).
Assignee changed from tenderlovemaking (Aaron Patterson) to zzak (Zachary Scott)
Target version set to current: 2.1.0Aaron has stated that we should remove the EngineManager code for 2.1.0: https://twitter.com/tenderlove/status/328745442970066945
Ya, it's only there for backwards compatibility with 1.9. I will remove
it for 2.1.0
--
Aaron Patterson
http://tenderlovemaking.com/
Updated by zzak (zzak _) over 11 years ago
@tenderlove What about rubygems dependency on EngineManager? See Gem::Specification#to_yaml and lib/rubygems/syck_hack.rb
Updated by zzak (zzak _) over 11 years ago
- Status changed from Open to Closed
- % Done changed from 0 to 100
Most of the documentation has been updated, and appropriate backports have been made, so I'm going to close this.
When rubygems drops support for 1.8, we can think about removing the syck shim.
Updated by zzak (zzak _) almost 11 years ago
- Status changed from Closed to Assigned
- Target version changed from 2.1.0 to 2.2.0
Updated by tenderlovemaking (Aaron Patterson) over 10 years ago
On Mon, Mar 24, 2014 at 07:31:31AM +0000, e@zzak.io wrote:
Issue #8344 has been updated by Zachary Scott.
Status changed from Closed to Assigned
Target version changed from 2.1.0 to current: 2.2.0
Bug #8344: Status of Psych and Syck
https://bugs.ruby-lang.org/issues/8344#change-45911
- Author: Benoit Daloze
- Status: Assigned
- Priority: Normal
- Assignee: Zachary Scott
- 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?
We should document it as deprecated, I want to remove it.
--
Aaron Patterson
http://tenderlovemaking.com/
Updated by zzak (zzak _) over 10 years ago
- Status changed from Assigned to Closed
Applied in changeset r46097.
- lib/yaml.rb: Remove Psych::EngineManager [Bug #8344]
- test/psych/*: ditto.
Updated by naruse (Yui NARUSE) over 10 years ago
- Assignee changed from zzak (zzak _) to tenderlovemaking (Aaron Patterson)
- Status changed from Closed to Assigned
Updated by hsbt (Hiroshi SHIBATA) over 10 years ago
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.
Updated by zzak (zzak _) over 10 years ago
@hsbt (Hiroshi SHIBATA) this is a bug in syck gem, could you open a ticket there?
Updated by hsbt (Hiroshi SHIBATA) over 10 years ago
Updated by zzak (zzak _) over 10 years ago
Is github/tenderlove/syck not the canonical repo?
Updated by hsbt (Hiroshi SHIBATA) over 10 years ago
- Status changed from Assigned to Closed
Applied in changeset r46559.
Revert "Revert "* lib/yaml.rb: Remove Psych::EngineManager [Bug #8344]""
syck-1.0.3 gem support this imcompatible changes.
This reverts commit r46102