-a directory. See also `dired-local-variables-file'.")
-
-(defvar 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.")
-
-(defvar dired-guess-shell-gzip-quiet t
- "*non-nil says pass -q to gzip overriding verbose GZIP environment.")
-
-(defvar dired-guess-shell-znew-switches nil
- "*If non-nil, then string of switches passed to `znew', example: \"-K\"")
-
-(defvar dired-clean-up-buffers-too t
- "*t says offer to kill buffers visiting files and dirs deleted in dired.")
+a directory. See also `dired-local-variables-file'."
+ :type 'boolean
+ :group 'dired-x)
+
+(defcustom dired-guess-shell-gnutar nil
+ "*If non-nil, name of GNU tar executable.
+\(E.g., \"tar\" or \"gtar\"). The `z' switch will be used with it for
+compressed or gzip'ed tar files. If you don't have GNU tar, set this
+to nil: a pipe using `zcat' or `gunzip -c' will be used."
+ :type '(choice (const :tag "Not GNU tar" nil)
+ (string :tag "Command name"))
+ :group 'dired-x)
+
+(defcustom dired-guess-shell-gzip-quiet t
+ "*Non-nil says pass -q to gzip overriding verbose GZIP environment."
+ :type 'boolean
+ :group 'dired-x)
+
+(defcustom dired-guess-shell-znew-switches nil
+ "*If non-nil, then string of switches passed to `znew', example: \"-K\"."
+ :type '(choice (const :tag "None" nil)
+ (string :tag "Switches"))
+ :group 'dired-x)
+
+(defcustom dired-clean-up-buffers-too t
+ "*Non-nil means offer to kill buffers visiting files and dirs deleted in dired."
+ :type 'boolean
+ :group 'dired-x)