emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] emacs/lisp ChangeLog net/newst-backend.el net/n...


From: Ulf Jasper
Subject: [Emacs-diffs] emacs/lisp ChangeLog net/newst-backend.el net/n...
Date: Fri, 04 Dec 2009 19:27:48 +0000

CVSROOT:        /sources/emacs
Module name:    emacs
Changes by:     Ulf Jasper <u11>        09/12/04 19:27:47

Modified files:
        lisp           : ChangeLog 
        lisp/net       : newst-backend.el newst-treeview.el 

Log message:
        Newsticker fixes/changes.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/emacs/lisp/ChangeLog?cvsroot=emacs&r1=1.16818&r2=1.16819
http://cvs.savannah.gnu.org/viewcvs/emacs/lisp/net/newst-backend.el?cvsroot=emacs&r1=1.14&r2=1.15
http://cvs.savannah.gnu.org/viewcvs/emacs/lisp/net/newst-treeview.el?cvsroot=emacs&r1=1.24&r2=1.25

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/emacs/emacs/lisp/ChangeLog,v
retrieving revision 1.16818
retrieving revision 1.16819
diff -u -b -r1.16818 -r1.16819
--- ChangeLog   4 Dec 2009 16:34:22 -0000       1.16818
+++ ChangeLog   4 Dec 2009 19:27:42 -0000       1.16819
@@ -1,3 +1,23 @@
+2009-12-04  Ulf Jasper  <address@hidden>
+
+       * net/newst-treeview.el
+       (newsticker--treeview-list-highlight-start): Restored call to
+       save-excursion: Selected item was stuck.
+       (newsticker--treeview-list-select): New.
+       (newsticker--treeview-item-show-text)
+       (newsticker--treeview-item-show)
+       (newsticker--treeview-item-update): Use new
+       newsticker-treeview-item-mode.
+       (newsticker-treeview-update): Keep current item.
+       (newsticker-treeview-next-new-or-immortal-item): Doc change.
+       (newsticker--treeview-first-feed): Doc change.
+       (newsticker-treeview-list-menu)
+       (newsticker-treeview-item-menu): Added menu entries.
+       (newsticker-treeview-item-mode): New.
+
+       * net/newst-backend.el (newsticker-customize): delete other
+       windows.
+
 2009-12-04  Sam Steingold  <address@hidden>
 
        * log-view.el (log-view-mode-map): "q" calls quit-window,

Index: net/newst-backend.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/net/newst-backend.el,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -b -r1.14 -r1.15
--- net/newst-backend.el        31 Oct 2009 02:38:38 -0000      1.14
+++ net/newst-backend.el        4 Dec 2009 19:27:47 -0000       1.15
@@ -7,7 +7,7 @@
 ;; Filename:    newst-backend.el
 ;; URL:         http://www.nongnu.org/newsticker
 ;; Keywords:    News, RSS, Atom
-;; Time-stamp:  "23. Januar 2009, 19:39:22 (ulf)"
+;; Time-stamp:  "4. Dezember 2009, 20:08:17 (ulf)"
 
 ;; ======================================================================
 
@@ -717,6 +717,7 @@
 (defun newsticker-customize ()
   "Open the newsticker customization group."
   (interactive)
+  (delete-other-windows)
   (customize-group "newsticker"))
 
 ;; ======================================================================

Index: net/newst-treeview.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/net/newst-treeview.el,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -b -r1.24 -r1.25
--- net/newst-treeview.el       19 Nov 2009 07:13:33 -0000      1.24
+++ net/newst-treeview.el       4 Dec 2009 19:27:47 -0000       1.25
@@ -7,7 +7,7 @@
 ;; URL:         http://www.nongnu.org/newsticker
 ;; Created:     2007
 ;; Keywords:    News, RSS, Atom
-;; Time-stamp:  "15. April 2009, 19:51:17 (ulf)"
+;; Time-stamp:  "4. Dezember 2009, 20:07:40 (ulf)"
 
 ;; ======================================================================
 
