Subject: Re: bug#23642: 24.5; Dired Line Movement, Region Handling

From: Michael Cain <[email-masked]>
Date: Sat, 28 May 2016 20:17:33 -0400

I figure I should probably include my current workaround wrapper 
functions, so you can personally examine what I expect to happen.

;; Dired
(defun my-dired-next-line (arg)
   (interactive "^p")
   (dired-next-line arg))

(defun my-dired-previous-line (arg)
   (interactive "^p")
   (dired-previous-line arg))

;; WDired
(defun my-wdired-next-line (arg)
   (interactive "^p")
   (wdired-next-line arg))

(defun my-wdired-previous-line (arg)
   (interactive "^p")
   (wdired-previous-line arg))

;; Bindings
(define-key dired-mode-map (kbd "<down>") #'my-dired-next-line)
(define-key dired-mode-map (kbd "<up>") #'my-dired-previous-line)

(define-key wdired-mode-map (kbd "<down>") #'my-wdired-next-line)
(define-key wdired-mode-map (kbd "<up>") #'my-wdired-previous-line)

With these bindings, the Shift+Arrow selection with Transient Mark mode 
works as I expect with both Dired and WDired.