Commit Graph

195 Commits

Author SHA1 Message Date
Joao Paulo Magalhaes
57e5affb0d re #566: fix emit regression in top level container anchors 2026-01-07 09:23:38 +00:00
Joao Paulo Magalhaes
cceb52f1e9 re #566: add tests reproducing the problem 2026-01-07 09:23:37 +00:00
Joao Paulo Magalhaes
f8ee5fbe1f Add roundtrip engine tests, fix minor problems 2026-01-02 19:02:39 +00:00
Joao Paulo Magalhaes
2e19c005f6 Prepare emitter for comments 2025-12-31 18:23:44 +00:00
Joao Paulo Magalhaes
6833a4b570 Updating changelog and quickstart 2025-12-31 18:23:44 +00:00
Joao Paulo Magalhaes
aca054d79b refactor error API: add format_exc() 2025-12-28 19:17:25 +00:00
Joao Paulo Magalhaes
be1b8543ea refactor error API: update docs 2025-12-28 19:17:25 +00:00
Joao Paulo Magalhaes
5e7596d97f Improve python API:
- expose `to_arena()`
- improve type handling in Tree methods accepting scalars
2025-12-28 13:13:57 +00:00
Joao Paulo Magalhaes
0fa2eb10e4 fix: Tree::relocate() triggers assertions with zero-length strings
... when they string are placed at the beginning or end of the arena
2025-12-20 15:46:34 +00:00
Joao Paulo Magalhaes
836180f90e Byte order mark: account for indentation 2025-12-19 18:47:23 +00:00
Joao Paulo Magalhaes
a572d084a4 NodeRef: fix bug in cend() 2025-12-17 12:15:23 +00:00
Joao Paulo Magalhaes
0febd0fa65 Improve behaviour of tree creation and Tree::root_id().
`Tree` is now non-empty by default, and `Tree::root_id()` will no longer modify the tree when it is empty. To create an empty tree now it is necessary to use the capacity constructor with a capacity of zero:
  ```c++
  // default-constructed tree is now non-empty
  Tree tree;
  assert(!tree.empty()); // MODIFIED! was empty on previous version
  id_type root = tree.root_id(); // OK. default-constructed tree is now non-empty

  // to create an empty tree:
  Tree tree(0); // pass capacity of zero
  assert(tree.empty()); // as expected
  // but watchout, this is no longer possible:
  //id_type root = tree.root_id(); // ERROR: cannot get root of empty tree.
  ```
This changeset also enables the python library to call `root_id()` on a default-constructed tree

re #556
2025-12-02 21:03:48 +00:00
Joao Paulo Magalhaes
177bf53011 fix Tree::set_root_as_stream() when the original root is an empty seq 2025-10-02 19:52:55 +01:00
Joao Paulo Magalhaes
653eac9741 v0.10.0 2025-09-30 20:25:00 +01:00
Joao Paulo Magalhaes
c2a1f18051 Doxygen improvements 2025-09-28 19:09:36 +01:00
Joao Paulo Magalhaes
aa05ca71b1 Improve experimental style API 2025-09-24 00:03:45 +01:00
Joao Paulo Magalhaes
89687540eb Fix resolve: mistaking quoted "<<" for an inheriting reference
re #529
2025-09-22 20:23:51 +01:00
Joao Paulo Magalhaes
6e8920a6ea Fix argument handling in ryml-parse-emit 2025-08-19 19:20:21 +01:00
Joao Paulo Magalhaes
e23608e28c re #524: fix parse of complex map. Thanks @MatthewSteel! 2025-07-03 19:05:04 +01:00
Joao Paulo Magalhaes
47ec2fa184 v0.9.0 2025-04-10 20:51:13 +01:00
Joao Paulo Magalhaes
20ecc26266 add workaround for #define emit in Qt
Fixes #120 (again)

