cs: fix printer for symbols containing ; or `

Closes #3448

Thanks again, Xsmith!
This commit is contained in:
Matthew Flatt 2020-10-19 15:26:31 -06:00
parent 6c6cfd39b2
commit 3b34b0ce02
3 changed files with 82 additions and 66 deletions

View File

@ -65,6 +65,8 @@
(ptest "'apple" 'apple) (ptest "'apple" 'apple)
(ptest "'|apple banana|" '|apple banana|) (ptest "'|apple banana|" '|apple banana|)
(ptest "'||" '||) (ptest "'||" '||)
(ptest "'|;|" '|;|)
(ptest "'|`|" '|`|)
(ptest "'#:apple" '#:apple) (ptest "'#:apple" '#:apple)
(ptest "'#%apple" '#%apple) (ptest "'#%apple" '#%apple)
(ptest "\"apple\"" "apple") (ptest "\"apple\"" "apple")

View File

@ -20931,62 +20931,74 @@
(if or-part_9 (if or-part_9
or-part_9 or-part_9
(let ((or-part_10 (let ((or-part_10
(char=?
ch_0
'#\x3b)))
(if or-part_10
or-part_10
(let ((or-part_11
(char=?
ch_0
'#\x60)))
(if or-part_11
or-part_11
(let ((or-part_12
(if (char=? (if (char=?
ch_0 ch_0
'#\x7c) '#\x7c)
(let ((or-part_10 (let ((or-part_12
(not (not
config8_0))) config8_0)))
(if or-part_10 (if or-part_12
or-part_10 or-part_12
(config-get (config-get
config8_0 config8_0
1/read-accept-bar-quote))) 1/read-accept-bar-quote)))
#f))) #f)))
(if or-part_10 (if or-part_12
or-part_10 or-part_12
(let ((or-part_11 (let ((or-part_13
(if for-type?9_0 (if for-type?9_0
(let ((or-part_11 (let ((or-part_13
(char=? (char=?
ch_0 ch_0
'#\x3c))) '#\x3c)))
(if or-part_11 (if or-part_13
or-part_11 or-part_13
(char=? (char=?
ch_0 ch_0
'#\x3e))) '#\x3e)))
#f))) #f)))
(if or-part_11 (if or-part_13
or-part_11 or-part_13
(let ((or-part_12 (let ((or-part_14
(if (char-whitespace? (if (char-whitespace?
ch_0) ch_0)
(let ((or-part_12 (let ((or-part_14
(not (not
for-type?9_0))) for-type?9_0)))
(if or-part_12 (if or-part_14
or-part_12 or-part_14
(not (not
(char=? (char=?
ch_0 ch_0
'#\x20)))) '#\x20))))
#f))) #f)))
(if or-part_12 (if or-part_14
or-part_12 or-part_14
(let ((or-part_13 (let ((or-part_15
(if (char=? (if (char=?
ch_0 ch_0
'#\x23) '#\x23)
(if (zero? (if (zero?
i_0) i_0)
(let ((or-part_13 (let ((or-part_15
(< (<
(string-length (string-length
str_0) str_0)
2))) 2)))
(if or-part_13 (if or-part_15
or-part_13 or-part_15
(not (not
(char=? (char=?
(string-ref (string-ref
@ -20995,9 +21007,9 @@
'#\x25)))) '#\x25))))
#f) #f)
#f))) #f)))
(if or-part_13 (if or-part_15
or-part_13 or-part_15
(let ((or-part_14 (let ((or-part_16
(if (char=? (if (char=?
ch_0 ch_0
'#\x2e) '#\x2e)
@ -21009,8 +21021,8 @@
1) 1)
#f) #f)
#f))) #f)))
(if or-part_14 (if or-part_16
or-part_14 or-part_16
(if (not (if (not
case-sensitive?_0) case-sensitive?_0)
(not (not
@ -21018,7 +21030,7 @@
ch_0 ch_0
(char-foldcase (char-foldcase
ch_0))) ch_0)))
#f)))))))))))))))))))))))))))))))))))) #f))))))))))))))))))))))))))))))))))))))))
(loop_0 (loop_0
(|#%name| (|#%name|
loop loop

View File

@ -33,6 +33,8 @@
(char=? ch #\\) (char=? ch #\\)
(char=? ch #\') (char=? ch #\')
(char=? ch #\,) (char=? ch #\,)
(char=? ch #\;)
(char=? ch #\`)
(and (char=? ch #\|) (and (char=? ch #\|)
(or (not config) (config-get config read-accept-bar-quote))) (or (not config) (config-get config read-accept-bar-quote)))
(and for-type? (and for-type?