=== modified file 'doc/emacs/ChangeLog' *** doc/emacs/ChangeLog 2013-12-25 02:18:43 +0000 --- doc/emacs/ChangeLog 2013-12-26 21:30:14 +0000 *************** *** 1,3 **** --- 1,10 ---- + 2013-12-25 Jarek Czekalski + + * mini.texi (Completion Options): Add a link to Shell Options. + * misc.texi (Shell Mode): Move documentation of + shell-completion-fignore from Shell Mode to Shell Options. + + 2013-12-25 Xue Fuqiao * files.texi (Diff Mode): Add an index. === modified file 'doc/emacs/mini.texi' *** doc/emacs/mini.texi 2013-01-01 09:11:05 +0000 --- doc/emacs/mini.texi 2013-12-26 22:21:42 +0000 *************** previous example, @samp{foo.e} completes *** 550,555 **** --- 550,558 ---- disregards @code{completion-ignored-extensions} when showing completion alternatives in the completion list. + Shell completion is an extended version of filename completion, + @pxref{Shell Options}. + @vindex completion-auto-help If @code{completion-auto-help} is set to @code{nil}, the completion commands never display the completion list buffer; you must type === modified file 'doc/emacs/misc.texi' *** doc/emacs/misc.texi 2013-12-23 13:01:25 +0000 --- doc/emacs/misc.texi 2013-12-26 22:16:37 +0000 *************** in the shell buffer to submit the curren *** 677,696 **** @item @key{TAB} @kindex TAB @r{(Shell mode)} @findex completion-at-point Complete the command name or file name before point in the shell buffer (@code{completion-at-point}). This uses the usual Emacs completion rules (@pxref{Completion}), with the completion alternatives being file names, environment variable names, the shell command history, and history references (@pxref{History References}). ! ! @vindex shell-completion-fignore ! @vindex comint-completion-fignore ! The variable @code{shell-completion-fignore} specifies a list of file ! name extensions to ignore in Shell mode completion. The default ! setting is @code{nil}, but some users prefer @code{("~" "#" "%")} to ! ignore file names ending in @samp{~}, @samp{#} or @samp{%}. Other ! related Comint modes use the variable @code{comint-completion-fignore} ! instead. @item M-? @kindex M-? @r{(Shell mode)} --- 677,689 ---- @item @key{TAB} @kindex TAB @r{(Shell mode)} @findex completion-at-point + @cindex shell completion Complete the command name or file name before point in the shell buffer (@code{completion-at-point}). This uses the usual Emacs completion rules (@pxref{Completion}), with the completion alternatives being file names, environment variable names, the shell command history, and history references (@pxref{History References}). ! For options controlling the completion, @pxref{Shell Options}. @item M-? @kindex M-? @r{(Shell mode)} *************** the possible completions whenever comple *** 1179,1184 **** --- 1172,1191 ---- If you set @code{shell-completion-execonly} to @code{nil}, it considers nonexecutable files as well. + @vindex shell-completion-fignore + @vindex comint-completion-fignore + The variable @code{shell-completion-fignore} specifies a list of file + name extensions to ignore in Shell mode completion. The default + setting is @code{nil}, but some users prefer @code{("~" "#" "%")} to + ignore file names ending in @samp{~}, @samp{#} or @samp{%}. Other + related Comint modes use the variable @code{comint-completion-fignore} + instead. + + @findex shell-dynamic-complete-command + Some implementation details of the shell command completion may also be found + in the lisp documentation of the @code{shell-dynamic-complete-command} + function. + @findex shell-pushd-tohome @findex shell-pushd-dextract @findex shell-pushd-dunique === modified file 'lisp/ChangeLog' *** lisp/ChangeLog 2013-12-24 19:48:40 +0000 --- lisp/ChangeLog 2013-12-26 22:08:26 +0000 *************** *** 1,3 **** --- 1,10 ---- + 2013-12-25 Jarek Czekalski + + * shell.el Shell completion now matches executable filenames from + the current buffer's directory, on systems in which this behaviour + is the default (windows-nt, ms-dos). + + 2013-12-24 Fabián Ezequiel Gallina * progmodes/python.el (python-nav-beginning-of-statement): Speed === modified file 'lisp/shell.el' *** lisp/shell.el 2013-09-12 05:40:50 +0000 --- lisp/shell.el 2013-12-26 22:24:11 +0000 *************** searches `exec-path' (minus the trailing *** 1112,1119 **** candidates. Note that this may not be the same as the shell's idea of the path. ! Completion is dependent on the value of `shell-completion-execonly', plus ! those that effect file completion. Returns t if successful." (interactive) --- 1112,1120 ---- candidates. Note that this may not be the same as the shell's idea of the path. ! Completion is dependent on the value of `shell-completion-execonly', ! `shell-completion-fignore', plus those that affect file completion. See Info ! node `Shell Options'. Returns t if successful." (interactive) *************** Returns t if successful." *** 1138,1144 **** (start (if (zerop (length filename)) (point) (match-beginning 0))) (end (if (zerop (length filename)) (point) (match-end 0))) (filenondir (file-name-nondirectory filename)) ! (path-dirs (cdr (reverse exec-path))) ;FIXME: Why `cdr'? (cwd (file-name-as-directory (expand-file-name default-directory))) (ignored-extensions (and comint-completion-fignore --- 1139,1147 ---- (start (if (zerop (length filename)) (point) (match-beginning 0))) (end (if (zerop (length filename)) (point) (match-end 0))) (filenondir (file-name-nondirectory filename)) ! ; why cdr? see `shell-dynamic-complete-command' ! (path-dirs (append (cdr (reverse exec-path)) ! (if (memq system-type '(windows-nt ms-dos)) '(".")))) (cwd (file-name-as-directory (expand-file-name default-directory))) (ignored-extensions (and comint-completion-fignore === modified file 'src/ChangeLog' *** src/ChangeLog 2013-12-24 17:21:06 +0000 --- src/ChangeLog 2013-12-26 21:25:24 +0000 *************** *** 1,3 **** --- 1,7 ---- + 2013-12-25 Jarek Czekalski + + * callproc.c (Vexec_path): Documentation of the library path in it. + 2013-12-24 Eli Zaretskii * w32fns.c (Fw32_shell_execute): Ensure DOCUMENT is an absolute === modified file 'src/callproc.c' *** src/callproc.c 2013-12-18 20:36:50 +0000 --- src/callproc.c 2013-12-25 08:45:33 +0000 *************** default if SHELL is not set. */); *** 1686,1692 **** DEFVAR_LISP ("exec-path", Vexec_path, doc: /* List of directories to search programs to run in subprocesses. ! Each element is a string (directory name) or nil (try default directory). */); DEFVAR_LISP ("exec-suffixes", Vexec_suffixes, doc: /* List of suffixes to try to find executable file names. --- 1686,1696 ---- DEFVAR_LISP ("exec-path", Vexec_path, doc: /* List of directories to search programs to run in subprocesses. ! Each element is a string (directory name) or nil (try default directory). ! ! By default the last element of this list is Emacs library path. The ! last element is not always used, for example in shell completion ! (`shell-dynamic-complete-command'). */); DEFVAR_LISP ("exec-suffixes", Vexec_suffixes, doc: /* List of suffixes to try to find executable file names.