insert-buffer 関数の本体
¶insert-buffer 関数の本体は、or
式と let 式という2つの主要な部分で構成されています。or 式の目的は、引数 buffer
が単なるバッファ名ではなく、バッファにバインドされていることを確実にすることです。let
式の本体には、もう一方のバッファを現在のバッファにコピーするコードが含まれています。
概略を述べると、これら2つの式は次のようにinsert-buffer関数に当てはまります。
(defun insert-buffer (buffer)
"documentation..."
(interactive "*bInsert buffer: ")
(or ...
...
(let (varlist)
body-of-let... )
or 式によって、引数 buffer
がバッファ名ではなくバッファにバインドされることがどのように保証されるのかを理解するには、まず or
関数を理解する必要があります。
その前に、馴染みのある形で処理内容が分かるように、関数のこの部分を if
を使って書き直しておきましょう。