鉴于使用git format-patch(统一补丁格式)创建的diff文件,如何在emacs中加载相同的文件,以便我可以使用Cc Cc转到文件中的相应位置,即使文件也是如此或目录名称在Windows上包含空格。
我的项目包含许多包含空格的文件和目录名称。
答案 0 :(得分:3)
这似乎是Emacs中的一个错误。 这是一个补丁,似乎可以解决它:
=== modified file 'lisp/vc/diff-mode.el'
--- lisp/vc/diff-mode.el 2013-01-02 16:13:04 +0000
+++ lisp/vc/diff-mode.el 2013-02-26 05:08:48 +0000
@@ -821,9 +821,11 @@ If the OLD prefix arg is passed, tell th
(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
如果没有异议,我会将它提交给Emacs bzr源代码树。