patch 8.2.2295: incsearch does not detect empty pattern properly
Problem: Incsearch does not detect empty pattern properly.
Solution: Return magic state when skipping over a pattern. (Christian
Brabandt, closes #7612, closes #6420)
diff --git a/src/structs.h b/src/structs.h
index e204510..c016f19 100644
--- a/src/structs.h
+++ b/src/structs.h
@@ -4321,8 +4321,20 @@
// with iconv() to be able to allocate a buffer.
#define ICONV_MULT 8
+// Used for "magic_overruled".
typedef enum {
- MAGIC_NOT_SET, // p_magic not overruled
- MAGIC_ON, // magic on inside regexp
- MAGIC_OFF // magic off inside regexp
+ OPTION_MAGIC_NOT_SET, // p_magic not overruled
+ OPTION_MAGIC_ON, // magic on inside regexp
+ OPTION_MAGIC_OFF // magic off inside regexp
+} optmagic_T;
+
+// Magicness of a pattern, used by regexp code.
+// The order and values matter:
+// magic <= MAGIC_OFF includes MAGIC_NONE
+// magic >= MAGIC_ON includes MAGIC_ALL
+typedef enum {
+ MAGIC_NONE = 1, // "\V" very unmagic
+ MAGIC_OFF = 2, // "\M" or 'magic' off
+ MAGIC_ON = 3, // "\m" or 'magic'
+ MAGIC_ALL = 4 // "\v" very magic
} magic_T;