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

Re: Playing with git-dpm



 ❦ 19 août 2014 21:44 -0400, Barry Warsaw <barry@debian.org> :

> * Switching branches makes my editor unhappy.
>
> Why is this a PITA?  Because Emacs will notice that a file you're visiting in
> a buffer is changed and will prompt you reload it.  I guess because
> checkout-patched deletes the debian directory and update-patches restores it,
> it makes Emacs unhappy.  I suppose you also have to be careful not to write a
> buffer to the debian/ directory when in the patched-<pkg> branch.

I am using this snippet:

#+begin_src elisp
(defun vbe:revert-buffer-keep-history (&rest -)
  "Revert buffer but keep undo history"
  (clear-visited-file-modtime)
  (widen)
  (let ((inhibit-read-only t)
        (current-point (point)))
    (delete-region (point-min) (point-max))
    (insert-file-contents (buffer-file-name))
    (not-modified)
    (goto-char current-point)
    (set-visited-file-modtime)))

(setq revert-buffer-function 'vbe:revert-buffer-keep-history)
(global-auto-revert-mode 1)   ; Auto revert (when no pending changes)
#+end_src

This makes auto revert automatic but don't lose the previous content
by keeping the undo history. It also keeps your current position in the
file.
-- 
Write and test a big program in small pieces.
            - The Elements of Programming Style (Kernighan & Plauger)

Attachment: signature.asc
Description: PGP signature


Reply to: