<br><br><div class="gmail_quote">2013/6/18 Mikael <span dir="ltr"><<a href="mailto:mikael.rcv@gmail.com" target="_blank">mikael.rcv@gmail.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<br><div>So something is invalid about doing what I did in the printf above, which should correspond to</div><div><br></div>
<blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div>___SCMOBJ newref = (reference_location == IN_OBJECT) ? ((int*) container_body) : ___FAL;</div></blockquote><div><br></div><div>Em. The ___SCMOBJ *is* the new location, isn't it, so this should have worked - </div>


<div><br></div><div>What did I miss, how is this done correctly?</div><div><br></div>
</blockquote></div><div><br></div>Aah right - container_body needs to be given the proper header tag in order to be a ___SCMOBJ. So to get it:<br><div><br></div><div>When reference_location == IN_OBJECT , to container_body, I need to add an object type mask based on ___HD_WORDS(head) and ___HD_SUBTYPE(head) where head = container_body[-1] .</div>

<div><br></div><div>This would be done by applying on container_body, depending on its type:</div><div><br></div><div> * If fixnum:    << ___TB + ___tFIXNUM</div><div><br></div><div> * If special object (#f etc.): << ___TB +  ___tSPECIAL</div>

<div><br></div><div> * If pair: << ___TB + ___tPAIR</div><div><br></div><div> * If other type:  How, there's some macros like __BODY , would any of those be of use?</div><div><br></div><div>Also would there be some macro for the fixnum/special/pair cases?</div>

<div><br></div><div><br></div>