Next: , Previous: , Up: Buffers   [Contents][Index]


26.3 Buffer Names

それぞれのバッファーは、文字列で表される一意な名前をもちます。バッファーにたいして機能する関数の多くは、引数としてバッファーとバッファー名の両方を受け入れます。buffer-or-nameという名前の引数がこのタイプで、それが文字列でもバッファーでもない場合は、エラーがシグナルされます。bufferという名前の引数は、名前ではなく実際のバッファーオブジェクトでなければなりません。

短命でユーザーが関心をもたないようなバッファーは名前がスペースで始まり、それらについてはlist-buffersおよびbuffer-menuコマンドは無視します(が、ファイルをvisitしているようなバッファーは無視されない)。スペースで始まる名前は、初期状態ではアンドゥ情報の記録も無効になっています。Undoを参照してください。

Function: buffer-name &optional buffer

この関数は、bufferの名前を文字列としてリターンする。bufferのデフォルトは、カレントバッファーである。

buffer-namenilをリターンした場合、それはbufferがkillされていることを意味する。Killing Buffersを参照のこと。

(buffer-name)
     ⇒ "buffers.texi"

(setq foo (get-buffer "temp"))
     ⇒ #<buffer temp>
(kill-buffer foo)
     ⇒ nil
(buffer-name foo)
     ⇒ nil
foo
     ⇒ #<killed buffer>
Command: rename-buffer newname &optional unique

この関数は、カレントバッファーをnewnameにリネームする。newnameが文字列でない場合は、エラーをシグナルする。

newnameがすでに使用済みの場合、rename-bufferは通常はエラーをシグナルする。しかし、uniqueが非nilの場合は、未使用の名前となるようにnewnameを変更する。interactiveに呼び出した場合は、プレフィックス数引数によりuniqueに非nilを指定できる(この方法により、コマンドrename-uniquelyは実装される)。

この関数は、実際にバッファーに与えられた名前をリターンする。

Function: get-buffer buffer-or-name

この関数は、buffer-or-nameで指定されたバッファーをリターンする。buffer-or-nameが文字列で、かつそのような名前のバッファーが存在しない場合、値はnilになる。buffer-or-nameがバッファーの場合は、与えられたバッファーをリターンする。これは有用とは言い難く、引数は通常は名前である。たとえば:

(setq b (get-buffer "lewis"))
     ⇒ #<buffer lewis>
(get-buffer b)
     ⇒ #<buffer lewis>
(get-buffer "Frazzle-nots")
     ⇒ nil

Creating Buffersの関数get-buffer-createも参照のこと。

Function: generate-new-buffer-name starting-name &optional ignore

この関数は、新たなバッファーにたいして一意となるような名前をリターンする — が、バッファーは作成しない。この名前はstarting-nameで始まり、内部が数字であるような‘<…>’を追加することにより、すべてのバッファーでカレントで使用されていない名前を生成する。この数字は2で始まり、既存バッファーの名前でない名前になる数字まで増加される。

オプション引数ignoreが非nilの場合、それは潜在的にバッファー名であるような文字列であること。これは、たとえそれが(通常は拒絶されるであろう)既存バッファーの名前であっても、試みられた場合は、潜在的に受容可能なバッファーとして考慮することを意味する。つまり‘foo’、‘foo<2>’、‘foo<3>’、‘foo<4>’という名前のバッファーが存在する場合、

(generate-new-buffer-name "foo")
     ⇒ "foo<5>"
(generate-new-buffer-name "foo" "foo<3>")
     ⇒ "foo<3>"
(generate-new-buffer-name "foo" "foo<6>")
     ⇒ "foo<5>"

Creating Buffersの関連する関数generate-new-bufferも参照のこと。