Previous: Quoted Character Input, Up: Reading Input   [Contents][Index]


20.6.4 ¤½¤Î¾¤Î¥¤¥Ù¥ó¥ÈÆþÎϵ¡Ç½

ËÜÀá¤Ç¤Ï¡¢¥¤¥Ù¥ó¥È¤ò½èÍý¤»¤º¤Ë¡Ø¤Þ¤¨¤â¤Ã¤ÆÇÁ¤­¸«¡Ù¤¹¤ëÊýË¡¡¢ ½èÍýÂÔ¤Á¤ÎÆþÎϤÎ̵ͭ¤Î¸¡ººÊýË¡¡¢½èÍýÂÔ¤Á¤ÎÆþÎϤÎÇË´þÊýË¡¤Ë¤Ä¤¤¤Æ½Ò¤Ù¤Þ¤¹¡£ ´Ø¿ôread-passwd¤â»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡Êsee Reading a Password¡Ë¡£

Variable: unread-command-events

¤³¤ÎÊÑ¿ô¤Ï¡¢¥³¥Þ¥ó¥ÉÆþÎϤȤ·¤ÆÆÉ¤Þ¤ì¤ë¤³¤È¤ò ÂԤäƤ¤¤ë¥¤¥Ù¥ó¥È¤Î¥ê¥¹¥È¤òÊÝ»ý¤¹¤ë¡£ ¥¤¥Ù¥ó¥È¤Ï¥ê¥¹¥È¤Ë¸½¤ì¤ë½ç¤Ë»È¤ï¤ì¡¢»È¤ï¤ì¤ë¤È1¤Ä1¤Ä¼è¤ê½ü¤«¤ì¤ë¡£

´Ø¿ô¤Ç¥¤¥Ù¥ó¥È¤òÆÉ¤ó¤À¤¢¤È¤Ë¤½¤ì¤ò»È¤ï¤Ê¤¤¾ìÌ̤¬¤¢¤ë¤¿¤á¡¢ ¤³¤ÎÊÑ¿ô¤¬É¬Íפˤʤ롣 ¤³¤ÎÊÑ¿ô¤Ë¥¤¥Ù¥ó¥È¤òÊݸ¤¹¤ë¤È¡¢ ¥³¥Þ¥ó¥É¥ë¡¼¥×¤ä¥³¥Þ¥ó¥ÉÆþÎϤòÆÉ¤à´Ø¿ô¤Ë¤è¤Ã¤ÆÄ̾ï¤É¤ª¤ê½èÍý¤µ¤ì¤ë¡£

¤¿¤È¤¨¤Ð¡¢¿ôÃÍÁ°ÃÖ°ú¿ô¤ò¼Â¸½¤¹¤ë´Ø¿ô¤Ï¡¢Ç¤°Õ¸Ä¿ô¤Î¿ô»úʸ»ú¤òÆÉ¤ß¼è¤ë¡£ ¿ô»úʸ»ú¤Ç¤Ê¤¤¥¤¥Ù¥ó¥È¤ò¤ß¤Ä¤±¤¿¤é¡¢¤½¤Î¥¤¥Ù¥ó¥È¤òÆÉ¤ßÌᤷ¤Æ¡¢ ¥³¥Þ¥ó¥É¥ë¡¼¥×¤¬Ä̾ï¤É¤ª¤ê¤ËÆÉ¤á¤ë¤è¤¦¤Ë¤¹¤ëɬÍפ¬¤¢¤ë¡£ ƱÍͤˡ¢¥¤¥ó¥¯¥ê¥á¥ó¥¿¥ë¥µ¡¼¥Á¤Ç¤Ï¡¢¤³¤Îµ¡Ç½¤ò»È¤Ã¤Æ õº÷¤Ë¤ª¤¤¤Æ¤Ï°ÕÌ£¤ò»ý¤¿¤Ê¤¤¥¤¥Ù¥ó¥È¤òÆÉ¤ßÌ᤹¡£ ¤Ê¤¼¤Ê¤é¡¢¤½¤Î¤è¤¦¤Ê¥¤¥Ù¥ó¥È¤Ïõº÷¤ò½ªÎ»¤µ¤»¡¢ Ä̾ï¤É¤ª¤ê¼Â¹Ô¤µ¤ì¤ëɬÍפ¬¤¢¤ë¤«¤é¤Ç¤¢¤ë¡£

unread-command-events¤ËÆþ¤ì¤é¤ì¤ë¤è¤¦¤Ë ¥­¡¼Î󤫤饤¥Ù¥ó¥È¤ò³Î¼Â¤Ë´Êñ¤Ë¼è¤ê½Ð¤¹ÊýË¡¤Ï listify-key-sequence¤ò»È¤¦¤³¤È¤Ç¤¢¤ë¡Êsee Strings of Events¡Ë¡£

¤â¤Ã¤È¤âºÇ¶á¤ËÆÉ¤ßÌᤷ¤¿¥¤¥Ù¥ó¥È¤¬ºÇ½é¤ËºÆÅÙÆÉ¤Þ¤ì¤ë¤è¤¦¤Ë¡¢ ÉáÄ̤Ϥ³¤Î¥ê¥¹¥È¤ÎÀèÆ¬¤Ë¥¤¥Ù¥ó¥È¤òÄɲ乤롣

