# HG changeset patch # User Stefan Monnier # Date 1168786168 0 # Node ID e52e99fc4ca5772ede2d3816ffbc7085d2148597 # Parent 037fa20cc6bdd0ce44ecba155d6934ce38cfd613 (vc-svn-parse-status): Trust the filename argument more than the program's output. diff -r 037fa20cc6bd -r e52e99fc4ca5 lisp/ChangeLog --- a/lisp/ChangeLog Sun Jan 14 07:58:02 2007 +0000 +++ b/lisp/ChangeLog Sun Jan 14 14:49:28 2007 +0000 @@ -1,3 +1,8 @@ +2007-01-14 Stefan Monnier + + * vc-svn.el (vc-svn-parse-status): Trust the filename argument more + than the program's output. + 2007-01-14 Juanma Barranquero * kmacro.el (kmacro-insert-counter, kmacro-set-counter) @@ -27,8 +32,8 @@ 2007-01-11 Michael Albinus - * net/tramp.el (tramp-handle-file-local-copy): Set - `enable-multibyte-characters' to nil. Reported by Chris Moore + * net/tramp.el (tramp-handle-file-local-copy): + Set `enable-multibyte-characters' to nil. Reported by Chris Moore . 2007-01-11 Stefan Monnier diff -r 037fa20cc6bd -r e52e99fc4ca5 lisp/vc-svn.el --- a/lisp/vc-svn.el Sun Jan 14 07:58:02 2007 +0000 +++ b/lisp/vc-svn.el Sun Jan 14 14:49:28 2007 +0000 @@ -1,6 +1,6 @@ ;;; vc-svn.el --- non-resident support for Subversion version-control -;; Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +;; Copyright (C) 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. ;; Author: FSF (see vc.el for full credits) ;; Maintainer: Stefan Monnier @@ -495,7 +495,7 @@ dirname))) (goto-char (point-min)) (when (re-search-forward - ;; Old `svn' used name="svn:dir", newer use just name="". + ;; Old `svn' used name="svn:this_dir", newer use just name="". (concat "name=\"\\(?:svn:this_dir\\)?\"[\n\t ]*" "\\(?:[-a-z]+=\"[^\"]*\"[\n\t ]*\\)*?" "url=\"\\([^\"]+\\)\"") nil t) @@ -511,9 +511,13 @@ (let (file status) (goto-char (point-min)) (while (re-search-forward - "^[ ADMCI?!~][ MC][ L][ +][ S]..\\([ *]\\) +\\([-0-9]+\\) +\\([0-9?]+\\) +\\([^ ]+\\) +" nil t) - (setq file (expand-file-name - (buffer-substring (point) (line-end-position)))) + ;; Ignore the files with status in [IX?]. + "^[ ACDGMR!~][ MC][ L][ +][ S]..\\([ *]\\) +\\([-0-9]+\\) +\\([0-9?]+\\) +\\([^ ]+\\) +" nil t) + ;; If the username contains spaces, the output format is ambiguous, + ;; so don't trust the output's filename unless we have to. + (setq file (or filename + (expand-file-name + (buffer-substring (point) (line-end-position))))) (setq status (char-after (line-beginning-position))) (unless (eq status ??) ;; `vc-BACKEND-registered' must not set vc-backend,