検索エンジンから来た人に注意このマニュアルは、Emacs ver. 19.x 向けのマニュアルを Mule 2.x の開発にあたり邦訳したものを、 電脳外道学会がミラーリングしているものであり、旧版製品パラノイアであるところの椅子人の趣味によるものです。しかしながら、現在の Emacs の主流は ver. 20 以降であり、ver 19.x と ver 20.x とでは、仕様の違いが少なからずあります。 したがって、一般的な Emacs ユーザーにとっては、
このマニュアルと実機の動作とが符合しない場合があります。
|
過去の世界に住むユーザたちへ、Emacsバージョン18へのダウングレード情報 を送ります。Emacs 19特有の機能が沢山なくなって、素晴らしくも単純になった 世界をお楽しみください。
Emacsバージョン18でなくなったり変更された関数は以下のとおりです。
delete、member、indirect-function、
map-y-or-n-p、invocation-nameは削除されました。
readは、バッファから読み込むときにシンボルの終端文字をスキップす
るようになりました。たとえば、ポイント位置に続いて`foo(bar)'が存在
するバッファでreadを使うと、fooが返され、ポイントは開かっ
この後に移動します。つまり、`(bar)'をそのままの形で正確に読むことは
できません。
この単純化のおかげで、入力ストリーム関数はオプション引数を取らずに済むよ
うになりました。Emacs 18では、入力ストリームは引数を取らず必ず次の文字を
返します。
documentationは引数を一つだけ、
関数documentation-propertyは二つだけ取るようになりました。
randomはオプション引数nを取らなくなりました。
after-load-alistと関数eval-after-loadは削除されました。
autoloadはキーマップの自動ロードをサポートしなくなりました。
format関数で`%S'は使えなくなりました。prin1-to-string
からはオプション引数noescapが削除されました。print-levelも
削除されました。
eval-when-compileとeval-and-compileはなくなりまし
た。compile-defunコマンドもなくなりました。
bytecodeを起動することによって動くようになりました。この
関数はバイトコード・インタプリタを起動します。
Emacs 18では浮動小数点数を扱う組込みの機能はなくなりました。代わりに浮 動小数点数をエミュレートする使いやすいLispプログラムがあります。でも、こ れを使うにはプログラムを書かなきゃなりませんが。
なんにせよ、マクロや関数、述語などは浮動小数点数の存在を考える必 要がなくなりました。
string-to-number、述語floatp、変数
float-output-formatはなくなりました。
float、truncate、floor、ceil、
round、logbはなくなりました。同様にabs、cos、
sin、tan、acos、asin、atan、
exp、expt、log10、log、sqrtもなくな
りました。
format関数は、浮動小数点数の印字を指示する`%e'、`%f'、
`%g'を扱わなくなりました。messageについても同様です。
kill-new
とkill-appendはなくなりました。
interprogram-paste-functionと
interprogram-cut-functionはEmacs 18では削除されました。
それから、Transient Markモードがなくなったのでmark-activeと
deactivate-markは必要なくなりました。フック
activate-mark-hookとdeactivate-mark-hookも削除されました。
kill-region関数は読出し専用のバッファでは使用できなくなり
ました。compare-buffer-substringsとcurrent-kill関数は削
除されました。
overwrite-mode-binaryは削除されました。
move-to-columnはcolumn引数だけしか取らないようにな
りました。
tだけを返すようになりました。この
変更は、search-forward、search-backward、
word-search-forward、word-search-backward、
re-search-forward、re-search-backwardについてなされました。
match-beginningとmatch-endを使
用できる`\(...\)'ペアの数は10個までとなりました。さらに、
save-match-dataがなくなったので、一致データの保存には明示的に
unwind-protectを使用する必要があります。
translate-regionはなくなりました。
before-change-function、after-change-function、
first-change-hookはなくなりました。
insert-abbrev-table-descriptionの2番目の引数は必須になりました。
テキスト属性はなくなりました。
ファイル関連の関数の多くが削除されたり単純化されました。変更内容の概略を 以下に示します。
file-accessible-directory-p、file-truename、
make-directory、delete-directory、
set-visited-file-modtime、
write-region、write-contents-hooks、after-save-hook、
directory-abbrev-alist、abbreviate-file-name、
set-default-file-modes、default-file-modes、
unix-syncはなくなりました。
read-file-nameの"initial file name"引数はなくなりました。
file-attributesから返されるリストの12番目の要素は削除さ
れました。
directory-filesは常にファイル名のリストをソートするようになりまし
た。滅茶苦茶な順番に並んだファイル名を見せるのはユーザ・フレンドリーじゃ
ないですから。
write-contents-hooks、local-write-file-hooksはなくな
りました。
魔法のファイル名はなくなりました。すまん。マジックポイントを全部使い切っ てしまったのだ。
Emacs 18ではフレームは一つしかありません。フレーム関連の関数は全て削除 されました。
大艦巨砲主義を排し、EmacsとXとの関係を単純化することに成功しました。
mouse-positionとset-mouse-position、特殊形式
track-mouseはなくなりました。
x-set-selection、x-set-cut-buffer、
x-open-connection、x-close-current-connectionはEmacs
Lisp 18から全て削除されました。
x-display-screens、x-server-version、
x-server-vendor、x-display-pixel-height、
x-display-mm-height、x-display-pixel-width、
x-display-mm-width、x-display-backing-store、
x-display-save-under、x-display-planes、
x-display-visual-class、x-display-color-p、
x-display-color-cellsです。
x-no-window-managerと関数x-synchronize、
x-get-resourceが削除されました。
x-display-color-pは、名前がx-color-display-pに変更され
ました。x-color-defined-pは廃止されました。
x-popup-menuの1番目の引数としてキーマップを渡すことはできなくな
りました。
x-rebind-keyとx-rebind-keysは削除されました。
x-parse-geometryは廃止されました。
Emacs 18がある今となっては、Emacs 19のウィンドウはいろいろな面で時代遅 れとなりました。我々はウィンドウ操作について全面的な見直しを行ない、以下 のような変更を施しました。
window-at、window-minibuffer-p、
set-window-dedicated-p、
window-dedicated-p、coordinates-in-window-p、
walk-windows、window-endを削除
しました。
pop-up-frames、pop-up-frame-function、
other-window-scroll-buffer、display-buffer-functionを削除
しました。
minibuffer-windowの引数としてフレームを渡すことはできなくなりま
した。この関数はミニバッファが使用しているウィンドウを返します。
next-windowと
previous-windowはall-frames引数を受け取らなくなりました。
get-lru-window、get-largest-window、
get-buffer-window、get-buffer-windowも、調べるべきフレー
ムは一つしかないので、オプション引数all-framesを取らなくなりまし
た。
line-number-modeと
line-number-display-limitは削除されました。
baud-rateは変数ではなく関数になりました。
nil一つだけを引数にしてmessageを呼ぶことはできなくなりまし
た。つまり、ミニバッファの内容が確実に表示されているようにすることはでき
なくなりました。
temp-buffer-show-functionの名前は
temp-buffer-show-hookに変更されました。
force-mode-line-updateは削除されました。代わりに以下のような
式を使用してください。
(set-buffer-modified-p (buffer-modified-p))
入力イベントについてもっとも大きな変更は、ファンクション・キーとマウス に関するイベントが削除されたことでしょう。入力イベントは文字だけになった のです。それに、文字は0から127の範囲のコードとメタ・ビットとで表現される ようになりました。これらの変更により、単純化が非常に大きく進みました。
define-keyやglobal-set-key、read-key-sequence、
local-set-keyのような関数はEmacs 19では文字列またはベクタを受
けつけるようになっていましたが、文字列のみを受けつけるようになりました。
single-key-description、
key-descriptionなど)もベクタは受けつけずに文字列だけを受けつける
ようになりました。
read-event、event-start、posn-window、
posn-point、posn-col-row、posn-timestamp、
scroll-bar-scale、event-endは文字イベントには意味がないの
で削除されました。
unread-command-eventsとlast-event-frame変数は削除されま
した。
this-command-keysとrecent-keysは常に文字列を返すように
なりました。同様に、キーボード・マクロの定義にもベクタは使用できず、文字
列のみしか使用できなくなりました。
read-from-minibufferとcompleting-readのオプション引数
histを削除しました。
read-from-minibufferなどのミニバッファでの入力関数のinitial
引数として、(string . position)の形式のコンス・セルを
渡すことはできなくなりました。
read-no-blanks-inputのinitial引数は必須になりました。
enable-recursive-minibuffersは意味を持たなくなりました。
set-input-modeの3番目の引数(meta)は削除されました。代わ
りに、変数meta-flagが追加されました。この変数をtにセットす
るとMetaキーが有効になり、nilなら無効になります。変数
meta-flagで指定できるのはこの2種類だけです。
extra-keyboard-modifiersも削除されました。
keyboard-translate、変数num-input-keysと
function-key-mapは削除されました。
skip-syntax-forward、skip-syntax-backward、
forward-commentは削除されました。
words-include-escapesはなくなりました。
set-standard-case-table、standard-case-table、
current-case-table、set-case-table、
set-case-syntax-pairは削除されました。
buffer-modified-tickと
generate-new-buffer-nameは削除されました。
buffer-disable-undoの名前はbuffer-flush-undoに変更され
ました。わかりやすい名前になった、でしょ?
other-bufferは引数を一つしか取らないようになり
ました。
rename-bufferの引数として、すでに存在しているバッファ名を
渡すことはできなくなりました。
list-buffers-directoryは削除されました。
kill-buffer-hookはなくなりました。
kill-all-local-variablesは、常にカレント・バッファにローカル
な変数全てを消し去るようになりました。
nil
になるようになりました。
default-boundpは削除されました。
defconstとdefvarは、変数がカレント・バッファにロー
カルなとき、変数のグローバルな値ではなくローカルな値をセットするようになり
ました。
call-processとcall-process-regionはサブプロセスの終了ステー
タスを返さないようになりました。きっとうまく実行されますよ。信じてくださ
い。
signal-processは削除されました。
tq-create、tq-enqueue、tq-closeは削除されました。
current-time、current-time-zone、run-at-time、
cancel-timerは削除されました。
current-time-stringはオプション引数を取らなくなりました。
sit-forとsleep-forはミリ秒単位での時間指定を行なう
ためのオプション引数を取らないようになりました。また、sit-forの
三つ目のオプション引数nodispはなくなりました。
accept-process-output関数の二つ目と三つ目のオプション引数はな
くなりました。引数はプロセス一つだけになりました。
debug-on-errorの値が非nilならば、エ
ラーの種類によらず必ずデバッガが立ち上がるようになりました。
command-debug-statusと関数backtrace-frameは削除さ
れました。
memory-limitは削除されました。
garbage-collectの返すリ
ストは浮動小数点数に関する情報を含まないようになりました。
auto-save-hook、pre-abbrev-expand-hook、
pre-command-hook、post-command-hook
は削除されました。
revert-buffer-insert-file-contents-functionは削除されました。
add-hookも削除され、フックの追加は手で行なわなくてはな
らなくなりました。確実な動作を望むのであれば、フック変数の設定には旧来の
方法を取ってください。つまり、関数のリストではなく、関数一つだけを入れる
ようにしてください。まあ、強制するわけではありませんが。
lisp-indent-hookの名前はlisp-indent-functionに変更
されました。
auto-fill-functionの名前はauto-fill-hookに変更され
ました。
blink-paren-functionの名前はblink-paren-hookに変更され
ました。
temp-buffer-show-functionの名前は
temp-buffer-show-hookに変更されました。
Go to the first, previous, next, last section, table of contents.