Hi Bram and list,

I found a strange code.

ins_compl_bs() in src/edit.c : L3397
 3393     /* Stop completion when the whole word was deleted.  For Omni 
completion
 3394      * allow the word to be deleted, we won't match everything. */
 3395     if ((int)(p - line) - (int)compl_col < 0
 3396             || ((int)(p - line) - (int)compl_col == 0
 3397                 && (ctrl_x_mode & CTRL_X_OMNI) == 0))
 3398         return K_BS;


`ctrl_x_mode` is assigned a kind of serial number. (CTRL_X_~)
But L3397 implemented a logical AND operation.
I think this is code typo. 

Probably We will want to determine the 13 except here.
But except 1, 4, 5, 8, 9, 12 and 13.


I attached a patch to fix this.
Please check.

Best regards,
Hirohito Higashi (a.k.a h_east)

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.
diff -r 2bf1d3dc0467 src/edit.c
--- a/src/edit.c	Wed Jan 14 21:22:01 2015 +0100
+++ b/src/edit.c	Sat Jan 17 07:08:21 2015 +0900
@@ -3394,7 +3394,7 @@
      * allow the word to be deleted, we won't match everything. */
     if ((int)(p - line) - (int)compl_col < 0
 	    || ((int)(p - line) - (int)compl_col == 0
-		&& (ctrl_x_mode & CTRL_X_OMNI) == 0))
+		&& ctrl_x_mode != CTRL_X_OMNI))
 	return K_BS;
 
     /* Deleted more than what was used to find matches or didn't finish

Raspunde prin e-mail lui