Next: , Previous: Visiting Files, Up: Files   [Contents][Index]


24.2 ¥Ð¥Ã¥Õ¥¡¤ÎÊݸ

Emacs¤Ç¥Õ¥¡¥¤¥ë¤òÊÔ½¸¤¹¤ë¤È¤­¤Ë¤Ï¡¢ ¥Õ¥¡¥¤¥ë¤òˬÌ䤷¤¿¥Ð¥Ã¥Õ¥¡¤ò¼ÂºÝ¤Ë¤Ï°·¤Ã¤Æ¤¤¤Þ¤¹¡£ ¤Ä¤Þ¤ê¡¢¥Õ¥¡¥¤¥ë¤ÎÆâÍÆ¤Ï¥Ð¥Ã¥Õ¥¡¤Ë¥³¥Ô¡¼¤µ¤ì¡¢ ¤½¤Î¥³¥Ô¡¼¤òÊÔ½¸¤·¤Æ¤¤¤ë¤Î¤Ç¤¹¡£ ¥Ð¥Ã¥Õ¥¡¤òÊѹ¹¤·¤Æ¤â¡¢Åö³º¥Ð¥Ã¥Õ¥¡¤òÊݸ¡Êsave¡Ë¤¹¤ë¤Þ¤Ç¡¢ ¤Ä¤Þ¤ê¡¢¥Ð¥Ã¥Õ¥¡¤ÎÆâÍÆ¤ò¥Õ¥¡¥¤¥ë¤Ø¥³¥Ô¡¼¤¹¤ë¤Þ¤Ç¤Ï¡¢ ¥Õ¥¡¥¤¥ë¤òÊѹ¹¤·¤Þ¤»¤ó¡£

¥³¥Þ¥ó¥É: save-buffer &optional backup-option

¤³¤Î´Ø¿ô¤Ï¡¢ºÇ¸å¤ËˬÌä¡¿Êݸ¤·¤Æ¤«¤é¥«¥ì¥ó¥È¥Ð¥Ã¥Õ¥¡¤¬Êѹ¹¤µ¤ì¤Æ¤¤¤ì¤Ð¡¢ ¥«¥ì¥ó¥È¥Ð¥Ã¥Õ¥¡¤ÎÆâÍÆ¤òˬÌ䤷¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¤ØÊݸ¤¹¤ë¡£

save-buffer¤Ï¡¢¥Ð¥Ã¥¯¥¢¥Ã¥×¤ÎºîÀ®¤ËÀÕǤ¤¬¤¢¤ë¡£ Ä̾backup-option¤Ïnil¤Ç¤¢¤ê¡¢ save-buffer¤Ï¡¢¥Õ¥¡¥¤¥ë¤òˬÌ䤷¤Æ¤«¤é ºÇ½é¤ËÊݸ¤¹¤ë¤È¤­¤Ë¤Î¤ß¥Ð¥Ã¥¯¥¢¥Ã¥×¥Õ¥¡¥¤¥ë¤òºîÀ®¤¹¤ë¡£ backup-option¤¬Ê̤ÎÃͤǤ¢¤ë¤È¡¢ Ê̤ξìÌ̤Ǥâ¥Ð¥Ã¥¯¥¢¥Ã¥×¥Õ¥¡¥¤¥ë¤òºîÀ®¤¹¤ë¤³¤È¤ò»Ø¼¨¤¹¤ë¡£

¥³¥Þ¥ó¥É: save-some-buffers &optional save-silently-p exiting

¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢¥Õ¥¡¥¤¥ë¤òˬÌ䤷¤Æ¤¤¤ëÊѹ¹¤µ¤ì¤¿¥Ð¥Ã¥Õ¥¡¤òÊݸ¤¹¤ë¡£ Ä̾³Æ¥Ð¥Ã¥Õ¥¡¤Ë¤Ä¤¤¤Æ¥æ¡¼¥¶¡¼¤ËÌ䤤¹ç¤ï¤»¤ë¡£ ¤·¤«¤·¡¢save-silently-p¤¬nil°Ê³°¤Ç¤¢¤ë¤È¡¢ ¥æ¡¼¥¶¡¼¤ËÌ䤤¹ç¤ï¤»¤º¤Ë¥Õ¥¡¥¤¥ë¤òˬÌ䤷¤Æ¤¤¤ë¥Ð¥Ã¥Õ¥¡¤ò¤¹¤Ù¤ÆÊݸ¤¹¤ë¡£

