;; Date: 1994/08/18 19:27:42
;; Keywords: dired extensions
-;; Copyright (C) 1993, 1994 Free Software Foundation
+;; Copyright (C) 1993, 1994, 1997 Free Software Foundation, Inc.
;; This file is part of GNU Emacs.
;;; User-defined variables.
-(defvar dired-bind-vm nil
- "*t says \"V\" in dired-mode will `dired-vm', otherwise \"V\" is `dired-rmail'.
-Also, RMAIL files contain -*- rmail -*- at the top so \"f\",
-`dired-advertised-find-file', will run rmail.")
-
-(defvar dired-bind-jump t
- "*t says bind `dired-jump' to C-x C-j, otherwise do not.")
-
-(defvar dired-bind-man t
- "*t says bind `dired-man' to \"N\" in dired-mode, otherwise do not.")
+(defgroup dired-x nil
+ "Extended directory editing (dired-x)."
+ :group 'dired)
-(defvar dired-bind-info t
- "*t says bind `dired-info' to \"I\" in dired-mode, otherwise do not.")
+(defgroup dired-keys nil
+ "Dired keys customizations."
+ :prefix "dired-"
+ :group 'dired-x)
-(defvar dired-vm-read-only-folders nil
+(defcustom dired-bind-vm nil
+ "*t says \"V\" in dired-mode will `dired-vm', otherwise \"V\" is `dired-rmail'.
+Also, RMAIL files contain -*- rmail -*- at the top so \"f\",
+`dired-advertised-find-file', will run rmail."
+ :type 'boolean
+ :group 'dired-keys)
+
+(defcustom dired-bind-jump t
+ "*t says bind `dired-jump' to C-x C-j, otherwise do not."
+ :type 'boolean
+ :group 'dired-keys)
+
+(defcustom dired-bind-man t
+ "*t says bind `dired-man' to \"N\" in dired-mode, otherwise do not."
+ :type 'boolean
+ :group 'dired-keys)
+
+(defcustom dired-bind-info t
+ "*t says bind `dired-info' to \"I\" in dired-mode, otherwise do not."
+ :type 'boolean
+ :group 'dired-keys)
+
+(defcustom dired-vm-read-only-folders nil
"*If t, \\[dired-vm] will visit all folders read-only.
If neither nil nor t, e.g. the symbol `if-file-read-only', only
files not writable by you are visited read-only.
-Read-only folders only work in VM 5, not in VM 4.")
+Read-only folders only work in VM 5, not in VM 4."
+ :type '(choice (const :tag "off" nil)
+ (const :tag "on" t)
+ (sexp :tag "non-writable only" if-file-read-only))
+ :group 'dired-x)
-(defvar dired-omit-files-p nil
+(defcustom dired-omit-files-p nil
"*If non-nil, \"uninteresting\" files are not listed (buffer-local).
Use \\[dired-omit-toggle] to toggle its value.
Uninteresting files are those whose filenames match regexp `dired-omit-files',
-plus those ending with extensions in `dired-omit-extensions'.")
+plus those ending with extensions in `dired-omit-extensions'."
+ :type 'boolean
+ :group 'dired-x)
(make-variable-buffer-local 'dired-omit-files-p)
-(defvar dired-omit-files "^#\\|^\\.$\\|^\\.\\.$"
+(defcustom dired-omit-files "^#\\|^\\.$\\|^\\.\\.$"
"*Filenames matching this regexp will not be displayed.
This only has effect when `dired-omit-files-p' is t. See interactive function
`dired-omit-toggle' \(\\[dired-omit-toggle]\) and variable
`dired-omit-extensions'. The default is to omit `.', `..', and auto-save
-files.")
+files."
+ :type 'regexp
+ :group 'dired-x)
-(defvar dired-omit-size-limit 20000
- "*If a dired buffer listing contains more than this many characters,
-do not do omitting. If nil, always do omitting.")
-
-(defvar dired-find-subdir nil ; t is pretty near to DWIM...
+(defcustom dired-find-subdir nil ; t is pretty near to DWIM...
"*If non-nil, Dired always finds a directory in a buffer of its own.
If nil, Dired finds the directory as a subdirectory in some other buffer
if it is present as one.
Dired avoids switching to the current buffer, so that if you have
a normal and a wildcard buffer for the same directory, C-x d RET will
-toggle between those two.")
+toggle between those two."
+ :type 'boolean
+ :group 'dired-x)
+
+(defcustom dired-omit-size-limit 20000
+ "*Maximum size for the \"omitting\" feature.
+If nil, there is no maximum size."
+ :type '(choice (const :tag "no maximum" nil) integer)
+ :group 'dired-x)
-(defvar dired-enable-local-variables t
+(defcustom dired-enable-local-variables t
"*Control use of local-variables lists in dired.
The value can be t, nil or something else.
A value of t means local-variables lists are obeyed;
nil means they are ignored; anything else means query.
This temporarily overrides the value of `enable-local-variables' when listing
-a directory. See also `dired-local-variables-file'.")
+a directory. See also `dired-local-variables-file'."
+ :type 'boolean
+ :group 'dired-x)
-(defvar dired-guess-shell-gnutar nil
+(defcustom dired-guess-shell-gnutar nil
"*If non-nil, name of GNU tar executable (e.g., \"tar\" or \"gtar\") and `z'
switch will be used for compressed or gzip'ed tar files. If no GNU tar, set
-to nil: a pipe using `zcat' or `gunzip -c' will be used.")
+to nil: a pipe using `zcat' or `gunzip -c' will be used."
+ :type 'boolean
+ :group 'dired-x)
-(defvar dired-guess-shell-gzip-quiet t
- "*non-nil says pass -q to gzip overriding verbose GZIP environment.")
+(defcustom dired-guess-shell-gzip-quiet t
+ "*non-nil says pass -q to gzip overriding verbose GZIP environment."
+ :type 'boolean
+ :group 'dired-x)
-(defvar dired-guess-shell-znew-switches nil
- "*If non-nil, then string of switches passed to `znew', example: \"-K\"")
+(defcustom dired-guess-shell-znew-switches nil
+ "*If non-nil, then string of switches passed to `znew', example: \"-K\""
+ :type 'boolean
+ :group 'dired-x)
-(defvar dired-clean-up-buffers-too t
- "*t says offer to kill buffers visiting files and dirs deleted in dired.")
+(defcustom dired-clean-up-buffers-too t
+ "*t says offer to kill buffers visiting files and dirs deleted in dired."
+ :type 'boolean
+ :group 'dired-x)
;;; KEY BINDINGS.
'("\\.shar.Z$" "zcat * | unshar")
'("\\.shar.g?z$" "gunzip -qc * | unshar")
- '("\\.ps$" "ghostview" "xv" "lpr")
- (list "\\.ps.g?z$" "gunzip -qc * | ghostview -"
+ '("\\.e?ps$" "ghostview" "xv" "lpr")
+ (list "\\.e?ps.g?z$" "gunzip -qc * | ghostview -"
;; Optional decompression.
'(concat "gunzip" (if dired-guess-shell-gzip-quiet " -q")))
- (list "\\.ps.Z$" "zcat * | ghostview -"
+ (list "\\.e?ps.Z$" "zcat * | ghostview -"
;; Optional conversion to gzip format.
'(concat "znew" (if dired-guess-shell-gzip-quiet " -q")
" " dired-guess-shell-znew-switches))