2013-02-06 19 views
10

Cho một tệp khác được tạo bằng cách sử dụng định dạng vá git (trong định dạng vá thống nhất), làm cách nào để tải cùng một tệp đó trong các emacs sao cho tôi có thể sử dụng Cc Cc để đi đến vị trí tương ứng trong tệp, ngay cả khi tệp hoặc tên thư mục chứa khoảng trắng, trên cửa sổ.Làm cách nào để sử dụng các emacs khác biệt với không gian?

Dự án của tôi chứa rất nhiều tên tệp và thư mục chứa khoảng trắng.

+1

Có vẻ như bạn nên gửi lỗi? Nó phải làm việc, ngay cả trên Windows. – tripleee

+0

Ngay cả khi đó là một lỗi, cần có một cách giải quyết khác. – Arafangion

+0

Khi tôi thử điều này, tôi gặp lỗi "Không thể tìm thấy phần đầu của tệp". Đây là những gì bạn nhận được? – razeh

Trả lời

3

Điều này dường như là lỗi trong Emacs. Đây là một bản vá mà dường như để sửa chữa nó cho tôi:

=== 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 

tôi sẽ cam kết nó vào cây nguồn bzr Emacs nếu có sẽ không có sự phản đối.

+0

Xin lỗi vì sự chậm trễ, tuy nhiên bản vá của bạn có ý nghĩa, thay vì chỉ đơn thuần là khoảng trắng được tách ra, bạn không được phân tách bằng tab nếu có liên quan. Tôi sẽ xem xét thêm một tiền thưởng cho nó khi tôi đã có thể kiểm tra nó. :) – Arafangion

Các vấn đề liên quan