From 3602ccebf6716870f82a229a34dfa80d12b60142 Mon Sep 17 00:00:00 2001 From: Sam Steingold Date: Thu, 28 Feb 2013 11:34:51 -0500 Subject: [PATCH] * lisp/vc/diff-mode.el (diff-hunk-file-names): Handle filenames with spaces. See . --- lisp/ChangeLog | 5 +++++ lisp/vc/diff-mode.el | 9 ++++++--- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 75fc2e77a0c..5713734fd80 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2013-02-28 Sam Steingold + + * vc/diff-mode.el (diff-hunk-file-names): Handle filenames with spaces. + See . + 2013-02-28 Thierry Volpiatto * net/net-utils.el (net-utils--revert-function): New fun (bug#13831). diff --git a/lisp/vc/diff-mode.el b/lisp/vc/diff-mode.el index 940457b6cc0..d9224b29c2e 100644 --- a/lisp/vc/diff-mode.el +++ b/lisp/vc/diff-mode.el @@ -821,9 +821,11 @@ If the OLD prefix arg is passed, tell the file NAME of the old file." (progn (diff-hunk-prev) (point)) (error (point-min))))) (header-files - (if (looking-at "[-*][-*][-*] \\(\\S-+\\)\\(\\s-.*\\)?\n[-+][-+][-+] \\(\\S-+\\)") - (list (if old (match-string 1) (match-string 3)) - (if old (match-string 3) (match-string 1))) + ;; handle filenames with spaces; + ;; cf. diff-font-lock-keywords / diff-file-header-face + (if (looking-at "[-*][-*][-*] \\([^\t]+\\)\t.*\n[-+][-+][-+] \\([^\t]+\\)") + (list (if old (match-string 1) (match-string 2)) + (if old (match-string 2) (match-string 1))) (forward-line 1) nil))) (delq nil (append @@ -832,6 +834,7 @@ If the OLD prefix arg is passed, tell the file NAME of the old file." (re-search-backward "^Index: \\(.+\\)" limit t))) (list (match-string 1))) header-files + ;; this assumes that there are no spaces in filenames (when (re-search-backward "^diff \\(-\\S-+ +\\)*\\(\\S-+\\)\\( +\\(\\S-+\\)\\)?" nil t) -- 2.39.2