wisp
 
(Arne Babenhauserheide)
2013-08-26: fixed whitespace reordering

fixed whitespace reordering

diff --git a/wisp-guile.w b/wisp-guile.w
--- a/wisp-guile.w
+++ b/wisp-guile.w
@@ -403,7 +403,7 @@ define : wisp2lisp-parse lisp prev lines
     if : not : line-continues? prev
         set! prev : line-add-starting-bracket prev
     set! lines : map-in-order wisp2lisp-add-inline-colon-brackets lines
-    let bracketizer : (levels '(0)) (pre prev) (unprocessed lines) (processed lisp)
+    let bracketizer : (levels '(0)) (pre prev) (unprocessed lines) (processed lisp) (whitespace '())
         ; levels is the list of levels, with the lowest to the right. i.e: '(12 8 4 0)
         ; once we processed everything, we pass the bracketizer pre as f one last time
         if : equal? #f : line-content pre
@@ -412,7 +412,8 @@ define : wisp2lisp-parse lisp prev lines
                 if : line-empty-code? next ; empty lines get silently added, but otherwise ignored
                     bracketizer levels pre 
                          list-tail unprocessed 1
-                         append processed : list next
+                         . processed 
+                         append whitespace : list next
                     ; firstoff add the next indent to the levels, so we only work on the levels, prev-continues, next-continues and next-indent
                     ; if pre was a continuation, the real levels are 1 lower than the counted levels
                     let*
@@ -428,7 +429,8 @@ define : wisp2lisp-parse lisp prev lines
                           newlevels : line-indent-levels-adjust levels next-indent
                         bracketizer newlevels newnext 
                             if final-line unprocessed : list-tail unprocessed 1
-                            append processed : list newpre
+                            append processed (list newpre) whitespace
+                            list
 
 
 define : wisp2lisp-initial-comments lisp prev lines