Next: Generic Commands, Previous: Interactive Codes, Up: Defining Commands [Contents][Index]

#### 20.2.3 Examples of Using `interactive`

Here are some examples of `interactive`:

    (defun foo1 ()              ; foo1 takes no arguments,
        (interactive)           ;   just moves forward two words.
        (forward-word 2))
         ⇒ foo1

    (defun foo2 (n)             ; foo2 takes one argument,
        (interactive "^p")      ;   which is the numeric prefix.
                                ; under shift-select-mode,
                                ;   will activate or extend region.
        (forward-word (* 2 n)))
         ⇒ foo2

    (defun foo3 (n)             ; foo3 takes one argument,
        (interactive "nCount:") ;   which is read with the Minibuffer.
        (forward-word (* 2 n)))
         ⇒ foo3

    (defun three-b (b1 b2 b3)
      "Select three existing buffers.
    Put them into three windows, selecting the last one."

        (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