Merge branch 'master' of https://git.gnus.org/gnus
[gnus] / lisp / nnmairix.el
index 0b7f0a4..0e58af7 100644 (file)
@@ -1,6 +1,6 @@
 ;;; nnmairix.el --- Mairix back end for Gnus, the Emacs newsreader
 
-;; Copyright (C) 2007, 2008, 2009, 2010  Free Software Foundation, Inc.
+;; Copyright (C) 2007-2011  Free Software Foundation, Inc.
 
 ;; Author: David Engster <dengste@eml.cc>
 ;; Keywords: mail searching
 (defun nnmairix-summary-mode-hook ()
   "Nnmairix summary mode keymap."
   (define-key gnus-summary-mode-map
-    (kbd "$ t") 'nnmairix-search-thread-this-article)
+    (kbd "G G t") 'nnmairix-search-thread-this-article)
   (define-key gnus-summary-mode-map
-    (kbd "$ f") 'nnmairix-search-from-this-article)
+    (kbd "G G f") 'nnmairix-search-from-this-article)
   (define-key gnus-summary-mode-map
-    (kbd "$ m") 'nnmairix-widget-search-from-this-article)
+    (kbd "G G m") 'nnmairix-widget-search-from-this-article)
   (define-key gnus-summary-mode-map
-    (kbd "$ g") 'nnmairix-create-search-group-from-message)
+    (kbd "G G g") 'nnmairix-create-search-group-from-message)
   (define-key gnus-summary-mode-map
-    (kbd "$ o") 'nnmairix-goto-original-article)
+    (kbd "G G o") 'nnmairix-goto-original-article)
   (define-key gnus-summary-mode-map
-    (kbd "$ u") 'nnmairix-remove-tick-mark-original-article))
+    (kbd "G G u") 'nnmairix-remove-tick-mark-original-article))
 
 (add-hook 'gnus-group-mode-hook 'nnmairix-group-mode-hook)
 (add-hook 'gnus-summary-mode-hook 'nnmairix-summary-mode-hook)
@@ -603,10 +603,7 @@ Other back ends might or might not work.")
     nil))
 
 ;; Silence byte-compiler.
-(defvar gnus-registry-install)
-(autoload 'gnus-registry-fetch-group "gnus-registry")
-(autoload 'gnus-registry-fetch-groups "gnus-registry")
-(autoload 'gnus-registry-add-group "gnus-registry")
+(autoload 'gnus-registry-get-id-key "gnus-registry")
 
 (deffoo nnmairix-request-set-mark (group actions &optional server)
   (when server
@@ -660,13 +657,7 @@ Other back ends might or might not work.")
                              nnmairix-only-use-registry)
                    (setq ogroup
                          (nnmairix-determine-original-group-from-path
-                          mid nnmairix-current-server))
-                   ;; if available and allowed, add this entry to the registry
-                   (when (and (boundp 'gnus-registry-install)
-                              gnus-registry-install)
-                     (dolist (cur ogroup)
-                       (unless (gnus-parameter-registry-ignore cur)
-                         (gnus-registry-add-group mid cur)))))
+                          mid nnmairix-current-server)))
                  (unless ogroup
                    (nnheader-message
                     3 "Unable to set mark: couldn't find original group for %s" mid)
@@ -1357,7 +1348,7 @@ If ALL is t, return also the unopened/failed ones."
                 (not (member (car server) gnus-ephemeral-servers))
                 (not (member (gnus-method-to-server (car server)) occ)))
        (push
-        (list mserver)
+        mserver
         openedserver)))
     openedserver))
 
@@ -1630,14 +1621,7 @@ search in raw mode."
        ;; registry was not available or did not find article
        ;; so we search again with mairix in raw mode to get filename
        (setq allgroups
-             (nnmairix-determine-original-group-from-path mid server))
-       ;; if available and allowed, add this entry to the registry
-       (when (and (not no-registry)
-                  (boundp 'gnus-registry-install)
-                  gnus-registry-install)
-         (dolist (cur allgroups)
-           (unless (gnus-parameter-registry-ignore cur)
-             (gnus-registry-add-group mid cur)))))
+             (nnmairix-determine-original-group-from-path mid server)))
       (if (> (length allgroups) 1)
          (setq group
                (gnus-completing-read
@@ -1651,13 +1635,12 @@ search in raw mode."
 
 (defun nnmairix-determine-original-group-from-registry (mid)
   "Try to determinale original group for message-id MID from the registry."
-  (when (and (boundp 'gnus-registry-install)
-            gnus-registry-install)
+  (when (gnus-bound-and-true-dumber-p 'gnus-registry-enabled)
     (unless (string-match "^<" mid)
       (set mid (concat "<" mid)))
     (unless (string-match ">$" mid)
       (set mid (concat mid ">")))
-    (gnus-registry-fetch-groups mid)))
+    (gnus-registry-get-id-key mid 'group)))
 
 (defun nnmairix-determine-original-group-from-path (mid server)
   "Determine original group(s) for message-id MID from the file path.