GNU bug report logs - #7779
Miserable widget completion for type 'directory on w32

Previous Next

Package: emacs;

Reported by: Lennart Borgman <lennart.borgman <at> gmail.com>

Date: Mon, 3 Jan 2011 20:54:02 UTC

Severity: minor

Tags: fixed, patch

Fixed in version 27.1

Done: Noam Postavsky <npostavs <at> gmail.com>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 7779 in the body.
You can then email your comments to 7779 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to owner <at> debbugs.gnu.org, bug-gnu-emacs <at> gnu.org:
bug#7779; Package emacs. (Mon, 03 Jan 2011 20:54:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Lennart Borgman <lennart.borgman <at> gmail.com>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Mon, 03 Jan 2011 20:54:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Lennart Borgman <lennart.borgman <at> gmail.com>
To: Emacs Bugs <bug-gnu-emacs <at> gnu.org>
Subject: Miserable widget completion for type 'directory on w32
Date: Mon, 3 Jan 2011 22:00:17 +0100
Suppose you have a defcustom with a ":type 'directory". Then you are
supposed to be able to use widget-complete to make it easier to fill
in this list. There are (at least) two problems with this on w32:

- The completion is case sensitive. However the file system is case
insensitive on w32.

- widget-complete is bound to M-TAB. This is by default bound to
Alt-Tab which is not available to applications on w32.

GNU Emacs 24.0.50.1 (i386-mingw-nt5.1.2600) of 2010-12-29 on LENNART-69DE564




Information forwarded to owner <at> debbugs.gnu.org, bug-gnu-emacs <at> gnu.org:
bug#7779; Package emacs. (Sun, 03 Jul 2011 18:46:01 GMT) Full text and rfc822 format available.

Message #8 received at 7779 <at> debbugs.gnu.org (full text, mbox):

From: Juanma Barranquero <lekktu <at> gmail.com>
To: Lennart Borgman <lennart.borgman <at> gmail.com>
Cc: 7779 <at> debbugs.gnu.org
Subject: Re: bug#7779: Miserable widget completion for type 'directory on w32
Date: Sun, 3 Jul 2011 20:44:33 +0200
On Mon, Jan 3, 2011 at 22:00, Lennart Borgman <lennart.borgman <at> gmail.com> wrote:

> - The completion is case sensitive.

It is? Can you show a test case?

> - widget-complete is bound to M-TAB. This is by default bound to
> Alt-Tab which is not available to applications on w32.

But you can use <ESC><TAB>, like you yourself discuss in bug#8256.

    Juanma




Information forwarded to owner <at> debbugs.gnu.org, bug-gnu-emacs <at> gnu.org:
bug#7779; Package emacs. (Sun, 03 Jul 2011 18:50:03 GMT) Full text and rfc822 format available.

Message #11 received at 7779 <at> debbugs.gnu.org (full text, mbox):

From: Lennart Borgman <lennart.borgman <at> gmail.com>
To: Juanma Barranquero <lekktu <at> gmail.com>
Cc: 7779 <at> debbugs.gnu.org
Subject: Re: bug#7779: Miserable widget completion for type 'directory on w32
Date: Sun, 3 Jul 2011 20:48:49 +0200
On Sun, Jul 3, 2011 at 20:44, Juanma Barranquero <lekktu <at> gmail.com> wrote:
> On Mon, Jan 3, 2011 at 22:00, Lennart Borgman <lennart.borgman <at> gmail.com> wrote:
>
>> - The completion is case sensitive.
>
> It is? Can you show a test case?
>
>> - widget-complete is bound to M-TAB. This is by default bound to
>> Alt-Tab which is not available to applications on w32.
>
> But you can use <ESC><TAB>, like you yourself discuss in bug#8256.

Didn't I say that you can't do that? If you use some vi emulation like Viper.




Information forwarded to owner <at> debbugs.gnu.org, bug-gnu-emacs <at> gnu.org:
bug#7779; Package emacs. (Sun, 03 Jul 2011 18:54:02 GMT) Full text and rfc822 format available.

Message #14 received at 7779 <at> debbugs.gnu.org (full text, mbox):

From: Juanma Barranquero <lekktu <at> gmail.com>
To: Lennart Borgman <lennart.borgman <at> gmail.com>
Cc: 7779 <at> debbugs.gnu.org
Subject: Re: bug#7779: Miserable widget completion for type 'directory on w32
Date: Sun, 3 Jul 2011 20:52:37 +0200
On Sun, Jul 3, 2011 at 20:48, Lennart Borgman <lennart.borgman <at> gmail.com> wrote:

