emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master a283996: Add command for customizing current newsticker feed


From: Ulf Jasper
Subject: master a283996: Add command for customizing current newsticker feed
Date: Tue, 23 Feb 2021 11:40:41 -0500 (EST)

branch: master
commit a283996fc728e249816d3bd43a6da1f3c0eab837
Author: Ulf Jasper <ulf.jasper@web.de>
Commit: Ulf Jasper <ulf.jasper@web.de>

    Add command for customizing current newsticker feed
    
    * lisp/net/newst-backend.el (newsticker-customize-feed): New.
      (newsticker--insert-bytes): Add documentation string.
      (newsticker--decode-iso8601-date): Fix documentation string.
    * lisp/net/newst-treeview.el (newsticker-treeview-customize-current-feed):
      New.
      (newsticker-treeview-mode-map): Add key for new command
      'newsticker-treeview-customize-current-feed'. (Fixes second issue in
      Bug#41376.)
---
 lisp/net/newst-backend.el  | 14 +++++++++++++-
 lisp/net/newst-treeview.el | 10 ++++++++++
 2 files changed, 23 insertions(+), 1 deletion(-)

diff --git a/lisp/net/newst-backend.el b/lisp/net/newst-backend.el
index ea96012..4ff950f 100644
--- a/lisp/net/newst-backend.el
+++ b/lisp/net/newst-backend.el
@@ -645,6 +645,17 @@ If URL is nil it is searched at point."
   (add-to-list 'newsticker-url-list (list name url nil nil nil) t)
   (customize-variable 'newsticker-url-list))
 
+(defun newsticker-customize-feed (feed-name)
+  "Open customization buffer for `newsticker-url-list' and jump to FEED-NAME."
+  (interactive
+   (list (completing-read "Name of feed or group to edit: "
+                          (append (mapcar #'car newsticker-url-list)
+                                  nil t feed-name))))
+  (customize-variable 'newsticker-url-list)
+  (delete-other-windows)
+  (when (re-search-forward (concat "Label: " feed-name) nil t)
+    (forward-line -1)))
+
 (defun newsticker-customize ()
   "Open the newsticker customization group."
   (interactive)
@@ -1548,6 +1559,7 @@ argument, which is one of the items in ITEMLIST."
 ;; ======================================================================
 
 (defun newsticker--insert-bytes (bytes)
+  "Decode BYTES and insert in current buffer."
   (insert (decode-coding-string bytes 'binary)))
 
 (defun newsticker--remove-whitespace (string)
@@ -1587,7 +1599,7 @@ This function calls `message' with arguments STRING and 
ARGS, if
        (apply 'message string args)))
 
 (defun newsticker--decode-iso8601-date (string)
-  "Return ISO8601-STRING in format like `encode-time'.
+  "Return ISO8601-encoded STRING in format like `encode-time'.
 Converts from ISO-8601 to Emacs representation.  If no time zone
 is present, this function defaults to universal time."
   (if string
diff --git a/lisp/net/newst-treeview.el b/lisp/net/newst-treeview.el
index a2d4d89..618a791 100644
--- a/lisp/net/newst-treeview.el
+++ b/lisp/net/newst-treeview.el
@@ -1434,6 +1434,15 @@ Move to next item unless DONT-PROCEED is non-nil."
                                   newsticker--treeview-current-vfeed)
                               (newsticker--treeview-get-selected-item)))
 
+(defun newsticker-treeview-customize-current-feed ()
+  "Open customization buffer for `newsticker-url-list' and move to current 
feed."
+  (interactive)
+  (let ((cur-feed (or newsticker--treeview-current-feed
+                      newsticker--treeview-current-vfeed)))
+    (if (newsticker--group-get-group cur-feed)
+        (message "Cannot customize groups.  Please select a feed.")
+      (newsticker-customize-feed cur-feed))))
+
 (defun newsticker--treeview-set-current-node (node)
   "Make NODE the current node."
   (with-current-buffer (newsticker--treeview-tree-buffer)
@@ -1995,6 +2004,7 @@ Return t if groups have changed, nil otherwise."
     (define-key map " " 'newsticker-treeview-next-page)
     (define-key map "a" 'newsticker-add-url)
     (define-key map "b" 'newsticker-treeview-browse-url-item)
+    (define-key map "c" 'newsticker-treeview-customize-current-feed)
     (define-key map "F" 'newsticker-treeview-prev-feed)
     (define-key map "f" 'newsticker-treeview-next-feed)
     (define-key map "g" 'newsticker-treeview-get-news)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]