<div dir="ltr">On Sat, Sep 13, 2008 at 9:27 PM, Leslie P. Polzer <span dir="ltr"><<a href="mailto:sky@viridian-project.de">sky@viridian-project.de</a>></span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
How about providing a restart for accessing the symbol<br>
nevertheless, if it's an internal symbol?</blockquote><div><br>There is a problem with this which is not related to the internal / external problem and which is that if the debugger jumps in when the reader is working, then all the input is trashed. Suppose we add the code below in ecl_read_object_with_delimiter() Now you type<br>
<br>> (list 'c:inexistent-symbol 2)<br><br>When the reader gets to the token c:var the debugger jumps in an it has to first clear the input buffer, thus eliminating the remaining objects 2 and #\). What do we do then? I understand this is an even more inconvenient way to handle the external symbol problem.<br>
<br>Juanjo<br><br>--- potential fix ----<br> if (external_symbol) {<br> x = ecl_find_symbol(token, p, &intern_flag);<br> if (intern_flag == EXTERNAL)<br> goto OUTPUT;<br> CEerror(@'intern',<br>
"Cannot find the external symbol ~A in ~S.",<br> 2, si_copy_to_simple_base_string(token), p);<br> }<br> if (p == Cnil) {<br> p = ecl_current_package();<br> }<br> /* INV: cl_make_symbol() copies the string */<br>
x = ecl_intern(token, p, &intern_flag);<br> OUTPUT:<br> si_put_buffer_string(token);<br> return x;<br><br></div></div><br>-- <br>Instituto de FĂsica Fundamental<br>CSIC, Serrano, 113, Madrid 28040 (Spain) <br>
<a href="http://juanjose.garciaripoll.googlepages.com">http://juanjose.garciaripoll.googlepages.com</a><br>
</div>