diff options
author | John MacFarlane <jgm@berkeley.edu> | 2021-10-25 08:48:18 -0700 |
---|---|---|
committer | John MacFarlane <jgm@berkeley.edu> | 2021-10-27 12:50:51 -0700 |
commit | d226a35c0ac6485c75f083ce3b25ada1d623f45f (patch) | |
tree | 319e9b0810b1d9157de8355b75aba92ffc5c5231 /test | |
parent | b990ca3c4cadf0da0d17a71809cf0a87c67eb175 (diff) | |
download | pandoc-d226a35c0ac6485c75f083ce3b25ada1d623f45f.tar.gz |
Switch back from HsYAML to yaml.
Reasons:
- Performance: HsYAML is around 20 times slower in parsing
large YAML bibliographies (#6084).
- An issue was submitted to HsYAML, but it hasn't gotten
any attention. HsYAML seems borderline unmaintained; it hasn't
had a commit in over a year.
- Unfortunately this goes back on our attempts to free ourselves
from C dependencies (#4535). But I don't see a better alternative
until a better pure Haskell parser is available.
Closes #6084.
Notes:
- We've removed the FromYAML instances for all types that had
them, since this is a HsYAML-specific typeclass [API change].
(The yaml package just uses From/ToJSON.)
- Unlike HsYAML (in the configuration we were using), yaml
parses 'Y', 'N', 'Yes', 'No', 'On', 'Off' as boolean values.
Users may need to quote these when they are meant to be
interpreted as strings. Similarly, 'null' is parsed as
a YAML null value (and will be treated as an empty string
by pandoc rather than the string 'null'). Quoting it will
force it to be interpreted as a string.
- Some tests had to be adjusted accordingly.
- Pandoc now behaves better when the YAML metadata contains
escaping errors: instead of just falling back on treating
the section as a table, it raises a YAML parsing error.
Diffstat (limited to 'test')
-rw-r--r-- | test/command/4819.md | 4 | ||||
-rw-r--r-- | test/command/6741.md | 8 | ||||
-rw-r--r-- | test/command/pandoc-citeproc-312.md | 2 | ||||
-rw-r--r-- | test/command/pandoc-citeproc-327.md | 2 | ||||
-rw-r--r-- | test/command/yaml-metadata-blocks.md | 4 |
5 files changed, 9 insertions, 11 deletions
diff --git a/test/command/4819.md b/test/command/4819.md index c7cd9a90a..5caa5c6de 100644 --- a/test/command/4819.md +++ b/test/command/4819.md @@ -49,9 +49,7 @@ foo: no ... ^D Pandoc - Meta - { unMeta = fromList [ ( "foo" , MetaInlines [ Str "no" ] ) ] - } + Meta { unMeta = fromList [ ( "foo" , MetaBool False ) ] } [] ``` diff --git a/test/command/6741.md b/test/command/6741.md index 5fcc0700e..7764055a1 100644 --- a/test/command/6741.md +++ b/test/command/6741.md @@ -35,13 +35,13 @@ references: type: article-journal - author: - family: Suzuki - given: Y + given: Y. - family: Minami - given: T + given: T. - family: Laeng - given: B + given: B. - family: Nakauchi - given: S + given: S. container-title: Acta Psychologica DOI: 10.1016/j.actpsy.2019.102882 id: suzuki2019 diff --git a/test/command/pandoc-citeproc-312.md b/test/command/pandoc-citeproc-312.md index dfc4fe25c..20a9b759b 100644 --- a/test/command/pandoc-citeproc-312.md +++ b/test/command/pandoc-citeproc-312.md @@ -6,7 +6,7 @@ nocite: '@*' references: - author: - literal: NN - id: Y + id: 'Y' issued: - year: 1950 title: 'Date: Year' diff --git a/test/command/pandoc-citeproc-327.md b/test/command/pandoc-citeproc-327.md index 5cfd59576..2ea3a247e 100644 --- a/test/command/pandoc-citeproc-327.md +++ b/test/command/pandoc-citeproc-327.md @@ -45,7 +45,7 @@ I referenced something here^\[1\]^ ::: {#ref-LiLiaoDongWanHaiYuDiQiDongWuCiJiShengChanLiYanJiuJiShengJingGuaYiXingPingJie2017 .csl-entry} [\[1\] ]{.csl-left-margin}[李轶平, 于旭光, 孙明, 等. [辽东湾海域底栖动物次级生产力研究及生境适宜性评价](http://kns.cnki.net/kns/detail/detail.aspx?QueryID=4&CurRec=4&recid=&FileName=CHAN201706006&DbName=CJFDLAST2018&DbCode=CJFQ&yx=Y&pr=&URLID=21.1110.S.20171129.1725.006)\[J\]. -水产科学, 2017(06): 728--734.]{.csl-right-inline} +水产科学, 2017(6): 728--734.]{.csl-right-inline} ::: ::: ``` diff --git a/test/command/yaml-metadata-blocks.md b/test/command/yaml-metadata-blocks.md index d483618d3..d92994b03 100644 --- a/test/command/yaml-metadata-blocks.md +++ b/test/command/yaml-metadata-blocks.md @@ -51,11 +51,11 @@ Pandoc , ( "float" , MetaInlines [ Str "2.5" ] ) , ( "int" , MetaInlines [ Str "8" ] ) , ( "more" , MetaBool False ) - , ( "nothing" , MetaInlines [ Str "null" ] ) + , ( "nothing" , MetaString "" ) , ( "scientific" , MetaInlines [ Str "3.7e-5" ] ) ]) ) - , ( "nothing" , MetaInlines [ Str "null" ] ) + , ( "nothing" , MetaString "" ) , ( "scientific" , MetaInlines [ Str "3.7e-5" ] ) ] } |