diff options
Diffstat (limited to 'git-email.el')
-rw-r--r-- | git-email.el | 20 |
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 |