 ;; 2. Doc string reflects Dired+'s version of `dired-map-over-marks-check'.
 ;;
 ;;;###autoload
-(defun dired-do-byte-compile (&optional arg)
+(defun dired-do-byte-compile (&optional arg) ; Bound to `B'
   "Byte compile marked (or next prefix argument) Emacs Lisp files.
 A prefix argument ARG specifies files to use instead of marked.
  An integer means use the next ARG files (previous -ARG, if < 0).

    (when (setq file  (and p1 p2 (buffer-substring p1 p2)))
      ;; Get rid of the mouse-face property that file names have.
      (set-text-properties 0 (length file) nil file)
      ;; Unquote names quoted by ls or by dired-insert-directory.
      ;; Using read to unquote is much faster than substituting
      ;; \007 (4 chars) -> ^G  (1 char) etc. in a lisp loop.
      (setq file  (read (concat "\""
                                ;; Some ls -b don't escape quotes, argh!
                                ;; This is not needed for GNU ls, though.
                                (or (dired-string-replace-match
                                     "\\([^\\]\\|\\`\\)\"" file "\\1\\\\\"" nil t)
                                    file)
                                "\"")))
      ;; Above `read' returns a unibyte string if FILE contains eight-bit-control/graphic chars.
      (when (and (fboundp 'string-to-multibyte) ; Emacs 22
                 enable-multibyte-characters (not (multibyte-string-p file)))

    :help "Remove a specific mark (or all marks) from every file"))
(define-key diredp-menu-bar-mark-menu [unmark-region]
  '(menu-item "Unmark Region" diredp-unmark-region-files
    :enable (and transient-mark-mode mark-active (not (eq (mark) (point))))
    :help "Unmark all files in the region (selection)"))
(when (< emacs-major-version 21)
  (put 'diredp-unmark-region-files
       'menu-enable '(and transient-mark-mode mark-active (not (eq (mark) (point))))))
(define-key diredp-menu-bar-mark-menu [unmark]
  '(menu-item "Unmark" dired-unmark :help "Unmark or unflag current line's file"))

