branch: elpa/magit
commit eef5e862d8d4f8add13b7ac8c9343c85f017e8cf
Author: Jonas Bernoulli <jo...@bernoul.li>
Commit: Jonas Bernoulli <jo...@bernoul.li>

    magit-stage-untracked: Increase robustness
    
    Closes #5325.
---
 lisp/magit-apply.el | 42 +++++++++++++++++++++---------------------
 1 file changed, 21 insertions(+), 21 deletions(-)

diff --git a/lisp/magit-apply.el b/lisp/magit-apply.el
index 79a7a1ae13d..b0edf9784eb 100644
--- a/lisp/magit-apply.el
+++ b/lisp/magit-apply.el
@@ -383,27 +383,27 @@ ignored) files."
                (fboundp 'borg--sort-submodule-sections))
       (dolist (repo repos)
         (save-excursion
-          (goto-char (oref (magit-get-section
-                            `((file . ,repo) (untracked) (status)))
-                           start))
-          (let* ((topdir (magit-toplevel))
-                 (url (let ((default-directory
-                             (file-name-as-directory (expand-file-name repo))))
-                        (or (magit-get "remote" (magit-get-some-remote) "url")
-                            (concat (file-name-as-directory ".") repo))))
-                 (package
-                  (and (equal borg-user-emacs-directory topdir)
-                       (file-name-nondirectory (directory-file-name repo)))))
-            (if (and package
-                     (y-or-n-p (format "Also assimilate `%s' drone?" package)))
-                (borg-assimilate package url)
-              (magit-submodule-add-1
-               url repo (magit-submodule-read-name-for-path repo package))
-              (when package
-                (borg--sort-submodule-sections
-                 (expand-file-name ".gitmodules" topdir))
-                (let ((default-directory borg-user-emacs-directory))
-                  (borg--maybe-absorb-gitdir package))))))))
+          (when-let ((section (magit-get-section
+                               `((file . ,repo) (untracked) (status)))))
+            (goto-char (oref section start))
+            (let* ((topdir (magit-toplevel))
+                   (url (let ((default-directory
+                               (file-name-as-directory (expand-file-name 
repo))))
+                          (or (magit-get "remote" (magit-get-some-remote) 
"url")
+                              (concat (file-name-as-directory ".") repo))))
+                   (package
+                    (and (equal borg-user-emacs-directory topdir)
+                         (file-name-nondirectory (directory-file-name repo)))))
+              (if (and package
+                       (y-or-n-p (format "Also assimilate `%s' drone?" 
package)))
+                  (borg-assimilate package url)
+                (magit-submodule-add-1
+                 url repo (magit-submodule-read-name-for-path repo package))
+                (when package
+                  (borg--sort-submodule-sections
+                   (expand-file-name ".gitmodules" topdir))
+                  (let ((default-directory borg-user-emacs-directory))
+                    (borg--maybe-absorb-gitdir package)))))))))
     (magit-wip-commit-after-apply files " after stage")))
 
 (defvar magit-post-stage-hook-commands

Reply via email to