Subject: bug#14705: closed (Re: bug#14705: 24.3.50; "Not a face" error from enable-theme)

From: [email-masked] (GNU bug Tracking System)
Date: Mon, 24 Jun 2013 16:11:03 +0000

Your bug report

#14705: 24.3.50; "Not a face" error from enable-theme

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
14705: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=14705
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#14705: 24.3.50; "Not a face" error from enable-theme
From: Juanma Barranquero <[email-masked]>
To: Sebastian Wiesner <[email-masked]>
Cc: [email-masked]
Date: Mon, 24 Jun 2013 18:09:23 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

On Mon, Jun 24, 2013 at 5:50 PM, Sebastian Wiesner <[email-masked]> wrote:

> Debugger entered--Lisp error: (error "Not a face: message-separator")
>   signal(error ("Not a face: message-separator"))
>   error("Not a face: %s" message-separator)
>   check-face(message-separator)
>   face-spec-recalc(message-separator #<frame F1 0x10181c238>)

I've reverted a change of mine in face-spec-recalc that causes this bug.

Subject: 24.3.50; "Not a face" error from enable-theme
From: Sebastian Wiesner <[email-masked]>
To: [email-masked]
Date: Mon, 24 Jun 2013 17:50:59 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

"enable-theme" signals a "Not a face" error if the color theme tries to
set a face which is currently not defined.  In "emacs -Q"

M-: (setq debug-on-error t)
M-: (load-theme 'wombat :no-confirm)

gives the following back trace:

Debugger entered--Lisp error: (error "Not a face: message-separator")
  signal(error ("Not a face: message-separator"))
  error("Not a face: %s" message-separator)
  check-face(message-separator)
  face-spec-recalc(message-separator #<frame F1 0x10181c238>)
  custom-theme-recalc-face(message-separator)
  enable-theme(wombat)
  load-theme(wombat :no-confirm)
  eval((load-theme (quote wombat) :no-confirm) nil)
  eval-expression((load-theme (quote wombat) :no-confirm) nil)
  call-interactively(eval-expression nil nil)
  command-execute(eval-expression)

This breaks *any* color theme, even the ones included in Emacs, because
all themes define faces which do not exists, e.g. because the
corresponding package is not yet loaded, or not even installed.