branch: externals/vc-backup
commit e819fdcd96c16afba8e9c6c7b6438c523ab4ee26
Author: Alfred M. Szmidt <a...@gnu.org>
Commit: Philip Kaludercic <phil...@posteo.net>

    Match backup file using to use file-name-version-regexp
---
 vc-backup.el | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/vc-backup.el b/vc-backup.el
index ee0665a..9100974 100644
--- a/vc-backup.el
+++ b/vc-backup.el
@@ -159,8 +159,8 @@ If FILE-OR-BACKUP is the actual file, the value of
 version number as a string or the value of
 `vc-backup--previous-tag' for unversioned backups."
   (cond ((not (backup-file-name-p file-or-backup)) vc-backup--current-tag)
-       ((string-match "\\.~\\([[:digit:]]+\\)~\\'" file-or-backup)
-        (match-string 1 file-or-backup))
+       ((string-match (concat file-name-version-regexp "\\'") file-or-backup)
+        (substring file-or-backup (match-beginning 0)))
        (t vc-backup--previous-tag)))
 
 (defun vc-backup--list-backup-versions (file)
@@ -299,7 +299,7 @@ The results are written into BUFFER."
        (let* ((attr (file-attributes (cdr rev)))
               (stime (file-attribute-modification-time attr))
               (sdate (format-time-string "%c" stime)))
-         (insert (format "v%s\tFrom %s\n" (car rev) sdate)))))
+         (insert (format "v%-25s%s\n" (car rev) sdate)))))
     (goto-char (point-min))
     (forward-line 2))
   'limit-unsupported)
@@ -313,7 +313,7 @@ The results are written into BUFFER."
 (define-derived-mode vc-backup-log-view-mode log-view-mode "Backup Log"
   "VC-Log Mode for Backup."
   (setq-local log-view-file-re "\\`Backups for \\(.+\\)$")
-  (setq-local log-view-message-re "^v\\([[:alnum:]]+\\)"))
+  (setq-local log-view-message-re (concat "^v\\(" file-name-version-regexp 
"\\)")))
 
 ;; - show-log-entry (revision)
 
@@ -325,14 +325,14 @@ The results are written into BUFFER."
   "Generate a diff for FILES between versions REV1 and REV2.
 BUFFER and ASYNC as interpreted as specified in vc.el."
   (cl-assert (= (length files) 1))
+  (setq rev1 (or rev1 vc-backup--current-tag))
   (setq rev2 (or rev2 (vc-backup--last-rev files)))
   (save-window-excursion
     (let ((dirty nil))
       (dolist (file files)
        (let ((diff (diff-no-select
                     (vc-backup--get-backup-file file rev2)
-                    (vc-backup--get-backup-file
-                     file (or rev1 vc-backup--current-tag))
+                    (vc-backup--get-backup-file file rev1)
                     (vc-switches 'Backup 'diff)
                     (not async)
                     (get-buffer (or buffer "*vc-diff*")))))

Reply via email to