diff options
| author | Glenn Morris | 2009-11-17 04:41:15 +0000 |
|---|---|---|
| committer | Glenn Morris | 2009-11-17 04:41:15 +0000 |
| commit | 2d84f8043adfccb1af4657c39f1ffd63af541b0a (patch) | |
| tree | af3d365c214b04ee4e14f35876298ad14706f5e8 | |
| parent | 1d16a255ba2f91e20c4a32481b29a3609efcdbae (diff) | |
| download | emacs-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/ChangeLog | 6 | ||||
| -rw-r--r-- | lisp/net/newst-treeview.el | 58 |
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 | |||
| 5 | 2009-11-16 Jay Belanger <jay.p.belanger@gmail.com> | 11 | 2009-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))))) |