Non-existent init file tweaks bugs in ilisp-load-or-send

Bob Rogers <[email protected]>
Newsgroups gmane.lisp.ilisp.devel
Message-ID <[email protected]>
   CMUCL 18d, emacs 20.7, ilisp 5.12.0:

   1.  If you add a non-existent init file via ilisp-load-init, you get
the following rather perplexing error:

    Reader error on #<Two-Way Stream, Input = #<Synonym Stream to SYSTEM:*STDIN*>, Output = #<Synonym Stream to SYSTEM:*STDOUT*>>:
    Comma not inside a backquote.

This can be reproduced, for instance, by evaluating

	(add-hook 'cmulisp-hook
		  (function (lambda () (ilisp-load-init 'test "no-such-file"))))

before doing M-x cmulisp.  The immediate problem appears to be that
ilisp-load-or-send gets the wrong file name, looking at (first (last
ilisp-load-files)) in lieu of any sort of lexical scoping.  It then
attempts to stuff that file down the connection to the Lisp, and CMUCL
bombs when trying read a compiled file via stdin.

   2.  Even if ilisp-load-or-send had the right file name, the protocol
leaves no room for CMUCL to say, "I couldn't load this, but don't try to
send me a binary file."  Is there any Lisp for which it *does* work to
send a binary this way?

   3.  ilisp-load-or-send seems to be called only from
comint-send-code-init-function, which carefully uses
ilisp-binary-extension to provide a default for
ilisp-init-binary-extension, and then uses the former when it actually
constructs binary file names.

   No patches, because the odds are excellent that I would only manage
to break it worse . . .

					-- Bob Rogers
					   http://rgrjr.dyndns.org/


-------------------------------------------------------
This sf.net email is sponsored by: OSDN - Tired of that same old
cell phone?  Get a new here for FREE!
https://www.inphonic.com/r.asp?r=sourceforge1&refcode1=vs3390
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.