summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--library/src/layout/par.rs5
-rw-r--r--tests/ref/bugs/smartquotes-on-newline.pngbin0 -> 1625 bytes
-rw-r--r--tests/typ/bugs/smartquotes-on-newline.typ7
3 files changed, 11 insertions, 1 deletions
diff --git a/library/src/layout/par.rs b/library/src/layout/par.rs
index 6170a34d..2d6bd96d 100644
--- a/library/src/layout/par.rs
+++ b/library/src/layout/par.rs
@@ -609,7 +609,10 @@ fn collect<'a>(
elem.text().chars().next()
} else if child.is::<SmartQuoteElem>() {
Some('"')
- } else if child.is::<SpaceElem>() || child.is::<HElem>() {
+ } else if child.is::<SpaceElem>()
+ || child.is::<HElem>()
+ || child.is::<LinebreakElem>()
+ {
Some(SPACING_REPLACE)
} else {
Some(OBJ_REPLACE)
diff --git a/tests/ref/bugs/smartquotes-on-newline.png b/tests/ref/bugs/smartquotes-on-newline.png
new file mode 100644
index 00000000..fdf4623a
--- /dev/null
+++ b/tests/ref/bugs/smartquotes-on-newline.png
Binary files differ
diff --git a/tests/typ/bugs/smartquotes-on-newline.typ b/tests/typ/bugs/smartquotes-on-newline.typ
new file mode 100644
index 00000000..3180350e
--- /dev/null
+++ b/tests/typ/bugs/smartquotes-on-newline.typ
@@ -0,0 +1,7 @@
+// Test that smart quotes are inferred correctly across newlines.
+
+---
+"test"#linebreak()"test"
+
+"test"\
+"test"