¾Êά²Äǽ¤Ê°ú¿ôexiting¤¬nil°Ê³°¤Ç¤¢¤ë¤È¡¢ ¤³¤Î´Ø¿ô¤Ï¡¢¥Õ¥¡¥¤¥ë¤òˬÌ䤷¤Æ¤¤¤Ê¤¤¤¢¤ë¼ï¤Î¥Ð¥Ã¥Õ¥¡¤òÊݸ¤¹¤ëµ¡²ñ¤âÍ¿¤¨¤ë¡£ buffer-offer-save¤Î¥Ð¥Ã¥Õ¥¡¥í¡¼¥«¥ë¤ÊÃͤ¬ nil°Ê³°¤Î¥Ð¥Ã¥Õ¥¡¤¬ÂоݤȤʤ롣 ¡Ê¥æ¡¼¥¶¡¼¤¬¤³¤ì¤é¤Î¥Ð¥Ã¥Õ¥¡¤Î1¤Ä¤òÊݸ¤¹¤ë¤è¤¦¤ËÅú¤¨¤ë¤È¡¢ ¥Õ¥¡¥¤¥ë̾¤ò»ØÄꤹ¤ë¤è¤¦¤Ëʹ¤¤¤Æ¤¯¤ë¡£¡Ë ´Ø¿ôsave-buffers-kill-emacs¤Ï¡¢ ¤³¤Î°ú¿ô¤Ënil°Ê³°¤ÎÃͤòÅϤ¹¡£

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

¤³¤Î´Ø¿ô¤Ï¡¢¥«¥ì¥ó¥È¥Ð¥Ã¥Õ¥¡¤ò¥Õ¥¡¥¤¥ëfilename¤ËÊݸ¤·¡¢ Åö³º¥Õ¥¡¥¤¥ë¤òˬÌ䤷¤Æ¤¤¤ë¥Ð¥Ã¥Õ¥¡¤È¤·¡¢¤µ¤é¤Ë̤Êѹ¹¤È¤¤¤¦°õ¤òÉÕ¤±¤ë¡£ ³¤¤¤Æ¡¢¥Ð¥Ã¥Õ¥¡Ì¾¤ò°ì°Õ¤Ë¤¹¤ë¤¿¤á¤ËɬÍפʤé¤Ð‘<2>’¤Î¤è¤¦¤Ê ʸ»úÎó¤òÉղ䷤ơ¢¥Ð¥Ã¥Õ¥¡¤òfilename¤Ë´ð¤Å¤¤¤¿Ì¾Á°¤Ë²þ̾¤¹¤ë¡£ ¤³¤Î½èÍý¤Î¤Û¤È¤ó¤É¤Ï¡¢set-visited-file-name¡Êsee Buffer File Name¡Ë ¤Èsave-buffer¤ò¸Æ¤Ó½Ð¤·¤Æ¹Ô¤¦¡£

¥Ð¥Ã¥Õ¥¡¤òÊݸ¤¹¤ë¤È¡¢¤¤¤¯¤Ä¤«¤Î¥Õ¥Ã¥¯¤ò¼Â¹Ô¤·¤Þ¤¹¡£ ¤Þ¤¿¡¢½ñ¼°ÊÑ´¹¡Êsee Format Conversion¡Ë¤ò¹Ô¤¤¡¢ ¥Æ¥­¥¹¥È°À­¤ò¡ØÃíµ­¡Ù¡Êannotations¡Ë¡Êsee Saving Properties¡Ë¤Ë Êݸ¤¹¤ë¤³¤È¤â¤¢¤ê¤Þ¤¹¡£

Variable: write-file-hooks

¤³¤ÎÊÑ¿ô¤ÎÃͤϡ¢¥Ð¥Ã¥Õ¥¡¤òˬÌ䤷¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¤Ë½ñ¤­½Ð¤¹¤Þ¤¨¤Ë ¸Æ¤Ð¤ì¤ë´Ø¿ô¤Î¥ê¥¹¥È¤Ç¤¢¤ë¡£ ¤½¤ì¤é¤Î1¤Ä¤¬nil°Ê³°¤òÊÖ¤¹¤È¡¢¤¹¤Ç¤Ë¥Õ¥¡¥¤¥ë¤Ë½ñ¤­½Ð¤·¤¿¤È¤ß¤Ê¤·¤Æ »Ä¤ê¤Î´Ø¿ô¤ò¸Æ¤Ó½Ð¤µ¤º¡¢¥Õ¥¡¥¤¥ë¤Ë½ñ¤­½Ð¤¹¤¿¤á¤ÎÄ̾ï¤Î¥³¡¼¥É¤â¼Â¹Ô¤·¤Ê¤¤¡£

