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


14.1 ¥×¥í¥°¥é¥à¤«¤é¤Î¥í¡¼¥ÉÊýË¡

Emacs Lisp¤Ë¤Ï¡¢¥í¡¼¥É¤Î¤¿¤á¤Î¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹¤¬¤¤¤¯¤Ä¤«¤¢¤ê¤Þ¤¹¡£ ¤¿¤È¤¨¤Ð¡¢autoload¤Ï¡¢ ¥Õ¥¡¥¤¥ë¤ÇÄêµÁ¤µ¤ì¤¿´Ø¿ô¸þ¤±¤Ë¾ì½ê¤ò³ÎÊݤ¹¤ë¥ª¥Ö¥¸¥§¥¯¥È¤òºîÀ®¤·¤Þ¤¹¡£ ¼«Æ°¥í¡¼¥É¤¹¤ë´Ø¿ô¤ò¸Æ¤Ó½Ð¤¹¤È¡¢ ¥Õ¥¡¥¤¥ë¤Î¼ÂºÝ¤ÎÄêµÁ¤òÆÀ¤ë¤¿¤á¤Ë¥Õ¥¡¥¤¥ë¤ò¥í¡¼¥É¤·¤Þ¤¹¡Êsee Autoload¡Ë¡£ require¤Ï¡¢¥Õ¥¡¥¤¥ë¤ò¤¹¤Ç¤Ë¥í¡¼¥É¤·¤Æ¤¤¤Ê¤±¤ì¤Ð¥í¡¼¥É¤·¤Þ¤¹ ¡Êsee Named Features¡Ë¡£ ¤³¤ì¤é¤Îµ¡¹½¤Ï¤¹¤Ù¤Æ¡¢ºÇ½ªÅª¤Ë¤Ï¡¢´Ø¿ôload¤ò¸Æ¤Ó½Ð¤·¤ÆÆ°ºî¤·¤Þ¤¹¡£

Function: load filename &optional missing-ok nomessage nosuffix must-suffix

¤³¤Î´Ø¿ô¤Ï¡¢Lisp¥³¡¼¥É¤Î¥Õ¥¡¥¤¥ë¤òõ¤·¤Æ¥ª¡¼¥×¥ó¤·¡¢ ¤½¤ÎÃæ¤Î¥Õ¥©¡¼¥à¤¹¤Ù¤Æ¤òɾ²Á¤·¤Æ¤«¤é¡¢¥Õ¥¡¥¤¥ë¤ò¥¯¥í¡¼¥º¤¹¤ë¡£

¥Õ¥¡¥¤¥ë¤òõ¤¹¤¿¤á¤Ë¡¢ load¤Ï¤Þ¤ºfilename.elc¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¡¢ ¤Ä¤Þ¤ê¡¢filename¤Ë‘.elc’¤òÉղä·¤¿Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤òõ¤¹¡£ ¤½¤Î¤è¤¦¤Ê¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤¹¤ì¤Ð¡¢¤½¤ì¤ò¥í¡¼¥É¤¹¤ë¡£ ¤½¤Î¤è¤¦¤Ê̾Á°¤Î¥Õ¥¡¥¤¥ë¤¬¤Ê¤±¤ì¤Ð¡¢ load¤Ïfilename.el¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤òõ¤¹¡£ ¤½¤Î¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤¹¤ì¤Ð¡¢¤½¤ì¤ò¥í¡¼¥É¤¹¤ë¡£ ¤¤¤º¤ì¤Î̾Á°¤Î¥Õ¥¡¥¤¥ë¤â¤ß¤Ä¤«¤é¤Ê¤±¤ì¤Ð¡¢ ºÇ½ªÅª¤Ë¡¢load¤Ï¡¢¤Ê¤Ë¤âÉղ䷤ʤ¤filename¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤ò õ¤·¡¢Â¸ºß¤¹¤ì¤Ð¤½¤ì¤ò¥í¡¼¥É¤¹¤ë¡£ ¡Ê´Ø¿ôload¤¬filename¤òõ¤¹¼ê½ç¤Ï¸­¤¯¤Ê¤¤¡£ (load "foo.el")¤òɾ²Á¤¹¤ë¤È¡¢ foo.el.el¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤òõ¤·¤Æ¤·¤Þ¤¦¡£¡Ë

¾Êά²Äǽ¤Ê°ú¿ônosuffix¤¬nil°Ê³°¤Ç¤¢¤ì¤Ð¡¢ ‘.elc’¤È‘.el’¤ÎÀÜÈø¼­¤ò»î¤µ¤Ê¤¤¡£ ¤³¤Î¾ì¹ç¡¢ÌÜŪ¤Î¥Õ¥¡¥¤¥ë¤ÎÀµ³Î¤Ê̾Á°¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ë¡£ Àµ³Î¤Ê¥Õ¥¡¥¤¥ë̾¤ò»ØÄꤷ¡¢¤«¤Ä¡¢nosuffix¤Ët¤ò»È¤¨¤Ð¡¢ foo.el.el¤Î¤è¤¦¤Ê¥Õ¥¡¥¤¥ë̾¤òõ¤·¤Æ¤·¤Þ¤¦¤³¤È¤òËɤ²¤ë¡£

