all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* overlay face property not used for after-string property
@ 2007-10-21  3:14 Joe Wells
  2008-04-01 20:14 ` Chong Yidong
  0 siblings, 1 reply; 3+ messages in thread
From: Joe Wells @ 2007-10-21  3:14 UTC (permalink / raw)
  To: bug-gnu-emacs

BUG:  An overlay's face property is applied to its before-string
and display properties, but not to its after-string property.

Reproduce with this expression (see below for definition of
test-in-fresh-buffer-and-window):

  (test-in-fresh-buffer-and-window
   (insert "123")
   (let ((o (make-overlay 2 3)))
     (overlay-put o 'before-string "B")
     (overlay-put o 'after-string "A")
     (overlay-put o 'display "D")
     (overlay-put o 'face 'highlight)))

This displays “1BDA3”.  The “BDA” portion should be displayed
with face “highlight”, which means that the background should be
colored “darkseagreen2”.  However, only the “BD” portion is
displayed with face “highlight” and the “A” portion is wrongly
not displayed with any special face.

I'm assuming the following macro definition in my reproduction
code above:

  (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
         )))

I hope this bug report is helpful.

Joe

======================================================================
In GNU Emacs 22.1.1 (i686-pc-linux-gnu, GTK+ Version 2.8.20)
 of 2007-06-27 on artemis
Windowing system distributor `The X.Org Foundation', version 11.0.70000000
configured using `configure  '--prefix=/home/jbw/local2' '--enable-debug' '--disable-nls' '--with-x-toolkit=gtk' 'CFLAGS=-O0 -g3 -ggdb''

Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: en_US.UTF-8
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: jbw
  value of $LANG: nil
  locale-coding-system: utf-8
  default-enable-multibyte-characters: t

Minor modes in effect:
  TeX-source-specials-mode: t
  outline-minor-mode: t
  desktop-save-mode: t
  url-handler-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
  temp-buffer-resize-mode: t
  size-indication-mode: t
  line-number-mode: t
  transient-mark-mode: t




^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: overlay face property not used for after-string property
  2007-10-21  3:14 overlay face property not used for after-string property Joe Wells
@ 2008-04-01 20:14 ` Chong Yidong
  2008-04-02  8:45   ` martin rudalics
  0 siblings, 1 reply; 3+ messages in thread
From: Chong Yidong @ 2008-04-01 20:14 UTC (permalink / raw)
  To: bug-gnu-emacs

Joe Wells <jbw@macs.hw.ac.uk> writes:

> BUG: An overlay's face property is applied to its before-string
> and display properties, but not to its after-string property.

Sorry for the delay; I just got the time to look at this in detail.

Currently, Emacs uses the `face' property for the display property, but
not the before-string and after-string properties.  This is a rather
ambiguous corner case for the interaction of different overlay
properties, and my inclination is to leave it alone.  If you wish to
change the face of either one of these strings, you can add the `face'
text property to the string, and this will be displayed correctly.

Does anyone have any objection?  If not, I'll shortly update the elisp
manual to clarify this issue.





^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: overlay face property not used for after-string property
  2008-04-01 20:14 ` Chong Yidong
@ 2008-04-02  8:45   ` martin rudalics
  0 siblings, 0 replies; 3+ messages in thread
From: martin rudalics @ 2008-04-02  8:45 UTC (permalink / raw)
  To: Chong Yidong; +Cc: bug-gnu-emacs

 > Currently, Emacs uses the `face' property for the display property, but
 > not the before-string and after-string properties.  This is a rather
 > ambiguous corner case for the interaction of different overlay
 > properties, and my inclination is to leave it alone.  If you wish to
 > change the face of either one of these strings, you can add the `face'
 > text property to the string, and this will be displayed correctly.
 >
 > Does anyone have any objection?  If not, I'll shortly update the elisp
 > manual to clarify this issue.

No objections, but could you please look into the diverging behaviors of
Emacs 22 and 23 wrt

http://lists.gnu.org/archive/html/emacs-devel/2008-03/msg01961.html

The behavior of my Emacs 22 is wrong here - but this may have been
already fixed for Emacs 22.2 ;-)





^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2008-04-02  8:45 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-10-21  3:14 overlay face property not used for after-string property Joe Wells
2008-04-01 20:14 ` Chong Yidong
2008-04-02  8:45   ` martin rudalics

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.