# HG changeset patch # User Glenn Morris # Date 1258432875 0 # Node ID df266edf1b2bab636a3c4ca605e4c1753fb78816 # Parent 2df31b09d2930235a28259c6917d55a7b87a5db5 (newsticker--treeview-list-update-faces): Preserve point in the list buffer. (Bug#4939) Use point-at-eol. (newsticker--treeview-list-update-highlight) (newsticker--treeview-tree-update-highlight): Use point-at-bol/eol. diff -r 2df31b09d293 -r df266edf1b2b lisp/ChangeLog --- a/lisp/ChangeLog Tue Nov 17 04:35:33 2009 +0000 +++ b/lisp/ChangeLog Tue Nov 17 04:41:15 2009 +0000 @@ -2,6 +2,12 @@ * vc-svn.el (vc-svn-print-log): Fix typo in previous. + * net/newst-treeview.el (newsticker--treeview-list-update-faces): + Preserve point in the list buffer. (Bug#4939) + Use point-at-eol. + (newsticker--treeview-list-update-highlight) + (newsticker--treeview-tree-update-highlight): Use point-at-bol/eol. + 2009-11-16 Jay Belanger * calc/calc-bin.el (math-symclip, calcFunc-symclip, calc-symclip): diff -r 2df31b09d293 -r df266edf1b2b lisp/net/newst-treeview.el --- a/lisp/net/newst-treeview.el Tue Nov 17 04:35:33 2009 +0000 +++ b/lisp/net/newst-treeview.el Tue Nov 17 04:41:15 2009 +0000 @@ -548,31 +548,32 @@ "Update faces in the treeview list buffer." (let (pos-sel) (with-current-buffer (newsticker--treeview-list-buffer) - (let ((inhibit-read-only t)) - (goto-char (point-min)) - (while (not (eobp)) - (let* ((pos (save-excursion (end-of-line) (point))) - (item (get-text-property (point) :nt-item)) - (age (newsticker--age item)) - (selected (get-text-property (point) :nt-selected)) - (face (cond ((eq age 'new) - 'newsticker-treeview-new-face) - ((eq age 'old) - 'newsticker-treeview-old-face) - ((eq age 'immortal) - 'newsticker-treeview-immortal-face) - ((eq age 'obsolete) - 'newsticker-treeview-obsolete-face) - (t - 'bold)))) - (put-text-property (point) pos 'face face) - (if selected - (move-overlay newsticker--selection-overlay (point) - (1+ pos) ;include newline - (current-buffer))) - (if selected (setq pos-sel (point))) - (forward-line 1) - (beginning-of-line))))) ;; FIXME!? + (save-excursion + (let ((inhibit-read-only t)) + (goto-char (point-min)) + (while (not (eobp)) + (let* ((pos (point-at-eol)) + (item (get-text-property (point) :nt-item)) + (age (newsticker--age item)) + (selected (get-text-property (point) :nt-selected)) + (face (cond ((eq age 'new) + 'newsticker-treeview-new-face) + ((eq age 'old) + 'newsticker-treeview-old-face) + ((eq age 'immortal) + 'newsticker-treeview-immortal-face) + ((eq age 'obsolete) + 'newsticker-treeview-obsolete-face) + (t + 'bold)))) + (put-text-property (point) pos 'face face) + (if selected + (move-overlay newsticker--selection-overlay (point) + (1+ pos) ;include newline + (current-buffer))) + (if selected (setq pos-sel (point))) + (forward-line 1) + (beginning-of-line)))))) ;; FIXME!? (when pos-sel (if (window-live-p (newsticker--treeview-list-window)) (set-window-point (newsticker--treeview-list-window) pos-sel))))) @@ -590,9 +591,7 @@ (let (pos num-lines) (with-current-buffer (newsticker--treeview-list-buffer) (let ((inhibit-read-only t)) - (put-text-property (save-excursion (beginning-of-line) (point)) - (save-excursion (end-of-line) (point)) - :nt-selected t)) + (put-text-property (point-at-bol) (point-at-eol) :nt-selected t)) (newsticker--treeview-list-update-faces)))) (defun newsticker--treeview-list-highlight-start () @@ -1039,8 +1038,7 @@ (with-current-buffer (newsticker--treeview-tree-buffer) (goto-char pos) (move-overlay newsticker--tree-selection-overlay - (save-excursion (beginning-of-line) (point)) - (save-excursion (end-of-line) (1+ (point))) + (point-at-bol) (1+ (point-at-eol)) (current-buffer))) (if (window-live-p (newsticker--treeview-tree-window)) (set-window-point (newsticker--treeview-tree-window) pos)))))