Return-Path: X-Original-To: notmuch@notmuchmail.org Delivered-To: notmuch@notmuchmail.org Received: from localhost (localhost [127.0.0.1]) by olra.theworths.org (Postfix) with ESMTP id 9D96A431FBF for ; Tue, 31 Jul 2012 09:25:59 -0700 (PDT) X-Virus-Scanned: Debian amavisd-new at olra.theworths.org X-Spam-Flag: NO X-Spam-Score: -1.098 X-Spam-Level: X-Spam-Status: No, score=-1.098 tagged_above=-999 required=5 tests=[DKIM_ADSP_CUSTOM_MED=0.001, FREEMAIL_FROM=0.001, NML_ADSP_CUSTOM_MED=1.2, RCVD_IN_DNSWL_MED=-2.3] autolearn=disabled Received: from olra.theworths.org ([127.0.0.1]) by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id IETcrRbkjLoz for ; Tue, 31 Jul 2012 09:25:58 -0700 (PDT) Received: from mail2.qmul.ac.uk (mail2.qmul.ac.uk [138.37.6.6]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by olra.theworths.org (Postfix) with ESMTPS id 322B7431FBD for ; Tue, 31 Jul 2012 09:25:58 -0700 (PDT) Received: from smtp.qmul.ac.uk ([138.37.6.40]) by mail2.qmul.ac.uk with esmtp (Exim 4.71) (envelope-from ) id 1SwFGZ-0005kp-V1; Tue, 31 Jul 2012 17:25:54 +0100 Received: from 94-192-233-223.zone6.bethere.co.uk ([94.192.233.223] helo=localhost) by smtp.qmul.ac.uk with esmtpsa (TLSv1:AES128-SHA:128) (Exim 4.69) (envelope-from ) id 1SwFGZ-0002kp-Gy; Tue, 31 Jul 2012 17:25:51 +0100 From: Mark Walters To: Tomi Ollila , notmuch@notmuchmail.org Subject: Re: [PATCH] emacs: Split the function notmuch-show-clean-address In-Reply-To: References: <87ehnw84e5.fsf@qmul.ac.uk> User-Agent: Notmuch/0.13.2+96~g634443c (http://notmuchmail.org) Emacs/23.4.1 (x86_64-pc-linux-gnu) Date: Tue, 31 Jul 2012 17:25:51 +0100 Message-ID: <87boivzyls.fsf@qmul.ac.uk> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Sender-Host-Address: 94.192.233.223 X-QM-SPAM-Info: Sender has good ham record. :) X-QM-Body-MD5: 960cb66c68eaa6edf5544b3d5f0877d3 (of first 20000 bytes) X-SpamAssassin-Score: -1.8 X-SpamAssassin-SpamBar: - X-SpamAssassin-Report: The QM spam filters have analysed this message to determine if it is spam. We require at least 5.0 points to mark a message as spam. This message scored -1.8 points. Summary of the scoring: * -2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at http://www.dnswl.org/, * medium trust * [138.37.6.40 listed in list.dnswl.org] * 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider * (markwalters1009[at]gmail.com) * -0.0 T_RP_MATCHES_RCVD Envelope sender domain matches handover relay * domain * 0.5 AWL AWL: From: address is in the auto white-list X-QM-Scan-Virus: ClamAV says the message is clean X-BeenThere: notmuch@notmuchmail.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: "Use and development of the notmuch mail system." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Jul 2012 16:25:59 -0000 On Tue, 31 Jul 2012, Tomi Ollila wrote: > On Sat, Jul 28 2012, Mark Walters wrote: > >> This function is also used by pick so split it out. Since, pick and show >> want a slightly different combination of name and email make the >> separated function return them as a pair, and let show or pick extract >> the combination they want from that. >> --- Many thanks for the review all these look clear improvements: I will post a new version as a reply to this email. > Put notmuch-clean-address before notmuch-show-clean-address so that > byte compilation don't complain about missing function. Fixed: I am curious though because I did not get any complaints from make. Are there some debug or similar things I should be setting? > (or move it to another file --- maybe later if it is sensible thing to do) I was vaguely thinking of moving it to lib after the split. > You could return the name-address pair as cons cell instead of list (?). This is a clear improvement. Thanks again Mark > (If you continue to use list you can replace (car (cdr ...)) with (cadr ...)) > > Anyway, LGTM. > > Tomi > >> >> This change allows the removal of about 50 lines of duplicated code from >> notmuch-pick. Later, we may want to move the split out function to lib. >> >> emacs/notmuch-show.el | 19 ++++++++++++++----- >> 1 files changed, 14 insertions(+), 5 deletions(-) >> >> diff --git a/emacs/notmuch-show.el b/emacs/notmuch-show.el >> index 6335d45..0d8569d 100644 >> --- a/emacs/notmuch-show.el >> +++ b/emacs/notmuch-show.el >> @@ -354,6 +354,19 @@ operation on the contents of the current buffer." >> (defun notmuch-show-clean-address (address) >> "Try to clean a single email ADDRESS for display. Return >> unchanged ADDRESS if parsing fails." >> + (let* ((clean-address (notmuch-clean-address address)) >> + (p-address (car clean-address)) >> + (p-name (car (cdr clean-address)))) >> + ;; If no name, return just the address. >> + (if (not p-name) >> + p-address >> + ;; Otherwise format the name and address together. >> + (concat p-name " <" p-address ">")))) >> + >> +(defun notmuch-clean-address (address) >> + "Try to clean a single email ADDRESS for display. >> +Return (AUTHOR_EMAIL AUTHOR_NAME). Return (ADDRESS nil) if >> +parsing fails." >> (condition-case nil >> (let (p-name p-address) >> ;; It would be convenient to use `mail-header-parse-address', >> @@ -401,11 +414,7 @@ unchanged ADDRESS if parsing fails." >> (when (string= p-name p-address) >> (setq p-name nil)) >> >> - ;; If no name results, return just the address. >> - (if (not p-name) >> - p-address >> - ;; Otherwise format the name and address together. >> - (concat p-name " <" p-address ">"))) >> + (list p-address p-name)) >> (error address))) >> >> (defun notmuch-show-insert-headerline (headers date tags depth) >> -- >> 1.7.9.1 >> >> _______________________________________________ >> notmuch mailing list >> notmuch@notmuchmail.org >> http://notmuchmail.org/mailman/listinfo/notmuch