]> git.eshelyaron.com Git - emacs.git/commitdiff
(mail-passwd-command): New variable.
authorRichard M. Stallman <rms@gnu.org>
Sat, 22 Mar 1997 03:49:14 +0000 (03:49 +0000)
committerRichard M. Stallman <rms@gnu.org>
Sat, 22 Mar 1997 03:49:14 +0000 (03:49 +0000)
(mail-get-names): Implement that variable.

(mail-passwd-files): New variable.
(mail-get-names): Use mail-passwd-files instead of always /etc/passwd.

lisp/mail/mailalias.el

index 0969f50ae2985f3aef270d12b2e3a450ca4e04ae..3b67a1f9e0e7b89729e73e0aaee0178119a3f4be 100644 (file)
@@ -41,6 +41,12 @@ This is the basis for `mail-complete'.")
   "Alist of local users.
 When t this still needs to be initialized.")
 
+(defvar mail-passwd-files '("/etc/passwd")
+  "List of files from which to determine valid user names.")
+
+(defvar mail-passwd-command nil
+  "Shell command to retrieve text to add to `/etc/passwd', or nil.")
+
 (defvar mail-directory-names t
   "Alist of mail address directory entries.
 When t this still needs to be initialized.")
@@ -338,8 +344,14 @@ Consults `/etc/passwd' and a directory service if one is set up via
   (if (eq mail-local-names t)
       (save-excursion
        (set-buffer (generate-new-buffer " passwd"))
-       (insert-file-contents "/etc/passwd" nil nil nil t)
-       (setq mail-local-names)
+       (let ((files mail-passwd-files))
+         (while files
+           (insert-file-contents (car files) nil nil nil t)
+           (setq files (cdr files))))
+       (if mail-passwd-command
+           (call-process shell-file-name nil t nil
+                         shell-command-switch mail-passwd-command))
+       (setq mail-local-names nil)
        (while (not (eobp))
          ;;Recognize lines like
          ;;  nobody:*:65534:65534::/: