Subject: bug#62679: 29.0.60; Bindings on `image-map` cause error on sliced images

From: Eli Zaretskii <[email-masked]>
Date: Thu, 06 Apr 2023 12:41:11 +0300

> Date: Wed, 05 Apr 2023 17:23:11 +0200
> From:  Rah Guzar via "Bug reports for GNU Emacs,
>  the Swiss army knife of text editors" <[email-masked]>
> 
> (let* ((image (create-image path-to-png 'png nil :mask 'heuristic))
>        (rows (max 1 (1- (cdr (image-size image))))))
>   (goto-char (point-max))
>   (insert "\n")
>   (insert-sliced-image image " " nil rows))
> ```
> This inserts the image specified at the end of the buffer. The image
> has a `keymap` text property which include binding for various
> operations on images but moving point to the image and trying to use
> any of these (e.g. `i +` to increase image size) results in the error,
> 
> Error running timer ‘image--change-size’: (error "No image under point")

This should be fixed now on the emacs-29 branch.

It isn't perfect: "i -" leaves display artifacts (which I think are
unrelated to this bug report per se), and "i r" doesn't really work,
except when you type 'r' 4 times in a row.  But I'm not sure I
understand the conceptual meaning of rotating a sliced image, and even
resizing it doesn't necessarily have a clear-cut meaning IMO.

Perhaps we should decide we don't support these operations for sliced
images, and simply show a different error message specifically about
that non-support?

Lars, any comments and/or ideas?