¾Êά²Äǽ¤Ê°ú¿ômust-suffix¤¬nil°Ê³°¤Ç¤¢¤ì¤Ð¡¢ load¤Ï¡¢¥Ç¥£¥ì¥¯¥È¥ê̾¤òÌÀ¼¨¤·¤Æ¤¤¤Ê¤¤¸Â¤ê¡¢ ¥Õ¥¡¥¤¥ë̾¤Ï‘.el’¤«‘.elc’¤Ç½ª¤ë¤â¤Î¤È²¾Äꤹ¤ë¡£ filename¤Ë¥Ç¥£¥ì¥¯¥È¥ê̾¤¬ÌÀ¼¨¤·¤Æ¤Ê¤¯¡¢¤«¤Ä¡¢ ÀÜÈø¼­¤â»ØÄꤷ¤Æ¤Ê¤±¤ì¤Ð¡¢load¤ÏÀÜÈø¼­¤òɬ¤ºÉղ乤롣

filename¤¬foo¤äbaz/foo.bar¤Î¤è¤¦¤Ë ÁêÂÐ¥Õ¥¡¥¤¥ë̾¤Ç¤¢¤ë¤È¡¢load¤ÏÊÑ¿ôload-path¤ò»È¤Ã¤Æ ¥Õ¥¡¥¤¥ë¤òõ¤¹¡£ filename¤Ëload-path¤Ë»ØÄꤷ¤¿³Æ¥Ç¥£¥ì¥¯¥È¥ê¤òÉղä·¡¢ ºÇ½é¤Ë¤ß¤Ä¤«¤Ã¤¿¥Õ¥¡¥¤¥ë¤ò¥í¡¼¥É¤¹¤ë¡£ ¥Ç¥Õ¥©¥ë¥È¥Ç¥£¥ì¥¯¥È¥ê¤òɽ¤¹nil¤¬load-path¤Ë »ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë¸Â¤ê¡¢¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê¤ò»î¤¹¡£ load¤Ï¡¢¤Þ¤ººÇ½é¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ç3¤Ä¤Î²Äǽ¤ÊÀÜÈø¼­¤ò»î¤·¡¢ ³¤¤¤Æ2ÈÖÌܤΥǥ£¥ì¥¯¥È¥ê¤Ç3¤Ä¤Î²Äǽ¤ÊÀÜÈø¼­¤ò»î¤·¡¢ ¤È¤¤¤¦¤è¤¦¤Ë¹Ô¤¦¡£ see Library Search¡£

foo.elc¤¬foo.el¤è¤ê¸Å¤¤¤È¤¤¤¦»Ý¤Î·Ù¹ð¤ò¼õ¤±¼è¤Ã¤¿¾ì¹ç¤Ë¤Ï¡¢ foo.el¤ÎºÆ¥³¥ó¥Ñ¥¤¥ë¤ò¹Í¤¨¤ë¤Ù¤­¤Ç¤¢¤ë¡£ see Byte Compilation¡£

¡Ê¥³¥ó¥Ñ¥¤¥ë¤·¤Æ¤¤¤Ê¤¤¡Ë¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò¥í¡¼¥É¤¹¤ë¤È¤­¤Ë¤Ï¡¢ Emacs¤¬¥Õ¥¡¥¤¥ë¤òˬÌ䤹¤ë¾ì¹ç¤ÈƱÍͤˡ¢ load¤Ïʸ»ú½¸¹ç¤òÊÑ´¹¤¹¤ë¡£ see Coding Systems¡£

nomessage¤¬nil¤Ç¤¢¤ë¤È¡¢ ¥í¡¼¥ÉÃæ¤Ë¤Ï¥¨¥³¡¼Îΰè¤Ë ‘Loading foo...’¤ä‘Loading foo...done’¤Î¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤¹¤ë¡£

¥Õ¥¡¥¤¥ë¤ò¥í¡¼¥ÉÃæ¤Ë½èÍý¤Ç¤­¤Ê¤¤¥¨¥é¡¼¤Ë½Ð²ñ¤¦¤È¡¢¥í¡¼¥É¤ò½ªÎ»¤¹¤ë¡£ autoload¤Ë¤è¤ë¥í¡¼¥É¤Î¾ì¹ç¤Ë¤Ï¡¢ ¥í¡¼¥ÉÃæ¤Ë¹Ô¤ï¤ì¤¿´Ø¿ôÄêµÁ¤Ï¤¹¤Ù¤Æ¤â¤È¤ËÌ᤹¡£

