Next: , Previous: How Programs Do Loading, Up: Loading   [Contents][Index]


14.2 ¥é¥¤¥Ö¥é¥ê¤Îõº÷

Emacs¤¬Lisp¥é¥¤¥Ö¥é¥ê¤ò¥í¡¼¥É¤¹¤ë¤È¤­¤Ë¤Ï¡¢ ÊÑ¿ôload-path¤Ç»ØÄꤷ¤¿¥Ç¥£¥ì¥¯¥È¥ê·²¤Ç¥é¥¤¥Ö¥é¥ê¤òõ¤·¤Þ¤¹¡£

User Option: load-path

¤³¤ÎÊÑ¿ô¤ÎÃͤϡ¢load¤Ç¥Õ¥¡¥¤¥ë¤ò¥í¡¼¥É¤¹¤ë¤È¤­¤Ëõº÷¤¹¤ë ¥Ç¥£¥ì¥¯¥È¥ê¤Î¥ê¥¹¥È¤Ç¤¢¤ë¡£ ³ÆÍ×ÁǤϡ¢¡Ê¥Ç¥£¥ì¥¯¥È¥ê̾¤Ç¤¢¤ë¡Ëʸ»úÎó¤« ¡Ê¥«¥ì¥ó¥Èºî¶È¥Ç¥£¥ì¥¯¥È¥ê¤òɽ¤¹¡Ënil¤Ç¤¢¤ë¡£

load-path¤ÎÃͤϡ¢´Ä¶­ÊÑ¿ôEMACSLOADPATH¤¬¤¢¤ì¤Ð¡¢ ¤½¤ì¤Ç½é´ü²½¤·¤Þ¤¹¡£ ¤µ¤â¤Ê¤±¤ì¤Ð¡¢¥Ç¥Õ¥©¥ë¥ÈÃͤϡ¢ Emacs¤ò¹½ÃÛ¤·¤¿¤È¤­¤Ëemacs/src/paths.h¤Ç»ØÄꤷ¤¿¤â¤Î¤Ç¤¹¡£ ¤½¤·¤Æ¡¢¥ê¥¹¥ÈÆâ¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Î¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤ò¥ê¥¹¥È¤ËÄɲä·¤Æ ³ÈÄ¥¤·¤Þ¤¹¡£

EMACSLOADPATH¤Î¹½Ê¸¤ÏPATH¤ÈƱ¤¸¤Ç¤¹¡£ ‘:’¡Ê¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Ë¤è¤Ã¤Æ¤Ï‘;’¡Ë¤Ç ¥Ç¥£¥ì¥¯¥È¥ê̾¤ò¶èÀÚ¤ê¤Þ¤¹¡£ ¥Ç¥Õ¥©¥ë¥È¤Î¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤Ï‘.’¤ò»È¤¤¤Þ¤¹¡£ csh¤Î.login¥Õ¥¡¥¤¥ë¤Ç´Ä¶­ÊÑ¿ôEMACSLOADPATH¤ò »ØÄꤹ¤ëÎã¤Ï¤Ä¤®¤Î¤È¤ª¤ê¤Ç¤¹¡£

setenv EMACSLOADPATH .:/user/bil/emacs:/usr/local/share/emacs/20.3/lisp

sh¤ò»È¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ï¤Ä¤®¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£

export EMACSLOADPATH
EMACSLOADPATH=.:/user/bil/emacs:/usr/local/share/emacs/20.3/lisp

.emacs¥Õ¥¡¥¤¥ë¤Ç¡¢ ¥Ç¥Õ¥©¥ë¥È¤Îload-path¤ÎÀèÆ¬¤ËÊ£¿ô¤Î¥Ç¥£¥ì¥¯¥È¥ê¤òÄɲ乤ë¤Ë¤Ï¡¢ ¤Ä¤®¤Î¤è¤¦¤Ê¥³¡¼¥É¤ò½ñ¤­¤Þ¤¹¡£

(setq load-path
      (append (list nil "/user/bil/emacs"
                    "/usr/local/lisplib"
                    "~/emacs")
              load-path))

¤³¤ÎÎã¤Ç¤Ï¡¢Lisp¥³¡¼¥É¤ò¡¢¤Þ¤º¥«¥ì¥ó¥Èºî¶È¥Ç¥£¥ì¥¯¥È¥ê¤Çõº÷¤·¡¢ ³¤¤¤Æ¡¢/user/bil/emacs¥Ç¥£¥ì¥¯¥È¥ê¡¢ /usr/local/lisplib¥Ç¥£¥ì¥¯¥È¥ê¡¢~/emacs¥Ç¥£¥ì¥¯¥È¥ê¡¢ ¤µ¤é¤Ë¡¢É¸½à¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Çõº÷¤·¤Þ¤¹¡£

