Update years in copyright notice; nfc.
[bpt/emacs.git] / lisp / dired-x.el
index 955f3b1..da9fc28 100644 (file)
@@ -8,7 +8,7 @@
 ;; Keywords: dired extensions files
 
 ;; Copyright (C) 1993, 1994, 1997, 2001, 2002, 2003, 2004,
-;;   2005 Free Software Foundation, Inc.
+;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; This file is part of GNU Emacs.
 
 (require 'dired-aux)
 
 (defvar vm-folder-directory)
+(eval-when-compile (require 'man))
 
 ;;; User-defined variables.
 
@@ -261,6 +262,72 @@ to nil: a pipe using `zcat' or `gunzip -c' will be used."
 (if dired-bind-info
     (define-key dired-mode-map "I" 'dired-info))
 
+;;; MENU BINDINGS
+
+(let ((menu-bar (lookup-key dired-mode-map [menu-bar])))
+  (let ((menu (lookup-key menu-bar [operate])))
+    (define-key-after
+      menu
+      [find-files]
+      '(menu-item
+        "Find files"
+        dired-do-find-marked-files
+        :help "Find current or marked files")
+      'delete)
+    (define-key-after
+      menu
+      [relsymlink]
+      '(menu-item
+        "Relative symlink to..."
+        dired-do-relsymlink
+        :visible (fboundp 'make-symbolic-link)
+        :help "Make relative symbolic links for current or marked files")
+      'symlink))
+  (let ((menu (lookup-key menu-bar [mark])))
+    (define-key-after
+      menu
+      [flag-extension]
+      '(menu-item
+        "Flag extension..."
+        dired-flag-extension
+        :help "Flag files with a certain extension for deletion")
+      'garbage-files)
+    (define-key-after
+      menu
+      [mark-extension]
+      '(menu-item
+        "Mark extension..."
+        dired-mark-extension
+        :help "Mark files with a certain extension")
+      'symlinks)
+    (define-key-after
+      menu
+      [mark-omitted]
+      '(menu-item
+        "Mark omitted"
+        dired-mark-omitted
+        :help "Mark files matching `dired-omit-files' and `dired-omit-extensions'")
+      'mark-extension))
+  (let ((menu (lookup-key menu-bar [regexp])))
+    (define-key-after
+      menu
+      [relsymlink-regexp]
+      '(menu-item
+        "Relative symlink..."
+        dired-do-relsymlink-regexp
+        :visible (fboundp 'make-symbolic-link)
+        :help "Make relative symbolic links for files matching regexp")
+      'symlink))
+  (let ((menu (lookup-key menu-bar [immediate])))
+    (define-key-after
+      menu
+      [omit-mode]
+      '(menu-item
+        "Omit mode" dired-omit-mode
+        :button (:toggle . dired-omit-mode)
+        :help "Enable or disable omitting \"uninteresting\" files")
+      'dashes)))
+
 ;;; GLOBAL BINDING.
 (if dired-bind-jump
     (progn
@@ -1345,9 +1412,11 @@ Uses `man.el' of \\[manual-entry] fame."
 
 ;;; Run mail on mail folders.
 
-;;; (and (not (fboundp 'vm-visit-folder))
-;;;      (defun vm-visit-folder (file &optional arg)
-;;;        nil))
+;; Avoid compiler warning.
+(eval-when-compile
+  (when (not (fboundp 'vm-visit-folder))
+    (defun vm-visit-folder (file &optional arg)
+      nil)))
 
 (defun dired-vm (&optional read-only)
   "Run VM on this file.