GNU bug report logs -
#4710
23.1.50; Bad display of underlines crossing line boundaries
Previous Next
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 4710 in the body.
You can then email your comments to 4710 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#4710
; Package
emacs
.
(Mon, 12 Oct 2009 20:55:09 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Lennart Borgman <lennart.borgman <at> gmail.com>
:
New bug report received and forwarded. Copy sent to
Emacs Bugs <bug-gnu-emacs <at> gnu.org>
.
(Mon, 12 Oct 2009 20:55:09 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> emacsbugs.donarmstrong.com (full text, mbox):
If you have an underline text property that crosses a line boundary it
will be displayed in a rather disturbingly way. The whole indentation on
the next line will be underlined.
For an example see https://bugs.launchpad.net/nxhtml/+bug/449837 where
there are some images.
If Emacs crashed, and you have the Emacs process in the gdb debugger,
please include the output from the following gdb commands:
`bt full' and `xbacktrace'.
If you would like to further debug the crash, please read the file
c:/emacs/u/090928/emacs/etc/DEBUG for instructions.
In GNU Emacs 23.1.50.1 (i386-mingw-nt5.1.2600)
of 2009-09-28
Windowing system distributor `Microsoft Corp.', version 5.1.2600
configured using `configure --with-gcc (3.4) --no-opt --cflags
-Ic:/g/include -fno-crossjumping'
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#4710
; Package
emacs
.
(Sun, 18 Sep 2011 09:02:02 GMT)
Full text and
rfc822 format available.
Message #8 received at 4710 <at> debbugs.gnu.org (full text, mbox):
Lennart Borgman <lennart.borgman <at> gmail.com> writes:
> If you have an underline text property that crosses a line boundary it
> will be displayed in a rather disturbingly way. The whole indentation on
> the next line will be underlined.
>
> For an example see https://bugs.launchpad.net/nxhtml/+bug/449837 where
> there are some images.
The images seem to have disappeared from that page.
Anyway, do you still see this bug in Emacs 24?
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog http://lars.ingebrigtsen.no/
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#4710
; Package
emacs
.
(Sun, 18 Sep 2011 09:18:03 GMT)
Full text and
rfc822 format available.
Message #11 received at 4710 <at> debbugs.gnu.org (full text, mbox):
On 2011-09-18 10:53, Lars Magne Ingebrigtsen wrote:
> Lennart Borgman<lennart.borgman <at> gmail.com> writes:
>
>> If you have an underline text property that crosses a line boundary it
>> will be displayed in a rather disturbingly way. The whole indentation on
>> the next line will be underlined.
>>
>> For an example see https://bugs.launchpad.net/nxhtml/+bug/449837 where
>> there are some images.
>
> The images seem to have disappeared from that page.
>
> Anyway, do you still see this bug in Emacs 24?
>
I still see it: http://i.imgur.com/abMZu.png
(This is with the wrap-prefix text property.)
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#4710
; Package
emacs
.
(Sun, 18 Sep 2011 09:30:03 GMT)
Full text and
rfc822 format available.
Message #14 received at 4710 <at> debbugs.gnu.org (full text, mbox):
Deniz Dogan <deniz <at> dogan.se> writes:
> I still see it: http://i.imgur.com/abMZu.png
Oh, that problem. Yes, when folding text that contains text properties,
the spaces at the beginning of the next line will also contain those
text properties.
This is usually what we want -- if, for instance, the text is a button,
you don't want the text to suddenly become two buttons just because it's
been folded.
But visually with underlines, it looks quite unfortunate.
Special-casing for `underline' (or any face properties that happen to
have `underline' set) sounds quite awkward, though.
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog http://lars.ingebrigtsen.no/
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#4710
; Package
emacs
.
(Sun, 18 Sep 2011 09:48:02 GMT)
Full text and
rfc822 format available.
Message #17 received at 4710 <at> debbugs.gnu.org (full text, mbox):
> From: Lars Magne Ingebrigtsen <larsi <at> gnus.org>
> Date: Sun, 18 Sep 2011 11:20:51 +0200
> Cc: 4710 <at> debbugs.gnu.org
>
> Deniz Dogan <deniz <at> dogan.se> writes:
>
> > I still see it: http://i.imgur.com/abMZu.png
>
> Oh, that problem. Yes, when folding text that contains text properties,
> the spaces at the beginning of the next line will also contain those
> text properties.
>
> This is usually what we want -- if, for instance, the text is a button,
> you don't want the text to suddenly become two buttons just because it's
> been folded.
>
> But visually with underlines, it looks quite unfortunate.
"If it hurts, don't do that" comes to mind.
My vote is "won't fix".
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#4710
; Package
emacs
.
(Sun, 18 Sep 2011 09:52:01 GMT)
Full text and
rfc822 format available.
Message #20 received at 4710 <at> debbugs.gnu.org (full text, mbox):
Eli Zaretskii <eliz <at> gnu.org> writes:
> "If it hurts, don't do that" comes to mind.
But it does look really ugly. :-) This single behavioural tic is what
makes underlines undesirable. If somebody had a good idea how to fix
this in general, that would be a win.
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog http://lars.ingebrigtsen.no/
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#4710
; Package
emacs
.
(Mon, 19 Sep 2011 20:10:02 GMT)
Full text and
rfc822 format available.
Message #23 received at 4710 <at> debbugs.gnu.org (full text, mbox):
>> "If it hurts, don't do that" comes to mind.
> But it does look really ugly. :-) This single behavioural tic is what
> makes underlines undesirable. If somebody had a good idea how to fix
> this in general, that would be a win.
Maybe someone could come up with a neater way to display "face
continuations" (face that applies to the text where a line is
wrapped). For underline, we could put a short bit of dotted underline
as in:
foo bar baz
——————-⋯
toto titi turlu
⋯————
Stefan
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#4710
; Package
emacs
.
(Mon, 19 Sep 2011 21:26:02 GMT)
Full text and
rfc822 format available.
Message #26 received at 4710 <at> debbugs.gnu.org (full text, mbox):
> >> "If it hurts, don't do that" comes to mind.
To my mind also, FWIW.
> > But it does look really ugly. :-) This single behavioural
> > tic is what makes underlines undesirable. If somebody had
> > a good idea how to fix this in general, that would be a win.
>
> Maybe someone could come up with a neater way to display "face
> continuations" (face that applies to the text where a line is
> wrapped). For underline, we could put a short bit of dotted underline
> as in:
> foo bar baz
> -------?
> toto titi turlu
> ?----
Why assume that underlined whitespace should not show an underline?
Likewise for other face attributes.
Down that path lies dwimmadness.
At the very least, any such fiddling should be done only for indentation (i.e.,
in the code that indents text). And it certainly should be under user control
(e.g., optional).
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#4710
; Package
emacs
.
(Tue, 20 Sep 2011 01:44:02 GMT)
Full text and
rfc822 format available.
Message #29 received at 4710 <at> debbugs.gnu.org (full text, mbox):
>> > But it does look really ugly. :-) This single behavioural
>> > tic is what makes underlines undesirable. If somebody had
>> > a good idea how to fix this in general, that would be a win.
>> Maybe someone could come up with a neater way to display "face
>> continuations" (face that applies to the text where a line is
>> wrapped). For underline, we could put a short bit of dotted underline
>> as in:
>> foo bar baz
>> -------⋯
>> toto titi tur
>> ⋯----
> Why assume that underlined whitespace should not show an underline?
> Likewise for other face attributes.
I believe you're confused: I'm talking about line-wrapping done by the
redisplay engine. I.e. there's no newline in the above example (but
there are curly arrows in the fringe instead).
Stefan
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#4710
; Package
emacs
.
(Tue, 20 Sep 2011 02:28:01 GMT)
Full text and
rfc822 format available.
Message #32 received at 4710 <at> debbugs.gnu.org (full text, mbox):
> > Why assume that underlined whitespace should not show an underline?
> > Likewise for other face attributes.
>
> I believe you're confused: I'm talking about line-wrapping done by the
> redisplay engine. I.e. there's no newline in the above example (but
> there are curly arrows in the fringe instead).
Fair enough; I didn't understand the context.
But even in that case, there could be an argument for showing the same face
attributes across the "split" (whatever you want to call it). Not doing so
could give the impression that there is actually a break (change) in the face
attributes when there is not. If you do that, then perhaps some additional
display artifact should convey that - e.g., perhaps a different fringe marker.
This sounds like something that users might want to be able to control (e.g.
optional). Dunno (I don't use such line wrapping/soft returns, myself).
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#4710
; Package
emacs
.
(Tue, 20 Sep 2011 02:35:01 GMT)
Full text and
rfc822 format available.
Message #35 received at 4710 <at> debbugs.gnu.org (full text, mbox):
> Not doing so could give the impression that there is actually a break
> (change) in the face attributes when there is not. If you do that,
> then perhaps some additional display artifact should convey that -
> e.g., perhaps a different fringe marker.
Again, you seem to be confused: I'm specifically talking about "face
continuations", i.e. ways to express the fact that the face continues
rather than being broken. That's the whole point of the two ⋯ in
my example.
Please make sure there's an actual disagreement before jumping on your
keyboard ;-)
Stefan
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#4710
; Package
emacs
.
(Tue, 20 Sep 2011 09:51:01 GMT)
Full text and
rfc822 format available.
Message #38 received at 4710 <at> debbugs.gnu.org (full text, mbox):
Stefan Monnier <monnier <at> iro.umontreal.ca> writes:
>>> Maybe someone could come up with a neater way to display "face
>>> continuations" (face that applies to the text where a line is
>>> wrapped). For underline, we could put a short bit of dotted underline
>>> as in:
>>> foo bar baz
>>> -------⋯
>>> toto titi tur
>>> ⋯----
>> Why assume that underlined whitespace should not show an underline?
>> Likewise for other face attributes.
>
> I believe you're confused: I'm talking about line-wrapping done by the
> redisplay engine. I.e. there's no newline in the above example (but
> there are curly arrows in the fringe instead).
I was talking about things that do have newlines in them. :-)
If you have the following text, where some of it underscores. Like
this:
This is a text with words This is a text with words This is a text with words
-------------------------
Then you fill it with `M-q':
This is a text with words This is a text with words This is a text
--------------------
with words
----------
and then you get this ugly-looking result.
I have no idea how to fix this in an except in an extremely hacky way,
though.
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog http://lars.ingebrigtsen.no/
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#4710
; Package
emacs
.
(Tue, 20 Sep 2011 14:10:03 GMT)
Full text and
rfc822 format available.
Message #41 received at 4710 <at> debbugs.gnu.org (full text, mbox):
> >> Why assume that underlined whitespace should not show an underline?
> >> Likewise for other face attributes.
> >
> > I believe you're confused: I'm talking about line-wrapping
> > done by the redisplay engine. I.e. there's no newline in
> > the above example (but there are curly arrows in the fringe
> > instead).
>
> I was talking about things that do have newlines in them. :-)
> If you have the following text, where some of it underscores.
> Like this:... and then you get this ugly-looking result.
That was what I thought the bug report and discussion were about. Thanks for
clarifying.
And checking the original report and its linked pages (e.g.,
https://bugs.launchpad.net/nxhtml/+bug/449837), I still have that impression:
"After using tidy if an underlined html/CSS items is immediately followed by a
line break/return the underline continues across the page & goes on to the next
line to finish @ the next block of text."
"Followed by a line break/return" seems pretty clear to me.
So maybe Stefan wants to file a separate bug for the soft-return/line-wrapping
case he's really interested in. ;-)
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#4710
; Package
emacs
.
(Tue, 20 Sep 2011 14:11:02 GMT)
Full text and
rfc822 format available.
Message #44 received at 4710 <at> debbugs.gnu.org (full text, mbox):
> > Not doing so could give the impression that there is
> > actually a break (change) in the face attributes when
> > there is not. If you do that, then perhaps some additional
> > display artifact should convey that -
> > e.g., perhaps a different fringe marker.
>
> Again, you seem to be confused: I'm specifically talking about "face
> continuations", i.e. ways to express the fact that the face continues
> rather than being broken. That's the whole point of the two ? in
> my example. Please make sure there's an actual disagreement before
> jumping on your keyboard ;-)
Great, so you jumped on your keyboard to express your violent agreement. ;-)
At any rate, it looks like your and my proposals for such a
line-wrapping-without-breaking case, while perhaps interesting, do not
correspond to the bug reported.
It appears that the OP was indeed about face extension across (hard) line breaks
into indented text on the next line.
That was what my original response was to: If it hurts, don't do it; and let's
not assume that whitespace should not show the face attributes of the adjacent
text just because it represents indentation.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#4710
; Package
emacs
.
(Tue, 20 Sep 2011 21:47:01 GMT)
Full text and
rfc822 format available.
Message #47 received at 4710 <at> debbugs.gnu.org (full text, mbox):
> So maybe Stefan wants to file a separate bug for the soft-return/line-wrapping
> case he's really interested in. ;-)
FWIW, Deniz Dogan said "This is with the wrap-prefix text property",
which is why I assumed we're talking about dynamic wrapping done by the
redisplay rather than by fill-paragraph.
If there's a \n, at least Elisp code can change the property on the \n
char to influence the display.
Stefan
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#4710
; Package
emacs
.
(Wed, 21 Sep 2011 18:45:02 GMT)
Full text and
rfc822 format available.
Message #50 received at 4710 <at> debbugs.gnu.org (full text, mbox):
Stefan Monnier <monnier <at> IRO.UMontreal.CA> writes:
> If there's a \n, at least Elisp code can change the property on the \n
> char to influence the display.
Yes... but the main question is what to do about the text property on
the next line -- if there's leading space on the next line.
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog http://lars.ingebrigtsen.no/
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#4710
; Package
emacs
.
(Wed, 21 Sep 2011 20:34:01 GMT)
Full text and
rfc822 format available.
Message #53 received at 4710 <at> debbugs.gnu.org (full text, mbox):
On Wed, Sep 21, 2011 at 20:36, Lars Magne Ingebrigtsen <larsi <at> gnus.org> wrote:
> Stefan Monnier <monnier <at> IRO.UMontreal.CA> writes:
>
>> If there's a \n, at least Elisp code can change the property on the \n
>> char to influence the display.
>
> Yes... but the main question is what to do about the text property on
> the next line -- if there's leading space on the next line.
Don't underline the leading spaces.
BTW, I have sent another bug report about this (that was recently
closed I believe, I did not have time to respond).
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#4710
; Package
emacs
.
(Thu, 22 Sep 2011 01:19:01 GMT)
Full text and
rfc822 format available.
Message #56 received at 4710 <at> debbugs.gnu.org (full text, mbox):
>> If there's a \n, at least Elisp code can change the property on the \n
>> char to influence the display.
> Yes... but the main question is what to do about the text property on
> the next line -- if there's leading space on the next line.
Same thing as the properties on the \n.
Stefan
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#4710
; Package
emacs
.
(Thu, 14 Jul 2016 04:16:02 GMT)
Full text and
rfc822 format available.
Message #59 received at 4710 <at> debbugs.gnu.org (full text, mbox):
"Drew Adams" <drew.adams <at> oracle.com> writes:
>> > Not doing so could give the impression that there is
>> > actually a break (change) in the face attributes when
>> > there is not. If you do that, then perhaps some additional
>> > display artifact should convey that -
>> > e.g., perhaps a different fringe marker.
>>
>> Again, you seem to be confused: I'm specifically talking about "face
>> continuations", i.e. ways to express the fact that the face continues
>> rather than being broken. That's the whole point of the two ? in
>> my example. Please make sure there's an actual disagreement before
>> jumping on your keyboard ;-)
>
> Great, so you jumped on your keyboard to express your violent agreement. ;-)
>
> At any rate, it looks like your and my proposals for such a
> line-wrapping-without-breaking case, while perhaps interesting, do not
> correspond to the bug reported.
>
> It appears that the OP was indeed about face extension across (hard) line breaks
> into indented text on the next line.
>
> That was what my original response was to: If it hurts, don't do it; and let's
> not assume that whitespace should not show the face attributes of the adjacent
> text just because it represents indentation.
Now we are almost 5 years into the future, and this bug hasn't been
updated. Drew's response didn't get agreement or disagreement, so would
anyone object if we considered this not a bug, as he suggests?
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#4710
; Package
emacs
.
(Thu, 14 Jul 2016 11:46:01 GMT)
Full text and
rfc822 format available.
Message #62 received at 4710 <at> debbugs.gnu.org (full text, mbox):
On Thu, Jul 14, 2016 at 12:15 AM, Andrew Hyatt <ahyatt <at> gmail.com> wrote:
>> It appears that the OP was indeed about face extension across (hard) line breaks
>> into indented text on the next line.
>>
>> That was what my original response was to: If it hurts, don't do it; and let's
>> not assume that whitespace should not show the face attributes of the adjacent
>> text just because it represents indentation.
>
> Now we are almost 5 years into the future, and this bug hasn't been
> updated. Drew's response didn't get agreement or disagreement, so would
> anyone object if we considered this not a bug, as he suggests?
>
>
>
Hmm, seems somewhat related to
http://debbugs.gnu.org/cgi/bugreport.cgi?bug=23574 (that one is about
underline from the end of line to the edge of screen, this one is
about underline from beginning of next line). Perhaps the new
defcustom discussed there
(http://debbugs.gnu.org/cgi/bugreport.cgi?bug=23574#67) should cover
this too?
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#4710
; Package
emacs
.
(Thu, 14 Jul 2016 15:11:02 GMT)
Full text and
rfc822 format available.
Message #65 received at 4710 <at> debbugs.gnu.org (full text, mbox):
> From: Andrew Hyatt <ahyatt <at> gmail.com>
> Date: Thu, 14 Jul 2016 00:15:40 -0400
> Cc: 'Lars Magne Ingebrigtsen' <larsi <at> gnus.org>,
> 'Stefan Monnier' <monnier <at> iro.umontreal.ca>, 4710 <at> debbugs.gnu.org
>
> Now we are almost 5 years into the future, and this bug hasn't been
> updated. Drew's response didn't get agreement or disagreement, so would
> anyone object if we considered this not a bug, as he suggests?
My opinion is in http://debbugs.gnu.org/cgi/bugreport.cgi?bug=4710#17
FWIW.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#4710
; Package
emacs
.
(Thu, 14 Jul 2016 15:16:02 GMT)
Full text and
rfc822 format available.
Message #68 received at 4710 <at> debbugs.gnu.org (full text, mbox):
> From: Noam Postavsky <npostavs <at> users.sourceforge.net>
> Date: Thu, 14 Jul 2016 07:45:32 -0400
> Cc: Lars Magne Ingebrigtsen <larsi <at> gnus.org>,
> Stefan Monnier <monnier <at> iro.umontreal.ca>, 4710 <at> debbugs.gnu.org
>
> Hmm, seems somewhat related to
> http://debbugs.gnu.org/cgi/bugreport.cgi?bug=23574 (that one is about
> underline from the end of line to the edge of screen, this one is
> about underline from beginning of next line). Perhaps the new
> defcustom discussed there
> (http://debbugs.gnu.org/cgi/bugreport.cgi?bug=23574#67) should cover
> this too?
No, it won't. Face extension to the end of line uses a separate
mechanism, because it determines the way we draw the part of the
screen where there's no text at all.
By contrast, the issue in this report is with drawing of characters
that are part of buffer text, or are determined by text properties or
overlays associated with buffer text. For these, the display engine
follows a very simple strategy: it uses the same face until it gets to
a buffer position where the face changes, at which point it also finds
the next position where the face changes, and stores that position in
the iterator object used to traverse the text to be displayed. Rinse,
repeat. So disabling that will need a separate solution, at least
implementation-wise.
Added tag(s) wontfix.
Request was from
Andrew Hyatt <ahyatt <at> gmail.com>
to
control <at> debbugs.gnu.org
.
(Thu, 28 Jul 2016 04:33:01 GMT)
Full text and
rfc822 format available.
bug closed, send any further explanations to
4710 <at> debbugs.gnu.org and Lennart Borgman <lennart.borgman <at> gmail.com>
Request was from
Andrew Hyatt <ahyatt <at> gmail.com>
to
control <at> debbugs.gnu.org
.
(Thu, 28 Jul 2016 04:33:01 GMT)
Full text and
rfc822 format available.
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Thu, 25 Aug 2016 11:24:04 GMT)
Full text and
rfc822 format available.
This bug report was last modified 9 years and 13 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.