use-packageでInvalid faceと怒られる

連休なので相変わらず.emacs.dをいじってました。

今までEmacs起動時に下記のようなエラーが出ていました。

Error (use-package): twittering-mode/:init: Invalid face: twittering-username-face

どうやらuse-packageで管理しているtwittering-modeの設定でエラーになっているようです。ただ、エラーは出ているものの、このfaceの設定は反映されていたため、今日まで特に気に留めずに使っていました。

気が向いたので、このエラーを消そうと調べたところ、use-packageのキーワードに:custom-faceというものがあることを発見。しかもREADMEに普通に書いてありました…。faceの設定はこのキーワードを使ってやればよかったようです。

今までは何も考えずに:initにfaceの設定を突っ込んでいたので、その部分を:custom-faceに変更。

ちゃんとREADMEは隅々まで目を通さないとダメですね、本当に。

変更前

(use-package twittering-mode
  :init
  (set-face-bold-p 'twittering-username-face t)
  (set-face-foreground 'twittering-username-face "DeepSkyBlue3")
  (set-face-foreground 'twittering-uri-face "LightSkyBlue1")

  :config
  ()

  )

変更語

(use-package twittering-mode
  :custom-face
  (twittering-username-face
   ((t (:weight bold
        :foreground "DeepSkyBlue3"))))
  (twittering-uri-face
   ((t (:foreground "LightSkyBlue1"))))

  :config
  ()

  )