Package: emacs;
Reported by: Rah Guzar <rahguzar <at> zohomail.eu>
Date: Wed, 5 Apr 2023 15:44:01 UTC
Severity: normal
Found in version 29.0.60
Done: Eli Zaretskii <eliz <at> gnu.org>
Bug is archived. No further changes may be made.
View this message in rfc822 format
From: help-debbugs <at> gnu.org (GNU bug Tracking System) To: Eli Zaretskii <eliz <at> gnu.org> Cc: tracker <at> debbugs.gnu.org Subject: bug#62679: closed (29.0.60; Bindings on `image-map` cause error on sliced images) Date: Sat, 08 Apr 2023 09:47:02 +0000
[Message part 1 (text/plain, inline)]
Your message dated Sat, 08 Apr 2023 12:46:55 +0300 with message-id <83zg7in1tc.fsf <at> gnu.org> and subject line Re: bug#62679: 29.0.60; Bindings on `image-map` cause error on sliced images has caused the debbugs.gnu.org bug report #62679, regarding 29.0.60; Bindings on `image-map` cause error on sliced images to be marked as done. (If you believe you have received this mail in error, please contact help-debbugs <at> gnu.org.) -- 62679: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=62679 GNU Bug Tracking System Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Rah Guzar <rahguzar <at> zohomail.eu> To: bug-gnu-emacs <at> gnu.org Subject: 29.0.60; Bindings on `image-map` cause error on sliced images Date: Wed, 05 Apr 2023 17:23:11 +0200Dear 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))
[Message part 3 (message/rfc822, inline)]
From: Eli Zaretskii <eliz <at> gnu.org> To: Rah Guzar <rahguzar <at> zohomail.eu> Cc: larsi <at> gnus.org, 62679-done <at> debbugs.gnu.org Subject: Re: bug#62679: 29.0.60; Bindings on `image-map` cause error on sliced images Date: Sat, 08 Apr 2023 12:46:55 +0300> From: Rah Guzar <rahguzar <at> zohomail.eu> > Cc: larsi <at> gnus.org, 62679 <at> 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.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.