Subject: bug#61394: 30.0.50; [PATCH] Image-dired thumb name based on content

From: Eli Zaretskii <[email-masked]>
Date: Thu, 03 Aug 2023 14:38:14 +0300

> From: Manuel Giraud <[email-masked]>
> Cc: [email-masked],  [email-masked],  [email-masked]
> Date: Thu, 03 Aug 2023 13:10:43 +0200
> 
> Eli Zaretskii <[email-masked]> writes:
> 
> >> Yes.  First I had a test about the method around the call to
> >> 'image-dired-update-thumbnail-at-point' but then I realize that nothing
> >> will be done for others methods as I'm doing a test on the thumb name
> >> change:
> >>         ... (unless (string= thumb old-thumb) ...
> >
> > This at least warrants a comment, so that others won't have to be
> > bothered by the same questions.
> 
> What about this one?  I've also permuted some instructions to avoid a
> flicker when updating the thumbnail.

Thanks, a few minor comments below:

> +(defun image-dired-update-thumbnail-at-point ()
> +  "Update the thumbnail at point if the original image file has been
> +modified.  Take care of uncaching and removing the old thumbnail
> +file."

The first line of the doc string should be a single complete sentence.
(Just move the "modified" part to the first line, I think there's
enough space there.)

> +  (when (image-dired-image-at-point-p)
> +    (let* ((file (image-dired-original-file-name))
> +           (thumb (expand-file-name (image-dired-thumb-name file)))
> +           (image (get-text-property (point) 'display)))
> +      (when image
> +        (let ((old-thumb (plist-get (cdr image) :file)))
> +          ;; If 'thumb' and 'old-thumb' are the same file names, do
> +          ;; nothing.  This would be the case when
> +          ;; 'image-dired-thumb-naming' is set to 'sha1-filename'.

Isn't that true for _any_ method except the single one for which you
need this patch?  I thought only names based on SHA1 of the contents
are affected and need this additional renaming?  The comment seems to
say something else.