Next: , Previous: Recursive Editing, Up: Command Loop   [Contents][Index]


20.12 ¥³¥Þ¥ó¥É¤ò¶Ø»ß¤¹¤ë

¥³¥Þ¥ó¥É¤ò¶Ø»ß¤¹¤ë¤È¤Ï¡¢ ¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤Þ¤¨¤Ë¥æ¡¼¥¶¡¼¤Î³Îǧ¤òɬÍפȤ¹¤ë¤è¤¦¤Ë ¥³¥Þ¥ó¥É¤Ë°õ¤òÉÕ¤±¤ë¤³¤È¤Ç¤¹¡£ ¥³¥Þ¥ó¥É¤ò¶Ø»ß¤¹¤ë¤Î¤Ï¡¢ ½é¿´¼Ô¤Ëº®Íð¤ò¤â¤¿¤é¤¹²ÄǽÀ­¤Î¤¢¤ë¥³¥Þ¥ó¥É¤ËÂФ·¤Æ¤ä¡¢ ¥³¥Þ¥ó¥É¤Î¸íÍѤòËɤ°¤¿¤á¤Ç¤¹¡£

¥³¥Þ¥ó¥É¤ò¶Ø»ß¤¹¤ëÄã¥ì¥Ù¥ë¤Îµ¡¹½¤Ï¡¢ ¥³¥Þ¥ó¥É¤ÎLisp¥·¥ó¥Ü¥ë¤Ënil°Ê³°¤Î°À­disabled¤òÆþ¤ì¤ë¤³¤È¤Ç¤¹¡£ ¤³¤ì¤é¤Î°À­¤Ï¡¢Ä̾¥æ¡¼¥¶¡¼¤Î.emacs¥Õ¥¡¥¤¥ë¤Ë¤Æ ¤Ä¤®¤Î¤è¤¦¤ÊLisp¼°¤ÇÀßÄꤷ¤Þ¤¹¡£

(put 'upcase-region 'disabled t)

¿ô¸Ä¤Î¥³¥Þ¥ó¥É¤Ë¤Ï¥Ç¥Õ¥©¥ë¥È¤Ç¤³¤ì¤é¤Î°À­¤¬¤¢¤ê¤Þ¤¹¤«¤é¡¢ .emacs¥Õ¥¡¥¤¥ë¤Ç°À­¤ò¼è¤ê½ü¤­¤Þ¤¹¡£

°À­disabled¤ÎÃͤÏʸ»úÎó¤Ç¤¢¤ê¡¢ ¥³¥Þ¥ó¥É¤ò¶Ø»ß¤·¤¿¤³¤È¤òɽ¤¹¥á¥Ã¥»¡¼¥¸¤Ç¤¹¡£ ¤¿¤È¤¨¤Ð¤Ä¤®¤Î¤È¤ª¤ê¤Ç¤¹¡£

(put 'delete-region 'disabled
     "Text deleted this way cannot be yanked back!\n")

¶Ø»ß¤·¤¿¥³¥Þ¥ó¥É¤òÂÐÏÃŪ¤Ëµ¯Æ°¤¹¤ë¤È¤É¤¦¤Ê¤ë¤«¤Ë¤Ä¤¤¤Æ ¾Ü¤·¤¯¤ÏSee »ÈÍѶػߥ³¥Þ¥ó¥É in GNU Emacs ¥Þ¥Ë¥å¥¢¥ë¡£ ¥³¥Þ¥ó¥É¤ò¶Ø»ß¤·¤Æ¤â¡¢Lisp¥×¥í¥°¥é¥à¤«¤é´Ø¿ô¤È¤·¤Æ¸Æ¤Ó½Ð¤¹¤³¤È¤Ë¤Ï ¤Ê¤ó¤Î±Æ¶Á¤â¤¢¤ê¤Þ¤»¤ó¡£

¥³¥Þ¥ó¥É: enable-command command

¤³¤ì°Ê¹ß¡¢ÆÃÊ̤ʳÎǧ¤Ê¤·¤Ëcommand¤ò¼Â¹Ô²Äǽ¤Ë¤¹¤ë¡£ ¤µ¤é¤Ë¡Ê¥æ¡¼¥¶¡¼¤¬Î»¾µ¤¹¤ì¤Ð¡Ë¥æ¡¼¥¶¡¼¤Î.emacs¥Õ¥¡¥¤¥ë¤òÊѹ¹¤·¤Æ¡¢ ¾­Íè¤Î¥»¥Ã¥·¥ç¥ó¤Ç¤â¤½¤Î¤è¤¦¤Ë¤¹¤ë¡£

¥³¥Þ¥ó¥É: disable-command command

¤³¤ì°Ê¹ß¡¢command¤Î¼Â¹Ô¤Ë¤ÏÆÃÊ̤ʳÎǧ¤òɬÍפȤ¹¤ë¤è¤¦¤Ë¤¹¤ë¡£ ¤µ¤é¤Ë¡Ê¥æ¡¼¥¶¡¼¤¬Î»¾µ¤¹¤ì¤Ð¡Ë¥æ¡¼¥¶¡¼¤Î.emacs¥Õ¥¡¥¤¥ë¤òÊѹ¹¤·¤Æ¡¢ ¾­Íè¤Î¥»¥Ã¥·¥ç¥ó¤Ç¤â¤½¤Î¤è¤¦¤Ë¤¹¤ë¡£

Variable: disabled-command-hook

¶Ø»ß¤·¤¿¥³¥Þ¥ó¥É¤ò¥æ¡¼¥¶¡¼¤¬ÂÐÏÃŪ¤Ëµ¯Æ°¤·¤¿¤È¤­¡¢ ¶Ø»ß¤·¤¿¥³¥Þ¥ó¥É¤Î¤«¤ï¤ê¤Ë¤³¤Î¥Î¡¼¥Þ¥ë¥Õ¥Ã¥¯¤ò¼Â¹Ô¤¹¤ë¡£ ¥Õ¥Ã¥¯´Ø¿ô¤Ç¤Ï¡¢this-command-keys¤ò»È¤Ã¤Æ ¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤¿¤á¤Ë¥æ¡¼¥¶¡¼¤¬¤Ê¤Ë¤òÆþÎϤ·¤¿¤«¤òÄ´¤Ù¡¢ ¥³¥Þ¥ó¥É¤½¤Î¤â¤Î¤òõ¤·½Ð¤»¤ë¡£ see Hooks¡£

¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢disabled-command-hook¤Ë¤Ï¡¢ ¥æ¡¼¥¶¡¼¤Ë½èÍý¤ò¿Ê¤á¤ë¤«¤É¤¦¤«¤òÌ䤤¹ç¤ï¤»¤ë´Ø¿ô¤¬Æþ¤Ã¤Æ¤¤¤ë¡£