emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Note on e65c307 breaks font-height


From: Eli Zaretskii
Subject: Re: Note on e65c307 breaks font-height
Date: Sat, 04 Jun 2016 10:28:43 +0300

> Date: Mon, 30 May 2016 10:00:09 +0200
> From: martin rudalics <address@hidden>
> CC: address@hidden, address@hidden
> 
>  >> Maybe because I also want to specify things like 'background', 'box'
>  >> or 'underline' for my faces.
>  >
>  > You can specify these separately.
> 
> But it's easier to look at all of them in one and the same customization
> buffer.  At least that's what a beginner would do IMO.

Not sure about beginners (as this is not newbie stuff at all).  I
agree that it would be more convenient to specify them all, but we
don't have such a facility.  What you did instead is instruct the font
selection process about some of your preferences.  Try stepping
through the code which implements font/fontset selection, and if you
don't get lost immediately, you will see how many semi-arbitrary
decisions that code makes.

IOW, the font selection code was not designed to support what you'd
like, not in general.  That is why I strongly recommend to just state
a specific font of your liking, and move on.

>  > I'm not sure I follow: isn't the default face supposed to be per
>  > frame?
> 
> That's the way it's implemented.  But where do we tell that in our
> documentations?

 -- Function: face-attribute face attribute &optional frame inherit
     This function returns the value of the ATTRIBUTE attribute for FACE
     on FRAME.

And all the other functions in that node accept the FRAME argument.

It will do no harm, though, to say that explicitly at the beginning of
the chapter; patches welcome.

>  >> Lisp Backtrace:
>  >> "internal-set-lisp-face-attribute" (0xffffb4f0)
>  >> "set-face-attribute" (0xffffbd70)
>  >> "font-setting-change-default-font" (0xffffc620)
>  >> "dynamic-setting-handle-config-changed-event" (0xffffcfb0)
>  >> "funcall-interactively" (0xffffcfa8)
>  >> "call-interactively" (0xffffd460)
>  >> "command-execute" (0xffffdd28)
>  >
>  > Hmm... why is command-execute in the backtrace?  Isn't this Emacs
>  > starting up?
> 
> Apparently we get a config-changed-event during start-up.  Does anyone
> know how these get injected?

I'm not sure I follow: command-execute is called by startup.el only
once: if there's a -f SOMETHING command-line argument.  Is that what
happened in your case?

>  > then can you
>  > show the backtrace from the first time this breakpoint breaks?
> 
> OK.  Below you'll get more than you asked for.  The breakpoint is hit
> four times, the third (with a value of 15) when my .emacs is read and
> the fourth (with a value of 18 again) when the
> ‘dynamic-setting-handle-config-changed-event’ is processed (the fourth
> is the one I posted before).

Thanks, I will look into that and see what it tells.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]