aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGlenn Morris2009-11-17 04:41:15 +0000
committerGlenn Morris2009-11-17 04:41:15 +0000
commit2d84f8043adfccb1af4657c39f1ffd63af541b0a (patch)
treeaf3d365c214b04ee4e14f35876298ad14706f5e8
parent1d16a255ba2f91e20c4a32481b29a3609efcdbae (diff)
downloademacs-2d84f8043adfccb1af4657c39f1ffd63af541b0a.tar.gz
emacs-2d84f8043adfccb1af4657c39f1ffd63af541b0a.zip
(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.
-rw-r--r--lisp/ChangeLog6
-rw-r--r--lisp/net/newst-treeview.el58
2 files changed, 34 insertions, 30 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index e390223e706..67add62f6ff 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -2,6 +2,12 @@
2 2
3 * vc-svn.el (vc-svn-print-log): Fix typo in previous. 3 * vc-svn.el (vc-svn-print-log): Fix typo in previous.
4 4
5 * net/newst-treeview.el (newsticker--treeview-list-update-faces):
6 Preserve point in the list buffer. (Bug#4939)
7 Use point-at-eol.
8 (newsticker--treeview-list-update-highlight)
9 (newsticker--treeview-tree-update-highlight): Use point-at-bol/eol.
10
52009-11-16 Jay Belanger <jay.p.belanger@gmail.com> 112009-11-16 Jay Belanger <jay.p.belanger@gmail.com>
6 12
7 * calc/calc-bin.el (math-symclip, calcFunc-symclip, calc-symclip): 13 * calc/calc-bin.el (math-symclip, calcFunc-symclip, calc-symclip):
diff --git a/lisp/net/newst-treeview.el b/lisp/net/newst-treeview.el
index 9bc094103ec..b7c3390b42a 100644
--- a/lisp/net/newst-treeview.el
+++ b/lisp/net/newst-treeview.el
@@ -548,31 +548,32 @@ The sort function is chosen according to the value of
548 "Update faces in the treeview list buffer." 548 "Update faces in the treeview list buffer."
549 (let (pos-sel) 549 (let (pos-sel)
550 (with-current-buffer (newsticker--treeview-list-buffer) 550 (with-current-buffer (newsticker--treeview-list-buffer)
551 (let ((inhibit-read-only t)) 551 (save-excursion
552 (goto-char (point-min)) 552 (let ((inhibit-read-only t))
553 (while (not (eobp)) 553 (goto-char (point-min))
554 (let* ((pos (save-excursion (end-of-line) (point))) 554 (while (not (eobp))
555 (item (get-text-property (point) :nt-item)) 555 (let* ((pos (point-at-eol))
556 (age (newsticker--age item)) 556 (item (get-text-property (point) :nt-item))
557 (selected (get-text-property (point) :nt-selected)) 557 (age (newsticker--age item))
558 (face (cond ((eq age 'new) 558 (selected (get-text-property (point) :nt-selected))
559 'newsticker-treeview-new-face) 559 (face (cond ((eq age 'new)
560 ((eq age 'old) 560 'newsticker-treeview-new-face)
561 'newsticker-treeview-old-face) 561 ((eq age 'old)
562 ((eq age 'immortal) 562 'newsticker-treeview-old-face)
563 'newsticker-treeview-immortal-face) 563 ((eq age 'immortal)
564 ((eq age 'obsolete) 564 'newsticker-treeview-immortal-face)
565 'newsticker-treeview-obsolete-face) 565 ((eq age 'obsolete)
566 (t 566 'newsticker-treeview-obsolete-face)
567 'bold)))) 567 (t
568 (put-text-property (point) pos 'face face) 568 'bold))))
569 (if selected 569 (put-text-property (point) pos 'face face)
570 (move-overlay newsticker--selection-overlay (point) 570 (if selected
571 (1+ pos) ;include newline 571 (move-overlay newsticker--selection-overlay (point)
572 (current-buffer))) 572 (1+ pos) ;include newline
573 (if selected (setq pos-sel (point))) 573 (current-buffer)))
574 (forward-line 1) 574 (if selected (setq pos-sel (point)))
575 (beginning-of-line))))) ;; FIXME!? 575 (forward-line 1)
576 (beginning-of-line)))))) ;; FIXME!?
576 (when pos-sel 577 (when pos-sel
577 (if (window-live-p (newsticker--treeview-list-window)) 578 (if (window-live-p (newsticker--treeview-list-window))
578 (set-window-point (newsticker--treeview-list-window) pos-sel))))) 579 (set-window-point (newsticker--treeview-list-window) pos-sel)))))
@@ -590,9 +591,7 @@ The sort function is chosen according to the value of
590 (let (pos num-lines) 591 (let (pos num-lines)
591 (with-current-buffer (newsticker--treeview-list-buffer) 592 (with-current-buffer (newsticker--treeview-list-buffer)
592 (let ((inhibit-read-only t)) 593 (let ((inhibit-read-only t))
593 (put-text-property (save-excursion (beginning-of-line) (point)) 594 (put-text-property (point-at-bol) (point-at-eol) :nt-selected t))
594 (save-excursion (end-of-line) (point))
595 :nt-selected t))
596 (newsticker--treeview-list-update-faces)))) 595 (newsticker--treeview-list-update-faces))))
597 596
598(defun newsticker--treeview-list-highlight-start () 597(defun newsticker--treeview-list-highlight-start ()
@@ -1039,8 +1038,7 @@ Arguments IGNORE are ignored."
1039 (with-current-buffer (newsticker--treeview-tree-buffer) 1038 (with-current-buffer (newsticker--treeview-tree-buffer)
1040 (goto-char pos) 1039 (goto-char pos)
1041 (move-overlay newsticker--tree-selection-overlay 1040 (move-overlay newsticker--tree-selection-overlay
1042 (save-excursion (beginning-of-line) (point)) 1041 (point-at-bol) (1+ (point-at-eol))
1043 (save-excursion (end-of-line) (1+ (point)))
1044 (current-buffer))) 1042 (current-buffer)))
1045 (if (window-live-p (newsticker--treeview-tree-window)) 1043 (if (window-live-p (newsticker--treeview-tree-window))
1046 (set-window-point (newsticker--treeview-tree-window) pos))))) 1044 (set-window-point (newsticker--treeview-tree-window) pos)))))