Next: Prefix Command Arguments, Previous: Waiting, Up: Command Loop [Contents][Index]
Lisp´Ø¿ô¤¬Æ°ºîÃæ¤ËC-g¤òÂǤĤȡ¢ Emacs¤¬¤Ê¤Ë¤ò¹Ô¤Ã¤Æ¤¤¤Æ¤âÃæÃǤò°ú¤µ¯¤³¤·¤Þ¤¹¡£ ¤Ä¤Þ¤ê¡¢¤â¤Ã¤È¤âÆâ¦¤Î³èÀ¤Ê¥³¥Þ¥ó¥É¥ë¡¼¥×¤ËÀ©¸æ¤¬Ìá¤ê¤Þ¤¹¡£
¥³¥Þ¥ó¥É¥ë¡¼¥×¤¬¥¡¼¥Ü¡¼¥ÉÆþÎϤòÂԤäƤ¤¤ë¤È¤¤ËC-g¤òÂǤäƤ⡢
ÃæÃǤò°ú¤µ¯¤³¤µ¤º¤Ë¡¢ÉáÄÌ¤ÎÆþÎÏʸ»ú¤È¤·¤ÆÆ°ºî¤·¤Þ¤¹¡£
¤â¤Ã¤È¤âñ½ã¤Ê¾ì¹ç¡¢C-g¤Ï¥³¥Þ¥ó¥Ékeyboard-quit
¤ò¼Â¹Ô¤·¤Þ¤¹¤¬¡¢
¤½¤Î¸ú²Ì¤ÏÃæÃǤò°ú¤µ¯¤³¤¹¤³¤È¤Ç¤¹¤«¤é¡¢ÆÉ¼Ô¤Ë¤Ï¶èÊ̤Ǥ¤Ê¤¤¤Ï¤º¤Ç¤¹¡£
¤·¤«¤·¡¢¥×¥ì¥Õ¥£¥Ã¥¯¥¹¥¡¼¤Ë³¤±¤ÆC-g¤òÂǤĤȡ¢
¤½¤ì¤é¤ÏÁȤ߹ç¤ï¤µ¤ì¤ÆÌ¤ÄêµÁ¥¡¼¤Ë¤Ê¤ê¤Þ¤¹¡£
¤½¤Î¸ú²Ì¤Ï¡¢Á°ÃÖ°ú¿ô¤ò´Þ¤á¤Æ¥×¥ì¥Õ¥£¥Ã¥¯¥¹¥¡¼¤ò¼è¤ê¾Ã¤·¤Þ¤¹¡£
¥ß¥Ë¥Ð¥Ã¥Õ¥¡¤Ç¤Ï¡¢C-g¤Ë¤ÏÊ̤ÎÄêµÁ¤¬¤¢¤Ã¤Æ¡¢ ¥ß¥Ë¥Ð¥Ã¥Õ¥¡¤ò¶¯À©½ªÎ»¤µ¤»¤Þ¤¹¡£ ¤Ä¤Þ¤ê¡¢¥ß¥Ë¥Ð¥Ã¥Õ¥¡¤«¤éÈ´¤±½Ð¤ÆÃæÃǤ·¤Þ¤¹¡£ ¡Êñ¤ËÃæÃǤ·¤¿¤Î¤Ç¤Ï¡¢¥ß¥Ë¥Ð¥Ã¥Õ¥¡Æâ¤Ç ¥³¥Þ¥ó¥É¥ë¡¼¥×¤ËÌá¤ë¤À¤±¤Ç¤¢¤ë¡£¡Ë ¥³¥Þ¥ó¥É¥ë¡¼¥×¤ÇÆþÎϤòÆÉ¤ó¤Ç¤¤¤ë¤È¤¤ËC-g¤ÇľÀÜÃæÃǤ·¤Ê¤¤Íýͳ¤Ï¡¢ ¤³¤Î¤è¤¦¤Ë¥ß¥Ë¥Ð¥Ã¥Õ¥¡¤Ç¤½¤Î°ÕÌ£¤òºÆÄêµÁ¤Ç¤¤ë¤è¤¦¤Ë¤¹¤ë¤¿¤á¤Ç¤¹¡£ ¥ß¥Ë¥Ð¥Ã¥Õ¥¡¤Ç¤Ï¡¢¥×¥ì¥Õ¥£¥Ã¥¯¥¹¥¡¼¤Ë³¤¯C-g¤ÏºÆÄêµÁ¤·¤Æ¤Ê¤¯¡¢ ¥×¥ì¥Õ¥£¥Ã¥¯¥¹¥¡¼¤ÈÁ°ÃÖ°ú¿ô¤ò¼è¤ê¾Ã¤¹¤È¤¤¤¦Ä̾ï¤Î¸ú²Ì¤ò»ý¤Á¤Þ¤¹¡£ C-g¤¬¤Ä¤Í¤ËľÀÜÃæÃǤ¹¤ë¤Î¤Ç¤Ï¡¢¤³¤Î¤è¤¦¤Ë¤¹¤ë¤³¤È¤µ¤¨ÉÔ²Äǽ¤Ç¤¹¡£
C-g¤¬Ä¾ÀܤËÃæÃǤ¹¤ë¤È¤¤Ë¤Ï¡¢
ÊÑ¿ôquit-flag
¤Ët
¤òÀßÄꤷ¤Þ¤¹¡£
Emacs¤Ï¤³¤ÎÊÑ¿ô¤òŬÀڤʤȤ¤Ë¸¡ºº¤·nil
¤Ç¤Ê¤¤¤ÈÃæÃǤ·¤Þ¤¹¡£
¤·¤¿¤¬¤Ã¤Æ¡¢quit-flag
¤Ënil
°Ê³°¤òÀßÄꤹ¤ë¤È
ÃæÃǤò°ú¤µ¯¤³¤·¤Þ¤¹¡£
C¤Î¥³¡¼¥É¤Î¥ì¥Ù¥ë¤Ç¤Ï¡¢¤É¤³¤Ç¤âÃæÃǤǤ¤ë¤ï¤±¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£
quit-flag
¤ò¸¡ºº¤·¤Æ¤¤¤ëÆÃÊ̤ʲսê¤À¤±¤Ç¤¹¡£
¤³¤Î¤è¤¦¤Ë¤¹¤ë¤Î¤Ï¡¢¤½¤ì°Ê³°¤Î²Õ½ê¤ÇÃæÃǤ¹¤ë¤È
Emacs¤ÎÆâÉô¾õÂÖ¤ËÌ·½â¤ò¤¤¿¤¹²ÄǽÀ¤¬¤¢¤ë¤«¤é¤Ç¤¹¡£
ÃæÃǤϰÂÁ´¤Ê¾ì½ê¤Þ¤Ç±ä´ü¤µ¤ì¤ë¤Î¤Ç¡¢
ÃæÃǤˤè¤Ã¤ÆEmcas¤¬¥¯¥é¥Ã¥·¥å¤¹¤ë¤³¤È¤Ï¤¢¤ê¤Þ¤»¤ó¡£
read-key-sequence
¤äread-quoted-char
¤Ê¤É¤Î¤¢¤ë¼ï¤Î´Ø¿ô¤Ï¡¢
ÆþÎϤòÂԤäƤ¤¤ë¾ì¹ç¤Ç¤¢¤Ã¤Æ¤âÃæÃǤò´°Á´¤ËÍÞÀ©¤·¤Þ¤¹¡£
ÃæÃǤ¹¤ë¤«¤ï¤ê¤Ë¡¢C-g¤ÏÆþÎϤȤ·¤ÆÆ¯¤¤Þ¤¹¡£
read-key-sequence
¤Î¾ì¹ç¡¢¥³¥Þ¥ó¥É¥ë¡¼¥×¤Ë¤ª¤¤¤Æ
C-g¤ÎÆÃÊ̤ʤդë¤Þ¤¤¤ò¤â¤¿¤é¤·¤Þ¤¹¡£
read-quoted-char
¤Î¾ì¹ç¡¢
C-q¤ÇC-g¤ò¥¯¥©¡¼¥È¤Ç¤¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
ÊÑ¿ôinhibit-quit
¤Ënil
°Ê³°¤ÎÃͤò«Çû¤¹¤ë¤³¤È¤Ç
Lisp´Ø¿ô¤Î¤¢¤ëÉôʬ¤Ë¤ª¤¤¤ÆÃæÃǤòÍÞÀ©¤Ç¤¤Þ¤¹¡£
¤½¤¦¤¹¤ë¤È¡¢C-g¤Ï¤½¤ì¤Ç¤â¤¤¤Ä¤â¤É¤ª¤ê
quit-flag
¤òt
¤Ë¤·¤Þ¤¹¤¬¡¢
¤½¤ÎÄ̾ï¤Î·ë²Ì¤Ç¤¢¤ëÃæÃǤÏÍÞÀ©¤µ¤ì¤Þ¤¹¡£
ºÇ½ªÅª¤Ë¥Õ¥©¡¼¥àlet
¤Î½ª¤ê¤Ç«Çû¤¬²ò½ü¤µ¤ì¤ë¤Ê¤É¤·¤Æ
inhibit-quit
¤¬ºÆÅÙnil
¤Ë¤Ê¤ê¤Þ¤¹¡£
¤½¤Î»þÅÀ¤Ç¤âquit-flag
¤¬nil
°Ê³°¤Ç¤¢¤ë¤È
Í׵ᤷ¤¿ÃæÃǤ¬¤¿¤À¤Á¤Ëµ¯¤³¤ê¤Þ¤¹¡£
¤³¤Î¤Õ¤ë¤Þ¤¤¤Ï¡¢¥×¥í¥°¥é¥à¤Î¡ØÎ׳¦Îΰè¡Ù¤Ç¤Ï
ÃæÃǤ¬µ¯¤³¤é¤Ê¤¤¤³¤È¤òÊݾڤ¹¤ëÍýÁÛŪ¤Ê¤â¤Î¤Ç¤¹¡£
¡Êread-quoted-char
¤Ê¤É¤Î¡Ë¤¢¤ë¼ï¤Î´Ø¿ô¤Ç¤Ï¡¢
C-g¤ÏÆÃÊ̤˽èÍý¤µ¤ìÃæÃǤò°ú¤µ¯¤³¤·¤Þ¤»¤ó¡£
inhibit-quit
¤Ët
¤ò«Çû¤·¤ÆÆþÎϤòÆÉ¤ß¼è¤ê¡¢
inhibit-quit
¤¬ºÆÅÙnil
¤Ë¤Ê¤ë¤Þ¤¨¤Ë
quit-flag
¤ònil
¤Ë¤¹¤ë¤³¤È¤Ç¤½¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£
¤³¤ì¤òread-quoted-char
¤ÎÄêµÁ¤Î°Ê²¼¤ÎÈ´¿è¤Ç¼¨¤·¤Þ¤·¤ç¤¦¡£
ºÇ½é¤ÎÆþÎÏʸ»ú¤Î¤¢¤È¤ÇÄ̾ï¤ÎÃæÃǤòµö¤¹ÊýË¡¤â¼¨¤·¤Æ¤¤¤Þ¤¹¡£
(defun read-quoted-char (&optional prompt)
"…documentation…"
(let ((message-log-max nil) done (first t) (code 0) char)
(while (not done)
(let ((inhibit-quit first)
…)
(and prompt (message "%s-" prompt))
(setq char (read-event))
(if inhibit-quit (setq quit-flag nil)))
…ÊÑ¿ôcode
¤ËÀßÄꤹ¤ë…)
code))
inhibit-quit
¤¬nil
¤Ç¤¢¤ì¤Ð¡¢
¤³¤ÎÊÑ¿ô¤¬nil
°Ê³°¤Ç¤¢¤ë¤ÈEmacs¤Ï¤¿¤À¤Á¤ËÃæÃǤ¹¤ë¡£
C-g¤Ï¡¢inhibit-quit
¤Ë´Ø¤ï¤é¤º¡¢
Ä̾quit-flag
¤Ënil
°Ê³°¤òÀßÄꤹ¤ë¡£
¤³¤ÎÊÑ¿ô¤Ï¡¢quit-flag
¤¬nil
°Ê³°¤ÎÃͤËÀßÄꤵ¤ì¤¿¤È¤¤Ë
Emacs¤¬ÃæÃǤ¹¤Ù¤¤«¤É¤¦¤«¤ò·èÄꤹ¤ë¡£
inhibit-quit
¤¬nil
°Ê³°¤Ç¤¢¤ë¤È¡¢
quit-flag
¤ËÆÃÊ̤ʰÕÌ£¤Ï¤Ê¤¤¡£
¤³¤Î´Ø¿ô¤Ï(signal 'quit nil)
¤Çquit
¾ò·ï¤òÄÌÃΤ¹¤ë¡£
¤³¤ì¤ÏÃæÃÇ¤ÈÆ±¤¸¤³¤È¤ò¹Ô¤¦¡£
¡ÊErrors¤Îsignal
¤ò»²¾È¡£¡Ë
ÃæÃǤȤ·¤Æ»È¤¦C-g°Ê³°¤ÎÆÃ¼ìʸ»ú¤ò»È¤¨¤Þ¤¹¡£
Terminal Input¤Î´Ø¿ôset-input-mode
¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£