unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Aaron Jensen <aaronjensen@gmail.com>
To: Eli Zaretskii <eliz@gnu.org>
Cc: Alp Aker <alptekin.aker@gmail.com>, 30553@debbugs.gnu.org
Subject: bug#30553: 26.0.91; underline appears beneath line-spacing rather than beneath text
Date: Mon, 26 Feb 2018 08:01:03 -0800	[thread overview]
Message-ID: <CAHyO48wR+ZBoLMeDoAUSDp6PrNmmoROQeZoBLaN=5dAK5dCwaA@mail.gmail.com> (raw)
In-Reply-To: <83y3jf21wh.fsf@gnu.org>

On Mon, Feb 26, 2018 at 7:42 AM, Eli Zaretskii <eliz@gnu.org> wrote:
> I'm not sure I see the point of adding yet another variable.  Don't
> you see the same problem with local values of that variable, like you
> saw with the 2 existing ones?

Yes, but the point is actually that this is a setting I would be ok
with for my entire frame. Whereas before I was using different
underline settings depending on whether or not it was code or prose.

> In general, you cannot assume in display code that buffer-local
> variables have their expected values, because redisplay needs to
> redraw windows other than the selected one, and when it does so, the
> window's buffer is not made the current one in the full sense of the
> word.  What you saw is the display engine using the value from the
> last buffer that was current before a redisplay cycle.  So you need to
> explicitly access buffer-local values by calling buffer_local_value;
> see the examples of that in xdisp.c.

Ok, that makes sense. Would you like me to make that change for all of
them given my description below? Is there some performance penalty to
this?

> If we want to allow users to make these variables buffer-local, the
> best way is to modify the display code to use their buffer-local
> values.  That would be a cleaner solution, I think.
>
> But anyway, what is the use case where you need different values for
> these variables in different buffers?  These variables were introduced
> to solve problems with semi-buggy fonts, and these problems are not
> limited to a single buffer.  Also, if you set these variables to
> ignore the line-spacing, it will produce a reasonable display in a
> buffer without any line-spacing at all, so I wonder why you needed to
> make these local.  Can you explain?

I briefly described this above, but here are some more details. Today,
globally, I'm using:

            (setq x-underline-at-descent-line t)

This was the default in spacemacs and it's likely because of #30609
(underlines drawn over descenders make text hard to read) and
different colored underlines are used heavily with flycheck.

And, in org-mode:

            (setq-local line-spacing 1)
            (setq-local x-underline-at-descent-line nil)
            (setq-local x-use-underline-position-properties t)

For reasons that led me to create this initial bug report:
x-underline-at-descent-line looks terrible when line-spacing > 0.

With this variable, you are right, I no longer need to use
`setq-local`, I can just set this variable globally and it will look
reasonable for code and prose.

That said, I'm not sure exactly what you meant by: "if you set these
variables to ignore the line-spacing", are you referring to the new
variable I introduced or are you OK with me making a change to
x-underline-at-descent-line to ignore line spacing?





  reply	other threads:[~2018-02-26 16:01 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-02-20 18:16 bug#30553: 26.0.91; underline appears beneath line-spacing rather than beneath text Aaron Jensen
2018-02-20 19:33 ` Eli Zaretskii
2018-02-20 19:44   ` Aaron Jensen
2018-02-21  1:46     ` Alp Aker
2018-02-21  4:23       ` Eli Zaretskii
2018-02-21  4:27         ` Aaron Jensen
2018-02-21  5:01           ` Alp Aker
2018-02-21  6:03             ` Aaron Jensen
2018-02-21 13:47               ` Alp Aker
2018-02-21 16:17                 ` Aaron Jensen
2018-02-21 17:56                   ` Eli Zaretskii
2018-02-22  2:15                     ` Aaron Jensen
2018-02-22  6:26                       ` Eli Zaretskii
2018-02-22  6:29                         ` Aaron Jensen
2018-02-22  7:21                           ` Eli Zaretskii
2018-02-25 22:09                     ` Aaron Jensen
2018-02-26 15:42                       ` Eli Zaretskii
2018-02-26 16:01                         ` Aaron Jensen [this message]
2018-02-26 19:25                           ` Eli Zaretskii
2018-02-26 20:21                             ` Aaron Jensen
2018-02-26 20:41                               ` Eli Zaretskii
2018-02-26 20:46                                 ` Eli Zaretskii
2018-02-26 21:05                                 ` Aaron Jensen
2018-02-27 14:19                                   ` Aaron Jensen
2018-02-27 16:18                                     ` Eli Zaretskii
2018-02-28 15:19                                       ` Aaron Jensen
2018-02-28 16:14                                         ` Eli Zaretskii
2018-02-28 17:41                                           ` Aaron Jensen
2018-02-28 17:56                                             ` Eli Zaretskii
2018-03-01  8:36                                               ` Aaron Jensen
2018-03-08  6:31                                                 ` Aaron Jensen
2018-03-08 13:45                                                   ` Eli Zaretskii
2018-03-10 11:18                                                 ` Eli Zaretskii
2018-03-10 17:47                                                   ` Aaron Jensen
2018-03-10 18:48                                                     ` Eli Zaretskii

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAHyO48wR+ZBoLMeDoAUSDp6PrNmmoROQeZoBLaN=5dAK5dCwaA@mail.gmail.com' \
    --to=aaronjensen@gmail.com \
    --cc=30553@debbugs.gnu.org \
    --cc=alptekin.aker@gmail.com \
    --cc=eliz@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).