>> It is? Can you show a test case?
>>
>>> - widget-complete is bound to M-TAB. This is by default bound to
>>> Alt-Tab which is not available to applications on w32.
>>
>> But you can use <ESC><TAB>, like you yourself discuss in bug#8256.
>
> Didn't I say that you can't do that? If you use some vi emulation like Viper.

Could you answer both questions, not only the second one?

As for that, if M-TAB cannot be reliably used on Windows, and ESC-TAB
cannot be used inside Viper, please propose an alternate binding for
using inside Viper.

    Juanma




Information forwarded to owner <at> debbugs.gnu.org, bug-gnu-emacs <at> gnu.org:
bug#7779; Package emacs. (Sun, 03 Jul 2011 22:33:01 GMT) Full text and rfc822 format available.

Message #17 received at 7779 <at> debbugs.gnu.org (full text, mbox):

From: Lennart Borgman <lennart.borgman <at> gmail.com>
To: Juanma Barranquero <lekktu <at> gmail.com>
Cc: 7779 <at> debbugs.gnu.org
Subject: Re: bug#7779: Miserable widget completion for type 'directory on w32
Date: Mon, 4 Jul 2011 00:31:47 +0200
On Sun, Jul 3, 2011 at 20:52, Juanma Barranquero <lekktu <at> gmail.com> wrote:
> On Sun, Jul 3, 2011 at 20:48, Lennart Borgman <lennart.borgman <at> gmail.com> wrote:
>
>>> It is? Can you show a test case?
>>>
>>>> - widget-complete is bound to M-TAB. This is by default bound to
>>>> Alt-Tab which is not available to applications on w32.
>>>
>>> But you can use <ESC><TAB>, like you yourself discuss in bug#8256.
>>
>> Didn't I say that you can't do that? If you use some vi emulation like Viper.
>
> Could you answer both questions, not only the second one?
>
> As for that, if M-TAB cannot be reliably used on Windows, and ESC-TAB
> cannot be used inside Viper, please propose an alternate binding for
> using inside Viper.

That might be a good suggestion, but I am not sure.

As everyone here no vi has two main states: input and command. Beside
that there are the normal Emacs key sequences states during input of
key sequences. (The clash between these states is why ESC-TAB can not
be used.)

For the "command" state the g key is unused. Using it directly would
be a waste, but a sequence beginning with g might be good.

But I am not very sure of the value of it since using it would require
switching to "command" state first. And I think you are most likely to
be in "input" mode if you want to do completion.

ESC is the only "control char" that I am using of those vi recognize
as its own. (The other are less important.)

I suggest finding a key sequence in Emacs that does not use M (Alt).
TAB by itself seems to be the favorite on EmacsWiki. Maybe use two
fast TABs for it by default. And have C-RET as backup?




Information forwarded to owner <at> debbugs.gnu.org, bug-gnu-emacs <at> gnu.org:
bug#7779; Package emacs. (Sun, 03 Jul 2011 22:44:02 GMT) Full text and rfc822 format available.

Message #20 received at 7779 <at> debbugs.gnu.org (full text, mbox):

From: Juanma Barranquero <lekktu <at> gmail.com>
To: Lennart Borgman <lennart.borgman <at> gmail.com>
Cc: 7779 <at> debbugs.gnu.org
Subject: Re: bug#7779: Miserable widget completion for type 'directory on w32
Date: Mon, 4 Jul 2011 00:42:44 +0200
On Mon, Jul 4, 2011 at 00:31, Lennart Borgman <lennart.borgman <at> gmail.com> wrote:

> ESC is the only "control char" that I am using of those vi recognize
> as its own. (The other are less important.)
>
> I suggest finding a key sequence in Emacs that does not use M (Alt).
> TAB by itself seems to be the favorite on EmacsWiki. Maybe use two
> fast TABs for it by default. And have C-RET as backup?

Are you proposing changing the default binding? I don't think users
used to the current binding should be penalized for the needs of
Viper. If anything, an expert Viper user like you will surely know how
to integrate a new keybinding into Viper. It is possible to bind
shift-Esc to work from the input state?

And, you still haven't answered the other question: do you still get
case sensitive completion of directories?


-- 
    Juanma




Information forwarded to owner <at> debbugs.gnu.org, bug-gnu-emacs <at> gnu.org:
bug#7779; Package emacs. (Sun, 03 Jul 2011 22:58:01 GMT) Full text and rfc822 format available.

