* bug#62679: 29.0.60; Bindings on `image-map` cause error on sliced images
@ 2023-04-05 15:23 Rah Guzar via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-04-06 9:41 ` Eli Zaretskii
0 siblings, 1 reply; 8+ messages in thread
From: Rah Guzar via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-04-05 15:23 UTC (permalink / raw)
To: 62679
Dear Emacs maintainers,
Starting from `emacs -Q`, post the following code into scratch buffer,
```
(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")
Rah Guzar
In GNU Emacs 29.0.60 (build 1, x86_64-suse-linux-gnu, GTK+ Version
3.24.37, cairo version 1.17.8) of 2023-04-03 built on cloud108
System Description: openSUSE Tumbleweed
Configured using:
'configure --host=x86_64-suse-linux-gnu --build=x86_64-suse-linux-gnu
--program-prefix= --disable-dependency-tracking --prefix=/usr
--exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin
--sysconfdir=/etc --datadir=/usr/share --includedir=/usr/include
--libdir=/usr/lib64 --libexecdir=/usr/libexec --localstatedir=/var
--sharedstatedir=/var/lib --mandir=/usr/share/man
--infodir=/usr/share/info --with-pgtk --with-native-compilation=aot
--with-cairo --with-libotf --with-jpeg --with-tiff --with-gif
--with-png --with-rsvg --with-xft --with-xml2 --with-dbus --with-sound
--with-json --with-mailutils --with-gnutls --with-tree-sitter
--enable-locallisppath=/usr/share/emacs/29.0.60/site-lisp:/usr/share/emacs/site-lisp
'CFLAGS=-O2 -Wall -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3
-fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables
-fstack-clash-protection -Werror=return-type -flto=auto'
LDFLAGS=-Wl,-O2'
Configured features:
CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GSETTINGS HARFBUZZ JPEG JSON
LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 MODULES NATIVE_COMP NOTIFY INOTIFY
PDUMPER PGTK PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF
TOOLKIT_SCROLL_BARS TREE_SITTER XIM GTK3 ZLIB
Important settings:
value of $LANG: en_US.UTF-8
locale-coding-system: utf-8-unix
Major mode: mu4e:main
Minor modes in effect:
pdf-occur-global-minor-mode: t
global-anzu-mode: t
anzu-mode: t
recentf-mode: t
save-place-mode: t
global-so-long-mode: t
global-evil-surround-mode: t
evil-surround-mode: t
eros-mode: t
projectile-mode: t
which-key-mode: t
savehist-mode: t
better-jumper-mode: t
better-jumper-local-mode: t
global-company-mode: t
company-mode: t
vertico-mode: t
all-the-icons-completion-mode: t
marginalia-mode: t
evil-goggles-mode: t
evil-escape-mode: t
evil-snipe-override-mode: t
evil-snipe-mode: t
gcmh-mode: t
winner-mode: t
smartparens-global-mode: t
ws-butler-global-mode: t
undo-fu-session-global-mode: t
undo-fu-mode: t
workroom-mode: t
mu4e-search-minor-mode: t
global-hl-line-mode: t
hl-line-mode: t
mu4e-update-minor-mode: t
mu4e-context-minor-mode: t
dirvish-override-dired-mode: t
server-mode: t
repeat-mode: t
evil-mode: t
evil-local-mode: t
windmove-mode: t
+popup-mode: t
+modeline-global-mode: t
+modeline-mode: t
override-global-mode: t
general-override-mode: t
global-eldoc-mode: t
show-paren-mode: t
electric-indent-mode: t
mouse-wheel-mode: t
file-name-shadow-mode: t
global-font-lock-mode: t
font-lock-mode: t
window-divider-mode: t
buffer-read-only: t
size-indication-mode: t
line-number-mode: t
transient-mark-mode: t
auto-composition-mode: t
auto-encryption-mode: t
auto-compression-mode: t
abbrev-mode: t
Load-path shadows:
/home/azeem/.emacs.d/.local/straight/build-29.0.60/emacsql/emacsql-sqlite-builtin hides /home/azeem/.emacs.d/.local/straight/build-29.0.60/emacsql-sqlite-builtin/emacsql-sqlite-builtin
/home/azeem/.emacs.d/.local/straight/build-29.0.60/citar-embark/citar-embark hides /home/azeem/.emacs.d/.local/straight/build-29.0.60/citar/citar-embark
/home/azeem/.emacs.d/.local/straight/build-29.0.60/mu4e/mu4e hides /usr/share/emacs/site-lisp/mu4e/mu4e
/home/azeem/.emacs.d/.local/straight/build-29.0.60/mu4e/mu4e-window hides /usr/share/emacs/site-lisp/mu4e/mu4e-window
/home/azeem/.emacs.d/.local/straight/build-29.0.60/mu4e/mu4e-view hides /usr/share/emacs/site-lisp/mu4e/mu4e-view
/home/azeem/.emacs.d/.local/straight/build-29.0.60/mu4e/mu4e-vars hides /usr/share/emacs/site-lisp/mu4e/mu4e-vars
/home/azeem/.emacs.d/.local/straight/build-29.0.60/mu4e/mu4e-update hides /usr/share/emacs/site-lisp/mu4e/mu4e-update
/home/azeem/.emacs.d/.local/straight/build-29.0.60/mu4e/mu4e-server hides /usr/share/emacs/site-lisp/mu4e/mu4e-server
/home/azeem/.emacs.d/.local/straight/build-29.0.60/mu4e/mu4e-search hides /usr/share/emacs/site-lisp/mu4e/mu4e-search
/home/azeem/.emacs.d/.local/straight/build-29.0.60/mu4e/mu4e-query-items hides /usr/share/emacs/site-lisp/mu4e/mu4e-query-items
/home/azeem/.emacs.d/.local/straight/build-29.0.60/mu4e/mu4e-org hides /usr/share/emacs/site-lisp/mu4e/mu4e-org
/home/azeem/.emacs.d/.local/straight/build-29.0.60/mu4e/mu4e-obsolete hides /usr/share/emacs/site-lisp/mu4e/mu4e-obsolete
/home/azeem/.emacs.d/.local/straight/build-29.0.60/mu4e/mu4e-notification hides /usr/share/emacs/site-lisp/mu4e/mu4e-notification
/home/azeem/.emacs.d/.local/straight/build-29.0.60/mu4e/mu4e-modeline hides /usr/share/emacs/site-lisp/mu4e/mu4e-modeline
/home/azeem/.emacs.d/.local/straight/build-29.0.60/mu4e/mu4e-message hides /usr/share/emacs/site-lisp/mu4e/mu4e-message
/home/azeem/.emacs.d/.local/straight/build-29.0.60/mu4e/mu4e-mark hides /usr/share/emacs/site-lisp/mu4e/mu4e-mark
/home/azeem/.emacs.d/.local/straight/build-29.0.60/mu4e/mu4e-main hides /usr/share/emacs/site-lisp/mu4e/mu4e-main
/home/azeem/.emacs.d/.local/straight/build-29.0.60/mu4e/mu4e-icalendar hides /usr/share/emacs/site-lisp/mu4e/mu4e-icalendar
/home/azeem/.emacs.d/.local/straight/build-29.0.60/mu4e/mu4e-helpers hides /usr/share/emacs/site-lisp/mu4e/mu4e-helpers
/home/azeem/.emacs.d/.local/straight/build-29.0.60/mu4e/mu4e-headers hides /usr/share/emacs/site-lisp/mu4e/mu4e-headers
/home/azeem/.emacs.d/.local/straight/build-29.0.60/mu4e/mu4e-folders hides /usr/share/emacs/site-lisp/mu4e/mu4e-folders
/home/azeem/.emacs.d/.local/straight/build-29.0.60/mu4e/mu4e-draft hides /usr/share/emacs/site-lisp/mu4e/mu4e-draft
/home/azeem/.emacs.d/.local/straight/build-29.0.60/mu4e/mu4e-contrib hides /usr/share/emacs/site-lisp/mu4e/mu4e-contrib
/home/azeem/.emacs.d/.local/straight/build-29.0.60/mu4e/mu4e-context hides /usr/share/emacs/site-lisp/mu4e/mu4e-context
/home/azeem/.emacs.d/.local/straight/build-29.0.60/mu4e/mu4e-config hides /usr/share/emacs/site-lisp/mu4e/mu4e-config
/home/azeem/.emacs.d/.local/straight/build-29.0.60/mu4e/mu4e-compose hides /usr/share/emacs/site-lisp/mu4e/mu4e-compose
/home/azeem/.emacs.d/.local/straight/build-29.0.60/mu4e/mu4e-bookmarks hides /usr/share/emacs/site-lisp/mu4e/mu4e-bookmarks
/home/azeem/.emacs.d/.local/straight/build-29.0.60/mu4e/mu4e-actions hides /usr/share/emacs/site-lisp/mu4e/mu4e-actions
/home/azeem/.emacs.d/.local/straight/build-29.0.60/mu4e/mu4e-speedbar hides /usr/share/emacs/site-lisp/mu4e/mu4e-speedbar
/home/azeem/.emacs.d/.local/straight/build-29.0.60/mu4e/mu4e-lists hides /usr/share/emacs/site-lisp/mu4e/mu4e-lists
/home/azeem/.emacs.d/.local/straight/build-29.0.60/mu4e/mu4e-contacts hides /usr/share/emacs/site-lisp/mu4e/mu4e-contacts
Features:
(shadow emacsbug company-ispell company-dabbrev jit-spell face-remap
pdf-annot facemenu pdf-outline pdf-links pdf-loader pdf-occur
evil-collection-tablist tablist tablist-filter semantic/wisent/comp
semantic/wisent semantic/wisent/wisent semantic/util-modes semantic/util
semantic semantic/tag semantic/lex semantic/fw mode-local cedet
pdf-isearch pdf-misc evil-collection-pdf pdf-history pdf-tools
evil-collection-package-menu doom-packages package url-handlers
saveplace-pdf-view pdf-view pdf-cache pdf-info tq pdf-util pdf-macs
image-mode exif url-http url-gw url-cache url-auth gts-engine-deepl
gts-implements gts-faces gts-core guess-language flyspell ispell
gnus-async gnus-bcklg gnus-ml nndraft nnmh nnfolder epa-file
network-stream nsm gnus-agent gnus-srvr gnus-score score-mode nnvirtual
gnus-msg nntp gnus-cache descr-text checkdoc evil-collection-vc-git
vc-git evil-collection-diff-mode diff-mode vc-dispatcher qp tabify
evil-collection-xref xref sort gnus-cite smiley shr-color mm-archive
mail-extr textsec uni-scripts idna-mapping ucs-normalize uni-confusable
textsec-check evil-anzu anzu evil-collection-indent vertico-directory
evil-collection-helpful helpful cc-langs cc-vars cc-defs
evil-collection-imenu imenu trace evil-collection-edebug edebug
evil-collection-debug debug backtrace info-look evil-collection-info
info f f-shortdoc help-fns radix-tree evil-collection-elisp-refs
elisp-refs s evil-collection-consult consult-vertico consult
use-package-lint adaptive-wrap company-yasnippet delsel
evil-textobj-anyblock jka-compr auto-minor-mode disp-table whitespace
bicycle hideshow recentf tree-widget saveplace evil-collection-so-long
so-long evil-embrace evil-surround embrace expand-region
text-mode-expansions the-org-mode-expansions org-element org-persist xdg
org-id org-refile avl-tree generator er-basic-expansions
expand-region-core expand-region-custom eros highlight-quoted
rainbow-delimiters highlight-numbers parent-mode display-line-numbers
hl-todo evil-collection-elisp-mode elisp-mode evil-collection-help
cursor-sensor vertico-repeat projectile lisp-mnt evil-collection-grep
grep ibuf-ext evil-collection-ibuffer ibuffer ibuffer-loaddefs
evil-collection-which-key which-key savehist better-jumper company-capf
company evil-collection-vertico vertico orderless
all-the-icons-completion marginalia evil-goggles pulse color
evil-easymotion evil-escape evil-snipe hide-mode-line gcmh winner
smartparens-config smartparens-text smartparens dash ws-butler
undo-fu-session undo-fu workroom compat desktop frameset mu4e mu4e-org
evil-collection-org smartparens-org org ob ob-tangle ob-ref ob-lob
ob-table ob-exp org-macro org-src ob-comint org-pcomplete pcomplete
org-list org-footnote org-faces org-entities noutline outline
ob-emacs-lisp org-table ol org-keys oc-natbib oc-csl bibtex oc-biblatex
oc org-loaddefs find-func mu4e-notification notifications mu4e-main
mu4e-view gnus-art mm-uu mml2015 mm-view mml-smime smime gnutls dig
gnus-sum gnus-group gnus-undo gnus-start gnus-dbus dbus autorevert
filenotify gnus-cloud nnimap nnmail mail-source utf7 nnoo parse-time
iso8601 gnus-spec gnus-int gnus-range gnus-win evil-collection-gnus gnus
nnheader range evil-collection-calendar cal-menu calendar cal-loaddefs
mu4e-headers mu4e-compose mu4e-draft mu4e-actions smtpmail mu4e-search
mu4e-lists mu4e-bookmarks mu4e-mark mu4e-message shr pixel-fill kinsoku
url-file svg xml dom browse-url url url-proxy url-privacy url-expand
url-methods url-history url-cookie generate-lisp-file url-domsuf
url-util url-parse auth-source json map url-vars flow-fill mule-util
hl-line mu4e-contacts mu4e-update mu4e-folders mu4e-context
mu4e-query-items mu4e-server mu4e-modeline mu4e-vars mu4e-helpers
mu4e-config mu4e-window evil-collection-bookmark bookmark ido message
sendmail mailcap yank-media puny dirvish transient eieio eieio-core
evil-collection-dired dired dired-loaddefs rfc822 mml mml-sec
password-cache evil-collection-epa epa epg rfc6068 epg-config gnus-util
time-date mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047
rfc2045 mm-util ietf-drums mail-prsvr mailabbrev mail-utils gmm-utils
mailheader mu4e-obsolete server dtrt-indent ef-spring-theme ef-themes
repeat midnight evil-collection-flymake flymake-proc flymake project
evil-collection-compile evil-collection-custom cus-edit cus-load
wid-edit evil-collection-comint evil-collection annalist compile
text-property-search comint ansi-osc ansi-color html2text let-alist
ob-core org-cycle org-fold org-fold-core org-compat ob-eval org-version
org-macs format-spec ibuf-macs evil evil-integration evil-maps
evil-commands reveal evil-jumps evil-command-window evil-search
evil-types evil-macros evil-repeat evil-states evil-core byte-opt advice
evil-common windmove calc calc-loaddefs calc-macs thingatpt rect
evil-digraphs evil-vars ring all-the-icons all-the-icons-faces
data-material data-weathericons data-octicons data-fileicons
data-faicons data-alltheicons derived edmacro kmacro
use-package-bind-key bind-key comp comp-cstr warnings icons rx
doom-editor doom-projects doom-ui easy-mmode doom-keybinds pp cl-extra
help-mode use-package-core bytecomp byte-compile general tex-site
doom-start doom-modules cl-seq doom doom-lib cl-macs cl-loaddefs cl-lib
pcase gv jansson dynamic-modules subr-x rmc iso-transl tooltip cconv
eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type mwheel
term/pgtk-win pgtk-win term/common-win pgtk-dnd tool-bar dnd fontset
image regexp-opt fringe tabulated-list replace newcomment text-mode
lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch
easymenu timer select scroll-bar mouse jit-lock font-lock syntax
font-core term/tty-colors frame minibuffer nadvice seq simple cl-generic
indonesian philippine cham georgian utf-8-lang misc-lang vietnamese
tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek
romanian slovak czech european ethiopic indian cyrillic chinese
composite emoji-zwj charscript charprop case-table epa-hook
jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs
theme-loaddefs faces cus-face macroexp files window text-properties
overlay sha1 md5 base64 format env code-pages mule custom widget keymap
hashtable-print-readable backquote threads dbusbind inotify
dynamic-setting system-font-setting font-render-setting cairo gtk pgtk
multi-tty make-network-process native-compile emacs)
Memory information:
((conses 16 1054540 143020)
(symbols 48 64652 18)
(strings 32 271009 18965)
(string-bytes 1 8383871)
(vectors 16 128316)
(vector-slots 8 3300325 249813)
(floats 8 1483 1585)
(intervals 56 29668 762)
(buffers 984 36))
^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#62679: 29.0.60; Bindings on `image-map` cause error on sliced images
2023-04-05 15:23 bug#62679: 29.0.60; Bindings on `image-map` cause error on sliced images Rah Guzar via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2023-04-06 9:41 ` Eli Zaretskii
2023-04-06 15:43 ` Rah Guzar via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 1 reply; 8+ messages in thread
From: Eli Zaretskii @ 2023-04-06 9:41 UTC (permalink / raw)
To: Rah Guzar, Lars Ingebrigtsen; +Cc: 62679
> 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" <bug-gnu-emacs@gnu.org>
>
> (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?
^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#62679: 29.0.60; Bindings on `image-map` cause error on sliced images
2023-04-06 9:41 ` Eli Zaretskii
@ 2023-04-06 15:43 ` Rah Guzar via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-04-06 16:24 ` Eli Zaretskii
0 siblings, 1 reply; 8+ messages in thread
From: Rah Guzar via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-04-06 15:43 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 62679, Lars Ingebrigtsen
Hi Eli,
I can confirm that the issue is mostly fixed now. One thing I noticed
was that it is still possible to trigger the error by starting with my
recipe before, moving the point to somewhere on the image and then
using right arrow key. Since the image has a single column the point
is now off image but on the same line. This buffer position still has
the "image-map" and pressing e.g. "i +" still causes the error.
I also see the artifacts you mentioned with "i -". I am using
"insert-sliced-image" to insert image of typeset math in a comint
derived mode and I have seen visual artifacts at the end of line
there too and like in this case "describe-char" shows them to be
control characters. The also seem to disappear on their own if I
switch buffer and back. I haven't been able to get rid of them and
can't reproduce them in "emacs -Q" so I might be doing something wrong
but this makes me think this might be the result of creating the image
with a ":max-width" property which might cause the equivalent of "i-".
According to the info manual, the advantage of using sliced images is
to get a more intuitive scrolling behavior and that is the reason I am
using them. I think for everything else the image should behave as a
single image. For that reason the behavior of "i r" seems correct to
me. It rotates the image and then slices. From the perspective of
scrolling it would nicer to have slices which have a fixed length and
width so that number of slices changes when "i +" and "i -" are used.
Thanks a lot!
Rah Guzar
Eli Zaretskii <eliz@gnu.org> writes:
>> 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" <bug-gnu-emacs@gnu.org>
>>
>> (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?
^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#62679: 29.0.60; Bindings on `image-map` cause error on sliced images
2023-04-06 15:43 ` Rah Guzar via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2023-04-06 16:24 ` Eli Zaretskii
2023-04-06 18:30 ` Rah Guzar via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 1 reply; 8+ messages in thread
From: Eli Zaretskii @ 2023-04-06 16:24 UTC (permalink / raw)
To: Rah Guzar; +Cc: 62679, larsi
> From: Rah Guzar <rahguzar@zohomail.eu>
> Cc: Lars Ingebrigtsen <larsi@gnus.org>, 62679@debbugs.gnu.org
> Date: Thu, 06 Apr 2023 17:43:55 +0200
>
> Hi Eli,
> I can confirm that the issue is mostly fixed now. One thing I noticed
> was that it is still possible to trigger the error by starting with my
> recipe before, moving the point to somewhere on the image and then
> using right arrow key. Since the image has a single column the point
> is now off image but on the same line. This buffer position still has
> the "image-map" and pressing e.g. "i +" still causes the error.
I cannot reproduce this. On my system, if I move point with the right
arrow key, "M-x describe-text-properties" doesn't show the keymap
property.
> According to the info manual, the advantage of using sliced images is
> to get a more intuitive scrolling behavior and that is the reason I am
> using them. I think for everything else the image should behave as a
> single image. For that reason the behavior of "i r" seems correct to
> me. It rotates the image and then slices.
If this is what you see, I guess you have Emacs built with
ImageMagick? I don't see "rotation followed by slicing", because the
code doesn't do that, at least not with rotation that is implemented
natively in Emacs on my system. But, as I said, rotation of sliced
image is not well defined, so my opinion is that people should not
depend on it doing something sensible.
^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#62679: 29.0.60; Bindings on `image-map` cause error on sliced images
2023-04-06 16:24 ` Eli Zaretskii
@ 2023-04-06 18:30 ` Rah Guzar via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-04-08 9:46 ` Eli Zaretskii
0 siblings, 1 reply; 8+ messages in thread
From: Rah Guzar via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-04-06 18:30 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 62679, larsi
Eli Zaretskii <eliz@gnu.org> writes:
>> From: Rah Guzar <rahguzar@zohomail.eu>
>> Cc: Lars Ingebrigtsen <larsi@gnus.org>, 62679@debbugs.gnu.org
>> Date: Thu, 06 Apr 2023 17:43:55 +0200
>>
>> Hi Eli,
>> I can confirm that the issue is mostly fixed now. One thing I noticed
>> was that it is still possible to trigger the error by starting with my
>> recipe before, moving the point to somewhere on the image and then
>> using right arrow key. Since the image has a single column the point
>> is now off image but on the same line. This buffer position still has
>> the "image-map" and pressing e.g. "i +" still causes the error.
>
> I cannot reproduce this. On my system, if I move point with the right
> arrow key, "M-x describe-text-properties" doesn't show the keymap
> property.
>
You are right there is no keymap property there but somehow "image-map"
is still active. I can press "i +" there and see the error while after or
before the image pressing "i +" will insert the two characters.
>> According to the info manual, the advantage of using sliced images is
>> to get a more intuitive scrolling behavior and that is the reason I am
>> using them. I think for everything else the image should behave as a
>> single image. For that reason the behavior of "i r" seems correct to
>> me. It rotates the image and then slices.
>
> If this is what you see, I guess you have Emacs built with
> ImageMagick? I don't see "rotation followed by slicing", because the
> code doesn't do that, at least not with rotation that is implemented
> natively in Emacs on my system. But, as I said, rotation of sliced
> image is not well defined, so my opinion is that people should not
> depend on it doing something sensible.
Evaluating "(image-type-available-p 'imagemagick)" returns nil so I
think Emacs is built without imagemagick support. The sequence of
command I ran to build it were
./configure --with-pgtk
make
make bootstrap
where the first make failed due to some org issue.
But to the broader point about rotation not being sensible I think it
might be a good idea to put a different keymap on sliced images in that
case. Maybe "sliced-image-map" which should be the parent of
"image-map". I don't see any misbehavior though.
^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#62679: 29.0.60; Bindings on `image-map` cause error on sliced images
2023-04-06 18:30 ` Rah Guzar via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2023-04-08 9:46 ` Eli Zaretskii
2023-04-08 18:29 ` Rah Guzar via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 1 reply; 8+ messages in thread
From: Eli Zaretskii @ 2023-04-08 9:46 UTC (permalink / raw)
To: Rah Guzar; +Cc: larsi, 62679-done
> From: Rah Guzar <rahguzar@zohomail.eu>
> Cc: larsi@gnus.org, 62679@debbugs.gnu.org
> Date: Thu, 06 Apr 2023 20:30:19 +0200
>
> > I cannot reproduce this. On my system, if I move point with the right
> > arrow key, "M-x describe-text-properties" doesn't show the keymap
> > property.
>
> You are right there is no keymap property there but somehow "image-map"
> is still active. I can press "i +" there and see the error while after or
> before the image pressing "i +" will insert the two characters.
Thanks, I fixed this now on the emacs-29 branch.
> >> According to the info manual, the advantage of using sliced images is
> >> to get a more intuitive scrolling behavior and that is the reason I am
> >> using them. I think for everything else the image should behave as a
> >> single image. For that reason the behavior of "i r" seems correct to
> >> me. It rotates the image and then slices.
> >
> > If this is what you see, I guess you have Emacs built with
> > ImageMagick? I don't see "rotation followed by slicing", because the
> > code doesn't do that, at least not with rotation that is implemented
> > natively in Emacs on my system. But, as I said, rotation of sliced
> > image is not well defined, so my opinion is that people should not
> > depend on it doing something sensible.
>
> Evaluating "(image-type-available-p 'imagemagick)" returns nil so I
> think Emacs is built without imagemagick support. The sequence of
> command I ran to build it were
> ./configure --with-pgtk
> make
> make bootstrap
> where the first make failed due to some org issue.
>
> But to the broader point about rotation not being sensible I think it
> might be a good idea to put a different keymap on sliced images in that
> case. Maybe "sliced-image-map" which should be the parent of
> "image-map". I don't see any misbehavior though.
I added a new map, in which some commands that have no meaning for
sliced images are absent.
And with that, I'm closing this bug.
^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#62679: 29.0.60; Bindings on `image-map` cause error on sliced images
2023-04-08 9:46 ` Eli Zaretskii
@ 2023-04-08 18:29 ` Rah Guzar via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-04-08 18:58 ` Eli Zaretskii
0 siblings, 1 reply; 8+ messages in thread
From: Rah Guzar via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-04-08 18:29 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: larsi, 62679-done
Hi Eli,
Thanks for the changes. Everything work as expected for me now.
However, the new keymap is only partially effective. I cannot
use "i r" to rotate a sliced image now but it is possible to do it
using "i + r" i.e. the mechanism that is used to allow performing
repeated manipulations still uses a map which allows rotations.
Eli Zaretskii <eliz@gnu.org> writes:
>> From: Rah Guzar <rahguzar@zohomail.eu>
>> Cc: larsi@gnus.org, 62679@debbugs.gnu.org
>> Date: Thu, 06 Apr 2023 20:30:19 +0200
>>
>> > I cannot reproduce this. On my system, if I move point with the right
>> > arrow key, "M-x describe-text-properties" doesn't show the keymap
>> > property.
>>
>> You are right there is no keymap property there but somehow "image-map"
>> is still active. I can press "i +" there and see the error while after or
>> before the image pressing "i +" will insert the two characters.
>
> Thanks, I fixed this now on the emacs-29 branch.
>
>> >> According to the info manual, the advantage of using sliced images is
>> >> to get a more intuitive scrolling behavior and that is the reason I am
>> >> using them. I think for everything else the image should behave as a
>> >> single image. For that reason the behavior of "i r" seems correct to
>> >> me. It rotates the image and then slices.
>> >
>> > If this is what you see, I guess you have Emacs built with
>> > ImageMagick? I don't see "rotation followed by slicing", because the
>> > code doesn't do that, at least not with rotation that is implemented
>> > natively in Emacs on my system. But, as I said, rotation of sliced
>> > image is not well defined, so my opinion is that people should not
>> > depend on it doing something sensible.
>>
>> Evaluating "(image-type-available-p 'imagemagick)" returns nil so I
>> think Emacs is built without imagemagick support. The sequence of
>> command I ran to build it were
>> ./configure --with-pgtk
>> make
>> make bootstrap
>> where the first make failed due to some org issue.
>>
>> But to the broader point about rotation not being sensible I think it
>> might be a good idea to put a different keymap on sliced images in that
>> case. Maybe "sliced-image-map" which should be the parent of
>> "image-map". I don't see any misbehavior though.
>
> I added a new map, in which some commands that have no meaning for
> sliced images are absent.
>
> And with that, I'm closing this bug.
Thanks a lot,
Rah Guzar
^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#62679: 29.0.60; Bindings on `image-map` cause error on sliced images
2023-04-08 18:29 ` Rah Guzar via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2023-04-08 18:58 ` Eli Zaretskii
0 siblings, 0 replies; 8+ messages in thread
From: Eli Zaretskii @ 2023-04-08 18:58 UTC (permalink / raw)
To: Rah Guzar; +Cc: 62679, larsi
> From: Rah Guzar <rahguzar@zohomail.eu>
> Cc: larsi@gnus.org, 62679-done@debbugs.gnu.org
> Date: Sat, 08 Apr 2023 20:29:45 +0200
>
> Hi Eli,
> Thanks for the changes. Everything work as expected for me now.
>
> However, the new keymap is only partially effective. I cannot
> use "i r" to rotate a sliced image now but it is possible to do it
> using "i + r" i.e. the mechanism that is used to allow performing
> repeated manipulations still uses a map which allows rotations.
That's Somebody Else's Problem, sorry. This repeat-keymap stuff is
above my paygrade.
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2023-04-08 18:58 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-04-05 15:23 bug#62679: 29.0.60; Bindings on `image-map` cause error on sliced images Rah Guzar via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-04-06 9:41 ` Eli Zaretskii
2023-04-06 15:43 ` Rah Guzar via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-04-06 16:24 ` Eli Zaretskii
2023-04-06 18:30 ` Rah Guzar via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-04-08 9:46 ` Eli Zaretskii
2023-04-08 18:29 ` Rah Guzar via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-04-08 18:58 ` Eli Zaretskii
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).