Subject: 26.3; (elisp) `Face Remapping'

From: Drew Adams <[email-masked]>
Date: Sat, 6 Mar 2021 18:16:07 +0000

I'm not sure this is a bug, but the doc seems unclear to me - it seems
to contradict what I see.

Everywhere in this node, SPECS seems to be the same thing, modulo the
special indication of SPECS containing a nil value for
`face-remap-set-base'.  And that meaning seems to be (everywhere) that
SPECS can be "either a list of face names, or a property list of
attribute/value pairs."

But if I do something like this, where SPECS (being a &rest arg) is the list `(variable-pitch)', which is a list of face names:

(add-hook 'some-mode-hook
          (lambda ()
            (face-remap-set-base 'default 'variable-pitch)))

I get an error saying that `variable-pitch' isn't a list.
(And trying '(variable-pitch) instead gives the same error.)

I'm probably missing something - what is it?  Or is it possible that
`face-remap-set-base' has a different meaning of SPECS?

Feel free to close, if this isn't a (doc) bug, but I'd appreciate an
explanation, so I understand better.  Thx.

In GNU Emacs 26.3 (build 1, x86_64-w64-mingw32)
 of 2019-08-29
Repository revision: 96dd0196c28bc36779584e47fffcca433c9309cd
Windowing system distributor `Microsoft Corp.', version 10.0.19041
Configured using:
 `configure --without-dbus --host=x86_64-w64-mingw32
 --without-compress-install 'CFLAGS=-O2 -static -g3''