Interpret contents of password-file variable as relative to the user's
authorChris Hanson <org/chris-hanson/cph>
Tue, 4 May 1999 17:47:49 +0000 (17:47 +0000)
committerChris Hanson <org/chris-hanson/cph>
Tue, 4 May 1999 17:47:49 +0000 (17:47 +0000)
home directory.

v7/src/edwin/loadef.scm
v7/src/edwin/pwedit.scm

index 719d723746039dc2a29a98711cfad28e5be97757..fe1b00cdf24cf563b5cb218aadaae22362873f7e 100644 (file)
@@ -1,6 +1,6 @@
 ;;; -*-Scheme-*-
 ;;;
-;;; $Id: loadef.scm,v 1.39 1999/05/04 17:23:04 cph Exp $
+;;; $Id: loadef.scm,v 1.40 1999/05/04 17:47:49 cph Exp $
 ;;;
 ;;; Copyright (c) 1986, 1989-1999 Massachusetts Institute of Technology
 ;;;
@@ -324,6 +324,7 @@ If password-file is #f, or if prefix arg supplied, prompts for a filename.")
 
 (define-variable password-file
   "Name of file containing passwords, or #F meaning prompt for name.
+If this specifies a relative pathname, it is relative to the home directory.
 See \\[view-password-file]."
   #f
   (lambda (object)
index a7e37ba639b91e7680aaf341716385f25a0db5f6..7ab5f69e92269f4a129680115eda742a64f7571e 100644 (file)
@@ -1,6 +1,6 @@
 ;;; -*-Scheme-*-
 ;;;
-;;; $Id: pwedit.scm,v 1.6 1999/05/04 17:41:20 cph Exp $
+;;; $Id: pwedit.scm,v 1.7 1999/05/04 17:47:16 cph Exp $
 ;;;
 ;;; Copyright (c) 1999 Massachusetts Institute of Technology
 ;;;
@@ -35,11 +35,16 @@ Reads the file specified in the variable password-file.
 If password-file is #f, or if prefix arg supplied, prompts for a filename."
   (lambda ()
     (list
-     (let ((filename (ref-variable password-file)))
-       (if (and filename (not (command-argument)))
-          filename
-          (prompt-for-existing-file "View password file"
-                                    (and filename (list filename)))))))
+     (let ((pathname
+           (let ((filename (ref-variable password-file)))
+             (and filename
+                  (merge-pathnames filename (user-homedir-pathname)))))
+          (prompt
+           (lambda (default)
+             (prompt-for-existing-file "View password file" default))))
+       (cond ((not pathname) (prompt #f))
+            ((command-argument) (prompt (list pathname)))
+            (else pathname)))))
   (lambda (pathname)
     (let ((forms
           (call-with-temporary-buffer " view-pw-file"