topsrcdir_DOCFILES = COPYRIGHT GPL INSTALL ChangeLog \
README NEWS TODO README.SECURITY README.SSL README.UPGRADE
-all: try-html try-txt muttrc.man
+all: muttrc.man try-html try-txt
-try-html:
+try-html: ../makedoc
test -f manual.html || $(MAKE) manual.html || cp $(srcdir)/manual*.html ./
-try-txt:
+try-txt: ../makedoc
test -f manual.txt || $(MAKE) manual.txt || cp $(srcdir)/manual.txt ./
install: all
<bf/Note:/ new mail is detected by comparing the last modification time to
the last access time. Utilities like <tt/biff/ or <tt/frm/ or any other
program which accesses the mailbox might cause Mutt to never detect new mail
-for that mailbox if they do not properly reset the access time.
+for that mailbox if they do not properly reset the access time. Backup
+tools are another common reason for updated access times.
<p>
<bf/Note:/ the filenames in the <tt/mailboxes/ command are resolved when
return (r);
}
+#define MAXERRS 128
+
/* reads the specified initialization file. returns -1 if errors were found
so that we can pause to let the user know... */
static int source_rc (const char *rcfile, BUFFER *err)
if (mutt_parse_rc_line (linebuf, &token, err) == -1)
{
mutt_error (_("Error in %s, line %d: %s"), rcfile, line, err->data);
- rc = -1;
+ if (--rc < -MAXERRS)
+ break;
}
+ else
+ if (rc < 0)
+ rc = -1;
}
FREE (&token.data);
safe_free ((void **) &linebuf);
if (pid != -1)
mutt_wait_filter (pid);
if (rc)
+ {
/* the muttrc source keyword */
- snprintf (err->data, err->dsize, _("source: errors in %s"), rcfile);
+ snprintf (err->data, err->dsize, rc >= -MAXERRS ? _("source: errors in %s")
+ : _("source: reading aborted due too many errors in %s"), rcfile);
+ rc = -1;
+ }
return (rc);
}
+#undef MAXERRS
+
static int parse_source (BUFFER *tmp, BUFFER *s, unsigned long data, BUFFER *err)
{
char path[_POSIX_PATH_MAX];
msgid "source: errors in %s"
msgstr "source: Fehler in %s"
+#: init.c:1210
+#, c-format
+msgid "source: reading aborted due too many errors in %s"
+msgstr "source: Lesevorgang abgebrochen, zu viele Fehler in %s"
+
#: init.c:1213
#, c-format
msgid "source: error at %s"
char *pfx = NULL, *mypfx = NULL, *arrow = NULL, *myarrow = NULL;
char corner = Sort & SORT_REVERSE ? M_TREE_ULCORNER : M_TREE_LLCORNER;
int depth = 0, start_depth = 0, max_depth = 0, max_width = 0;
- int nextdisp = 0;
+ int nextdisp = 0, visible;
HEADER *tree = ctx->tree;
HEADER **array = ctx->hdrs + (Sort & SORT_REVERSE ? ctx->msgcount - 1 : 0);
FOREVER
{
- if (tree->virtual >= 0 || (tree->collapsed && (!ctx->pattern || tree->limited)))
+ if ((visible = (tree->virtual >= 0 || (tree->collapsed && (!ctx->pattern || tree->limited)))))
tree->display_subject = need_display_subject (ctx, tree);
if (depth >= max_depth)
(max_width += 16) * 2 * sizeof (char));
safe_free ((void **) &tree->tree);
- if (!depth)
- {
- if (tree->virtual >= 0 || (tree->collapsed && (!ctx->pattern || tree->limited)))
- tree->tree = safe_strdup ("");
- }
- else
+
+ if (depth)
{
myarrow = arrow + (depth - start_depth - (start_depth ? 0 : 1)) * 2;
nextdisp = is_next_displayed (ctx, tree);
else
myarrow[0] = M_TREE_HIDDEN;
myarrow[1] = tree->fake_thread ? M_TREE_STAR : M_TREE_HLINE;
- if (tree->virtual >= 0 || (tree->collapsed && (!ctx->pattern || tree->limited)))
+ if (visible)
{
myarrow[2] = M_TREE_RARROW;
myarrow[3] = 0;
}
- if (tree->virtual >= 0 || (tree->collapsed && (!ctx->pattern || tree->limited)))
+ if (visible)
{
tree->tree = safe_malloc ((2 + depth * 2) * sizeof (char));
if (start_depth > 1)
mypfx[1] = M_TREE_SPACE;
}
depth++;
- if (tree->virtual >= 0 || (tree->collapsed && (!ctx->pattern || tree->limited)))
+ if (visible)
start_depth = depth;
tree = tree->child;
}