                                                'diredp-describe-file
                                                'diredp-describe-autofile)] ; Requires `bookmark+.el'
                              ;; Stuff from `Marks' menu.
-                             ["Mark"  dired-mark
+                             ["Mark"  diredp-mark
                               :visible (not (eql (dired-file-marker file/dir-name)
                                              dired-marker-char))]
+                             ["Mark with Char..."  diredp-mark-with-char] ; But see bug #46243.
                              ["Unmark" dired-unmark
                               :visible (dired-file-marker file/dir-name)]
                              ["Flag for Deletion" dired-flag-file-deletion

`File' or `Directory'.  It is used only in the prompt, which is THING
followed by \" to exclude\" or \" to include\" and a reminder about `C-g'.

A new list is returned - list THINGS is not modified."
  (let* ((thgs                    (if exclude (copy-sequence things) ()))
         (prompt                  (format "%s to %s (C-g when done): " thing (if exclude 'EXCLUDE 'INCLUDE)))
         (completion-ignore-case  (or (and (boundp 'read-file-name-completion-ignore-case)

;; 1. Added optional arg ARG, so you can act on next ARG files or on all files.
;; 2. Added optional arg INTERACTIVEP.
;; 3. Do not raise error if no files when not INTERACTIVEP.
;; 4. Works also for Emacs < 27.
;;
;;;###autoload
(defun dired-do-search (regexp &optional arg interactivep)
  "Search through all marked files for a match for REGEXP.
Stops when a match is found.
To continue searching for next match, use:
 * `\\[fileloop-continue]'  (Emacs 27+) or
 * `\\[tags-loop-continue]' (older Emacs versions)

A prefix arg behaves as follows:
 * An integer means use the next ARG files (previous -ARG, if < 0).
