-------------------
DEPRECATED FEATURES
-------------------
+
+- Support for the MHPDEBUG environment variable is deprecated and will be
+ removed from a future nmh release. Instead, use the -debug switch to pick.
+
---------
BUG FIXES
---------
* prototypes
*/
int pcompile (char **, char *);
-int pmatches (FILE *, int, long, long);
+int pmatches (FILE *, int, long, long, int);
If this variable is set to a non-null value,
.B pick
will emit a representation of the search pattern.
+.B $MHPDEBUG
+is deprecated, so support for this variable will
+be removed from a future nmh release. Instead,
+.B pick
+now supports a
+.B \-debug
+switch.
.RE
.PP
.B $MHWDEBUG
-.TH PICK %manext1% "March 1, 2014" "%nmhversion%"
+.TH PICK %manext1% "August 3, 2014" "%nmhversion%"
.\"
.\" %nmhwarning%
.\"
.RB [ \-public " | " \-nopublic ]
.RB [ \-zero " | " \-nozero ]
.RB [ \-list " | " \-nolist ]
+.RB [ \-debug ]
.RB [ \-version ]
.RB [ \-help ]
.PP
same way
.B mark
uses them.
+.PP
+The
+.B \-debug
+switch causes pick to output a representation of the search
+pattern.
.SS "Output when no messages are matched"
If
.B pick
10
11'
-# Test MHPDEBUG.
-# Don't use run_prog here because it loses the environment setting.
-MHPDEBUG=1 pick -not -lbrace -subject NoMatch -and -subject message.3 -rbrace \
- >/dev/null 2>"$actual"
+# Test -debug.
+run_prog pick -debug -not -lbrace -subject NoMatch -and -subject message.3 \
+ -rbrace >/dev/null 2>"$actual"
cat >"$expected" <<EOF
NOT
| AND
X("nozero", 0, NZEROSW) \
X("list", 0, LISTSW) \
X("nolist", 0, NLISTSW) \
+ X("debug", 0, DEBUGSW) \
X("version", 0, VERSIONSW) \
X("help", 0, HELPSW) \
struct msgnum_array nums = { 0, 0, NULL };
struct msgs *mp, *mp2;
register FILE *fp;
+ int debug = 0;
if (nmh_init(argv[0], 1)) { return 1; }
done=putzero_done;
+ /* Deprecated. Use -debug instead. */
+ if ((cp = getenv ("MHPDEBUG")) && *cp)
+ ++debug;
+
arguments = getarguments (invo_name, argc, argv, 1);
argp = arguments;
case NLISTSW:
listsw = 0;
continue;
+
+ case DEBUGSW:
+ ++debug;
+ continue;
}
}
if (*cp == '+' || *cp == '@') {
if (is_selected (mp, msgnum)) {
if ((fp = fopen (cp = m_name (msgnum), "r")) == NULL)
admonish (cp, "unable to read message");
- if (fp && pmatches (fp, msgnum, 0L, 0L)) {
+ if (fp && pmatches (fp, msgnum, 0L, 0L, debug)) {
if (listsw)
printf ("%s\n", m_name (msgnum));
} else {
#define n_tws un.st3.un_tws
static int talked;
-static int pdebug = 0;
static char *datesw;
static char **argp;
int
pcompile (char **vec, char *date)
{
- register char *cp;
-
- if ((cp = getenv ("MHPDEBUG")) && *cp)
- pdebug++;
-
argp = vec;
if ((datesw = date) == NULL)
datesw = "date";
stop;
int
-pmatches (FILE *fp, int msgnum, long start, long stop)
+pmatches (FILE *fp, int msgnum, long start, long stop, int debug)
{
if (!head)
return 1;
- if (!talked++ && pdebug)
+ if (!talked++ && debug)
PRaction (head, 0);
return (*head->n_action) (args (head));