GNU bug report logs -
#1560
23.0.60; Cannot use function as value of :height face attribute
Previous Next
Full log
Message #5 received at submit <at> emacsbugs.donarmstrong.com (full text, mbox):
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'
This bug report was last modified 16 years and 204 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.