diff options
author | David Edmondson <dme@dme.org> | 2010-05-19 11:21:05 +0100 |
---|---|---|
committer | Carl Worth <cworth@cworth.org> | 2011-05-18 16:11:53 -0700 |
commit | 0898cfad5ef2d7c000e9c23e9205e02aec18cc24 (patch) | |
tree | b36569ff829a6c5b6ddbc26251fa87b27b6d4ac2 /emacs/notmuch-show.el | |
parent | 4f04d2734f5e6a765aac05dbb205565774782123 (diff) |
emacs: Show cleaner `From:' addresses in the summary line.
Remove double quotes and flatten "foo@bar.com <foo@bar.com>" to
"foo@bar.com".
Edited-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net> (clean up
expected output for emacs tests).
Signed-off-by: Jameson Rollins <jrollins@finestructure.net>
Diffstat (limited to 'emacs/notmuch-show.el')
-rw-r--r-- | emacs/notmuch-show.el | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/emacs/notmuch-show.el b/emacs/notmuch-show.el index 9c174e25..ed7037a1 100644 --- a/emacs/notmuch-show.el +++ b/emacs/notmuch-show.el @@ -222,12 +222,30 @@ same as that of the previous message." 'face 'notmuch-tag-face) ")")))))) +(defun notmuch-show-clean-address (address) + "Clean a single email address for display." + (let* ((parsed (mail-header-parse-address address)) + (address (car parsed)) + (name (cdr parsed))) + ;; Remove double quotes. They might be required during transport, + ;; but we don't need to see them. + (when name + (setq name (replace-regexp-in-string "\"" "" name))) + ;; If the address is 'foo@bar.com <foo@bar.com>' then show just + ;; 'foo@bar.com'. + (when (string= name address) + (setq name nil)) + + (if (not name) + address + (concat name " <" address ">")))) + (defun notmuch-show-insert-headerline (headers date tags depth) "Insert a notmuch style headerline based on HEADERS for a message at DEPTH in the current thread." (let ((start (point))) (insert (notmuch-show-spaces-n depth) - (plist-get headers :From) + (notmuch-show-clean-address (plist-get headers :From)) " (" date ") (" |