Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

cperl 0.74 #50

Open
wants to merge 23 commits into
base: master
Choose a base branch
from
Open

cperl 0.74 #50

wants to merge 23 commits into from

Conversation

rurban
Copy link

@rurban rurban commented Oct 15, 2016

rebased to your master.
Note that 0.70-0.73 had a nasty strncmp error.

Reini Urban added 23 commits October 15, 2016 11:03
Work on core integration. Shipped with cperl under
cpan/Yaml-LibYAML with stricter C warnings and no blib.
from yaml/libyaml#7
and some added perl_libyaml.c fixes
which is fatal with -m32
Change the default indent behavior of map elements,
advance the indent the children of the map
according to the spec: 6.1 Indentation Spaces:

  "Each node must be indented further than its parent node.  All sibling nodes
  must use the exact same indentation level.  However the content of each
  sibling node may be further indented independently."
  http://yaml.org/spec/1.2/spec.html#id2777534

and make it readable by YAML,
and behave the same as all other YAML writers.

Fallback to the old YAML::XS map indent by setting the global
$YAML::XS::IndentlessMap to a true value.

Fixes RT #41463 and starts making it usable as default YAML library for core.
Add native DumpFile, LoadFile
  support filename in error messages.
Add dumper options: Indent, BestWidth, Canonical, Unicode,
  Encoding, LineBreak, OpenEnded (kept defaults)
Add loader option: NonStrict, Encoding (kept defaults)

Fix default emitter_set_width (2 => 80)

Fix the tests for the new default IndentlessMap=0
and check also IndentlessMap=1
enable 2 more test/glob.t tests
fix dump_yaml in test/TestYAMLTests.pm

upstream:
add problem_nonstrict to parser
add DEBUG macros to emitter.c, fix some indentations
Use error codes, return undef on error.
abstract the loader functionality to load_impl(),
  dump_impl() not yet.
rearrange static funcs (not decl in header)

LoadFile is now XS only

bump the libyaml library version to 0.1.7
Accept IO, magic strings or fileglob argument types for (Load|Dump)File
All test pass.
put goto and return into extra lines, to
be able to set breakpoints.
fix a couple of extreme compiler warnings
i.e. clang -Weverything. shadowing variable names,
unused code.
allow reader errors
Perl CPAN silently allows any unknown escape chars to pass them to
regexp. Mimic that in nonstrict mode. Add a cpan test.
we cannot malloc to an anon struct in C++.
    typedef yaml_anchors_t

Improve Makefile.PL for duplicate LibYAML.c
avoid duplicate checks against NULL
Update Changes, add typemap, ...
add Test::Base prereq
fix clang -Wlogical-op warnings upstream in libyaml
fix libyaml clang -Wlogical-not-parentheses warnings
fixed wrong $YAML::XS::Encoding and
$YAML::XS::LineBreak comparison logic.

fixed utf8 input as handled as UTF8,
non-utf8 honors $YAML::XS::Encoding.
to 5.6.2 and 5.8.1
defines GV_NOADD_NOINIT and SvIV_please
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant