(declare-function company-manual-begin "company")
(defvar notmuch-address-last-harvest 0
- "Time of last address harvest")
+ "Time of last address harvest.")
(defvar notmuch-address-completions (make-hash-table :test 'equal)
"Hash of email addresses for completion during email composition.
- This variable is set by calling `notmuch-address-harvest'.")
+This variable is set by calling `notmuch-address-harvest'.")
(defvar notmuch-address-full-harvest-finished nil
"t indicates that full completion address harvesting has been
"Determines how internal address completion generates candidates.
This should be a list of the form '(DIRECTION FILTER), where
- DIRECTION is either sent or received and specifies whether the
- candidates are searched in messages sent by the user or received
- by the user (note received by is much faster), and FILTER is
- either nil or a filter-string, such as \"date:1y..\" to append
- to the query."
+DIRECTION is either sent or received and specifies whether the
+candidates are searched in messages sent by the user or received
+by the user (note received by is much faster), and FILTER is
+either nil or a filter-string, such as \"date:1y..\" to append
+to the query."
:type '(list :tag "Use internal address completion"
(radio
:tag "Base completion on messages you have"
The completed address is passed as an argument to each function.
Note that this hook will be invoked for completion in headers
-matching `notmuch-address-completion-headers-regexp'.
-"
+matching `notmuch-address-completion-headers-regexp'."
:type 'hook
:group 'notmuch-address
:group 'notmuch-hooks)
(message "calling notmuch-address-message-insinuate is no longer needed"))
(defcustom notmuch-address-use-company t
- "If available, use company mode for address completion"
+ "If available, use company mode for address completion."
:type 'boolean
:group 'notmuch-send
:group 'notmuch-address)
((eq notmuch-address-command 'internal)
(unless (notmuch-address--harvest-ready)
;; First, run quick synchronous harvest based on what the user
- ;; entered so far
+ ;; entered so far.
(notmuch-address-harvest original t))
(prog1 (notmuch-address-matching original)
- ;; Then start the (potentially long-running) full asynchronous harvest if necessary
+ ;; Then start the (potentially long-running) full asynchronous
+ ;; harvest if necessary.
(notmuch-address-harvest-trigger)))
(t
(process-lines notmuch-address-command original))))
(push chosen notmuch-address-history)
(delete-region beg end)
(insert chosen)
- (run-hook-with-args 'notmuch-address-post-completion-functions chosen))
+ (run-hook-with-args 'notmuch-address-post-completion-functions
+ chosen))
(message "No matches.")
(ding))))
(t nil)))
(defvar notmuch-address-harvest-procs '(nil . nil)
"The currently running harvests.
-The car is a partial harvest, and the cdr is a full harvest")
+The car is a partial harvest, and the cdr is a full harvest.")
(defun notmuch-address-harvest (&optional addr-prefix synchronous callback)
"Collect addresses completion candidates.
;; The file exists, check it is a file we saved
(notmuch-address--get-address-hash))
(with-temp-file notmuch-address-save-filename
- (let ((save-plist (list :version notmuch-address--save-hash-version
- :completion-settings notmuch-address-internal-completion
- :last-harvest notmuch-address-last-harvest
- :completions notmuch-address-completions)))
+ (let ((save-plist
+ (list :version notmuch-address--save-hash-version
+ :completion-settings notmuch-address-internal-completion
+ :last-harvest notmuch-address-last-harvest
+ :completions notmuch-address-completions)))
(print "notmuch-address-hash" (current-buffer))
(print save-plist (current-buffer))))
(message "\
(let ((now (float-time)))
(when (> (- now notmuch-address-last-harvest) 86400)
(setq notmuch-address-last-harvest now)
- (notmuch-address-harvest nil nil
- (lambda (proc event)
- ;; If harvest fails, we want to try
- ;; again when the trigger is next
- ;; called
- (if (string= event "finished\n")
- (progn
- (notmuch-address--save-address-hash)
- (setq notmuch-address-full-harvest-finished t))
- (setq notmuch-address-last-harvest 0)))))))
+ (notmuch-address-harvest
+ nil nil
+ (lambda (proc event)
+ ;; If harvest fails, we want to try
+ ;; again when the trigger is next
+ ;; called
+ (if (string= event "finished\n")
+ (progn
+ (notmuch-address--save-address-hash)
+ (setq notmuch-address-full-harvest-finished t))
+ (setq notmuch-address-last-harvest 0)))))))
;;