ref: c92794b4ee299f4a9d9a0c780a53803811e771a8
parent: 244cb2a15ce8e48cde9bd7080526840d296c5b5c
author: Matthew Flatt <mflatt@racket-lang.org>
date: Mon Nov 14 11:29:08 CST 2022
reader: treat `#!` as a line comment that continues with \ Closes #9
--- a/zuo.c
+++ b/zuo.c
@@ -1941,6 +1941,12 @@
if (s[*_o] == ';') {
while ((s[*_o] != '\n') && (s[*_o] != 0))
(*_o)++;
+ } else if (s[*_o] == '#' && s[(*_o) + 1] == '!') {
+ while (((s[*_o] != '\n')
+ || (s[(*_o)-1] == '\\')
+ || ((s[(*_o)-2] == '\\') && (s[(*_o)-1] == '\r')))
+ && (s[*_o] != 0))
+ (*_o)++;
} else if (s[*_o] == '#' && s[(*_o) + 1] == ';') {
(*_o) += 2;
stack = zuo_cons(zuo_cons(ZUO_IN_DISCARD_RECUR, z.o_null), stack);