Fix Modules.InsertRegister.get_cmdline_cword().
On branch master
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

	modified:   InsertRegister.vim
	modified:   ../../String.vim
	new file:   ../../../../../../test/Over/Commandline/Modules/InsertRegister.vim
	modified:   ../../../../../../test/Over/String.vim

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

	modified:   ../Base.vim
	modified:   DrawCommandline.vim
	modified:   ../../../../../../example/incsearch.vim
	modified:   ../../../../../../example/simple.vim

Untracked files:
  (use "git add <file>..." to include in what will be committed)

	../../../Over.vim
	ExecuteFailedMessage.vim
	HighlightBufferCursor.vim
	../../../../../../doc/tags-ja
	../../../../../../example/mapping.vim
	../../../../../../example/mapping_dict.vim
	../../../../../../test_over/

diff --git a/autoload/vital/__latest__/Over/Commandline/Modules/InsertRegister.vim b/autoload/vital/__latest__/Over/Commandline/Modules/InsertRegister.vim
index 99ab606..de59592 100644
--- a/autoload/vital/__latest__/Over/Commandline/Modules/InsertRegister.vim
+++ b/autoload/vital/__latest__/Over/Commandline/Modules/InsertRegister.vim
@@ -5,13 +5,13 @@ set cpo&vim

 function! s:_vital_loaded(V)
 	let s:V = a:V
-	let s:Prelude  = s:V.import("Prelude")
+	let s:String  = s:V.import("Over.String")
 endfunction

 function! s:_vital_depends()
 	return [
-\		"Prelude",
+\		"Over.String",
 \	]
 endfunction

@@ -58,7 +58,7 @@ endfunction

 function! s:get_cmdline_cword(backword, cword)
 	let backword = matchstr(a:backword, '.\{-}\zs\k\+$')
-	if &incsearch == 0 || a:cword == "" || a:backword == "" || match(a:cword, s:Prelude.escape_pattern(backword)) != 0
+	if &incsearch == 0 || a:cword == "" || a:backword == "" || s:String.index(a:cword, backword) != 0
 		return a:cword
 	endif
 	return a:cword[len(backword) : ]
diff --git a/autoload/vital/__latest__/Over/String.vim b/autoload/vital/__latest__/Over/String.vim
index 2c1094c..e315237 100644
--- a/autoload/vital/__latest__/Over/String.vim
+++ b/autoload/vital/__latest__/Over/String.vim
@@ -110,7 +110,6 @@ function! s:make(...)
 endfunction

-
 function! s:_split(str, pat)
 	let pat = (exists("+regexpengine") ? '\%#=2' : '') . a:pat
 	let list = split(a:str,  pat . '\zs')
@@ -263,5 +262,16 @@ else
 endif

+function! s:index(haystack, needle, ...)
+	let start = get(a:, 1, 0)
+	let ignorecase = get(a:, 2, &ignorecase)
+	if ignorecase
+		return stridx(tolower(a:haystack), tolower(a:needle), start)
+	else
+		return stridx(a:haystack, a:needle, start)
+	endif
+endfunction
+
+
 let &cpo = s:save_cpo
 unlet s:save_cpo
diff --git a/test/Over/Commandline/Modules/InsertRegister.vim b/test/Over/Commandline/Modules/InsertRegister.vim
new file mode 100644
index 0000000..cf0ea23
--- /dev/null
+++ b/test/Over/Commandline/Modules/InsertRegister.vim
@@ -0,0 +1,30 @@
+
+function! s:owl_begin()
+	let g:owl_success_message_format = ""
+	call vital#of("vital").unload()
+endfunction
+
+function! s:owl_end()
+	let g:owl_success_message_format = "%f:%l:[Success] %e"
+endfunction
+
+
+function! s:test_get_cmdline_cword()
+	let InsertRegister = vital#of("vital").import("Over.Commandline.Modules.InsertRegister")
+	try
+		let ignorecase = &ignorecase
+
+		let &ignorecase = 1
+		OwlCheck InsertRegister.get_cmdline_cword("cu", "cursor") == "rsor"
+		OwlCheck InsertRegister.get_cmdline_cword("homu cu", "cursor") == "rsor"
+		OwlCheck InsertRegister.get_cmdline_cword("homu cu", "CURSoR") == "RSoR"
+
+		let &ignorecase = 0
+		OwlCheck InsertRegister.get_cmdline_cword("cu", "cursor") == "rsor"
+		OwlCheck InsertRegister.get_cmdline_cword("homu cu", "cursor") == "rsor"
+		OwlCheck InsertRegister.get_cmdline_cword("homu cu", "CURSoR") != "RSoR"
+	finally
+		let &ignorecase = ignorecase
+	endtry
+endfunction
+
diff --git a/test/Over/String.vim b/test/Over/String.vim
index 7bca639..87f3107 100644
--- a/test/Over/String.vim
+++ b/test/Over/String.vim
@@ -1,6 +1,7 @@

 function! s:owl_begin()
 	let g:owl_success_message_format = ""
+	call vital#of("vital").unload()
 endfunction

 function! s:owl_end()
@@ -18,9 +19,11 @@ function! s:_test_split()
 	OwlCheck s:split_by_keys("\<C-a>+") == ["\<C-a>", "+"]
 	OwlCheck s:split_by_keys("<Over>(scroll-e)") == ["<Over>(scroll-e)"]
 	OwlCheck s:split_by_keys("\<CR>") == ["\<CR>"]
+	OwlCheck s:split_by_keys("\<A-Space>\<CR>\<A-Down>") == ["\<A-Space>", "\<CR>", "\<A-down>"]
 	OwlCheck s:split_by_keys("234567") == ["2", "3", "4", "5", "6", "7"]
 endfunction

+
 function! s:test_split()
 	let old = &re
 	try
@@ -34,3 +37,27 @@ function! s:test_split()
 endfunction

+function! s:test_index()
+	let String = vital#of("vital").import("Over.String")
+	try
+		let ignorecase = &ignorecase
+		let &ignorecase = 1
+		OwlCheck String.index("An Example", "Example") == 3
+		OwlCheck String.index("An Example", "example") == 3
+		OwlCheck String.index("An Example", "Example", 4) == -1
+
+		OwlCheck String.index("An Example", "Example", 0, 0) == 3
+		OwlCheck String.index("An Example", "example", 0, 0) == -1
+		OwlCheck String.index("An Example", "example", 0, 1) == 3
+
+		let &ignorecase = 0
+		OwlCheck String.index("An Example", "example") == -1
+		OwlCheck String.index("An Example", "Example", 0, 0) == 3
+		OwlCheck String.index("An Example", "example", 0, 0) == -1
+		OwlCheck String.index("An Example", "example", 0, 1) == 3
+	finally
+		let &ignorecase = ignorecase
+	endtry
+endfunction
+
+