2013-02-06 10 views
10

git format-patch(統一されたパッチフォーマット)を使って作成されたdiffファイルがある場合、ファイル内のそれぞれの場所に移動するためにCc Ccを使用できるように、同じファイルをemacsでロードするにはどうすればよいですか?ディレクトリ名には、ウィンドウ上にスペースが含まれています。スペースでemacs diffを使うにはどうすればいいですか?

私のプロジェクトには、スペースを含む多くのファイル名とディレクトリ名が含まれています。

+1

あなたはバグを報告する必要がありますか?それはWindows上でさえもうまくいくはずです。 – tripleee

+0

バグであっても、回避策が必要です。 – Arafangion

+0

これを試してみると、「ファイルの先頭が見つかりません」というエラーが表示されます。これはあなたが得るものですか? – razeh

答えて

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のソースツリーにそれをコミットします。

+0

遅れて申し訳ありませんが、あなたのパッチは意味をなさないが、単に空白で区切られているのではなく関連する場合はタブ区切りではありません。私はそれをテストすることができたときに賞金を追加することを検討します。 :) – Arafangion

関連する問題