From: Michael Malone
Subject: XEmacs + Ilisp + Clisp on Windows XP
Date: 
Message-ID: <c9o4gr$7sh$1@admin-svc.micron.com>
>··········@pvv.org (Rolf Rander N�ss) wrote in message
news:<··························@bacchus.pvv.ntnu.no>...
>> On 5 Feb 2004 23:23:59 -0800, Michael Rogers <·········@yahoo.com> wrote:
>> >[2]> ;;; Loading c:\Program
>> >Files\XEmacs\xemacs-packages\lisp\ilisp\ilisp-pkg.fas
>> >*** - LOAD: A file with name C:Program
>> >FilesXEmacsxemacs-packageslispilispilisp-pkg.fas does not exist
>>
>> I've had the same problem, which seems to be that (x)emacs'
>> expand-file-name returns a path with backslashes which clisp treats as
>> an escape character.
>>
>> After some googling, it seemed to me that the only solution was to
>> make:
>>
>> (defun slash-expand-file-name (file &optional default-dir)
>>   (map 'string #'(lambda (c) (if (char-equal c ?\\) ?/ c))
>>        (expand-file-name file default-dir)))
>>
>> and replace every reference to expand-file-name with
>> slash-expand-file-name.
>>
>>
>> rolf rander
>Thanks for the reply Rolf. :)
>I tried something very similar to what you suggested which seems to be
>working, but now I have another problem. Specifially I followed the
>instructions I found at
>http://groups.google.com/groups?q=ilisp+group:comp.emacs.xemacs&hl=en&lr=&i
e=UTF-8&group=comp.emacs.xemacs&selm=3C0F56DA.30603%40hotmail.com&rnum=8
>
>Now my paths seem to be correct. :) My new error message is:
>---Begin XEmacs Output---
>[1]>
>[2]> ;;; Loading c:/ilisp/cl-ilisp.lisp
>ILISP: File is not compiled, use M-x ilisp-compile-inits
>[7]> ;;; Loading c:/ilisp/cl-chs-init.lisp
>ILISP: File is not compiled, use M-x ilisp-compile-inits
>[8]>
>---End XEmacs Output---
>
>Then XEmacs *usually* seems to hang. This error was expected because
>http://www.xemacs.org/Documentation/packages/html/ilisp_4.html says
>this will happen the first time ilisp is run and that I should do M-x
>ilisp-compile-inits to compile the necessary files. The one time that
>XEmacs didn't seem to hang I did M-x ilisp-compile-inits and it seemed
>to work, but apparently it didn't because there were no newly created
>compiled lisp files in the ilisp directory and the next time I
>launched XEmacs and went into ilisp-mode I received the same error
>message about uncompiled files.
>
>Any ideas on how to fix this problem?

A somewhat more elegant solution to the first problem that seems to
have worked for me is to edit line 84 of the CLISP specific file
ilisp-chs.el:

   ilisp-load-or-send-command "(and (or (print \"%s\") t) (load \"%s\"))"

and replace it with these two lines:

   ilisp-load-or-send-command "(and (or (print %S) t) (load %S))"
   ilisp-compile-file-command "(ILISP:ilisp-compile-file %S %S)"

This has worked for me.  It works because %S outputs an escaped form
of the string, as opposed to %s which outputs the human form.
Fortunately, Emacs's idea of escaped form matches CL's as far as this
problem is concerned.

My system doesn't seem to be hanging, though, and it managed to
ilisp-compile-inits just fine.  I'm using XEmacs 21.4.13, ilisp 1.33,
and CLISP 2.31 (native, not cygwin) invoked as "clisp -ansi -I".

Mike