@@ -597,8 +597,9 @@
 (defun newsticker--treeview-list-highlight-start ()
   "Return position of selection in treeview list buffer."
   (with-current-buffer (newsticker--treeview-list-buffer)
+    (save-excursion
     (goto-char (point-min))
-    (next-single-property-change (point) :nt-selected)))
+      (next-single-property-change (point) :nt-selected))))
 
 (defun newsticker--treeview-list-update (clear-buffer)
   "Update the faces and highlight in the treeview list buffer.
@@ -665,6 +666,27 @@
                 'face face
                 'keymap newsticker-treeview-list-sort-button-map)))
 
+(defun newsticker--treeview-list-select (item)
+  "Select ITEM in treeview's list buffer."
+  (newsticker--treeview-list-clear-highlight)
+    (let (pos num-lines)
+      (save-current-buffer
+        (set-buffer (newsticker--treeview-list-buffer))
+        (goto-char (point-min))
+        (catch 'found
+          (while t
+            (let ((it (get-text-property (point) :nt-item)))
+              (when (eq it item)
+                (newsticker--treeview-list-update-highlight)
+                (newsticker--treeview-list-update-faces)
+                (newsticker--treeview-item-show
+                 item (get-text-property (point) :nt-feed))
+                (throw 'found t)))
+            (forward-line 1)
+            (when (eobp)
+              (goto-char (point-min))
+              (throw 'found nil)))))))
+
 ;; ======================================================================
 ;;; item window
 ;; ======================================================================
@@ -682,7 +704,7 @@
       (insert "\n\n" description)
       (when newsticker-justification
         (fill-region (point-min) (point-max) newsticker-justification))
-      (newsticker-treeview-mode)
+      (newsticker-treeview-item-mode)
       (goto-char (point-min)))))
 
 (defun newsticker--treeview-item-show (item feed-name-symbol)
@@ -716,7 +738,7 @@
                    (not is-rendered-HTML))
           (fill-region marker1 marker2 newsticker-justification))
 
-        (newsticker-treeview-mode)
+        (newsticker-treeview-item-mode)
         (goto-char (point-min))
         ;; insert logo at top
         (let* ((newsticker-enable-logo-manipulations nil)
@@ -787,7 +809,7 @@
     (set-buffer (newsticker--treeview-item-buffer))
     (let ((inhibit-read-only t))
       (erase-buffer))
-    (newsticker-treeview-mode)))
+    (newsticker-treeview-item-mode)))
 
 ;; ======================================================================
 ;;; Tree window
@@ -1193,6 +1215,7 @@
   "Update all treeview buffers and windows.
 Note: does not update the layout."
   (interactive)
+  (let ((cur-item (newsticker--treeview-get-selected-item)))
   (newsticker--group-manage-orphan-feeds)
   (newsticker--treeview-list-update t)
   (newsticker--treeview-item-update)
@@ -1203,7 +1226,11 @@
          (newsticker--treeview-list-items-with-age
           (intern newsticker--treeview-current-vfeed))))
   (newsticker--treeview-tree-update-highlight)
-  (newsticker--treeview-list-update-highlight))
+    (newsticker--treeview-list-update-highlight)
+    (let ((cur-feed (or newsticker--treeview-current-feed
+                        newsticker--treeview-current-vfeed)))
+      (if (and cur-feed cur-item)
+          (newsticker--treeview-list-select cur-item)))))
 
 (defun newsticker-treeview-quit ()
   "Quit newsticker treeview."
@@ -1307,7 +1334,8 @@
   "Move to next new or immortal item.
 Will move to next feed until an item is found.  Will not move if
 optional argument CURRENT-ITEM-COUNTS is t and current item is
-new or immortal."
+new or immortal.  Will not move from virtual to ordinary feed
+tree or vice versa if optional argument DONT-WRAP-TREES is non-nil."
   (interactive)
   (newsticker--treeview-restore-layout)
   (newsticker--treeview-list-clear-highlight)
@@ -1531,7 +1559,7 @@
            (widget-apply-action node)))))
 
 (defun newsticker--treeview-first-feed ()
-  "Jump to the depth-first feed in the newsticker-groups tree."
+  "Jump to the depth-first feed in the `newsticker-groups' tree."
   (newsticker-treeview-jump
    (car (reverse (newsticker--group-get-feeds newsticker-groups t)))))
 
@@ -1863,8 +1891,31 @@
     (define-key menu [newsticker-treeview-mark-list-items-old]
       (list 'menu-item "Mark all items old"
             'newsticker-treeview-mark-list-items-old))
+    (define-key menu [newsticker-treeview-mark-item-old]
+      (list 'menu-item "Mark current item old"
+            'newsticker-treeview-mark-item-old))
+    (define-key menu [newsticker-treeview-toggle-item-immortal]
+      (list 'menu-item "Mark current item immortal (toggle)"
+            'newsticker-treeview-toggle-item-immortal))
+    (define-key menu [newsticker-treeview-get-news]
+      (list 'menu-item "Get news for current feed"
+            'newsticker-treeview-get-news))
     menu)
-  "Map for newsticker tree menu.")
+  "Map for newsticker list menu.")
+
+(defvar newsticker-treeview-item-menu
+  (let ((menu (make-sparse-keymap "Newsticker Item")))
+    (define-key menu [newsticker-treeview-mark-item-old]
+      (list 'menu-item "Mark current item old"
+            'newsticker-treeview-mark-item-old))
+    (define-key menu [newsticker-treeview-toggle-item-immortal]
+      (list 'menu-item "Mark current item immortal (toggle)"
+            'newsticker-treeview-toggle-item-immortal))
+    (define-key menu [newsticker-treeview-get-news]
+      (list 'menu-item "Get news for current feed"
+            'newsticker-treeview-get-news))
+    menu)
+  "Map for newsticker item menu.")
 
 (defvar newsticker-treeview-mode-map
   (let ((map (make-sparse-keymap 'newsticker-treeview-mode-map)))
@@ -1929,6 +1980,11 @@
   (define-key newsticker-treeview-list-mode-map [down-mouse-3]
     newsticker-treeview-list-menu))
 
+(define-derived-mode newsticker-treeview-item-mode newsticker-treeview-mode
+  "Item"
+  (define-key newsticker-treeview-item-mode-map [down-mouse-3]
+    newsticker-treeview-item-menu))
+
 (defun newsticker-treeview-tree-click (event)
   "Handle click EVENT on a tag in the newsticker tree."
   (interactive "e")




reply via email to

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