branch: elpa/magit
commit 52eecabe7c996865436f7e62fac8ab71f98f8efa
Author: Jonas Bernoulli <[email protected]>
Commit: Jonas Bernoulli <[email protected]>

    magit-gitignore-read-pattern: Drop weird usage of diff arguments
    
    That was only used in an edge-case and even then it made little sense.
    Instead add a DIRECTORY and make `magit-gitignore-in-subdir' pass the
    selected subdirectory.  The intention is to limit the patterns to that
    directory, but that does not work yet because there is more weirdness
    in `magit--gitignore-patterns'.
---
 lisp/magit-gitignore.el | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)

diff --git a/lisp/magit-gitignore.el b/lisp/magit-gitignore.el
index 71f3d38623..f83ab77b37 100644
--- a/lisp/magit-gitignore.el
+++ b/lisp/magit-gitignore.el
@@ -65,8 +65,8 @@ Prompt the user for a directory and add the rule to the
 tracked, they are shared with other clones of the repository.
 Also stage the file."
   :description "shared in subdirectory (path/to/.gitignore)"
-  (interactive (list (magit-gitignore-read-pattern)
-                     (read-directory-name "Limit rule to files in: ")))
+  (interactive (let ((dir (read-directory-name "Limit rule to files in: ")))
+                 (list (magit-gitignore-read-pattern dir) dir)))
   (magit--gitignore rule (expand-file-name ".gitignore" directory) t))
 
 ;;;###autoload(autoload 'magit-gitignore-in-gitdir "magit-gitignore" nil t)
@@ -107,11 +107,9 @@ Rules that are defined in that file affect all local 
repositories."
         (magit-run-git "add" (magit-convert-filename-for-git file)))
     (magit-refresh)))
 
-(defun magit-gitignore-read-pattern ()
-  (let* ((base (car magit-buffer-diff-files))
-         (base (and base (file-directory-p base) base))
-         (choices (magit--gitignore-patterns base))
-         (default (magit-current-file)))
+(defun magit-gitignore-read-pattern (&optional directory)
+  (let ((choices (magit--gitignore-patterns directory))
+        (default (magit-current-file)))
     (when default
       (setq default (concat "/" default))
       (unless (member default choices)

Reply via email to