wisp
 
(Arne Babenhauserheide)
2014-08-16: FIX: used #\linefeed for \n and #\newline for \r. Correct: #\newline

FIX: used #\linefeed for \n and #\newline for \r. Correct: #\newline for \n and #\return for \r.

diff --git a/wisp-guile.w b/wisp-guile.w
--- a/wisp-guile.w
+++ b/wisp-guile.w
@@ -69,8 +69,8 @@ Ends with three consecutive linebreaks o
             not 
                 or : eof-object? nextchar
                      and 
-                         or (char=? nextchar #\linefeed ) (char=? nextchar #\newline ) 
-                         or (char=? lastchar #\linefeed ) (char=? lastchar #\newline ) 
+                         or (char=? nextchar #\newline ) (char=? nextchar #\return ) 
+                         or (char=? lastchar #\newline ) (char=? lastchar #\return ) 
                          string-suffix? "\n\n" text ; text includes lastchar
             ; incommentfirstchar is only valid for exactly one char
             when incommentfirstchar : set! incommentfirstchar #f 
@@ -90,7 +90,7 @@ Ends with three consecutive linebreaks o
                     
             when : >= incharform 2
                 if : or (char=? nextchar #\space) (char=? 
-                                nextchar #\linefeed ) (char=? nextchar #\newline ) 
+                                nextchar #\newline ) (char=? nextchar #\return ) 
                    begin
                        ; format #t "2: set incharform 0: lastchar ~a nextchar ~a instring ~a incomment ~a incharform ~a" lastchar nextchar instring incomment incharform
                        ; newline
@@ -113,8 +113,8 @@ Ends with three consecutive linebreaks o
                                       ; not : equal? #f : string-match "\\([^\\]\\)+\\(\\\\\\\\\\)*[\\]$" text ; matches [^\](\\)*\$ - non-backslash + arbitrary number of pairs of backslashes + final backslash which undoes the escaping from the lastchar (by actually escaping the lastchar)
                                       endsinunevenbackslashes text
                         char=? lastchar #\space ; when the last char was a space, I can get into a string
-                        char=? lastchar #\linefeed ; same for newline chars
-                        char=? lastchar #\newline 
+                        char=? lastchar #\newline ; same for newline chars
+                        char=? lastchar #\return 
                         and : not instring ; outside of strings, brackets are pseudo-whitespace, too
                               or
                                 char=? lastchar #\( 
@@ -141,8 +141,8 @@ Ends with three consecutive linebreaks o
             when
                 and incomment
                     or 
+                        char=? nextchar #\return
                         char=? nextchar #\newline
-                        char=? nextchar #\linefeed
                 set! incomment #f
             
             ; check for the beginning of a charform
@@ -176,11 +176,11 @@ Ends with three consecutive linebreaks o
                     when : or (equal? "}" (string nextchar)) (equal? ")" (string nextchar)) (equal? "]" (string nextchar))
                         set! inbrackets : - inbrackets 1
             if : or instring : > inbrackets 0
-                if : char=? nextchar #\linefeed
+                if : char=? nextchar #\newline
                     ; we have to actually construct the escape
                     ; sequence here to be able to parse ourselves.
                     set! text : string-append text : string-append "\\LINE_" "BREAK_N"
-                    if : char=? nextchar #\newline
+                    if : char=? nextchar #\return
                         set! text : string-append text : string-append "\\LINE_" "BREAK_R"
                         ; else
                         set! text : string-append text : string nextchar
@@ -207,7 +207,7 @@ define : splitlines inport
           nextchar : read-char inport
           nextline ""
         while : not : eof-object? nextchar
-            if : not : or (char=? nextchar #\newline ) (char=? nextchar #\linefeed )
+            if : not : or (char=? nextchar #\return ) (char=? nextchar #\newline )
                 set! nextline : string-append nextline : string nextchar
                 begin 
                     set! lines : append lines (list nextline)
@@ -746,9 +746,9 @@ define : unescape-linebreaks text
        . "unescape linebreaks"
        string-replace-substring
            ; we have to construct the placeholders here to avoid unescaping them when we parse ourselves…
-           string-replace-substring text (string-append "\\LINE_" "BREAK_N") : string #\linefeed
+           string-replace-substring text (string-append "\\LINE_" "BREAK_N") : string #\newline
            string-append "\\LINE_" "BREAK_R"
-           string #\newline 
+           string #\return 
 
 
 define : unescape-comments text