notmuch show: Remove custom "unread" hack, (printing tag in two locations).

I previously had a hack that special-cased the "unread" tag and
printed it on the same line as the message ID. But now that we are
printing all tags at the end of the one-line summary we don't need
this anymore. Get rid of it, and just read "unread" from the list of
tags just like any other tag.
This commit is contained in:
Carl Worth 2009-11-03 13:13:50 -08:00
parent 0ceef70efd
commit aa34eb2a37
2 changed files with 11 additions and 34 deletions

View file

@ -1067,25 +1067,6 @@ show_message_body (const char *filename)
return ret; return ret;
} }
static int
_message_is_unread (notmuch_message_t *message)
{
notmuch_tags_t *tags;
const char *tag;
for (tags = notmuch_message_get_tags (message);
notmuch_tags_has_more (tags);
notmuch_tags_advance (tags))
{
tag = notmuch_tags_get (tags);
if (strcmp (tag, "unread") == 0)
return 1;
}
return 0;
}
static int static int
show_command (void *ctx, unused (int argc), unused (char *argv[])) show_command (void *ctx, unused (int argc), unused (char *argv[]))
{ {
@ -1096,7 +1077,6 @@ show_command (void *ctx, unused (int argc), unused (char *argv[]))
notmuch_messages_t *messages; notmuch_messages_t *messages;
notmuch_message_t *message; notmuch_message_t *message;
int ret = 0; int ret = 0;
int unread;
const char *headers[] = { const char *headers[] = {
"Subject", "From", "To", "Cc", "Bcc", "Date" "Subject", "From", "To", "Cc", "Bcc", "Date"
@ -1135,11 +1115,9 @@ show_command (void *ctx, unused (int argc), unused (char *argv[]))
notmuch_messages_advance (messages)) notmuch_messages_advance (messages))
{ {
message = notmuch_messages_get (messages); message = notmuch_messages_get (messages);
unread = _message_is_unread (message);
printf ("\fmessage{ ID: %s %s\n", printf ("\fmessage{ ID: %s\n",
notmuch_message_get_message_id (message), notmuch_message_get_message_id (message));
unread ? "unread" : "");
printf ("\fheader{\n"); printf ("\fheader{\n");

View file

@ -66,7 +66,7 @@
(defvar notmuch-show-part-end-regexp " part}") (defvar notmuch-show-part-end-regexp " part}")
(defvar notmuch-show-marker-regexp " \\(message\\|header\\|body\\|attachment\\|part\\)[{}].*$") (defvar notmuch-show-marker-regexp " \\(message\\|header\\|body\\|attachment\\|part\\)[{}].*$")
(defvar notmuch-show-id-regexp "ID: \\([^ ]*\\)") (defvar notmuch-show-id-regexp "ID: \\(.*\\)$")
(defvar notmuch-show-tags-regexp "(\\([^)]*\\))$") (defvar notmuch-show-tags-regexp "(\\([^)]*\\))$")
(defun notmuch-show-get-message-id () (defun notmuch-show-get-message-id ()
@ -178,17 +178,17 @@ Before moving, also remove the \"unread\" tag from the current message."
(goto-char end))) (goto-char end)))
(next-line)))) (next-line))))
(defun notmuch-show-markup-body (unread) (defun notmuch-show-markup-body ()
(re-search-forward notmuch-show-body-begin-regexp) (re-search-forward notmuch-show-body-begin-regexp)
(next-line 1) (next-line 1)
(beginning-of-line) (beginning-of-line)
(let ((beg (point))) (let ((beg (point)))
(re-search-forward notmuch-show-body-end-regexp) (re-search-forward notmuch-show-body-end-regexp)
(if (not unread) (let ((end (match-beginning 0)))
(overlay-put (make-overlay beg (match-beginning 0)) (if (not (member "unread" (notmuch-show-get-tags)))
'invisible 'notmuch-show-body-read)) (overlay-put (make-overlay beg end)
(notmuch-show-markup-citations-region beg (point)) 'invisible 'notmuch-show-body-read))
)) (notmuch-show-markup-citations-region beg end))))
(defun notmuch-show-markup-header () (defun notmuch-show-markup-header ()
(re-search-forward notmuch-show-header-begin-regexp) (re-search-forward notmuch-show-header-begin-regexp)
@ -202,9 +202,8 @@ Before moving, also remove the \"unread\" tag from the current message."
(defun notmuch-show-markup-message () (defun notmuch-show-markup-message ()
(if (re-search-forward notmuch-show-message-begin-regexp nil t) (if (re-search-forward notmuch-show-message-begin-regexp nil t)
(progn (progn
(let ((unread (looking-at ".*unread$"))) (notmuch-show-markup-header)
(notmuch-show-markup-header) (notmuch-show-markup-body))
(notmuch-show-markup-body unread)))
(goto-char (point-max)))) (goto-char (point-max))))
(defun notmuch-show-hide-markers () (defun notmuch-show-hide-markers ()