Skip to content

Commit 8e6963a

Browse files
committed
strip newline and spaces before dedenting
1 parent 53ad86c commit 8e6963a

File tree

1 file changed

+13
-7
lines changed

1 file changed

+13
-7
lines changed

src/julia-parser.scm

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2185,8 +2185,13 @@
21852185
(define (unescape-parsed-string-literal strs)
21862186
(map-at even? unescape-string strs))
21872187

2188+
(define (strip-escaped-newline s raw)
2189+
(if raw s (map (lambda (s)
2190+
(if (string? s) (strip-escaped-newline- s) s))
2191+
s)))
2192+
21882193
;; remove `\` followed by a newline
2189-
(define (strip-escaped-newline s)
2194+
(define (strip-escaped-newline- s)
21902195
(let ((in (open-input-string s))
21912196
(out (open-output-string)))
21922197
(define (loop preceding-backslash?)
@@ -2210,13 +2215,14 @@
22102215
(if (eqv? (peek-char (take-char p)) delim)
22112216
(map-first strip-leading-newline
22122217
(dedent-triplequoted-string
2213-
(parse-string-literal- 2 (take-char p) s delim raw)))
2218+
(strip-escaped-newline
2219+
(parse-string-literal- 2 (take-char p) s delim raw)
2220+
raw)))
22142221
(list ""))
2215-
(parse-string-literal- 0 p s delim raw))))
2216-
(if raw str (unescape-parsed-string-literal
2217-
(map (lambda (s)
2218-
(if (string? s) (strip-escaped-newline s) s))
2219-
str)))))
2222+
(strip-escaped-newline
2223+
(parse-string-literal- 0 p s delim raw)
2224+
raw))))
2225+
(if raw str (unescape-parsed-string-literal str))))
22202226

22212227
(define (strip-leading-newline s)
22222228
(let ((n (sizeof s)))

0 commit comments

Comments
 (0)