Mercurial > emacs
diff lisp/vc-dispatcher.el @ 95329:3bf215f97a31
(vc-string-prefix-p): New function.
(vc-dir-parent-marked-p): Use it.
author | Stefan Monnier <monnier@iro.umontreal.ca> |
---|---|
date | Tue, 27 May 2008 01:13:25 +0000 |
parents | 51b445e6b312 |
children | b4a9f05bf87b |
line wrap: on
line diff
--- a/lisp/vc-dispatcher.el Tue May 27 00:50:01 2008 +0000 +++ b/lisp/vc-dispatcher.el Tue May 27 01:13:25 2008 +0000 @@ -1024,6 +1024,10 @@ (funcall mark-unmark-function)))) (funcall mark-unmark-function))) +(defun vc-string-prefix-p (prefix string) + (and (>= (length string) (length prefix)) + (eq t (compare-strings prefix nil nil string nil (length prefix))))) + (defun vc-dir-parent-marked-p (arg) ;; Return nil if none of the parent directories of arg is marked. (let* ((argdir (vc-dir-node-directory arg)) @@ -1036,7 +1040,7 @@ (setq data (ewoc-data crt)) (setq dir (vc-dir-node-directory crt)) (when (and (vc-dir-fileinfo->directory data) - (string-equal (substring argdir 0 (length dir)) dir)) + (vc-string-prefix-p dir argdir)) (when (vc-dir-fileinfo->marked data) (error "Cannot mark `%s', parent directory `%s' marked" (vc-dir-fileinfo->name (ewoc-data arg))