(defun notmuch-address-setup ()
(let* ((setup-company (and notmuch-address-use-company
- (require 'company nil t)))
+ (require 'company nil t)))
(pair (cons notmuch-address-completion-headers-regexp
- #'notmuch-address-expand-name)))
- (when setup-company
- (notmuch-company-setup))
- (unless (member pair message-completion-alist)
- (setq message-completion-alist
- (push pair message-completion-alist)))))
+ #'notmuch-address-expand-name)))
+ (when setup-company
+ (notmuch-company-setup))
+ (unless (member pair message-completion-alist)
+ (setq message-completion-alist
+ (push pair message-completion-alist)))))
(defun notmuch-address-toggle-internal-completion ()
"Toggle use of internal completion for current buffer.
((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)))
Address harvesting may take some time so the address collection runs
asynchronously unless SYNCHRONOUS is t. In case of asynchronous
execution, CALLBACK is called when harvesting finishes."
-
(let* ((sent (eq (car notmuch-address-internal-completion) 'sent))
(config-query (cadr notmuch-address-internal-completion))
(prefix-query (when addr-prefix
,query)))
(if synchronous
(mapc #'notmuch-address-harvest-addr
- (apply 'notmuch-call-notmuch-sexp args))
+ (apply 'notmuch-call-notmuch-sexp args))
;; Asynchronous
(let* ((current-proc (if addr-prefix
(car notmuch-address-harvest-procs)
;; Kill any existing process
(when current-proc
(kill-buffer (process-buffer current-proc))) ; this also kills the process
-
(setq current-proc
(apply 'notmuch-start-notmuch proc-name proc-buf
callback ; process sentinel
notmuch-address-internal-completion)
(equal (plist-get load-plist :version)
notmuch-address--save-hash-version))
- (setq notmuch-address-last-harvest (plist-get load-plist :last-harvest)
- notmuch-address-completions (plist-get load-plist :completions)
- notmuch-address-full-harvest-finished t)
+ (setq notmuch-address-last-harvest (plist-get load-plist :last-harvest))
+ (setq notmuch-address-completions (plist-get load-plist :completions))
+ (setq notmuch-address-full-harvest-finished t)
;; Return t to say load was successful.
t)))
(defun notmuch-address--save-address-hash ()
(when notmuch-address-save-filename
(if (or (not (file-exists-p notmuch-address-save-filename))
- ;; The file exists, check it is a file we saved
+ ;; 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)))))))
;;