GNU bug report logs -
#1336
after-string not displayed when overlay has a before-string and image display property
Previous Next
Reported by: "Tim Toolan" <toolan <at> ele.uri.edu>
Date: Thu, 13 Nov 2008 13:15:02 UTC
Severity: normal
Done: Chong Yidong <cyd <at> stupidchicken.com>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 1336 in the body.
You can then email your comments to 1336 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded to
bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>
:
bug#1336
; Package
emacs
.
Full text and
rfc822 format available.
Acknowledgement sent to
"Tim Toolan" <toolan <at> ele.uri.edu>
:
New bug report received and forwarded. Copy sent to
Emacs Bugs <bug-gnu-emacs <at> gnu.org>
.
Full text and
rfc822 format available.
Message #5 received at submit <at> emacsbugs.donarmstrong.com (full text, mbox):
When an overlay has both a before-string and an after-string, and it
has a display property which is an image, the after-string will not be
displayed.
I'm assuming this macro of Joe Wells' in my reproduction code below:
(defmacro test-in-fresh-buffer-and-window (&rest body)
`(progn
(delete-other-windows)
(kill-buffer (get-buffer-create "xyzzy"))
(let ((xyzzy-buf (get-buffer-create "xyzzy")))
(set-buffer xyzzy-buf)
(display-buffer xyzzy-buf)
,@body
)))
Reproduce this problem with:
(test-in-fresh-buffer-and-window
(insert "ABCD \n")
(let ((o1 (make-overlay 2 3)))
(overlay-put o1 'before-string "B1")
(overlay-put o1 'after-string "A1")
(overlay-put o1 'display '(image :data "#define x_width 8\n#define x_height 8\nstatic unsigned char x_bits[] = {0xff, 0x81, 0xbd, 0xa5, 0xa5, 0xbd, 0x81, 0xff };" :type xbm))))
The above expression should display "ABB1(image)A1CD".
The above expression wrongly displays "ABB1(image)CD".
Note that the problem goes away when any of the following conditions
are met:
1) The display property is something other than an image (like a string).
2) There is no before-string, only an after-string.
3) There is another overlay that covers the same region and has a
before-string (if it only has an after-string that will not be
displayed either).
4) If there is a higher priority overlay that covers the same region,
and has a display property set which is not an image.
Note that this problem also exists in the current CVS version of emacs.
Regards,
Tim
In GNU Emacs 22.2.1 (x86_64-pc-linux-gnu, X toolkit, Xaw3d scroll bars)
of 2008-06-12 on aquarius
Windowing system distributor `The X.Org Foundation', version 11.0.10300000
configured using `configure '--prefix=/usr' '--host=x86_64-pc-linux-gnu' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--datadir=/usr/share' '--sysconfdir=/etc' '--localstatedir=/var/lib' '--program-suffix=-emacs-22' '--infodir=/usr/share/info/emacs-22' '--without-carbon' '--with-sound' '--with-x' '--with-toolkit-scroll-bars' '--with-jpeg' '--with-tiff' '--with-gif' '--with-png' '--with-xpm' '--with-x-toolkit=athena' '--without-gtk' '--without-hesiod' '--with-kerberos' '--with-kerberos5' '--libdir=/usr/lib64' '--build=x86_64-pc-linux-gnu' 'build_alias=x86_64-pc-linux-gnu' 'host_alias=x86_64-pc-linux-gnu' 'CFLAGS=-march=nocona -pipe -O2' 'LDFLAGS=''
Important settings:
value of $LC_ALL: nil
value of $LC_COLLATE: nil
value of $LC_CTYPE: nil
value of $LC_MESSAGES: nil
value of $LC_MONETARY: nil
value of $LC_NUMERIC: nil
value of $LC_TIME: nil
value of $LANG: C
locale-coding-system: nil
default-enable-multibyte-characters: t
Major mode: Lisp Interaction
Minor modes in effect:
show-paren-mode: t
tooltip-mode: t
mouse-wheel-mode: t
file-name-shadow-mode: t
global-font-lock-mode: t
font-lock-mode: t
blink-cursor-mode: t
unify-8859-on-encoding-mode: t
utf-translate-cjk-mode: t
auto-compression-mode: t
column-number-mode: t
line-number-mode: t
transient-mark-mode: t
Information forwarded to
bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>
:
bug#1336
; Package
emacs
.
Full text and
rfc822 format available.
Acknowledgement sent to
"Tim Toolan" <toolan <at> ele.uri.edu>
:
Extra info received and forwarded to list. Copy sent to
Emacs Bugs <bug-gnu-emacs <at> gnu.org>
.
Full text and
rfc822 format available.
Message #10 received at 1336 <at> emacsbugs.donarmstrong.com (full text, mbox):
Hi,
After looking into this bug further, I can clarify exactly what is happening.
When an overlay has a display property which is an image which is
displayed, and exactly one overlay (it does not have to be the one
which contains the image) has a before-string property that occurs at
the start of the overlay with the image, then all after-strings in all
overlays that end at the end of the image will not appear.
If there are any other number of overlays (including zero) with
before-string properties that occur at the beginning of the image, the
bug does not occur.
Hope this new information helps find the problem.
Regards,
Tim
Reply sent
to
Chong Yidong <cyd <at> stupidchicken.com>
:
You have taken responsibility.
(Fri, 25 Jun 2010 00:32:01 GMT)
Full text and
rfc822 format available.
Notification sent
to
"Tim Toolan" <toolan <at> ele.uri.edu>
:
bug acknowledged by developer.
(Fri, 25 Jun 2010 00:32:02 GMT)
Full text and
rfc822 format available.
Message #15 received at 1336-done <at> debbugs.gnu.org (full text, mbox):
> When an overlay has both a before-string and an after-string, and it
> has a display property which is an image, the after-string will not be
> displayed.
Thanks for the bug report. I finally tracked the problem down, and have
committed a fix.
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Fri, 23 Jul 2010 11:24:04 GMT)
Full text and
rfc822 format available.
This bug report was last modified 14 years and 333 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.