Mercurial > emacs
changeset 94077:28e2f73174d6
(completion-table-with-terminator): Those completions
are never valid w.r.t test-completion.
(completion--file-name-table): Check completion-all-completions-with-base-size.
author | Stefan Monnier <monnier@iro.umontreal.ca> |
---|---|
date | Mon, 14 Apr 2008 15:10:36 +0000 |
parents | b359dad87c7e |
children | 816429d20375 |
files | lisp/ChangeLog lisp/minibuffer.el |
diffstat | 2 files changed, 28 insertions(+), 13 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/ChangeLog Mon Apr 14 13:18:12 2008 +0000 +++ b/lisp/ChangeLog Mon Apr 14 15:10:36 2008 +0000 @@ -1,3 +1,10 @@ +2008-04-14 Stefan Monnier <monnier@iro.umontreal.ca> + + * minibuffer.el (completion-table-with-terminator): Those completions + are never valid w.r.t test-completion. + (completion--file-name-table): + Check completion-all-completions-with-base-size. + 2008-04-14 Tassilo Horn <tassilo@member.fsf.org> * doc-view.el (doc-view-dvipdf-program): New variable. @@ -7,8 +14,8 @@ (doc-view-dvi->pdf): Prefer dvipdf over dvipdfm. * doc-view.el (doc-view-start-process): Don't set - default-directory to "~/" if the current value is valid. This - broke PS files that run other files in the same directory. + default-directory to "~/" if the current value is valid. + This broke PS files that run other files in the same directory. 2008-04-14 Dan Nicolaescu <dann@ics.uci.edu>
--- a/lisp/minibuffer.el Mon Apr 14 13:18:12 2008 +0000 +++ b/lisp/minibuffer.el Mon Apr 14 15:10:36 2008 +0000 @@ -131,14 +131,19 @@ (defun completion-table-with-terminator (terminator table string pred action) (let ((comp (complete-with-action action table string pred))) - (if (eq action nil) - (if (eq comp t) - (concat string terminator) - (if (and (stringp comp) - (eq (complete-with-action action table comp pred) t)) - (concat comp terminator) - comp)) - comp))) + (cond + ((eq action nil) + (if (eq comp t) + (concat string terminator) + (if (and (stringp comp) + (eq (complete-with-action action table comp pred) t)) + (concat comp terminator) + comp)) + comp) + ;; completion-table-with-terminator is always used for + ;; "sub-completions" so it's only called if the terminator is missing, + ;; in which case `test-completion' should return nil. + ((eq action 'lambda) nil)))) (defun completion-table-in-turn (&rest tables) "Create a completion table that tries each table in TABLES in turn." @@ -707,8 +712,11 @@ (if (funcall pred tem) (push tem comp)))) (setq all (nreverse comp)))) - ;; Add base-size, but only if the list is non-empty. - (if (consp all) (nconc all base-size)))) + (if (and completion-all-completions-with-base-size (consp all)) + ;; Add base-size, but only if the list is non-empty. + (nconc all base-size)) + + all)) (t ;; Only other case actually used is ACTION = lambda. @@ -717,7 +725,7 @@ (defalias 'read-file-name-internal (completion-table-in-turn 'completion--embedded-envvar-table - 'completion--file-name-table) + 'completion--file-name-table) "Internal subroutine for `read-file-name'. Do not call this.") (provide 'minibuffer)