Ubuntu 10.04にmigemoインストール
Ubuntu 10.04にmigemoをインストールしました。
Ubuntu 9.10の時(Ubuntu
9.10でmigemoを使う)は、sudo apt-get install migemoだけでうまく行ったのに、今回はダメでした。バックワードサーチで、エラーになります。
[MIGEMO] Pending I-search backward: kita [(wrong-type-argument integer-or-marker-p t)]
検索したところ、次のページを見つけました。ありがとうございます。
このページのリンク先をたどると、次のページに行き着きます。ソースの修正ありがとうございます。
Ubuntu 10.04にインストールされている、/usr/share/emacs/site-lisp/migemo/migemo.elを調べてみると…直って無いじゃん!! 放置?!
仕方ないので、自力でインストールすることにしました。次のページを参考にさせていただきました。ありがとうございます。
あらかじめ、migemoをインストールしておきます。
$ sudo apt-get install migemo
次に、migemoのパッケージをダウンロードして来ます。CVSから拾ってくると、直っているらしいのですが、良くわからないので、オリジナルパッケージをダウンロードしました。~/Downloadsに置きます。
展開して、ソースを修正する所までです。
$ cd $ mkdir migemo $ cd migemo $ tar xvzf ~/Downloads/migemo-0.40.tar.gz $ cd migemo-0.40 $ cp -p migemo.el.in migemo.el.in.orig $ vi migemo.el.in
migemo.el.inの378行目からを修正します。migemo-backwardで、検索すると良いと思います。defun部分を、次の様に書き換えます。そのまま掲載させていただきます。
(defun migemo-backward (word &optional bound noerror count) (interactive "sSearch backward: \nP\nP") (if (delq 'ascii (find-charset-string word)) (setq migemo-search-pattern word) (setq migemo-search-pattern (migemo-search-pattern-get word))) (if (null migemo-do-isearch) (search-backward-regexp migemo-search-pattern bound noerror count) (or (and (not (eq this-command 'isearch-repeat-backward)) (not (get-char-property (point) 'invisible (current-buffer))) (or (and (looking-at migemo-search-pattern) (match-beginning 0)) (and (not (eq (point) (point-min))) (progn (forward-char -1) (and (looking-at migemo-search-pattern) (match-beginning 0)))))) (search-backward-regexp migemo-search-pattern bound noerror count))))
ビルドして、インストールします。ソースを展開した時と、同じディレクトリにいる物とします。
$ ./configure --prefix=/usr --with-emacs=/usr/bin/emacs \ > --with-lispdir=/usr/share/emacs23/site-lisp/migemo \ > --with-rubydir=/usr/lib/ruby/1.8 $ make $ sudo make install
migemo.elの置き場所が、apt-getした物と違っている様なので、手で移動します。
移動する必要性などは、わかりません。
$ sudo mv /usr/share/emacs23/site-lisp/migemo/migemo.el \ > /usr/share/emacs/site-lisp/migemo/
これで、バックワード検索も大丈夫になりました。
なお、.emacsに次の設定を入れておくのをお忘れなく。
;; migemo (load "migemo")
ちなみに、Emacs23を使っています。
と、記事を書き終わってから確認してみると、Ubuntu 9.10とMac OS Xでも、同じエラーが出ていました。気がつかなかった…。
実は、Ctrl-rでバックワード検索を開始してエラーになった後で、もう一度Ctrl-rを押すと、きちんと検索できるのです。
会社で、Meadowのmigemoパッケージを見てみたら、パッチが当たっていました。
ディスカッション
コメント一覧
まだ、コメントがありません