;;;; Emacs helpers for manyhands work. ;;;; (defun manyhands-display-rev-and-prompt () "Display the next revision (narrowed), and prompt for its removal." (re-search-forward "^r[0-9][0-9][0-9][0-9][0-9] ") (let (beg-point) (beginning-of-line) (setq beg-point (point)) (narrow-to-region (point) (progn (search-forward (make-string 72 ?-)) (beginning-of-line) (point))) (goto-char (point-min)) (let ((keep (y-or-n-p "Keep this revision? "))) (goto-char (point-max)) ; in case user moved point (widen) (unless keep (forward-line 1) (delete-region beg-point (point)))))) (defun manyhands-process-revs () "Loop over revisions, displaying each alone and asking whether to delete." (interactive) (while t (manyhands-display-rev-and-prompt)))