#6 Lispworks 4.1 incompatibilities

closed-fixed
defsystem (13)
5
2000-05-15
2000-04-26
David E. Young
No

Defsystem-3.x contains an incompatibility when compiled with LispWorks 4.1.18 (Linux). The trouble occurs during evaluation of the *CENTRAL-REGISTRY* DEFVAR form, while trying to determine the current working directory. Neither the symbols SYSTEM:*CURRENT-WORKING-DIRECTORY* nor LW:*CURRENT-WORKING-DIRECTORY* exists in LispWorks 4.1.18, and perhaps 4.x in general. The proper function to determine the current directory is now HCL:GET-WORKING-DIRECTORY.

I have included a small patch that does some conditional evaluation. Please determine whether or not this solution is suitable, as I've no earlier implementations of LispWorks with which to test. I'll also submit this patch via the "new patches" mechanism at sourceforge. Thanks.

--- defsystem.lisp.orig Wed Apr 26 09:15:02 2000
+++ defsystem.lisp Wed Apr 26 08:52:51 2000
@@ -1166,7 +1166,7 @@
;; Somehow it is better to qualify default-directory in CMU with
;; the appropriate package (i.e. "EXTENSIONS".)
;; Same for Allegro.
- #+:lispworks
+ #+(and :lispworks (not :lispworks4))
,(multiple-value-bind (major minor)
#-:lispworks-personal-edition
(system::lispworks-version)
@@ -1181,8 +1181,9 @@
,(find-symbol "*CURRENT-WORKING-DIRECTORY*"
(find-package "SYSTEM")))
(find-symbol "*CURRENT-WORKING-DIRECTORY*"
- (find-package "LW"))))
-
+ (find-package "LW"))))
+ #+:lispworks4
+ (hcl:get-working-directory)
;; Home directory
(mk::home-subdirectory "lisp/systems/")

Discussion

  • Sam Steingold
    Sam Steingold
    2000-05-12

    • assigned_to: nobody --> marcoxa
     
  • Sam Steingold
    Sam Steingold
    2000-05-15

    • status: open --> closed-fixed
     
  • Sam Steingold
    Sam Steingold
    2000-05-15

    the patch is in