nmh_version_changed(), use a read_context setting of 1.
int nmh_get_credentials (char *, char *, int, nmh_creds_t);
/*
- * temporary file management
+ * program initialization
+ *
+ * argv0: argv[0], presumably the program name
+ * read_context: 0: don't read context
+ * 1: read context, check nmh version, and issue warning message
+ * if non-existent or old
+ * 2: read context, don't check nmh version
*/
int nmh_init(const char *argv0, int read_context);
+
+/*
+ * temporary file management
+ */
int m_unlink(const char *);
void unregister_for_removal(int remove_files);
/* Check to see if the user is running a different version of nmh
than they had last run, and notify them if so. But only if
- they seem to be running an interactive program. */
- if (isatty (fileno (stdin)) && isatty (fileno (stdout)) &&
- isatty (fileno (stderr)) &&
- strcmp (invo_name, "ap") &&
- strcmp (invo_name, "dp") &&
- strcmp (invo_name, "fmtdump") &&
- strcmp (invo_name, "install-mh") &&
- strcmp (invo_name, "mhbuild") &&
- strcmp (invo_name, "mhfixmsg") &&
- strcmp (invo_name, "mhl") &&
- strcmp (invo_name, "mhparam") &&
- strcmp (invo_name, "mhpath") &&
- strcmp (invo_name, "mkstemp") &&
- strcmp (invo_name, "post") &&
- strcmp (invo_name, "prompter") &&
- strncmp (invo_name, "rcv", 3) &&
- strcmp (invo_name, "slocal") &&
- strcmp (invo_name, "viamail") &&
- strcmp (invo_name, "whatnow") &&
- strcmp (invo_name, "whom")) {
-
+ read_context was set to a value to enable this. */
+ if (read_context == 1 && isatty (fileno (stdin)) &&
+ isatty (fileno (stdout)) && isatty (fileno (stderr))) {
if (nmh_version_changed ()) {
printf ("==================================================="
"====================\n");
actual="$MH_TEST_DIR/test-version-check$$.actual"
context="${MH_TEST_DIR}"/Mail/context
-
-start_test 'with welcome message'
# Removing Version will trigger the welcome message.
grep -v Version "$context" > "$context.NEW"
mv -f "$context.NEW" "$context"
-# The will command wait for the user to hit return. script seems to do what
-# we want, continue, when run in the background.
+
+
+start_test 'mhparam skips the welcome message'
+# The command will wait for the user to hit return. script seems to do what
+# we want by not waiting when run in the background.
+script -c 'mhparam path last' -f -q "$actual" >/dev/null &
+wait $!
+grep 'Welcome to nmh version ' "$actual" >/dev/null && false
+rm "$actual"
+finish_test
+
+
+start_test 'with welcome message'
script -c 'pick last' -f -q "$actual" >/dev/null &
wait $!
grep 'Welcome to nmh version ' "$actual" >/dev/null
char buf[BUFSIZ], **argp;
char **arguments, *addrs[NADDRS];
- if (nmh_init(argv[0], 1)) { return 1; }
+ if (nmh_init(argv[0], 2)) { return 1; }
mts_init ();
arguments = getarguments (invo_name, argc, argv, 1);
char buf[BUFSIZ], **argp, **arguments;
char *dates[NDATES];
- if (nmh_init(argv[0], 1)) { return 1; }
+ if (nmh_init(argv[0], 2)) { return 1; }
arguments = getarguments (invo_name, argc, argv, 1);
argp = arguments;
char buf[BUFSIZ], *nfs, **argp, **arguments;
struct format *fmt;
- if (nmh_init(argv[0], 1)) { return 1; }
+ if (nmh_init(argv[0], 2)) { return 1; }
arguments = getarguments (invo_name, argc, argv, 1);
argp = arguments;
int header_encoding = CE_UNKNOWN;
size_t n;
- if (nmh_init(argv[0], 1)) { return 1; }
+ if (nmh_init(argv[0], 2)) { return 1; }
done=unlink_done;
fx.lf_line_endings = 0;
fx.textcharset = NULL;
- if (nmh_init(argv[0], 1)) { return 1; }
+ if (nmh_init(argv[0], 2)) { return 1; }
done = freects_done;
icaldebug = 0; /* Global provided by bison (with name-prefix "ical"). */
- if (nmh_init(argv[0], 1)) { return 1; }
+ if (nmh_init(argv[0], 2)) { return 1; }
arguments = getarguments (invo_name, argc, argv, 1);
argp = arguments;
int
main (int argc, char **argv)
{
- if (nmh_init(argv[0], 1)) { return 1; }
+ if (nmh_init(argv[0], 2)) { return 1; }
done (mhl (argc, argv));
return 1;
char *cp, buf[BUFSIZ], **argp;
char **arguments, *comps[MAXARGS];
- if (nmh_init(argv[0], 1)) { return 1; }
+ if (nmh_init(argv[0], 2)) { return 1; }
arguments = getarguments (invo_name, argc, argv, 1);
argp = arguments;
struct msgs_array msgs = { 0, 0, NULL };
struct msgs *mp;
- if (nmh_init(argv[0], 1)) { return 1; }
+ if (nmh_init(argv[0], 2)) { return 1; }
arguments = getarguments (invo_name, argc, argv, 1);
argp = arguments;
NMH_UNUSED(suffix);
# endif /* ! HAVE_MKSTEMPS */
- if (nmh_init(argv[0], 1)) { done(NOTOK); }
+ if (nmh_init(argv[0], 2)) { done(NOTOK); }
arguments = getarguments (invo_name, argc, argv, 1);
argp = arguments;
char *tmpfil;
m_getfld_state_t gstate = 0;
- if (nmh_init(argv[0], 1)) { return 1; }
+ if (nmh_init(argv[0], 2)) { return 1; }
arguments = getarguments (invo_name, argc, argv, 1);
argp = arguments;
FILE *fp;
char *tfile = NULL;
- if (nmh_init(argv[0], 1)) { return 1; }
+ if (nmh_init(argv[0], 2)) { return 1; }
done=unlink_done;
char *cp, *file = NULL, buf[BUFSIZ];
char **argp, **arguments;
- if (nmh_init(argv[0], 1)) { return 1; }
+ if (nmh_init(argv[0], 2)) { return 1; }
mts_init ();
arguments = getarguments (invo_name, argc, argv, 1);
struct msgs *mp;
struct stat st;
- if (nmh_init(argv[0], 1)) { return 1; }
+ if (nmh_init(argv[0], 2)) { return 1; }
done=unlink_done;
char **argp, **arguments, *vec[MAXARGS];
struct utmpx *utp;
- if (nmh_init(argv[0], 1)) { return 1; }
+ if (nmh_init(argv[0], 2)) { return 1; }
mts_init ();
arguments = getarguments (invo_name, argc, argv, 1);
char *cp, buf[BUFSIZ];
char **argp, **arguments;
- if (nmh_init(argv[0], 1)) { return 1; }
+ if (nmh_init(argv[0], 2)) { return 1; }
arguments = getarguments (invo_name, argc, argv, 0);
argp = arguments;
int
main (int argc, char **argv)
{
- if (nmh_init(argv[0], 1)) { return 1; }
+ if (nmh_init(argv[0], 2)) { return 1; }
return WhatNow (argc, argv);
}
char *msg = NULL, **ap, **argp, backup[BUFSIZ];
char buf[BUFSIZ], **arguments, *vec[MAXARGS];
- if (nmh_init(argv[0], 1)) { return 1; }
+ if (nmh_init(argv[0], 2)) { return 1; }
arguments = getarguments (invo_name, argc, argv, 1);
argp = arguments;