emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] emacs/lisp ChangeLog vc-mtn.el


From: Dan Nicolaescu
Subject: [Emacs-diffs] emacs/lisp ChangeLog vc-mtn.el
Date: Tue, 23 Jun 2009 05:48:23 +0000

CVSROOT:        /cvsroot/emacs
Module name:    emacs
Changes by:     Dan Nicolaescu <dann>   09/06/23 05:48:22

Modified files:
        lisp           : ChangeLog vc-mtn.el 

Log message:
        (vc-mtn-after-dir-status, vc-mtn-dir-status): New functions.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/emacs/lisp/ChangeLog?cvsroot=emacs&r1=1.15715&r2=1.15716
http://cvs.savannah.gnu.org/viewcvs/emacs/lisp/vc-mtn.el?cvsroot=emacs&r1=1.23&r2=1.24

Patches:
Index: ChangeLog
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/ChangeLog,v
retrieving revision 1.15715
retrieving revision 1.15716
diff -u -b -r1.15715 -r1.15716
--- ChangeLog   23 Jun 2009 02:13:05 -0000      1.15715
+++ ChangeLog   23 Jun 2009 05:48:18 -0000      1.15716
@@ -1,3 +1,7 @@
+2009-06-22  Dan Nicolaescu  <address@hidden>
+
+       * vc-mtn.el (vc-mtn-after-dir-status, vc-mtn-dir-status): New functions.
+
 2009-06-23  Kenichi Handa  <address@hidden>
 
        * language/korea-util.el (korean-key-bindings): Change the binding

Index: vc-mtn.el
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/vc-mtn.el,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -b -r1.23 -r1.24
--- vc-mtn.el   1 Apr 2009 20:01:19 -0000       1.23
+++ vc-mtn.el   23 Jun 2009 05:48:22 -0000      1.24
@@ -106,6 +106,21 @@
             ((match-end 2) 'added)
             (t 'up-to-date)))))
 
+(defun vc-mtn-after-dir-status (update-function)
+  (let (result)
+    (goto-char (point-min))
+    (re-search-forward "Current branch: \\(.*\\)\nChanges against parent 
\\(.*\\)" nil t)
+    (while (re-search-forward
+           "^  \\(?:\\(patched  \\)\\|\\(added    \\)\\)\\(.*\\)$" nil t)
+      (cond  ((match-end 1) (push (list (match-string 3) 'edited) result))
+            ((match-end 2) (push (list (match-string 3) 'added) result))))
+    (funcall update-function result)))
+
+(defun vc-mtn-dir-status (dir update-function)
+  (vc-mtn-command (current-buffer) 'async dir "status")
+  (vc-exec-after
+   `(vc-mtn-after-dir-status (quote ,update-function))))
+
 (defun vc-mtn-working-revision (file)
   ;; If `mtn' fails or returns status>0, or if the search fails, just
   ;; return nil.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]