[ci skip] : there are no tests for this in the CI
2025-04-09 16:08:24 +01:00
Joao Paulo Magalhaes
940d9f76b2 Fix wheel import problem in macosx
Kudos to @davidrudlstorfer for identifying the fix in #516.
2025-04-09 15:19:13 +01:00
Joao Paulo Magalhaes
9e9ab5eb50 Fix python wheel build and workflows 2025-04-09 15:19:12 +01:00
Joao Paulo Magalhaes
4168dbfa3a fix build with cmake 4 2025-03-26 22:33:07 +00:00
Joao Paulo Magalhaes
5f1bcee35e references: fix merge key order for edge case where target is the last element
re #484
2025-03-25 20:06:18 +00:00
Joao Paulo Magalhaes
8d56f59f38 ReferenceResolver: add option to clear anchors
re #400
2025-03-25 11:17:26 +00:00
Joao Paulo Magalhaes
021db4fe4e Ensure parse error on nested maps opening on the same line 2025-02-28 00:05:00 +00:00
Joao Paulo Magalhaes
3d66090977 fix parsing of maps with trailing empty keys + vals (tags also) 2025-02-26 01:35:11 +00:00
Joao Paulo Magalhaes
0c64a25980 fix parsing of tagged empty documents 2025-02-26 01:35:11 +00:00
Joao Paulo Magalhaes
ab4f686a00 fix missing tag for flow seqs 2025-02-22 14:48:09 +00:00
Joao Paulo Magalhaes
e65999dc4d v0.8.0 2025-02-15 11:03:52 +00:00
Joao Paulo Magalhaes
5db61e2299 fixes warnings with -Wundef
re #470
2025-02-14 01:22:29 +00:00
Joao Paulo Magalhaes
33fd0f8b3b update c4core 2025-02-07 12:34:07 +00:00
Joao Paulo Magalhaes
7911f37514 re #476: handle byte order marks 2025-01-25 02:00:12 +00:00
Joao Paulo Magalhaes
9b6fff2f88 Add doxygen testing workflow and fix doxygen failures 2025-01-22 20:20:35 +00:00
Joao Paulo Magalhaes
57639b51c7 ensure correct reset of parser for full reuse 2025-01-20 13:28:31 +00:00
Joao Paulo Magalhaes
bcf428ac6d emit: fix folded/literal keys 2025-01-20 13:28:30 +00:00
Joao Paulo Magalhaes
8b988dd3b4 re #480 : improve deserialization of empty strings
- Deserializing an empty quoted string *will not* cause an error. Previously, this was causing an error.
  - Deserializing an empty string *will* cause an error.
  - Ensure keys are deserialized using all the rules applying to vals: add readkey() analogs to read().
  - Added `KEYNIL` and `VALNIL` to `NodeType_e`, used by the parser to mark the key or val as empty. This changed the values of the `NodeType_e` enumeration.
  - Added `NodeType::key_is_null()` and `NodeType::val_is_null()`.
2025-01-19 19:14:35 +00:00
Joao Paulo Magalhaes
d790507b1c block containers: fix parsing of trailing whitespace
re #475
2025-01-19 13:00:09 +00:00
Joao Paulo Magalhaes
44aba6daa7 read<std::map>() implementation: overwrite existing entries
re #477
2025-01-18 21:33:58 +00:00
Joao Paulo Magalhaes
51491b335f workarounds for gcc optimizer misbuilds
See also #440, #464, #486
2025-01-17 19:36:38 +00:00
Joao Paulo Magalhaes
9b8df62d9a v0.7.2 2024-08-26 19:21:47 +01:00
Joao Paulo Magalhaes
35208be88c re #464: workaround for failures with ppc64le g++14 -O2 2024-08-23 18:29:53 +01:00
Joao Paulo Magalhaes
5ccf9a2446 v0.7.1 2024-08-15 17:41:17 +01:00
jpmag
0b761bc972 Merge pull request #459 from marcalff/fix_version_header
Add version number in header files
2024-08-13 20:16:47 +01:00
Joao Paulo Magalhaes
293a472d4f Add version tests 2024-08-13 17:14:44 +01:00
Joao Paulo Magalhaes
10b7bbcc29 fix parsing of val-less nested maps when deindented to maps
re #455
2024-08-13 17:13:59 +01:00
Joao Paulo Magalhaes
5b15b851cc Update changelog
[ci skip]
2024-08-12 18:19:20 +01:00
Joao Paulo Magalhaes
8c273eb77c re #440: add possible workaround 2024-06-28 20:26:38 +01:00
Joao Paulo Magalhaes
20d86b4780 re #440: fix all scan-build warnings 2024-06-28 19:54:52 +01:00