Previous: Numbered Backups, Up: Backup Files   [Contents][Index]


25.1.4 ¥Ð¥Ã¥¯¥¢¥Ã¥×¥Õ¥¡¥¤¥ë¤Î̿̾ÊýË¡

ËÜÀá¤Î´Ø¿ô¤Ï¡¢¤½¤ì¤é¤òºÆÄêµÁ¤¹¤ë¤³¤È¤Ç¥Ð¥Ã¥¯¥¢¥Ã¥×¥Õ¥¡¥¤¥ë¤Î̿̾ÊýË¡¤ò ¥«¥¹¥¿¥Þ¥¤¥º¤Ç¤­¤ë¤¿¤á¡¢¤³¤³¤Ç½Ò¤Ù¤ë¤³¤È¤Ë¤·¤Þ¤¹¡£ ¤É¤ì¤«1¤Ä¤òÊѹ¹¤¹¤ë¤È¡¢»Ä¤ê¤Î¤â¤Î¤âÊѹ¹¤¹¤ëɬÍפ¬¤¢¤ë¤Ç¤·¤ç¤¦¡£

Function: backup-file-name-p filename

¤³¤Î´Ø¿ô¤Ï¡¢filename¤¬¥Ð¥Ã¥¯¥¢¥Ã¥×¥Õ¥¡¥¤¥ë¤Î̾Á°¤Ç¤¢¤ë ²ÄǽÀ­¤¬¤¢¤ë¤Ènil°Ê³°¤ÎÃͤòÊÖ¤¹¡£ filename¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤¹¤ëɬÍפϤʤ¯¡¢ ¤³¤Î´Ø¿ô¤Ïñ¤Ë̾Á°¤À¤±¤ò¸¡ºº¤¹¤ë¡£

(backup-file-name-p "foo")
     ⇒ nil
(backup-file-name-p "foo~")
     ⇒ 3

¤³¤Î´Ø¿ô¤Îɸ½àÄêµÁ¤Ï¤Ä¤®¤Î¤È¤ª¤ê¤Ç¤¢¤ë¡£

(defun backup-file-name-p (file)
  "Return non-nil if FILE is a backup file \
name (numeric or not)..."
  (string-match "~$" file))

¤·¤¿¤¬¤Ã¤Æ¡¢¥Õ¥¡¥¤¥ë̾¤¬‘~’¤Ç½ª¤Ã¤Æ¤¤¤ë¤È¡¢ ¤³¤Î´Ø¿ô¤Ïnil°Ê³°¤ÎÃͤòÊÖ¤¹¡£ ¡ÊÀâÌÀʸ»úÎó¤ò2¹Ô¤Ëʬ¤±¤ë¤¿¤á¤Ë¥Ð¥Ã¥¯¥¹¥é¥Ã¥·¥å¤ò»È¤Ã¤Æ¤¤¤ë¤¬¡¢ ʸ»úÎó¤È¤·¤Æ¤Ï1¹Ô¤Ë¤Ê¤ë¡£¡Ë

¥«¥¹¥¿¥Þ¥¤¥º¤Î¤¿¤á¤ËºÆÄêµÁ¤·¤ä¤¹¤¤¤è¤¦¤Ë¡¢ ¤³¤Îñ½ã¤Ê¼°¤òÆÈΩ¤·¤¿´Ø¿ô¤Ë¤·¤Æ¤¢¤ë¡£

Function: make-backup-file-name filename

¤³¤Î´Ø¿ô¤Ï¡¢¥Õ¥¡¥¤¥ëfilename¤ËÂФ¹¤ë ÈÖ¹æ¤Ê¤·¥Ð¥Ã¥¯¥¢¥Ã¥×¥Õ¥¡¥¤¥ë¤Ë»È¤¦Ì¾Á°¤òɽ¤¹Ê¸»úÎó¤òÊÖ¤¹¡£ UNIX¤Ç¤Ï¡¢Ã±¤Ëfilename¤ÎËöÈø¤Ë¥Æ¥£¥ë¥À¤òÉղä·¤¿¤â¤Î¤Ç¤¢¤ë¡£

¤Û¤È¤ó¤É¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Ç¤Ï¡¢ ¤³¤Î´Ø¿ô¤Îɸ½àÄêµÁ¤Ï¤Ä¤®¤Î¤È¤ª¤ê¤Ç¤¢¤ë¡£

(defun make-backup-file-name (file)
  "Create the non-numeric backup file name for FILE..."
  (concat file "~"))

¤³¤Î´Ø¿ô¤òºÆÄêµÁ¤¹¤ì¤Ð¡¢¥Ð¥Ã¥¯¥¢¥Ã¥×¥Õ¥¡¥¤¥ë¤Î̿̾ÊýË¡¤òÊѹ¹¤Ç¤­¤ë¡£ ¤Ä¤®¤ÎÎã¤Ç¤Ï¡¢¥Æ¥£¥ë¥À¤Ë²Ã¤¨¤ÆÀèÆ¬¤Ë‘.’¤òÉÕ¤±¤ë¤è¤¦¤Ë make-backup-file-name¤òºÆÄêµÁ¤¹¤ë¡£

