diff options
Diffstat (limited to 'lisp/vc-dispatcher.el')
| -rw-r--r-- | lisp/vc-dispatcher.el | 5 |
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)) |