aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--notmuch.c26
-rw-r--r--notmuch.el19
2 files changed, 11 insertions, 34 deletions
diff --git a/notmuch.c b/notmuch.c
index c607457c..3b4cd6f1 100644
--- a/notmuch.c
+++ b/notmuch.c
@@ -1068,25 +1068,6 @@ show_message_body (const char *filename)
}
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[]))
{
void *local = talloc_new (ctx);
@@ -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");
diff --git a/notmuch.el b/notmuch.el
index 0863c6b7..89089c53 100644
--- a/notmuch.el
+++ b/notmuch.el
@@ -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))
- 'invisible 'notmuch-show-body-read))
- (notmuch-show-markup-citations-region beg (point))
- ))
+ (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 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-header)
+ (notmuch-show-markup-body))
(goto-char (point-max))))
(defun notmuch-show-hide-markers ()