Debug: expansions: refactor ascii-art/UTF8; mark up space & nl
[exim.git] / src / src / macros.h
index 5279f70d0153a173d3903e815697912a00c51424..3341f5f412c52b332e5aacb527dc3e4d3963c7c9 100644 (file)
@@ -107,8 +107,9 @@ don't make the file descriptors two-way. */
 /* Debugging control */
 
 #define LOG_NAME_SIZE 256
-#define DEBUG(x)      if (debug_selector & (x))
-#define HDEBUG(x)     if (host_checking || debug_selector & (x))
+#define IS_DEBUG(x)    (debug_selector & (x))
+#define DEBUG(x)       if (IS_DEBUG(x))
+#define HDEBUG(x)      if (host_checking || IS_DEBUG(x))
 
 /* The default From: text for DSNs */
 
@@ -1057,6 +1058,10 @@ enum { FILTER_UNSET, FILTER_FORWARD, FILTER_EXIM, FILTER_SIEVE };
 #define UTF8_VERT_RIGHT                "\xE2\x94\x9C"
 #define UTF8_UP_RIGHT          "\xE2\x95\xB0"
 #define UTF8_VERT_2DASH                "\xE2\x95\x8E"
+#define UTF8_LEFT_TRIANGLE     "\xE2\x97\x80"
+#define UTF8_RIGHT_TRIANGLE    "\xE2\x96\xB6"
+#define UTF8_LIGHT_SHADE       "\xE2\x96\x91"
+#define UTF8_L_ARROW_HOOK      "\xE2\x86\xA9"
 
 
 /* Options on tls_close */
@@ -1185,4 +1190,13 @@ typedef enum {
   sw_mrc_tx_fail,              /* transmit failed */
 } sw_mrc_t;
 
+/* Recent versions of PCRE2 are allocating 20kB per match, rather than the previous 112 B.
+When doing en extended loop of matching, release store periodically. */
+
+#define        REGEX_LOOPCOUNT_STORE_RESET     1000
+
+/* Debug an option access. Use for non-list ones about to be expanded. */
+#define GET_OPTION(name) \
+  DEBUG(D_expand) debug_printf("try option " name "\n");
+
 /* End of macros.h */