From 881c2005fc8ccca88f8a07585041eff791f9a1da Mon Sep 17 00:00:00 2001 From: David Bremner Date: Mon, 26 Oct 2015 12:23:56 +2100 Subject: [PATCH] [Patch v7 1/3] emacs: replace use of notmuch-address-message-insinuate --- 03/70573ed2f5a334a28a2dfbb45305b845bfca57 | 124 ++++++++++++++++++++++ 1 file changed, 124 insertions(+) create mode 100644 03/70573ed2f5a334a28a2dfbb45305b845bfca57 diff --git a/03/70573ed2f5a334a28a2dfbb45305b845bfca57 b/03/70573ed2f5a334a28a2dfbb45305b845bfca57 new file mode 100644 index 000000000..80379ad3a --- /dev/null +++ b/03/70573ed2f5a334a28a2dfbb45305b845bfca57 @@ -0,0 +1,124 @@ +Return-Path: +X-Original-To: notmuch@notmuchmail.org +Delivered-To: notmuch@notmuchmail.org +Received: from localhost (localhost [127.0.0.1]) + by arlo.cworth.org (Postfix) with ESMTP id E4AA26DE1405 + for ; Sun, 25 Oct 2015 08:25:46 -0700 (PDT) +X-Virus-Scanned: Debian amavisd-new at cworth.org +X-Spam-Flag: NO +X-Spam-Score: 0.098 +X-Spam-Level: +X-Spam-Status: No, score=0.098 tagged_above=-999 required=5 tests=[AWL=0.098] + autolearn=disabled +Received: from arlo.cworth.org ([127.0.0.1]) + by localhost (arlo.cworth.org [127.0.0.1]) (amavisd-new, port 10024) + with ESMTP id XVcSDrMyoZpd for ; + Sun, 25 Oct 2015 08:25:45 -0700 (PDT) +Received: from gitolite.debian.net (gitolite.debian.net [87.98.215.224]) + by arlo.cworth.org (Postfix) with ESMTPS id 271946DE1403 + for ; Sun, 25 Oct 2015 08:25:45 -0700 (PDT) +Received: from remotemail by gitolite.debian.net with local (Exim 4.80) + (envelope-from ) + id 1ZqNAN-0004zu-2O; Sun, 25 Oct 2015 15:25:03 +0000 +Received: (nullmailer pid 13825 invoked by uid 1000); Sun, 25 Oct 2015 + 15:24:09 -0000 +From: David Bremner +To: notmuch@notmuchmail.org +Subject: [Patch v7 1/3] emacs: replace use of + notmuch-address-message-insinuate +Date: Sun, 25 Oct 2015 12:23:56 -0300 +Message-Id: <1445786638-13763-2-git-send-email-david@tethera.net> +X-Mailer: git-send-email 2.6.1 +In-Reply-To: <1445786638-13763-1-git-send-email-david@tethera.net> +References: <1445786638-13763-1-git-send-email-david@tethera.net> +X-BeenThere: notmuch@notmuchmail.org +X-Mailman-Version: 2.1.20 +Precedence: list +List-Id: "Use and development of the notmuch mail system." + +List-Unsubscribe: , + +List-Archive: +List-Post: +List-Help: +List-Subscribe: , + +X-List-Received-Date: Sun, 25 Oct 2015 15:25:47 -0000 + +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 fde3c1b..e2af879 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 57465b2..fd98ea4 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.6.1 + -- 2.26.2