mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-15 10:30:25 -08:00
Extract gnus-collect-urls-from-article' from gnus-summary-browse-url'
* lisp/gnus-sum.el (gnus-collect-urls-from-article): New function, extracted from `gnus-summary-browse-url'. (gnus-summary-browse-url): Use it.
This commit is contained in:
parent
b63f325e2e
commit
d932e256a4
1 changed files with 25 additions and 21 deletions
|
|
@ -9445,6 +9445,16 @@ The 1st element is the button named by `gnus-collect-urls-primary-text'."
|
|||
(push primary urls))
|
||||
(delete-dups urls)))
|
||||
|
||||
(defun gnus-collect-urls-from-article ()
|
||||
"Select the article and return the list of URLs in it.
|
||||
See 'gnus-collect-urls'."
|
||||
(gnus-summary-select-article)
|
||||
(gnus-with-article-buffer
|
||||
(article-goto-body)
|
||||
;; Back up a char, in case body starts with a button.
|
||||
(backward-char)
|
||||
(gnus-collect-urls)))
|
||||
|
||||
(defun gnus-shorten-url (url max)
|
||||
"Return an excerpt from URL not exceeding MAX characters."
|
||||
(if (<= (length url) max)
|
||||
|
|
@ -9460,33 +9470,27 @@ The 1st element is the button named by `gnus-collect-urls-primary-text'."
|
|||
"Scan the current article body for links, and offer to browse them.
|
||||
|
||||
Links are opened using `browse-url' unless a prefix argument is
|
||||
given: Then `browse-url-secondary-browser-function' is used instead.
|
||||
given: then `browse-url-secondary-browser-function' is used instead.
|
||||
|
||||
If only one link is found, browse that directly, otherwise use
|
||||
completion to select a link. The first link marked in the
|
||||
article text with `gnus-collect-urls-primary-text' is the
|
||||
default."
|
||||
(interactive "P" gnus-summary-mode)
|
||||
(let (urls target)
|
||||
(gnus-summary-select-article)
|
||||
(gnus-with-article-buffer
|
||||
(article-goto-body)
|
||||
;; Back up a char, in case body starts with a button.
|
||||
(backward-char)
|
||||
(setq urls (gnus-collect-urls))
|
||||
(setq target
|
||||
(cond ((= (length urls) 1)
|
||||
(car urls))
|
||||
((> (length urls) 1)
|
||||
(completing-read
|
||||
(format-prompt "URL to browse"
|
||||
(gnus-shorten-url (car urls) 40))
|
||||
urls nil t nil nil (car urls)))))
|
||||
(if target
|
||||
(if external
|
||||
(funcall browse-url-secondary-browser-function target)
|
||||
(browse-url target))
|
||||
(message "No URLs found.")))))
|
||||
(let* ((urls (gnus-collect-urls-from-article))
|
||||
(target
|
||||
(cond ((= (length urls) 1)
|
||||
(car urls))
|
||||
((> (length urls) 1)
|
||||
(completing-read
|
||||
(format-prompt "URL to browse"
|
||||
(gnus-shorten-url (car urls) 40))
|
||||
urls nil t nil nil (car urls))))))
|
||||
(if target
|
||||
(if external
|
||||
(funcall browse-url-secondary-browser-function target)
|
||||
(browse-url target))
|
||||
(message "No URLs found."))))
|
||||
|
||||
(defun gnus-summary-isearch-article (&optional regexp-p)
|
||||
"Do incremental search forward on the current article.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue