>From c560f7c564f89037a39cccc94277125514141d3e Mon Sep 17 00:00:00 2001 From: Manuel Giraud Date: Thu, 2 Mar 2023 17:53:26 +0100 Subject: [PATCH] Fixes out of sync counters in image-dired * lisp/image/image-dired.el (image-dired-delete-char): Update thumbnails counter upon deletion. (image-dired--update-header-line): Compute thumbnail index dynamically. (image-dired-insert-thumbnail): Remove now unused image-number text property. --- lisp/image/image-dired.el | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/lisp/image/image-dired.el b/lisp/image/image-dired.el index 6ecb307ce12..b13b3e08ce2 100644 --- a/lisp/image/image-dired.el +++ b/lisp/image/image-dired.el @@ -424,11 +424,10 @@ image-dired--get-create-thumbnail-file (file-name-nondirectory thumb-file))) thumb-file)) -(defun image-dired-insert-thumbnail ( file original-file-name - associated-dired-buffer image-number) +(defun image-dired-insert-thumbnail (file original-file-name + associated-dired-buffer) "Insert thumbnail image FILE. -Add text properties ORIGINAL-FILE-NAME, ASSOCIATED-DIRED-BUFFER -and IMAGE-NUMBER." +Add text properties ORIGINAL-FILE-NAME, ASSOCIATED-DIRED-BUFFER." (let (beg end) (setq beg (point)) (image-dired-insert-image @@ -452,7 +451,6 @@ image-dired-insert-thumbnail 'keymap nil 'original-file-name original-file-name 'associated-dired-buffer associated-dired-buffer - 'image-number image-number 'tags (image-dired-list-tags original-file-name) 'mouse-face 'highlight 'comment (image-dired-get-comment original-file-name))))) @@ -587,8 +585,8 @@ image-dired-display-thumbs (dolist (file files) (when (string-match-p (image-dired--file-name-regexp) file) (image-dired-insert-thumbnail - (image-dired--get-create-thumbnail-file file) file dired-buf - (cl-incf image-dired--number-of-thumbnails))))) + (image-dired--get-create-thumbnail-file file) file dired-buf) + (cl-incf image-dired--number-of-thumbnails)))) (if (> image-dired--number-of-thumbnails 0) (if do-not-pop (display-buffer buf) @@ -789,7 +787,10 @@ image-dired--update-header-line (let ((file-name (image-dired-original-file-name)) (dired-buf (buffer-name (image-dired-associated-dired-buffer))) (image-count (format "%s/%s" - (get-text-property (point) 'image-number) + ;; Line-up adds one space between two + ;; images: this formula takes this into + ;; account. + (1+ (/ (point) 2)) image-dired--number-of-thumbnails)) (props (string-join (get-text-property (point) 'tags) ", ")) (comment (get-text-property (point) 'comment)) @@ -1127,10 +1128,12 @@ image-dired-delete-char "Remove current thumbnail from thumbnail buffer and line up." (interactive nil image-dired-thumbnail-mode) (let ((inhibit-read-only t)) - (delete-char 1)) + (delete-char 1) + (cl-decf image-dired--number-of-thumbnails)) (let ((pos (point))) (image-dired--line-up-with-method) - (goto-char pos))) + (goto-char pos) + (image-dired--update-header-line))) (defun image-dired-line-up () "Line up thumbnails according to `image-dired-thumbs-per-row'. -- 2.39.1