<div dir="ltr">On Tue, Jan 29, 2013 at 5:30 PM, Juan Jose Garcia-Ripoll <span dir="ltr"><<a href="mailto:juanjose.garciaripoll@gmail.com" target="_blank">juanjose.garciaripoll@gmail.com</a>></span> wrote:<br><div class="gmail_extra">
<div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="im"><br><div class="gmail_quote">On Tue, Jan 29, 2013 at 3:28 PM, Peter Enerccio <span dir="ltr"><<a href="mailto:enerccio@gmail.com" target="_blank">enerccio@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>Basically, I want to overwrite open function to return my specific (gray) stream. instead of usual stream that it would. <br>
</div>Ideally, all functions/macros that use open should use that function instead, but I am not sure if it is possible.</blockquote></div><div class="gmail_extra"><br></div></div>This is the only instance where ECL contemplates redefinition. Use (gray::redefine-cl-functions)<br>
</div></div>
</blockquote></div><br>Sorry, I misread again: you want _your_ own OPEN function. In this case why don't you shadow OPEN in your application and force it to return gray streams? All packages in your application will see the shadowed symbol.</div>
<div class="gmail_extra"><br></div><div class="gmail_extra" style>The other alternative, redefining OPEN, only works if you tell the compiler not to inline OPEN with a global (proclaim '(notinline open)), for otherwise it will use the C function in the generated code.</div>
<div class="gmail_extra"><br></div><div class="gmail_extra">Juanjo<br clear="all"><div><br></div>-- <br>Instituto de Física Fundamental, CSIC<br>c/ Serrano, 113b, Madrid 28006 (Spain) <br><a href="http://juanjose.garciaripoll.googlepages.com" target="_blank">http://juanjose.garciaripoll.googlepages.com</a>
</div></div>