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")