<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>site-lisp/darcsum/50darcsum.el</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -2,7 +2,7 @@
 (autoload 'vc-darcs-find-file-hook &quot;vc-darcs&quot;)
 (add-hook 'find-file-hooks 'vc-darcs-find-file-hook)
 
-(require 'darcsum)
+(load &quot;50darcsum&quot;)
 (setq darcsum-whatsnew-switches &quot;-l&quot;)
 
 (eval-after-load &quot;grep&quot;</diff>
      <filename>init-darcs.el</filename>
    </modified>
    <modified>
      <diff>@@ -201,12 +201,12 @@
 ;;
 
 (defun darcsum-change-add-flag (change flag)
-  &quot;Add FLAG on CHANGE.&quot;
+  &quot;To CHANGE, add FLAG.&quot;
   (if (not (memq flag (cadr change)))
       (setcar (cdr change) (cons flag (cadr change)))))
 
 (defun darcsum-change-remove-flag (change flag)
-  &quot;Remove FLAG on CHANGE.&quot;
+  &quot;From CHANGE, remove FLAG.&quot;
   (if (memq flag (cadr change))
       (setcar (cdr change) (delq flag (cadr change)))))
 
@@ -215,7 +215,7 @@
   (setcar (cdr change) nil))
 
 (defun darcsum-change-toggle-flag (change flag)
-  &quot;Toggle FLAG on CHANGE.&quot;
+  &quot;On CHANGE, toggle FLAG.&quot;
   (if (memq flag (cadr change))
       (setcar (cdr change) (delq flag (cadr change)))
     (setcar (cdr change) (cons flag (cadr change)))))
@@ -257,7 +257,7 @@
   (darcsum-change-remove-flag change 'hide))
 
 (defun darcsum-changeset-any-p (changeset predicate)
-  &quot;Return t if PREDICATE is true for any change in CHANGESET.&quot;
+  &quot;Operating on CHANGESET, return t if PREDICATE is true for any change.&quot;
   (catch 'exit
     (ignore
      (let (file change)
@@ -279,7 +279,7 @@
   (darcsum-changeset-any-p changeset (function darcsum-change-visible-p)))
 
 (defun darcsum-changeset-all-p (changeset predicate)
-  &quot;Return t if PREDICATE is true for all change in CHANGESET.&quot;
+  &quot;Operating on CHANGESET, return t if PREDICATE is true for all changes.&quot;
   (not (catch 'exit
 	 (ignore
 	  (let (file change)
@@ -297,7 +297,7 @@
   (darcsum-changeset-all-p changeset (function darcsum-change-visible-p)))
 
 (defun darcsum-changeset-find (changeset predicate)
-  &quot;Return changes selected by PREDICATE from CHANGESET.&quot;
+  &quot;From CHANGESET, return changes selected by PREDICATE.&quot;
   (let (file change found)
     (dolist (file changeset)
       (let (changes)
@@ -368,7 +368,7 @@ The function `make-temp-file' is preferred, but if it is not available,
 	(funcall func change)))))
 
 (defun darcsum-remove-changeset (changeset remove)
-  &quot;Remove REMOVE from the CHANGESET.&quot;
+  &quot;From CHANGESET, remove REMOVE.&quot;
   (let (file change)
     (dolist (file remove)
       (let ((fentry (assoc (car file) changeset)))
@@ -397,7 +397,7 @@ The function `make-temp-file' is preferred, but if it is not available,
      (if (numberp r) r (or (cdr (assq r darcsum-item-numeric-alist)) 0))))
 
 (defun darcsum-add-changeset (changeset add)
-  &quot;Add ADD to CHANGESET.&quot;
+  &quot;To CHANGESET, add ADD.&quot;
   (let (file fentry change)
     (dolist (file add)
       (if (setq fentry (assoc (car file) changeset))
@@ -410,7 +410,7 @@ The function `make-temp-file' is preferred, but if it is not available,
   (sort changeset))
 
 (defun darcsum-merge-changeset (data changeset)
-  &quot;Merge CHANGESET into the DATA.
+  &quot;Merge into DATA the CHANGESET.
 
 Currently this simply moves 'mark and 'hide from DATA to CHANGESET.&quot;
   ;;;;;;; TODO: commute new patches
@@ -609,7 +609,7 @@ Currently this simply moves 'mark and 'hide from DATA to CHANGESET.&quot;
 
 (defun darcsum-insert-file-line (title path end visible marked
 				       &amp;optional line-type changes)
-  &quot;Insert per-file line into buffer&quot;
+  &quot;Insert per-file line into buffer.&quot;
   (let ((begin (point)))
     (if (and marked changes)
 	(setq marked (darcsum-changeset-all-marked-p
@@ -641,7 +641,7 @@ Currently this simply moves 'mark and 'hide from DATA to CHANGESET.&quot;
 ;;; Code to determine the current changeset in darcsum-mode
 
 (defun darcsum-changeset-at-point (&amp;optional invisible-too)
-  &quot;Return changeset at current point&quot;
+  &quot;Return changeset at current point.&quot;
   (let ((data (get-text-property (point) 'darcsum-line-change)))
     (if invisible-too
         data
@@ -702,7 +702,7 @@ non-nil, in which case return all visible changes.&quot;
       (progn
          (set-window-configuration (car darcsum-window-configuration-temp))
          (goto-char (cadr darcsum-window-configuration-temp)))
-    (error &quot;No window configuration to restore.&quot;)))
+    (error &quot;No window configuration to restore&quot;)))
 
 (defsubst darcsum-changes-handled ()
   (if (buffer-live-p darcsum-parent-buffer)
@@ -724,9 +724,12 @@ non-nil, in which case return all visible changes.&quot;
 	      (if (looking-at &quot;2[.]&quot;) (list &quot;--quiet&quot;))))))
 
 (defun darcsum-call-process (subcommand &amp;rest args)
-  &quot;Calls darcs process and places it's output into current buffer&quot;
+  &quot;Calls darcs process with SUBCOMMAND and puts output in the current buffer.
+Optional remaining arguments are passed on as options to the darcs command.
+Convenience wrapper for `darcsum-start-process'.&quot;
   (darcsum-darcs-2-options-init)
-  (apply 'call-process darcsum-program nil t nil subcommand (append darcsum-darcs-2-options args)))
+  (apply 'call-process darcsum-program nil t nil subcommand
+	 (append darcsum-darcs-2-options args) ) )
 
 (defun darcsum-start-process (subcommand args
                                          &amp;optional name value &amp;rest localize)
@@ -822,6 +825,11 @@ non-nil, in which case return all visible changes.&quot;
           (message waiting)
           (kill-buffer (current-buffer))))
 
+       ((looking-at &quot;\\(.*\n\\)*This operation will make unrevert impossible!
+Proceed\\?.*&quot;)
+        (process-send-string proc &quot;y&quot;)
+        (delete-region (point-min) (match-end 0)))
+	
        ((looking-at &quot;\\(.*\n\\)*Shall I amend this patch\\?.*&quot;)
         (process-send-string proc &quot;y&quot;)
         (delete-region (point-min) (match-end 0)))
@@ -874,6 +882,9 @@ non-nil, in which case return all visible changes.&quot;
             (delete-region (point-min) end))))))))
 
 (defun darcsum-really-record ()
+  &quot;Function run via callback from `darcsum-record' when actually committing.
+Takes care of passing the selected changeset and the commit log message to
+`darcs record'.&quot;
   (interactive)
   (let ((tempfile (darcsum-make-temp-file &quot;darcsum&quot;))
         (parent-buf darcsum-parent-buffer)
@@ -915,7 +926,7 @@ Otherwise, only changes which are selected to be displayed in the buffer
 				 (function
 				  (lambda (change)
 				    (memq (car change) '(newdir newfile)))))
-	(error &quot;You have to add new directories and files first.&quot;))
+	(error &quot;You have to add new directories and files first&quot;))
     (switch-to-buffer-other-window (setq buf (get-buffer-create &quot;*darcs comment*&quot;)))
     (if (fboundp 'log-edit)
 	;; TODO: add SETUP (nil?) and LISTFUN arguments?  See also `vc-log-edit'
@@ -929,7 +940,7 @@ C-c C-c to record.&quot;)
     (run-hooks 'darcsum-comment-hook)))
 
 (defun darcsum-send (recipient)
-  &quot;Send selected changeset via email.&quot;
+  &quot;Send selected changeset via email to RECIPIENT.&quot;
   (interactive &quot;sSend changes to: &quot;)
   (message &quot;Sending changes...&quot;)
   (darcsum-start-process
@@ -938,6 +949,7 @@ C-c C-c to record.&quot;)
    'darcsum-parent-buffer (current-buffer)
    'darcsum-process-arg recipient))
 
+;;;###autoload
 (defun darcsum-changes (&amp;optional how-many)
   &quot;Show the changes in another buffer.  Optional argument HOW-MANY limits
 the number of changes shown, counting from the most recent changes.&quot;
@@ -1026,7 +1038,7 @@ pulling from the same repository may cause repository corruption.\n&quot;)
 		 ;; If darcsum-amend-confirmation-function is nil, don't prompt
 		 (or
 		  (not (functionp darcsum-amend-confirmation-function))
-		  (funcall darcsum-amend-confirmation-function 
+		  (funcall darcsum-amend-confirmation-function
 			   &quot;Amend this latest changeset? (see WARNINGS) &quot;) )) )
 	    (kill-buffer history-buffer))
           (when amend
@@ -1106,6 +1118,7 @@ If called with a positive argument then move N comments backward.&quot;
 	(message &quot;No later changes&quot;)))))
 
 (defun darcsum-query-kill-buffer ()
+  &quot;Kill the `darcsum-query-mode' buffer.&quot;
   (interactive)
   (kill-this-buffer)
   (delete-window))
@@ -1225,15 +1238,15 @@ VIEW non-nil means open in View mode.&quot;
       (recenter '(4)))))
 
 (defun darcsum-find-file-other-window ()
-  &quot;Select a buffer containing the file with current change in another window&quot;
-&quot;possibly moving point to the change's location.&quot;
+  &quot;Select a buffer containing the file with current change in another window,
+possibly moving point to the change's location.&quot;
   (interactive)
   (darcsum-check-darcsum-mode)
   (darcsum-find-file t))
 
 (defun darcsum-goto ()
-  &quot;Select a buffer containing the file with current change in another window&quot;
-&quot;possibly moving point to the change's location.&quot;
+  &quot;Select a buffer containing the file with current change in another window,
+possibly moving point to the change's location.&quot;
   (interactive)
   (darcsum-check-darcsum-mode)
   (darcsum-find-file t))
@@ -1293,7 +1306,7 @@ it for later commit.&quot;
 (defun darcsum-refresh (&amp;optional line)
   &quot;Refresh the visualization of the changesets.
 
-If LINE is not nil, move to LINE. Otherwise, stay on current line.&quot;
+If LINE is not nil, move to LINE.  Otherwise, stay on current line.&quot;
   (interactive)
   (darcsum-check-darcsum-mode)
   (let ((inhibit-redisplay t))
@@ -1375,7 +1388,7 @@ With ARG, mark and move that many times.&quot;
 
 (defun darcsum-apply-and-next-entity (func next-p &amp;optional arg backward)
   &quot;Apply FUNC to current changeset and move forward until NEXT-P changeset.
-With ARG, mark and move that many times. With BACKWARD, move to previous.
+With ARG, mark and move that many times.  With BACKWARD, move to previous.
 Return nil if there is no changeset matching NEXT-P.&quot;
   (let ((started (point))
 	changeset
@@ -1441,12 +1454,12 @@ Return nil if there is no changeset matching NEXT-P.&quot;
   (darcsum-refresh))
 
 (defun darcsum-remove ()
-  &quot;Remove a file from the repository.
-
-This runs darcs remove (which undoes accidental addfile or adddir).
+  &quot;Remove an added, unrecorded file or directory from the repository.
 
-If you want to remove an existing file or directory, remove file or
-directory otherwise and record change.&quot;
+This runs `darcs remove', which is used to undo `darcs add'.
+\(If you want to remove an existing file or directory with a recorded
+history, remove the file or directory by other means, and simply record
+this change.\)&quot;
   (interactive)
   (darcsum-check-darcsum-mode)
   (let ((changeset (darcsum-changeset-at-point t))
@@ -1681,7 +1694,7 @@ Inserts the entry in the darcs comment file instead of the ChangeLog.&quot;
         (insert &quot;: &quot;)))))
 
 (defvar darcsum-mode-abbrev-table nil
-  &quot;Abbrev table used while in darcsum-mode mode.&quot;)
+  &quot;Abbrev table used while in `darcsum-mode' mode.&quot;)
 (define-abbrev-table 'darcsum-mode-abbrev-table ())
 
 (global-set-key &quot;\C-xD&quot; 'darcsum-add-comment)
@@ -1793,7 +1806,7 @@ darcsum-display-with-existing-buffer is nil).&quot;
     (darcsum-refresh 0)
     (darcsum-next-line 0)
     (unless (darcsum-changeset-all-visible-p darcsum-data)
-      (message 
+      (message
        &quot;Press %s to show all changes&quot;
        (darcsum-where-is (function darcsum-show))))
     (switch-to-buffer (current-buffer))))
@@ -1804,9 +1817,9 @@ darcsum-display-with-existing-buffer is nil).&quot;
   :group 'darcsum)
 
 (defun darcsum-new-buffer (&amp;optional dir subdir)
-  &quot;Generate new darcsum buffer for (SUBDIR in DIR).&quot;
+  &quot;Generate new darcsum buffer in DIR for SUBDIR.&quot;
   (setq dir (file-name-nondirectory
-	     (directory-file-name (file-name-directory 
+	     (directory-file-name (file-name-directory
 				   (or dir default-directory)))))
   (if (string= subdir &quot;.&quot;)
       (setq subdir nil))
@@ -1823,7 +1836,7 @@ darcsum-display-with-existing-buffer is nil).&quot;
     (current-buffer)))
 
 (defun darcsum-find-buffer (&amp;optional dir subdir)
-  &quot;Get existing darcsum buffer (for SUBDIR in DIR).&quot;
+  &quot;Get existing darcsum buffer in DIR for SUBDIR.&quot;
   (catch 'exit
     (ignore
      (let (buffer locals mode buffer-dir)
@@ -1840,7 +1853,7 @@ darcsum-display-with-existing-buffer is nil).&quot;
 (defun darcsum-where-is (command)
   &quot;Return the representation of key sequences that invoke specified COMMAND.&quot;
   (let ((keys (where-is-internal command)))
-    (if keys 
+    (if keys
         (if (featurep 'xemacs)
             (sorted-key-descriptions keys)
           (mapconcat 'key-description keys &quot;, &quot;))</diff>
      <filename>site-lisp/darcsum/darcsum.el</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>748f61723b574e8bd8da0f39c5249d3a9f3ef25d</id>
    </parent>
  </parents>
  <author>
    <name>Steve Purcell</name>
    <email>steve@sanityinc.com</email>
  </author>
  <url>http://github.com/purcell/emacs.d/commit/384c32360882c0ac17d015f789431ed4124c2ab5</url>
  <id>384c32360882c0ac17d015f789431ed4124c2ab5</id>
  <committed-date>2009-04-05T00:48:45-07:00</committed-date>
  <authored-date>2009-04-05T00:48:19-07:00</authored-date>
  <message>Update darcsum from upstream, and use its provided autoloads</message>
  <tree>06ed98e75db7a434e1b6b582cbd408fdc152fd71</tree>
  <committer>
    <name>Steve Purcell</name>
    <email>steve@sanityinc.com</email>
  </committer>
</commit>
