Commit d828e5f9 authored by Glenn Morris's avatar Glenn Morris
Browse files

image-dired.el: use with-current-buffer

* lisp/image-dired.el (image-dired-track-original-file):
Use with-current-buffer.
(image-dired-track-thumbnail): Use with-current-buffer.
Avoid changing point of wrong window.
parent c4074c9f
......@@ -4,6 +4,11 @@
Let `message' do the formatting.
(def-gdb-preempt-display-buffer): Add explicit format.
* image-dired.el (image-dired-track-original-file):
Use with-current-buffer.
(image-dired-track-thumbnail): Use with-current-buffer.
Avoid changing point of wrong window.
* image-dired.el (image-dired-track-original-file):
Avoid changing point of wrong window. (Bug#14909)
......
......@@ -1039,16 +1039,14 @@ With prefix argument ARG, remove tag from file at point."
See documentation for `image-dired-toggle-movement-tracking'.
Interactive use only useful if `image-dired-track-movement' is nil."
(interactive)
(let* ((old-buf (current-buffer))
(dired-buf (image-dired-associated-dired-buffer))
(let* ((dired-buf (image-dired-associated-dired-buffer))
(file-name (image-dired-original-file-name))
(window (image-dired-get-buffer-window dired-buf)))
(when (and (buffer-live-p dired-buf) file-name)
(set-buffer dired-buf)
(if (not (dired-goto-file file-name))
(message "Could not track file")
(if window (set-window-point window (point))))
(set-buffer old-buf))))
(and (buffer-live-p dired-buf) file-name
(with-current-buffer dired-buf
(if (not (dired-goto-file file-name))
(message "Could not track file")
(if window (set-window-point window (point))))))))
(defun image-dired-toggle-movement-tracking ()
"Turn on and off `image-dired-track-movement'.
......@@ -1065,24 +1063,22 @@ position in the other buffer."
This is almost the same as what `image-dired-track-original-file' does,
but the other way around."
(let ((file (dired-get-filename))
(old-buf (current-buffer))
prop-val found)
prop-val found window)
(when (get-buffer image-dired-thumbnail-buffer)
(set-buffer image-dired-thumbnail-buffer)
(goto-char (point-min))
(while (and (not (eobp))
(not found))
(if (and (setq prop-val
(get-text-property (point) 'original-file-name))
(string= prop-val file))
(setq found t))
(if (not found)
(forward-char 1)))
(when found
(set-window-point
(image-dired-thumbnail-window) (point))
(image-dired-display-thumb-properties))
(set-buffer old-buf))))
(with-current-buffer image-dired-thumbnail-buffer
(goto-char (point-min))
(while (and (not (eobp))
(not found))
(if (and (setq prop-val
(get-text-property (point) 'original-file-name))
(string= prop-val file))
(setq found t))
(if (not found)
(forward-char 1)))
(when found
(if (setq window (image-dired-thumbnail-window))
(set-window-point window (point)))
(image-dired-display-thumb-properties))))))
(defun image-dired-dired-next-line (&optional arg)
"Call `dired-next-line', then track thumbnail.
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment