Diff last couple of things in the kill ring
(defun diff-last-two-kills (&optional ediff?) | |
"Diff last couple of things in the kill-ring. With prefix open ediff." | |
(interactive "P") | |
(let* ((old "/tmp/old-kill") | |
(new "/tmp/new-kill") | |
(prev-ediff-quit-hook ediff-quit-hook)) | |
(cl-flet ((kill-temps | |
() | |
(dolist (f (list old new)) | |
(kill-buffer (find-buffer-visiting f))) | |
(setq ediff-quit-hook prev-ediff-quit-hook))) | |
(with-temp-file new | |
(insert (current-kill 0 t))) | |
(with-temp-file old | |
(insert (current-kill 1 t))) | |
(if ediff? | |
(progn | |
(add-hook 'ediff-quit-hook #'kill-temps) | |
(ediff old new)) | |
(diff old new "-u" t))))) |
This comment has been minimized.
This comment has been minimized.
Hmm... I haven't encountered that. Maybe it just needs |
This comment has been minimized.
This comment has been minimized.
Yeah, require would help, I just don't like requiring too much on startup. :-) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
This comment has been minimized.
That's a bit better regarding Emacs' complains about unknown variables (if ediff was not run yet):
It still complains about
ediff-quit-hook
though. :-)