From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Michal Nazarewicz Newsgroups: gmane.emacs.bugs Subject: bug#22632: [PATCH 4/4] Refactor `message-strip-subject-trailing-was' function Date: Thu, 11 Feb 2016 16:02:35 +0100 Message-ID: <1455202955-25751-4-git-send-email-mina86@mina86.com> References: <1455202258-23963-1-git-send-email-mina86@mina86.com> <1455202955-25751-1-git-send-email-mina86@mina86.com> NNTP-Posting-Host: plane.gmane.org X-Trace: ger.gmane.org 1455203042 3844 80.91.229.3 (11 Feb 2016 15:04:02 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 11 Feb 2016 15:04:02 +0000 (UTC) To: 22632@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Thu Feb 11 16:03:53 2016 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1aTsmd-00015U-28 for geb-bug-gnu-emacs@m.gmane.org; Thu, 11 Feb 2016 16:03:51 +0100 Original-Received: from localhost ([::1]:50799 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aTsmc-0007vN-Ip for geb-bug-gnu-emacs@m.gmane.org; Thu, 11 Feb 2016 10:03:50 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:48526) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aTslw-00073O-US for bug-gnu-emacs@gnu.org; Thu, 11 Feb 2016 10:03:09 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aTslq-0001bj-SK for bug-gnu-emacs@gnu.org; Thu, 11 Feb 2016 10:03:08 -0500 Original-Received: from debbugs.gnu.org ([208.118.235.43]:55941) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aTslq-0001bf-Ny for bug-gnu-emacs@gnu.org; Thu, 11 Feb 2016 10:03:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84) (envelope-from ) id 1aTslq-0000nS-Ci for bug-gnu-emacs@gnu.org; Thu, 11 Feb 2016 10:03:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Michal Nazarewicz Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 11 Feb 2016 15:03:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 22632 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by 22632-submit@debbugs.gnu.org id=B22632.14552029733015 (code B ref 22632); Thu, 11 Feb 2016 15:03:02 +0000 Original-Received: (at 22632) by debbugs.gnu.org; 11 Feb 2016 15:02:53 +0000 Original-Received: from localhost ([127.0.0.1]:36841 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aTslh-0000mY-8W for submit@debbugs.gnu.org; Thu, 11 Feb 2016 10:02:53 -0500 Original-Received: from mail-wm0-f46.google.com ([74.125.82.46]:36086) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aTslf-0000mE-T4 for 22632@debbugs.gnu.org; Thu, 11 Feb 2016 10:02:52 -0500 Original-Received: by mail-wm0-f46.google.com with SMTP id p63so77186738wmp.1 for <22632@debbugs.gnu.org>; Thu, 11 Feb 2016 07:02:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=sender:from:to:subject:date:message-id:in-reply-to:references; bh=GFSudSlXnay+J3KSOP0kLuswil4Mzu7BnoHYaqfjbdA=; b=eYLrtr4lw7q+9zGdnSqOcCPGu5vEc+a4cC1uPOqTt6rVz6n1g2/xZdg/dRjEqLIHxP 4K/yguEr0D8yTQLE4UvFGV0NEHQalLQR5sAoILpo4e28e2CV0jiYQtSkfkq66FH8fBBf zwTDfwoClFNQmaORX7cB+ERrdhs2glIIKGs8jH/UoL49SB0/Da/KqXrYMDaz9Pu/CV5e cyYj59iNmKfl8I+qI1hVB30mmAtLOQ2gLAUkXtvG9Ty6GIAh+BRV1u7Ce/PppzYmajv4 qYVx+9GG6iizINuhA/YERwdvDAnFZAo+bkLV6absRhfiMJ/Jh1odxeM/pEdXnyqity1H 89KA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:sender:from:to:subject:date:message-id :in-reply-to:references; bh=GFSudSlXnay+J3KSOP0kLuswil4Mzu7BnoHYaqfjbdA=; b=iw5AacJMpxd3uKYuhFGVQSJoDDNs4eeSIfniv4xfay98V4P4LUdJ0P2cctScvrOhd3 SXj2V+lbY4E5WyAmfuqNip8WnJZbOM8bh972fyzFcmGooEGB60GQEHLoIMs/j2F8hXlV uGomH+z5+iqAzroMDoOxQA3pfA9UeEh/yKqmTIMp+XiM7IKD5a7B8EVgY4f0DBP8NXGx 91fc/YGRZYfj3KH49z0uiwuxr7DvvoLIc0Yg0s8AblR/CzdT8w4DC80VuPkJggua/H+b ENiEVJn87yZ7KZe1enSeqg6wkvSSZd9dYT28vvUbdae/ocwScbrPvp27Dps2aQCSKPZG /yfA== X-Gm-Message-State: AG10YORxme5/ZUvK7am4v6soAzdkUDMKkmV8n7RnG4vrCqKBb+JoAco7mP+7n/cgRl5M9ZAP X-Received: by 10.28.99.136 with SMTP id x130mr19275662wmb.12.1455202966083; Thu, 11 Feb 2016 07:02:46 -0800 (PST) Original-Received: from mpn.zrh.corp.google.com ([2620:0:105f:301:ddd1:edef:c1eb:262b]) by smtp.gmail.com with ESMTPSA id gg7sm7976913wjd.10.2016.02.11.07.02.44 for <22632@debbugs.gnu.org> (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 11 Feb 2016 07:02:44 -0800 (PST) Original-Received: by mpn.zrh.corp.google.com (Postfix, from userid 126942) id CB1F61E01F5; Thu, 11 Feb 2016 16:02:43 +0100 (CET) X-Mailer: git-send-email 2.7.0.rc3.207.g0ac5344 In-Reply-To: <1455202955-25751-1-git-send-email-mina86@mina86.com> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:112891 Archived-At: * lisp/gnus/message.el (message-strip-subject-trailing-was): Refactor the function replacing sequence of `if' calls with a mixture of `or' and `and' calls instead. This makes it shorter and containing less internal state thus easier to follow. --- lisp/gnus/message.el | 47 ++++++++++++++++++++--------------------------- 1 file changed, 20 insertions(+), 27 deletions(-) diff --git a/lisp/gnus/message.el b/lisp/gnus/message.el index fee7937..31caeb9 100644 --- a/lisp/gnus/message.el +++ b/lisp/gnus/message.el @@ -2220,33 +2220,26 @@ message-strip-subject-trailing-was "Remove trailing \"(was: )\" from SUBJECT lines. Leading \"Re: \" is not stripped by this function. Use the function `message-strip-subject-re' for this." - (let* ((query message-subject-trailing-was-query) - (new) (found)) - (setq found - (string-match - (if (eq query 'ask) - message-subject-trailing-was-ask-regexp - message-subject-trailing-was-regexp) - subject)) - (if found - (setq new (substring subject 0 (match-beginning 0)))) - (if (or (not found) (eq query nil)) - subject - (if (eq query 'ask) - (if (message-y-or-n-p - "Strip `(was: )' in subject? " t - (concat - "Strip `(was: )' in subject " - "and use the new one instead?\n\n" - "Current subject is: \"" - subject "\"\n\n" - "New subject would be: \"" - new "\"\n\n" - "See the variable `message-subject-trailing-was-query' " - "to get rid of this query." - )) - new subject) - new)))) + (or + (let ((query message-subject-trailing-was-query) new) + (and query + (string-match (if (eq query 'ask) + message-subject-trailing-was-ask-regexp + message-subject-trailing-was-regexp) + subject) + (setq new (substring subject 0 (match-beginning 0))) + (or (not (eq query 'ask)) + (message-y-or-n-p + "Strip `(was: )' in subject? " t + (concat + "Strip `(was: )' in subject " + "and use the new one instead?\n\n" + "Current subject is: \"" subject "\"\n\n" + "New subject would be: \"" new "\"\n\n" + "See the variable `message-subject-trailing-was-query' " + "to get rid of this query."))) + new)) + subject)) ;;; Suggested by Jonas Steverud @ www.dtek.chalmers.se/~d4jonas/ -- 2.7.0.rc3.207.g0ac5344