diff lisp/dired.el @ 62240:19d278c4224b

* dnd.el (dnd-protocol-alist): Improve custom type. * dired.el (dired-dnd-protocol-alist): New variable. (dired-mode): Use `dired-dnd-protocol-alist'. Move call of `dired-mode-hook' to the end.
author Reiner Steib <Reiner.Steib@gmx.de>
date Wed, 11 May 2005 19:32:51 +0000
parents ca956f06ae9e
children d64b656073ca 62afea0771d8
line wrap: on
line diff
--- a/lisp/dired.el	Wed May 11 18:52:17 2005 +0000
+++ b/lisp/dired.el	Wed May 11 19:32:51 2005 +0000
@@ -200,6 +200,18 @@
 ;; Note this can't simply be run inside function `dired-ls' as the hook
 ;; functions probably depend on the dired-subdir-alist to be OK.
 
+(defcustom dired-dnd-protocol-alist
+  '(("^file:///" . dired-dnd-handle-local-file)
+    ("^file://"  . dired-dnd-handle-file)
+    ("^file:"    . dired-dnd-handle-local-file))
+  "The functions to call when a drop in `dired-mode' is made.
+See `dnd-protocol-alist' for more information.  When nil, behave
+as in other buffers."
+  :type '(choice (repeat (cons (regexp) (function)))
+		 (const :tag "Behave as in other buffers" nil))
+  :version "22.1"
+  :group 'dired)
+
 ;; Internal variables
 
 (defvar dired-marker-char ?*		; the answer is 42
@@ -1522,14 +1534,11 @@
        'dired-desktop-buffer-misc-data)
   (setq dired-switches-alist nil)
   (dired-sort-other dired-actual-switches t)
-  (run-mode-hooks 'dired-mode-hook)
   (when (featurep 'dnd)
     (make-variable-buffer-local 'dnd-protocol-alist)
     (setq dnd-protocol-alist
-	  (append '(("^file:///" . dired-dnd-handle-local-file)
-		    ("^file://"  . dired-dnd-handle-file)
-		    ("^file:"    . dired-dnd-handle-local-file))
-		  dnd-protocol-alist))))
+	  (append dired-dnd-protocol-alist dnd-protocol-alist)))
+  (run-mode-hooks 'dired-mode-hook))
 
 ;; Idiosyncratic dired commands that don't deal with marks.