検索エンジンから来た人に注意このマニュアルは、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.