Monday, May 23, 2011

ターミナルから Emacs を起動すると Symbol's function definition is void: fixed-width-set-fontset のエラー

まずは、環境から。

環境

  • Mac OS X version 10.6.7
  • GNU Emacs 22.3.1 (i386-apple-darwin9.8.0, Carbon Version 1.6.0) of 2010-01-09 on gs674-seijiz.local

背景

普段は、Carbon Emacs を使っているが、時々、ターミナルから Emacs を使うことがあった。ターミナルから Emacs を起動した時に、以下のエラーが発生していた。

Symbol's function definition is void: fixed-width-set-fontset

原因

以下の2行目でエラーが発生。if 文の中に fixed-width-set-fontset が入っていないことが原因だったようだ。

(if (eq window-system 'mac) (require 'carbon-font))
(fixed-width-set-fontset "osaka" 10)

対策

以下のページを参考に、progn 式を使って、if 文の中に複数の式を書いて解決!!

Lisp一夜漬け -- 1.Lispの書き方

(if (eq window-system 'mac) (progn
  (require 'carbon-font)
  (fixed-width-set-fontset "osaka" 10)))

感想

Osaka フォントは、carbon-font を require しないと使えない。なので、carbon-font の require と Osaka フォントの設定は、同時に行う必要がある。

また、「if 文を取ってしまえ!」と思い、if 文を取って (require 'carbon-font) としてみたところ、ターミナルから起動した時に以下のエラーが発生。

File error: Cannot open load file, carbon-font

理由は Carbon Emacs じゃないから?詳細は不明。。。

あれ?Osaka フォント にしたときは、どこかから設定をコピーしてきて .emacs に貼り付けただけだと思うんだけどなぁ。。。コピーしたサイトも同様に設定に失敗していたか、もしくは、コピペに失敗したか、のどっちかだなぁ。。。

多分、後者。

(´・ω・`)

No comments:

Post a Comment