Go to the first, previous, next, last section, table of contents.

特殊フォーム

いくつかの primitive 関数コールは、制御構造を定義したり、関数やマクロで定義す ることのできない変数バインディングを行なう特殊フォームであるとされます。 (通常 の)特殊フォームの概念との整合を取るため、("特殊フォーム" という言葉は必要とさ れる少数の特別なフォームのために取っておかれ) ほとんどの primitiveは"関数" で あると記述されます。

quote                        セクション 3.3 [quote]、ページ 30 参照
function                     セクション 10.3 [function]、ページ 89 参照
defvar                       セクション 9.2 [defvar]、ページ 73 参照
defconst                     セクション 9.2 [defconst]、ページ 75 参照
defun                        セクション 10.2 [defun]、ページ 87 参照
defmacro                     セクション 11.2 [defmacro]、ページ 87 参照
let                          セクション 9.3 [let]、ページ 76 参照
let*                         セクション 9.3 [let*]、ページ 77 参照
setq                         セクション 9.4 [setq]、ページ 78 参照
setq-default                 セクション 9.5 [setq-default]、ページ 81 参照
interactive                  チャプター 17 [interactive]、ページ 138 参照
progn                        セクション 12.3 [progn]、ページ 99 参照
prog1                        セクション 12.3 [prog1]、ページ 99 参照
prog2                        セクション 12.3 [prog2]、ページ 100 参照
while                        セクション 12.4 [while]、ページ 100 参照
if                           セクション 12.5 [if]、ページ 101 参照
cond                         セクション 12.5 [cond]、ページ 101 参照
and                          セクション 12.5 [and]、ページ 102 参照
or                           セクション 12.5 [or]、ページ 103 参照
catch                        セクション 12.6 [catch]、ページ 103 参照
unwind-protect               セクション 12.6 [unwind-protect]、ページ 105 参照
condition-case               セクション 12.7 [condition-case]、ページ 108 参照
with-output-to-temp-buffer   セクション 26.7 [with-output-to-temp-buffer]、ページ 253 参照
save-excursion               セクション 27.4 [save-excursion]、ページ 265 参照
save-window-excursion        セクション 25.11 [save-window-excursion]、ページ 248 参照
save-restrinction            セクション 24.7 [save-restriction]、ページ 233 参照

----------------

CN: setq, if, catch は、GNU Emacs Lisp と Common Lisp の両方で特殊フォームであ るとされます。 defun は、GNU Emacs Lisp では特殊フォームですが、Common Lisp で はマクロです。 save-excursion は、GNU Emacs Lisp では特殊フォームですが、 Common Lisp には存在しません。throw は、Common Lisp では (multiple value を

throw できなくてはいけないため) 特殊フォームですが、(multiple value を持たな い) GNU Emacs Lisp では関数になっています。

----------------


Go to the first, previous, next, last section, table of contents.