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