2011-01-04

emacsの問題解決!!



前回のブログ(emacsがおかしいぞ!!)で問題になっていたことが解決した.


自分の環境での問題なので全ての方が同様の問題が起こるとは限りません.
また,解決方法も同様です.


問題は init_osxws.el 内で読込むファイル名とそのファイルが置いてある場所だったみたいです.
今回は,section ファイルを読込むにエラーが出てました.



アップデート前
/usr/osxws/share/emacs/site-lisp/emacs-lisps/osxws-secX.el
アップデート後(apt-get upgrade 2010-12-30)
/usr/osxws/share/emacs/site-lisp/emacs-lisps/osxws-secX.elc
X={0,1,2,3,4,5,6,7}
一見アップデート前後で一緒にように見えますが最後が「el」が「elc」に変更されています.
この変更によって/usr/osxws/share/emacs/site-lisp/emacs-lisps/には拡張子がel」のセクションファイルはあるが「elc」のセクションファイルはないのでエラーが出ていた.


以上が問題点です.この問題点の解決策は複数あります.


解決策1
拡張子の「elc」を元の「el」に変更
この方法が一番簡単だと思う.



解決策2
アップデート後に(確かではないが)/usr/osxws/share/emacsに加えて/usr/osxws/share/emacs-23.2が増えた気がする.
両方のディレクトリの中身は結構違うでも/site-lisp/emacs-lisps/の中身はほぼ同じ.「ほぼ」の理由は問題点で指摘したel」と「elc」との違いだけなので init_osxws.el でファイルの参照先を/usr/osxws/share/emacs-23.2に変更する.

変更するには MacWiki - MacOSX WorkShop/dot emacs el にあるように 99osxws.el を変更

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;  osxws.el for MacOS X WorkShop
;;            KOBAYASHI Taizo
;; Time-stamp: 
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


;; setting the MacOS X WorkShop flag
(defconst osxws-emacs-flag t 
  "This is Emacs of MacOS X WorkShop.")


(setq emacs-build-system 
      (concat 
       emacs-build-system
       " - MacOS X WorkShop - 10.6 "))


(setq osxws-emacs-version
      (progn
        (string-match "\\.[0-9]+$" emacs-version)
        (substring emacs-version 0 (match-beginning 0))))
(setq osxws-emacslisps-elc-path
      (concat "/usr/osxws/share/emacs-"
              osxws-emacs-version "/site-lisp/emacs-lisps/"))
(setq osxws-emacslisps-path "/usr/osxws/share/emacs/site-lisp/emacs-lisps/")


(setq report-emacs-bug-address "osxws@xxxxxxxxxxx")


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Local Variables:
;; mode: emacs-lisp
;; buffer-file-coding-system: junet-unix
;; End:
変更前
(setq osxws-emacslisps-path "/usr/osxws/share/emacs/site-lisp/emacs-lisps/")

変更後
(setq osxws-emacslisps-path 
      (concat "/usr/osxws/share/emacs-"
              osxws-emacs-version "/site-lisp/emacs-lisps/"))

これで参照先が/usr/osxws/share/emacs/site-lisp/emacs-lisps/から/usr/osxws/share/emacs-23.2/site-lisp/emacs-lisps/に変更される.


以上!!

0 件のコメント:

コメントを投稿