[PATCH 1/3] emacs/show: use plist to pass message info to n-s-insert-headerline

Subject: [PATCH 1/3] emacs/show: use plist to pass message info to n-s-insert-headerline

Date: Fri, 11 Nov 2022 16:48:29 -0500

To: Tomi Ollila, David Bremner, notmuch@notmuchmail.org


From: David Bremner

This should allow calling notmuch-show-insert-headerline from other
places without duplicating the set of plist accesses.
 emacs/notmuch-show.el | 21 +++++++++++----------
 1 file changed, 11 insertions(+), 10 deletions(-)

diff --git a/emacs/notmuch-show.el b/emacs/notmuch-show.el
index ec998ede..b7a8de6a 100644
--- a/emacs/notmuch-show.el
+++ b/emacs/notmuch-show.el
@@ -530,11 +530,18 @@ Return unchanged ADDRESS if parsing fails."
 	  (plist-put msg :height height)
-(defun notmuch-show-insert-headerline (headers date tags depth duplicate file-count)
+(defun notmuch-show-insert-headerline (msg-plist depth tags)
   "Insert a notmuch style headerline based on HEADERS for a
 message at DEPTH in the current thread."
-  (let ((start (point))
-	(from (notmuch-sanitize
+  (let* ((start (point))
+	 (headers (plist-get msg-plist :headers))
+	 (duplicate (or (plist-get msg-plist :duplicate) 0))
+	 (file-count (length (plist-get msg-plist :filename)))
+	 (date (or (and notmuch-show-relative-dates
+			(plist-get msg-plist :date_relative))
+		   (plist-get headers :Date)))
+    	 (duplicate (or (plist-get msg-plist :duplicate) 0))
+	 (from (notmuch-sanitize
 	       (notmuch-show-clean-address (plist-get headers :From)))))
     (when (string-match "\\cR" from)
       ;; If the From header has a right-to-left character add
@@ -1171,8 +1178,6 @@ is out of range."
 (defun notmuch-show-insert-msg (msg depth)
   "Insert the message MSG at depth DEPTH in the current thread."
   (let* ((headers (plist-get msg :headers))
-	 (duplicate (or (plist-get msg :duplicate) 0))
-	 (files (length (plist-get msg :filename)))
 	 ;; Indentation causes the buffer offset of the start/end
 	 ;; points to move, so we must use markers.
 	 message-start message-end
@@ -1180,11 +1185,7 @@ is out of range."
 	 headers-start headers-end
 	 (bare-subject (notmuch-show-strip-re (plist-get headers :Subject))))
     (setq message-start (point-marker))
-    (notmuch-show-insert-headerline headers
-				    (or (and notmuch-show-relative-dates
-					     (plist-get msg :date_relative))
-					(plist-get headers :Date))
-				    (plist-get msg :tags) depth duplicate files)
+    (notmuch-show-insert-headerline msg depth (plist-get msg :tags))
     (setq content-start (point-marker))
     ;; Set `headers-start' to point after the 'Subject:' header to be
     ;; compatible with the existing implementation. This just sets it

notmuch mailing list -- notmuch@notmuchmail.org
To unsubscribe send an email to notmuch-leave@notmuchmail.org