Commit c7738c62 authored by Daniel Barlow's avatar Daniel Barlow
Browse files

Patches for ECL, courtesy of Juan Jose Garcia Ripoll

* "ECL cannot externalize packages in compiled files. In other words,
compiled files cannot have package objects as literal
constants. Things like LOAD-TIME-VALUE, or saving the package name and
afterwards looking for the package is all right. This only affects
your uses of #.*package* somewhere in the code."

* Also an appropriate run-shell-command implementation
parent 07d58e30
$Id: README,v 1.36 2003/12/01 03:14:34 dan_b Exp $ -*- Text -*-
$Id: README,v 1.37 2004/05/16 18:19:54 dan_b Exp $ -*- Text -*-
The canonical documentation for asdf is in the file asdf.texinfo.
The significant overlap between this file and that will one day be
resolved by deleting text from this file; in the meantime, please look
there before here.
asdf: another system definition facility
......@@ -609,7 +615,7 @@ this pathname information will not be overwritten with
if the user loads up the .asd file into his editor and
interactively re-evaluates that form
* Error handling
* Error handling
It is an error to define a system incorrectly: an implementation may
detect this and signal a generalised instance of
......
;;; This is asdf: Another System Definition Facility. $Revision: 1.84 $
;;; This is asdf: Another System Definition Facility. $Revision: 1.85 $
;;;
;;; Feedback, bug reports, and patches are all welcome: please mail to
;;; <cclan-list@lists.sf.net>. But note first that the canonical
......@@ -107,7 +107,7 @@
(in-package #:asdf)
(defvar *asdf-revision* (let* ((v "$Revision: 1.84 $")
(defvar *asdf-revision* (let* ((v "$Revision: 1.85 $")
(colon (or (position #\: v) -1))
(dot (position #\. v)))
(and v colon dot
......@@ -362,7 +362,7 @@ and NIL NAME and TYPE components"
(when (and on-disk
(or (not in-memory)
(< (car in-memory) (file-write-date on-disk))))
(let ((*package* (make-package (gensym (package-name #.*package*))
(let ((*package* (make-package (gensym #.(package-name *package*))
:use '(:cl :asdf))))
(format *verbose-out*
"~&~@<; ~@;loading system definition from ~A into ~A~@:>~%"
......@@ -873,9 +873,11 @@ system."))
(defun class-for-type (parent type)
(let ((class (find-class
(or (find-symbol (symbol-name type) *package*)
(find-symbol (symbol-name type) #.*package*)) nil)))
(let ((class
(find-class
(or (find-symbol (symbol-name type) *package*)
(find-symbol (symbol-name type) #.(package-name *package*)))
nil)))
(or class
(and (eq type :file)
(or (module-default-component-class parent)
......@@ -1047,8 +1049,9 @@ output to *verbose-out*. Returns the shell's exit code."
(ccl:run-program "/bin/sh" (list "-c" command)
:input nil :output *verbose-out*
:wait t)))
#-(or openmcl clisp lispworks allegro scl cmu sbcl)
#+ecl ;; courtesy of Juan Jose Garcia Ripoll
(si:system command)
#-(or openmcl clisp lispworks allegro scl cmu sbcl ecl)
(error "RUN-SHELL-PROGRAM not implemented for this Lisp")
))
......
......@@ -120,8 +120,8 @@ Lisp programs and libraries.
@section Downloading asdf
Some Lisp implementations (such as SBCL and OpenMCL) some with asdf
included already, so there is no need to download it separately.
Some Lisp implementations (such as SBCL and OpenMCL) come with asdf
included already, so you don't need to download it separately.
Consult your Lisp system's documentation. If you need to download
asdf and install it by hand, the canonical source is the cCLan CVS
repository at
......@@ -137,18 +137,19 @@ startup script or dumping a custom core -- check your Lisp
implementation's manual for details.
The variable @code{asdf:*central-registry*} is a list of ``system
directory designators''@footnote{When we say ``directory'' here, we mean
``designator for a pathname with a supplied DIRECTORY component''.}.
A @dfn{system directory designator} is a form which will be evaluated
whenever a system is to be found, and must evaluate to a directory to
look in. You might want to set @code{*central-registry*} in your Lisp
init file, for example:
directory designators''@footnote{When we say ``directory'' here, we
mean ``designator for a pathname with a supplied DIRECTORY
component''.}. A @dfn{system directory designator} is a form which
will be evaluated whenever a system is to be found, and must evaluate
to a directory to look in. You might want to set or augment
@code{*central-registry*} in your Lisp init file, for example:
@lisp
(setf asdf:*central-registry*
'(*default-pathname-defaults*
#p"/home/me/cl/systems/"
#p"/usr/share/common-lisp/systems/"))
(list* '*default-pathname-defaults*
#p"/home/me/cl/systems/"
#p"/usr/share/common-lisp/systems/"
asdf:*central-registry*))
@end lisp
@section Setting up a system to be loaded
......
Wed Aug 28 21:18:48 BST 2002
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment