Next: GNU Free Documentation License, Previous: Packaging, Up: Top [Contents][Index]
時代に逆らって生きるユーザーのために、以下はEmacsバージョン23.4へのダウングレードに関する情報です。Emacs 24.5機能の不在による結果としての偉大なる単純さを、ぜひ堪能してください。
lexical-binding変数と、evalのlexical引数は削除されました。フォームdefvarとdefconstは、すべての変数がダイナミックになったので、もはや変数をダイナミックとマークすることはありません。
ダイナミックバインディングだけをもつことが、Emacs拡張の精神に適合しています。任意のEmacsコードによる定義済み変数へのアクセスを許容する方が、混乱を最小にするのです。とはいえ、あなたのプログラムが理解しにくくなるのを避けるためのヒントは、Dynamic Binding Tipsを参照してください。
nil省略してマイナーモード関数を呼び出しても、マイナーモードは無条件でに有効になりません。かわりにマイナーモードのオンとオフが切り替わります。これはインタラクティブな呼び出し時の挙動なので、行うのは簡単です。これの1つの欠点は、フックからマイナーモードを有効にするのが、より面倒になることです。これを行うためには、以下のようなことをする必要があります
(add-hook 'foo-hook (lambda () (bar-mode 1)))
または、turn-on-bar-modeを定義して、それをフックから呼び出してください。
prog-modeは、削除されました。プログラミング関連のモードの慣習に適合させるためにこれを使うかわりに、あなたのモードがこれらの慣習にしたがうよう、明示的に保証するべきです。Major Mode Conventionsを参照してください。
bidi-string-mark-left-to-rightは削除されました。さらに、双方向表示に関連する、他の多くの関数と変数が削除されました。U+200E("left-to-right
mark")のような、Unicodeの方向文字は表示で特別な効果をもたなくなります。
window-parentのような関数、windowの配置に関連するwindowパラメーター、およびwindowローカルなバッファーリストはすべて削除されました。ウィンドウのリサイズに関する関数は、それらがあまりに小さければ、ウィンドウを削除できます。
バッファー表示を制御する、“アクション関数”の機能は、display-buffer-overriding-actionと関連する変数、display-bufferのaction引数、および他の関数が削除されました。Emacsがバッファーを表示するウィンドウを選択する方法をプログラム的に制御するためには、pop-up-framesと他の変数を正しく組み合わせてバインドする方法です。
completion-extra-properties、補完関数にたいするmetadataアクションフラグ、“補完カテゴリー(completion
categories)”の排除により簡略化されました。Lispプログラマーは、補完のチューニング手法の選択肢を見つけるために途方に暮れるようなことは少なくなりましたが、あるパッケージが自身のニーズをこの合理的なインターフェースが満たさないことを見い出したときには、特別な補完機能を自身で実装しなければなりません。
copy-directoryは、目標ディレクトリーが既存であろうとなかろうと、同じように振る舞います。目標ディレクトリーが存在すれば、1つ目のディレクトリーをサブディレクトリーとしてコピーするのではなく、1つ目のディレクトリーの内容を、目標ディレクトリーにコピーします(サブディレクトリーは再帰的に処理される)
delete-fileとdelete-directoryにたいするtrash引数は削除されました。変数delete-by-moving-to-trashは、注意して使用しなければならなくなりました。これが非nilのときは常に、delete-fileとdelete-directoryにたいするすべての呼び出しで、trashが使用されます。
copy-fileのpreserve-selinux-context引数は削除されました。backup-bufferのリターン値は、もはやSELinuxファイルコンテキストにたいするエントリーをもちません。
(type item-name cache . binding)
cacheエントリーは、同じコマンドを呼び出すキーボードキーシーケンスを記録するために、Emacsにより内部的に使用されます。Lispプログラマーは決してこれを使用するべきではありません。
gnutlsライブラリーは削除され、それに併なって関数open-network-streamが簡略化されました。暗号化されたネットワークを望むLispプログラムは、starttlsやgnutls-cliのような、外部プログラムを呼び出さなければならなくなります。