(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)