<div dir="ltr">On Mon, Oct 6, 2008 at 7:25 PM, Eli Barzilay <span dir="ltr">&lt;<a href="mailto:eli@barzilay.org">eli@barzilay.org</a>&gt;</span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="Ih2E3d">On Oct &nbsp;7, Noel Welsh wrote:<br>
&gt; You could make your regexp match to the end of the line (using the $<br>
&gt; symbol IIRC) or you could convert the file to a list of strings and<br>
&gt; match on those. &nbsp;For the later the port-&gt;string-list function in the<br>
&gt; port.plt package on PLaneT will help.<br>
<br>
</div>As a side note, that function is easy to define using either<br>
`for/list&#39;:<br>
<br>
 &nbsp;(define (port-&gt;string-list port)<br>
 &nbsp; &nbsp;(for/list ([l (in-lines port)]) l))<br>
<br>
or `regexp-split&#39;:<br>
<br>
 &nbsp;(define (port-&gt;string-list port)<br>
 &nbsp; &nbsp;(map bytes-&gt;string/utf-8 (regexp-split #rx&quot;\r?\n&quot; port)))<br>
<br>
<br>
And, as long as I&#39;m looking at that file, the quick-n-dirty hack can<br>
fail in unexpected ways:<br>
<br>
 &nbsp;&gt; (port-&gt;sexp-list (open-input-string &quot;1 2 3) 4&quot;))<br>
 &nbsp;(1 2 3)<br>
 &nbsp;&gt; (port-&gt;sexp-list (open-input-string &quot;#z 1 2 3&quot;))<br>
 &nbsp;UNKNOWN::1: read: bad syntax `#z&#39;<br>
<br>
the location is off-by-1 in that last example.<br>
<br>
 &nbsp;&gt; (port-&gt;sexp-list (open-input-string &quot;1 2 3 #&quot;))<br>
 &nbsp;UNKNOWN::7: read: bad syntax `#)&#39;<br>
 &nbsp;&gt; (port-&gt;sexp-list (open-input-string &quot;1 2 3 [&quot;))<br>
 &nbsp;UNKNOWN::8: read: unexpected `)&#39;<br>
<br>
these examples expose the fake parens.<br>
<br>
And finally, all of these:<br>
<br>
 &nbsp;(port-&gt;sexp-list (open-input-string &quot;1 2 3 (&quot;))<br>
 &nbsp;(port-&gt;sexp-list (open-input-string &quot;1 2 3 #\&quot;))<br>
 &nbsp;(port-&gt;sexp-list (open-input-string &quot;1 2 3 \\&quot;))<br>
 &nbsp;(port-&gt;sexp-list (open-input-string &quot;1 2 3 \&quot;&quot;))<br>
<br>
will just get stuck.<br>
<div><div></div><div class="Wj3C7c"><br>
--<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;((lambda (x) (x x)) (lambda (x) (x x))) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Eli Barzilay:<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<a href="http://www.barzilay.org/" target="_blank">http://www.barzilay.org/</a> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Maze is Life!<br>
</div></div></blockquote></div><br>Thanks for the info. I&#39;ll go play with this now.<br clear="all"><br>-- Eli<br><br>You can meet at his location,<br>but you better come with cash.<br>-- Cake<br>
</div>