<div><br></div>Gary,<div><br><div>When you have multiple instances of the same extension (with different arguments) on the same line, each instance repeats the first instance. If you trace the function call, each instance calls the function with the arguments of the first call.</div>
<div><br></div><div>If you put in a line break between the extension instances, markdown works correctly.</div><div><br></div><div>Below is some test code demonstrating the error</div><div><br></div><div>andy</div></div><div>
<br></div><div><br></div><div><div><font face="courier new, monospace">(in-package :markdown)</font></div><div><font face="courier new, monospace"><br></font></div><div><font face="courier new, monospace">(defextension (link-new :arguments ((text :required)</font></div>
<div><font face="courier new, monospace"> (href :required))</font></div><div><font face="courier new, monospace"> :insertp t)</font></div><div><font face="courier new, monospace"> (ecase phase</font></div>
<div><font face="courier new, monospace"> (:parse</font></div><div><font face="courier new, monospace"> ;; no worries</font></div><div><font face="courier new, monospace"> )</font></div><div><font face="courier new, monospace"> (:render </font></div>
<div><font face="courier new, monospace"> (format nil "<a href=~s target=\"_blank\">~a</a>" href text))))</font></div><div><font face="courier new, monospace"><br></font></div><div><font face="courier new, monospace">(defparameter *cliki*</font></div>
<div><font face="courier new, monospace"> "Cliki link here: {link-new \"cliki\" \"<a href="http://www.cliki.net">http://www.cliki.net</a>\"}.")</font></div><div><font face="courier new, monospace"><br>
</font></div><div><font face="courier new, monospace">(defparameter *google*</font></div><div><font face="courier new, monospace"> "Google link here: {link-new \"google\" \"<a href="http://www.google.com">http://www.google.com</a>\"}.")</font></div>
<div><font face="courier new, monospace"><br></font></div><div><font face="courier new, monospace">(defparameter *test-one-line*</font></div><div><font face="courier new, monospace"> (concatenate 'string</font></div>
<div><font face="courier new, monospace"> *cliki*</font></div><div><font face="courier new, monospace"> " "</font></div><div><font face="courier new, monospace"> *google*))</font></div>
<div><font face="courier new, monospace"><br></font></div><div><font face="courier new, monospace">(defparameter *test-two-lines*</font></div><div><font face="courier new, monospace"> (concatenate 'string</font></div>
<div><font face="courier new, monospace"> *cliki*</font></div><div><font face="courier new, monospace"> (string #\Newline)</font></div><div><font face="courier new, monospace"> *google*))</font></div>
<div><font face="courier new, monospace"><br></font></div><div><font face="courier new, monospace">(defun test-string (str)</font></div><div><font face="courier new, monospace"> (let ((*render-active-functions* </font></div>
<div><font face="courier new, monospace"> (append '(link-new) *render-active-functions*)))</font></div><div><font face="courier new, monospace"> (nth-value 1 (markdown str :stream nil))))</font></div><div>
<font face="courier new, monospace"><br></font></div></div><div><div><font face="courier new, monospace">MARKDOWN> (trace link-new)</font></div><div><font face="courier new, monospace">(LINK-NEW)</font></div><div><span style="font-family:'courier new',monospace">MARKDOWN> (test-string *test-one-line*)</span><br>
</div><div><font face="courier new, monospace"> 0: (LINK-NEW :RENDER ("cliki" "<a href="http://www.cliki.net">http://www.cliki.net</a>") NIL)</font></div><div><font face="courier new, monospace"> 0: LINK-NEW returned</font></div>
<div><font face="courier new, monospace"> "<a href=\"<a href="http://www.cliki.net">http://www.cliki.net</a>\" target=\"_blank\">cliki</a>"</font></div><div><font face="courier new, monospace"> 0: (LINK-NEW :RENDER ("cliki" "<a href="http://www.cliki.net">http://www.cliki.net</a>") NIL)</font></div>
<div><font face="courier new, monospace"> 0: LINK-NEW returned</font></div><div><font face="courier new, monospace"> "<a href=\"<a href="http://www.cliki.net">http://www.cliki.net</a>\" target=\"_blank\">cliki</a>"</font></div>
<div><font face="courier new, monospace">"<p>Cliki link here: <a href=\"<a href="http://www.cliki.net">http://www.cliki.net</a>\" target=\"_blank\">cliki</a>. Google link here: <a href=\"<a href="http://www.cliki.net">http://www.cliki.net</a>\" target=\"_blank\">cliki</a>. </p>"</font></div>
<div><font face="courier new, monospace">MARKDOWN> (test-string *test-two-lines*)</font></div><div><font face="courier new, monospace"> 0: (LINK-NEW :RENDER ("cliki" "<a href="http://www.cliki.net">http://www.cliki.net</a>") NIL)</font></div>
<div><font face="courier new, monospace"> 0: LINK-NEW returned</font></div><div><font face="courier new, monospace"> "<a href=\"<a href="http://www.cliki.net">http://www.cliki.net</a>\" target=\"_blank\">cliki</a>"</font></div>
<div><font face="courier new, monospace"> 0: (LINK-NEW :RENDER ("google" "<a href="http://www.google.com">http://www.google.com</a>") NIL)</font></div><div><font face="courier new, monospace"> 0: LINK-NEW returned</font></div>
<div><font face="courier new, monospace"> "<a href=\"<a href="http://www.google.com">http://www.google.com</a>\" target=\"_blank\">google</a>"</font></div><div><font face="courier new, monospace">"<p>Cliki link here: <a href=\"<a href="http://www.cliki.net">http://www.cliki.net</a>\" target=\"_blank\">cliki</a>. Google link here: <a href=\"<a href="http://www.google.com">http://www.google.com</a>\" target=\"_blank\">google</a>. </p>"</font></div>
<div><font face="courier new, monospace">MARKDOWN> </font></div></div>