# HG changeset patch # User Ulf Jasper # Date 1232793574 0 # Node ID d7b1d5b3b2c1292e3698529974ed16424a16d162 # Parent 1b7286db7263b214307f4e2fc161570754134651 newsticker: Fixed next-new-or-immortal-feed even more. diff -r 1b7286db7263 -r d7b1d5b3b2c1 lisp/ChangeLog --- a/lisp/ChangeLog Sat Jan 24 10:27:03 2009 +0000 +++ b/lisp/ChangeLog Sat Jan 24 10:39:34 2009 +0000 @@ -1,3 +1,11 @@ +2009-01-24 Ulf Jasper + + * net/newst-treeview.el (newsticker--treeview-first-feed): New. + (newsticker-treeview-next-new-or-immortal-item): Try first-feed if + next-feed does not succeed. Fixes bug#1710 even more. + (newsticker-treeview-next-feed): Simplified. + (newsticker--group-get-feeds): Suppress group names in result. + 2009-01-24 Adrian Robert * term/ns-win.el (menu-bar-select-frame): Drop this override. diff -r 1b7286db7263 -r d7b1d5b3b2c1 lisp/net/newst-treeview.el --- a/lisp/net/newst-treeview.el Sat Jan 24 10:27:03 2009 +0000 +++ b/lisp/net/newst-treeview.el Sat Jan 24 10:39:34 2009 +0000 @@ -7,7 +7,7 @@ ;; URL: http://www.nongnu.org/newsticker ;; Created: 2007 ;; Keywords: News, RSS, Atom -;; Time-stamp: "22. Januar 2009, 21:22:25 (ulf)" +;; Time-stamp: "24. Januar 2009, 11:22:20 (ulf)" ;; ====================================================================== @@ -1337,7 +1337,8 @@ (newsticker-treeview-show-item) (throw 'found t)) (setq move t)))) - (when (newsticker-treeview-next-feed t) + (when (or (newsticker-treeview-next-feed t) + (newsticker--treeview-first-feed)) (newsticker-treeview-next-new-or-immortal-item t)))) (defun newsticker-treeview-prev-new-or-immortal-item () @@ -1542,6 +1543,11 @@ (node (widget-apply-action node))))) +(defun newsticker--treeview-first-feed () + "Jump to the depth-first feed in the newsticker-groups tree." + (newsticker-treeview-jump + (car (reverse (newsticker--group-get-feeds newsticker-groups t))))) + (defun newsticker-treeview-next-feed (&optional stay-in-tree) "Move to next feed. Optional argument STAY-IN-TREE prevents moving from real feed @@ -1551,21 +1557,18 @@ (newsticker--treeview-restore-layout) (let ((cur (newsticker--treeview-get-current-node)) (new nil)) - (if cur - (progn - (setq new - (if cur - (or (newsticker--treeview-get-next-sibling cur) - (newsticker--treeview-get-next-uncle cur) - (and (not stay-in-tree) - (newsticker--treeview-get-other-tree))) - (car (widget-get newsticker--treeview-feed-tree :children)))) - (if new - (progn - (newsticker--treeview-activate-node new) - (newsticker--treeview-tree-update-highlight) - (not (eq new cur))) - nil)) + (setq new + (if cur + (or (newsticker--treeview-get-next-sibling cur) + (newsticker--treeview-get-next-uncle cur) + (and (not stay-in-tree) + (newsticker--treeview-get-other-tree))) + (car (widget-get newsticker--treeview-feed-tree :children)))) + (if new + (progn + (newsticker--treeview-activate-node new) + (newsticker--treeview-tree-update-highlight) + (not (eq new cur))) nil))) (defun newsticker-treeview-prev-feed (&optional stay-in-tree) @@ -1719,7 +1722,7 @@ (let ((subfeeds (newsticker--group-get-feeds n t))) (when subfeeds (setq result (append subfeeds result))))))) - group) + (cdr group)) result)) (defun newsticker-group-add-group (name parent)