From 0e671478c6f37018973392f049979da5e1a8ff99 Mon Sep 17 00:00:00 2001 From: David Bremner Date: Tue, 27 Oct 2015 00:22:47 +0100 Subject: [PATCH] emacs: replace use of notmuch-address-message-insinuate This allows e.g. Gnus users to load this file without changing message-mode behaviour. This will disable completion for those that did not customize the variable but relied on the existence of a file named "notmuch-addresses" in their path. In the next commit the default behaviour will change to use a "workalike" internal completion mechanism. --- emacs/notmuch-address.el | 19 ++++++++----------- emacs/notmuch-mua.el | 4 +++- 2 files changed, 11 insertions(+), 12 deletions(-) diff --git a/emacs/notmuch-address.el b/emacs/notmuch-address.el index fde3c1b2..e2af8792 100644 --- a/emacs/notmuch-address.el +++ b/emacs/notmuch-address.el @@ -23,11 +23,13 @@ ;; -(defcustom notmuch-address-command "notmuch-addresses" +(defcustom notmuch-address-command nil "The command which generates possible addresses. It must take a single argument and output a list of possible matches, one per -line." - :type 'string +line. The default value of nil disables address completion." + :type '(radio + (const :tag "Disable address completion" nil) + (string :tag "Use external completion command" "notmuch-addresses")) :group 'notmuch-send :group 'notmuch-external) @@ -55,10 +57,12 @@ to know how address selection is made by default." (defvar notmuch-address-history nil) (defun notmuch-address-message-insinuate () + (message "calling notmuch-address-message-insinuate is no longer needed")) + +(defun notmuch-address-setup () (unless (memq notmuch-address-message-alist-member message-completion-alist) (setq message-completion-alist (push notmuch-address-message-alist-member message-completion-alist)))) - (defun notmuch-address-options (original) (process-lines notmuch-address-command original)) @@ -109,11 +113,4 @@ to know how address selection is made by default." (not (file-directory-p bin)))) (throw 'found-command bin)))))))) -;; If we can find the program specified by `notmuch-address-command', -;; insinuate ourselves into `message-mode'. -(when (notmuch-address-locate-command notmuch-address-command) - (notmuch-address-message-insinuate)) - -;; - (provide 'notmuch-address) diff --git a/emacs/notmuch-mua.el b/emacs/notmuch-mua.el index 57465b20..fd98ea41 100644 --- a/emacs/notmuch-mua.el +++ b/emacs/notmuch-mua.el @@ -269,7 +269,9 @@ Note that these functions use `mail-citation-hook' if that is non-nil." (set-buffer-modified-p nil)) (define-derived-mode notmuch-message-mode message-mode "Message[Notmuch]" - "Notmuch message composition mode. Mostly like `message-mode'") + "Notmuch message composition mode. Mostly like `message-mode'" + (when notmuch-address-command + (notmuch-address-setup))) (define-key notmuch-message-mode-map (kbd "C-c C-c") #'notmuch-mua-send-and-exit) (define-key notmuch-message-mode-map (kbd "C-c C-s") #'notmuch-mua-send) -- 2.39.2