最近導入されたいくつかの関数について、簡単にまとめます。
carcdrcar はリストの最初の要素を、cdr
はリストの2番目以降の要素を返します。
例えば:
(car '(1 2 3 4 5 6 7))
⇒ 1
(cdr '(1 2 3 4 5 6 7))
⇒ (2 3 4 5 6 7)
conscons は、第1引数を第2引数の先頭に付加することでリストを構築します。
例えば:
(cons 1 '(2 3 4))
⇒ (1 2 3 4)
funcallfuncall は第1引数を関数として評価します。残りの引数をその第1引数に渡します。
nthcdrリストに対して CDR n 回処理を行った結果を返します。いわば「残りの残り」といったところです。
例えば:
(nthcdr 3 '(1 2 3 4 5 6 7))
⇒ (4 5 6 7)
setcarsetcdrsetcar はリストの最初の要素を変更し、setcdr はリストの2番目以降の要素を変更します。
例えば:
(setq triple (list 1 2 3))
(setcar triple '37)
triple
⇒ (37 2 3)
(setcdr triple '("foo" "bar"))
triple
⇒ (37 "foo" "bar")
progn各引数を順に評価し、最後の引数の値を返してください。
例えば:
(progn 1 2 3 4)
⇒ 4
save-restriction現在のバッファで適用されているナローイングがあればそれを記録し、引数を評価した後にそのナローイングを復元する。
search-forward文字列を検索し、見つかった場合はポイントを移動します。正規表現を使用する場合は、同様の re-search-forward を使用してください。(正規表現のパターンと検索に関する説明については、正規表現による検索を参照してください。)
search-forward と re-search-forward は4つの引数を取ります:
nil またはエラーメッセージを返す。
kill-regiondelete-and-extract-regioncopy-region-as-killkill-region
は、ポイントとマークの間のテキストをバッファから切り出してキルリングに保存するため、ヤンクすることで復元できます。
copy-region-as-kill
は、ポイントとマークの間にあるテキストをキルリングにコピーし、そこからヤンクして取得できます。この機能は、バッファからテキストを切り出したり削除したりすることはありません。
delete-and-extract-region は、バッファから point と mark
の間のテキストを削除し、破棄します。復元することはできません。(これは対話型コマンドではありません。)