The patch adds flag to search() flag to not use smartcase.
'*' and '#' do not use smartcase, but search() always uses smartcase
(cannot be turned off).
When we use search() with @/ pattern that comes from * or #,
search() fails because of discrepancy in smartcase handling.

Yakov

--- runtime/doc/eval.txt.000    2007-05-03 09:35:19.000000000 -0400
+++ runtime/doc/eval.txt        2007-05-03 09:36:21.000000000 -0400
@@ -4086,6 +4086,7 @@
               'n'     do Not move the cursor
               'p'     return number of matching sub-pattern (see below)
               's'     set the ' mark at the previous location of the cursor
+               'S'     do not use smartcase
               'w'     wrap around the end of the file
               'W'     don't wrap around the end of the file
               If neither 'w' or 'W' is given, the 'wrapscan' option applies.
--- src/eval.c.000      2007-05-03 09:07:52.000000000 -0400
+++ src/eval.c  2007-05-03 09:34:50.000000000 -0400
@@ -13813,6 +13813,7 @@
               case 'b': dir = BACKWARD; break;
               case 'w': p_ws = TRUE; break;
               case 'W': p_ws = FALSE; break;
+               case 'S': no_smartcase = TRUE; break;
               default:  mask = 0;
                         if (flagsp != NULL)
                            switch (*flags)

Reply via email to