Subject: bug#8256: widget-complete does not complete for type 'directory onw32

From: Lennart Borgman <[email-masked]>
Date: Tue, 15 Mar 2011 16:27:52 +0100

On Tue, Mar 15, 2011 at 3:50 PM, Drew Adams <[email-masked]> wrote:
>>       (defcustom my-dir nil "doc" :type 'directory)
>>
>>   M-x customize-option RET my-dir RET
>
> You get a type mismatch, of course, since nil is not a directory.
>
>>   Place point in the directory value field and erase "nil"
>>   that is there.  Now in the empty directory value field
>>   press ESC-TAB. This fails
>
> Try again, with a valid directory as the default value - e.g. "c:/foo/"

Ah, you are right. It kind of works with a valid default. (And this
does not have to be an existing directory.)

That was quite unexpected. And it is of course very inconvenient that
you can not customize a variable the normal way just because the
default value happens to be bad.

I think similar troubles in other places in custom too, but I can't
remember where now.

> Keep in mind too that the completion uses `default-directory'.  Dunno whether
> that's always appropriate, but that's what it uses.

Thanks. I see a little bit different behaviour, but, yes, there is
another bug. This is what I see:

I looked at two rather similar cases that does not behave the same:

1) Default is a non-existing directory. If I try to complete this I
get completion candidates. It looks like it complets against
default-directory.

2) Default is "", but I enter the same directory into the directory
field in custom. Now I get no completion candidates.