Message #23 received at 7779 <at> debbugs.gnu.org (full text, mbox):

From: Lennart Borgman <lennart.borgman <at> gmail.com>
To: Juanma Barranquero <lekktu <at> gmail.com>
Cc: 7779 <at> debbugs.gnu.org
Subject: Re: bug#7779: Miserable widget completion for type 'directory on w32
Date: Mon, 4 Jul 2011 00:56:57 +0200
On Mon, Jul 4, 2011 at 00:42, Juanma Barranquero <lekktu <at> gmail.com> wrote:
> On Mon, Jul 4, 2011 at 00:31, Lennart Borgman <lennart.borgman <at> gmail.com> wrote:
>
>> ESC is the only "control char" that I am using of those vi recognize
>> as its own. (The other are less important.)
>>
>> I suggest finding a key sequence in Emacs that does not use M (Alt).
>> TAB by itself seems to be the favorite on EmacsWiki. Maybe use two
>> fast TABs for it by default. And have C-RET as backup?
>
> Are you proposing changing the default binding? I don't think users
> used to the current binding should be penalized for the needs of
> Viper. If anything, an expert Viper user like you will surely know how
> to integrate a new keybinding into Viper. It is possible to bind
> shift-Esc to work from the input state?

I just tried these and they work (the states are called "vi" and
"insert" - my bad):

(define-key viper-vi-intercept-map [(shift escape)] (lambda ()
(interactive) (message "you pushed shift esc"))) ;; vi state
(define-key viper-insert-intercept-map [(shift escape)] (lambda ()
(interactive) (message "you pushed shift esc"))) ;; insert state

So S-ESC could be used with both default Emacs bindings and in Viper mode.

Yes, I was proposing a change, but I think this should be discussed
more. The main problem is that there are a lot of different
completions. (Something I tried to address experimentally in
tabkey2.el in nXhtml.)

> And, you still haven't answered the other question: do you still get
> case sensitive completion of directories?

Oh, sorry I missed that one. So you want me to test this with the
latest build? (BTW I see problems with my w32 build on Windows 7
64-bit. Should we perhaps provide 64-bit binaries? Can we?)




Information forwarded to owner <at> debbugs.gnu.org, bug-gnu-emacs <at> gnu.org:
bug#7779; Package emacs. (Sun, 03 Jul 2011 23:06:02 GMT) Full text and rfc822 format available.

Message #26 received at 7779 <at> debbugs.gnu.org (full text, mbox):

From: Juanma Barranquero <lekktu <at> gmail.com>
To: Lennart Borgman <lennart.borgman <at> gmail.com>
Cc: 7779 <at> debbugs.gnu.org
Subject: Re: bug#7779: Miserable widget completion for type 'directory on w32
Date: Mon, 4 Jul 2011 01:04:15 +0200
On Mon, Jul 4, 2011 at 00:56, Lennart Borgman <lennart.borgman <at> gmail.com> wrote:

> So S-ESC could be used with both default Emacs bindings and in Viper mode.
>
> Yes, I was proposing a change, but I think this should be discussed
> more.

OK, so we have a keybinding that you could use in Viper, and you want
to propose a change. Care to do that in emacs-devel? (I don't think it
will be accepted, but we'll be able to reach a consensus of what to do
with Viper, I hope).

> Oh, sorry I missed that one. So you want me to test this with the
> latest build?

Yes. *AND* provide a precise, step-by-step recipe, starting from
"emacs -Q" (with stock Emacs, not your patched version), and
explaining clearly what you do get and what do you expected to get.

>  (BTW I see problems with my w32 build on Windows 7
> 64-bit.

I don't see problems with stock Emacs on Windows 7 64-bit. If you're
able to reproduce these problems with the standard Emacs, could you
please file bug reports for them? (Again: with recipes and clear
explanations, which you often overlook.)

> Should we perhaps provide 64-bit binaries? Can we?)

