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