<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
</head>
<body text="#000000" bgcolor="#FFFFFF">
For whatever it is worth, the more I think of it, the more it seems
to me that the behavior of MAKE-DISPATCH-MACRO-CHARACTER<br>
in CCL is correct.<br>
<br>
The best reason that I have been able to think of for believing
otherwise is that making previous definitions of characters
associated<br>
with the dispatching macro character signal errors may be
unintended. calling DELETE-FILE may be unintended, but it is
relatively<br>
clear what the effects of doing so should be. If you don't want to
change the definition of all characters associated with (e.g.) #\#<br>
in a given readtable, don't call MAKE-DISPATCH-MACRO-CHARACTER. If
one does want that behavior (for whatever reason) and <br>
MAKE-DISPATCH-MACRO-CHARACTER doesn't do it for you, is it necessary
to call SET-DISPATCH-MACRO-CHARACTER to some function<br>
that signals an error for every possible character?<br>
<br>
If the definition of MAKE-DISPATCH-MACRO-CHARACTER said that it only
does what that definition says it does if you intended for that<br>
to happen, fine. It doesn't qualify the described behavior at
all. Neither does the description of DELETE-FILE (which is
obviously more<br>
implementation- and filesystem dependent but otherwise seems
analogous.<br>
<br>
<br>
<br>
<br>
<div class="moz-cite-prefix">On 11/12/2015 03:27 PM, Gary Byers
wrote:<br>
</div>
<blockquote cite="mid:5645126D.2080407@clozure.com" type="cite">
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<br>
<br>
<div class="moz-cite-prefix">On 11/12/2015 11:37 AM, Ron Garret
wrote:<br>
</div>
<blockquote
cite="mid:0736676C-3D3A-4F1C-9D7E-108FF3EB8B84@flownet.com"
type="cite">
<pre wrap="">(MAKE-DISPATCH-MACRO-CHARACTER #\# NIL <b class="moz-txt-star"><span class="moz-txt-tag">*</span>readtable<span class="moz-txt-tag">*</span></b>)</pre>
</blockquote>
CLHS says (of MAKE-DISPATCH-MACRO-CHARACTER) that,<br>
<br>
"Initially, every <a moz-do-not-send="true" rel="DEFINITION"
href="http://www.lispworks.com/documentation/lw50/CLHS/Body/26_glo_c.htm#character"><i>character</i></a>
in the dispatch table associated with the <i>char</i> has an
associated function that signals an error of <a
moz-do-not-send="true" rel="DEFINITION"
href="http://www.lispworks.com/documentation/lw50/CLHS/Body/26_glo_t.htm#type"><i>type</i></a>
<a moz-do-not-send="true" rel="DEFINITION"
href="http://www.lispworks.com/documentation/lw50/CLHS/Body/e_rder_e.htm#reader-error"><b>reader-error</b></a>."<br>
<br>
In the body of your message, you seemed to expect #' to have
retained its original definition.<br>
<br>
If the term "... makes char be a dispatching-macro-character ..."
is read as "does nothing if the character is already defined as a
dispatching-macro, else ...",<br>
your expectation is reasonable. I am probably more accustomed to
the behavior that that you said that you get in 1.10, but both
expectations seem reasonable.<br>
<br>
Portable code could avoid the issue by calling
GET-DISPATCH-MACRO-CHARACTER and only calling
MAKE-DISPATCH-MACRO-CHARACTER if the character is not already
defined as a dispatching macro. I don't know what the library
that the original poster mentioned does. or what version of that
library they are using.<br>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
Openmcl-devel mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Openmcl-devel@clozure.com">Openmcl-devel@clozure.com</a>
<a class="moz-txt-link-freetext" href="https://lists.clozure.com/mailman/listinfo/openmcl-devel">https://lists.clozure.com/mailman/listinfo/openmcl-devel</a>
</pre>
</blockquote>
<br>
</body>
</html>