aboutsummaryrefslogtreecommitdiffstats
path: root/lisp
diff options
context:
space:
mode:
authorJoakim Verona2013-09-12 08:36:32 +0200
committerJoakim Verona2013-09-12 08:36:32 +0200
commita87e9c8f9fb3c2696bed6c1f8edb7542461d673c (patch)
treeaf6839d3c9c43cb848d6cb822e02f98fde135980 /lisp
parentff7e4c63a5a19f795340ce9a7b9e2b5f55d50587 (diff)
parent8ffbc36b766d463cb4d86b6c2e5c9054a9c91234 (diff)
downloademacs-a87e9c8f9fb3c2696bed6c1f8edb7542461d673c.tar.gz
emacs-a87e9c8f9fb3c2696bed6c1f8edb7542461d673c.zip
merge from trunk
Diffstat (limited to 'lisp')
-rw-r--r--lisp/ChangeLog3
-rw-r--r--lisp/vc/vc-svn.el16
2 files changed, 13 insertions, 6 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 37f63216ff6..37005de6776 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,5 +1,8 @@
12013-09-12 Glenn Morris <rgm@gnu.org> 12013-09-12 Glenn Morris <rgm@gnu.org>
2 2
3 * vc/vc-svn.el (vc-svn-parse-status): If there are multiple files
4 in the status output, assume `filename' is the first. (Bug#15322)
5
3 * vc/vc.el (vc-deduce-fileset): Doc fix. 6 * vc/vc.el (vc-deduce-fileset): Doc fix.
4 7
5 * calc/calc-help.el (Info-goto-node): 8 * calc/calc-help.el (Info-goto-node):
diff --git a/lisp/vc/vc-svn.el b/lisp/vc/vc-svn.el
index afc76c09742..bfd608c0467 100644
--- a/lisp/vc/vc-svn.el
+++ b/lisp/vc/vc-svn.el
@@ -674,19 +674,23 @@ and that it passes `vc-svn-global-switches' to it before FLAGS."
674 674
675(defun vc-svn-parse-status (&optional filename) 675(defun vc-svn-parse-status (&optional filename)
676 "Parse output of \"svn status\" command in the current buffer. 676 "Parse output of \"svn status\" command in the current buffer.
677Set file properties accordingly. Unless FILENAME is non-nil, parse only 677Set file properties accordingly. If FILENAME is non-nil, return its status."
678information about FILENAME and return its status." 678 (let (multifile file status propstat)
679 (let (file status propstat)
680 (goto-char (point-min)) 679 (goto-char (point-min))
681 (while (re-search-forward 680 (while (re-search-forward
682 ;; Ignore the files with status X. 681 ;; Ignore the files with status X.
683 "^\\(?:\\?\\|[ ACDGIMR!~][ MC][ L][ +][ S]..\\([ *]\\) +\\([-0-9]+\\) +\\([0-9?]+\\) +\\([^ ]+\\)\\) +" nil t) 682 "^\\(?:\\?\\|[ ACDGIMR!~][ MC][ L][ +][ S]..\\([ *]\\) +\\([-0-9]+\\) +\\([0-9?]+\\) +\\([^ ]+\\)\\) +" nil t)
684 ;; If the username contains spaces, the output format is ambiguous, 683 ;; If the username contains spaces, the output format is ambiguous,
685 ;; so don't trust the output's filename unless we have to. 684 ;; so don't trust the output's filename unless we have to.
686 (setq file (or filename 685 (setq file (or (unless multifile filename)
687 (expand-file-name 686 (expand-file-name
688 (buffer-substring (point) (line-end-position))))) 687 (buffer-substring (point) (line-end-position))))
689 (setq status (char-after (line-beginning-position)) 688 ;; If we are parsing the result of running status on a directory,
689 ;; there could be multiple files in the output.
690 ;; We assume that filename, if supplied, applies to the first
691 ;; listed file (ie, the directory). Bug#15322.
692 multifile t
693 status (char-after (line-beginning-position))
690 ;; Status of the item's properties ([ MC]). 694 ;; Status of the item's properties ([ MC]).
691 propstat (char-after (1+ (line-beginning-position)))) 695 propstat (char-after (1+ (line-beginning-position))))
692 (if (eq status ??) 696 (if (eq status ??)