<html><head></head><body><div></div><div>
<title></title>
I don’t fully understand the issue. I followed up the reference you
posted, and the follow-on reference to Chris Riesbeck’s web page,
and there I see the following:<div><br></div>
<div><p style="-webkit-tap-highlight-color: rgba(26, 26, 26, 0.3); -webkit-text-size-adjust: auto; font-family: arial, sans-serif; font-size: medium; background-color: rgb(255, 255, 255);"><code style="background-color: rgb(204, 255, 204); font-size: 12pt; overflow: auto;">make-instance</code> (in conjunction with <code style="background-color: rgb(204, 255, 204); font-size: 12pt; overflow: auto;">initialize-instance</code>) creates an instance of a circle as follows:</p><ul style="-webkit-tap-highlight-color: rgba(26, 26, 26, 0.3); -webkit-text-size-adjust: auto; background-color: rgb(255, 255, 255);"><li style="font-family: arial, sans-serif; font-size: 12pt;"><code style="background-color: rgb(204, 255, 204); font-size: 12pt; overflow: auto;">make-instance</code> creates an empty instance. </li><li style="font-family: arial, sans-serif; font-size: 12pt;"><code style="background-color: rgb(204, 255, 204); font-size: 12pt; overflow: auto;">make-instance</code> passes the instance and the other arguments to <code style="background-color: rgb(204, 255, 204); font-size: 12pt; overflow: auto;">initialize-instance</code>. </li><li style="font-family: arial, sans-serif; font-size: 12pt;"><code style="background-color: rgb(204, 255, 204); font-size: 12pt; overflow: auto;">initialize-instance</code> first uses any explicit initargs that you gave to <code style="background-color: rgb(204, 255, 204); font-size: 12pt; overflow: auto;">make-instance</code>.</li><li style="font-family: arial, sans-serif; font-size: 12pt;">For slots still unitialized, it then uses any default initargs that have been defined.</li><li style="font-family: arial, sans-serif; font-size: 12pt;">Finally, for slots still unitialized, it uses any default initforms that have been defined.</li></ul><p style="-webkit-tap-highlight-color: rgba(26, 26, 26, 0.3); -webkit-text-size-adjust: auto; font-family: arial, sans-serif; font-size: medium; background-color: rgb(255, 255, 255);">So one difference is that default initargs take priority over initforms.</p><p style="-webkit-tap-highlight-color: rgba(26, 26, 26, 0.3); -webkit-text-size-adjust: auto; font-family: arial, sans-serif; font-size: medium; background-color: rgb(255, 255, 255);">———-</p>
This suggests that your default initargs (Apple tried to make that “unitards”!) should, in fact, shadow the initforms.</div><div><br></div><div>This seems to be consistent with what is in the spec here <a href="http://www.lispworks.com/documentation/HyperSpec/Body/07_a.htm">http://www.lispworks.com/documentation/HyperSpec/Body/07_a.htm</a></div><div><br></div><div>I’ll have to look at the actual code (not at my desk rn) to see what’s going on, but it does not seem to be an issue with default initargs vs. initforms </div><div><br></div><div>If anyone else beats me to it, that would be great.</div><div><br></div><div><br>
<div class="gmail_signature">
<div>-- <br>
Robert P. Goldman</div>
</div>
<p class="gmail_quote" style="color:#000;">On December 22, 2021 at
05:18:58, Attila Lendvai (<a href="mailto:attila@lendvai.name">attila@lendvai.name</a>) wrote:</p>
<blockquote type="cite" class="gmail_quote">
<div>
<div>
<div style="font-family: arial; font-size: 14px;">
<div style="font-family: arial; font-size: 14px;"><span>dear
list,<br></span></div>
<div style="font-family: arial; font-size: 14px;">
<span><br></span></div>
<div style="font-family: arial; font-size: 14px;"><span>i wanted to
set the default-component-class of our own system subclass
using :default-initargs, but it's ignored because the slot has
a :initform (as opposed to setting the default value using a
:default-initargs entry).<br></span></div>
<div style="font-family: arial; font-size: 14px;">
<span><br></span></div>
<div style="font-family: arial; font-size: 14px;"><span>in the
current ASDF setup, i need to override the slot (or the accessor
method), which involves messing with internal
symbols.<br></span></div>
<div style="font-family: arial; font-size: 14px;">
<span><br></span></div>
<div style="font-family: arial; font-size: 14px;"><span>if ASDF
used :default-initargs then i could just override that using
a :default-initargs entry on my own subclass
(IIUC).<br></span></div>
<div style="font-family: arial; font-size: 14px;">
<span><br></span></div>
<div style="font-family: arial; font-size: 14px;"><span><a href="https://lisptips.com/post/11728375873/initform-and-default-initargs">
https://lisptips.com/post/11728375873/initform-and-default-initargs</a><br>
</span></div>
<div style="font-family: arial; font-size: 14px;">
<span><br></span></div>
<div style="font-family: arial; font-size: 14px;"><span>i'm sending
it for your consideration, it's not a pressing issue on my
side.<br></span></div>
<div style="font-family: arial; font-size: 14px;">
<span><br></span></div>
<div style="font-family: arial; font-size: 14px;" class="protonmail_signature_block">
<div class="protonmail_signature_block-user">
<div><span>- attila<br></span></div>
<div><span>PGP: 5D5F 45C7 DFCD 0A39<br></span></div>
</div>
<div class="protonmail_signature_block-proton protonmail_signature_block-empty">
</div>
</div>
</div>
<div style="font-family: arial; font-size: 14px;">
<span><br></span></div>
</div>
</div>
</blockquote>
</div>
</div></body></html>