ntlm.el: Bump version to 2.00; New maintainer; Add comm keyword
[gnus] / lisp / gnus-salt.el
index 77fe0d3..dac6fd4 100644 (file)
@@ -1,6 +1,6 @@
 ;;; gnus-salt.el --- alternate summary mode interfaces for Gnus
 
-;; Copyright (C) 1996-1999, 2001-2013 Free Software Foundation, Inc.
+;; Copyright (C) 1996-1999, 2001-2015 Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;; Keywords: news
@@ -504,7 +504,7 @@ Two predefined functions are available:
       (when (setq win (get-buffer-window buf))
        (select-window win)
        (when gnus-selected-tree-overlay
-         (goto-char (or (gnus-overlay-end gnus-selected-tree-overlay) 1)))
+         (goto-char (or (overlay-end gnus-selected-tree-overlay) 1)))
        (gnus-tree-minimize)))))
 
 (defun gnus-tree-show-summary ()
@@ -547,7 +547,7 @@ Two predefined functions are available:
     (when tree-window
       (select-window tree-window)
       (when gnus-selected-tree-overlay
-       (goto-char (or (gnus-overlay-end gnus-selected-tree-overlay) 1)))
+       (goto-char (or (overlay-end gnus-selected-tree-overlay) 1)))
       (let* ((top (cond ((< (window-height) 4) 0)
                        ((< (window-height) 7) 1)
                        (t 2)))
@@ -652,7 +652,7 @@ BINDINGS is a `let'-style list of bindings to use for the environment.
 EVALSYM is then bound in BODY to a function that takes a sexp and evaluates
 it in the environment specified by BINDINGS."
   (declare (indent 2) (debug ((&rest (sym form)) sym body)))
-  (if (ignore-errors (let ((x 3)) (eq (eval '(- x 1) '((x . 4))) x)))
+  (if (eval '(ignore-errors (let ((x 3)) (eq (eval '(- x 1) '((x . 4))) x))))
       ;; Use lexical vars if possible.
       `(let* ((env (list ,@(mapcar (lambda (binding)
                                      `(cons ',(car binding) ,(cadr binding)))
@@ -858,12 +858,12 @@ it in the environment specified by BINDINGS."
        (when (or (not gnus-selected-tree-overlay)
                  (gnus-extent-detached-p gnus-selected-tree-overlay))
          ;; Create a new overlay.
-         (gnus-overlay-put
+         (overlay-put
           (setq gnus-selected-tree-overlay
-                (gnus-make-overlay (point-min) (1+ (point-min))))
+                (make-overlay (point-min) (1+ (point-min))))
           'face gnus-selected-tree-face))
        ;; Move the overlay to the article.
-       (gnus-move-overlay
+       (move-overlay
         gnus-selected-tree-overlay (goto-char (car region)) (cdr region))
        (gnus-tree-minimize)
        (gnus-tree-recenter)
@@ -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)