write-file-hooks¤Î´Ø¿ô¤¬nil°Ê³°¤òÊÖ¤¹¤È¤­¤Ë¤Ï¡¢ ¤½¤Î´Ø¿ô¤Ë¤Ï¡ÊɬÍפʤé¤Ð¡Ë¥Ð¥Ã¥¯¥¢¥Ã¥×¥Õ¥¡¥¤¥ë¤òºîÀ®¤¹¤ëÀÕǤ¤¬¤¢¤ë¡£ ¤½¤Î¤¿¤á¤Ë¤Ï¤Ä¤®¤Î¥³¡¼¥É¤ò¼Â¹Ô¤¹¤ë¡£

(or buffer-backed-up (backup-buffer))

backup-buffer¤¬ÊÖ¤·¤¿¥Õ¥¡¥¤¥ë¥â¡¼¥É¤ÎÃͤòÊݸ¤·¤Æ¤ª¤­¡¢ ÆÉ¼Ô¤¬½ñ¤¯¥Õ¥¡¥¤¥ë¤Î¥â¡¼¥É¤Ë¤½¤ÎÃͤò»È¤¤¤¿¤¤¾ì¹ç¤¬¤¢¤ë¡£ save-buffer¤ÏÄ̾綠¤Î¤è¤¦¤Ë¤¹¤ë¡£

write-file-hooks¤Î¥Õ¥Ã¥¯´Ø¿ô¤Ï¡¢ ¡ÊɬÍפʤé¤Ð¡Ë¥Ç¡¼¥¿¤ÎÉ乿²½¤Ë¤âÀÕǤ¤¬¤¢¤ë¡£ ŬÀڤʥ³¡¼¥Ç¥£¥ó¥°¥·¥¹¥Æ¥à¡Êsee Lisp and Coding Systems¡Ë¤òÁª¤Ó¡¢ É乿²½¡Êsee Explicit Encoding¡Ë¤ò¹Ô¤¤¡¢ »ÈÍѤ·¤¿¥³¡¼¥Ç¥£¥ó¥°¥·¥¹¥Æ¥à¤òlast-coding-system-used¤ËÀßÄꤹ¤ë ¡Êsee Encoding and I/O¡Ë¡£

¤³¤ÎÊÑ¿ô¤ò¥Ð¥Ã¥Õ¥¡¥í¡¼¥«¥ë¤Ë¤Ï¤·¤Ê¤¤¤³¤È¡£ ¥Ð¥Ã¥Õ¥¡¸ÇÍ­¤Î¥Õ¥Ã¥¯´Ø¿ô¤ò»ØÄꤹ¤ë¤Ë¤Ï¡¢ ¤«¤ï¤ê¤Ëwrite-contents-hooks¤ò»È¤¦¡£

¤³¤ì¤Ï¥Î¡¼¥Þ¥ë¥Õ¥Ã¥¯¤Ç¤Ï¤Ê¤¤¤¬¡¢ add-hook¤Èremove-hook¤Ç¥ê¥¹¥È¤ò°·¤¨¤ë¡£ see Hooks¡£

Variable: local-write-file-hooks

¤³¤ì¤Ïwrite-file-hooks¤Î¤è¤¦¤ËƯ¤¯¤¬¡¢ ÆÃÄê¤Î¥Ð¥Ã¥Õ¥¡¤Ë¥Ð¥Ã¥Õ¥¡¥í¡¼¥«¥ë¤Ë¤¹¤ë¤è¤¦¤Ë°Õ¿Þ¤·¤Æ¤¢¤ê¡¢ ¥Õ¥¡¥¤¥ë̾¤Ë´Ø¤¹¤ë¥Õ¥Ã¥¯¤ä¥Ð¥Ã¥Õ¥¡ÆâÍÆ¤òÆÀ¤¿ÊýË¡¤Ë´Ø¤¹¤ë ¥Õ¥Ã¥¯¤È¤·¤Æ»È¤ï¤ì¤ë¡£

