diff lisp/modes/sendmail.el @ 38:1a767b41a199 r19-15b102

Import from CVS: tag r19-15b102
author cvs
date Mon, 13 Aug 2007 08:54:01 +0200
parents e04119814345
children 8b8b7f3559a2
line wrap: on
line diff
--- a/lisp/modes/sendmail.el	Mon Aug 13 08:53:41 2007 +0200
+++ b/lisp/modes/sendmail.el	Mon Aug 13 08:54:01 2007 +0200
@@ -295,20 +295,29 @@
   :group 'message
   :type 'boolean)
 
+;;;###autoload
 (defun user-mail-address ()
   "Query the user for his mail address, unless it is already known."
   (interactive)
-  (when query-user-mail-address
-    (setq user-mail-address
-	  (read-string "Your mail address? " (cons user-mail-address 0)))
-    (setq query-user-mail-address nil)
-    ;; TODO: Run sanity check from Gnus here.
-    (when (y-or-n-p "Save address for future sessions? ")
-      (put 'user-mail-address 'saved-value
-	   (list user-mail-address))
-      (put 'query-user-mail-address 'saved-value '(nil))
-      (custom-save-all)))
-  user-mail-address)
+  (when (and (not noninteractive) query-user-mail-address)
+    (let ((addr (or user-mail-address
+		    (concat (user-login-name) "@"
+				    (or mail-host-address
+					(system-name))))))
+      (setq user-mail-address
+	    (read-string "Your mail address? " (cons addr 0)))
+      (setq query-user-mail-address nil)
+      ;; TODO: Run sanity check from Gnus here.
+      (when (y-or-n-p "Save address for future sessions? ")
+	(put 'user-mail-address 'saved-value
+	     (list user-mail-address))
+	(put 'query-user-mail-address 'saved-value '(nil))
+	(custom-save-all)))
+    (if user-mail-address
+	user-mail-address
+      (setq user-mail-address (concat (user-login-name) "@"
+				      (or mail-host-address
+					  (system-name)))))))
 
 (defun mail-setup (to subject in-reply-to cc replybuffer actions)
   (or mail-default-reply-to