? abbrev.dfsl
? base-test.dfsl
? base.dfsl
? buffer-test.dfsl
? buffer.dfsl
? cl-syntax.dfsl
? delegating-buffer.dfsl
? Flexichain
? gui.dfsl
? html-syntax.dfsl
? io.dfsl
? kill-ring.dfsl
? packages.dfsl
? pane.dfsl
? prolog-syntax.dfsl
? syntax.dfsl
? text-syntax.dfsl
? translate.dfsl
? undo.dfsl
? Persistent/binseq-package.dfsl
? Persistent/binseq.dfsl
? Persistent/binseq2.dfsl
? Persistent/obinseq.dfsl
? Persistent/persistent-buffer.dfsl
? Persistent/persistent-undo.dfsl
? testing/rt.dfsl
Index: climacs.asd
===================================================================
RCS file: /project/climacs/cvsroot/climacs/climacs.asd,v
retrieving revision 1.28
diff -u -r1.28 climacs.asd
--- climacs.asd	22 Apr 2005 08:18:26 -0000	1.28
+++ climacs.asd	6 May 2005 21:32:19 -0000
@@ -42,7 +42,7 @@
 						     :defaults *climacs-directory*))
 			     collect `(:file ,(pathname-name p) :pathname ,p))))))
 
-(climacs-defsystem (:climacs :depends-on (:mcclim :flexichain))
+(climacs-defsystem (:climacs :depends-on (:mcclim :flexichain :cl-fad))
    "Persistent/binseq-package"
    "Persistent/binseq"
    "Persistent/obinseq"
Index: gui.lisp
===================================================================
RCS file: /project/climacs/cvsroot/climacs/gui.lisp,v
retrieving revision 1.133
diff -u -r1.133 gui.lisp
--- gui.lisp	6 May 2005 16:56:32 -0000	1.133
+++ gui.lisp	6 May 2005 21:32:21 -0000
@@ -628,15 +628,7 @@
 	   (full-so-far (concatenate 'string directory-prefix so-far))
 	   (pathnames
 	    (loop with length = (length full-so-far)
-	       and wildcard = (concatenate 'string (remove-trail so-far) "*.*")
-	       for path in
-		 #+(or sbcl cmu lispworks) (directory wildcard)
-		 #+openmcl (directory wildcard :directories t)
-		 #+allegro (directory wildcard :directories-are-files nil)
-		 #+cormanlisp (nconc (directory wildcard)
-				      (cl::directory-subdirs dirname))
-		 #-(or sbcl cmu lispworks openmcl allegro cormanlisp)
-		 (directory wildcard)
+	       for path in (cl-fad:list-directory (remove-trail so-far))
 	       when (let ((mismatch (mismatch (namestring path) full-so-far)))
 		      (or (null mismatch) (= mismatch length)))
 	       collect path))
@@ -704,12 +696,17 @@
 			  :prompt "Find File"))
 	(buffer (make-instance 'climacs-buffer))
 	(pane (current-window)))
+    ;; Don't want a directory
+    (when (cl-fad:directory-pathname-p filename)
+      (beep)
+      (display-message "Can't open a directory (yet): ~A" filename)
+      (return-from com-find-file nil))
     (push buffer (buffers *application-frame*))
     (setf (buffer (current-window)) buffer)
     (setf (syntax buffer) (make-instance
 			   'basic-syntax :buffer (buffer (point pane))))
     ;; Don't want to create the file if it doesn't exist.
-    (when (probe-file filename) 
+    (when (cl-fad:file-exists-p filename)
       (with-open-file (stream filename :direction :input)
 	(input-from-stream stream buffer 0)))
     (setf (filename buffer) filename
@@ -724,6 +721,11 @@
   (let ((filename (or (filename buffer)
 		      (accept 'completable-pathname
 			      :prompt "Save Buffer to File"))))
+    ;; Don't want a directory
+    (when (cl-fad:directory-pathname-p filename)
+      (beep)
+      (display-message "Can't write to directory: ~A" filename)
+      (return-from save-buffer nil))
     (with-open-file (stream filename :direction :output :if-exists :supersede)
       (output-to-stream stream buffer 0 (size buffer)))
     (setf (filename buffer) filename
@@ -759,6 +761,11 @@
   (let ((filename (accept 'completable-pathname
 			  :prompt "Write Buffer to File"))
 	(buffer (buffer (current-window))))
+    ;; Don't want a directory
+    (when (cl-fad:directory-pathname-p filename)
+      (beep)
+      (display-message "Can't write to a directory: ~A" filename)
+      (return-from com-write-buffer nil))
     (with-open-file (stream filename :direction :output :if-exists :supersede)
       (output-to-stream stream buffer 0 (size buffer)))
     (setf (filename buffer) filename
@@ -811,6 +818,15 @@
 (define-named-command com-load-file ()
   (let ((filename (accept 'completable-pathname
 			  :prompt "Load File")))
+    
+    (unless (cl-fad:file-exists-p filename)
+      (beep)
+      (display-message "No such load file: ~A" filename)
+      (return-from com-load-file nil))
+    (when (cl-fad:directory-exists-p filename)
+      (beep)
+      (display-message "Can't load a directory: ~A" filename)
+      (return-from com-load-file nil))
     (load filename)))
 
 (define-named-command com-beginning-of-buffer ()