It woud be nice, yes, but so far as I know, no one is working on
building a 64-bit Windows Emacs. It isn't trivial, it's not just a
matter of using a 64-bit compiler. But you are welcome to download,
for example, the Twilight Dragon Media 64-bit build of GCC
(http://tdm-gcc.tdragon.net/) and try it.

    Juanma




Information forwarded to owner <at> debbugs.gnu.org, bug-gnu-emacs <at> gnu.org:
bug#7779; Package emacs. (Sun, 03 Jul 2011 23:24:01 GMT) Full text and rfc822 format available.

Message #29 received at 7779 <at> debbugs.gnu.org (full text, mbox):

From: Lennart Borgman <lennart.borgman <at> gmail.com>
To: Juanma Barranquero <lekktu <at> gmail.com>
Cc: 7779 <at> debbugs.gnu.org
Subject: Re: bug#7779: Miserable widget completion for type 'directory on w32
Date: Mon, 4 Jul 2011 01:23:17 +0200
On Mon, Jul 4, 2011 at 01:04, Juanma Barranquero <lekktu <at> gmail.com> wrote:
> On Mon, Jul 4, 2011 at 00:56, Lennart Borgman <lennart.borgman <at> gmail.com> wrote:
>
>> So S-ESC could be used with both default Emacs bindings and in Viper mode.
>>
>> Yes, I was proposing a change, but I think this should be discussed
>> more.
>
> OK, so we have a keybinding that you could use in Viper, and you want
> to propose a change. Care to do that in emacs-devel? (I don't think it
> will be accepted, but we'll be able to reach a consensus of what to do
> with Viper, I hope).

I can do that later. This binding (S-ESC) is trivial, but I do not
know the state of the completion functions now.

>> Oh, sorry I missed that one. So you want me to test this with the
>> latest build?
>
> Yes. *AND* provide a precise, step-by-step recipe, starting from
> "emacs -Q" (with stock Emacs, not your patched version), and
> explaining clearly what you do get and what do you expected to get.

I just have to find the binaries as I said in another thread ... ;-)

>>  (BTW I see problems with my w32 build on Windows 7
>> 64-bit.
>
> I don't see problems with stock Emacs on Windows 7 64-bit. If you're
> able to reproduce these problems with the standard Emacs, could you
> please file bug reports for them? (Again: with recipes and clear
> explanations, which you often overlook.)

Might be a problem with the old 32-bit compiler I used that shows up.

>> Should we perhaps provide 64-bit binaries? Can we?)
>
> It woud be nice, yes, but so far as I know, no one is working on
> building a 64-bit Windows Emacs. It isn't trivial, it's not just a
> matter of using a 64-bit compiler. But you are welcome to download,
> for example, the Twilight Dragon Media 64-bit build of GCC
> (http://tdm-gcc.tdragon.net/) and try it.

Thanks. Have you tried it? What problems did you see?




Information forwarded to owner <at> debbugs.gnu.org, bug-gnu-emacs <at> gnu.org:
bug#7779; Package emacs. (Sun, 03 Jul 2011 23:33:02 GMT) Full text and rfc822 format available.

Message #32 received at 7779 <at> debbugs.gnu.org (full text, mbox):

From: Juanma Barranquero <lekktu <at> gmail.com>
To: Lennart Borgman <lennart.borgman <at> gmail.com>
Cc: 7779 <at> debbugs.gnu.org
Subject: Re: bug#7779: Miserable widget completion for type 'directory on w32
Date: Mon, 4 Jul 2011 01:31:24 +0200
On Mon, Jul 4, 2011 at 01:23, Lennart Borgman <lennart.borgman <at> gmail.com> wrote:

> I can do that later. This binding (S-ESC) is trivial, but I do not
> know the state of the completion functions now.

OK, thanks.

> I just have to find the binaries as I said in another thread ... ;-)

I just sent the info in the other thread.

> Have you tried it?

No.

    Juanma




Information forwarded to owner <at> debbugs.gnu.org, bug-gnu-emacs <at> gnu.org:
bug#7779; Package emacs. (Mon, 04 Jul 2011 01:37:02 GMT) Full text and rfc822 format available.

Message #35 received at 7779 <at> debbugs.gnu.org (full text, mbox):

From: Lennart Borgman <lennart.borgman <at> gmail.com>
To: Juanma Barranquero <lekktu <at> gmail.com>
Cc: 7779 <at> debbugs.gnu.org
Subject: Re: bug#7779: Miserable widget completion for type 'directory on w32
Date: Mon, 4 Jul 2011 03:35:38 +0200
>> Yes. *AND* provide a precise, step-by-step recipe, starting from
>> "emacs -Q" (with stock Emacs, not your patched version), and
>> explaining clearly what you do get and what do you expected to get.

I wrote before:

  "- The completion is case sensitive. However the file system is case
  insensitive on w32."

Testing now with downloaded binaries emacs-20110627-bin-i386.zip
completion behaves even more strange. Try this:

  emacs -Q
  M-x load-library RET eshell RET
  M-x customize-option RET eshell-directory-name RET

Then enter "c:/" in the directory field and do

  M-x widget-complete

