Next: Lisp Interaction, Previous: Executing Lisp, Up: Building [Contents][Index]
EmacsÊÔ½¸¥³¥Þ¥ó¥É¤ÎLisp¥³¡¼¥É¤Ï¡¢½¬´·Åª¤Ë.el¤Ç½ª¤ë̾Á°¤Î ¥Õ¥¡¥¤¥ë¤Ë³ÊǼ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ ¤³¤ì¤é¤Î³ÈÄ¥»Ò¤Ï¡¢ emacs-lisp¥â¡¼¥É¤ÇÊÔ½¸¤¹¤ë¤è¤¦¤ËEmacs¤Ë»Ø¼¨¤·¤Þ¤¹ ¡Êsee Executing Lisp¡Ë¡£
Emacs Lisp¥³¡¼¥É¤Î¥Õ¥¡¥¤¥ë¤ò¼Â¹Ô¤¹¤ë¤Ë¤Ï¡¢ M-x load-file¤ò»È¤¤¤Þ¤¹¡£ ¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢¥ß¥Ë¥Ð¥Ã¥Õ¥¡¤Ç¥Õ¥¡¥¤¥ë̾¤òÆÉ¤ß¼è¤ê¡¢ ¤½¤Î¥Õ¥¡¥¤¥ë¤ÎÆâÍÆ¤òLisp¥³¡¼¥É¤È¤·¤Æ¼Â¹Ô¤·¤Þ¤¹¡£ ¤¢¤é¤«¤¸¤á¥Õ¥¡¥¤¥ë¤òˬÌ䤷¤Æ¤ª¤¯É¬ÍפϤ¢¤ê¤Þ¤»¤ó¡£ ¤¤¤º¤ì¤Ë¤·¤Æ¤â¡¢¤³¤Î¥³¥Þ¥ó¥É¤Ï¥Ç¥£¥¹¥¯¾å¤Î¥Õ¥¡¥¤¥ë¤òÆÉ¤à¤Î¤Ç¤¢¤Ã¤Æ¡¢ Emacs¥Ð¥Ã¥Õ¥¡¤Î¥Æ¥¥¹¥È¤òÆÉ¤à¤Î¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£
Lisp¥³¡¼¥É¤Î¥Õ¥¡¥¤¥ë¤òEmacs Lisp¥é¥¤¥Ö¥é¥ê¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ËÃÖ¤¤¤Æ¤ª¤±¤Ð¡¢
¤½¤Î¥Õ¥¡¥¤¥ë¤ÏM-x load-library¤Ç¥í¡¼¥É¤Ç¤¤Þ¤¹¡£
¥×¥í¥°¥é¥à¤«¤é¤Ï¡¢load-library
¤ò¸Æ¤ó¤Ç¥í¡¼¥É¤¹¤ë¤«¡¢¤¢¤ë¤¤¤Ï¡¢
¤è¤ê´ðËÜŪ¤ÊÎà»÷¤Î´Ø¿ô¤Ç;ʬ¤Ê°ú¿ô¤â»ØÄê¤Ç¤¤ëload
¤Ç¥í¡¼¥É¤·¤Þ¤¹¡£
M-x load-library¤¬M-x load-file¤È°Û¤Ê¤ëÅÀ¤Ï¡¢ °ìÏ¢¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤Ä¤¤¤Æ3¤Ä¤Î¥Õ¥¡¥¤¥ë̾¤ò½ç¤ËÄ´¤Ù¤ë¤È¤¤¤¦¤³¤È¤Ç¤¹¡£ °ú¿ô¤¬lib¤À¤È¤¹¤ë¤È¡¢3¤Ä¤Î¥Õ¥¡¥¤¥ë̾¤È¤Ï¡¢ lib.elc¡¢lib.el¡¢¤½¤·¤ÆºÇ¸å¤Ëlib¤Ç¤¹¡£ lib.elc¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤¹¤ì¤Ð¡¢ ¤³¤ì¤Ï½¬´·¤È¤·¤Ælib.el¤ò¥³¥ó¥Ñ¥¤¥ë¤·¤¿¤â¤Î¤Ç¤¹¡£ ¥³¥ó¥Ñ¥¤¥ëºÑ¤ß¤Î¥Õ¥¡¥¤¥ë¤Ï¥í¡¼¥É¤È¼Â¹Ô¤¬Â®¤¤¤Î¤Ç¡¢ ¤³¤Á¤é¤ò¥í¡¼¥É¤¹¤ë¤Û¤¦¤¬ÍÍø¤Ç¤¹¡£
load-library
¤¬lib.elc¤è¤ê¤â¿·¤·¤¤
lib.el¤ò¤ß¤Ä¤±¤ë¤È¡¢·Ù¹ð¤ò½ÐÎϤ·¤Þ¤¹¡£
¤È¤¤¤¦¤Î¤Ï¡¢.el¥Õ¥¡¥¤¥ë¤òÊѹ¹¸å¤ËºÆ¥³¥ó¥Ñ¥¤¥ë¤·Ëº¤ì¤Æ¤¤¤ë
²ÄǽÀ¤¬¤¢¤ë¤«¤é¤Ç¤¹¡£
load-library
¤Î°ú¿ô¤Ï¡¢Ä̾¤½¤ì¼«ÂΤǤÏ
Àµ¤·¤¤¥Õ¥¡¥¤¥ë̾¤Ç¤Ê¤¤¤³¤È¤¬Â¿¤¤¤¿¤á¡¢¥Õ¥¡¥¤¥ë̾¤ÎÊä´°¤Ï¤Ç¤¤Þ¤»¤ó¡£
¤â¤Á¤í¤ó¡¢¤³¤Î¥³¥Þ¥ó¥É¤ò»È¤¦¤È¤¡¢
»ØÄꤹ¤Ù¤Àµ³Î¤Ê¥Õ¥¡¥¤¥ë̾¤òÉáÄ̤ÏÃΤé¤Ê¤¤¤Ç¤·¤ç¤¦¤¬¡£
M-x load-library¤¬Ãµº÷¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Î½çÈ֤ϡ¢
ÊÑ¿ôload-path
¤Ç»ØÄꤷ¤Þ¤¹¡£
¤½¤ÎÃͤϡ¢¥Ç¥£¥ì¥¯¥È¥ê̾¤Îʸ»úÎ󤫤éÀ®¤ë¥ê¥¹¥È¤Ç¤¹¡£
¥ê¥¹¥È¤Î¥Ç¥Õ¥©¥ë¥ÈÃͤˤϡ¢Emacs¼«¿È¤ÎLisp¥³¡¼¥É¤ò¼ý¤á¤¿¥Ç¥£¥ì¥¯¥È¥ê¤¬
´Þ¤Þ¤ì¤Þ¤¹¡£
¸Ä¿ÍÍѤÎLisp¥é¥¤¥Ö¥é¥ê¤¬¤¢¤ë¤Ê¤é¤Ð¡¢¤½¤ì¤é¤ò1¤Ä¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤Þ¤È¤á¡¢
¤½¤Î¥Ç¥£¥ì¥¯¥È¥ê̾¤òload-path
¤ËÄɲ䷤Ƥ¯¤À¤µ¤¤¡£
¥ê¥¹¥ÈÆâ¤Înil
¤Ï¥«¥ì¥ó¥È¥Ç¥Õ¥©¥ë¥È¥Ç¥£¥ì¥¯¥È¥ê¤òɽ¤·¤Þ¤¹¤¬¡¢
¥ê¥¹¥È¤Ënil
¤ò²Ã¤¨¤ë¤³¤È¤Ï¤¢¤Þ¤ê´«¤á¤é¤ì¤Þ¤»¤ó¡£
¥ê¥¹¥È¤Ënil
¤¬ËÜÅö¤ËɬÍפÀ¤È´¶¤¸¤¿¤È¤¤Ë¤Ï¡¢
¤½¤ì¤Ë¤Ä¤¤¤Æ¤ÏM-x load-file¤ò¼Â¹Ô¤¹¤ë¤Î¤Ç¤Ï
¤¤¤±¤Ê¤¤¤À¤í¤¦¤«¤È¹Í¤¨¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£
¥é¥¤¥Ö¥é¥ê¤ÎÃæ¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë¥³¥Þ¥ó¥É¤ËÂФ·¤Æ¤Ï¡¢
¤½¤Î¥é¥¤¥Ö¥é¥ê¤ò¼«Æ°Åª¤Ë¥í¡¼¥É¡Êautoload¡Ë¤¹¤ë¤è¤¦¤Ë
ÀßÄꤵ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢¤Û¤È¤ó¤É¤Î¾ì¹ç¡¢¥é¥¤¥Ö¥é¥ê¤ò¥í¡¼¥É¤¹¤ë¥³¥Þ¥ó¥É¤ò
»ØÄꤹ¤ëɬÍפϤʤ¤¤Ç¤·¤ç¤¦¡£
¥é¥¤¥Ö¥é¥ê¤ò¥í¡¼¥É¤¹¤ë¤¿¤á¤Ëload
¤ò¸Æ¤Ó½Ð¤¹¤è¤¦¤Ê¥³¥Þ¥ó¥É¤ò1¤Ä
»î¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£
¤³¤¦¤¹¤ë¤È¡¢¡Ö¼«Æ°Åª¤Ë¥í¡¼¥É¤¹¤ë¡×¤È¤¤¤¦ÄêµÁ¤¬
¥é¥¤¥Ö¥é¥êÆâ¤Î¼ÂºÝ¤ÎÄêµÁ¤ÇÃÖ¤´¹¤ï¤ê¤Þ¤¹¡£
Emacs Lisp¥³¡¼¥É¤Ï¥Ð¥¤¥È¥³¡¼¥É¤Ë¥³¥ó¥Ñ¥¤¥ë¤Ç¤¤Þ¤¹¡£
¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤È¡¢¥í¡¼¥É¤¬Â®¤¯¤Ê¤ê¡¢¥í¡¼¥É¤·¤Æ¤âɬÍפʵ²±ÍÆÎ̤¬¾¯¤Ê¤¯¤Ê¤ê¡¢
¼Â¹Ô¤â®¤¯¤Ê¤ê¤Þ¤¹¡£
See ¥Ð¥¤¥È¥³¥ó¥Ñ¥¤¥ë in Emacs Lisp ¥ê¥Õ¥¡¥ì¥ó¥¹¥Þ¥Ë¥å¥¢¥ë¡£
½¬´·¤È¤·¤Æ¡¢¥é¥¤¥Ö¥é¥ê¤Î¥³¥ó¥Ñ¥¤¥ëºÑ¤ß¤Î¥³¡¼¥É¤Ï¡¢
¥é¥¤¥Ö¥é¥ê¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë̾¤Ë‘c’¤òÉÕ¤±¤¿Ì¾Á°¤Î
Ê̤Υե¡¥¤¥ë¤ËÆþ¤ê¤Þ¤¹¡£
¤·¤¿¤¬¤Ã¤Æ¡¢foo.el¤Î¥³¥ó¥Ñ¥¤¥ëºÑ¤ß¤Î¥³¡¼¥É¤Ï¡¢foo.elc¤ËÆþ¤ê¤Þ¤¹¡£
¤³¤ì¤¬¡¢load-library
¤Ï¤Þ¤º‘.elc’¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤òõ¤¹Íýͳ¤Ç¤¹¡£