Next: Command Loop Info, Previous: Defining Commands, Up: Command Loop [Contents][Index]
¥³¥Þ¥ó¥É¥ë¡¼¥×¤Ç¤Ï¡¢¥¡¼Îó¤ò¥³¥Þ¥ó¥É¤ØÊÑ´¹¤·½ª¤¨¤ë¤È¡¢
´Ø¿ôcommand-execute
¤òÍѤ¤¤Æ¤½¤Î¥³¥Þ¥ó¥É¤òµ¯Æ°¤·¤Þ¤¹¡£
¥³¥Þ¥ó¥É¤¬´Ø¿ô¤Ç¤¢¤ì¤Ð¡¢command-execute
¤Ï°ú¿ô¤òÆÉ¤ß¼è¤ê¡¢
¥³¥Þ¥ó¥É¤ò¸Æ¤Ó½Ð¤¹call-interactively
¤ò¸Æ¤Ó¤Þ¤¹¡£
ÆÉ¼Ô¼«¿È¤¬¤³¤ì¤é¤Î´Ø¿ô¤ò¸Æ¤Ó½Ð¤·¤Æ¤â¤«¤Þ¤¤¤Þ¤»¤ó¡£
object¤¬ÂÐÏÃŪ¸Æ¤Ó½Ð¤·¤ËŬ¤·¤Æ¤¤¤ì¤Ð¡¢
¤Ä¤Þ¤ê¡¢object¤¬¥³¥Þ¥ó¥É¤Ç¤¢¤ì¤Ðt
¤òÊÖ¤¹¡£
¤µ¤â¤Ê¤±¤ì¤Ðnil
¤òÊÖ¤¹¡£
ÂÐÏÃŪ¸Æ¤Ó½Ð¤·¤¬²Äǽ¤Ê¥ª¥Ö¥¸¥§¥¯¥È¤Ë¤Ï¡¢
¡Ê¥¡¼¥Ü¡¼¥É¥Þ¥¯¥í¤È¤·¤Æ°·¤ï¤ì¤ë¡Ëʸ»úÎó¤ä¥Ù¥¯¥È¥ë¡¢
¥È¥Ã¥×¥ì¥Ù¥ë¤Çinteractive
¤ò¸Æ¤Ó½Ð¤·¤Æ¤¤¤ë¥é¥à¥À¼°¡¢
¤½¤Î¤è¤¦¤Ê¥é¥à¥À¼°¤ò¥³¥ó¥Ñ¥¤¥ë¤·¤¿¥Ð¥¤¥È¥³¡¼¥É´Ø¿ô¥ª¥Ö¥¸¥§¥¯¥È¡¢
ÂÐÏÃŪ¡Êautoload
¤Î4ÈÖÌܤΰú¿ô¤¬nil
°Ê³°¡Ë
¤ÈÀë¸À¤µ¤ì¤¿¼«Æ°¥í¡¼¥É¥ª¥Ö¥¸¥§¥¯¥È¡¢
°ìÉô¤Î´ðËÜ´Ø¿ô¤¬´Þ¤Þ¤ì¤ë¡£
¥·¥ó¥Ü¥ë¤Î´Ø¿ôÄêµÁ¤¬commandp
¤òËþ¤¿¤»¤Ð¡¢
¥·¥ó¥Ü¥ë¤âcommandp
¤òËþ¤¿¤¹¡£
¥¡¼¤ä¥¡¼¥Þ¥Ã¥×¤Ï¥³¥Þ¥ó¥É¤Ç¤Ï¤Ê¤¤¡£ ¤½¤ì¤é¤Ï¥³¥Þ¥ó¥É¤òõ¤¹¤¿¤á¤Ë»È¤ï¤ì¤ë¡Êsee Keymaps¡Ë¡£
commandp
¤Î¼ÂÍÑŪ¤Ê»ÈÍÑÎã¤Ë¤Ä¤¤¤Æ¤Ï¡¢
Accessing Documentation¤Îdocumentation
¤ò»²¾È¡£
¤³¤Î´Ø¿ô¤Ï¡¢ÂÐÏÃŪ¸Æ¤Ó½Ð¤·²Äǽ¤Ê´Ø¿ôcommand¤ò ¤½¤ÎÂÐÏûØÄê¤Ë½¾¤Ã¤Æ°ú¿ô¤òÆÉ¤ß¼è¤ê¸Æ¤Ó½Ð¤¹¡£ command¤¬´Ø¿ô¤Ç¤Ê¤«¤Ã¤¿¤ê¡¢ ÂÐÏÃŪ¤Ë¸Æ¤Ó½Ð¤»¤Ê¤¤¡Ê¤Ä¤Þ¤ê¡¢¥³¥Þ¥ó¥É¤Ç¤Ê¤¤¡Ë¾ì¹ç¤Ë¤Ï¡¢ ¥¨¥é¡¼¤òÄÌÃΤ¹¤ë¡£ ¥¡¼¥Ü¡¼¥É¥Þ¥¯¥í¡Êʸ»úÎó¤ä¥Ù¥¯¥È¥ë¡Ë¤Ï¥³¥Þ¥ó¥É¤È¤ß¤Ê¤¹¤¬¡¢ ¤½¤ì¤é¤Ï´Ø¿ô¤Ç¤Ê¤¤¤¿¤á¡¢¤³¤Î´Ø¿ô¤Ï¥¡¼¥Ü¡¼¥É¥Þ¥¯¥í¤ò¼õ¤±ÉÕ¤±¤Ê¤¤¡£
record-flag¤¬nil
°Ê³°¤Ç¤¢¤ë¤È¡¢
¥³¥Þ¥ó¥É¤È¤½¤Î°ú¿ô¤ò̵¾ò·ï¤Ë¥ê¥¹¥Ècommand-history
¤ËÄɲ乤롣
¤µ¤â¤Ê¤±¤ì¤Ð¡¢°ú¿ô¤òÆÉ¤à¤¿¤á¤Ë
¥³¥Þ¥ó¥É¤¬¥ß¥Ë¥Ð¥Ã¥Õ¥¡¤ò»È¤Ã¤¿¾ì¹ç¤Ë¤Î¤ßÄɲ乤롣
see Command History¡£
¤â¤·°ú¿ôkeys¤ò»ØÄꤹ¤ë¤È¡¢¥³¥Þ¥ó¥É¤¬¤½¤ì¤òµ¯Æ°¤·¤¿¥¤¥Ù¥ó¥È¤ò Ì䤤¹ç¤ï¤»¤¿¤È¤¤ËÍ¿¤¨¤ë¥¤¥Ù¥ó¥ÈÎó¤ò»ØÄꤹ¤ë¡£
¤³¤Î´Ø¿ô¤Ïcommand¤ò¼Â¹Ô¤¹¤ë¡£
°ú¿ôcommand¤Ïcommandp
¤òËþ¤¿¤¹¤³¤È¡£
¤Ä¤Þ¤ê¡¢ÂÐÏÃŪ¸Æ¤Ó½Ð¤·²Äǽ¤Ê´Ø¿ô¤«¥¡¼¥Ü¡¼¥É¥Þ¥¯¥í¤Ç¤¢¤ë¤³¤È¡£
command
¤¬Ê¸»úÎó¤ä¥Ù¥¯¥È¥ë¤Ç¤¢¤ë¤È¡¢
execute-kbd-macro
¤Ç¼Â¹Ô¤µ¤ì¤ë¡£
´Ø¿ô¤Ç¤¢¤ë¤È¡¢¾Êά²Äǽ¤Êrecord-flag¤È¤È¤â¤Ë´Ø¿ô¤ò
call-interactively
¤ËÅϤ¹¡£
¥·¥ó¥Ü¥ë¤Ï¡¢¤½¤Î´Ø¿ôÄêµÁ¤ò»È¤Ã¤Æ½èÍý¤¹¤ë¡£
autoload
¤ÇÄêµÁ¤µ¤ì¤¿¥·¥ó¥Ü¥ë¤Ï¡¢
ÂÐÏÃŪ¸Æ¤Ó½Ð¤·²Äǽ¤Ê´Ø¿ô¤ÈÀë¸À¤µ¤ì¤Æ¤¤¤ì¤Ð¥³¥Þ¥ó¥É¤È¤ß¤Ê¤¹¡£
¤½¤Î¤è¤¦¤ÊÄêµÁ¤Ç¤Ï¡¢»ØÄꤵ¤ì¤¿¥é¥¤¥Ö¥é¥ê¤ò¥í¡¼¥É¤·¤Æ¤«¤é
¥·¥ó¥Ü¥ë¤ÎÄêµÁ¤òºÆ¸¡ºº¤·¤Æ½èÍý¤¹¤ë¡£
¤â¤·°ú¿ôkeys¤ò»ØÄꤹ¤ë¤È¡¢¥³¥Þ¥ó¥É¤¬¤½¤ì¤òµ¯Æ°¤·¤¿¥¤¥Ù¥ó¥È¤ò Ì䤤¹ç¤ï¤»¤¿¤È¤¤ËÍ¿¤¨¤ë¥¤¥Ù¥ó¥ÈÎó¤ò»ØÄꤹ¤ë¡£
¤³¤Î´Ø¿ô¤Ïcompleting-read
¡Êsee Completion¡Ë¤ò»È¤Ã¤Æ
¥ß¥Ë¥Ð¥Ã¥Õ¥¡¤Ç¥³¥Þ¥ó¥É̾¤òÆÉ¤à¡£
¤½¤·¤Æcommand-execute
¤ò»È¤Ã¤Æ»ØÄꤵ¤ì¤¿¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¡£
¥³¥Þ¥ó¥É¤¬ÊÖ¤·¤¿Ãͤ¬execute-extended-command
¤ÎÃͤˤʤ롣
¥³¥Þ¥ó¥É¤¬Á°ÃÖ°ú¿ô¤òɬÍפȤ¹¤ë¾ì¹ç¡¢prefix-argument¤ÎÃͤò¼õ¤±¼è¤ë¡£
execute-extended-command
¤¬ÂÐÏÃŪ¤Ë¸Æ¤Ð¤ì¤¿¾ì¹ç¡¢
¸½ºß¤ÎÀ¸¤ÎÁ°ÃÖ°ú¿ô¤¬prefix-argument¤È¤·¤Æ»È¤ï¤ì¡¢
¤½¤ì¤¬¼Â¹Ô¤¹¤ë¥³¥Þ¥ó¥É¤ØÅϤµ¤ì¤ë¡£
execute-extended-command
¤ÏÄ̾ïM-x¤ËÄêµÁÉÕ¤±¤é¤ì¡¢
¤½¤Î¤¿¤á¡¢¥×¥í¥ó¥×¥È¤È¤·¤ÆÊ¸»úÎó‘M-x ’¤ò»È¤¦¡£
¡Êexecute-extended-command
¤òµ¯Æ°¤¹¤ë¤¿¤á¤Ë»È¤ï¤ì¤¿
¥¤¥Ù¥ó¥È¤ò¥×¥í¥ó¥×¥È¤Ë¤¹¤ë¤Ù¤¤Ç¤¢¤ë¤¬¡¢
¤½¤ì¤ò¼ÂÁõ¤¹¤ë¤Î¤Ï¼ê´Ö¤¬¤«¤«¤ë¡£¡Ë
¤â¤·Á°ÃÖ°ú¿ô¤ò»ØÄꤹ¤ë¤È¡¢¤½¤ÎÆâÍÆ¤â¥×¥í¥ó¥×¥È¤Î°ìÉô¤Ë¤Ê¤ë¡£
(execute-extended-command 1) ---------- Buffer: Minibuffer ---------- 1 M-x forward-word RET ---------- Buffer: Minibuffer ---------- ⇒ t
¤³¤Î´Ø¿ô¤Ï¡¢¤³¤ì¡Êinteractive-p
¤Î¸Æ¤Ó½Ð¤·¡Ë¤ò´Þ¤ó¤À´Ø¿ô¤¬
call-interactively
¤ÇÂÐÏÃŪ¤Ë¸Æ¤Ó½Ð¤µ¤ì¤ë¤Èt
¤òÊÖ¤¹¡£
¡ÊLisp¤«¤écall-interactively
¤¬¸Æ¤Ó½Ð¤µ¤ì¤Æ¤â¡¢
¥¨¥Ç¥£¥¿¥³¥Þ¥ó¥É¥ë¡¼¥×¤¬Ä¾ÀܸƤӽФ·¤Æ¤â°ã¤¤¤Ï¤Ê¤¤¡£¡Ë
¤³¤ì¤ò´Þ¤ó¤À´Ø¿ô¤¬Lisp¤Îɾ²Á¡Ê¤¢¤ë¤¤¤Ïapply
¤äfuncall
¡Ë¤Ç
¸Æ¤Ó½Ð¤µ¤ì¤¿¾ì¹ç¤Ï¡¢ÂÐÏÃŪ¸Æ¤Ó½Ð¤·¤Ç¤Ï¤Ê¤¤¡£
interactive-p
¤Î¤â¤Ã¤È¤â°ìÈÌŪ¤ÊÍÑÅӤϡ¢
¾ðÊó¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤¹¤ë¤«¤É¤¦¤«·è¤á¤ë¤³¤È¤Ç¤¹¡£
ÆÃÊ̤ÊÎã³°¤È¤·¤Æ¡¢¥¡¼¥Ü¡¼¥É¥Þ¥¯¥í¤ò¼Â¹ÔÃæ¤Ë¤Ï¤¤¤Ä¤Ç¤â¡¢
interactive-p
¤Ïnil
¤òÊÖ¤·¤Þ¤¹¡£
¤³¤ì¤Ï¾ðÊó¥á¥Ã¥»¡¼¥¸¤ò¾Ê¤¤¤Æ¥Þ¥¯¥í¤Î¼Â¹Ô¤ò®¤¯¤¹¤ë¤¿¤á¤Ç¤¹¡£
¤Ä¤®¤Î¤è¤¦¤Ë»È¤¤¤Þ¤¹¡£
(defun foo () (interactive) (when (interactive-p) (message "foo"))) ⇒ foo
(defun bar () (interactive) (setq foobar (list (foo) (interactive-p)))) ⇒ bar
;; M-x foo¤ÈÂǤÄ
-| foo
;; M-x bar¤ÈÂÇ¤Ä ;; ¤³¤ì¤Ï¤Ê¤Ë¤âɽ¼¨¤·¤Ê¤¤
foobar ⇒ (nil t)
¤³¤Î¼ï¤Î¤³¤È¤ò¹Ô¤¦Ê̤ÎÊýË¡¤Ï¡¢¥³¥Þ¥ó¥É¤ò
ÂÐÏÃŪ¸Æ¤Ó½Ð¤·¤Ç¤Ïnil
°Ê³°¤ÎÃͤˤʤë°ú¿ôprint-message
¤ò
¼è¤ë¤è¤¦¤Ë¤·¡¢¤½¤Î°ú¿ô¤¬nil
°Ê³°¤Ë¤Ê¤ë¤è¤¦¤Êinteractive
»ØÄê¤ò
»È¤¦¤³¤È¤Ç¤¹¡£
¤Ä¤®¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£
(defun foo (&optional print-message) (interactive "p") (when print-message (message "foo")))
‘p’¤ÇÍ¿¤¨¤é¤ì¤ë¿ôÃÍÁ°ÃÖ°ú¿ô¤Ï¤±¤Ã¤·¤Ænil
¤Ë¤Ê¤ê¤Þ¤»¤ó¡£