unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Re: before-string property has no effect if display property is empty string
       [not found] <86k5qnfxgn.fsf@macs.hw.ac.uk>
@ 2007-09-19 15:48 ` Richard Stallman
  2007-09-19 16:07   ` Joe Wells
  0 siblings, 1 reply; 5+ messages in thread
From: Richard Stallman @ 2007-09-19 15:48 UTC (permalink / raw)
  To: Joe Wells; +Cc: emacs-devel

    The documentation leads me to believe that the before-string and
    display properties of an overlay should be orthogonal.  However, the
    before-string is not displayed if the display property is the empty
    string.

I think the thing to do is document this.

Does the same happen for the after-string?

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

* Re: before-string property has no effect if display property is empty string
  2007-09-19 15:48 ` before-string property has no effect if display property is empty string Richard Stallman
@ 2007-09-19 16:07   ` Joe Wells
  2007-09-20 16:34     ` Richard Stallman
  0 siblings, 1 reply; 5+ messages in thread
From: Joe Wells @ 2007-09-19 16:07 UTC (permalink / raw)
  To: rms; +Cc: emacs-devel

Richard Stallman <rms@gnu.org> writes:

>     The documentation leads me to believe that the before-string and
>     display properties of an overlay should be orthogonal.  However, the
>     before-string is not displayed if the display property is the empty
>     string.
>
> I think the thing to do is document this.

This is not clear.  For example, linum.el makes empty overlays with
before-string properties and no display property at all.  And this
works.  So why shouldn't it work when there is a display property that
is the empty string?

> Does the same happen for the after-string?

It works fine with after-string.  The following expression displays
“AXXXC” (correctly):

  (let ((buf (get-buffer-create "foo")))
    (with-current-buffer buf
      (display-buffer buf)
      (erase-buffer)
      (dolist (o (overlays-in (point-min) (point-max)))
        (delete-overlay o))
      (insert "ABC")
      (let ((o (make-overlay 2 3))
            (s (make-string 3 ?X)))
        (overlay-put o 'display "")
        (overlay-put o 'after-string s))))

Given that it works with after-string, this is evidence for
interpreting the behavior with before-string as a bug.

-- 
Joe

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

* Re: before-string property has no effect if display property is empty string
  2007-09-19 16:07   ` Joe Wells
@ 2007-09-20 16:34     ` Richard Stallman
  2007-09-20 17:35       ` Joe Wells
  0 siblings, 1 reply; 5+ messages in thread
From: Richard Stallman @ 2007-09-20 16:34 UTC (permalink / raw)
  To: Joe Wells; +Cc: emacs-devel

    >     The documentation leads me to believe that the before-string and
    >     display properties of an overlay should be orthogonal.  However, the
    >     before-string is not displayed if the display property is the empty
    >     string.
    >
    > I think the thing to do is document this.

    This is not clear.  For example, linum.el makes empty overlays with
    before-string properties and no display property at all.  And this
    works.  So why shouldn't it work when there is a display property that
    is the empty string?

Logically it ought to work, but do we have anyone who can debug it and
fix it?  Would you like to debug it?

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

* Re: before-string property has no effect if display property is empty string
  2007-09-20 16:34     ` Richard Stallman
@ 2007-09-20 17:35       ` Joe Wells
  2007-09-23  9:07         ` Richard Stallman
  0 siblings, 1 reply; 5+ messages in thread
From: Joe Wells @ 2007-09-20 17:35 UTC (permalink / raw)
  To: rms; +Cc: emacs-devel

Richard Stallman <rms@gnu.org> writes:

>     >     The documentation leads me to believe that the
>     >     before-string and display properties of an overlay should
>     >     be orthogonal.  However, the before-string is not
>     >     displayed if the display property is the empty string.
>     >
>     > I think the thing to do is document this.
>
>     This is not clear.  For example, linum.el makes empty overlays
>     with before-string properties and no display property at all.
>     And this works.  So why shouldn't it work when there is a
>     display property that is the empty string?
>
> Logically it ought to work, but do we have anyone who can debug it and
> fix it?  Would you like to debug it?

I am too busy with my job to debug it.

I don't object to documenting it as a bug (hopefully to be fixed
someday).  I think it is not the right choice to document it as the
correct behavior.

-- 
Joe

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

* Re: before-string property has no effect if display property is empty string
  2007-09-20 17:35       ` Joe Wells
@ 2007-09-23  9:07         ` Richard Stallman
  0 siblings, 0 replies; 5+ messages in thread
From: Richard Stallman @ 2007-09-23  9:07 UTC (permalink / raw)
  To: Joe Wells; +Cc: emacs-devel

I don't believe in "documenting bugs".  Bugs should be fixed,
not treated as permanent.

Would someone please debug this?


    The documentation leads me to believe that the before-string and
    display properties of an overlay should be orthogonal.  However, the
    before-string is not displayed if the display property is the empty
    string.

    Reproduce by evaluating this code:

      (let ((buf (get-buffer-create "foo")))
	(with-current-buffer buf
	  (display-buffer buf)
	  (erase-buffer)
	  (dolist (o (overlays-in (point-min) (point-max)))
	    (delete-overlay o))
	  (insert "ABC")
	  (let ((o (make-overlay 2 3))
		(s (make-string 3 ?X)))
	    (overlay-put o 'display "")
	    (overlay-put o 'before-string s))))

    You will see the foo window pop up and in the window you     will see
    AC.  I expected that instead AXXXC would be shown.

    > Does the same happen for the after-string?

    It works fine with after-string.

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

end of thread, other threads:[~2007-09-23  9:07 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <86k5qnfxgn.fsf@macs.hw.ac.uk>
2007-09-19 15:48 ` before-string property has no effect if display property is empty string Richard Stallman
2007-09-19 16:07   ` Joe Wells
2007-09-20 16:34     ` Richard Stallman
2007-09-20 17:35       ` Joe Wells
2007-09-23  9:07         ` Richard Stallman

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