更新日 "2004年02月08日"

5. NTEmacs

NTEmacs とは、Emacs のソースを Windows 上でコンパイルしたものです。 私は、Microsoft Visual C を持ってないので、Cygwin でのコンパイルについて紹介し ます。

Meadow は Windows 用に改造を施しており、標準で IME が使えます。
また、Meadow の方がインストールが簡単なので、Emacs の最新版を追いかける のでなければ、Meadow の方がお薦めです。

素の NTEmacs では、Windows の IME が使えないので、SKK や leim 等を使わないといけません。
でも、ありがたいことに、三好さんが、IME を使えるように patch を配布していますので、興味のある方は下記のページを参照して下さい。
http://www.boreas.dti.ne.jp/~miyoshi/NTEmacs21/index.html

また、私の環境ではちょっと表示が遅いのですが、最新の計算機では問題ないと思います。
それと、フォントの表示が Meadow と比べると見やすいし、綺麗です。
同じ info の見た目を置いておきますので、比べて下さい。
Meadow.gif
NTEmacs.gif



[INDEX] [Windows で Unix Like] [戻る]
目次

5.1 Emacs21.1 Mule 5.0 (SAKAKI)

5.1.1 必要なもの

  1. emacs-21.1.tar.gz
    Emacs21.1 の本体です。
    ftp://ftp.gnu.org/pub/gnu/emacs/
    できるだけコ記の mirror を利用しましょう。
    ftp://ftp.ring.gr.jp/pub/GNU/emacs/
    ftp://core.ring.gr.jp/pub/GNU/emacs/
    ftp://sunsite.sut.ac.jp/archives/gnu/emacs/
    ftp://ftp.kddlabs.co.jp/pub/gnu/emacs/
    ftp://ftp.iij.ad.jp/pub/GNU/emacs/
    ftp://ftp.keio.net/pub/GNU/emacs/
    ftp://ring.asahi-net.or.jp/pub/GNU/emacs/
    ftp://ftp.dti.ad.jp/pub/GNU/emacs/
    ftp://ring.ocn.ad.jp/pub/GNU/emacs/ ftp://ftp.win.ne.jp/pub/GNU/emacs/
    ftp://ring.ip-kyoto.ad.jp/pub/GNU/emacs/
    ftp://ftp.netlab.is.tsukuba.ac.jp/pub/GNU/prep/emacs/
    ftp://ftp.jaist.ac.jp/pub/GNU/emacs/
    ftp://ftp.m17n.org/pub/mule/
  2. leim-21.1.tar.gz
    Emacs21.1 用の leim です。日本語入力に leim を使わなくても、これがないと Emacs21.1 のコンパイルに失敗します。対処方法をどなたか知りませんか。
    在処は、emacs-21.1.tar.gz と同じです。
  3. ftp://m17n.org/pub/mule/intlfonts-1.2-split/ 16dots.tar.gz
    16dot サイズの bdf フォントです。
    Windows の TureType でもいいですが、Unix を味わうためにはあった方がいいでしょう。
    いろんなフォントは ftp://m17n.org/pub/mule/intlfonts-1.2.tar.gz ですが、
    ファイルサイズが 24MB もあるので、覚悟が必要です。
  4. ftp://ftp.jpl.org/pub/elisp/bitmap/ bitmap-fonts-1.0.tar.gz
    bitmap フォントです。
    入れなくても問題はないですが、どうせ X-Face を使う時に必要になるので入れときましょう。
  5. http://www.microsoft.com/windows95/downloads/contents/WUToys/W95KernelToy/Default.asp
    Emacs は Ctrl キーを多用するので、日本語 106(109) キーボードを 使っている人は、Caps と Ctrl キーを入れ替えないと不便でしょう。
    Windows 95, 98, Me 上でキーを入れ替えるためには、 The Windows 95 Kernel PowerToys の Windows 95 Keyboard Remap をインストールします。
    まず、w95krnltoys.exe を実行してできる KEYREMAP.INF をエクスプローラーの右クリックで「インストール」します。
    すると、「コントロールパネル」の 「キーボード」で、「Remap」 ができるので、そこで Caps と Ctrl キー を入れ替えることができます。
    Windows NT, 2000, XP の場合は
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout
    に Scancode Map を作成します。 詳細は下記サイトを参照してください。
    http://www.microsoft.com/HWDEV/input/W2kscan-map.htm

