Now that microcode implements directory-reading properly, use the OS/2
authorChris Hanson <org/chris-hanson/cph>
Wed, 9 Oct 1996 15:44:46 +0000 (15:44 +0000)
committerChris Hanson <org/chris-hanson/cph>
Wed, 9 Oct 1996 15:44:46 +0000 (15:44 +0000)
directory reader for Win32.  This is implemented by moving the
directory reader to "dosfile.scm", since we aren't supporting DOS any
more.

v7/src/edwin/dos.scm
v7/src/edwin/dosfile.scm
v7/src/edwin/os2.scm

index d693a1467d3c7ff10eb61e9ea70d5857d5510bb7..bd2e485892c56c64fe7770b44eb54b3001f3de97 100644 (file)
@@ -1,6 +1,6 @@
 ;;; -*-Scheme-*-
 ;;;
-;;;    $Id: dos.scm,v 1.39 1996/10/07 18:51:12 cph Exp $
+;;;    $Id: dos.scm,v 1.40 1996/10/09 15:44:28 cph Exp $
 ;;;
 ;;;    Copyright (c) 1992-96 Massachusetts Institute of Technology
 ;;;
   ;; Not sure if this is right.
   (list "/c" command))
 
-(define (os/directory-list directory)
-  (os/directory-list-completions directory ""))
-
-(define (os/directory-list-completions directory prefix)
-  (let ((plen (string-length prefix)))
-    (let loop ((pathnames (directory-read (pathname-as-directory directory))))
-      (if (null? pathnames)
-         '()
-         (let ((filename (file-namestring (car pathnames))))
-           (if (and (fix:>= (string-length filename) plen)
-                    (string-ci=? prefix (substring filename 0 plen)))
-               (cons filename (loop (cdr pathnames)))
-               (loop (cdr pathnames))))))))
-
 (define (os/set-file-modes-writable! pathname)
   (set-file-modes! pathname
                   (fix:andc (file-modes pathname) nt-file-mode/read-only)))
index d8ac432ae9cd60ba174e26943ac981f0beaa670d..6e19b0d80004371edefdbba6c4d2f217ca8a1d3d 100644 (file)
@@ -1,6 +1,6 @@
 ;;; -*-Scheme-*-
 ;;;
-;;;    $Id: dosfile.scm,v 1.7 1996/04/24 02:19:30 cph Exp $
+;;;    $Id: dosfile.scm,v 1.8 1996/10/09 15:44:37 cph Exp $
 ;;;
 ;;;    Copyright (c) 1994-96 Massachusetts Institute of Technology
 ;;;
@@ -122,6 +122,26 @@ Includes the new backup.  Must be > 0."
          (string-set! result 0 #\$)
          result)
        filename)))
+
+(define (os/directory-list directory)
+  (let ((channel (directory-channel-open directory)))
+    (let loop ((result '()))
+      (let ((name (directory-channel-read channel)))
+       (if name
+           (loop (cons (begin (string-downcase! name) name) result))
+           (begin
+             (directory-channel-close channel)
+             result))))))
+
+(define (os/directory-list-completions directory prefix)
+  (let ((channel (directory-channel-open directory)))
+    (let loop ((result '()))
+      (let ((name (directory-channel-read-matching channel prefix)))
+       (if name
+           (loop (cons (begin (string-downcase! name) name) result))
+           (begin
+             (directory-channel-close channel)
+             result))))))
 \f
 ;;;; Backup and Auto-Save Filenames
 
index 1d0047be12e3677e53afa78e9b4d520148ce10bc..a158d59e309e75e1f7bd4e11e3aad9d9d36ee8cd 100644 (file)
@@ -1,6 +1,6 @@
 ;;; -*-Scheme-*-
 ;;;
-;;;    $Id: os2.scm,v 1.33 1996/10/02 17:00:22 cph Exp $
+;;;    $Id: os2.scm,v 1.34 1996/10/09 15:44:46 cph Exp $
 ;;;
 ;;;    Copyright (c) 1994-96 Massachusetts Institute of Technology
 ;;;
 (define (os/form-shell-command command)
   (list "/c" command))
 
-(define (os/directory-list directory)
-  (let ((channel (directory-channel-open directory)))
-    (let loop ((result '()))
-      (let ((name (directory-channel-read channel)))
-       (if name
-           (loop (cons (begin (string-downcase! name) name) result))
-           (begin
-             (directory-channel-close channel)
-             result))))))
-
-(define (os/directory-list-completions directory prefix)
-  (let ((channel (directory-channel-open directory)))
-    (let loop ((result '()))
-      (let ((name (directory-channel-read-matching channel prefix)))
-       (if name
-           (loop (cons (begin (string-downcase! name) name) result))
-           (begin
-             (directory-channel-close channel)
-             result))))))
-
 (define (os/set-file-modes-writable! pathname)
   (set-file-modes! pathname
                   (fix:andc (file-modes pathname) os2-file-mode/read-only)))