5月 25

これといった理由はないのですが、Mac で使っているパッケージマネージャ(?)を MacPorts から Homebrew に変更しようとしています。FreeBSD に馴染んだ身としては、MacPorts の方が親しみが湧くのですが、最近は Homebrew の方が勢いがあるようですね。

移行したからと言って、特に困ることはないと思っていたのですが、1点だけちょいと困っています。Homebrew には compface がないってことです。
この compface、なんのために必要かというと、Mew で X-Face を使うため。

www.jpl.org/ftp/pub/elisp/ あたりから x-face-e21.el.gz を取ってきて、

% gzip -d x-face-e21.el.gz

で、伸張。あとは、load-path の通ったところに x-face-e21.el を置き、.emacs.d/init.el

;; x-face setting
(autoload 'x-face-decode-message-header "x-face-e21")
(autoload 'x-face-insert "x-face-e21" nil t)
(autoload 'x-face-save "x-face-e21" nil t)
(autoload 'x-face-show "x-face-e21" nil t)
(autoload 'x-face-turn-off "x-face-e21")
(setq x-face-auto-image t)

.mew.el

;; x-face
(setq mew-highlight-x-face-function 'x-face-decode-message-header)
(define-key mew-summary-mode-map "\C-x4s" 'x-face-save)
(define-key mew-draft-mode-map "\C-x4i" 'x-face-insert)
(define-key mew-draft-header-map "\C-x4i" 'x-face-insert)
(define-key mew-draft-mode-map "\M-t" 'x-face-show)
(define-key mew-draft-header-map "\M-t" 'x-face-show)
(setq x-face-default-xbm-file "smoking.xbm")
(add-hook 'mew-draft-mode-hook 'x-face-insert)

と書いてます。

話がちょっとそれましたが、この x-face-e21.el が compface を使うわけです。その compface が Homebrew には用意されていないようです。使う人が少ないってことなのでしょうかね。
しかたないので、

Compface 1.5.2 – Compface provides utilities and a library for converting to and from the X-Face…

から compface-1.5.2.tar.gz を取ってきて、

% tar xvzf compface-1.5.2.tar.gz
% cd compface-1.5.2
% ./configure
% make
% su
# make install

で、/usr/local/bin/compface /usr/local/bin/uncompface の出来上がりです。

あ、もっとも、x-face-e21.el でも compface を使わない方法があるようです。試してませんけど・・・

 

Posted: 5月 25日 2012 at 13:08 2,907 views   Tagged with:




1月 03

これまで Carbon Emacs を主に使ってきた私ですが、メインマシンを Lion にしたのを機に、Cocoa Emacs に移行することにしました。
Carbon Emacs と違い、便利なパッケージは用意されていないようですので、自分で build。現在、GNU にある最新らしきバージョンは 23.3b です。日本語をストレスなく扱うためのインラインパッチとか、Lion 用のパッチとかを充ててみます。Xcode 4.2.1 ですんなり build できました。

% curl -O http://ftp.gnu.org/gnu/emacs/emacs-23.3b.tar.bz2
% tar xjf emacs-23.3b.tar.bz2 
% curl -o xcode_1.patch http://repo.or.cz/w/emacs.git/commitdiff_plain/c8bba48c5889c4773c62a10f7c3d4383881f11c1
% curl -o xcode_2.patch https://raw.github.com/gist/1098107
% curl -o fullscreen.patch https://raw.github.com/gist/1012927
% curl -o lion.patch https://raw.github.com/gist/1101856
% svn co http://svn.sourceforge.jp/svnroot/macemacsjp/inline_patch/trunk inline_patch-svn
% cd emacs-23.3
% patch -p1 < ../xcode_1.patch 
% patch -p1 < ../xcode_2.patch 
% patch -p1 < ../fullscreen.patch 
% patch -p1 < ../lion.patch 
% patch -p0 < ../inline_patch-svn/emacs-inline.patch 
% patch -p0 < ../inline_patch-svn/font.patch 
% ./configure --with-ns --without-x
% make bootstrap
% make install

とすれば、emacs-23.3/nextstep/Emacs.app が出来上がります。これをアプリケーションフォルダにでも移動しておけば OK。Software Design 2011年12月号を参考にしました。

~/.emacs.d/init.el のフォントの設定はこんな感じにしています。

; 言語を日本語にする
(set-language-environment 'Japanese)
; モードラインに OS X の IME 情報を
(setq default-input-method "MacOSX")
; 極力UTF-8とする
(prefer-coding-system 'utf-8)

; font setting
(setq-default line-spacing 1) ; 行間のポイント数
(let* ((size 14) ; ASCII フォントのサイズ
        (asciifont "Menlo") ;ASCII フォント
        (jpfont "Hiragino Maru Gothic ProN") ; 日本語フォント
        (h (* size 10))
        (fontspec (font-spec :family asciifont))
        (jp-fontspec (font-spec :family jpfont)))
(set-face-attribute 'default nil :family asciifont :height h)
(set-fontset-font nil 'japanese-jisx0213.2004-1 jp-fontspec) ; JISX0213 04年版
(set-fontset-font nil 'japanese-jisx0213-2 jp-fontspec) ; JISX0213 00年版
(set-fontset-font nil 'katakana-jisx0201 jp-fontspec) ; 半角カナ
(set-fontset-font nil '(#x3040 . #x309F) jp-fontspec) ; ひらがな
(set-fontset-font nil '(#x0080 . #x024F) fontspec) ; ラテン文字
(set-fontset-font nil '(#x0370 . #x03FF) fontspec) ; ギリシャ文字
)
; フォント種ごとの大きさの比率
(dolist (elt
        '(("^-apple-hiragino.*" . 1.2)
          (".*osaka-bold.*" . 1.2)
          (".*osaka-medium.*" . 1.2)
          (".*courier-bold-.*-mac-roman" . 1.0)
          (".*monaco cy-bold-.*-mac-cyrillic" . 0.9)
          (".*monaco-bold-.*-mac-roman" . 0.9)
          ("-cdac$" . 1.3)))
        (add-to-list 'face-font-rescale-alist elt))

ほぼ問題なく使えているのですが、1点だけ困った問題が出ています。Mew で IMAPS サーバ上のメールを読んでいるのですが、Carbon Emacs に比べてメールの取得が遅くなってしまいました。今のところ解決策も見付からずにおりますが、どなたか回避方法をご存じの方がいらっしゃいましたら、ご教授下さいませ。

 

Posted: 1月 3日 2012 at 13:30 5,774 views   Tagged with:


1月 19

自ら Intel Mac 用に Thunderbird を build しているわけですが、メインのメールクライアントとして利用しているのは Emacs 上の Mew だったりします。FreeBSD をクライアントとして使っていた頃からお世話になっていたりします。で、その Mew では IMAPS でメールを読んでいるため、stunnel が必要になり、MacPorts からインストールして利用しています。
ところがこの stunnel、Mew を終了してもプロセスとして生き続けてしまいます。気にはなっていたのですが、どうしたものかと思っていたところ、

[mew-dist 29305] Re: mew+stunnel の終了時の設定について

タイムリーなことに Mew-dist — The Mew ML in Japanese に解決方法が流れました。
.mew.el に

;; Mew を一時中断したときに stunnel も終了
(add-hook ‘mew-suspend-hook
(lambda () (mew-summary-kill-subprocess t)))

;; Mew の終了時に stunnel も終了
(add-hook ‘mew-quit-hook
(lambda () (mew-summary-kill-subprocess t)))

と記すればいいとのこと。
早速試してみると、見事に stunnel プロセスが kill されました。すごくスッキリとした気分です。

問題提起をしていただいた方、回答をいただいた方、本当にありがとうございます。

 

Posted: 1月 19日 2011 at 6:22 4,794 views   Tagged with:


9月 13

Emacsテクニックバイブル ~作業効率をカイゼンする200の技~久しぶりにコンピュータ関係の書籍を購入しました。「Emacsテクニックバイブル ~作業効率をカイゼンする200の技~」です。
Emacs を使い始めてかなりの年月が経過しているのですが、まだまだ何もわかってない状態。再度勉強のつもりで購入したわけです。今時の Emacs 周りの事情も多少わかるかと期待しております。Web 上にも諸処の情報はありますが、まとまった情報が欲しい時は「紙の本」もいいのではないかと。ま、まだろくに目を通していませんので、これからってところですけど。

で、Mac 上では Carbon Emacs パッケージを使わせていただいていたわけですが、最近 Emacs 23 を build して使用してみました。
こちらから Emacs 23 のソース emacs-23.2.tar.gz を、こちらからインラインパッチ inline_patch-23.2-beta3.tar.gz をダウンロード。適当な場所で伸張し、パッチを当て、ビルド。手順は簡単です。

% tar xvfz inline_patch-23.2-beta3.tar.gz
% tar xvfz emacs-23.2.tar.gz
% cd emacs-23.1
% patch -p 0 < ../inline_patch-23.2-beta3/emacs-inline.patch
% ./configure --with-ns --without-x
% make bootstrap
% make install

といった感じ。
nextstep/ に Emacs.app ができあがりますので、アプリケーションフォルダにでもコピーしておきます。

フォントの設定は ~/.emacs.d/init.el に

(set-face-attribute ‘default nil
  :family “monaco”
  :height 140)
(set-fontset-font
  (frame-parameter nil ‘font)
  ‘japanese-jisx0208
  ‘(“Hiragino Maru Gothic Pro” . “iso10646-1”))
(set-fontset-font
  (frame-parameter nil ‘font)
  ‘japanese-jisx0212
  ‘(“Hiragino Maru Gothic Pro” . “iso10646-1”))
(set-fontset-font
  (frame-parameter nil ‘font)
  ‘mule-unicode-0100-24ff
  ‘(“monaco” . “iso10646-1”))
(setq face-font-rescale-alist
  ‘((“^-apple-hiragino.*” . 1.2)
    (“.*osaka-bold.*” . 1.2)
    (“.*osaka-medium.*” . 1.2)
    (“.*courier-bold-.*-mac-roman” . 1.0)
    (“.*monaco cy-bold-.*-mac-cyrillic” . 0.9)
    (“.*monaco-bold-.*-mac-roman” . 0.9)
    (“-cdac$” . 1.3)))

等と書いておけば、それなりに見易いフォントで表示してくれます。

使ってみると、いくつか気になる点があります。まずは、Mew でサイズの大きなメールを取得する際にかなり時間がかかってしうこと。私は IMAPS を使っているのですが、Carbon Emacs に比べると明らかに違います。
もう一つ、Mew をデフォルトメーラーとして使えないこと。Carbon Emacs の場合は、

(setq url-mail-command 'mew-send)

と書いておけば、ブラウザ等でメールアドレスをクリックした際に、Mew のDraft モードに移行してくれたのですが、Emacs 23 ではなんの反応もありません。方法はあるのでしょうけど、ちょっと検索したくらいでは見つかりませんでした。
どなたかご存じの方がいらっしゃいましたら、ご教授下さいませ。

と言うわけで、結局 Carbon Emacs を使い続けている私です・・・

 

Posted: 9月 13日 2010 at 6:49 3,208 views   Tagged with:


1月 12

未だにメインのメールクライアントとして、Mac の Carbon Emacs 上で Mew を使い続けていたりします。しかも、多くの elisp ライブラリ(?) は Carbon Emacs パッケージのものを使っているのですが、なぜだか Mew はソースコードから最新版を追いかけております。
これまで、Mew のソースコードは CVS で管理されていましたが、先日より git で管理されるようになりました。

[mew-dist 29084] github

具体的な使い方は、Mew の最新版を追いかけるに記されていますし、困ることはないはずなのです。が、Mac OS X では、cvs コマンドは /usr/bin/cvs に存在しますが、git コマンドは標準では用意されていません。

仕方ないので、MacPorts から git をインストールしてみました。MacPorts はすでに導入していますので、

% sudo port install git-core

だけでインストール完了のはず。

未だに tcsh を使っている私は、

% rehash
% which git
/opt/local/bin/git

で、無事インストールできたことを確認しておきました。

これで今まで通り、Mew の最新版を追いかける用意ができました。

 

Posted: 1月 12日 2010 at 0:04 2,121 views   Tagged with:


preload preload preload