summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--init.org42
1 files changed, 21 insertions, 21 deletions
diff --git a/init.org b/init.org
index a3577e8..0a92b75 100644
--- a/init.org
+++ b/init.org
@@ -1543,21 +1543,23 @@
(autoload 'View-quit "view")
(defun jao-rss--find-url ()
- (when (derived-mode-p 'w3m-mode 'eww-mode)
- (save-excursion
- (if (fboundp 'w3m-view-source) (w3m-view-source) (eww-view-source))
- (goto-char (point-min))
- (when (re-search-forward
- "type=\"application/\\(?:atom\\|rss\\)\\+xml\" +" nil t)
- (let ((url (save-excursion
- (when (re-search-forward
- "href=\"\\([^\n\"]+\\)\"" nil t)
- (match-string-no-properties 1))))
- (title (when (re-search-forward
- "\\(?:title=\"\\([^\n\"]+\\)\" +\\)" nil t)
- (match-string-no-properties 1))))
- (if (fboundp 'w3m-view-mode) (w3m-view-source) (View-quit))
- (when url (cons url (or title ""))))))))
+ (save-excursion
+ (when (derived-mode-p 'w3m-mode 'eww-mode)
+ (if (fboundp 'w3m-view-source) (w3m-view-source) (eww-view-source)))
+ (goto-char (point-min))
+ (when (re-search-forward
+ "type=\"application/\\(?:atom\\|rss\\)\\+xml\" +" nil t)
+ (let ((url (save-excursion
+ (when (re-search-forward
+ "href=\"\\([^\n\"]+\\)\"" nil t)
+ (match-string-no-properties 1))))
+ (title (when (re-search-forward
+ "\\(?:title=\"\\([^\n\"]+\\)\" +\\)" nil t)
+ (match-string-no-properties 1))))
+ (cond ((derived-mode-p 'w3m-view-mode) (w3m-view-source))
+ ((string-match-p ".*\\*eww-source\\b.*" (buffer-name))
+ (View-quit)))
+ (when url (cons url (or title "")))))))
(defun jao-rss2e-append (name url mbox)
(with-current-buffer (find-file-noselect "~/.config/rss2email.cfg")
@@ -1569,12 +1571,10 @@
(defun jao-rss-subscribe (url)
"Subscribe to a given RSS URL. If URL not given, look for it."
- (interactive "sURL: ")
- (let* ((url (or url
- (jao-url-around-point)
- (jao-rss--find-url)
- (read-string "Feed URL: ")))
- (url+title (if (consp url) url (list url)))
+ (interactive (list (or (jao-url-around-point)
+ (jao-rss--find-url)
+ (read-string "Feed URL: "))))
+ (let* ((url+title (if (consp url) url (list url)))
(url (car url+title))
(title (cdr url+title)))
(if url