Hi,

Compilation seems to have died with new SBCLs due to a change in the
directory code. I think the following patch should fix it.

Rupert

Changes in HEAD
	Modified wrappers.lisp
diff --git a/wrappers.lisp b/wrappers.lisp
index fb5b7dc..0643d52 100644
--- a/wrappers.lisp
+++ b/wrappers.lisp
@@ -143,17 +143,24 @@
   #-(or allegro clisp cmu gcl lispworks lucid sbcl scl openmcl)
   (error 'not-implemented))
 
-(defun pathname-is-executable-p (pathname)
-  "Return T if the pathname describes an executable file."
-  #+sbcl
-  (let ((filename (coerce (sb-int:unix-namestring pathname) 'base-string)))
-    (and (eq (sb-unix:unix-file-kind filename) :file)
-         (sb-unix:unix-access filename sb-unix:x_ok)))
-  ;; FIXME: this is not exactly perfect
-  #+clisp
-  (logand (posix:convert-mode (posix:file-stat-mode (posix:file-stat pathname)))
-          (posix:convert-mode '(:xusr :xgrp :xoth)))
-  #-(or sbcl clisp) t)
+(eval-when (:compile-toplevel :load-toplevel :execute)
+  ;; On 20th May 2009, SBCL lost unix-file-kind and replaced it with the
+  ;; internal native-file-kind. Since there's no overlap, we'd better cope with
+  ;; either possibility.
+  (let (#+sbcl (file-kind-fun
+                (or (find-symbol "NATIVE-FILE-KIND" :sb-impl)
+                    (find-symbol "UNIX-FILE-KIND" :sb-unix))))
+    (defun pathname-is-executable-p (pathname)
+      "Return T if the pathname describes an executable file."
+      #+sbcl
+      (let ((filename (coerce (file-namestring pathname) 'base-string)))
+        (and (eq (funcall file-kind-fun filename) :file)
+             (sb-unix:unix-access filename sb-unix:x_ok)))
+      ;; FIXME: this is not exactly perfect
+      #+clisp
+      (logand (posix:convert-mode (posix:file-stat-mode (posix:file-stat pathname)))
+              (posix:convert-mode '(:xusr :xgrp :xoth)))
+      #-(or sbcl clisp) t)))
 
 (defun probe-path (path)
   "Return the truename of a supplied path, or nil if it does not exist."

Attachment: pgpmyENb33eDS.pgp
Description: PGP signature

_______________________________________________
Stumpwm-devel mailing list
Stumpwm-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/stumpwm-devel

Reply via email to