ÊÑ¿ô¤Ï¹±µ×Ū¤Ë¥Ð¥Ã¥Õ¥¡¥í¡¼¥«¥ë¤È°õ¤¬ÉÕ¤¤¤Æ¤¤¤ë¤Î¤Ç¡¢ ¥á¥¸¥ã¡¼¥â¡¼¥É¤òÊѹ¹¤·¤Æ¤â¥Ð¥Ã¥Õ¥¡¥í¡¼¥«¥ë¤ÊÃͤÏÊѹ¹¤µ¤ì¤Ê¤¤¡£ ¤³¤ì¤Ï¡¢¡Ø¥Õ¥¡¥¤¥ë¡Ù¤ÎÆâÍÆ¤òÆÃÊ̤ÊÊýË¡¤ÇÆÉ¤ß¹þ¤ß¡¢ Âбþ¤·¤¿ÊýË¡¤Ç¥Ç¡¼¥¿¤òÊݸ¤¹¤ë¥Õ¥Ã¥¯¤òÀßÄꤹ¤ë¤è¤¦¤Ê¥Ñ¥Ã¥±¡¼¥¸¤Ë¤ÏÊØÍø¤Ç¤¢¤ë¡£

Variable: write-contents-hooks

¤³¤ÎÊÑ¿ô¤Ïwrite-file-hooks¤Î¤è¤¦¤ËƯ¤¯¤¬¡¢ ¥Õ¥¡¥¤¥ë¤Î¾ì½ê¤Ë´Ø¤¹¤ë¥Õ¥Ã¥¯¤Ç¤Ï¤Ê¤¯¡¢ ¥Õ¥¡¥¤¥ë¤ÎÆâÍÆ¤Ë´Ø¤¹¤ë¥Õ¥Ã¥¯¤Ç¤¢¤ë¤È°Õ¿Þ¤µ¤ì¤Æ¤¤¤ë¡£ ¤½¤Î¤è¤¦¤Ê¥Õ¥Ã¥¯¤Ï¡¢¤³¤ÎÊÑ¿ô¤Î¥Ð¥Ã¥Õ¥¡¥í¡¼¥«¥ë¤Ê«Çû¤È¤·¤Æ ¥á¥¸¥ã¡¼¥â¡¼¥É¤¬Ä̾ïÀßÄꤹ¤ë¡£

¤³¤ÎÊÑ¿ô¤ËÀßÄꤹ¤ë¤È¼«Æ°Åª¤Ë¥Ð¥Ã¥Õ¥¡¥í¡¼¥«¥ë¤Ë¤Ê¤ë¡£ ¤³¤Î¥Õ¥Ã¥¯¤ËÍ×ÁǤòÄɲ乤뤿¤á¤Ëadd-hooks¤ò»È¤¦¤È¤­¤Ë¤Ï¡¢ °ú¿ôlocal¤Ënil°Ê³°¤ò»ØÄꤷ¤Ê¤¤¤³¤È¡£ ¤³¤ÎÊÑ¿ô¤Ï¥Ð¥Ã¥Õ¥¡¥í¡¼¥«¥ë¤Î¤ß¤Ç¤¢¤ë¤«¤é¤Ç¤¢¤ë¡£

Variable: after-save-hook

¤³¤Î¥Î¡¼¥Þ¥ë¥Õ¥Ã¥¯¤Ï¡¢¥Ð¥Ã¥Õ¥¡¤òˬÌ䤷¤¿¥Õ¥¡¥¤¥ë¤Ë Êݸ¤·½ª¤¨¤Æ¤«¤é¼Â¹Ô¤µ¤ì¤ë¡£ ¤³¤Î¥Õ¥Ã¥¯¤ÎÍÑÅÓ¤Î1¤Ä¤Ï¹â®¥í¥Ã¥¯¡Êfast-lock¡Ë¥â¡¼¥É¤Ç¤¢¤ë¡£ ¤³¤Î¥Õ¥Ã¥¯¤ò»È¤Ã¤Æ¶¯Ä´É½¼¨¾ðÊó¤ò¥­¥ã¥Ã¥·¥å¥Õ¥¡¥¤¥ë¤ËÊݸ¤¹¤ë¡£

Variable: file-precious-flag