Emacs¤Î¥À¥ó¥×¤Ë¤Ï¡¢load-path¤ÎÆÃÊ̤ÊÃͤò»È¤¤¤Þ¤¹¡£ ¥À¥ó¥×½ªÎ»»þ¤Ëload-path¤ÎÃͤ¬Ì¤Êѹ¹¡Ê¤Ä¤Þ¤ê¡¢Æ±¤¸ÆÃÊ̤ÊÃ͡ˤǤ¢¤ì¤Ð¡¢ ¥À¥ó¥×ÈÇEmacs¤Ïµ¯Æ°»þ¤Ë¡¢¾å¤Ë½Ò¤Ù¤¿¤è¤¦¤Ë¡¢ÉáÄ̤Îload-path¤ÎÃͤò »È¤¤¤Þ¤¹¡£ ¤·¤«¤·¡¢¥À¥ó¥×½ªÎ»»þ¤Ëload-path¤ÎÃͤ¬Ê̤ÎÃͤǤ¢¤ì¤Ð¡¢ ¥À¥ó¥×ÈÇEmacs¤Î¼Â¹Ô¤Ç¤â¤½¤Î¡ÊÊ̤ΡËÃͤò»È¤¤¤Þ¤¹¡£

¤·¤¿¤¬¤Ã¤Æ¡¢site-init.el¤äsite-load.el¤Ç ¾¯¿ô¤Î¥é¥¤¥Ö¥é¥ê¤ò¥í¡¼¥É¤¹¤ë¤¿¤á¤Ë °ì»þŪ¤Ëload-path¤òÊѹ¹¤·¤¿¤¤¾ì¹ç¤Ë¤Ï¡¢ load¤Î¸Æ¤Ó½Ð¤·¤òlet¤Ç°Ï¤ó¤Ç load-path¤ò¥í¡¼¥«¥ë¤Ë«Çû¤¹¤ë¤Ù¤­¤Ç¤¹¡£

¥·¥¹¥Æ¥à¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿Emacs¤ò¼Â¹ÔÃæ¤Ï¡¢ load-path¤Î¥Ç¥Õ¥©¥ë¥ÈÃͤˤϡ¢2¤Ä¤ÎÆÃÊ̤ʥǥ£¥ì¥¯¥È¥ê ¡Ê¤È¤½¤ì¤é¤Î¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¡Ë¤¬´Þ¤Þ¤ì¤Þ¤¹¡£

"/usr/local/share/emacs/version/site-lisp"

¤È

"/usr/local/share/emacs/site-lisp"

¤Ç¤¹¡£ Á°¼Ô¤Ï¡¢Emacs¤ÎÆÃÄê¤ÎÈǸþ¤±¤Ë¥í¡¼¥«¥ë¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¥Ñ¥Ã¥±¡¼¥¸ÍѤǤ¹¡£ ¸å¼Ô¤Ï¡¢Emacs¤ÎǤ°Õ¤ÎÈǸþ¤±¤Ë¥í¡¼¥«¥ë¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¥Ñ¥Ã¥±¡¼¥¸ÍѤǤ¹¡£

Emacs¤Î¤¢¤ëÈǸþ¤±¤Î¥Ñ¥Ã¥±¡¼¥¸¤¬Ê̤ÎÈǤǤϥȥé¥Ö¥ë¤ò°ú¤­µ¯¤³¤¹Íýͳ¤Ï ¤¤¤¯¤Ä¤«¤¢¤ê¤Þ¤¹¡£ Emacs¤Î¸ß´¹À­¤Î¤Ê¤¤Êѹ¹¤Î¤¿¤á¤Ë¹¹¿·¤òɬÍפȤ¹¤ë¥Ñ¥Ã¥±¡¼¥¸¤â¤¢¤ê¤Þ¤¹¡£ ͽ¹ð¤Ê¤·¤ËÊѹ¹¤µ¤ì¤ë²ÄǽÀ­¤Î¤¢¤ëÌÀʸ²½¤·¤Æ¤¤¤Ê¤¤ Emacs¤ÎÆâÉô¥Ç¡¼¥¿¤Ë°Í¸¤¹¤ë¤â¤Î¤â¤¢¤ê¤Þ¤¹¡£ Emacs¤Î¿·¤·¤¤ÈǤǤϡ¢¥Ñ¥Ã¥±¡¼¥¸¤ÎÆÃÄê¤ÎÈǤȰìÂΤˤʤäƤ¤¤ë¤â¤Î¤â¤¢¤ê¡¢ ¤½¤ÎÈǤÀ¤±¤Ç»È¤¦¤Ù¤­¤Ç¤¹¡£

