aboutsummaryrefslogtreecommitdiff
path: root/git-email.el
diff options
context:
space:
mode:
Diffstat (limited to 'git-email.el')
-rw-r--r--git-email.el20
1 files changed, 17 insertions, 3 deletions
diff --git a/git-email.el b/git-email.el
index 7ed4e43..2c90fd3 100644
--- a/git-email.el
+++ b/git-email.el
@@ -82,6 +82,12 @@ not set, the 'to' address will be empty."
:type '(list symbol)
:group 'git-email)
+(defcustom git-email-get-to-address-function
+ 'git-email--get-to-address
+ "Function to run to get the \“to\" address of a message."
+ :type 'symbol
+ :group 'git-email)
+
(defcustom git-email-format-patch-default-args ""
"Default arguments to give to 'git format-patch'."
:type 'string
@@ -230,6 +236,15 @@ If the header is not found, return an empty string."
"Remove HEADER if it is the subject."
(not (string-equal (symbol-name (car header)) "subject")))
+(defun git-email--get-to-address ()
+ "Get the \"to\" address of the message.
+
+This runs \“git config --list\" in the current directory
+so might not always work."
+ (substring
+ (shell-command-to-string "git config --list | grep sendemail.to")
+ 13 -1)) ; Remove newline
+
(defun git-email--compose-email (patch-file)
"Given a PATCH-FILE, compose an email.
Extracts the relevant headers and the diff from the PATCH-FILE and inserts
@@ -240,12 +255,11 @@ them into the message buffer."
(lambda (header)
(not (string-equal (car (cdr header)) "")))
headers))
+ (sendemail-to (funcall git-email-get-to-address-function))
;; Get 'to' address from git.
- (sendemail-to
- (shell-command-to-string "git config --list | grep sendemail.to"))
(to (if (string-equal sendemail-to "")
"*** TO ADDRESS HERE ***"
- (substring sendemail-to 13 -1))) ; Remove newline
+ sendemail-to))
(diff (git-email--extract-diff patch-file)))
(funcall git-email-compose-email-function to
;; Remove 'subject' header, otherwise two subject headers will be