emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: Q on read-file-name and completion-ignored-extensions


From: Drew Adams
Subject: RE: Q on read-file-name and completion-ignored-extensions
Date: Wed, 18 Jan 2006 17:45:28 -0800

    > Type the beginning of the name of one of the .el files - e.g.
    > app, then TAB. I see all files starting with "app" in
    > *Completions*, including .el files.

    Yes, that's the intended behavior.

Thanks for the confirmation.

    The docstring says:

       This variable does not affect lists of possible completions,
       but does affect the commands that actually do completions.

Here, you're parroting what I said in my first post, where I quoted the same
doc string. That doc string contradicts the `read-file-name' behavior, at
least by my reading of it. You say "it works", but by my reading it doesn't
work, as I pointed out: `minibuffer-complete' is a "command that actually
does completion", but it does not respect this variable when you use it in
the context of `read-file-name'. Apparently, sometimes such commands are
affected by the variable and other times they are not.

Based on your confirmation, I repeat what I said initially:

    If the current behavior is by design, then perhaps the doc
    string should say something about this case. I'm not sure
    what it should say, because I don't
    know if `read-file-name' is the only exception to letting
    "commands that actually do completion" respect the variable.

By "commands that actually do completion", I assume is meant commands such
as `minibuffer-complete' (TAB), `minibuffer-complete-and-exit' (RET), and
`minibuffer-complete-word' (SPC). If that's not correct, then please explain
what is meant (that should also be done in the doc string, in that case).

`read-file-name' is neither a command that does completion nor does it
provide a list of possible completions, so the current doc string does not
address its case at all, directly.

However, you can use commands that complete input while inputting a file
name to `read-file-name'. In this case, those commands do _not_ act as the
doc string says they should - they do not respect the variable (be
"affected" by its value). IOW, `read-file-name' is an exception to the
behavior expressed by the doc string (an exception by design, according to
your confirmation).

If `read-file-name' is the only such exception, then it should be called out
in the doc string as a special case:

       Commands that complete minibuffer input respect this variable,
       except for input to `read-file-name'. This variable also does
       not affect lists of possible completions.

If `read-file-name' is not the only such exception, then something else
should be said, which characterizes the cases where completion commands do
and do not respect this variable.

The phrase "lists of possible completions" could profitably be clarified as
well. I suppose it means functions like `all-completions', but I'm not sure,
as it's not very clear.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]