<html>
<head>
<meta name="generator" content="Windows Mail 17.5.9600.20689">
<style data-externalstyle="true"><!--
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph {
margin-top:0in;
margin-right:0in;
margin-bottom:0in;
margin-left:.5in;
margin-bottom:.0001pt;
}
p.MsoNormal, li.MsoNormal, div.MsoNormal {
margin:0in;
margin-bottom:.0001pt;
}
p.MsoListParagraphCxSpFirst, li.MsoListParagraphCxSpFirst, div.MsoListParagraphCxSpFirst,
p.MsoListParagraphCxSpMiddle, li.MsoListParagraphCxSpMiddle, div.MsoListParagraphCxSpMiddle,
p.MsoListParagraphCxSpLast, li.MsoListParagraphCxSpLast, div.MsoListParagraphCxSpLast {
margin-top:0in;
margin-right:0in;
margin-bottom:0in;
margin-left:.5in;
margin-bottom:.0001pt;
line-height:115%;
}
--></style></head>
<body dir="ltr">
<div data-externalstyle="false" dir="ltr" style="font-family: 'Calibri', 'Meiryo', 'Segoe UI', 'Microsoft YaHei UI', 'Microsoft JhengHei UI', 'Malgun Gothic', 'sans-serif';font-size:12pt;">
<div>Another example from <a href="http://www.cliki.net/diff" target="_parent">http://www.cliki.net/diff</a></div><div>In the diff.lisp file,</div><div><br></div><div>(defmacro do-file-lines ((line-var pathname-var &optional result) &body body)<br> (let ((stream-var (gensym)))<br> `(with-open-file (,stream-var ,pathname-var :direction :input<br> :element-type 'character)<br> (do-stream-lines (,line-var ,stream-var ,result)<br> ,@body))))</div><div><br></div><div>(defun diff::intern-files (&rest files)<br> (let ((interner (diff::make-interner))<br> (interned-files nil))<br> (dolist (file files (values interner (nreverse interned-files)))<br> (let ((interned-file nil))<br> (diff::do-file-lines (line file)<br> (let ((code (diff::intern-string interner line)))<br> (push code interned-file)))<br> (push (coerce (nreverse interned-file) 'simple-vector) interned-files)))))</div><div><br></div><div>The compiled code refuses to run, presumably choking at the macro expansion above.</div><div>If I eval the lower diff::intern-files by c-x c-e, the code runs fine.<br></div><div data-signatureblock="true"><div><br></div><div>Sent from Windows Mail</div><div><br></div></div>
</div>
</body>
</html>