次: , 前: Current Buffer, 上: Buffers


26.3 バッファ名

各バッファには、文字列で一意な名前があります。 バッファに作用するほとんどの関数は、 引数としてバッファかバッファ名を受け付けます。 buffer-or-nameという名前の引数はこの種のものであり、 当該引数が文字列でもバッファでもないとエラーを通知します。 bufferという名前の引数は 実際のバッファオブジェクトである必要があり、名前ではだめです。

短命で一般にはユーザーが関心を示さないバッファの名前は空白で始まり、 コマンドlist-buffersbuffer-menuはそれらを表示しません。 さらに、空白で始まる名前のバッファでは、 アンドゥ情報の記録も最初は禁止してあります。 Undoを参照してください。

— 機能: buffer-name &optional buffer

この関数は、bufferの名前を文字列で返す。 bufferを指定しないと、デフォルトはカレントバッファである。

buffer-namenilを返す場合、 bufferが削除されたことを意味する。 see Killing Buffers

          (buffer-name)
               => "buffers.texi"
          
          (setq foo (get-buffer "temp"))
               => #<buffer temp>
          (kill-buffer foo)
               => nil
          (buffer-name foo)
               => nil
          foo
               => #<killed buffer>
     
— コマンド: rename-buffer newname &optional unique

この関数は、カレントバッファをnewnameと改名する。 newnameが文字列でなかったり、 当該名のバッファがすでに存在していると、エラーを通知する。 関数はnewnameを返す。

通常、newnameがすでに使われていると、 rename-bufferはエラーを通知する。 しかし、uniquenil以外であると、 newnameを未使用な名前に修正する。 対話的に呼び出した場合、数値前置引数を指定すると uniquenil以外になる。

このコマンドの1つの用途は、 バッファ`*shell*'を別の名前に改名して、 同じ`*shell*'という名前で別のシェルを作れるようにすることである。

— 機能: 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も参照。

— 機能: generate-new-buffer-name starting-name

この関数は、新たなバッファ向けの一意な名前を返すが、バッファは作成しない。 名前はstarting-nameで始まり、 `<...>'で囲った数を追加することで、 どのバッファでも現在使っていない名前を作成する。

Creating Buffersの関連する関数generate-new-bufferを参照。