X-Git-Url: https://git.hcoop.net/bpt/emacs.git/blobdiff_plain/37b3d30244ad822e049b6b20c2eadf5946cb02cc..b6e63cbebdac53be5ba3ce9261d7edc8dfda8bf5:/doc/misc/dired-x.texi diff --git a/doc/misc/dired-x.texi b/doc/misc/dired-x.texi index c16858beff..99530e6356 100644 --- a/doc/misc/dired-x.texi +++ b/doc/misc/dired-x.texi @@ -36,7 +36,7 @@ developing GNU and promoting software freedom.'' @end quotation @end copying -@dircategory Emacs +@dircategory Emacs misc features @direntry * Dired-X: (dired-x). Dired Extra Features. @end direntry @@ -129,75 +129,49 @@ original @file{dired-x.el}). @section Features @cindex Features -Some features provided by Dired Extra +Some features provided by Dired Extra: @enumerate @item -Omitting uninteresting files from Dired listing. -@itemize @bullet -@xref{Omitting Files in Dired}. -@end itemize +Omitting uninteresting files from Dired listing +(@pxref{Omitting Files in Dired}). @item -Local variables for Dired directories. -@itemize @bullet -@xref{Local Variables}. -@end itemize -@item -Guessing shell commands in Dired buffers. -@itemize @bullet -@xref{Shell Command Guessing}. -@end itemize +Guessing shell commands in Dired buffers +(@pxref{Shell Command Guessing}). @item -Running Dired command in non-Dired buffers. -@itemize @bullet -@xref{Virtual Dired}. -@end itemize +Running Dired command in non-Dired buffers +(@pxref{Virtual Dired}). @item Finding a file mentioned in a buffer -@itemize @bullet -@xref{Find File At Point}. -@end itemize +(@pxref{Find File At Point}). @item -Commands using file marking. -@itemize @bullet -@xref{Advanced Mark Commands}. -@end itemize +Commands using file marking +(@pxref{Advanced Mark Commands}). @end enumerate @noindent @file{dired-x.el} binds some functions to keys in Dired Mode (@pxref{Key Index}) and also binds @kbd{C-x C-j} and @kbd{C-x 4 C-j} @emph{globally} to -@code{dired-jump} (@pxref{Miscellaneous Commands}). It may also bind @kbd{C-x -C-f} and @kbd{C-x 4 C-f} to @code{dired-x-find-file} and -@code{dired-x-find-file-other-window}, respectively (@pxref{Find File At -Point}). +@code{dired-jump} (@pxref{Miscellaneous Commands}). Optionally, it +also binds @kbd{C-x C-f} and @kbd{C-x 4 C-f} to +@code{dired-x-find-file} and @code{dired-x-find-file-other-window}, +respectively (@pxref{Find File At Point}). @node Technical Details, , Features, Introduction @section Technical Details -@cindex Redefined functions +@cindex Modified functions @cindex @file{dired-aux.el} -When loaded this code @emph{redefines} the following functions of GNU Emacs -from @file{dired.el} - -@itemize @bullet -@item -@code{dired-clean-up-after-deletion} -@item -@code{dired-find-buffer-nocreate} -@item -@code{dired-initial-position} -@end itemize - -@noindent -and the following functions from @file{dired-aux.el} - -@itemize @bullet -@item -@code{dired-add-entry} -@item -@code{dired-read-shell-command} -@end itemize +When @file{dired-x.el} is loaded, some standard Dired functions from +@file{dired.el} and @file{dired-aux.el} offer additional features. +@code{dired-add-entry} obeys Dired Omit mode (@pxref{Omitting Files in +Dired}), if it is active. @code{dired-find-buffer-nocreate} and +@code{dired-initial-position} respect the value of +@code{dired-find-subdir} (@pxref{Miscellaneous Commands}). +@code{dired-clean-up-after-deletion} respects the value of +@code{dired-clean-up-buffers-too}. @code{dired-read-shell-command} uses +@code{dired-guess-shell-command} (@pxref{Shell Command Guessing}) to +offer a smarter default command. @node Installation, Omitting Files in Dired, Introduction, Top @chapter Installation @@ -264,22 +238,9 @@ for these functions. In your @file{.emacs} file put @cindex Binding @code{dired-x-find-file} If you choose to have @file{dired-x.el} bind @code{dired-x-find-file} over @code{find-file} (@pxref{Find File At Point}), then you will need to set -@code{dired-x-hands-off-my-keys} and make a call to the function -@code{dired-x-bind-find-file} in the @code{dired-load-hook}: - -@example -(add-hook 'dired-load-hook - (lambda () - (load "dired-x") - ;; Bind dired-x-find-file. - (setq dired-x-hands-off-my-keys nil) - ;; Make sure our binding preference is invoked. - (dired-x-bind-find-file) - )) -@end example - -Alternatively, you can set the variable @emph{before} @file{dired-x.el} is -loaded +@code{dired-x-hands-off-my-keys}. To do this, either set it +@emph{before} @file{dired-x.el} is loaded, or use @kbd{M-x customize-variable}, +or call @code{dired-x-bind-find-file} after changing the value. @example (add-hook 'dired-load-hook @@ -375,28 +336,17 @@ inside your @code{dired-mode-hook} to have omitting initially turned on in @emph{every} Dired buffer (@pxref{Installation}). You can then use @kbd{M-o} to unomit in that buffer. -To enable omitting automatically only in certain directories one can use Dired -Local Variables and put +To enable omitting automatically only in certain directories you can add +a directory local setting +(@pxref{Directory Variables,,,emacs,The Gnu Emacs manual}) for Dired mode @example -Local Variables: -dired-omit-mode: t -End: +((dired-mode . ((dired-omit-mode . t)))) @end example @noindent -into a file @file{.dired} (the default value of -@code{dired-local-variables-file}) in that directory (@pxref{Local Variables}). - -@table @code -@findex dired-omit-here-always -@item dired-omit-here-always - -This is an interactive function that creates a local variables file exactly -like the example above (if it does not already exist) in the file -@code{dired-local-variables-file} in the current directory and then refreshes -the directory listing (@pxref{Local Variables}). -@end table +to a @file{.dir-locals.el} file in that directory. You can use the +command @code{add-dir-local-variable} to do this. @vindex dired-omit-files @item dired-omit-files @@ -502,7 +452,9 @@ then put @end example @noindent -in the @code{dired-load-hook} (@pxref{Installation}). +in the @code{dired-load-hook} (@pxref{Installation}). (Of course, a +better way to achieve this particular goal is simply to omit @samp{-a} from +@code{dired-listing-switches}.) @end itemize @@ -514,7 +466,6 @@ Loading @file{dired-x.el} will install Dired Omit by putting call @code{dired-extra-startup}, which in turn calls @code{dired-omit-startup} in your @code{dired-mode-hook}. -@c FIXME does the standard dir-locals mechanism obsolete this? @node Local Variables, Shell Command Guessing, Omitting Files in Dired, Top @chapter Local Variables for Dired Directories @@ -522,10 +473,15 @@ in your @code{dired-mode-hook}. @vindex dired-local-variables-file @vindex dired-enable-local-variables @noindent -When Dired visits a directory, it looks for a file whose name is the value of -variable @code{dired-local-variables-file} (default: @file{.dired}). If such -a file is found, Dired will temporarily insert it into the Dired buffer and -run @code{hack-local-variables}. +This Dired-X feature is obsolete as of Emacs 24.1. The standard Emacs +directory local variables mechanism (@pxref{Directory +Variables,,,emacs,The Gnu Emacs manual}) replaces it. For an example of +the new mechanims, @pxref{Omitting Variables}. + +When Dired visits a directory, it looks for a file whose name is the +value of variable @code{dired-local-variables-file} (default: @file{.dired}). +If such a file is found, Dired will temporarily insert it into the Dired +buffer and run @code{hack-local-variables}. @noindent For example, if the user puts @@ -551,7 +507,7 @@ omitted automatically @noindent You can set @code{dired-local-variables-file} to @code{nil} to suppress this. The value of @code{dired-enable-local-variables} controls if and how these -local variables are read. This variable exists so that if may override the +local variables are read. This variable exists so that it may override the default value of @code{enable-local-variables}. @noindent @@ -575,12 +531,10 @@ into the Dired buffer and run @code{hack-local-variables}. @item dired-enable-local-variables Default: @code{t} -Controls the use of local-variables lists in Dired. The value can be @code{t}, -@code{nil}, or something else. A value of @code{t} means local-variables -lists are obeyed in the @code{dired-local-variables-file}; @code{nil} means -they are ignored; anything else means query. This variable temporarily -overrides the value of @code{enable-local-variables} when the Dired Local -Variables are hacked. +Controls the use of local-variables lists in Dired. This variable +temporarily overrides the value of @code{enable-local-variables} when +the Dired Local Variables are hacked. It takes the same values as that +variable. A value of @code{nil} means to ignore any Dired Local Variables. @end table @node Shell Command Guessing, Virtual Dired, Local Variables, Top @@ -915,24 +869,12 @@ some commands it is appropriate that they use the current Dired directory instead of @code{default-directory}, e.g., @code{find-file} and @code{compile}. -A general mechanism is provided for special handling of the working -directory in special major modes: - -@table @code -@item dired-default-directory-alist -@vindex dired-default-directory-alist -Default: @code{((dired-mode . (dired-current-directory)))} - -Alist of major modes and their notion of @code{default-directory}, as a -Lisp expression to evaluate. A resulting value of @code{nil} is ignored -in favor of @code{default-directory}. - -@item dired-default-directory -@findex dired-default-directory -Use this function like you would use the variable -@code{default-directory}, except that @code{dired-default-directory} -also consults the variable @code{dired-default-directory-alist}. -@end table +@findex dired-smart-shell-command +@findex shell-command +@kindex M-! +The command @code{dired-smart-shell-command}, bound to @kbd{M-!} in +Dired buffers, is like @code{shell-command}, but it runs with +@code{default-directory} bound to the current Dired directory. @node Find File At Point, Miscellaneous Commands, Multiple Dired Directories, Top @section Find File At Point @@ -1041,12 +983,6 @@ inserted subdirectories. @end table @table @code -@item dired-smart-shell-command -@findex dired-smart-shell-command -@findex shell-command -@kindex M-! -Like function @code{shell-command}, but in the current Dired directory. -Bound to @kbd{M-!} in Dired buffers. @item dired-jump @findex dired-jump