load¤¬¥í¡¼¥É¤¹¤Ù¤­¥Õ¥¡¥¤¥ë¤ò¤ß¤Ä¤±¤é¤ì¤Ê¤¤¤È¡¢ ÉáÄÌ¡¢¡Ê‘Cannot open load file filename’¤òȼ¤Ã¤¿¡Ë ¥¨¥é¡¼file-error¤òÄÌÃΤ¹¤ë¡£ missing-ok¤¬nil°Ê³°¤Ç¤¢¤ì¤Ð¡¢ load¤Ïnil¤òÊÖ¤¹¤À¤±¤Ç¤¢¤ë¡£

ÊÑ¿ôload-read-function¤ò»È¤Ã¤Æ¡¢ ¼°¤òÆÉ¤ß¼è¤ë¤¿¤á¤Ëread¤Î¤«¤ï¤ê¤Ëload¤¬»È¤¦´Ø¿ô¤ò»ØÄê¤Ç¤­¤ë¡£ ²¼µ­»²¾È¡£

¥Õ¥¡¥¤¥ë¤òÀµ¤·¤¯¥í¡¼¥É¤Ç¤­¤ë¤Èload¤Ït¤òÊÖ¤¹¡£

¥³¥Þ¥ó¥É: load-file filename

¤³¤Î¥³¥Þ¥ó¥É¤Ï¥Õ¥¡¥¤¥ëfilename¤ò¥í¡¼¥É¤¹¤ë¡£ filename¤¬ÁêÂÐ¥Õ¥¡¥¤¥ë̾¤Ç¤¢¤ë¤È¡¢ ¸½ºß¤Î¥Ç¥Õ¥©¥ë¥È¥Ç¥£¥ì¥¯¥È¥ê¤ò²¾Äꤹ¤ë¡£ load-path¤ò»È¤ï¤º¡¢ÀÜÈø¼­¤âÉղ䷤ʤ¤¡£ ¥í¡¼¥É¤¹¤ë¥Õ¥¡¥¤¥ë̾¤òÀµ³Î¤Ë»ØÄꤷ¤¿¤¤¾ì¹ç¤Ë¤³¤Î¥³¥Þ¥ó¥É¤ò»È¤¦¡£

¥³¥Þ¥ó¥É: load-library library

¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢library¤È¤¤¤¦Ì¾Á°¤Î¥é¥¤¥Ö¥é¥ê¤ò¥í¡¼¥É¤¹¤ë¡£ load¤ÈÅù²Á¤Ç¤¢¤ë¤¬¡¢°ú¿ô¤òÂÐÏÃŪ¤ËÆÉ¤ß¼è¤ëÅÀ¤¬°Û¤Ê¤ë¡£

Variable: load-in-progress

Emacs¤¬¥Õ¥¡¥¤¥ë¤ò¥í¡¼¥É½èÍýÃæ¤Ç¤¢¤ë¤È¡¢ ¤³¤ÎÊÑ¿ô¤Ïnil°Ê³°¤Ç¤¢¤ê¡¢¤µ¤â¤Ê¤±¤ì¤Ðnil¤Ç¤¢¤ë¡£

Variable: load-read-function

¤³¤ÎÊÑ¿ô¤Ï¡¢load¤äeval-region¤¬¡¢ read¤Î¤«¤ï¤ê¤Ë»È¤¦¡¢¼°¤òÆÉ¤ß¼è¤ë´Ø¿ô¤ò»ØÄꤹ¤ë¡£ ¤½¤Î´Ø¿ô¤Ïread¤ÈƱÍͤ˰ú¿ô¤ò1¤Ä¤È¤ë¤³¤È¡£

Ä̾¤³¤ÎÊÑ¿ô¤ÎÃͤÏnil¤Ç¤¢¤ê¡¢ ¤³¤ì¤é¤Î´Ø¿ô¤¬read¤ò»È¤¦¤³¤È¤ò°ÕÌ£¤¹¤ë¡£

Ãí°Õ¡§ ¤³¤ÎÊÑ¿ô¤ò»È¤¦¤«¤ï¤ê¤Ë¡¢eval-region¤Î°ú¿ôread-function¤È¤·¤Æ ´Ø¿ô¤òÅϤ¹¿·¤·¤¤Ê̤ε¡Ç½¤ò»È¤Ã¤¿¤Û¤¦¤¬¸«Ä̤·¤¬¤è¤¤¡£ see Eval¡£

Emacs¹½ÃÛ»þ¤Îload¤Î»È¤¤Êý¤Ë¤Ä¤¤¤Æ¤Î¾ðÊó¤Ï¡¢ See Building Emacs¡£