Subject: bug#12281: 24.1.50; [PATCH] regression: `dired-pop-to-buffer': `set-window-start' to 1

From: "Drew Adams" <[email-masked]>
Date: Sat, 25 Aug 2012 21:53:37 -0700

This regression was introduced in Emacs 23.
 
Prior to Emacs 23, `dired-pop-to-buffer' had a more complex definition,
which included calling `set-window-start' for the displayed window,
setting the value to 1, to move to the buffer beginning.
 
Now, at least for the case where the buffer is popped up in a separate
frame (which is my case), the end of the buffer is shown, not the
beginning.  For example, if I use `C' to copy many files, the file list
shows up in a separate frame, but the window is scrolled so I see only
the end, not the beginning, of the buffer.
 
Please add this line before the call to `when':
(set-window-start (selected-window) 1)
 
That fixes things.  Here is the whole, patched definition.
 
(defun dired-pop-to-buffer (buf)
  "Pop up buffer BUF in a way suitable for Dired."
  (let ((split-window-preferred-function
  (lambda (window)
    (or (and (let ((split-height-threshold 0))
        (window-splittable-p (selected-window)))
      ;; Try to split the selected window vertically if
      ;; that's possible.  (Bug#1806)
      (split-window-below))
        ;; Otherwise, try to split WINDOW sensibly.
        (split-window-sensibly window))))
 pop-up-frames)
    (pop-to-buffer (get-buffer-create buf)))
  (set-window-start (selected-window) 1)
  ;; If dired-shrink-to-fit is t, make its window fit its contents.
  (when dired-shrink-to-fit
    ;; Try to not delete window when we want to display less than
    ;; `window-min-height' lines.
    (fit-window-to-buffer (get-buffer-window buf) nil 1)))

In GNU Emacs 24.1.50.1 (i386-mingw-nt5.1.2600)
 of 2012-08-13 on MARVIN
Bzr revision: 109584 [email-masked]
Windowing system distributor `Microsoft Corp.', version 5.1.2600
Configured using:
 `configure --with-gcc (4.6) --no-opt --enable-checking --cflags
 -ID:/devel/emacs/libs/libXpm-3.5.8/include
 -ID:/devel/emacs/libs/libXpm-3.5.8/src
 -ID:/devel/emacs/libs/libpng-dev_1.4.3-1/include
 -ID:/devel/emacs/libs/zlib-dev_1.2.5-2/include
 -ID:/devel/emacs/libs/giflib-4.1.4-1/include
 -ID:/devel/emacs/libs/jpeg-6b-4/include
 -ID:/devel/emacs/libs/tiff-3.8.2-1/include
 -ID:/devel/emacs/libs/gnutls-3.0.9/include
 -ID:/devel/emacs/libs/libiconv-1.13.1-1-dev/include
 -ID:/devel/emacs/libs/libxml2-2.7.8/include/libxml2'