¤³¤ÎÊÑ¿ô¤¬nil°Ê³°¤Ê¤é¤Ð¡¢ save-buffer¤ÏÊݸ½èÍýÃæ¤ÎÆþ½ÐÎÏ¥¨¥é¡¼¤ËÈ÷¤¨¤ÆÂн褹¤ë¡£ ¤Ä¤Þ¤ê¡¢ÌÜŪ¤Î̾Á°¤Î¥Õ¥¡¥¤¥ë¤Ë¤Ç¤Ï¤Ê¤¯°ì»þŪ¤Ê̾Á°¤Î¿·µ¬¥Õ¥¡¥¤¥ë¤Ë½ñ¤­½Ð¤·¡¢ ¥¨¥é¡¼¤¬¤Ê¤¤¤³¤È¤ò³Îǧ¤·¤Æ¤«¤éÌÜŪ¤Î̾Á°¤Ë²þ̾¤¹¤ë¡£ ¤³¤ì¤Ë¤è¤ê¡¢ÉÔÀµ¤Ê¥Õ¥¡¥¤¥ë¤Ëµ¯°ø¤¹¤ëÌäÂ꤫¤é¥Ç¥£¥¹¥¯ÍÆÎ̤ÎÉÔ­¤È¤¤¤Ã¤¿ ÌäÂê¤ò²óÈò¤Ç¤­¤ë¡£

ÉûºîÍѤȤ·¤Æ¡¢¥Ð¥Ã¥¯¥¢¥Ã¥×¤âɬÁ³Åª¤Ë¥³¥Ô¡¼¤·¤Æ¹Ô¤¦¡£ see Rename or Copy¡£ ¤½¤ì¤ÈƱ»þ¤Ë¡¢Âç»ö¤Ê¡Êprecious¡Ë¥Õ¥¡¥¤¥ë¤È¤·¤ÆÊݸ¤¹¤ë¤È¡¢ ÆÉ¼Ô¤¬Êݸ¤·¤¿¥Õ¥¡¥¤¥ë¤ÈÊ̤Υե¡¥¤¥ë̾¤È¤Î¤¢¤¤¤À¤Î ¥Ï¡¼¥É¥ê¥ó¥¯¤ò¤Ä¤Í¤ËÀڤäƤ·¤Þ¤¦¡£

ÆÃÄê¤Î¥Ð¥Ã¥Õ¥¡¤Ç¤Ï¤³¤ÎÊÑ¿ô¤Ënil°Ê³°¤Î¥Ð¥Ã¥Õ¥¡¥í¡¼¥«¥ë¤ÊÃͤò »ØÄꤹ¤ë¥â¡¼¥É¤â¤¢¤ë¡£

User Option: require-final-newline

¤³¤ÎÊÑ¿ô¤Ï¡¢²þ¹Ô¤Ç½ª¤é¤Ê¤¤¥Õ¥¡¥¤¥ë¤ò½ñ¤­½Ð¤¹¤«¤É¤¦¤«¤ò·èÄꤹ¤ë¡£ ¤³¤ÎÊÑ¿ô¤ÎÃͤ¬t¤Ç¤¢¤ë¤È¡¢save-buffer¤Ï¡¢ Êݸ¤¹¤ë¥Ð¥Ã¥Õ¥¡¤¬²þ¹Ô¤Ç½ª¤Ã¤Æ¤¤¤Ê¤¤¤ÈÌۤäƥե¡¥¤¥ë¤ÎËöÈø¤Ë²þ¹Ô¤òÄɲ乤롣 ¤³¤ÎÊÑ¿ô¤ÎÃͤ¬t¤Ç¤Ï¤Ê¤¤nil°Ê³°¤Ç¤¢¤ë¤È¡¢ save-buffer¤Ï¡¢É¬ÍפʾìÌÌ¤Ç¤Ï ²þ¹Ô¤òÄɲ乤뤫¤É¤¦¤«¥æ¡¼¥¶¡¼¤ËÌ䤤¹ç¤ï¤»¤ë¡£

¤³¤ÎÊÑ¿ô¤ÎÃͤ¬nil¤Ç¤¢¤ë¤È¡¢save-buffer¤Ï²þ¹Ô¤òÄɲ䷤ʤ¤¡£ ¥Ç¥Õ¥©¥ë¥ÈÃͤÏnil¤Ç¤¢¤ë¤¬¡¢ÆÃÄê¤Î¥Ð¥Ã¥Õ¥¡¤Ç¤Ït¤Ë ÀßÄꤹ¤ë¥á¥¸¥ã¡¼¥â¡¼¥É¤â¤¢¤ë¡£

´Ø¿ôset-visited-file-name¡Êsee Buffer File Name¡Ë¤â »²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£