Daniel Brockman <[EMAIL PROTECTED]> writes:
> [EMAIL PROTECTED] (Daniel Jensen) writes:
>
>>> (with-current-buffer (get-buffer-create "*Invisibility test*")
>>> (insert ".---\n")
>>> (insert (propertize "| bar\n" 'invisible t 'display "| baz\n"))
>>> (insert (propertize "| foo\n" 'invisible t))
>>> (insert "`---\n")
>>> (display-buffer (current-buffer)))
>>>
>>> I see `baz' when I run this code, and all I did was
>>> transpose the invisible lines.
>>>
>>> Do you get similar results?
>>
>> Yes. That's the bug, I suppose: When there is invisible text right
>> before the text with the display property, all is well. But add the
>> display property to invisible text after visible text and we see it.
>
> I brought this up on emacs-devel, but there wasn't much reaction.
Update: I sent a patch for this and it got installed.
It might get reverted due to the freeze, but at least
now we know we're right. :-)
Here's the patch, for the record.
*** old/emacs/src/xdisp.c 2006-12-30 00:29:45.000000000 +0100
--- new/emacs/src/xdisp.c 2007-02-22 03:29:37.000000000 +0100
***************
*** 762,769 ****
/* Handle `face' before `display' because some sub-properties of
`display' need to know the face. */
{&Qface, FACE_PROP_IDX, handle_face_prop},
- {&Qdisplay, DISPLAY_PROP_IDX, handle_display_prop},
{&Qinvisible, INVISIBLE_PROP_IDX, handle_invisible_prop},
{&Qcomposition, COMPOSITION_PROP_IDX, handle_composition_prop},
{NULL, 0, NULL}
};
--- 762,769 ----
/* Handle `face' before `display' because some sub-properties of
`display' need to know the face. */
{&Qface, FACE_PROP_IDX, handle_face_prop},
{&Qinvisible, INVISIBLE_PROP_IDX, handle_invisible_prop},
+ {&Qdisplay, DISPLAY_PROP_IDX, handle_display_prop},
{&Qcomposition, COMPOSITION_PROP_IDX, handle_composition_prop},
{NULL, 0, NULL}
};
--
Daniel Brockman <[EMAIL PROTECTED]>
_______________________________________________
bongo-devel mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/bongo-devel