(add-change-log-entry): Avoid displaying the changelog a second time.
authorStefan Monnier <monnier@iro.umontreal.ca>
Fri, 13 Nov 2009 22:54:16 +0000 (22:54 +0000)
committerStefan Monnier <monnier@iro.umontreal.ca>
Fri, 13 Nov 2009 22:54:16 +0000 (22:54 +0000)
lisp/ChangeLog
lisp/add-log.el

index 907292a..4580dcd 100644 (file)
@@ -1,5 +1,8 @@
 2009-11-13  Stefan Monnier  <monnier@iro.umontreal.ca>
 
+       * add-log.el (add-change-log-entry): Avoid displaying the changelog
+       a second time.
+
        * x-dnd.el (x-dnd-maybe-call-test-function):
        * window.el (split-window-vertically):
        * whitespace.el (whitespace-help-on):
index c3e8364..1633a64 100644 (file)
@@ -807,9 +807,15 @@ non-nil, otherwise in local time."
         (item (add-log-file-name buffer-file file-name)))
 
     (unless (equal file-name buffer-file-name)
-      (if (or other-window (window-dedicated-p (selected-window)))
-         (find-file-other-window file-name)
-       (find-file file-name)))
+      (cond
+       ((equal file-name (buffer-file-name (window-buffer (selected-window))))
+        ;; If the selected window already shows the desired buffer don't show
+        ;; it again (particularly important if other-window is true).
+        ;; This is important for diff-add-change-log-entries-other-window.
+        (set-buffer (window-buffer (selected-window))))
+       ((or other-window (window-dedicated-p (selected-window)))
+        (find-file-other-window file-name))
+       (t (find-file file-name))))
     (or (derived-mode-p 'change-log-mode)
        (change-log-mode))
     (undo-boundary)