same component. Until now, all but the first were silently ignored.
Things to add to the release notes for the next full release:
-Backward incompatibilities:
+------------
+NEW FEATURES
+------------
+
+- All nmh programs will now warn about multiple profile entries for the
+ same component. In previous versions, all but the first were
+ silently ignored.
+
+----------------------------
+OBSOLETE/DEPRECATED FEATURES
+----------------------------
+
- Changed exit status of each nmh command's -version and -help
switches from 1 to 0.
- The following environment variables were deprecated in nmh 1.5
.B nmh
profile or
.B nmh
-context, and indicates what the default value is.
+context, and indicates what the default value is. Note that a profile
+component can only appear once. Multiple appearances with trigger a
+warning that all appearances after the first are ignored.
.PP
.BR Path :
Mail
break;
}
+ if (opp == NULL) {
+ /* Check for duplicated profile entries. But only on this
+ very first call from context_read(), when opp is NULL. */
+
+ for (np = m_defs; np; np = np->n_next) {
+ /* Yes, this is O(N^2). The profile should be small enough so
+ that's not a performance problem. */
+ struct node *np2;
+ for (np2 = np->n_next; np2; np2 = np2->n_next) {
+ if (!mh_strcasecmp (np->n_name, np2->n_name)) {
+ admonish (NULL, "multiple \"%s\" profile components "
+ "in %s, ignoring \"%s\"",
+ np->n_name, defpath, np2->n_field);
+ }
+ }
+ }
+ }
+
opp = npp;
}