(Arne Babenhauserheide)
2013-08-20: can process inline : into sublists, as well as end-of-line : into can process inline : into sublists, as well as end-of-line : into ().
diff --git a/wisp-guile.w b/wisp-guile.w --- a/wisp-guile.w +++ b/wisp-guile.w @@ -303,12 +303,13 @@ define : wisp2lisp-add-inline-colon-brac ; that we need an additional closing bracket ; at the end. bracketizer instring inbrackets : + 1 bracketstoadd - . : string-append (string-drop-right unprocessed 2) "(" - . processed - if : and (> (string-length unprocessed) 3) : equal? " ' (" : string-take-right unprocessed 4 + . : string-append (string-drop-right unprocessed 2) + string-append "(" processed + ; turn " ' (" into " '(", do not modify unprocessed, except to shorten it! + if : and (string-prefix? "(" processed) (> (string-length unprocessed) 3) : equal? " ' " : string-take-right unprocessed 3 ; leave out the second space bracketizer instring inbrackets bracketstoadd - . (string-append (string-drop-right unprocessed 3) "'(") + . (string-append (string-drop-right unprocessed 2) "'") . processed ; else, just go on bracketizer instring inbrackets bracketstoadd @@ -373,12 +374,15 @@ let* ; display : list-ref lines 100 ; seems good let show : (processed '()) (unprocessed lisp) when : not : equal? unprocessed '() - display : length processed - display : line-content : list-ref unprocessed 0 - display ";" - display : line-comment : list-ref unprocessed 0 - newline - show (append processed (list (list-ref unprocessed 0))) (list-tail unprocessed 1) + let : : next : list-ref unprocessed 0 + display : length processed + display ": " + display : xsubstring " " 0 : line-indent next + display : line-content next + display ";" + display : line-comment next + newline + show (append processed (list next)) (list-tail unprocessed 1) let : : line : list-ref lisp 158 display : line-indent line