.emacs-my
changeset 1426 7dfa8e98a13d
parent 1425 f4aad8cbd103
child 1427 1ce0756c4973
--- 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)