wisp
 
(Arne Babenhauserheide)
2014-11-14: with the wisp-reader fix, wisp-scheme.w works completely again.

with the wisp-reader fix, wisp-scheme.w works completely again.

diff --git a/.bugs/bugs b/.bugs/bugs
--- a/.bugs/bugs
+++ b/.bugs/bugs
@@ -7,6 +7,7 @@ wisp-mode: export wisp to html fails in 
 an empty line with : should start with double parens         | owner:Arne Babenhauserheide <bab@draketo.de>, open:False, id:2e188ddf44d36e4605030d3c58607ebfa97d189e, time:1390328674.43
 wisp-in-wisp: remove the leading . for continuation lines after inferring the brackets. | owner:Arne Babenhauserheide <bab@draketo.de>, open:False, id:2e42e5b64622f0cc383eb8acc3d510912e925bf0, time:1377476687.79
 '() gives REPR-QUOTE-...                                     | owner:Arne Babenhauserheide <bab@draketo.de>, open:False, id:30c42de75c137f483245898e2a62af1e65cf19a6, time:1415060388.34
+multiple escaped initial underscores must be unescaped.      | owner:, open:True, id:314e45488da4c7c8298c4c64ece03359918d057b, time:1415959749.14
 wisp: handle general paren prefixes like quote, quasiquote, etc. | owner:, open:False, id:323ff94b5be635742619467e1cb44f4c0d96f63f, time:1379047798.47
 throw an exception when reducing indentation to an unknown indentation level. | owner:Arne Babenhauserheide <bab@draketo.de>, open:False, id:424186bd85f186b7279c5c59e2bd42f847284719, time:1376003568.91
 wisp-in-wisp: only parses the first 272 lines, for some reason. | owner:, open:False, id:4cb6c556d7136609e2da9ab3fc045a39847f1ef3, time:1377014682.98
@@ -32,3 +33,4 @@ comments containing a closing parenthesi
 breaks on empty files                                        | owner:Arne Babenhauserheide <bab@draketo.de>, open:False, id:e40fa7a93eb2c497dca1af7eed22ad5ed5cfbe7f, time:1390325470.91
 wisp-scheme: breaks on lines with only underscores. These should be treated as empty lines. | owner:, open:False, id:e464b5ce49deb14a80f67d50c6d70043ca9bde25, time:1415124488.16
 quote as only char in a line gets parenthized instead of becoming a paren-prefix. | owner:Arne Babenhauserheide <bab@draketo.de>, open:False, id:eb7468387e90bb5d13f5a5d81c6f4a704f2ca0fb, time:1390326369.6
+in the REPL output can be delayed by one line: Appears only when submitting the next command. | owner:, open:True, id:f1e42bbd4c17a2dec886c26d9c14e770bcff66d2, time:1415972414.48
diff --git a/wisp-scheme.w b/wisp-scheme.w
--- a/wisp-scheme.w
+++ b/wisp-scheme.w
@@ -591,15 +591,15 @@ Match is awesome!"
                  syntax-error tocheck "list with the period as only member"
                ; list with remaining dot.
                : a ...
-                 if : and (member repr-dot a) : not : equal? (quote quote) (car a)
+                 if : and (member repr-dot a)
                       syntax-error tocheck "leftover period in list"
                       map check a
-               ; ; simple pair - this and the next do not work when parsed from wisp-scheme itself. Why?
-               ; : 'REPR-DOT-e749c73d-c826-47e2-a798-c16c13cb89dd . c
-               ;   syntax-error tocheck "dot as first element in already improper pair"
-               ; ; simple pair, other way round
-               ; : a . 'REPR-DOT-e749c73d-c826-47e2-a798-c16c13cb89dd
-               ;   syntax-error tocheck "dot as last element in already improper pair"
+               ; simple pair - this and the next do not work when parsed from wisp-scheme itself. Why?
+               : 'REPR-DOT-e749c73d-c826-47e2-a798-c16c13cb89dd . c
+                 syntax-error tocheck "dot as first element in already improper pair"
+               ; simple pair, other way round
+               : a . 'REPR-DOT-e749c73d-c826-47e2-a798-c16c13cb89dd
+                 syntax-error tocheck "dot as last element in already improper pair"
                ; more complex pairs
                : ? pair? a
                  let 
@@ -736,3 +736,4 @@ define : wisp-scheme-read-string-chunk s
 ; map primitive-eval : wisp-scheme-read-file "wisp-guile.w" ; actually runs wisp-guile.w with the arguments supplied to this script.
 ; uncomment the previous line, then run the next line in the shell. If 1 and 2 are equal, this parser works!
 ; guile wisp.scm wisp-scheme.w > wisp-scheme.scm; guile wisp-scheme.scm wisp-guile.w > 1; guile wisp.scm wisp-guile.w > 2; diff 1 2
+