patch 9.1.1374: completion: 'smartcase' not respected when filtering matches

Problem:  Currently, 'smartcase' is respected when completing keywords
          using <C-N>, <C-P>, <C-X><C-N>, and <C-X><C-P>. However, when
          a user continues typing and the completion menu is filtered
          using cached matches, 'smartcase' is not applied. This leads
          to poor-quality or irrelevant completion suggestions, as shown
          in the example below.
Solution: When filtering cached completion items after typing additional
          characters, apply case-sensitive comparison if 'smartcase' is
          enabled and the typed pattern includes uppercase characters.
          This ensures consistent and expected completion behavior.
          (Girish Palya)

closes: #17271

Signed-off-by: Girish Palya <girishji@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/runtime/doc/insert.txt b/runtime/doc/insert.txt
index f52cf40..f3d92b2 100644
--- a/runtime/doc/insert.txt
+++ b/runtime/doc/insert.txt
@@ -1,4 +1,4 @@
-*insert.txt*    For Vim version 9.1.  Last change: 2025 Apr 14
+*insert.txt*    For Vim version 9.1.  Last change: 2025 May 08
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -1347,6 +1347,7 @@
 The 'pumwidth' option can be used to set a minimum width.  The default is 15
 characters.
 
+							*compl-states*
 There are three states:
 1. A complete match has been inserted, e.g., after using CTRL-N or CTRL-P.
 2. A cursor key has been used to select another match.  The match was not
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index bed14ab..f3824cd 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -1,4 +1,4 @@
-*options.txt*	For Vim version 9.1.  Last change: 2025 May 07
+*options.txt*	For Vim version 9.1.  Last change: 2025 May 08
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -7742,9 +7742,11 @@
 	Override the 'ignorecase' option if the search pattern contains upper
 	case characters.  Only used when the search pattern is typed and
 	'ignorecase' option is on.  Used for the commands "/", "?", "n", "N",
-	":g" and ":s".  Not used for "*", "#", "gd", tag search, etc.  After
-	"*" and "#" you can make 'smartcase' used by doing a "/" command,
-	recalling the search pattern from history and hitting <Enter>.
+	":g" and ":s" and when filtering matches for the completion menu
+	|compl-states|.
+	Not used for "*", "#", "gd", tag search, etc.  After "*" and "#" you
+	can make 'smartcase' used by doing a "/" command, recalling the search
+	pattern from history and hitting <Enter>.
 	NOTE: This option is reset when 'compatible' is set.
 
 			     *'smartindent'* *'si'* *'nosmartindent'* *'nosi'*
diff --git a/runtime/doc/tags b/runtime/doc/tags
index bb0558d..ae80f0e 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -6645,6 +6645,7 @@
 compl-omni	insert.txt	/*compl-omni*
 compl-omni-filetypes	insert.txt	/*compl-omni-filetypes*
 compl-spelling	insert.txt	/*compl-spelling*
+compl-states	insert.txt	/*compl-states*
 compl-stop	insert.txt	/*compl-stop*
 compl-tag	insert.txt	/*compl-tag*
 compl-thesaurus	insert.txt	/*compl-thesaurus*
diff --git a/runtime/doc/version9.txt b/runtime/doc/version9.txt
index afa800d..371e4b3 100644
--- a/runtime/doc/version9.txt
+++ b/runtime/doc/version9.txt
@@ -1,4 +1,4 @@
-*version9.txt*  For Vim version 9.1.  Last change: 2025 May 07
+*version9.txt*  For Vim version 9.1.  Last change: 2025 May 08
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -41626,6 +41626,7 @@
   "{flag}^<limit>" notation
 - add ":filetype" command completion
 - add "filetypecmd" completion type for |getcompletion()|
+- 'smartcase' applies to completion filtering
 
 Options: ~
 - the default for 'commentstring' contains whitespace padding to have