From: Stefan Monnier Date: Mon, 19 Nov 2012 18:40:18 +0000 (-0500) Subject: * lisp/vc/diff-mode.el (diff-hunk): Don't make useless timers. X-Git-Tag: emacs-24.3.90~173^2~18^2~52 X-Git-Url: https://code.delx.au/gnu-emacs/commitdiff_plain/1000d89524f28cc33341ae00c60ecc6994503f23 * lisp/vc/diff-mode.el (diff-hunk): Don't make useless timers. --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 50effda7a4..df0b8bd422 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,7 @@ 2012-11-19 Stefan Monnier + * vc/diff-mode.el (diff-hunk): Don't make useless timers. + * files.el (load-file): Require match in minibuffer selection, as was the case in Emacs-20 before we changed the spec to allow .elc files (bug#12935). diff --git a/lisp/vc/diff-mode.el b/lisp/vc/diff-mode.el index 26c64ce2ad..0c023b0f7f 100644 --- a/lisp/vc/diff-mode.el +++ b/lisp/vc/diff-mode.el @@ -575,19 +575,21 @@ next hunk if TRY-HARDER is non-nil; otherwise signal an error." (easy-mmode-define-navigation diff-hunk diff-hunk-header-re "hunk" diff-end-of-hunk diff-restrict-view (when diff-auto-refine-mode - (setq diff--auto-refine-data (cons (current-buffer) (point-marker))) - (run-at-time 0.0 nil - (lambda () - (when diff--auto-refine-data - (let ((buffer (car diff--auto-refine-data)) - (point (cdr diff--auto-refine-data))) - (setq diff--auto-refine-data nil) - (with-local-quit - (when (buffer-live-p buffer) - (with-current-buffer buffer - (save-excursion - (goto-char point) - (diff-refine-hunk))))))))))) + (unless (prog1 diff--auto-refine-data + (setq diff--auto-refine-data + (cons (current-buffer) (point-marker)))) + (run-at-time 0.0 nil + (lambda () + (when diff--auto-refine-data + (let ((buffer (car diff--auto-refine-data)) + (point (cdr diff--auto-refine-data))) + (setq diff--auto-refine-data nil) + (with-local-quit + (when (buffer-live-p buffer) + (with-current-buffer buffer + (save-excursion + (goto-char point) + (diff-refine-hunk)))))))))))) (easy-mmode-define-navigation diff-file diff-file-header-re "file" diff-end-of-file)