6648 |
(cons fun args))))))) |
(cons fun args))))))) |
6649 |
|
|
6650 |
(defun gnus-parse-news-url (url) |
(defun gnus-parse-news-url (url) |
6651 |
(let (scheme server group message-id articles) |
(let (scheme server port group message-id articles) |
6652 |
(with-temp-buffer |
(with-temp-buffer |
6653 |
(insert url) |
(insert url) |
6654 |
(goto-char (point-min)) |
(goto-char (point-min)) |
6655 |
(when (looking-at "\\([A-Za-z]+\\):") |
(when (looking-at "\\([A-Za-z]+\\):") |
6656 |
(setq scheme (match-string 1)) |
(setq scheme (match-string 1)) |
6657 |
(goto-char (match-end 0))) |
(goto-char (match-end 0))) |
6658 |
(when (looking-at "//\\([^/]+\\)/") |
(when (looking-at "//\\([^:/]+\\)\\(:?\\)\\([0-9]+\\)?/") |
6659 |
(setq server (match-string 1)) |
(setq server (match-string 1)) |
6660 |
|
(setq port (if (stringp (match-string 3)) |
6661 |
|
(string-to-number (match-string 3)) |
6662 |
|
(match-string 3))) |
6663 |
(goto-char (match-end 0))) |
(goto-char (match-end 0))) |
6664 |
|
|
6665 |
(cond |
(cond |
6672 |
(setq group (match-string 1))) |
(setq group (match-string 1))) |
6673 |
(t |
(t |
6674 |
(error "Unknown news URL syntax")))) |
(error "Unknown news URL syntax")))) |
6675 |
(list scheme server group message-id articles))) |
(list scheme server port group message-id articles))) |
6676 |
|
|
6677 |
(defun gnus-button-handle-news (url) |
(defun gnus-button-handle-news (url) |
6678 |
"Fetch a news URL." |
"Fetch a news URL." |
6679 |
(destructuring-bind (scheme server group message-id articles) |
(destructuring-bind (scheme server port group message-id articles) |
6680 |
(gnus-parse-news-url url) |
(gnus-parse-news-url url) |
6681 |
(cond |
(cond |
6682 |
(message-id |
(message-id |
6683 |
(save-excursion |
(save-excursion |
6684 |
(set-buffer gnus-summary-buffer) |
(set-buffer gnus-summary-buffer) |
6685 |
(if server |
(if server |
6686 |
(let ((gnus-refer-article-method (list (list 'nntp server)))) |
(let ((gnus-refer-article-method (list (list 'nntp server))) |
6687 |
|
(nntp-port-number (or port "nntp"))) |
6688 |
(gnus-summary-refer-article message-id)) |
(gnus-summary-refer-article message-id)) |
6689 |
(gnus-summary-refer-article message-id)))) |
(gnus-summary-refer-article message-id)))) |
6690 |
(group |
(group |