From: Andreas Schwab Date: Sun, 8 Jun 2008 15:31:08 +0000 (+0000) Subject: (vc-dir-children-marked-p): Fix child check. X-Git-Tag: emacs-pretest-23.0.90~5001 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=64137cbc075a5471394de6fc97f8c452559aea2d;p=emacs.git (vc-dir-children-marked-p): Fix child check. --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index c5241a74839..e7f53385ccd 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,7 @@ 2008-06-08 Andreas Schwab + * vc-dispatcher.el (vc-dir-children-marked-p): Fix child check. + * vc-cvs.el (vc-cvs-dir-status): Pass -f to cvs. * vc-dispatcher.el (vc-dir-move-to-goal-column): Don't move in an 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." (defun vc-dir-children-marked-p (arg) ;; Return nil if none of the children of arg is marked. - (let* ((argdir (vc-dir-node-directory arg)) - (arglen (length argdir)) + (let* ((argdir-re (concat "\\`" (regexp-quote (vc-dir-node-directory arg)))) (is-child t) (crt arg) data dir) (while (and is-child (setq crt (ewoc-next vc-ewoc crt))) (setq data (ewoc-data crt)) (setq dir (vc-dir-node-directory crt)) - (if (string-equal argdir (substring dir 0 arglen)) + (if (string-match argdir-re dir) (when (vc-dir-fileinfo->marked data) (error "Cannot mark `%s', child `%s' marked" (vc-dir-fileinfo->name (ewoc-data arg))