1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2025-01-16 17:19:41 +00:00

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.
This commit is contained in:
Glenn Morris 2013-07-20 12:29:02 -07:00
parent c4074c9f63
commit d828e5f942
2 changed files with 26 additions and 25 deletions

View File

@ -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)

View File

@ -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.