emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/lisp/image-mode.el,v


From: Tassilo Horn
Subject: [Emacs-diffs] Changes to emacs/lisp/image-mode.el,v
Date: Tue, 29 Jan 2008 18:00:40 +0000

CVSROOT:        /sources/emacs
Module name:    emacs
Changes by:     Tassilo Horn <tsdh>     08/01/29 18:00:40

Index: image-mode.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/image-mode.el,v
retrieving revision 1.32
retrieving revision 1.33
diff -u -b -r1.32 -r1.33
--- image-mode.el       29 Jan 2008 13:49:05 -0000      1.32
+++ image-mode.el       29 Jan 2008 18:00:40 -0000      1.33
@@ -50,20 +50,32 @@
 
 ;;; Image scrolling functions
 
-(defvar image-mode-current-vscroll nil)
-(defvar image-mode-current-hscroll nil)
+(defvar image-mode-current-vscroll nil
+  "An alist with elements (WINDOW . VSCROLL).")
+
+(defvar image-mode-current-hscroll nil
+  "An alist with elements (WINDOW . HSCROLL).")
 
 (defun image-set-window-vscroll (window vscroll &optional pixels-p)
-  (setq image-mode-current-vscroll vscroll)
+  (setq image-mode-current-vscroll
+       (append (list (cons window vscroll))
+               (delete (assoc window image-mode-current-vscroll)
+                       image-mode-current-vscroll)))
   (set-window-vscroll window vscroll pixels-p))
 
 (defun image-set-window-hscroll (window ncol)
-  (setq image-mode-current-hscroll ncol)
+  (setq image-mode-current-hscroll
+       (append (list (cons window ncol))
+               (delete (assoc window image-mode-current-hscroll)
+                       image-mode-current-hscroll)))
   (set-window-hscroll window ncol))
 
 (defun image-reset-current-vhscroll ()
-  (set-window-hscroll (selected-window) image-mode-current-hscroll)
-  (set-window-vscroll (selected-window) image-mode-current-vscroll))
+  (let ((win (selected-window)))
+    (when (assoc win image-mode-current-hscroll)
+      (set-window-hscroll win (cdr (assoc win image-mode-current-hscroll))))
+    (when (assoc win image-mode-current-vscroll)
+      (set-window-vscroll win (cdr (assoc win image-mode-current-vscroll))))))
 
 (defun image-forward-hscroll (&optional n)
   "Scroll image in current window to the left by N character widths.
@@ -241,10 +253,10 @@
        'image-bookmark-make-cell)
 
   ;; Keep track of [vh]scroll when switching buffers
-  (set (make-local-variable 'image-mode-current-hscroll)
-       (window-hscroll (selected-window)))
-  (set (make-local-variable 'image-mode-current-vscroll)
-       (window-vscroll (selected-window)))
+  (make-local-variable 'image-mode-current-hscroll)
+  (make-local-variable 'image-mode-current-vscroll)
+  (image-set-window-hscroll (selected-window) (window-hscroll))
+  (image-set-window-vscroll (selected-window) (window-vscroll))
   (add-hook 'window-configuration-change-hook
            'image-reset-current-vhscroll nil t)
 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]