Show Message-Id in Gnus Article buffer. Search for Message-Id in Web.
--- a/.emacs-my Sat Sep 10 15:40:30 2016 +0300
+++ b/.emacs-my Sun Sep 11 11:27:08 2016 +0300
@@ -1831,7 +1831,7 @@
(add-hook 'kill-emacs-hook 'my-kill-gnus))
(my--eval-after-load gnus-art
- (setq gnus-visible-headers (concat gnus-visible-headers "\\|^Archived-At:\\|^List-URL:")))
+ (setq gnus-visible-headers (concat gnus-visible-headers "\\|^Archived-At:\\|^List-URL:\\|^Message-Id:")))
;; Store gnus specific files to '~/.gnus'.
(setq
@@ -2127,6 +2127,18 @@
(define-key gnus-summary-mode-map [(control down)] 'gnus-summary-next-thread)
(define-key gnus-summary-mode-map [(control up)] 'gnus-summary-prev-thread))
+(defun my/gnus-search-web-by-message-id ()
+ "Search for article archive by Message-Id in Google."
+ (interactive)
+ (let ( (msgid (message-fetch-field "Message-Id")) (subj (message-fetch-field "Subject")) )
+ (setq msgid (replace-regexp-in-string "[<>]" "" msgid))
+ (setq subj (replace-regexp-in-string "[\"#]" " " subj))
+ (browse-url (format "https://www.google.com.ua/search?q=%s" (url-encode-url (format "%s OR \"%s\"" msgid subj))))
+ (browse-url (format "http://mid.mail-archive.com/%s" (url-encode-url msgid)))))
+
+(my--eval-after-load gnus-art
+ (define-key gnus-article-mode-map [(control return)] #'my/gnus-search-web-by-message-id))
+
;; (setq imap-log t)
;; (setq mail-user-agent 'mh-e-user-agent)