aboutsummaryrefslogtreecommitdiffstats
path: root/lisp/vc-dispatcher.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/vc-dispatcher.el')
-rw-r--r--lisp/vc-dispatcher.el5
1 files changed, 2 insertions, 3 deletions
diff --git a/lisp/vc-dispatcher.el b/lisp/vc-dispatcher.el
index 7179d77e8f4..6bd43cb2644 100644
--- a/lisp/vc-dispatcher.el
+++ b/lisp/vc-dispatcher.el
@@ -1057,15 +1057,14 @@ If a prefix argument is given, move by that many lines."
1057 1057
1058(defun vc-dir-children-marked-p (arg) 1058(defun vc-dir-children-marked-p (arg)
1059 ;; Return nil if none of the children of arg is marked. 1059 ;; Return nil if none of the children of arg is marked.
1060 (let* ((argdir (vc-dir-node-directory arg)) 1060 (let* ((argdir-re (concat "\\`" (regexp-quote (vc-dir-node-directory arg))))
1061 (arglen (length argdir))
1062 (is-child t) 1061 (is-child t)
1063 (crt arg) 1062 (crt arg)
1064 data dir) 1063 data dir)
1065 (while (and is-child (setq crt (ewoc-next vc-ewoc crt))) 1064 (while (and is-child (setq crt (ewoc-next vc-ewoc crt)))
1066 (setq data (ewoc-data crt)) 1065 (setq data (ewoc-data crt))
1067 (setq dir (vc-dir-node-directory crt)) 1066 (setq dir (vc-dir-node-directory crt))
1068 (if (string-equal argdir (substring dir 0 arglen)) 1067 (if (string-match argdir-re dir)
1069 (when (vc-dir-fileinfo->marked data) 1068 (when (vc-dir-fileinfo->marked data)
1070 (error "Cannot mark `%s', child `%s' marked" 1069 (error "Cannot mark `%s', child `%s' marked"
1071 (vc-dir-fileinfo->name (ewoc-data arg)) 1070 (vc-dir-fileinfo->name (ewoc-data arg))