Patch - Defsystem - load-defsystem.lisp - environment feature and *compile-file-truename*
Sean Champ <[email protected]> Sun, 30 Jul 2006 02:18:55 -0700
| Newsgroups | gmane.lisp.clocc.devel |
|---|---|
| Message-ID | <[email protected]> |
The patch attached to this email includes the text of the patch submitted with message with message ID <[email protected]>, title "Patch - Defsystem - load-defsystem.lisp - *compile-file-truename*" In this patch, in addition to what was addressed in the other: There is added a check for an :ENVIRONMENT member on *FEATURES*, as to ensure when the 'environment' system has been loaded. The :ENVIRONMENT feature is added to *FEATURES*, after the Common Lisp code from the Debian cl-environment package has been loaded. In the patched code, that feature will be checked for, in addition to the :CL-ENVIRONMENT feature, such that was being checked-for in load-defsystem.lisp, already. If that divergence would be not supposed to occur, any more -- if the symbol :CL-ENVIRONMENT should be used to identity the 'environment' package, and used instead of :ENVIRONMENT, onto *FEATURES* -- then I can propose a patch for it, to the maintainer of the cl-environment Debian package, so as that the system-definition file for the thing will use use the symbol :CL-ENVIRONMENT , instead. -- Sean ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys -- and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ clocc-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/clocc-devel
defsystem.environment-feature.diff
(text/x-diff, 3.2 KB)
Index: load-defsystem.lisp
===================================================================
RCS file: /cvsroot/clocc/clocc/src/defsystem-4/src/load-defsystem.lisp,v
retrieving revision 1.15
diff -p -u -u -r1.15 load-defsystem.lisp
--- load-defsystem.lisp 25 Nov 2002 23:56:31 -0000 1.15
+++ load-defsystem.lisp 30 Jul 2006 09:02:17 -0000
@@ -24,14 +24,15 @@
;;; Thanks to Kevin Rosenberg for the following very nice idea.
(eval-when (:compile-toplevel :load-toplevel :execute)
- (defparameter *mk-defsystem-absolute-directory-pathname*
- (make-pathname :host (pathname-host *load-truename*)
- :device (pathname-device *load-truename*)
- :directory (pathname-directory *load-truename*)
- )))
+ (let ((the-pathname (or *compile-file-truename* *load-truename*)))
+ (defparameter *mk-defsystem-absolute-directory-pathname*
+ (make-pathname :host (pathname-host the-pathname)
+ :device (pathname-device the-pathname)
+ :directory (pathname-directory the-pathname)
+ ))))
;;; The following three parameters are tested IN SEQUENCE and
-;;; exclusively. The first one found true one will cause the
+;;; exclusively. The first one found true will cause the
;;; associated action to be performed.
(defparameter *mk-defsystem-load-source-only-p* nil
@@ -49,7 +50,7 @@
;;; They are used to override the values of *LOAD-PRINT* and
;;; *LOAD-VERBOSE*.
;;;
-;;; Note that it they are DEFVAR's for a good reason. Loading the
+;;; Note that they are DEFVAR's for a good reason. Loading the
;;; file should not change their values; however, loading the file should
;;; define them if they are not defined yet.
@@ -60,7 +61,7 @@
;;;===========================================================================
;;; Support code and actual load forms.
-;;; You should not be required to look at anyhting beyond this point
+;;; You should not be required to look at anything beyond this point
;;; if not for debugging purposes.
@@ -71,7 +72,7 @@
(defparameter *mk-defsystem-lp-filenames*
'(
"MAKE-DEFSYSTEM:;adjoin-dirs"
-
+
"MAKE-DEFSYSTEM:defsystem-pkg"
;; "MAKE-DEFSYSTEM:conditions"
;; "MAKE-DEFSYSTEM:utilities;split-sequence" ; Loaded separatedly.
@@ -103,7 +104,7 @@
;; This was above.
"MAKE-DEFSYSTEM:utilities;user-interaction"
-
+
"MAKE-DEFSYSTEM:impl-dependent;common"
#+(or cmu sbcl scl) "MAKE-DEFSYSTEM:impl-dependent;cmucl" ; Hopefully correct.
#+clisp "MAKE-DEFSYSTEM:impl-dependent;clisp"
@@ -137,7 +138,7 @@
;; :WILD-INFERIORS on the right hand side of the definitions.
;; For the time being, since we only have three subdirectories it
;; should not be a problem.
-
+
(setf (logical-pathname-translations "MAKE-DEFSYSTEM")
`(("impl-dependent;*.*.*"
,(make-pathname
@@ -239,7 +240,8 @@
)
(format *trace-output*
"~&;;; MK4: Loading MK:DEFSYSTEM package version ~A.~%" "4.0")
- (unless (member :cl-environment *features*)
+ (unless (or (find :environment *features* :test #'eq)
+ (find :cl-environment *features* :test #'eq))
(format *trace-output*
"~&;;; MAKE: Ensuring CL-ENVIRONMENT package is present.")
(unless (probe-file "MAKE-DEFSYSTEM:cl-environment;load-cl-environment.lisp")