Next: Repeated Loading, Previous: Loading Non-ASCII, Up: Loading [Contents][Index]
¼«Æ°¥í¡¼¥É¡Êautoload¡Ëµ¡Ç½¤Ë¤è¤ê¡¢ ´Ø¿ô¤ä¥Þ¥¯¥í¤òÄêµÁ¤·¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¤ò¥í¡¼¥É¤·¤Æ¤¤¤Ê¤¯¤Æ¤â¡¢ ´Ø¿ô¤ä¥Þ¥¯¥í¤òLisp¤ËÅÐÏ¿¤Ç¤¤Þ¤¹¡£ ´Ø¿ô¤ò½é¤á¤Æ¸Æ¤Ó½Ð¤¹¤È¡¢ ŬÀڤʥե¡¥¤¥ë¤òÆÉ¤ß¹þ¤ó¤Ç¼ÂºÝ¤ÎÄêµÁ¤È´ØÏ¢¤¹¤ë¾¤Î¥³¡¼¥É¤ò ¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤«¤é¡¢¤¹¤Ç¤Ë¥í¡¼¥É¤·¤Æ¤¢¤Ã¤¿¤«¤Î¤è¤¦¤Ë¼ÂºÝ¤ÎÄêµÁ¤ò¼Â¹Ô¤·¤Þ¤¹¡£
´Ø¿ô¤ò¼«Æ°Åª¤Ë¥í¡¼¥É¤¹¤ë¤è¤¦¤ËÀßÄꤹ¤ëÊýË¡¤Ï2¤Ä¤¢¤ê¤Þ¤¹¡£
autoload
¤ò¸Æ¤Ó½Ð¤¹¤«¡¢¤¢¤ë¤¤¤Ï¡¢
¥½¡¼¥¹Æâ¤Î¼ÂºÝ¤ÎÄêµÁ¤Î¤Þ¤¨¤ËÆÃÊ̤ʡإޥ¸¥Ã¥¯¡Ù¥³¥á¥ó¥È¤ò½ñ¤¤Þ¤¹¡£
autoload
¤Ï¼«Æ°¥í¡¼¥É¤ò¹Ô¤¦Äã¥ì¥Ù¥ë¤Î´ðËÜ´Ø¿ô¤Ç¤¹¡£
Ǥ°Õ¤ÎLisp¥×¥í¥°¥é¥à¤Ç¤¤¤Ä¤Ç¤âautoload
¤ò¸Æ¤Ó½Ð¤»¤Þ¤¹¡£
¥Þ¥¸¥Ã¥¯¥³¥á¥ó¥È¤Ï¡¢Emacs¤Ç»È¤¦¥Ñ¥Ã¥±¡¼¥¸¸þ¤±¤Ë
´Ø¿ô¤ò¼«Æ°Åª¤Ë¥í¡¼¥É¤¹¤ë¤è¤¦¤ËÀßÄꤹ¤ë¤È¤Æ¤âÊØÍø¤ÊÊýË¡¤Ç¤¹¡£
¤³¤ì¤é¤Î¥³¥á¥ó¥È¤½¤Î¤â¤Î¤Ï¤Ê¤Ë¤â¤·¤Þ¤»¤ó¤¬¡¢
¥³¥Þ¥ó¥Éupdate-file-autoloads
¤ËÂФ¹¤ë»Ø¿Ë¤È¤·¤ÆÆ¯¤¤Þ¤¹¡£
¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢autoload
¤Î¸Æ¤Ó½Ð¤·¤òºîÀ®¤·¡¢
Emacs¹½ÃÛ»þ¤Ë¤½¤ì¤é¤ò¼Â¹Ô¤¹¤ë¤è¤¦¤ËÀßÄꤷ¤Þ¤¹¡£
¤³¤Î´Ø¿ô¤Ï¡¢function¤È¤¤¤¦Ì¾Á°¤Î´Ø¿ô¡Ê¤ä¥Þ¥¯¥í¡Ë¤ò filename¤«¤é¼«Æ°Åª¤Ë¥í¡¼¥É¤¹¤ë¤è¤¦¤ËÄêµÁ¤¹¤ë¡£ ʸ»úÎófilename¤Ï¡¢function¤Î¼ÂºÝ¤ÎÄêµÁ¤ò¼èÆÀ¤¹¤ë¤¿¤á¤Ë ¥í¡¼¥É¤¹¤ë¥Õ¥¡¥¤¥ë¤ò»ØÄꤹ¤ë¡£
filename¤Ë¥Ç¥£¥ì¥¯¥È¥ê̾¤äÀÜÈø¼.el
¤ä.elc
¤¬¤Ê¤±¤ì¤Ð¡¢
autoload
¤Ï¤³¤ì¤é¤ÎÀÜÈø¼¤Î1¤Ä¤òɬ¤ºÉղä·¡¢
ÀÜÈø¼¤òÉÕ¤±¤Ê¤¤filename¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤Ï¥í¡¼¥É¤·¤Ê¤¤¡£
°ú¿ôdocstring¤Ï¡¢´Ø¿ô¤ËÂФ¹¤ëÀâÌÀʸ»úÎó¤Ç¤¢¤ë¡£
Ä̾¤³¤ì¤Ï´Ø¿ôÄêµÁ¤½¤Î¤â¤Î¤ÎÀâÌÀʸ»úÎó¤ÈƱ°ì¤Ç¤¢¤ë¤³¤È¡£
autoload
¤Î¸Æ¤Ó½Ð¤·¤Ë¤ª¤¤¤ÆÀâÌÀʸ»úÎó¤ò»ØÄꤷ¤Æ¤ª¤¯¤³¤È¤Ç¡¢
´Ø¿ô¤Î¼ÂºÝ¤ÎÄêµÁ¤ò¥í¡¼¥É¤·¤Ê¤¯¤Æ¤âÀâÌÀʸ¤ò¸«¤ë¤³¤È¤¬²Äǽ¤Ë¤Ê¤ë¡£
interactive¤¬nil
°Ê³°¤Ê¤é¤Ð¡¢
function¤òÂÐÏÃŪ¤Ë¸Æ¤Ó½Ð¤»¤ë¤³¤È¤ò°ÕÌ£¤¹¤ë¡£
¤Ä¤Þ¤ê¡¢´Ø¿ô¤Î¼ÂºÝ¤ÎÄêµÁ¤ò¥í¡¼¥É¤·¤Ê¤¯¤Æ¤â
M-x¤ÎÊä´°¤¬Æ°ºî¤¹¤ë¤Î¤Ç¤¢¤ë¡£
´°Á´¤ÊÂÐÏûØÄê¤ò»ØÄꤷ¤Ê¤¤¡£
¥æ¡¼¥¶¡¼¤¬function¤ò¼ÂºÝ¤Ë¸Æ¤Ó½Ð¤¹¤Þ¤Ç¤ÏɬÍפʤ¯¡¢
¸Æ¤Ó½Ð¤·»þÅÀ¤Ç¼ÂºÝ¤ÎÄêµÁ¤ò¥í¡¼¥É¤¹¤ë¤«¤é¤Ç¤¢¤ë¡£
ÉáÄ̤δؿô¤ÈƱÍͤˡ¢¥Þ¥¯¥í¤ä¥¡¼¥Þ¥Ã¥×¤â¼«Æ°Åª¤Ë¥í¡¼¥É¤Ç¤¤ë¡£
function¤¬¼ÂºÝ¤Ë¤Ï¥Þ¥¯¥í¤Ê¤é¤Ð¡¢type¤Ë¤Ïmacro
¤ò»ØÄꤹ¤ë¡£
function¤¬¼ÂºÝ¤Ë¤Ï¥¡¼¥Þ¥Ã¥×¤Ê¤é¤Ð¡¢
type¤Ë¤Ïkeymap
¤ò»ØÄꤹ¤ë¡£
Emacs¤Î¤µ¤Þ¤¶¤Þ¤ÊÉôʬ¤Ç¤Ï¡¢
¼ÂºÝ¤ÎÄêµÁ¤ò¥í¡¼¥É¤»¤º¤Ë¤³¤Î¾ðÊó¤òÃΤëɬÍפ¬¤¢¤ë¡£
¼«Æ°¥í¡¼¥É¤È»ØÄꤷ¤¿¥¡¼¥Þ¥Ã¥×¤Ï¡¢
¥×¥ì¥Õ¥£¥Ã¥¯¥¹¥¡¼¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤¬¥·¥ó¥Ü¥ëfunction¤Ç¤¢¤ë¤È¤¤Ë¡¢
¥¡¼¤òõ¤¹²áÄø¤Ç¼«Æ°Åª¤Ë¥í¡¼¥É¤¹¤ë¡£
¥¡¼¥Þ¥Ã¥×¤Î¤³¤ì°Ê³°¤Î»²¾ÈÊýË¡¤Ç¤Ï¡¢¼«Æ°Åª¤Ë¥í¡¼¥É¤·¤Ê¤¤¡£
ÆÃ¤Ë¡¢ÊÑ¿ô̾¤¬¥·¥ó¥Ü¥ëfunction¤ÈƱ¤¸¤Ç¤¢¤Ã¤Æ¤â¡¢
Lisp¥×¥í¥°¥é¥à¤ÇÊÑ¿ô¤ÎÃͤ«¤é¥¡¼¥Þ¥Ã¥×¤ò¼èÆÀ¤·¤Æ
define-key
¤ò¸Æ¤Ó½Ð¤¹¾ì¹ç¤Ë¤Ï¡¢¼«Æ°Åª¤Ë¥í¡¼¥É¤·¤Ê¤¤¡£
function¤¬¼«Æ°¥í¡¼¥É¥ª¥Ö¥¸¥§¥¯¥È¤Ç¤Ï¤Ê¤¤
¶õ¤Ç¤Ê¤¤´Ø¿ôÄêµÁ¤òͤ¹¤ë¾ì¹ç¤Ë¤Ï¡¢
autoload
¤Ï¤Ê¤Ë¤â¤»¤º¤Ënil
¤òÊÖ¤¹¡£
function¤Î´Ø¿ô¥»¥ë¤¬¶õ¤Ç¤¢¤Ã¤¿¤ê¡¢
¤¹¤Ç¤Ë¼«Æ°¥í¡¼¥É¥ª¥Ö¥¸¥§¥¯¥È¤Ç¤¢¤ë¾ì¹ç¤Ë¤Ï¡¢
¤Ä¤®¤Î¤è¤¦¤Ê¼«Æ°¥í¡¼¥É¥ª¥Ö¥¸¥§¥¯¥È¤È¤·¤Æ´Ø¿ô¥»¥ë¤òÄêµÁ¤¹¤ë¡£
(autoload filename docstring interactive type)
¤¿¤È¤¨¤Ð¤Ä¤®¤Î¤È¤ª¤ê¡£
(symbol-function 'run-prolog) ⇒ (autoload "prolog" 169681 t nil)
¤³¤Î¾ì¹ç¡¢"prolog"
¤Ï¥í¡¼¥É¤¹¤Ù¤¥Õ¥¡¥¤¥ë¤Î̾Á°¤Ç¤¢¤ê¡¢
169681¤Ï¥Õ¥¡¥¤¥ëemacs/etc/DOC-version
¡Êsee Documentation Basics¡ËÆâ¤ÎÀâÌÀʸ»úÎó¤ò»Ø¤¹¡£
t
¤Ï´Ø¿ô¤¬ÂÐÏÃŪ¤Ç¤¢¤ë¤³¤È¤ò¼¨¤·¡¢
nil
¤Ï¥Þ¥¯¥í¤Ç¤â¥¡¼¥Þ¥Ã¥×¤Ç¤â¤Ê¤¤¤³¤È¤ò¼¨¤¹¡£
¼«Æ°¥í¡¼¥ÉÂоݤΥե¡¥¤¥ë¤Ç¤Ï¡¢Ä̾¾¤ÎÄêµÁ¤ä
Ê£¿ô¤Îµ¡Ç½¤òÄ󶡤·¤¿¤êɬÍפȤ·¤¿¤ê¤·¤Þ¤¹¡£
¡Ê¤½¤ÎÆâÍÆ¤Îɾ²ÁÃæ¤Î¥¨¥é¡¼¤Ê¤É¤Ç¡Ë¥Õ¥¡¥¤¥ë¤ò´°Á´¤Ë¥í¡¼¥É¤Ç¤¤Ê¤¤¤È¡¢
¥í¡¼¥ÉÃæ¤Ë¹Ô¤Ã¤¿´Ø¿ôÄêµÁ¤äprovide
¤Î¸Æ¤Ó½Ð¤·¤ò¤â¤È¤ËÌᤷ¤Þ¤¹¡£
¤½¤Î¥Õ¥¡¥¤¥ë¤«¤é¼«Æ°¥í¡¼¥É¤¹¤ëǤ°Õ¤Î´Ø¿ô¤ò¤Ä¤®¤Ë¸Æ¤Ó½Ð¤½¤¦¤È¤·¤¿¤È¤¤Ë¡¢
¤½¤Î¥Õ¥¡¥¤¥ë¤òºÆÅÙ¥í¡¼¥É¤¹¤ë¤³¤È¤òÊݾڤ¹¤ë¤¿¤á¤Ç¤¹¡£
¤³¤¦¤·¤Æ¤ª¤«¤Ê¤¤¤È¡¢
¼«Æ°¥í¡¼¥É¤ò¥¢¥Ü¡¼¥È¤·¤¿¥Õ¥¡¥¤¥ë¤Ç´Ø¿ô¤¬ÄêµÁ¤µ¤ì¤Æ¤â¡¢
¤½¤Î¥Õ¥¡¥¤¥ë¤Î¤¦¤·¤í¤ÎÉôʬ¤ÇÄêµÁ¤µ¤ì¤ë
¤½¤Î´Ø¿ô¤ËɬÍפʥµ¥Ö¥ë¡¼¥Æ¥£¥ó¤¬É¬¤º¤·¤â¥í¡¼¥É¤µ¤ì¤Ê¤¤¤¿¤á¤Ë
¤½¤Î´Ø¿ô¤¬Æ°ºî¤·¤Ê¤¤²ÄǽÀ¤¬¤¢¤ë¤«¤é¤Ç¤¹¡£
¼«Æ°¥í¡¼¥ÉÂоݤΥե¡¥¤¥ë¤ÇɬÍפÊLisp´Ø¿ô¤ä¥Þ¥¯¥í¤ÎÄêµÁ¤Ë¼ºÇÔ¤¹¤ë¤È¡¢
"Autoloading failed to define function function-name"
¤ò
ȼ¤Ã¤¿¥¨¥é¡¼¤òÄÌÃΤ·¤Þ¤¹¡£
¼«Æ°¥í¡¼¥É¤ò»ØÄꤹ¤ë¥Þ¥¸¥Ã¥¯¥³¥á¥ó¥È¤Ï¡¢
‘;;;###autoload’¤À¤±¤ò½ñ¤¤¤¿¹Ô¤Ç¤¢¤ê¡¢
¼«Æ°¥í¡¼¥ÉÂоݤΥ½¡¼¥¹¥Õ¥¡¥¤¥ë¾å¤Ç¼ÂºÝ¤Î´Ø¿ôÄêµÁ¤ÎľÁ°¤ËɬÍפǤ¹¡£
¥³¥Þ¥ó¥ÉM-x update-file-autoloads¤Ï¡¢
Âбþ¤¹¤ëautoload
¸Æ¤Ó½Ð¤·¤òloaddefs.el¤Ë½ñ¤¹þ¤ß¤Þ¤¹¡£
Emacs¹½ÃÛ»þ¤Ë¤Ïloaddefs.el¤ò¥í¡¼¥É¤¹¤ë¤Î¤Ç¡¢
autoload
¤ò¸Æ¤Ó½Ð¤·¤Þ¤¹¡£
M-x update-directory-autoloads¤Ï¤â¤Ã¤È¶¯ÎϤǡ¢
¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê¤Î¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤ËÂФ¹¤ë¼«Æ°¥í¡¼¥É¾ðÊó¤ò¹¹¿·¤·¤Þ¤¹¡£
Ʊ¤¸¥Þ¥¸¥Ã¥¯¥³¥á¥ó¥È¤Ï¡¢Ç¤°Õ¤Î¼ïÎà¤Î¥Õ¥©¡¼¥à¤òloaddefs.el¤Ë ¥³¥Ô¡¼¤Ç¤¤Þ¤¹¡£ ¥Þ¥¸¥Ã¥¯¥³¥á¥ó¥È¤Ë³¤¯¥Õ¥©¡¼¥à¤¬´Ø¿ôÄêµÁ¤Ç¤Ê¤¤¾ì¹ç¡¢ ¤½¤Î¥Õ¥©¡¼¥à¤ò¤½¤Î¤Þ¤Þ¥³¥Ô¡¼¤·¤Þ¤¹¡£ ¹½ÃÛ»þ¤Ë¤Ï¥Õ¥©¡¼¥à¤ò¼Â¹Ô¤·¤Æ¤â¡¢ ¥Õ¥¡¥¤¥ë¤Î¥í¡¼¥É»þ¤Ë¤Ï¤½¤Î¥Õ¥©¡¼¥à¤ò¼Â¹Ô¤·¤Ê¤¤¤è¤¦¤Ë ¥Þ¥¸¥Ã¥¯¥³¥á¥ó¥È¤ò»È¤¦¤³¤È¤â¤Ç¤¤Þ¤¹¡£ ¤½¤¦¤¹¤ë¤Ë¤Ï¡¢¥Þ¥¸¥Ã¥¯¥³¥á¥ó¥È¤ÈƱ¤¸¹Ô¤Ë¤½¤Î¥Õ¥©¡¼¥à¤ò½ñ¤¤Þ¤¹¡£ ¤¹¤ë¤È¤½¤ì¤Ï¥³¥á¥ó¥È¤Ê¤Î¤Ç¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò¥í¡¼¥É¤¹¤ë¤È¤¤Ë¤Ï¤Ê¤Ë¤â¤·¤Þ¤»¤ó¡£ °ìÊý¡¢M-x update-file-autoloads¤Ï¤½¤Î¥Õ¥©¡¼¥à¤òloaddefs.el¤Ë ¥³¥Ô¡¼¤¹¤ë¤Î¤Ç¡¢Emacs¹½ÃÛ»þ¤Ë¤Ï¼Â¹Ô¤µ¤ì¤ë¤Î¤Ç¤¹¡£
¤Ä¤®¤ÎÎã¤Ï¡¢¥Þ¥¸¥Ã¥¯¥³¥á¥ó¥È¤ò»È¤Ã¤Ædoctor
¤ò¼«Æ°¥í¡¼¥É¤¹¤ëÊýË¡¤Ç¤¹¡£
;;;###autoload (defun doctor () "Switch to *doctor* buffer and start giving psychotherapy." (interactive) (switch-to-buffer "*doctor*") (doctor-mode))
¤³¤¦¤¹¤ë¤È¡¢loaddefs.el¤Ç¤Ï¤Ä¤®¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
(autoload 'doctor "doctor" "\ Switch to *doctor* buffer and start giving psychotherapy." t)
¥À¥Ö¥ë¥¯¥©¡¼¥È¤Îľ¸å¤Ë¥Ð¥Ã¥¯¥¹¥é¥Ã¥·¥å¤ä²þ¹Ô¤ò½ñ¤¯´·½¬¤Ï¡¢
loaddefs.el¤Ê¤É¤Î
¤¢¤é¤«¤¸¤á¥í¡¼¥É¤¹¤ëLisp¥Õ¥¡¥¤¥ë¤ÎÃæ¤À¤±¤Ç»È¤¦¤â¤Î¤Ç¤¹¡£
¤³¤ì¤Ï¡¢make-docfile
¤ËÂФ·¤Æ¡¢
ÀâÌÀʸ»úÎó¤òetc/DOC¥Õ¥¡¥¤¥ë¤Ë½ñ¤¯¤è¤¦¤Ë»Ø¼¨¤·¤Þ¤¹¡£
See Building Emacs¡£