(Arne Babenhauserheide)
2013-12-30: blind implementation of '(, ,(, and so forth support-scheme-macro-paren-quoting blind implementation of '(, ,(, and so forth
diff --git a/wisp-guile.w b/wisp-guile.w
--- a/wisp-guile.w
+++ b/wisp-guile.w
@@ -373,8 +373,9 @@ define : wisp2lisp-add-inline-colon-brac
; else
let
: lastletter : string-take-right unprocessed 1
- lastupto3 : string-take-right unprocessed : min 3 : string-length unprocessed
- lastupto4 : string-take-right unprocessed : min 4 : string-length unprocessed
+ lastupto3 : string-take-right unprocessed : min 3 : string-length unprocessed
+ lastupto4 : string-take-right unprocessed : min 4 : string-length unprocessed
+ lastupto6 : string-take-right unprocessed : min 6 : string-length unprocessed
; check if we’re in a string
when
or
@@ -411,17 +412,42 @@ define : wisp2lisp-add-inline-colon-brac
string-append (string-drop-right unprocessed 2)
string-append "(" processed
; turn " ' (" into " '(", do not modify unprocessed, except to shorten it!
+ ; same for ` , #' #` #, #,@,
: and (string-prefix? "(" processed) : equal? " ' " lastupto3
; leave out the second space
linebracketizer instring inbrackets bracketstoadd
. (string-append (string-drop-right unprocessed 2) "'")
. processed
- ; TODO: same for , #' #` #, #,@,
+ : and (string-prefix? "(" processed) : equal? " , " lastupto3
+ ; leave out the second space
+ linebracketizer instring inbrackets bracketstoadd
+ . (string-append (string-drop-right unprocessed 2) ",")
+ . processed
: and (string-prefix? "(" processed) : equal? " ` " lastupto3
; leave out the second space
linebracketizer instring inbrackets bracketstoadd
. (string-append (string-drop-right unprocessed 2) "`")
. processed
+ : and (string-prefix? "(" processed) : equal? " #` " lastupto4
+ ; leave out the second space
+ linebracketizer instring inbrackets bracketstoadd
+ . (string-append (string-drop-right unprocessed 3) "#`")
+ . processed
+ : and (string-prefix? "(" processed) : equal? " #' " lastupto4
+ ; leave out the second space
+ linebracketizer instring inbrackets bracketstoadd
+ . (string-append (string-drop-right unprocessed 3) "#'")
+ . processed
+ : and (string-prefix? "(" processed) : equal? " #, " lastupto4
+ ; leave out the second space
+ linebracketizer instring inbrackets bracketstoadd
+ . (string-append (string-drop-right unprocessed 3) "#,")
+ . processed
+ : and (string-prefix? "(" processed) : equal? " #, @," lastupto6
+ ; leave out the second space
+ linebracketizer instring inbrackets bracketstoadd
+ . (string-append (string-drop-right unprocessed 5) "#,@,")
+ . processed
: . else ; just go on
linebracketizer instring inbrackets bracketstoadd
. (string-drop-right unprocessed 1)