X-Git-Url: https://git.notmuchmail.org/git?a=blobdiff_plain;f=notmuch-search.c;h=380e9d8fbd8f6dffc582cdd0e8788f7dc11b3913;hb=1348212cb051b846bbe98f6d653da45aad3dfefa;hp=71218fdd41af11c711bd197854d80fbd01e8840a;hpb=5ce8e0b11b40f733e6231d2067764e76717a341a;p=notmuch diff --git a/notmuch-search.c b/notmuch-search.c index 71218fdd..380e9d8f 100644 --- a/notmuch-search.c +++ b/notmuch-search.c @@ -123,7 +123,7 @@ do_search_threads (search_context_t *ctx) if (ctx->offset < 0) { unsigned count; notmuch_status_t status; - status = notmuch_query_count_threads_st (ctx->query, &count); + status = notmuch_query_count_threads (ctx->query, &count); if (print_status_query ("notmuch search", ctx->query, status)) return 1; @@ -160,6 +160,7 @@ do_search_threads (search_context_t *ctx) const char *subject = notmuch_thread_get_subject (thread); const char *thread_id = notmuch_thread_get_thread_id (thread); int matched = notmuch_thread_get_matched_messages (thread); + int files = notmuch_thread_get_total_files (thread); int total = notmuch_thread_get_total_messages (thread); const char *relative_date = NULL; notmuch_bool_t first_tag = TRUE; @@ -175,13 +176,23 @@ do_search_threads (search_context_t *ctx) if (format->is_text_printer) { /* Special case for the text formatter */ - printf ("thread:%s %12s [%d/%d] %s; %s (", + printf ("thread:%s %12s ", thread_id, - relative_date, + relative_date); + if (total == files) + printf ("[%d/%d] %s; %s (", matched, total, sanitize_string (ctx_quote, authors), sanitize_string (ctx_quote, subject)); + else + printf ("[%d/%d(%d)] %s; %s (", + matched, + total, + files, + sanitize_string (ctx_quote, authors), + sanitize_string (ctx_quote, subject)); + } else { /* Structured Output */ format->map_key (format, "thread"); format->string (format, thread_id); @@ -735,11 +746,19 @@ _notmuch_search_prepare (search_context_t *ctx, notmuch_config_t *config, int ar if (ctx->exclude != NOTMUCH_EXCLUDE_FALSE) { const char **search_exclude_tags; size_t search_exclude_tags_length; + notmuch_status_t status; search_exclude_tags = notmuch_config_get_search_exclude_tags (config, &search_exclude_tags_length); - for (i = 0; i < search_exclude_tags_length; i++) - notmuch_query_add_tag_exclude (ctx->query, search_exclude_tags[i]); + + for (i = 0; i < search_exclude_tags_length; i++) { + status = notmuch_query_add_tag_exclude (ctx->query, search_exclude_tags[i]); + if (status && status != NOTMUCH_STATUS_IGNORED) { + print_status_query ("notmuch search", ctx->query, status); + return EXIT_FAILURE; + } + } + notmuch_query_set_omit_excluded (ctx->query, ctx->exclude); }