I've just sent a problem report to Franz an I'm wondering if
others have experienced the same problem. The report is
included below.
Hallvard
I am one of the first persons at the Norwegian Institute of Technology
(NTNU) that have started using the latest Allegro Common Lisp 4.3, and
have in this process stumbled across a problem (and its solution, I
believe).
Initially, I could not get cl started from Emacs, only from the shell.
After examining the emacs lisp code (fi-subproc.el) I found that the
string
(excl:start-emacs-lisp-interface t) was sent to the cl image as en -e
argument. After removing it by setting fi:start-lisp-interface-arguments
to nil, the image started up fine. I could then manually start the
emacs interface by evaling (excl:start-emacs-lisp-interface t).
I had read something about spaces in the command line, so I tried
running cl -e "(progn t)" and got the same error stating that eof had
been reached in a string stream. Note that the form is within
double quotes. I tried every kind of quote I could think of, but nothing
worked. I then tried looking for ways of entering the "same" form,
without the space and found I could write cl -e "(progn't)", i.e a
quote before the t (which should work because t's value is t). After
this discovery I redefined fi:start-lisp-interface-argument to the
value of
(function
(lambda (use-background-streams)
(list "-e"
(format "(excl:start-emacs-lisp-interface'%s)"
use-background-streams))))
i.e. replaced the space before %s with ' (a quote) and now the emacs
interface started up correctly (I believe).
I am happy it worked, but wonder why the original source didn't.
More specifically:
1. Why didn't cl -e "(progn t)" in the shell (tcsh) work?
2. Why didn't your emacs lisp way of running the image work?
3. Is this a known problem/bug?
4. Is my fix really a fix?
Hallvard
From: Erik Naggum
Subject: Re: starting Allegro CL 4.3 from emacs
Date:
Message-ID: <3064770819643832@naggum.no>
* Hallvard Traetteberg
| I've just sent a problem report to Franz an I'm wondering if others have
| experienced the same problem. The report is included below.
I _guess_ from your information-challenged bug report that "cl" is a shell
script that starts the Lisp image somehow, and which uses $* or an unquoted
·@ to invoke it with all the arguments given to the shell script. ·@ must
be quoted to be useful in such shell scripts, as in ··@". (this seems the
only explanation that is consistent with the bogus fixes you have made.)
the Emacs interface to Allegro Common Lisp has been working for years.
#\Erik
--
my other car is a cdr
From: Erik Naggum <····@naggum.no>
Date: 12 Feb 1997 21:13:39 +0000
* Hallvard Traetteberg
| I've just sent a problem report to Franz an I'm wondering if others have
| experienced the same problem. The report is included below.
I _guess_ from your information-challenged bug report that "cl" is a shell
script that starts the Lisp image somehow, and which uses $* or an unquoted
·@ to invoke it with all the arguments given to the shell script. ·@ must
be quoted to be useful in such shell scripts, as in ··@". (this seems the
only explanation that is consistent with the bogus fixes you have made.)
Who is better, the coutesy-challenged or information-challenged? You
tell one poster to be more willing to ask for help rather than
complain and then when another asks for help you complain. Make up
your mind.