Next: , Previous: Autoload, Up: Loading   [Contents][Index]


14.5 ¥í¡¼¥É¤Î·«¤êÊÖ¤·

1¤Ä¤ÎEmacs¥»¥Ã¥·¥ç¥ó¤Ë¤ª¤¤¤Æ¡¢¤¢¤ë¥Õ¥¡¥¤¥ë¤òÊ£¿ô²ó¥í¡¼¥É¤Ç¤­¤Þ¤¹¡£ ¤¿¤È¤¨¤Ð¡¢¥Ð¥Ã¥Õ¥¡Æâ¤Î´Ø¿ôÄêµÁ¤òÊÔ½¸¤·¤Æ¡¢ ´Ø¿ôÄêµÁ¤ò½ñ¤­Ä¾¤·¤Æ¥¤¥ó¥¹¥È¡¼¥ë¤·Ä¾¤·¤¿¤¢¤È¤Ç¡¢ ¤â¤È¤ÎÈǤËÌᤷ¤¿¤¤¤³¤È¤â¤¢¤ë¤Ç¤·¤ç¤¦¡£ ¤³¤ì¤Ë¤Ï¡¢¤â¤È¤Î¥Õ¥¡¥¤¥ë¤òºÆ¥í¡¼¥É¤¹¤ì¤Ð¤è¤¤¤Î¤Ç¤¹¡£

¥Õ¥¡¥¤¥ë¤ò¥í¡¼¥É¤·¤¿¤êºÆ¥í¡¼¥É¤¹¤ë¤È¤­¡¢ ´Ø¿ôload¤äload-library¤Ï¡¢ ¥³¥ó¥Ñ¥¤¥ë¤·¤Æ¤¤¤Ê¤¤¥Õ¥¡¥¤¥ë¤Ç¤Ï¤Ê¤¯¡¢ ¥Ð¥¤¥È¥³¥ó¥Ñ¥¤¥ëºÑ¤ß¤Î¥Õ¥¡¥¤¥ë¤ò¼«Æ°Åª¤Ë¥í¡¼¥É¤¹¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£ ¥Õ¥¡¥¤¥ë¤ò½ñ¤­Ä¾¤·¤ÆÊݸ¤·¤Æ¤«¤éºÆ¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¾ì¹ç¡¢ ¿·¤·¤¤ÈǤò¥Ð¥¤¥È¥³¥ó¥Ñ¥¤¥ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ ¤µ¤â¤Ê¤¤¤È¡¢Emacs¤Ï¡¢¿·¤·¤¤¥³¥ó¥Ñ¥¤¥ë¤·¤Æ¤¤¤Ê¤¤¥Õ¥¡¥¤¥ë¤Ç¤Ï¤Ê¤¯¡¢ ¥Ð¥¤¥È¥³¥ó¥Ñ¥¤¥ëºÑ¤ß¤Î¸Å¤¤¥Õ¥¡¥¤¥ë¤ò¥í¡¼¥É¤·¤Æ¤·¤Þ¤¤¤Þ¤¹¡£ ¤½¤Î¤è¤¦¤Ê¾ì¹ç¡¢¥Õ¥¡¥¤¥ë¤ò¥í¡¼¥É¤¹¤ë¤È¡¢ ‘(compiled; note, source is newer)’¤È¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤·¤Æ¡¢ ºÆ¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤è¤¦¤ËÃé¹ð¤·¤Æ¤­¤Þ¤¹¡£

Lisp¥é¥¤¥Ö¥é¥ê¥Õ¥¡¥¤¥ë¤Ë¥Õ¥©¡¼¥à¤ò½ñ¤¯¤È¤­¤Ë¤Ï¡¢ ¥Õ¥¡¥¤¥ë¤òÊ£¿ô²ó¥í¡¼¥É¤¹¤ë²ÄǽÀ­¤¬¤¢¤ë¤³¤È¤ò˺¤ì¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£ ¤¿¤È¤¨¤Ð¡¢¥é¥¤¥Ö¥é¥ê¤òºÆ¥í¡¼¥É¤¹¤ë¤¿¤Ó¤Ë ³ÆÊÑ¿ô¤òºÆ½é´ü²½¤¹¤Ù¤­¤«¤É¤¦¤«¹Í¤¨¤Þ¤·¤ç¤¦¡£ defvar¤Ï¡¢½é´ü²½ºÑ¤ß¤ÎÊÑ¿ô¤ÎÃͤòÊѹ¹¤·¤Þ¤»¤ó¡£ ¡Êsee Defining Variables¡£¡Ë

Ï¢Áۥꥹ¥È¤ËÍ×ÁǤòÄɲ乤ë¤â¤Ã¤È¤â´Êñ¤ÊÊýË¡¤Ï¤Ä¤®¤Î¤È¤ª¤ê¤Ç¤¹¡£

(setq minor-mode-alist
      (cons '(leif-mode " Leif") minor-mode-alist))

¤·¤«¤·¡¢¤³¤ì¤Ç¤Ï¡¢¥é¥¤¥Ö¥é¥ê¤òºÆ¥í¡¼¥É¤¹¤ë¤È¡¢ Ê£¿ô¤ÎÍ×ÁǤòÄɲ䷤Ƥ·¤Þ¤¤¤Þ¤¹¡£ ¤³¤ì¤òÈò¤±¤ë¤Ë¤Ï¤Ä¤®¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£

(or (assq 'leif-mode minor-mode-alist)
    (setq minor-mode-alist
          (cons '(leif-mode " Leif") minor-mode-alist)))

¥ê¥¹¥È¤ËÍ×ÁǤò1²ó¤À¤±Äɲ乤ë¤Ë¤Ï¡¢ add-to-list¡Êsee Setting Variables¡Ë¤â»È¤¨¤Þ¤¹¡£

¥é¥¤¥Ö¥é¥ê¤ò¤¹¤Ç¤Ë¥í¡¼¥É¤·¤¿¤«¤É¤¦¤«ÌÀ¼¨Åª¤ËÄ´¤Ù¤¿¤¤¤³¤È¤â¤¢¤ë¤Ç¤·¤ç¤¦¡£ ¥é¥¤¥Ö¥é¥êÆâ¤Ç°ÊÁ°¥í¡¼¥É¤µ¤ì¤¿¤«¤É¤¦¤«¸¡ºº¤¹¤ëÊýË¡¤Î1¤Ä¤Ï¡¢ ¤Ä¤®¤Î¤È¤ª¤ê¤Ç¤¹¡£

(defvar foo-was-loaded nil)

(unless foo-was-loaded
  execute-first-time-only
  (setq foo-was-loaded t))

¥é¥¤¥Ö¥é¥ê¤Ç̾Á°ÉÕ¤­µ¡Ç½¤òÄ󶡤¹¤ë¤¿¤á¤Ëprovide¤ò»È¤Ã¤Æ¤¤¤ì¤Ð¡¢ ¥Õ¥¡¥¤¥ë¤Î»Ï¤á¤Î¤Û¤¦¤Çfeaturep¤ò»È¤Ã¤Æ¡¢ provide¤ò°ÊÁ°¸Æ¤Ó½Ð¤·¤¿¤«¤É¤¦¤«¸¡ºº¤Ç¤­¤Þ¤¹¡£