[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
emacs-27 9ec6eb1: vc-dir-ignore: More accurately choose base directory
From: |
Dmitry Gutov |
Subject: |
emacs-27 9ec6eb1: vc-dir-ignore: More accurately choose base directory |
Date: |
Mon, 24 Feb 2020 18:04:16 -0500 (EST) |
branch: emacs-27
commit 9ec6eb1065c65b32e9a565a6b66298aa4f2e527c
Author: Dmitry Gutov <address@hidden>
Commit: Dmitry Gutov <address@hidden>
vc-dir-ignore: More accurately choose base directory
* lisp/vc/vc-dir.el:
(vc-dir-ignore): Use it (bug#37189).
* lisp/vc/vc.el:
(vc--ignore-base-dir): Extract from vc-ignore.
---
lisp/vc/vc-dir.el | 7 ++++---
lisp/vc/vc.el | 18 ++++++++++--------
2 files changed, 14 insertions(+), 11 deletions(-)
diff --git a/lisp/vc/vc-dir.el b/lisp/vc/vc-dir.el
index e5c5e16..38b4937 100644
--- a/lisp/vc/vc-dir.el
+++ b/lisp/vc/vc-dir.el
@@ -879,9 +879,10 @@ If a prefix argument is given, ignore all marked files."
(vc-ignore (vc-dir-fileinfo->name filearg))
t))
vc-ewoc)
- (vc-ignore
- (file-relative-name (vc-dir-current-file))
- default-directory)))
+ (let ((rel-dir (vc--ignore-base-dir)))
+ (vc-ignore
+ (file-relative-name (vc-dir-current-file) rel-dir)
+ rel-dir))))
(defun vc-dir-current-file ()
(let ((node (ewoc-locate vc-ewoc)))
diff --git a/lisp/vc/vc.el b/lisp/vc/vc.el
index 53491dd..fe66641 100644
--- a/lisp/vc/vc.el
+++ b/lisp/vc/vc.el
@@ -1406,14 +1406,7 @@ When called interactively, prompt for a FILE to ignore,
unless a
prefix argument is given, in which case prompt for a file FILE to
remove from the list of ignored files."
(interactive
- (let* ((backend (vc-responsible-backend default-directory))
- (rel-dir
- (condition-case nil
- (file-name-directory
- (vc-call-backend backend 'find-ignore-file
- default-directory))
- (vc-not-supported
- default-directory)))
+ (let* ((rel-dir (vc--ignore-base-dir))
(file (read-file-name "File to ignore: ")))
(when (and (file-name-absolute-p file)
(file-in-directory-p file rel-dir))
@@ -1426,6 +1419,15 @@ remove from the list of ignored files."
(error "Unknown backend"))))
(vc-call-backend backend 'ignore file directory remove)))
+(defun vc--ignore-base-dir ()
+ (let ((backend (vc-responsible-backend default-directory)))
+ (condition-case nil
+ (file-name-directory
+ (vc-call-backend backend 'find-ignore-file
+ default-directory))
+ (vc-not-supported
+ default-directory))))
+
(defun vc-default-ignore (backend file &optional directory remove)
"Ignore FILE under DIRECTORY (default is `default-directory').
FILE is a wildcard specification relative to DIRECTORY.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- emacs-27 9ec6eb1: vc-dir-ignore: More accurately choose base directory,
Dmitry Gutov <=