Re: running ccl under emacs

John Thingstad <[email protected]> Thu, 07 Aug 2003 16:17:55 +0200
Newsgroups gmane.lisp.corman
Organization private
Message-ID <[email protected]>
On Thu, 07 Aug 2003 16:45:46 +0200, Mayer Goldberg <[email protected]> 
wrote:

> Hello:
>
> Has anyone succeeeded in running Corman Common Lisp under GNU Emacs under
> Windows?? I tried and got the message "spawning child process: invalid
> argument".
>
> If someone has tweaked xlisp.el or some other lisp file to work with CCL,
> perhaps it can be posted on the cormallisp website?
>
> Thanks,
>
> Mayer

I am runnning corman lisp under emacs even as we speak.
(writing a otello program if you want to know.)

The problem you are getting is because the function dosn't undestand spaces 
in directory names so "Corman lisp" directory poses a problem. However you 
can use the DOS abbreviated name.
Try something like this:

(autoload 'cormanlisp  "ilisp" "Inferior Corman Common Lisp." t)

(setq *cormanlisp-dir* "C:/PROGRA~1/CORMAN~1/CORMAN~1.0/")
(setq cormanlisp-program
      (concat *cormanlisp-dir* "clconsole.exe" 	       " -image " 
*cormanlisp-dir* "cormanEmacs.img"))

And perhaps altso this:

;; If you have a local copy of the HyperSpec, set its path here.
(setq common-lisp-hyperspec-root
       "C:/PROGRA~1/CORMAN~1/CORMAN~1.0/HyperSpec/")
(setq common-lisp-hyperspec-symbol-table
      "C:/PROGRA~1/CORMAN~1/CORMAN~1.0/HyperSpec/Data/Map_Sym.Txt")

;; If you have a local copy of Common Lisp the language, set it's path here
(setq cltl2-root-url "C:/PROGRA~1/CORMAN~1/CORMAN~1.0/cltl/")

This solved the process will run but will pause for 30 secons or more when 
pressing #\SPACE.  This is due to a new feature in ilisp. It wants to 
emulate the way you get up function parameters when you have entered the 
name and present it in a popup window as in VBASIC. This does not work at 
all well with corman lisp as the lookup using assoc takes forever and then 
fails. However there is a (undocumented) flag you can set which turns this 
feature off.

;; this cludge stops it from popping up windows ;; every time I press space 
in cormanlisp mode
(setf ilisp-*arglist-message-lisp-space-p* nil)

Actually it is in a context. The whole thing lookes like this:

(add-hook 'ilisp-load-hook
          '(lambda ()
             ;; Change default key prefix to C-c
             (setq ilisp-*prefix* "\C-c")

	     ;; this cludge stops it from popping up windows 	     ;; every time I 
press space in cormanlisp mode
	     (setf ilisp-*arglist-message-lisp-space-p* nil)
             	     ;; Set a keybinding for the COMMON-LISP-HYPERSPEC 
command
             (defkey-ilisp "\C-ch" 'common-lisp-hyperspec)

	     ;; Stop ilisp from using popup windows for lisp return values
	     (setf lisp-no-popper t)
	     ;; Set the inferior Lisp directory to the directory of
             ;; the buffer that spawned it on the first prompt.
	     (message "Running ilisp-load-hook")
	     ))

I should make a few comments on debugging emacs modes.

The first error was found by entering:
M-x toggle-debug-on-error
and then looking at the stack trace

The second error/feature was found by pressing C-h-k #\SPACE and looking at 
the function being called. Then I greped through the source and found the 
function and in the function this flag.

Finally you may notise that i used -image cormanEmacs.img rather than the 
usual cormanLisp.img. This image has some functions added to it.

basically i loaded:
(load "cormanlisp.lisp")
(load "cl-ilisp.lisp")
(load "ilisp-pkg.lisp")
(save-image "cormanEmacs.img")

Unfortunately I don't remember where I got these files but they are 
available on the net.
If you have problem finding it on the net (please try first!) email me 
[email protected] and I can send them to you.

Hopes this helps.. It took me three whole days/nights to get this to work 
so i symasise with you. Good luck!
John

------------------------ Yahoo! Groups Sponsor ---------------------~-->
Buy Ink Cartridges or Refill Kits for Your HP, Epson, Canon or Lexmark
Printer at Myinks.com. Free s/h on orders $50 or more to the US & Canada. http://www.c1tracking.com/l.asp?cid=5511
http://us.click.yahoo.com/l.m7sD/LIdGAA/qnsNAA/SyjtlB/TM
---------------------------------------------------------------------~->

To unsubscribe from this group, send an email to:
[email protected]

 

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/