Next: , Previous: Defining Variables, Up: Variables   [Contents][Index]


10.6 ÊÑ¿ô¤ò·øÏ´¤ËÄêµÁ¤¹¤ë¤¿¤á¤Î¥Ò¥ó¥È

¡ÊÆâÉô¤Ë«Çû¤ò´Þ¤à¤è¤¦¤Ê¥­¡¼¥Þ¥Ã¥×¤Ê¤É¤Î¡ËÊ£»¨¤ÊÃͤòÊÝ»ý¤¹¤ëÊÑ¿ô¤ò ÄêµÁ¤·½é´ü²½¤¹¤ë¤È¤­¤Ë¤Ï¡¢¤Ä¤®¤Î¤è¤¦¤Ë¡¢ Ãͤη׻»Á´ÂΤòdefvar¤ÎÆâÉô¤ËÆþ¤ì¤Æ¤ª¤¯¤Î¤¬ºÇÎɤǤ¹¡£

(defvar my-mode-map
  (let ((map (make-sparse-keymap)))
    (define-key map "\C-c\C-a" 'my-command)
    …
    map)
  docstring)

¤³¤ÎÊýË¡¤Ë¤Ï¡¢¤¤¤¯¤Ä¤«¤ÎÍøÅÀ¤¬¤¢¤ê¤Þ¤¹¡£ ¤Þ¤º¡¢¥Õ¥¡¥¤¥ë¤Î¥í¡¼¥ÉÃæ¤Ë¥æ¡¼¥¶¡¼¤¬ÃæÃǤ·¤¿¾ì¹ç¡¢ ÊÑ¿ô¤Ï½é´ü²½¤µ¤ì¤Ê¤¤¤«Àµ¤·¤¯½é´ü²½¤µ¤ì¤ë¤«¤Î¤¤¤º¤ì¤«¤Ç¤¢¤ê¡¢ ¤½¤ÎÃæ´Ö¾õÂ֤Ȥ¤¤¦¤³¤È¤Ï¤¢¤ê¤Þ¤»¤ó¡£ Âè2¤Ë¡¢ÊÑ¿ô¤ò¤¹¤Ç¤Ë½é´ü²½¤·¤¿¤¢¤È¤Ë¥Õ¥¡¥¤¥ë¤ò¥í¡¼¥É¤·Ä¾¤·¤Æ¤â¡¢ ÊÑ¿ô¤òÊѹ¹¤·¤Þ¤»¤ó¡£ ¡Ê¥­¡¼¤ò¥Ð¥¤¥ó¥É¤·Ä¾¤¹¤Ê¤É¤Î¡ËÆâÍÆ¤Î°ìÉô¤òÊѹ¹¤¹¤ë¤¿¤á¤Ë ¥æ¡¼¥¶¡¼¤¬¥Õ¥Ã¥¯¤ò¼Â¹Ô¤·¤¿¾ì¹ç¤Ê¤É¤Ë¤Ï¡¢¤³¤ì¤Ï½ÅÍפǤ¹¡£ Âè3¤Ë¡¢C-M-x¤Ç¥Õ¥©¡¼¥àdefvar¤òɾ²Á¤¹¤ë¤È¡¢ ¥Þ¥Ã¥×¤ò´°Á´¤Ë½é´ü²½¤·Ä¾¤»¤Þ¤¹¡£

¥Õ¥©¡¼¥àdefvar¤ÎÆâ¦¤Ë¿¤¯¤Î¥³¡¼¥É¤òÃÖ¤¯¤³¤È¤Ë¤Ï¡¢·çÅÀ¤¬1¤Ä¤¢¤ê¤Þ¤¹¡£ ÊÑ¿ô¤Î̾Á°¤ò»ØÄꤷ¤¿¹Ô¤«¤éÀâÌÀʸ»úÎó¤¬Î¥¤ì¤¹¤®¤Æ¤·¤Þ¤¦¤³¤È¤Ç¤¹¡£ ¤Ä¤®¤Î¤è¤¦¤Ë¤·¤Æ¤³¤ì¤ò°ÂÁ´¤ËËɤ²¤Þ¤¹¡£

(defvar my-mode-map nil
  docstring)
(if my-mode-map
    nil
  (let ((map (make-sparse-keymap)))
    (define-key my-mode-map "\C-c\C-a" 'my-command)
    …
    (setq my-mode-map map)))

¤³¤ì¤Ë¤Ï¡¢defvar¤ÎÆâ¦¤Ë½é´ü²½¤òÆþ¤ì¤¿¤È¤­¤ÈƱ¤¸ÍøÅÀ¤¬¤¢¤ê¤Þ¤¹¤¬¡¢ ÊÑ¿ô¤òºÆ½é´ü²½¤¹¤ë¤Ë¤Ï¡¢³Æ¥Õ¥©¡¼¥à¤½¤ì¤¾¤ì¤Ë¤Ä¤¤¤Æ C-M-x¤òÂǤÄɬÍפ¬¤¢¤ê¤Þ¤¹¡£

¤·¤«¤·¡¢¤Ä¤®¤Î¤è¤¦¤Ê¥³¡¼¥É¤Ï½ñ¤«¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£

(defvar my-mode-map nil
  docstring)
(if my-mode-map
    nil
  (setq my-mode-map (make-sparse-keymap))
  (define-key my-mode-map "\C-c\C-a" 'my-command)
  …)

¤³¤Î¥³¡¼¥É¤Ç¤Ï¡¢ÊÑ¿ô¤òÀßÄꤷ¤Æ¤«¤éÊѹ¹¤·¤Þ¤¹¤¬¡¢ ¤½¤ì¤òÊ£¿ô¤Î¼ê½ç¤Ç¹Ô¤¤¤Þ¤¹¡£ setq¤Îľ¸å¤Ë¥æ¡¼¥¶¡¼¤¬ÃæÃǤ¹¤ë¤È¡¢ ÊÑ¿ô¤ÏÀµ¤·¤¯½é´ü²½¤µ¤ì¤Æ¤ª¤é¤º¡¢¶õ¤Ç¤ânil¤Ç¤â¤¢¤ê¤Þ¤»¤ó¡£ ¤³¤¦¤Ê¤Ã¤¿¤È¤­¤Ë¥Õ¥¡¥¤¥ë¤òºÆ¥í¡¼¥É¤·¤Æ¤âÊÑ¿ô¤ò½é´ü²½¤Ç¤­¤Þ¤»¤ó¡£ ÊÑ¿ô¤ÏÉÔ´°Á´¤Ê¾õÂ֤ΤޤޤǤ¹¡£