From b7a7de9000ac9f3fa18cad7a888561b9736eaeb5 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Fri, 7 Dec 2007 20:14:15 +0000 Subject: [PATCH] fix CRLF handling in match grammar svn: r7922 --- collects/scribblings/reference/match-grammar.ss | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/collects/scribblings/reference/match-grammar.ss b/collects/scribblings/reference/match-grammar.ss index e41ef7b5d3..754bf08467 100644 --- a/collects/scribblings/reference/match-grammar.ss +++ b/collects/scribblings/reference/match-grammar.ss @@ -137,7 +137,8 @@ ooo ::= *** @zero or more; *** is literal (define re:or-prod "^( +) [|] (.*[^ ])( +)[@](.*)$") (define re:eng-prod "^([^ ]*)( +):== (.*)$") -(define lines (regexp-split "\n" (substring grammar 1 (sub1 (string-length grammar))))) +(define lines (let ([lines (regexp-split "\r?\n" grammar)]) + (reverse (cdr (reverse (cdr lines)))))) (define spacer (hspace 1)) @@ -191,5 +192,8 @@ ooo ::= *** @zero or more; *** is literal (table-line spacer -or- (fixup-rhs val) - (fixup-meaning meaning))))])) + (fixup-meaning meaning))))] + [else (error 'make-match-grammar + "non-matching line: ~e" + line)])) lines)))