5.1.2 インストール

Meadow のように簡単にはいきません。なにせコンパイルするのですから。

5.1.2.1 ソースの解凍

インストールしたいディレクトリに emacs-21.1.tar.gz と leim-21.1.tar.gz を置いて、
$ tar zxvf emacs-21.1.tar.gz
$ tar zxvf leim-21.1.tar.gz
です。

5.1.2.2 ソースの確認・編集

5.1.2.2.1 cygwin のソースの確認・編集

古い cygwin には mingw の /usr/include/mingw32/assert.h にバグがあります。

--- assert.h.orig	Tue Dec 26 02:44:58 2000
+++ assert.h	Tue Jan 30 10:43:47 2001
@@ -42,5 +42,5 @@
  * If not debugging, assert does nothing.
  */
-#define assert(x)	((void)0);
+#define assert(x)	((void)0)
 
 #else /* debugging enabled */

つまり、

assert.h の #define assert(x)	((void)0);
の最後にセミコロン (;) が間違って入っているので、それを消せばいいのです。

cygwin 1.1.6 からは直っているようです。

5.1.2.3 configure

DOS プロンプトで、
c:\windows\command.com /e:4096 /c c:\emcas\nt\configure.bat --with-gcc
のようにします。

5.1.2.4 make

cygwin で、
$ cd emacs/nt
$ make
$ make install 
して、できあがり。

エラーがでても、*.exe ができてればよし。 その場合、emacs/bin に *.exe と fns-xxx.el を集め、 addpm.exe でレジストリ情報を書込みます。

レジストリは、
HKEY_LOCAL_MACHIN\SOFTWARE\GNU\Emacs
です。

5.1.3 設定

5.1.3.1 autoexec.bat の設定

C:\ にある autoexec.bat を設定します。(MS-DOS以来久しぶり (゚o゚))

reboot しないと設定は反映されません。 WindowsNT 系では autoexec.bat で設定する代わりに「マイコンピュータ」->「プロパティ」 ->「詳細」タブ内にある環境変数内で設定します。

SET PATH=C:\emacs\bin;\%PATH% ---パスの覗
SET HOME=C:\home ---ホームディレクトリ
SET TMP=C:\tmp ---テンポラリディレクトリ
SET TZ=JST-9 ---タイムゾーン
タイムゾーン以外は自分の環境に合わせてください。

5.1.3.2 .emacs の設定

autoexec.bat の SET HOME で設定したディレクトリに .emacs を置きます。

内容は、ほとんど Meadow と変わりませんが、日本語入力、フォントといった重要なところが違います。
;;; まず、環境を日本語にする
(set-language-environment "Japanese")

