* bug#20508: 24.4; image map properties not working as described
@ 2015-05-05 9:28 pma
2015-05-05 16:32 ` Eli Zaretskii
0 siblings, 1 reply; 6+ messages in thread
From: pma @ 2015-05-05 9:28 UTC (permalink / raw
To: 20508
- emacs -Q
- insert this function:
(defun image-wipe-and-insert ()
(interactive)
(let ()
(with-current-buffer (get-buffer-create "*an image area test buffer*")
(switch-to-buffer (current-buffer))
(erase-buffer)
(insert-image (find-image '((:type png :file "/usr/share/emacs/24.4/etc/images/icons/hicolor/128x128/apps/emacs.png"
:map '((rect . ((0 . 0) . (50 . 50))) anAreaID (:pointer hourglass :help-echo "You found an area!"))
;; :relief -20
;; :conversion laplace
:margin (0 . 0)
:pointer arrow)))))))
- M-x image-wipe-and-insert
- Point mouse into top left corner
- results:
- change of pointer, but not to hourglass;
- no help-echo message.
In GNU Emacs 24.4.1 (x86_64-pc-linux-gnu, GTK+ Version 3.14.5)
of 2014-12-09 on gaia, modified by Debian
Windowing system distributor `The X.Org Foundation', version 11.0.11601901
System Description: Debian GNU/Linux 8.0 (jessie)
Configured using:
`configure --build x86_64-linux-gnu --prefix=/usr
--sharedstatedir=/var/lib --libexecdir=/usr/lib
--localstatedir=/var/lib --infodir=/usr/share/info
--mandir=/usr/share/man --with-pop=yes
--enable-locallisppath=/etc/emacs24:/etc/emacs:/usr/local/share/emacs/24.4/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/24.4/site-lisp:/usr/share/emacs/site-lisp
--build x86_64-linux-gnu --prefix=/usr --sharedstatedir=/var/lib
--libexecdir=/usr/lib --localstatedir=/var/lib
--infodir=/usr/share/info --mandir=/usr/share/man --with-pop=yes
--enable-locallisppath=/etc/emacs24:/etc/emacs:/usr/local/share/emacs/24.4/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/24.4/site-lisp:/usr/share/emacs/site-lisp
--with-x=yes --with-x-toolkit=gtk3 --with-toolkit-scroll-bars
'CFLAGS=-g -O2 -fstack-protector-strong -Wformat
-Werror=format-security -Wall' CPPFLAGS=-D_FORTIFY_SOURCE=2
LDFLAGS=-Wl,-z,relro'
Important settings:
value of $LANG: en_GB.UTF-8
locale-coding-system: utf-8-unix
Major mode: Lisp Interaction
Minor modes in effect:
tooltip-mode: t
electric-indent-mode: t
mouse-wheel-mode: t
tool-bar-mode: t
menu-bar-mode: t
file-name-shadow-mode: t
global-font-lock-mode: t
font-lock-mode: t
blink-cursor-mode: t
auto-composition-mode: t
auto-encryption-mode: t
auto-compression-mode: t
line-number-mode: t
transient-mark-mode: t
Recent input:
<help-echo> <help-echo> C-y C-x C-e M-x i m a g <tab>
w i p <tab> <return> <help-echo> <help-echo> <help-echo>
<help-echo> C-x b <return> M-x b u g <tab> <M-backspace>
<M-backspace> r e p <tab> o <tab> r <tab> <return>
Recent messages:
For information about GNU Emacs and the GNU system, type C-h C-a.
Mark set
image-wipe-and-insert
Making completion list... [2 times]
Load-path shadows:
None found.
Features:
(shadow sort gnus-util mail-extr emacsbug message format-spec rfc822 mml
mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev
gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util
help-fns mail-prsvr mail-utils help-mode easymenu time-date tooltip
electric uniquify ediff-hook vc-hooks lisp-float-type mwheel x-win x-dnd
tool-bar dnd fontset image regexp-opt fringe tabulated-list newcomment
lisp-mode prog-mode register page menu-bar rfn-eshadow timer select
scroll-bar mouse jit-lock font-lock syntax facemenu font-core frame cham
georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao
korean japanese hebrew greek romanian slovak czech european ethiopic
indian cyrillic chinese case-table epa-hook jka-cmpr-hook help simple
abbrev minibuffer nadvice loaddefs button faces cus-face macroexp files
text-properties overlay sha1 md5 base64 format env code-pages mule
custom widget hashtable-print-readable backquote make-network-process
dbusbind gfilenotify dynamic-setting system-font-setting
font-render-setting move-toolbar gtk x-toolkit x multi-tty emacs)
Memory information:
((conses 16 72606 5487)
(symbols 48 17664 0)
(miscs 40 45 139)
(strings 32 9344 4203)
(string-bytes 1 255581)
(vectors 16 8997)
(vector-slots 8 384180 17265)
(floats 8 64 168)
(intervals 56 276 32)
(buffers 960 14)
(heap 1024 29329 1036))
--
patrick
^ permalink raw reply [flat|nested] 6+ messages in thread
* bug#20508: 24.4; image map properties not working as described
2015-05-05 9:28 bug#20508: 24.4; image map properties not working as described pma
@ 2015-05-05 16:32 ` Eli Zaretskii
2015-05-05 17:27 ` patrick mc allister
0 siblings, 1 reply; 6+ messages in thread
From: Eli Zaretskii @ 2015-05-05 16:32 UTC (permalink / raw
To: pma; +Cc: 20508
> From: pma <pma@rdorte.org>
> Date: Tue, 05 May 2015 11:28:26 +0200
>
>
> - emacs -Q
> - insert this function:
> (defun image-wipe-and-insert ()
> (interactive)
> (let ()
> (with-current-buffer (get-buffer-create "*an image area test buffer*")
> (switch-to-buffer (current-buffer))
> (erase-buffer)
> (insert-image (find-image '((:type png :file "/usr/share/emacs/24.4/etc/images/icons/hicolor/128x128/apps/emacs.png"
> :map '((rect . ((0 . 0) . (50 . 50))) anAreaID (:pointer hourglass :help-echo "You found an area!"))
> ;; :relief -20
> ;; :conversion laplace
> :margin (0 . 0)
> :pointer arrow)))))))
>
> - M-x image-wipe-and-insert
> - Point mouse into top left corner
> - results:
> - change of pointer, but not to hourglass;
> - no help-echo message.
It's a cockpit error: you should use 'pointer', not ':pointer' in the
first instance. IOW, this works for me (note the underlined part):
(defun image-wipe-and-insert ()
(interactive)
(let ()
(with-current-buffer (get-buffer-create "*an image area test buffer*")
(switch-to-buffer (current-buffer))
(erase-buffer)
(insert-image (find-image '((:type png :file "/usr/share/emacs/24.4/etc/images/icons/hicolor/128x128/apps/emacs.png"
:map '((rect . ((0 . 0) . (50 . 50))) anAreaID (pointer hourglass :help-echo "You found an area!"))
;; ^^^^^^^
;; :relief -20
;; :conversion laplace
:margin (0 . 0)
:pointer arrow)))))))
(Yes, it's confusing to have ':pointer' on the top level and 'pointer'
inside the value for ':map'. But the manual correctly says 'pointer'
in the latter case, so at least the documentation is consistent with
the code.)
^ permalink raw reply [flat|nested] 6+ messages in thread
* bug#20508: 24.4; image map properties not working as described
2015-05-05 16:32 ` Eli Zaretskii
@ 2015-05-05 17:27 ` patrick mc allister
2015-05-05 19:14 ` Eli Zaretskii
0 siblings, 1 reply; 6+ messages in thread
From: patrick mc allister @ 2015-05-05 17:27 UTC (permalink / raw
To: Eli Zaretskii; +Cc: 20508
[-- Attachment #1: Type: text/plain, Size: 2918 bytes --]
On Tue, May 05, 2015 at 07:32:01PM +0300, Eli Zaretskii wrote:
>
> It's a cockpit error: you should use 'pointer', not ':pointer' in the
> first instance. IOW, this works for me (note the underlined part):
>
> (defun image-wipe-and-insert ()
> (interactive)
> (let ()
> (with-current-buffer (get-buffer-create "*an image area test buffer*")
> (switch-to-buffer (current-buffer))
> (erase-buffer)
> (insert-image (find-image '((:type png :file "/usr/share/emacs/24.4/etc/images/icons/hicolor/128x128/apps/emacs.png"
> :map '((rect . ((0 . 0) . (50 . 50))) anAreaID (pointer hourglass :help-echo "You found an area!"))
> ;; ^^^^^^^
> ;; :relief -20
> ;; :conversion laplace
> :margin (0 . 0)
> :pointer arrow)))))))
>
> (Yes, it's confusing to have ':pointer' on the top level and 'pointer'
> inside the value for ':map'. But the manual correctly says 'pointer'
> in the latter case, so at least the documentation is consistent with
> the code.)
Thanks a lot, indeed I missed that point!
Now, however, I have a follow-up problem (which kind-of nearly fits
the subject line): I was actually trying to get more than one of these
hotspots onto the image, something like this:
(defun image-wipe-and-insert-two-maps ()
(interactive)
(let ()
(with-current-buffer (get-buffer-create "*an image area test buffer*")
(switch-to-buffer (current-buffer))
(erase-buffer)
(insert-image (find-image '((:type png :file "/usr/share/emacs/24.4/etc/images/icons/hicolor/128x128/apps/emacs.png"
:map '(
((rect . ((0 . 0) . (50 . 50))) anAreaID (pointer hourglass help-echo "You found an area!"))
((rect . ((51 . 51) . (100 . 100))) aSecondAreaID (pointer hand help-echo "You found another area!")))
;; :relief -20
;; :conversion laplace
:margin (0 . 0)
:pointer arrow)))))))
I thought this would be in accordance to the info node, where it says:
``An image map is an alist where each element has the format `(AREA ID
PLIST)'."
But my attempt to insert two of those elements leads to no :map
properties being shown for the image.
They are there, though:
(with-current-buffer "*an image area test buffer*"
(pp (text-properties-at (point-min)) (current-buffer)))
gives me:
(rear-nonsticky
(display)
display
(image :type png :file "/usr/share/emacs/24.4/etc/images/icons/hicolor/128x128/apps/emacs.png" :map
'(((rect
(0 . 0)
50 . 50)
anAreaID
(pointer hourglass help-echo "You found an area!"))
((rect
(51 . 51)
100 . 100)
aSecondAreaID
(pointer hand help-echo "You found another area!")))
:margin
(0 . 0)
:pointer arrow))
--
patrick
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* bug#20508: 24.4; image map properties not working as described
2015-05-05 17:27 ` patrick mc allister
@ 2015-05-05 19:14 ` Eli Zaretskii
2015-05-06 7:15 ` patrick mc allister
0 siblings, 1 reply; 6+ messages in thread
From: Eli Zaretskii @ 2015-05-05 19:14 UTC (permalink / raw
To: patrick mc allister; +Cc: 20508
> Date: Tue, 5 May 2015 19:27:54 +0200
> From: patrick mc allister <pma@rdorte.org>
> Cc: 20508@debbugs.gnu.org
>
> Now, however, I have a follow-up problem (which kind-of nearly fits
> the subject line): I was actually trying to get more than one of these
> hotspots onto the image, something like this:
>
> (defun image-wipe-and-insert-two-maps ()
> (interactive)
> (let ()
> (with-current-buffer (get-buffer-create "*an image area test buffer*")
> (switch-to-buffer (current-buffer))
> (erase-buffer)
> (insert-image (find-image '((:type png :file "/usr/share/emacs/24.4/etc/images/icons/hicolor/128x128/apps/emacs.png"
> :map '(
> ((rect . ((0 . 0) . (50 . 50))) anAreaID (pointer hourglass help-echo "You found an area!"))
> ((rect . ((51 . 51) . (100 . 100))) aSecondAreaID (pointer hand help-echo "You found another area!")))
> ;; :relief -20
> ;; :conversion laplace
> :margin (0 . 0)
> :pointer arrow)))))))
>
> I thought this would be in accordance to the info node, where it says:
> ``An image map is an alist where each element has the format `(AREA ID
> PLIST)'."
This variant works as you expect:
(defun image-wipe-and-insert-two-maps ()
(interactive)
(let ()
(with-current-buffer (get-buffer-create "*an image area test buffer*")
(switch-to-buffer (current-buffer))
(erase-buffer)
(insert-image (find-image '((:type png :file "/usr/share/emacs/24.4/etc/images/icons/hicolor/128x128/apps/emacs.png"
:map (list
((rect . ((0 . 0) . (50 . 50))) anAreaID (pointer hourglass help-echo "You found an area!"))
((rect . ((51 . 51) . (100 . 100))) aSecondAreaID (pointer hand help-echo "You found another area!")))
;; :relief -20
;; :conversion laplace
:margin (0 . 0)
:pointer arrow)))))))
(Figuring out why you need that explicit call to 'list' is left as an
exercise ;-)
^ permalink raw reply [flat|nested] 6+ messages in thread
* bug#20508: 24.4; image map properties not working as described
2015-05-05 19:14 ` Eli Zaretskii
@ 2015-05-06 7:15 ` patrick mc allister
2015-05-06 15:24 ` Eli Zaretskii
0 siblings, 1 reply; 6+ messages in thread
From: patrick mc allister @ 2015-05-06 7:15 UTC (permalink / raw
To: Eli Zaretskii; +Cc: 20508
[-- Attachment #1: Type: text/plain, Size: 970 bytes --]
On Tue, May 05, 2015 at 10:14:31PM +0300, Eli Zaretskii wrote:
>
> This variant works as you expect:
>
> (defun image-wipe-and-insert-two-maps ()
> (interactive)
> (let ()
> (with-current-buffer (get-buffer-create "*an image area test buffer*")
> (switch-to-buffer (current-buffer))
> (erase-buffer)
> (insert-image (find-image '((:type png :file "/usr/share/emacs/24.4/etc/images/icons/hicolor/128x128/apps/emacs.png"
> :map (list
> ((rect . ((0 . 0) . (50 . 50))) anAreaID (pointer hourglass help-echo "You found an area!"))
> ((rect . ((51 . 51) . (100 . 100))) aSecondAreaID (pointer hand help-echo "You found another area!")))
> ;; :relief -20
> ;; :conversion laplace
> :margin (0 . 0)
> :pointer arrow)))))))
>
> (Figuring out why you need that explicit call to 'list' is left as an
> exercise ;-)
Thanks again, another thing I missed!
best regards,
--
patrick
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* bug#20508: 24.4; image map properties not working as described
2015-05-06 7:15 ` patrick mc allister
@ 2015-05-06 15:24 ` Eli Zaretskii
0 siblings, 0 replies; 6+ messages in thread
From: Eli Zaretskii @ 2015-05-06 15:24 UTC (permalink / raw
To: patrick mc allister; +Cc: 20508-done
> Date: Wed, 6 May 2015 09:15:44 +0200
> From: patrick mc allister <pma@rdorte.org>
> Cc: 20508@debbugs.gnu.org
>
> > (defun image-wipe-and-insert-two-maps ()
> > (interactive)
> > (let ()
> > (with-current-buffer (get-buffer-create "*an image area test buffer*")
> > (switch-to-buffer (current-buffer))
> > (erase-buffer)
> > (insert-image (find-image '((:type png :file "/usr/share/emacs/24.4/etc/images/icons/hicolor/128x128/apps/emacs.png"
> > :map (list
> > ((rect . ((0 . 0) . (50 . 50))) anAreaID (pointer hourglass help-echo "You found an area!"))
> > ((rect . ((51 . 51) . (100 . 100))) aSecondAreaID (pointer hand help-echo "You found another area!")))
> > ;; :relief -20
> > ;; :conversion laplace
> > :margin (0 . 0)
> > :pointer arrow)))))))
> >
> > (Figuring out why you need that explicit call to 'list' is left as an
> > exercise ;-)
>
> Thanks again, another thing I missed!
So now that we agree there's no bug here, I can close the bug report.
Thanks.
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2015-05-06 15:24 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-05-05 9:28 bug#20508: 24.4; image map properties not working as described pma
2015-05-05 16:32 ` Eli Zaretskii
2015-05-05 17:27 ` patrick mc allister
2015-05-05 19:14 ` Eli Zaretskii
2015-05-06 7:15 ` patrick mc allister
2015-05-06 15:24 ` 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).