X-Git-Url: http://cgit.sxemacs.org/?a=blobdiff_plain;f=lisp%2Fgnus-salt.el;h=427bfbfdb97a8f91e67febb0d1d9552832572897;hb=d588ae3db11ee057d2fc3dfa5364dcfe3f84e368;hp=ef45bae1d0883787bd43ccaabcfd89cc0284b8c1;hpb=b4bc300f0dcddc2b17bb50a3501ed6e6db1ef12c;p=gnus diff --git a/lisp/gnus-salt.el b/lisp/gnus-salt.el index ef45bae1d..427bfbfdb 100644 --- a/lisp/gnus-salt.el +++ b/lisp/gnus-salt.el @@ -1,6 +1,6 @@ ;;; gnus-salt.el --- alternate summary mode interfaces for Gnus -;; Copyright (C) 1996-1999, 2001-2014 Free Software Foundation, Inc. +;; Copyright (C) 1996-1999, 2001-2015 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Keywords: news @@ -879,12 +879,15 @@ it in the environment specified by BINDINGS." (set-buffer buf)))) (defun gnus-tree-highlight-article (article face) - (with-current-buffer (gnus-get-tree-buffer) - (let (region) - (when (setq region (gnus-tree-article-region article)) - (gnus-put-text-property (car region) (cdr region) 'face face) - (set-window-point - (gnus-get-buffer-window (current-buffer) t) (cdr region)))))) + ;; The save-excursion here is apparently necessary because + ;; `set-window-point' somehow manages to alter the buffer position. + (save-excursion + (with-current-buffer (gnus-get-tree-buffer) + (let (region) + (when (setq region (gnus-tree-article-region article)) + (gnus-put-text-property (car region) (cdr region) 'face face) + (set-window-point + (gnus-get-buffer-window (current-buffer) t) (cdr region))))))) ;;; Allow redefinition of functions. (gnus-ems-redefine)