GNU bug report logs -
#1560
23.0.60; Cannot use function as value of :height face attribute
Previous Next
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your message dated Thu, 01 Jan 2009 03:30:15 -0500
with message-id <87eiznv36w.fsf <at> cyd.mit.edu>
and subject line Re: 23.0.60; Cannot use function as value of :height face attribute
has caused the Emacs bug report #1560,
regarding 23.0.60; Cannot use function as value of :height face attribute
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact help-debbugs <at> gnu.org
immediately.)
--
1560: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=1560
Emacs Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
emacs -Q
M-: (set-face-attribute 'default (selected-frame) :height (quote 1+))
gives this error: (error "Invalid face height" 1+)
Emacs 22 gives the same error, BTW.
But the Elisp manual, node Face Attributes says this:
`:height'
Either the font height, an integer in units of 1/10 point, a
floating point number specifying the amount by which to scale the
height of any underlying face, or a function, which is called with
the old height (from the underlying face), and should return the
new height.
Am I misunderstanding the doc, or should you be able to use a function
as the value of the :height attribute?
What's more, if you do `M-x customize-face RET default', the Value
Menu for attribute Height does not have an item for a function
value. It has only `Height in 1/10 pt' and `Scale'. That suggests, but
doesn't prove, that a function value is not allowed.
And grepping the Elisp sources, I see no use of a function value for
:height.
Beyond this bug (or my misunderstanding), can we say more about the
kind of function that would be needed? Is it supposed to treat each
kind of :height value: integer, floating-point number, and function?
The doc says the old height (passed to the function) is "from the
underlying face", so I guess this means the actual face height, not
the old value of :height. But which units are used for the actual face
height? Are they too "units of 1/10 point"?
In GNU Emacs 23.0.60.1 (i386-mingw-nt5.1.2600)
of 2008-11-24 on LENNART-69DE564
Windowing system distributor `Microsoft Corp.', version 5.1.2600
configured using `configure --with-gcc (3.4) --no-opt --cflags -Ic:/g/include
-fno-crossjumping'
[Message part 3 (message/rfc822, inline)]
> M-: (set-face-attribute 'default (selected-frame) :height (quote 1+))
>
> gives this error: (error "Invalid face height" 1+)
>
> But the Elisp manual, node Face Attributes says this:
>
> `:height'
> Either the font height, an integer in units of 1/10 point, a
> floating point number specifying the amount by which to scale the
> height of any underlying face, or a function, which is called with
> the old height (from the underlying face), and should return the
> new height.
The default face must always be absolute (i.e., an integer). I've
clarified the manual.
This bug report was last modified 16 years and 203 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.