;;; 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)
;; 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
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)
(not (member (car server) gnus-ephemeral-servers))
(not (member (gnus-method-to-server (car server)) occ)))
(push
- (list mserver)
+ mserver
openedserver)))
openedserver))
(defun nnmairix-replace-illegal-chars (header)
"Replace illegal characters in HEADER for mairix query."
(when header
- (if (> emacs-major-version 20)
- (while (string-match "[^-.@/,& [:alnum:]]" header)
- (setq header (replace-match "" t t header)))
- (while (string-match "[[]{}:<>]" header)
- (setq header (replace-match "" t t header))))
+ (while (string-match "[^-.@/,& [:alnum:]]" header)
+ (setq header (replace-match "" t t header)))
(while (string-match "[-& ]" header)
(setq header (replace-match "," t t header)))
- header))
+ header))
(defun nnmairix-group-toggle-parameter (group parameter description &optional par)
"Toggle on GROUP a certain PARAMETER.
;; 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
(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.