   (let ((buf (or other-buffer (generate-new-buffer "*darcs*"))))
     (with-current-buffer buf
       (unless (eq major-mode 'darcsum-mode)
-	(darcsum-mode))
+        (darcsum-mode))
       (current-buffer))))
 
 (defun darcsum-move (other-buffer)

  (let (dir file change)
    (dolist (dir changeset)
      (dolist (file (cdr dir))
	(dolist (change (cdr file))
	  (let ((dentry (assoc (car dir) data)))
	    (if dentry
		(let ((fentry (assoc (car file) dentry)))
		  (if fentry
		      (unless (member change (cdr fentry))
			(nconc fentry (list change))
			(setcdr fentry
				(sort (cdr fentry)
				      (function darcsum-change-<))))
		    (nconc dentry (list (list (car file) change)))))
	      (setq data (cons (list (car dir)
				     (list (car file) change))
			       data))))))))
  data)

(defun darcsum-merge-changeset (data changeset)

    (cond
     ((eq type 'dir))
     ((or (eq type 'file)
          (eq type 'change))
      (ediff-merge (darcsum-original-path (point))
                   (darcsum-path (point)))))))

(defun darcsum-redo (&optional arg)
  "Refresh the status, redoing `darcs whatsnew'."
  (interactive "P")
  (darcsum-check-darcsum-mode)
  (let ((dir default-directory)
        (look-for-adds (or arg darcsum-look-for-adds))
        (darcsum-default-expanded t))
    (message "Re-running darcsum-whatsnew")
    (let ((changes (darcsum-whatsnew
                    dir look-for-adds t darcsum-show-context)))
      (setq darcsum-data
            (darcsum-merge-changeset darcsum-data changes)))
    (darcsum-refresh)))

(defun darcsum-quit ()
