chiark / gitweb /
dot-emacs: Hack dired-maybe-insert-subdir to honour marks.
[profile] / dot-emacs.el
index 4cfd386e71b697ffa97cd1f97e5de498f37e7b51..f3c28f95ecfc12483ded6add3fb36d06c497a47d 100644 (file)
@@ -365,6 +365,29 @@ (defun mdwmail-mangle-signature ()
     (perform-replace "\n-- \n" "\n-- " nil nil nil)))
 (add-hook 'mail-setup-hook 'mdwmail-mangle-signature)
 
+;;;----- Dired hacking ------------------------------------------------------
+
+(defadvice dired-maybe-insert-subdir
+    (around mdw-marked-insertion first activate)
+  "The DIRNAME may be a list of directory names to insert.  Interactively, if
+files are marked, then insert all of them.  With a numeric prefix argument,
+select that many entries near point; with a non-numeric prefix argument,
+prompt for listing options."
+  (interactive
+   (list (dired-get-marked-files nil
+                                (and (integerp current-prefix-arg)
+                                     current-prefix-arg)
+                                #'file-directory-p)
+        (and current-prefix-arg
+             (not (integerp current-prefix-arg))
+             (read-string "Switches for listing: "
+                          (or dired-subdir-switches
+                              dired-actual-switches)))))
+  (let ((dirs (ad-get-arg 0)))
+    (dolist (dir (if (listp dirs) dirs (list dirs)))
+      (ad-set-arg 0 dir)
+      ad-do-it)))
+
 ;;;----- URL viewing --------------------------------------------------------
 
 (defun mdw-w3m-browse-url (url &optional new-session-p)