GNU bug report logs - #62836
[PATCH] Provide an example of using fuzzier completion.

Previous Next

Package: emacs;

Reported by: Spencer Baugh <sbaugh <at> janestreet.com>

Date: Fri, 14 Apr 2023 15:02:01 UTC

Severity: normal

Tags: patch

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


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

From: Spencer Baugh <sbaugh <at> janestreet.com>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 62836 <at> debbugs.gnu.org, sbaugh <at> catern.com
Subject: Re: bug#62836: [PATCH] Provide an example of using fuzzier completion.
Date: Tue, 18 Apr 2023 18:07:26 -0400
[Message part 1 (text/plain, inline)]
Eli Zaretskii <eliz <at> gnu.org> writes:
>> From: sbaugh <at> catern.com
>> Date: Sat, 15 Apr 2023 22:22:09 +0000 (UTC)
>> Cc: Spencer Baugh <sbaugh <at> janestreet.com>, 62836 <at> debbugs.gnu.org
>> 
>> Eli Zaretskii <eliz <at> gnu.org> writes:
>> 
>> > Finally, please use @kbd{@key{TAB}} in the context that calls for the
>> > user to press the TAB key.
>> 
>> Hm, the text already present in the "Completion Example" section doesn't
>> use @kbd{@key{TAB}}, should it be doing that?
>
> Those are mistakes--these 2 paragraphs:
>
>     If you type @key{TAB} again immediately, it cannot determine the
>   next character; it could be @samp{-}, @samp{a}, or @samp{c}.  So it
>   does not add any characters; instead, @key{TAB} displays a list of all
>   possible completions in another window.
>
>     Next, type @kbd{-f}.  The minibuffer now contains @samp{auto-f}, and
>   the only command name that starts with this is @code{auto-fill-mode}.
>   If you now type @key{TAB}, completion fills in the rest of the
>   argument @samp{auto-fill-mode} into the minibuffer.
>
> should use @kbd{@key{TAB}} where they say "when you type".  Feel free
> to fix those blunders as part of the patch.
>
>> Here's the revised version incorporating all of these:
>> 
>>   @key{TAB} also works while point is not at the end of the
>> minibuffer.  In that case, it will fill in text both at point and at
>> the end of the minibuffer.  If you type @kbd{M-x autocm}, then press
>> @kbd{C-b} to move point before the @samp{m}, you can type
>> @kbd{@key{TAB}} to insert the text @samp{onf-} at point and @samp{ode}
>> at the end of the minibuffer, so that the minibuffer contains
>> @samp{autoconf-mode}.
>
> LGTM, thanks.

Cool, here's the patch then:

[0001-Give-an-example-of-completion-with-point-not-at-end-.patch (text/x-patch, inline)]
From 592541aaec70400e69f27d9f2f2a6972f203e30f Mon Sep 17 00:00:00 2001
From: Spencer Baugh <sbaugh <at> janestreet.com>
Date: Tue, 18 Apr 2023 18:03:36 -0400
Subject: [PATCH] Give an example of completion with point not at end of
 minibuffer

This can be a useful substitute for full-on fuzzy completion, as
provided by other completion styles and completion packages.

* doc/emacs/mini.texi (Completion Example): Give an example of
completion with point not at end of minibuffer.  Also, use
@kbd{@key{TAB}} when telling the user to hit TAB.
---
 doc/emacs/mini.texi | 18 +++++++++++++-----
 1 file changed, 13 insertions(+), 5 deletions(-)

diff --git a/doc/emacs/mini.texi b/doc/emacs/mini.texi
index 812218d1ab2..c75d68b4f69 100644
--- a/doc/emacs/mini.texi
+++ b/doc/emacs/mini.texi
@@ -313,14 +313,14 @@ Completion Example
 called @code{authorize-me} was defined, Emacs could only complete
 as far as @samp{aut}.)
 
-  If you type @key{TAB} again immediately, it cannot determine the
-next character; it could be @samp{-}, @samp{a}, or @samp{c}.  So it
-does not add any characters; instead, @key{TAB} displays a list of all
-possible completions in another window.
+  If you type @kbd{@key{TAB}} again immediately, it cannot determine
+the next character; it could be @samp{-}, @samp{a}, or @samp{c}.  So
+it does not add any characters; instead, @key{TAB} displays a list of
+all possible completions in another window.
 
   Next, type @kbd{-f}.  The minibuffer now contains @samp{auto-f}, and
 the only command name that starts with this is @code{auto-fill-mode}.
-If you now type @key{TAB}, completion fills in the rest of the
+If you now type @kbd{@key{TAB}}, completion fills in the rest of the
 argument @samp{auto-fill-mode} into the minibuffer.
 
   Hence, typing just @kbd{a u @key{TAB} - f @key{TAB}} allows you to
@@ -340,6 +340,14 @@ Completion Example
 the end of the minibuffer, so that the minibuffer contains
 @code{autoconf-mode}.
 
+  @key{TAB} also works while point is not at the end of the
+minibuffer.  In that case, it will fill in text both at point and at
+the end of the minibuffer.  If you type @kbd{M-x autocm}, then press
+@kbd{C-b} to move point before the @samp{m}, you can type
+@kbd{@key{TAB}} to insert the text @samp{onf-} at point and @samp{ode}
+at the end of the minibuffer, so that the minibuffer contains
+@samp{autoconf-mode}.
+
 @node Completion Commands
 @subsection Completion Commands
 
-- 
2.30.2


This bug report was last modified 2 years and 32 days ago.

Previous Next


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