summaryrefslogtreecommitdiff
path: root/lisp/image-dired.el
diff options
context:
space:
mode:
authorGlenn Morris <rgm@gnu.org>2013-07-20 12:29:02 -0700
committerGlenn Morris <rgm@gnu.org>2013-07-20 12:29:02 -0700
commitd828e5f94255c799cf7ecb4bbe5cbc00828fbfdb (patch)
treeb19c354928b8bde4d6442eb8443125df556a077e /lisp/image-dired.el
parentc4074c9f63a25a6266c3dd0e7692bf6f518201cb (diff)
downloademacs-d828e5f94255c799cf7ecb4bbe5cbc00828fbfdb.tar.gz
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.
Diffstat (limited to 'lisp/image-dired.el')
-rw-r--r--lisp/image-dired.el46
1 files changed, 21 insertions, 25 deletions
diff --git a/lisp/image-dired.el b/lisp/image-dired.el
index b196bf77671..f26ad5dcd0e 100644
--- a/lisp/image-dired.el
+++ b/lisp/image-dired.el
@@ -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.