Emacs¤Ï¡¢µ¯Æ°¤¹¤ë¤È¡¢¥Ç¥£¥ì¥¯¥È¥ê¤Î¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤òÁܤ·½Ð¤·¤Æ¡¢ ¤½¤ì¤é¤òload-path¤ËÄɲä·¤Þ¤¹¡£ ľ²¼¤Î¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤âÊ£¿ô¥ì¥Ù¥ë²¼¤Î¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤â load-path¤ËÄɲä·¤Þ¤¹¡£

¤·¤«¤·¡¢¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤¹¤Ù¤Æ¤ò´Þ¤à¤ï¤±¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£ ±Ñ¿ô»ú¤Ç»Ï¤Þ¤é¤Ê¤¤Ì¾Á°¤Î¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤Ï½ü³°¤·¤Þ¤¹¡£ RCS¤È¤¤¤¦Ì¾Á°¤Î¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤â½ü³°¤·¤Þ¤¹¡£ ¤Þ¤¿¡¢.nosearch¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤òÃÖ¤¤¤¿ ¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤â½ü³°¤·¤Þ¤¹¡£ ¤³¤ì¤é¤ÎÊýË¡¤òÍѤ¤¤ì¤Ð¡¢site-lisp¥Ç¥£¥ì¥¯¥È¥ê²¼¤Î ÆÃÄê¤Î¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤Îõº÷¤òËɤ²¤Þ¤¹¡£

Emacs¤ò¹½ÃÛ¤·¤¿¥Ç¥£¥ì¥¯¥È¥ê¤ÇEmacs¤òµ¯Æ°¤¹¤ë¤È¡¢ ¤Ä¤Þ¤ê¡¢Àµ¼°¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤Ê¤¤¼Â¹Ô·Á¼°¤òµ¯Æ°¤¹¤ë¤È¡¢ load-path¤Ë¤Ï¡¢ÉáÄÌ¡¢2¤Ä¤Î¥Ç¥£¥ì¥¯¥È¥ê¤òÄɲä·¤Þ¤¹¡£ ¼ç¹½Ãۥǥ£¥ì¥¯¥È¥ê¤Î¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¡¢lisp¤Èsite-lisp¤Ç¤¹¡£ ¡Ê¤É¤Á¤é¤â¡¢ÀäÂÐ¥Õ¥¡¥¤¥ë̾¤Çɽ¤µ¤ì¤ë¡£¡Ë

¥³¥Þ¥ó¥É: locate-library library &optional nosuffix path interactive-call

¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢¥é¥¤¥Ö¥é¥êlibrary¤ÎÀµ³Î¤Ê¥Õ¥¡¥¤¥ë̾¤òõ¤¹¡£ load¤ÈƱÍͤ˥饤¥Ö¥é¥ê¤òõº÷¤¹¤ë¡£ °ú¿ônosuffix¤Î°ÕÌ£¤Ïload¤ÈƱ¤¸¤Ç¤¢¤ê¡¢ »ØÄꤷ¤¿Ì¾Á°library¤ËÀÜÈø¼­‘.elc’¤ä‘.el’¤òÉղ䷤ʤ¤¡£

path¤¬nil°Ê³°¤Ç¤¢¤ë¤È¡¢ ¤½¤ì¤Ïload-path¤Î¤«¤ï¤ê¤Ë»È¤¦¥Ç¥£¥ì¥¯¥È¥ê¤Î¥ê¥¹¥È¤Ç¤¢¤ë¡£

locate-library¤ò¥×¥í¥°¥é¥à¤«¤é¸Æ¤Ó½Ð¤·¤¿¾ì¹ç¡¢ ʸ»úÎó¤Ç¥Õ¥¡¥¤¥ë̾¤òÊÖ¤¹¡£ ¥æ¡¼¥¶¡¼¤¬locate-library¤òÂÐÏÃŪ¤Ë¼Â¹Ô¤·¤¿¾ì¹ç¡¢ °ú¿ôinteractive-call¤Ït¤Ç¤¢¤ê¡¢¤³¤ì¤Ï locate-library¤ËÂФ·¤Æ¥Õ¥¡¥¤¥ë̾¤ò¥¨¥³¡¼Îΰè¤Ëɽ¼¨¤¹¤ë¤è¤¦¤Ë»Ø¼¨¤¹¤ë¡£