;;; デフォルトで JIS になっているので、Windows のために、S-JIS にしておきましょう。
;;; coding-system の設定
(set-default-coding-systems 'japanese-shift-jis-dos)
(set-clipboard-coding-system 'japanese-shift-jis-dos)
(set-w32-system-coding-system 'japanese-shift-jis-dos)
(setq default-file-name-coding-system 'japanese-shift-jis-dos)
(setq default-buffer-file-coding-system 'japanese-shift-jis-dos)
(setq default-terminal-coding-system 'japanese-shift-jis-dos)
(setq default-keyboard-coding-system 'japanese-shift-jis)
(setq default-process-coding-system
      '(undecided . japanese-shift-jis-dos))

;;; フォントの設定

;;; BDF フォントの場合は、16dots のフォントを使って

(setq bdf-directory-list
      '("c:/cygwin/usr/local/font/bdf/European"
	"c:/cygwin/usr/local/font/bdf/Japanese"
	"c:/cygwin/usr/local/font/bdf/Japanese-X"
	"c:/cygwin/usr/local/font/bdf/Misc"))

(setq w32-bdf-filename-alist
      (w32-find-bdf-fonts bdf-directory-list))

;;; そして、
;;; (w32-find-bdf-fonts "directory") 
;;; を *scratch* で評価 (C-j) して得られたフォント名を下記のように記入。

(create-fontset-from-fontset-spec
 "-*-fixed-medium-r-normal-*-16-*-*-*-c-*-fontset-bdf,
; ascii:-*-*-medium-r-normal-*-16-*-*-*-c-80-jisx0201*-*,;;please comment-out
 latin-iso8859-1:-ETL-Fixed-Medium-R-Normal--16-160-72-72-C-80-ISO8859-1,
 latin-iso8859-2:-ETL-Fixed-Medium-R-Normal--16-160-72-72-C-80-ISO8859-2,
 latin-iso8859-3:-ETL-Fixed-Medium-R-Normal--16-160-72-72-C-80-ISO8859-3,
 latin-iso8859-4:-ETL-Fixed-Medium-R-Normal--16-160-72-72-C-80-ISO8859-4,
 latin-jisx0201:-*-*-medium-r-normal-*-16-*-*-*-c-*-jisx0201*-*,
 katakana-jisx0201:-*-*-medium-r-normal-*-16-*-*-*-c-*-jisx0201*-*,
 japanese-jisx0208:-*-*-medium-r-normal-*-16-*-*-*-c-*-jisx0208.1983-*,
 japanese-jisx0208-1978:-*-*-medium-r-normal--16-*-*-*-C-*-JISC6226.1978-0,
 japanese-jisx0212:-*-*-medium-r-normal--16-*-*-*-c-*-JISX0212.1990-0,
 bitmap:-ETL-Fixed-Medium-R-Normal--16-120-100-100-M-80-BITMAP.8x16-0" nil 1)

;;; そして、フォントエンコードして、

(setq font-encoding-alist
      (append '(("JISX0208"      (japanese-jisx0208 . 0))
		("JISX0208.1978" (japanese-jisx0208-1978 . 0))
		("JISX0212"      (japanese-jisx0212 . 0)))
	      font-encoding-alist))

;;; 最後にフレームを設定。

(setq default-frame-alist
      (append 
       '((foreground-color      . "snow") ; 前景色
         (background-color      . "black") ; 背景色
         (cursor-color          . "red") ; カーソル色
         (width                 . 80)   ; フレーム幅(文字数)
         (height                . 30)   ; フレーム高(文字数)
         (top                   . 30)   ; フレームの Y 位置(ピクセル数)
         (left                  . 250)   ; フレームの X 位置(ピクセル数)
	 (tool-bar-lines . 0)
         (font                  . "fontset-bdf"))
       default-frame-alist))

;;; 認識されている全部のフォントリストは
;;; w32-bdf-filename-alist
;;; を評価すれば得られます。


;;; Windows TruetType フォントの場合は、
;;; (insert (prin1-to-string (w32-select-font)))
;;; を 評価して、

;;; "-*-\202l\202r \226\276\222\251-normal-r-*-*-16-120-*-*-c-*-jisx0208-sjis"
;;; のようなフォント名を取得できますので、それを設定します。

(create-fontset-from-fontset-spec
 "-*-Courier New-normal-r-*-*-13-*-*-*-c-*-fontset-null,
 japanese-jisx0208:-*-\202l\202r \226\276\222\251-normal-r-*-*-16-120-*-*-c-*-jisx0208-sjis,
 japanese-jisx0212:-*-\202l\202r \226\276\222\251-normal-r-*-*-16-120-*-*-c-*-jisx0208-sjis,
 katakana-jisx0201:-*-\202l\202r \226\276\222\251-normal-r-*-*-16-120-*-*-c-*-jisx0208-sjis,
 latin-jisx0201:-*-Courier New-normal-r-*-*-13-*-*-*-c-*-iso8859-1,
 japanese-jisx0208-1978:-*-\202l\202r \226\276\222\251-normal-r-*-*-16-120-*-*-c-*-jisx0208-sjis")

(setq initial-frame-alist 
      '((foreground-color . "black")
        (background-color . "snow")
        (width . 80) (height . 37)
        (top . 0) (left . 100)
        ;;(menu-bar-lines . 1)
;        (vertical-scroll-bars . nil)
        (font . "fontset-null") 
        ))

他は 2. .emacs の小技を見て下さい。

5.1.4 バイナリ配布 (2001/11/05)

MSVC でコンパイルされたバイナリが GNU と その mirror site にあります。
GNU/windows/emacs/21.1/
emacs-21.1-bin-i386.tar.gz -- 本体
emacs-21.1-lisp.tar.gz ------ Lisp を知るためには是非入れましょう。
emacs-21.1-leim.tar.gz ------ 日本語入力に SKK を使う場合は必要ありません。

5.2 Emacs21.2 Mule 5.0 (SAKAKI)

Emacs21.2 がリリースされています。(2002/03/16)

5.2.1 必要なもの

  1. emacs-21.2.tar.gz
    Emacs21.2 の本体です。
    ftp://ftp.gnu.org/pub/gnu/emacs/
    できるだけ下記の mirror を利用しましょう。ただし、mirror によっては、emacs-21.2.tar.gz がないところもあります。
    ftp://ftp.ring.gr.jp/pub/GNU/emacs/
    ftp://core.ring.gr.jp/pub/GNU/emacs/
    ftp://sunsite.sut.ac.jp/archives/gnu/emacs/
    ftp://ftp.kddlabs.co.jp/pub/gnu/emacs/
    ftp://ftp.iij.ad.jp/pub/GNU/emacs/
    ftp://ftp.keio.net/pub/GNU/emacs/
    ftp://ring.asahi-net.or.jp/pub/GNU/emacs/
    ftp://ftp.dti.ad.jp/pub/GNU/emacs/
    ftp://ring.ocn.ad.jp/pub/GNU/emacs/ ftp://ftp.win.ne.jp/pub/GNU/emacs/
    ftp://ring.ip-kyoto.ad.jp/pub/GNU/emacs/
    ftp://ftp.netlab.is.tsukuba.ac.jp/pub/GNU/prep/emacs/
    ftp://ftp.jaist.ac.jp/pub/GNU/emacs/
    ftp://ftp.m17n.org/pub/mule/
  2. leim-21.2.tar.gz
    Emacs21.2 用の leim です。
    在処は、emacs-21.2.tar.gz と同じです。
インストールや設定は、Emacs21.1 と同じです。

5.3 Emacs21.3.50

CVS 版が Emacs21.3.50 になっています。(2002/05/25)

CVS の取得は、71MB 以上あるので、最初のチェックアウトは大変かも。 % cvs -d :pserver:anoncvs@subversions.gnu.org:/cvsroot/emacs login パスワード を聞かれますが、そのままリターン % cvs -d :pserver:anoncvs@subversions.gnu.org:/cvsroot/emacs co emacs でチェックアウト
ssh 経由でないとチェックアウトできなくなったので、 export CVS_RSH=ssh cvs -d :ext:anoncvs@savannah.gnu.org:/cvsroot/emacs co emacs です。 アップデートは、ソースのあるディレクトリで、 % cvs update -d -P です。
[TOP] [Windows で Unix Like]
http://www.yumi-chan.com/
Last Modified: Sun, 08 Feb 2004 22:05:47 +0900