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;
}
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
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_message_t *message;
int ret = 0;
int unread;
const char *headers[] = {
"Subject", "From", "To", "Cc", "Bcc", "Date"
@ -1135,11 +1115,9 @@ show_command (void *ctx, unused (int argc), unused (char *argv[]))
notmuch_messages_advance (messages))
{
message = notmuch_messages_get (messages);
unread = _message_is_unread (message);
printf ("\fmessage{ ID: %s %s\n",
notmuch_message_get_message_id (message),
unread ? "unread" : "");
printf ("\fmessage{ ID: %s\n",
notmuch_message_get_message_id (message));
printf ("\fheader{\n");

View file

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