From: Stefan Monnier Date: Thu, 22 Apr 2004 22:57:09 +0000 (+0000) Subject: (diff-next-error): New fun. X-Git-Tag: ttn-vms-21-2-B4~6644 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=6fc049f6212531a498b1770e4f0232627f522195;p=emacs.git (diff-next-error): New fun. (diff-mode): Use it. --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index d1992f60108..da2bb942b65 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,14 @@ +2004-04-22 Stefan Monnier + + * diff-mode.el (diff-next-error): New fun. + (diff-mode): Use it. + + * simple.el (next-error): Change arg name. + Add support for the documented C-u C-x ` usage. + + * frame.el (special-display-popup-frame, next-multiframe-window) + (previous-multiframe-window): Only consider frames on same display. + 2004-04-22 Lars Hansen * info.el (Info-restore-desktop-buffer): Delete with-no-warnings. diff --git a/lisp/diff-mode.el b/lisp/diff-mode.el index d41bfcad58a..17602317958 100644 --- a/lisp/diff-mode.el +++ b/lisp/diff-mode.el @@ -48,7 +48,6 @@ ;; ;; - Refine hunk on a word-by-word basis. ;; -;; - Use the new next-error-function to allow C-x `. ;; - Handle `diff -b' output in context->unified. ;;; Code: @@ -886,9 +885,14 @@ See `after-change-functions' for the meaning of BEG, END and LEN." (diff-fixup-modifs (point) (cdr diff-unhandled-changes))))) (setq diff-unhandled-changes nil))) -;;;; -;;;; The main function -;;;; +(defun diff-next-error (arg reset) + ;; Select a window that displays the current buffer so that point + ;; movements are reflected in that window. Otherwise, the user might + ;; never see the hunk corresponding to the source she's jumping to. + (pop-to-buffer (current-buffer)) + (if reset (goto-char (point-min))) + (diff-hunk-next arg) + (diff-goto-source)) ;;;###autoload (define-derived-mode diff-mode fundamental-mode "Diff" @@ -916,6 +920,7 @@ a diff with \\[diff-reverse-direction]." ;; (set (make-local-variable 'paragraph-separate) paragraph-start) ;; (set (make-local-variable 'page-delimiter) "--- [^\t]+\t") ;; compile support + (set (make-local-variable 'next-error-function) 'diff-next-error) (when (and (> (point-max) (point-min)) diff-default-read-only) (toggle-read-only t))