]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - progs/progs.priv.h
ncurses 6.3 - patch 20220917
[ncurses.git] / progs / progs.priv.h
index e6498db03a72978cfe978cc717ae43b2a0661eb3..84b46c01270a9c9ec89b9a3bb90d1a05922f0278 100644 (file)
@@ -31,7 +31,7 @@
  *  Author: Thomas E. Dickey                    1997-on                     *
  ****************************************************************************/
 /*
- * $Id: progs.priv.h,v 1.55 2022/09/10 21:47:39 tom Exp $
+ * $Id: progs.priv.h,v 1.58 2022/09/17 18:58:05 tom Exp $
  *
  *     progs.priv.h
  *
@@ -147,8 +147,6 @@ extern int optind;
 #endif
 #endif
 
-#define VtoTrace(opt) (unsigned) ((opt > 0) ? opt : (opt == 0))
-
 /* error-returns for tput */
 #define ErrUsage       2
 #define ErrTermType    3
@@ -234,8 +232,22 @@ extern int optind;
 
 #define SIZEOF(v) (sizeof(v)/sizeof(v[0]))
 
+#define VtoTrace(opt) (unsigned) ((opt > 0) ? opt : (opt == 0))
+
+/*
+ * If configured for tracing, the debug- and trace-output are merged together
+ * in the trace file for "upper" levels of the verbose option.
+ */
 #ifdef TRACE
-#define use_verbosity(level) do { set_trace_level(level); if (_nc_tracing > DEBUG_LEVEL(2)) _nc_tracing |= TRACE_MAXIMUM; } while (0)
+#define use_verbosity(level) do { \
+               set_trace_level(level); \
+               if (_nc_tracing > DEBUG_LEVEL(2)) \
+                   _nc_tracing |= TRACE_MAXIMUM; \
+               else if (_nc_tracing == DEBUG_LEVEL(2)) \
+                   _nc_tracing |= TRACE_ORDINARY; \
+               if (level >= 2) \
+                   curses_trace(_nc_tracing); \
+       } while (0)
 #else
 #define use_verbosity(level) do { set_trace_level(level); } while (0)
 #endif