I would expect that to return the directory names.

After this I tried "c:/E". I have directories started with "c:/E" and
"c:/e". I only got those with "c:/e" (and some other things that
should not match at all).




Information forwarded to owner <at> debbugs.gnu.org, bug-gnu-emacs <at> gnu.org:
bug#7779; Package emacs. (Mon, 04 Jul 2011 03:00:02 GMT) Full text and rfc822 format available.

Message #38 received at 7779 <at> debbugs.gnu.org (full text, mbox):

From: Juanma Barranquero <lekktu <at> gmail.com>
To: Lennart Borgman <lennart.borgman <at> gmail.com>
Cc: 7779 <at> debbugs.gnu.org
Subject: Re: bug#7779: Miserable widget completion for type 'directory on w32
Date: Mon, 4 Jul 2011 04:59:00 +0200
On Mon, Jul 4, 2011 at 03:35, Lennart Borgman <lennart.borgman <at> gmail.com> wrote:

> After this I tried "c:/E". I have directories started with "c:/E" and
> "c:/e". I only got those with "c:/e" (and some other things that
> should not match at all).

It's a bit weird, yes. Sometimes it is "completing" all E's *and* all
directories, sometimes it does it right (but always case sensitive).
Definitely a bug, I'd say.

    Juanma




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#7779; Package emacs. (Wed, 28 Aug 2019 15:49:02 GMT) Full text and rfc822 format available.

Message #41 received at 7779 <at> debbugs.gnu.org (full text, mbox):

From: Mauro Aranda <maurooaranda <at> gmail.com>
To: 7779 <at> debbugs.gnu.org
Cc: lennart.borgman <at> gmail.com
Subject: bug#7779: Miserable widget completion for type 'directory on w32
Date: Wed, 28 Aug 2019 12:47:50 -0300
[Message part 1 (text/plain, inline)]
I can reproduce the bug in the latest master.  On a Windows machine,
and starting with emacs -Q, I do:
M-x customize-option RET tutorial-directory
and try to complete with C-M-i inside the editable-field, with different
names,
and different cases.
It doesn't work, because the completion is made case sensitive, even though
read-file-name-completion-ignore-case is t.

Also, the completion is made not only for directory names,
but also for file names.  This also happens on a GNU/Linux machine.

Since the 'file widget suffers from the first mentioned bug as well,
the attached patch tries to improve the completion for both of these
widgets.

Best regards,
Mauro.
[Message part 2 (text/html, inline)]
[0001-Improve-file-name-completion-in-file-and-directory-w.patch (text/x-patch, attachment)]

Added tag(s) patch. Request was from Stefan Kangas <stefan <at> marxist.se> to control <at> debbugs.gnu.org. (Sat, 31 Aug 2019 02:25:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#7779; Package emacs. (Fri, 06 Sep 2019 21:17:02 GMT) Full text and rfc822 format available.

Message #46 received at 7779 <at> debbugs.gnu.org (full text, mbox):

From: Noam Postavsky <npostavs <at> gmail.com>
To: Mauro Aranda <maurooaranda <at> gmail.com>
Cc: lennart.borgman <at> gmail.com, 7779 <at> debbugs.gnu.org
Subject: Re: bug#7779: Miserable widget completion for type 'directory on w32
Date: Fri, 06 Sep 2019 17:16:40 -0400
Mauro Aranda <maurooaranda <at> gmail.com> writes:

> Since the 'file widget suffers from the first mentioned bug as well,
> the attached patch tries to improve the completion for both of these
> widgets.

Pushed to master.

[1: 5b11751]: 2019-09-06 17:02:08 -0400
  Improve file name completion in file and directory widgets (Bug#7779)
  https://git.savannah.gnu.org/cgit/emacs.git/commit/?id=5b117511aa1b5c451773891b505a7098a67f9532




Added tag(s) fixed. Request was from Noam Postavsky <npostavs <at> gmail.com> to control <at> debbugs.gnu.org. (Fri, 06 Sep 2019 21:18:01 GMT) Full text and rfc822 format available.

bug marked as fixed in version 27.1, send any further explanations to 7779 <at> debbugs.gnu.org and Lennart Borgman <lennart.borgman <at> gmail.com> Request was from Noam Postavsky <npostavs <at> gmail.com> to control <at> debbugs.gnu.org. (Fri, 06 Sep 2019 21:18:01 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sat, 05 Oct 2019 11:24:09 GMT) Full text and rfc822 format available.

This bug report was last modified 4 years and 202 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.