バッファは、文字を持つオブジェクトです。バッファは、ファイルを visit した時、 その内容を保持し、それをウィンドウに表示するのに用います。しかし、バッファは ファイルやウィンドウに対応していない場合もあります。複数のバッファが(同時に)存 在しえますが、ある 1つのバッファがカレントバッファとして示されます。 (ほとんど の)エディティングコマンドは、このカレントバッファに対し操作を行ないます。
バッファは(単純な)ストリングとして扱うこともできますが、 (実は)複雑なオブジェ クトであり、それほど手間をかけず改造を行なうこともできます。バッファ中の文字に 対し挿入、削除、コピー、等の操作を行なう関数が(多く)存在しています。
バッファに対し、何種類かの別のデータ構造を対応させることができます。バッファは (ローカルな)シンタックステーブル、(ローカルな) キーマップ、(ローカルな)変数の バインディングリストを持つことがあります。これらは(それぞれ)、そのグローバルな ものを上書きする形で有効になります。
バッファを Lisp reader で読み込むことはできません。バッファはバッファ名を持つ ハッシュノーテーションを print します。
(current-buffer) => #<buffer objects.texinfo>