Emacs24を使うようになってからしたこといくつか


以前Emacsのxwidgetブランチをビルドしてから、メインでEmacs24を使うようになりました。

Emacs上でふつーの(WebKit)ブラウザを表示する

ちなみに現在のEmacs安定版は23.3。Emacs24は来年春のリリース(多分)に向けてpretest版がリリースされているだけなので、まだまだ動作検証がされていないものもたくさんあります。

Emacs pretest 24.0.90

とはいっても世の中には先端マニアや、私のように最新の機能を使いたいという方もいるかと思います。

というわけで、今回はEmacs24を使って困ったこととか講じた対策とかを書いておくことにしました。といってもかなりgdgdなので、あまり参考にならない可能性大です。

ツールバーやメニューバーが非表示にならない。

Emacs23までは、(menu-bar-mode nil)としておくとメニューバーなどが非表示となっていましたが、Emacs24ではできなくなっています。(menu-bar-mode 0)とすることで、非表示することができます。

Emacs 24 とツールバー – とりあえず暇だったし何となく始めたブログ

descbinds-anything.elの表示がおかしい

descbinds-anything.elで表示される候補の順番がEmacs24ではおかしくなっています。これはdescribe-bindingsで表示されるバッファのフォーマットが変更されているため発生しているようです。 次のパッチをあてることで改善されると思います。

--- descbinds-anything.el.orig  2011-11-06 15:57:19.405565905 +0900
+++ descbinds-anything.el   2011-09-30 19:04:22.838392514 +0900
@@ -140,7 +140,10 @@
            (point)
            (line-end-position)))
      (setq header-p nil)
-     (forward-line 3))
+      (if (= emacs-major-version 24)
+          (forward-line 2)
+        (forward-line 3))
+      )
     ((= (char-after) ?\f)
      (push (cons header (nreverse section)) sections)
      (setq section nil)

popwinのウィンドウ分割が正しく動作しない。

ウィンドウが変な風に分割されます。最新のpopwin.elではEmacs24に対応してますので、更新することでこの問題は解消されると思います。 m2ym/popwin-el – GitHub

mcomplete.el使ってM-xするとエラーが出る

M-xするとエラーが出てどうにもできません。これも同じくアップデートされていますので、更新すれば問題は解消されます。 bmonkey’s Emacs page

Wanderlustを使うと、ウィンドウの移動とかがおかしい

ウィンドウが移動できなかったり削除できなかったりします。めんどくさくなったので標準搭載されているGnusに乗りかえました。mewもあまり相性が良くないようですね。

Twitter / @kazu_yamamoto: Mew が Emacs 24 で動かない。せっかく …
Emacs 24.0.90 pretest

elscreenをインストールして、シェルからファイル名を引数にしてEmacsを開くと 「command-line-1: Symbol’s value as variable is void: file-count」とゆーエラーが出てファイルが開けない

ファイルがコマンドラインから開けません。Emacs立ちあげてから開くという鉄則を習慣づければよいのですが、やっぱり面倒です。
が、この問題がなかなか解決しません。全く解決になっていないですが、フックさせている関数をフックさせないようにして逃げてます。どなたか解決策ご存知の方いたら教えてください。

--- elscreen.el.orig
+++ elscreen.el
@@ -1705,9 +1705,10 @@
       (setq column 0)
       t)

-    (add-hook 'after-init-hook (lambda ()
-                                 (add-to-list 'command-line-functions
-                                              'elscreen-e21-command-line t))))
+    ;; (add-hook 'after-init-hook (lambda ()
+    ;;                              (add-to-list 'command-line-functions
+    ;;                                           'elscreen-e21-command-line t)))
+    )

   (static-when elscreen-on-xemacs
     (defadvice command-line-1 (around elscreen-xmas-command-line-1 activate)

hiwin.elを使うと落ちる

これが、今回一番厄介でした。どうやら原因は、hiwin.elが多少強引にoverlayをのせていることである気がします。これを解消するには大幅にコードを直さないといけないようで今のところ保留してます。 かなりお気に入りのelispなのでいずれ改造にチャレンジしたいところです。

Emacs側でバッファローカルに背景色が変えられればかなり楽なんですけどね。。。

Emacs24,ふつーに使えます。

手を加えないといけないところはありますが、ほとんどが解決策があるものやすでにEmacs24に対応しているものもあり、Emacs24への移行は以外とスムーズでした。ただ、window.elにはかなり手が加わっているようなので、ウィンドウ操作系のelispをお使いの方は気をつけた方が良いと思います。

感動したのが、多くのelispがすでにEmacs24へ対応していること。特にmcomplete.elは私がEmacsを使いはじめた時からずーっと使わせてもらっているelispなのですごく嬉しかったです。開発者の皆さん、本当にありがとうございます。

それでは素敵な先端ライフを!!

Emacsテクニックバイブル ~作業効率をカイゼンする200の技~

著者/訳者:るびきち

出版社:技術評論社( 2010-08-03 )

定価:

Amazon価格:¥ 19,731

単行本(ソフトカバー) ( 384 ページ )

ISBN-10 : 4774143278

ISBN-13 : 9784774143279


やさしいEmacs‐Lisp講座

著者/訳者:広瀬 雄二

出版社:カットシステム( 2011-06 )

定価:

Amazon価格:¥ 3,024

単行本 ( 281 ページ )

ISBN-10 : 4877832718

ISBN-13 : 9784877832711


  • Tetsuo Tsukamoto

    「バッファローカルに背景色が変えられれば」はもしかして ccc.el の守備範囲でしょうか。
    いままでカーソル色しか試したことがないので自信がありませんが…

    • myuhe

      コメントありがとうございます!! ccc.el試してみましたが、複数のウィンドウを開いている時にフォーカスのあたっているウィンドウの色だけを変更することはできないみたいです。 希望する機能を実現するにはオーバーレイを使うしかないのかなーと思っています。