From ac066936bcd707b3d70daf5f9d1ec8e0f0a3e69c Mon Sep 17 00:00:00 2001
From: rhysd
Date: Fri, 5 Apr 2024 00:22:17 +0900
Subject: [PATCH 1/4] fix: fix dead code warning from nightly compiler
---
Cargo.lock | 2 +-
pulldown-cmark/src/firstpass.rs | 5 +----
pulldown-cmark/src/parse.rs | 1 -
3 files changed, 2 insertions(+), 6 deletions(-)
diff --git a/Cargo.lock b/Cargo.lock
index 296122cc..3f125ce4 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -331,7 +331,7 @@ dependencies = [
[[package]]
name = "pulldown-cmark"
-version = "0.10.1"
+version = "0.10.2"
dependencies = [
"bincode",
"bitflags",
diff --git a/pulldown-cmark/src/firstpass.rs b/pulldown-cmark/src/firstpass.rs
index 0adfdd08..ff50ad24 100644
--- a/pulldown-cmark/src/firstpass.rs
+++ b/pulldown-cmark/src/firstpass.rs
@@ -1486,10 +1486,7 @@ impl<'a, 'b> FirstPass<'a, 'b> {
}
self.allocs.footdefs.0.insert(
UniCase::new(label.clone()),
- FootnoteDef {
- span: start..i,
- use_count: 0,
- },
+ FootnoteDef { use_count: 0 },
);
self.tree.append(Item {
start,
diff --git a/pulldown-cmark/src/parse.rs b/pulldown-cmark/src/parse.rs
index 29331aed..259cf73d 100644
--- a/pulldown-cmark/src/parse.rs
+++ b/pulldown-cmark/src/parse.rs
@@ -1436,7 +1436,6 @@ pub struct LinkDef<'a> {
/// Contains the destination URL, title and source span of a reference definition.
#[derive(Clone, Debug)]
pub struct FootnoteDef {
- pub span: Range,
pub use_count: usize,
}
From e589720ae62ac408ed39c87f00ec3d51638ce865 Mon Sep 17 00:00:00 2001
From: Michael Howell
Date: Mon, 15 Apr 2024 12:57:11 -0700
Subject: [PATCH 2/4] Eat all spaces after line break in link title
---
pulldown-cmark/specs/regression.txt | 12 ++++++++++++
pulldown-cmark/src/firstpass.rs | 1 +
pulldown-cmark/tests/suite/regression.rs | 14 ++++++++++++++
3 files changed, 27 insertions(+)
diff --git a/pulldown-cmark/specs/regression.txt b/pulldown-cmark/specs/regression.txt
index daf90c8e..c239cb8f 100644
--- a/pulldown-cmark/specs/regression.txt
+++ b/pulldown-cmark/specs/regression.txt
@@ -2542,3 +2542,15 @@ ISSUE 861
.
````````````````````````````````
+
+ISSUE 867
+
+```````````````````````````````` example
+[link]: destination "
+ text "
+
+[link]
+.
+link
+````````````````````````````````
diff --git a/pulldown-cmark/src/firstpass.rs b/pulldown-cmark/src/firstpass.rs
index ff50ad24..614d9d5e 100644
--- a/pulldown-cmark/src/firstpass.rs
+++ b/pulldown-cmark/src/firstpass.rs
@@ -1634,6 +1634,7 @@ impl<'a, 'b> FirstPass<'a, 'b> {
return None;
}
}
+ line_start.scan_all_space();
bytecount += line_start.bytes_scanned();
linestart = bytecount;
if scan_blank_line(&bytes[bytecount..]).is_some() {
diff --git a/pulldown-cmark/tests/suite/regression.rs b/pulldown-cmark/tests/suite/regression.rs
index 41f25684..36283033 100644
--- a/pulldown-cmark/tests/suite/regression.rs
+++ b/pulldown-cmark/tests/suite/regression.rs
@@ -3039,3 +3039,17 @@ fn regression_test_192() {
test_markdown_html(original, expected, false, false, false);
}
+
+#[test]
+fn regression_test_193() {
+ let original = r##"[link]: destination "
+ text "
+
+[link]
+"##;
+ let expected = r##"link
+"##;
+
+ test_markdown_html(original, expected, false, false, false);
+}
From d26e07f7c69b8bd8c743919f1d0eec572a23375d Mon Sep 17 00:00:00 2001
From: Michael Howell
Date: Thu, 18 Apr 2024 09:20:40 -0700
Subject: [PATCH 3/4] Mark `Rule` as a block item
---
pulldown-cmark/specs/regression.txt | 16 ++++++++++++++++
pulldown-cmark/src/parse.rs | 1 +
pulldown-cmark/tests/suite/regression.rs | 18 ++++++++++++++++++
3 files changed, 35 insertions(+)
diff --git a/pulldown-cmark/specs/regression.txt b/pulldown-cmark/specs/regression.txt
index c239cb8f..27c89a3e 100644
--- a/pulldown-cmark/specs/regression.txt
+++ b/pulldown-cmark/specs/regression.txt
@@ -2554,3 +2554,19 @@ ISSUE 867
link
````````````````````````````````
+
+ISSUE 878
+
+```````````````````````````````` example
+* _
+_**
+ ___
+ ^_
+.
+
+````````````````````````````````
diff --git a/pulldown-cmark/src/parse.rs b/pulldown-cmark/src/parse.rs
index 259cf73d..70f7b872 100644
--- a/pulldown-cmark/src/parse.rs
+++ b/pulldown-cmark/src/parse.rs
@@ -134,6 +134,7 @@ impl ItemBody {
| ItemBody::TableRow
| ItemBody::TableCell
| ItemBody::Heading(..)
+ | ItemBody::Rule
)
}
}
diff --git a/pulldown-cmark/tests/suite/regression.rs b/pulldown-cmark/tests/suite/regression.rs
index 36283033..3d665b6b 100644
--- a/pulldown-cmark/tests/suite/regression.rs
+++ b/pulldown-cmark/tests/suite/regression.rs
@@ -3053,3 +3053,21 @@ text ">link
test_markdown_html(original, expected, false, false, false);
}
+
+#[test]
+fn regression_test_194() {
+ let original = r##"* _
+_**
+ ___
+ ^_
+"##;
+ let expected = r##"
+"##;
+
+ test_markdown_html(original, expected, false, false, false);
+}
From 1cfaf02e516d24fd8c93f39b422548610c541aae Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Mart=C3=ADn=20Pozo?=
Date: Tue, 23 Apr 2024 09:27:55 +0200
Subject: [PATCH 4/4] fix: simd was not be using after the new crate
pulldown-cmark-escape
---
Cargo.lock | 79 +++++++++++++++++---------------
README.md | 4 +-
pulldown-cmark-escape/Cargo.toml | 9 ++--
pulldown-cmark-escape/README.md | 26 +++++++++++
pulldown-cmark/Cargo.toml | 4 +-
5 files changed, 79 insertions(+), 43 deletions(-)
create mode 100644 pulldown-cmark-escape/README.md
diff --git a/Cargo.lock b/Cargo.lock
index 3f125ce4..8d459d27 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -46,9 +46,9 @@ checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1"
[[package]]
name = "bumpalo"
-version = "3.15.4"
+version = "3.16.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7ff69b9dd49fd426c69a0db9fc04dd934cdb6645ff000864d98f7e2af8830eaa"
+checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c"
[[package]]
name = "cast"
@@ -183,9 +183,9 @@ checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7"
[[package]]
name = "either"
-version = "1.10.0"
+version = "1.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "11157ac094ffbdde99aa67b23417ebdd801842852b500e395a45a9c0aac03e4a"
+checksum = "a47c1c47d2f5964e29c61246e81db715514cd532db6b5116a25ea3c03d6780a2"
[[package]]
name = "getopts"
@@ -198,9 +198,9 @@ dependencies = [
[[package]]
name = "half"
-version = "2.4.0"
+version = "2.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b5eceaaeec696539ddaf7b333340f1af35a5aa87ae3e4f3ead0532f72affab2e"
+checksum = "6dd08c532ae367adf81c312a4580bc67f1d0fe8bc9c460520283f4c0ff277888"
dependencies = [
"cfg-if",
"crunchy",
@@ -322,16 +322,16 @@ dependencies = [
[[package]]
name = "proc-macro2"
-version = "1.0.79"
+version = "1.0.81"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e835ff2298f5721608eb1a980ecaee1aef2c132bf95ecc026a11b7bf3c01c02e"
+checksum = "3d1597b0c024618f09a9c3b8655b7e430397a36d23fdafec26d6965e9eec3eba"
dependencies = [
"unicode-ident",
]
[[package]]
name = "pulldown-cmark"
-version = "0.10.2"
+version = "0.10.3"
dependencies = [
"bincode",
"bitflags",
@@ -348,13 +348,13 @@ dependencies = [
[[package]]
name = "pulldown-cmark-escape"
-version = "0.10.0"
+version = "0.10.1"
[[package]]
name = "quote"
-version = "1.0.35"
+version = "1.0.36"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef"
+checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7"
dependencies = [
"proc-macro2",
]
@@ -425,18 +425,18 @@ dependencies = [
[[package]]
name = "serde"
-version = "1.0.197"
+version = "1.0.198"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2"
+checksum = "9846a40c979031340571da2545a4e5b7c4163bdae79b301d5f86d03979451fcc"
dependencies = [
"serde_derive",
]
[[package]]
name = "serde_derive"
-version = "1.0.197"
+version = "1.0.198"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b"
+checksum = "e88edab869b01783ba905e7d0153f9fc1a6505a96e4ad3018011eedb838566d9"
dependencies = [
"proc-macro2",
"quote",
@@ -445,9 +445,9 @@ dependencies = [
[[package]]
name = "serde_json"
-version = "1.0.115"
+version = "1.0.116"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "12dc5c46daa8e9fdf4f5e71b6cf9a53f2487da0e86e55808e2d35539666497dd"
+checksum = "3e17db7126d17feb94eb3fad46bf1a96b034e8aacbc2e775fe81505f8b0b2813"
dependencies = [
"itoa",
"ryu",
@@ -456,9 +456,9 @@ dependencies = [
[[package]]
name = "syn"
-version = "2.0.57"
+version = "2.0.60"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "11a6ae1e52eb25aab8f3fb9fca13be982a373b8f1157ca14b897a825ba4a2d35"
+checksum = "909518bc7b1c9b779f1bbf07f2929d35af9f0f37e47c6e9ef7f9dddc1e1821f3"
dependencies = [
"proc-macro2",
"quote",
@@ -618,13 +618,14 @@ dependencies = [
[[package]]
name = "windows-targets"
-version = "0.52.4"
+version = "0.52.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7dd37b7e5ab9018759f893a1952c9420d060016fc19a472b4bb20d1bdd694d1b"
+checksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb"
dependencies = [
"windows_aarch64_gnullvm",
"windows_aarch64_msvc",
"windows_i686_gnu",
+ "windows_i686_gnullvm",
"windows_i686_msvc",
"windows_x86_64_gnu",
"windows_x86_64_gnullvm",
@@ -633,42 +634,48 @@ dependencies = [
[[package]]
name = "windows_aarch64_gnullvm"
-version = "0.52.4"
+version = "0.52.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bcf46cf4c365c6f2d1cc93ce535f2c8b244591df96ceee75d8e83deb70a9cac9"
+checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263"
[[package]]
name = "windows_aarch64_msvc"
-version = "0.52.4"
+version = "0.52.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "da9f259dd3bcf6990b55bffd094c4f7235817ba4ceebde8e6d11cd0c5633b675"
+checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6"
[[package]]
name = "windows_i686_gnu"
-version = "0.52.4"
+version = "0.52.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670"
+
+[[package]]
+name = "windows_i686_gnullvm"
+version = "0.52.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b474d8268f99e0995f25b9f095bc7434632601028cf86590aea5c8a5cb7801d3"
+checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9"
[[package]]
name = "windows_i686_msvc"
-version = "0.52.4"
+version = "0.52.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1515e9a29e5bed743cb4415a9ecf5dfca648ce85ee42e15873c3cd8610ff8e02"
+checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf"
[[package]]
name = "windows_x86_64_gnu"
-version = "0.52.4"
+version = "0.52.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5eee091590e89cc02ad514ffe3ead9eb6b660aedca2183455434b93546371a03"
+checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9"
[[package]]
name = "windows_x86_64_gnullvm"
-version = "0.52.4"
+version = "0.52.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "77ca79f2451b49fa9e2af39f0747fe999fcda4f5e241b2898624dca97a1f2177"
+checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596"
[[package]]
name = "windows_x86_64_msvc"
-version = "0.52.4"
+version = "0.52.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "32b752e52a2da0ddfbdbcc6fceadfeede4c939ed16d13e648833a61dfb611ed8"
+checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0"
diff --git a/README.md b/README.md
index dbe9bdfb..345a1b57 100644
--- a/README.md
+++ b/README.md
@@ -160,7 +160,7 @@ By default, the binary is built as well. If you don't want/need it, then build l
Or put in your `Cargo.toml` file:
```toml
-pulldown-cmark = { version = "0.9.2", default-features = false }
+pulldown-cmark = { version = "0.10.3", default-features = false }
```
SIMD accelerated scanners are available for the x64 platform from version 0.5 onwards. To
@@ -173,7 +173,7 @@ enable them, build with simd feature:
Or add the feature to your project's `Cargo.toml`:
```toml
-pulldown-cmark = { version = "0.9.2", default-features = false, features = ["simd"] }
+pulldown-cmark = { version = "0.10.3", default-features = false, features = ["simd"] }
```
For a higher release performance you may want this configuration in your profile release:
diff --git a/pulldown-cmark-escape/Cargo.toml b/pulldown-cmark-escape/Cargo.toml
index bc09d934..7a92cadb 100644
--- a/pulldown-cmark-escape/Cargo.toml
+++ b/pulldown-cmark-escape/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "pulldown-cmark-escape"
-version = "0.10.0"
+version = "0.10.1"
authors = [
"Raph Levien ",
"Marcus Klaas de Vries ",
@@ -11,5 +11,8 @@ repository = "https://github.com/raphlinus/pulldown-cmark"
keywords = ["escape", "html", "markdown", "commonmark"]
categories = ["text-processing"]
edition = "2021"
-rust-version = "1.70" # Update README.md and azure-pipelines.yml if this changes.
-readme = "../README.md"
+rust-version = "1.70" # Update README.md and GitHub action when changing this
+readme = "./README.md"
+
+[features]
+simd = []
diff --git a/pulldown-cmark-escape/README.md b/pulldown-cmark-escape/README.md
new file mode 100644
index 00000000..a0c397f3
--- /dev/null
+++ b/pulldown-cmark-escape/README.md
@@ -0,0 +1,26 @@
+# pulldown-cmark-escape
+
+[](https://github.com/pulldown-cmark/pulldown-cmark/actions/workflows/rust.yml)
+[](https://docs.rs/pulldown-cmark)
+[](https://crates.io/crates/pulldown-cmark-escape)
+
+[Documentation](https://docs.rs/pulldown-cmark/)
+
+This crate allows to escape HTML and links and it is part of the pulldown-cmark
+project, by providing `escape_html`, `escape_html_body_text` (for
+a less long output in body HTML strings) and `escape_href` functions.
+
+## Authors
+
+The main author is Raph Levien. The implementation of the new design (v0.3+) was
+completed by Marcus Klaas de Vries. Since 2023, the development has been driven
+by MartÃn Pozo, Michael Howell, Roope Salmi and Martin Geisler.
+
+## License
+
+This software is under the MIT license. See details in [license file](./LICENSE).
+
+## Contributions
+
+We gladly accept contributions via GitHub pull requests. Please see
+[CONTRIBUTING.md](../CONTRIBUTING.md) for more details.
diff --git a/pulldown-cmark/Cargo.toml b/pulldown-cmark/Cargo.toml
index 15a27fa4..fbded497 100644
--- a/pulldown-cmark/Cargo.toml
+++ b/pulldown-cmark/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "pulldown-cmark"
-version = "0.10.2"
+version = "0.10.3"
authors = [
"Raph Levien ",
"Marcus Klaas de Vries ",
@@ -81,5 +81,5 @@ bincode = "1.3.1"
[features]
default = ["getopts", "html"]
gen-tests = []
-simd = []
+simd = ["pulldown-cmark-escape?/simd"]
html = ["pulldown-cmark-escape"]