From 6e69ab8c7b605d6ec0d05c6378dcd26f5a8ac835 Mon Sep 17 00:00:00 2001 From: Miles Bader Date: Sun, 20 Aug 2000 17:12:03 +0000 Subject: [PATCH] (do_completion): Try again if we rewrite the input string, but no completion was done, so that any completion message will be correct. --- src/ChangeLog | 6 ++++++ src/minibuf.c | 11 +++++++++++ 2 files changed, 17 insertions(+) diff --git a/src/ChangeLog b/src/ChangeLog index 984cb3e81db..db632de81b4 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,9 @@ +2000-08-21 Miles Bader + + * minibuf.c (do_completion): Try again if we rewrite the input + string, but no completion was done, so that any completion message + will be correct. + 2000-08-20 Gerd Moellmann * xfaces.c (lface_equal_p): Compare strings differently. diff --git a/src/minibuf.c b/src/minibuf.c index e730f8a91ca..50cd82ae1af 100644 --- a/src/minibuf.c +++ b/src/minibuf.c @@ -1616,6 +1616,17 @@ do_completion () { Fdelete_field (make_number (ZV)); /* Some completion happened */ Finsert (1, &completion); + + if (! completedp) + /* The case of the string changed, but that's all. We're not + sure whether this is a unique completion or not, so try again + using the real case (this shouldn't recurse again, because + the next time try-completion will return either `t' or the + exact string). */ + { + UNGCPRO; + return do_completion (); + } } /* It did find a match. Do we match some possibility exactly now? */ -- 2.39.2