Function: listify-key-sequence key

¤³¤Î´Ø¿ô¤Ï¡¢Ê¸»úÎó¤ä¥Ù¥¯¥È¥ë¤Ç¤¢¤ëkey¤ò¸Ä¡¹¤Î¥¤¥Ù¥ó¥È¤Î¥ê¥¹¥È¤ËÊÑ´¹¤¹¤ë¡£ ¤³¤Î·ë²Ì¤Ïunread-command-events¤ËÆþ¤ì¤é¤ì¤ë¡£

Variable: unread-command-char

¤³¤ÎÊÑ¿ô¤Ï¡¢¥³¥Þ¥ó¥ÉÆþÎϤȤ·¤ÆÆÉ¤Þ¤ì¤ëʸ»ú¤òÊÝ»ý¤¹¤ë¡£ ÃÍ¡Ö-1¡×¤Ï¡¢¡Ø¶õ¡Ù¤ò°ÕÌ£¤¹¤ë¡£

¤³¤ÎÊÑ¿ô¤Ï¤Û¤È¤ó¤ÉÇÑ¤ì¤Æ¤ª¤ê¡¢ ¤«¤ï¤ê¤Ëunread-command-events¤ò»È¤¦¤Ù¤­¤Ç¤¢¤ë¡£ Emacs 18ÈǰÊÁ°¸þ¤±¤Ë½ñ¤«¤ì¤¿¥×¥í¥°¥é¥à¤ò°·¤¦¤¿¤á¤À¤±¤Ë¸ºß¤¹¤ë¡£

Function: input-pending-p

¤³¤Î´Ø¿ô¤Ï¡¢¸½ºß¡¢¥³¥Þ¥ó¥ÉÆþÎϤ¬¤¢¤ë¤«¤É¤¦¤«¤òÄ´¤Ù¤ë¡£ ¤¿¤À¤Á¤ËÊ֤뤬¡¢ÆþÎϤ¬¤¢¤ì¤ÐÃÍt¤ò¡¢ ¤µ¤â¤Ê¤±¤ì¤Ðnil¤òÊÖ¤¹¡£ ÆþÎϤ¬¤Ê¤¤¤Î¤Ët¤òÊÖ¤¹¤³¤È¤¬µ©¤Ë¤¢¤ë¡£

Variable: last-input-event
Variable: last-input-char

¤³¤ÎÊÑ¿ô¤Ï¡¢¥³¥Þ¥ó¥É¤Î°ìÉô¤È¤·¤Æ¡¢¤¢¤ë¤¤¤Ï¡¢Lisp¥×¥í¥°¥é¥à¤¬ÌÀ¼¨Åª¤Ë ÆÉ¤ß¼è¤Ã¤¿ºÇ¸å¤ÎüËöÆþÎÏ¥¤¥Ù¥ó¥È¤òµ­Ï¿¤¹¤ë¡£

°Ê²¼¤ÎÎã¤Ç¡¢Lisp¥×¥í¥°¥é¥à¤Ïʸ»ú1¡ÊASCII¥³¡¼¥É49¡Ë¤òÆÉ¤à¡£ ¤½¤ì¤¬last-input-event¤ÎÃͤˤʤ뤬¡¢ ¡Ê¤³¤Î¼°¤òɾ²Á¤¹¤ë¥³¥Þ¥ó¥É¤ÏC-x C-e¤È²¾Äꤹ¤ë¤Î¤Ç¡Ë last-command-event¤ÎÃͤÏC-e¤Î¤Þ¤Þ¤Ç¤¢¤ë¡£

(progn (print (read-char))
       (print last-command-event)
       last-input-event)
     -| 49
     -| 5
     ⇒ 49

Emacs 18ÈǤȤθߴ¹À­¤Î¤¿¤á¤Ë¡¢ÊÌ̾last-input-char¤¬Â¸ºß¤¹¤ë¡£

Function: discard-input

¤³¤Î´Ø¿ô¤ÏüËöÆþÎϥХåե¡¤ÎÆâÍÆ¤òÇÑ´þ¤·¡¢ ÄêµÁÃæ¤Î¥­¡¼¥Ü¡¼¥É¥Þ¥¯¥í¤ò¼è¤ê¾Ã¤¹¡£ ¤³¤ì¤Ïnil¤òÊÖ¤¹¡£

°Ê²¼¤ÎÎã¤Ç¡¢¥Õ¥©¡¼¥à¤òɾ²Á¤·¤Ï¤¸¤á¤Æ¤«¤é¡¢¥æ¡¼¥¶¡¼¤Ï²¿Ê¸»ú¤«ÂǤġ£ sleep-for¤¬ÂÔµ¡¤ò½ª¤¨¤ë¤È¡¢ discard-input¤ÏÂÔµ¡Ãæ¤ËÂǤ¿¤ì¤¿Ê¸»ú¤ò¤¹¤Ù¤ÆÇË´þ¤¹¤ë¡£

(progn (sleep-for 2)
       (discard-input))
     ⇒ nil