(defun make-backup-file-name (filename)
  (expand-file-name
    (concat "." (file-name-nondirectory filename) "~")
    (file-name-directory filename)))
(make-backup-file-name "backups.texi")
     ⇒ ".backups.texi~"

dired¥³¥Þ¥ó¥É¤ò´Þ¤á¤ÆEmacs¤Ë¤Ï¡¢ ¥Ð¥Ã¥¯¥¢¥Ã¥×¥Õ¥¡¥¤¥ë¤Ï‘~’¤Ç½ª¤ë¤È²¾Äꤷ¤Æ¤¤¤ë¤â¤Î¤¬¤¢¤ë¡£ ¤³¤Î´·½¬¤Ë½¾¤ï¤Ê¤¤¾ì¹ç¡¢½ÅÂç¤ÊÌäÂê¤Ë¤Ï»ê¤é¤Ê¤¤¤Ç¤¢¤í¤¦¤¬¡¢ ¤½¤ì¤é¤Î¥³¥Þ¥ó¥É¤¬¤¢¤Þ¤ê˾¤Þ¤·¤¯¤Ê¤¤·ë²Ì¤ò¤â¤¿¤é¤¹¤«¤â¤·¤ì¤Ê¤¤¡£

Function: find-backup-file-name filename

¤³¤Î´Ø¿ô¤Ï¡¢filename¤ËÂФ¹¤ë¿·¤¿¤Ê¥Ð¥Ã¥¯¥¢¥Ã¥×¥Õ¥¡¥¤¥ë¤Î ¥Õ¥¡¥¤¥ë̾¤ò·×»»¤¹¤ë¡£ ¤µ¤é¤Ë¡¢ºï½ü¤¹¤Ù¤­´û¸¤Î¥Ð¥Ã¥¯¥¢¥Ã¥×¥Õ¥¡¥¤¥ë¤â·×»»¤¹¤ë¡£ find-backup-file-name¤Ï¡¢ CAR¤Ë¿·¤¿¤Ê¥Ð¥Ã¥¯¥¢¥Ã¥×¥Õ¥¡¥¤¥ë¤Î̾Á°¡¢ CDR¤Ëºï½ü¤¹¤Ù¤­¥Ð¥Ã¥¯¥¢¥Ã¥×¥Õ¥¡¥¤¥ë¤Î¥ê¥¹¥È¤ò»ý¤Ä¥ê¥¹¥È¤òÊÖ¤¹¡£

2¤Ä¤ÎÊÑ¿ô¡¢kept-old-versions¤Èkept-new-versions¤Ï¡¢ ¤É¤Î¥Ð¥Ã¥¯¥¢¥Ã¥×¤òÊݸ¤¹¤Ù¤­¤«¤ò·èÄꤹ¤ë¡£ ¤³¤Î´Ø¿ô¤Ï¡¢ÃͤÎCDR¤Ç¤Ï¤½¤ì¤é¤Î¥Ð¥Ã¥¯¥¢¥Ã¥×¥Õ¥¡¥¤¥ë¤Ï ½ü³°¤·¤Æ¤¢¤ë¡£ see Numbered Backups¡£

¤Ä¤®¤ÎÎã¤ÎÃͤǤϡ¢~rms/foo.~5~¤¬ ¿·¤¿¤Ê¥Ð¥Ã¥¯¥¢¥Ã¥×¥Õ¥¡¥¤¥ë¤Î̾Á°¤Ç¤¢¤ê¡¢ ~rms/foo.~3~¤¬¡ØÈϰϳ°¡Ù¤Î¤â¤Î¤Ç¤¢¤ê¡¢ ¸Æ¤Ó½Ð¤·Â¦¤Çºï½ü¤¹¤ë¤«¤É¤¦¤«¹Íθ¤¹¤Ù¤­¤Ç¤¢¤ë¡£

(find-backup-file-name "~rms/foo")
     ⇒ ("~rms/foo.~5~" "~rms/foo.~3~")
Function: file-newest-backup filename

¤³¤Î´Ø¿ô¤Ï¡¢filename¤ÎºÇ¿·¤Î¥Ð¥Ã¥¯¥¢¥Ã¥×¥Õ¥¡¥¤¥ë¤Î̾Á°¤òÊÖ¤¹¡£ Åö³º¥Õ¥¡¥¤¥ë¤Ë¥Ð¥Ã¥¯¥¢¥Ã¥×¥Õ¥¡¥¤¥ë¤¬¤Ê¤±¤ì¤Ðnil¤òÊÖ¤¹¡£

¥Õ¥¡¥¤¥ë¤òÈæ³Ó¤¹¤ë¥³¥Þ¥ó¥É¤Î¤Ê¤«¤Ë¤Ï¡¢ ºÇ¿·¤Î¥Ð¥Ã¥¯¥¢¥Ã¥×¥Õ¥¡¥¤¥ë¤È¼«Æ°Åª¤ËÈæ³Ó¤Ç¤­¤ë¤è¤¦¤Ë ¤³¤Î´Ø¿ô¤ò»È¤¦¤â¤Î¤¬¤¢¤ë¡£