emacs: Move `notmuch-poll' to notmuch-lib

This commit is contained in:
Austin Clements 2013-09-03 17:45:21 -04:00 committed by David Bremner
parent ecdfa9a6b0
commit ebd8a2e344
2 changed files with 38 additions and 38 deletions

View file

@ -76,6 +76,33 @@ search."
:type 'boolean :type 'boolean
:group 'notmuch-search) :group 'notmuch-search)
(defcustom notmuch-poll-script nil
"An external script to incorporate new mail into the notmuch database.
This variable controls the action invoked by
`notmuch-search-poll-and-refresh-view' and
`notmuch-hello-poll-and-update' (each have a default keybinding
of 'G') to incorporate new mail into the notmuch database.
If set to nil (the default), new mail is processed by invoking
\"notmuch new\". Otherwise, this should be set to a string that
gives the name of an external script that processes new mail. If
set to the empty string, no command will be run.
The external script could do any of the following depending on
the user's needs:
1. Invoke a program to transfer mail to the local mail store
2. Invoke \"notmuch new\" to incorporate the new mail
3. Invoke one or more \"notmuch tag\" commands to classify the mail
Note that the recommended way of achieving the same is using
\"notmuch new\" hooks."
:type '(choice (const :tag "notmuch new" nil)
(const :tag "Disabled" "")
(string :tag "Custom script"))
:group 'notmuch-external)
;; ;;
(defvar notmuch-search-history nil (defvar notmuch-search-history nil
@ -161,6 +188,17 @@ Otherwise the output will be returned"
"Return the user.other_email value (as a list) from the notmuch configuration." "Return the user.other_email value (as a list) from the notmuch configuration."
(split-string (notmuch-config-get "user.other_email") "\n")) (split-string (notmuch-config-get "user.other_email") "\n"))
(defun notmuch-poll ()
"Run \"notmuch new\" or an external script to import mail.
Invokes `notmuch-poll-script', \"notmuch new\", or does nothing
depending on the value of `notmuch-poll-script'."
(interactive)
(if (stringp notmuch-poll-script)
(unless (string= notmuch-poll-script "")
(call-process notmuch-poll-script nil nil))
(call-process notmuch-command nil nil nil "new")))
(defun notmuch-kill-this-buffer () (defun notmuch-kill-this-buffer ()
"Kill the current buffer." "Kill the current buffer."
(interactive) (interactive)

View file

@ -959,44 +959,6 @@ same relative position within the new buffer."
(notmuch-search query oldest-first target-thread target-line) (notmuch-search query oldest-first target-thread target-line)
(goto-char (point-min)))) (goto-char (point-min))))
(defcustom notmuch-poll-script nil
"An external script to incorporate new mail into the notmuch database.
This variable controls the action invoked by
`notmuch-search-poll-and-refresh-view' and
`notmuch-hello-poll-and-update' (each have a default keybinding
of 'G') to incorporate new mail into the notmuch database.
If set to nil (the default), new mail is processed by invoking
\"notmuch new\". Otherwise, this should be set to a string that
gives the name of an external script that processes new mail. If
set to the empty string, no command will be run.
The external script could do any of the following depending on
the user's needs:
1. Invoke a program to transfer mail to the local mail store
2. Invoke \"notmuch new\" to incorporate the new mail
3. Invoke one or more \"notmuch tag\" commands to classify the mail
Note that the recommended way of achieving the same is using
\"notmuch new\" hooks."
:type '(choice (const :tag "notmuch new" nil)
(const :tag "Disabled" "")
(string :tag "Custom script"))
:group 'notmuch-external)
(defun notmuch-poll ()
"Run \"notmuch new\" or an external script to import mail.
Invokes `notmuch-poll-script', \"notmuch new\", or does nothing
depending on the value of `notmuch-poll-script'."
(interactive)
(if (stringp notmuch-poll-script)
(unless (string= notmuch-poll-script "")
(call-process notmuch-poll-script nil nil))
(call-process notmuch-command nil nil nil "new")))
(defun notmuch-search-poll-and-refresh-view () (defun notmuch-search-poll-and-refresh-view ()
"Invoke `notmuch-poll' to import mail, then refresh the current view." "Invoke `notmuch-poll' to import mail, then refresh the current view."
(interactive) (interactive)