From: Miles Bader Date: Sun, 20 Aug 2000 17:12:03 +0000 (+0000) Subject: (do_completion): Try again if we rewrite the input string, but no X-Git-Tag: emacs-pretest-21.0.90~2157 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=6e69ab8c7b605d6ec0d05c6378dcd26f5a8ac835;p=emacs.git (do_completion): Try again if we rewrite the input string, but no completion was done, so that any completion message will be correct. --- 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? */