22.2.3 Примеры использования interactive

Вот несколько примеров interactive:

(defun foo1 ()              ; foo1 не принимает аргументов,
    (interactive)           ;   просто продвигается на два слова.
    (forward-word 2))
     ⇒ foo1

(defun foo2 (n)             ; foo2 принимает один аргумент,
    (interactive "^p")      ;   который является числовым префиксом.
                            ; при shift-select-mode,
                            ;   активирует или расширяет регион.
    (forward-word (* 2 n)))
     ⇒ foo2

(defun foo3 (n)             ; foo3 принимает один аргумент,
    (interactive "nCount:") ;   который считывается из Minibuffer.
    (forward-word (* 2 n)))
     ⇒ foo3

(defun three-b (b1 b2 b3)
  "Выбрать три существующих буфера.
Поместить их в три окна, выбрав последнее."
    (interactive "bBuffer1:\nbBuffer2:\nbBuffer3:")
    (delete-other-windows)
    (split-window (selected-window) 8)
    (switch-to-buffer b1)
    (other-window 1)
    (split-window (selected-window) 8)
    (switch-to-buffer b2)
    (other-window 1)
    (switch-to-buffer b3))
     ⇒ three-b
(three-b "*scratch*" "declarations.texi" "*mail*")
     ⇒ nil