I have been working on the following problem for awhile
which is that load is looking for files with .lsp
extension. The package I want to compile uses .lisp
extensions.
--------
[nnelson@localhost nnelson]$ cd /usr/local/garnet/v2.2/src
[nnelson@localhost src]$ ls *.lisp
garnet-compiler.lisp garnet-loader.lisp garnet-prepare-compile.lisp
[nnelson@localhost src]$ su
Password:
[root@localhost src]# clisp
Sussex Poplog (Version 15.53 Mon Aug 21 17:36:46 BST 2000)
Copyright (c) 1982-1999 University of Sussex. All rights reserved.
Common Lisp (Version 2.0)
Setlisp
== (load "garnet-prepare-compile")
; MISHAP - File not found
; INVOLVING: #P"garnet-prepare-compile.lsp"
; DOING : (LOAD "garnet-prepare-compile")
Break: (Error)
:H Help
<0>
-------
The recommended solution appears to be put pop11 code
into $popsys/init.p. There is an init file in that
directory I have copied to init.p as the file suggests.
The file is now:
-------
/* --- Copyright University of Sussex 1990. All rights reserved. ----------
> File: C.all/pop/init
> Purpose: Possible $popsys/init.p file
> Author: ISL, Dec 18 1990
> Documentation: Offline user manual, HELP * INITIAL
> Related Files: C.all/pop/vedinit
*/
;;; If this file is copied to $popsys/init.p, Poplog will load
;;; $poplocal/local/pop/init.p
;;; when starting up. Useful for group-wide initialisation.
;;; trycompile('$poplocal/local/pop/init.p') ->;
vars
lispfiletypes
= ['.lsp' '.l' '.lisp' '.cl'];
-------
where I have commented the trycompile line after trying to put
a file--a copy of the one you now see--in the suggested directory.
I am not familiar with the pop11 syntax and cut the vars line
from a ved .p file. There could very well be something else
required in init.p.
Another but more difficult track would be to figure out the
following code from io.lsp, which is the only place in the
poplog system that shows the above mishap message.
----
(defvar *LOAD-PATHNAME* nil)
(defvar *LOAD-TRUENAME* nil)
(export '(*LOAD-PATHNAME* *LOAD-TRUENAME*))
(defun LOAD (file &key ((:verbose *load-verbose*) *load-verbose*)
((:print *load-print*) *load-print*)
((:lock poplog:*load-lock*) poplog:*load-lock*)
(if-does-not-exist t)
&aux *load-pathname*)
(setq *load-pathname*
(if (streamp file)
(and (typep file 'file-stream) (pathname file))
(merge-pathnames file)))
(labels ((do-load (file)
(let ((*load-truename* (and *load-pathname*
(probe-file *load-pathname*))))
(if (streamp file)
(sys:load file)
(if *load-truename*
(sys:load *load-truename*)
(if if-does-not-exist
(error 'file-error
:message "File not found"
:involving (list *load-pathname*)
:pathname *load-pathname*)
nil))))))
(if (wild-pathname-p *load-pathname*)
(let ((files (directory *load-pathname*)))
(if files
(dolist (*load-pathname* files t)
(do-load *load-pathname*))
(if if-does-not-exist
(error 'file-error
:message "No matching files: ~S"
:involving (list file)
:pathname *load-pathname*))))
(do-load file))))
----
I suspect that the idea is to run clisp from ved, but
I do not have ved working well at the moment though
have implemented the fixes for that. But I would
rather run the code from the command line in any case
at this time.
This is Linux RedHat 7.1.
Regards,
Neil Nelson
|