emacs: Rip out all of the notmuch-folder code.
authorCarl Worth <cworth@cworth.org>
Tue, 27 Apr 2010 05:42:07 +0000 (22:42 -0700)
committerCarl Worth <cworth@cworth.org>
Tue, 27 Apr 2010 05:42:07 +0000 (22:42 -0700)
We are asserting that the new notmuch-hello implementation, (available
by just calling `notmuch') is just as easy to use as the old
notmuch-folder. So let's remove what's now a largely redundant
implementation.

To make this transition easier, we are still supporting the
notmuch-folders variable name, and we still provide `notmuch-folder'
as an alias which can be invoked to get the new notmuch-hello
functionality.

emacs/notmuch-hello.el
emacs/notmuch-lib.el
emacs/notmuch.el

index db2da9f49cfca2350a4975c77de549eddf1430cb..cbe414f1e9a0d111fac4aba2b215845a34ae2ed2 100644 (file)
@@ -399,6 +399,12 @@ diagonal."
       (if (not (widget-at))
          (widget-forward 1)))))
 
+;;;###autoload
+(defun notmuch-folder ()
+  "Deprecated function for invoking notmuch---calling `notmuch' is preferred now."
+  (interactive)
+  (notmuch-hello))
+
 ;;
 
 (provide 'notmuch-hello)
index 39eaf79b353fa48c6f2e3e8d85a6114e71ac1fc3..f30bcb429cc2a775a98b0242b3f3f63b5a0c8ecf 100644 (file)
   "Notmuch mail reader for Emacs."
   :group 'mail)
 
-(defcustom notmuch-folders '(("inbox" . "tag:inbox") ("unread" . "tag:unread"))
-  "List of searches for the notmuch folder view"
-  :type '(alist :key-type (string) :value-type (string))
-  :group 'notmuch)
-
 (defcustom notmuch-search-oldest-first t
   "Show the oldest mail first when searching."
   :type 'boolean
@@ -45,6 +40,9 @@
   :type '(alist :key-type string :value-type string)
   :group 'notmuch)
 
+(defvar notmuch-folders nil
+  "Deprecated name for what is now known as `notmuch-saved-searches'.")
+
 (defun notmuch-saved-searches ()
   "Common function for querying the notmuch-saved-searches variable.
 
index 469d5fbdc20a6bf4ee45f3fb6fd4afb45bbb2ccc..9b2b5924e856bfc973564c531f9310d9a3516e32 100644 (file)
@@ -740,9 +740,9 @@ same relative position within the new buffer."
 
 If this variable is non empty, then it should name a script to be
 invoked by `notmuch-search-poll-and-refresh-view' and
-`notmuch-folder-poll-and-refresh-view' (each have a default
-keybinding of 'G'). The script could do any of the following
-depending on the user's needs:
+`notmuch-hello-poll-and-update' (each have a default keybinding
+of 'G'). The 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
@@ -812,148 +812,4 @@ current search results AND that are tagged with the given tag."
 
 (setq mail-user-agent 'notmuch-user-agent)
 
-(defvar notmuch-folder-mode-map
-  (let ((map (make-sparse-keymap)))
-    (define-key map "?" 'notmuch-help)
-    (define-key map "x" 'kill-this-buffer)
-    (define-key map "q" 'kill-this-buffer)
-    (define-key map "m" 'notmuch-mua-mail)
-    (define-key map "e" 'notmuch-folder-show-empty-toggle)
-    (define-key map ">" 'notmuch-folder-last)
-    (define-key map "<" 'notmuch-folder-first)
-    (define-key map "=" 'notmuch-folder)
-    (define-key map "G" 'notmuch-folder-poll-and-refresh-view)
-    (define-key map "s" 'notmuch-search)
-    (define-key map [mouse-1] 'notmuch-folder-show-search)
-    (define-key map (kbd "RET") 'notmuch-folder-show-search)
-    (define-key map " " 'notmuch-folder-show-search)
-    (define-key map "p" 'notmuch-folder-previous)
-    (define-key map "n" 'notmuch-folder-next)
-    map)
-  "Keymap for \"notmuch folder\" buffers.")
-
-(fset 'notmuch-folder-mode-map notmuch-folder-mode-map)
-
-(defun notmuch-folder-mode ()
-  "Major mode for showing notmuch 'folders'.
-
-This buffer contains a list of message counts returned by a
-customizable set of searches of your email archives. Each line in
-the buffer shows the name of a saved search and the resulting
-message count.
-
-Pressing RET on any line opens a search window containing the
-results for the saved search on that line.
-
-Here is an example of how the search list could be
-customized, (the following text would be placed in your ~/.emacs
-file):
-
-(setq notmuch-folders '((\"inbox\" . \"tag:inbox\")
-                        (\"unread\" . \"tag:inbox AND tag:unread\")
-                        (\"notmuch\" . \"tag:inbox AND to:notmuchmail.org\")))
-
-Of course, you can have any number of folders, each configured
-with any supported search terms (see \"notmuch help search-terms\").
-
-Currently available key bindings:
-
-\\{notmuch-folder-mode-map}"
-  (interactive)
-  (kill-all-local-variables)
-  (use-local-map 'notmuch-folder-mode-map)
-  (setq truncate-lines t)
-  (hl-line-mode 1)
-  (setq major-mode 'notmuch-folder-mode
-       mode-name "notmuch-folder")
-  (setq buffer-read-only t))
-
-(defun notmuch-folder-next ()
-  "Select the next folder in the list."
-  (interactive)
-  (forward-line 1)
-  (if (eobp)
-      (forward-line -1)))
-
-(defun notmuch-folder-previous ()
-  "Select the previous folder in the list."
-  (interactive)
-  (forward-line -1))
-
-(defun notmuch-folder-first ()
-  "Select the first folder in the list."
-  (interactive)
-  (goto-char (point-min)))
-
-(defun notmuch-folder-last ()
-  "Select the last folder in the list."
-  (interactive)
-  (goto-char (point-max))
-  (forward-line -1))
-
-(defun notmuch-folder-count (search)
-  (car (process-lines notmuch-command "count" search)))
-
-(defvar notmuch-folder-show-empty t
-  "Whether `notmuch-folder-mode' should display empty folders.")
-
-(defun notmuch-folder-show-empty-toggle ()
-  "Toggle the listing of empty folders"
-  (interactive)
-  (setq notmuch-folder-show-empty (not notmuch-folder-show-empty))
-  (notmuch-folder))
-
-(defun notmuch-folder-add (folders)
-  (if folders
-      (let* ((name (car (car folders)))
-           (inhibit-read-only t)
-           (search (cdr (car folders)))
-           (count (notmuch-folder-count search)))
-       (if (or notmuch-folder-show-empty
-               (not (equal count "0")))
-           (progn
-             (insert name)
-             (indent-to 16 1)
-             (insert count)
-             (insert "\n")
-             )
-         )
-       (notmuch-folder-add (cdr folders)))))
-
-(defun notmuch-folder-find-name ()
-  (save-excursion
-    (beginning-of-line)
-    (let ((beg (point)))
-      (re-search-forward "\\([ \t]*[^ \t]+\\)")
-      (filter-buffer-substring (match-beginning 1) (match-end 1)))))
-
-(defun notmuch-folder-show-search (&optional folder)
-  "Show a search window for the search related to the specified folder."
-  (interactive)
-  (if (null folder)
-      (setq folder (notmuch-folder-find-name)))
-  (let ((search (assoc folder notmuch-folders)))
-    (if search
-       (notmuch-search (cdr search) notmuch-search-oldest-first))))
-
-(defun notmuch-folder-poll-and-refresh-view ()
-  "Invoke `notmuch-poll' to import mail, then refresh the folder view."
-  (interactive)
-  (notmuch-poll)
-  (notmuch-folder))
-
-;;;###autoload
-(defun notmuch-folder ()
-  "Show the notmuch folder view and update the displayed counts."
-  (interactive)
-  (let ((buffer (get-buffer-create "*notmuch-folders*")))
-    (switch-to-buffer buffer)
-    (let ((inhibit-read-only t)
-         (n (line-number-at-pos)))
-      (erase-buffer)
-      (notmuch-folder-mode)
-      (notmuch-folder-add notmuch-folders)
-      (goto-char (point-min))
-      (goto-line n))))
-
 (provide 'notmuch)