mirror of
https://git.savannah.gnu.org/git/emacs/org-mode.git
synced 2024-09-29 21:07:54 +00:00
org-gnus: Remove outdated code
* lisp/org-gnus.el (org-gnus-nnimap-query-article-no-from-file): Remove variable. * lisp/org-gnus.el (org-gnus-nnimap-cached-article-number): Remove function. (org-gnus-follow-link): Apply changes. Small refactoring. `org-gnus-nnimap-cached-article-number' has been removed from Gnus since 2010 and is not present in Emacs versions supported by Org.
This commit is contained in:
parent
1e872ea624
commit
94fa33ec95
|
@ -54,18 +54,6 @@ negates this setting for the duration of the command."
|
|||
:group 'org-link-store
|
||||
:type 'boolean)
|
||||
|
||||
(defcustom org-gnus-nnimap-query-article-no-from-file nil
|
||||
"If non-nil, `org-gnus-follow-link' will try to translate
|
||||
Message-Ids to article numbers by querying the .overview file.
|
||||
Normally, this translation is done by querying the IMAP server,
|
||||
which is usually very fast. Unfortunately, some (maybe badly
|
||||
configured) IMAP servers don't support this operation quickly.
|
||||
So if following a link to a Gnus article takes ages, try setting
|
||||
this variable to t."
|
||||
:group 'org-link-store
|
||||
:version "24.1"
|
||||
:type 'boolean)
|
||||
|
||||
(defcustom org-gnus-no-server nil
|
||||
"Should Gnus be started using `gnus-no-server'?"
|
||||
:group 'org-gnus
|
||||
|
@ -78,26 +66,6 @@ this variable to t."
|
|||
|
||||
;; Implementation
|
||||
|
||||
(defun org-gnus-nnimap-cached-article-number (group server message-id)
|
||||
"Return cached article number (uid) of message in GROUP on SERVER.
|
||||
MESSAGE-ID is the message-id header field that identifies the
|
||||
message. If the uid is not cached, return nil."
|
||||
(with-temp-buffer
|
||||
(let ((nov (and (fboundp 'nnimap-group-overview-filename)
|
||||
;; nnimap-group-overview-filename was removed from
|
||||
;; Gnus in September 2010, and therefore should
|
||||
;; only be present in Emacs 23.1.
|
||||
(nnimap-group-overview-filename group server))))
|
||||
(when (and nov (file-exists-p nov))
|
||||
(mm-insert-file-contents nov)
|
||||
(set-buffer-modified-p nil)
|
||||
(goto-char (point-min))
|
||||
(catch 'found
|
||||
(while (search-forward message-id nil t)
|
||||
(let ((hdr (split-string (thing-at-point 'line) "\t")))
|
||||
(if (string= (nth 4 hdr) message-id)
|
||||
(throw 'found (nth 0 hdr))))))))))
|
||||
|
||||
(defun org-gnus-group-link (group)
|
||||
"Create a link to the Gnus group GROUP.
|
||||
If GROUP is a newsgroup and `org-gnus-prefer-web-links' is
|
||||
|
@ -245,45 +213,35 @@ If `org-store-link' was called with a prefix arg the meaning of
|
|||
"Follow a Gnus link to GROUP and ARTICLE."
|
||||
(require 'gnus)
|
||||
(funcall (cdr (assq 'gnus org-link-frame-setup)))
|
||||
(if gnus-other-frame-object (select-frame gnus-other-frame-object))
|
||||
(setq group (org-no-properties group))
|
||||
(setq article (org-no-properties article))
|
||||
(cond ((and group article)
|
||||
(gnus-activate-group group)
|
||||
(condition-case nil
|
||||
(let* ((method (gnus-find-method-for-group group))
|
||||
(backend (car method))
|
||||
(server (cadr method)))
|
||||
(cond
|
||||
((eq backend 'nndoc)
|
||||
(if (gnus-group-read-group t nil group)
|
||||
(when gnus-other-frame-object (select-frame gnus-other-frame-object))
|
||||
(let ((group (org-no-properties group))
|
||||
(article (org-no-properties article)))
|
||||
(cond
|
||||
((and group article)
|
||||
(gnus-activate-group group)
|
||||
(condition-case nil
|
||||
(let ((msg "Couldn't follow Gnus link. Summary couldn't be opened."))
|
||||
(pcase (gnus-find-method-for-group group)
|
||||
(`(nndoc . ,_)
|
||||
(if (gnus-group-read-group t nil group)
|
||||
(gnus-summary-goto-article article nil t)
|
||||
(message msg)))
|
||||
(_
|
||||
(let ((articles 1)
|
||||
group-opened)
|
||||
(while (and (not group-opened)
|
||||
;; Stop on integer overflows.
|
||||
(> articles 0))
|
||||
(setq group-opened (gnus-group-read-group articles t group))
|
||||
(setq articles (if (< articles 16)
|
||||
(1+ articles)
|
||||
(* articles 2))))
|
||||
(if group-opened
|
||||
(gnus-summary-goto-article article nil t)
|
||||
(message "Couldn't follow gnus link. %s"
|
||||
"The summary couldn't be opened.")))
|
||||
(t
|
||||
(let ((articles 1)
|
||||
group-opened)
|
||||
(when (and (eq backend 'nnimap)
|
||||
org-gnus-nnimap-query-article-no-from-file)
|
||||
(setq article
|
||||
(or (org-gnus-nnimap-cached-article-number
|
||||
(nth 1 (split-string group ":"))
|
||||
server (concat "<" article ">")) article)))
|
||||
(while (and (not group-opened)
|
||||
;; stop on integer overflows
|
||||
(> articles 0))
|
||||
(setq group-opened (gnus-group-read-group
|
||||
articles t group)
|
||||
articles (if (< articles 16)
|
||||
(1+ articles)
|
||||
(* articles 2))))
|
||||
(if group-opened
|
||||
(gnus-summary-goto-article article nil t)
|
||||
(message "Couldn't follow gnus link. %s"
|
||||
"The summary couldn't be opened."))))))
|
||||
(quit (message "Couldn't follow gnus link. %s"
|
||||
"The linked group is empty."))))
|
||||
(group (gnus-group-jump-to-group group))))
|
||||
(message msg))))))
|
||||
(quit
|
||||
(message "Couldn't follow Gnus link. The linked group is empty."))))
|
||||
(group (gnus-group-jump-to-group group)))))
|
||||
|
||||
(defun org-gnus-no-new-news ()
|
||||
"Like `\\[gnus]' but doesn't check for new news."
|
||||
|
|
Loading…
Reference in a new issue