Re: [PATCH] emacs: wash: make word-wrap bound message width
[notmuch-archives.git] / fa / ac3470dd33417e5f6d73d4bfbabf9b3d34969f
1 Return-Path: <amdragon@mit.edu>\r
2 X-Original-To: notmuch@notmuchmail.org\r
3 Delivered-To: notmuch@notmuchmail.org\r
4 Received: from localhost (localhost [127.0.0.1])\r
5         by olra.theworths.org (Postfix) with ESMTP id 63F0A431FAF\r
6         for <notmuch@notmuchmail.org>; Thu,  9 Aug 2012 07:12:21 -0700 (PDT)\r
7 X-Virus-Scanned: Debian amavisd-new at olra.theworths.org\r
8 X-Spam-Flag: NO\r
9 X-Spam-Score: -0.7\r
10 X-Spam-Level: \r
11 X-Spam-Status: No, score=-0.7 tagged_above=-999 required=5\r
12         tests=[RCVD_IN_DNSWL_LOW=-0.7] autolearn=disabled\r
13 Received: from olra.theworths.org ([127.0.0.1])\r
14         by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024)\r
15         with ESMTP id sfB3iB-1X07U for <notmuch@notmuchmail.org>;\r
16         Thu,  9 Aug 2012 07:12:20 -0700 (PDT)\r
17 Received: from dmz-mailsec-scanner-4.mit.edu (DMZ-MAILSEC-SCANNER-4.MIT.EDU\r
18         [18.9.25.15])\r
19         by olra.theworths.org (Postfix) with ESMTP id BF5ED431FAE\r
20         for <notmuch@notmuchmail.org>; Thu,  9 Aug 2012 07:12:20 -0700 (PDT)\r
21 X-AuditID: 1209190f-b7f306d0000008b4-e2-5023c544195d\r
22 Received: from mailhub-auth-2.mit.edu ( [18.7.62.36])\r
23         by dmz-mailsec-scanner-4.mit.edu (Symantec Messaging Gateway) with SMTP\r
24         id 1F.FE.02228.445C3205; Thu,  9 Aug 2012 10:12:20 -0400 (EDT)\r
25 Received: from outgoing.mit.edu (OUTGOING-AUTH.MIT.EDU [18.7.22.103])\r
26         by mailhub-auth-2.mit.edu (8.13.8/8.9.2) with ESMTP id q79ECFRT020589; \r
27         Thu, 9 Aug 2012 10:12:16 -0400\r
28 Received: from awakening.csail.mit.edu (awakening.csail.mit.edu [18.26.4.91])\r
29         (authenticated bits=0)\r
30         (User authenticated as amdragon@ATHENA.MIT.EDU)\r
31         by outgoing.mit.edu (8.13.6/8.12.4) with ESMTP id q79ECBdU023712\r
32         (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=NOT);\r
33         Thu, 9 Aug 2012 10:12:14 -0400 (EDT)\r
34 Received: from amthrax by awakening.csail.mit.edu with local (Exim 4.77)\r
35         (envelope-from <amdragon@mit.edu>)\r
36         id 1SzTT9-0001an-6N; Thu, 09 Aug 2012 10:12:11 -0400\r
37 Date: Thu, 9 Aug 2012 10:12:11 -0400\r
38 From: Austin Clements <amdragon@MIT.EDU>\r
39 To: Tomi Ollila <tomi.ollila@iki.fi>\r
40 Subject: Re: [PATCH] emacs: Fix "not defined at runtime" warning\r
41 Message-ID: <20120809141211.GG11179@mit.edu>\r
42 References: <1344462010-5349-1-git-send-email-amdragon@mit.edu>\r
43         <m2628scxsf.fsf@guru.guru-group.fi>\r
44 MIME-Version: 1.0\r
45 Content-Type: text/plain; charset=us-ascii\r
46 Content-Disposition: inline\r
47 In-Reply-To: <m2628scxsf.fsf@guru.guru-group.fi>\r
48 User-Agent: Mutt/1.5.21 (2010-09-15)\r
49 X-Brightmail-Tracker:\r
50  H4sIAAAAAAAAA+NgFmphleLIzCtJLcpLzFFi42IRYrdT0XU5qhxg0LhFxOL6zZnMFm9WzmN1\r
51         YPI4/HUhi8ezVbeYA5iiuGxSUnMyy1KL9O0SuDKWnpvDXNDDX/H51ynGBsaf3F2MnBwSAiYS\r
52         q+csYYSwxSQu3FvP1sXIxSEksI9R4sjRf4wQznpGiSlzn0A5J5gkfsxdwgLhLGGU2DWrhQWk\r
53         n0VARWLT+9VsIDabgIbEtv3LweaKAMUftK1nBbGZBaQlvv1uZgKxhQUcJA5uXQ4W5xXQkdi8\r
54         fBYziC0kkCqxobMZKi4ocXLmExaIXi2JG/9eAvVygM1Z/o8DJMwpYCDROPEEWIko0KopJ7ex\r
55         TWAUmoWkexaS7lkI3QsYmVcxyqbkVunmJmbmFKcm6xYnJ+blpRbpmujlZpbopaaUbmIEBTan\r
56         JP8Oxm8HlQ4xCnAwKvHwXlqrFCDEmlhWXJl7iFGSg0lJlJdtv3KAEF9SfkplRmJxRnxRaU5q\r
57         8SFGCQ5mJRHeO31AOd6UxMqq1KJ8mJQ0B4uSOO/VlJv+QgLpiSWp2ampBalFMFkZDg4lCd51\r
58         R4AaBYtS01Mr0jJzShDSTBycIMN5gIZfAqnhLS5IzC3OTIfIn2JUlBLnPQ+SEABJZJTmwfXC\r
59         Es8rRnGgV4R594JU8QCTFlz3K6DBTECDD4sqgQwuSURISTUwltc/7EkvXdgnO+VbCENOx4Ev\r
60         B7d97IhUnThtR8XkPSWmkmZxl9XDm47MevfJYfm8O/HZR5cdWjdrdv+t6zeVSiw6F3D4HG7d\r
61         WNDJuta9+Nly05TH+7xsbqnpywo/+5sarz2VgfVF67TUTWUcatbxnaduM3Rfvea+KVREOO6a\r
62         c2mqlM+UJ3lNSizFGYmGWsxFxYkAhz4Z7hcDAAA=\r
63 Cc: notmuch@notmuchmail.org\r
64 X-BeenThere: notmuch@notmuchmail.org\r
65 X-Mailman-Version: 2.1.13\r
66 Precedence: list\r
67 List-Id: "Use and development of the notmuch mail system."\r
68         <notmuch.notmuchmail.org>\r
69 List-Unsubscribe: <http://notmuchmail.org/mailman/options/notmuch>,\r
70         <mailto:notmuch-request@notmuchmail.org?subject=unsubscribe>\r
71 List-Archive: <http://notmuchmail.org/pipermail/notmuch>\r
72 List-Post: <mailto:notmuch@notmuchmail.org>\r
73 List-Help: <mailto:notmuch-request@notmuchmail.org?subject=help>\r
74 List-Subscribe: <http://notmuchmail.org/mailman/listinfo/notmuch>,\r
75         <mailto:notmuch-request@notmuchmail.org?subject=subscribe>\r
76 X-List-Received-Date: Thu, 09 Aug 2012 14:12:21 -0000\r
77 \r
78 Quoth Tomi Ollila on Aug 09 at 10:46 am:\r
79 > On Thu, Aug 09 2012, Austin Clements <amdragon@MIT.EDU> wrote:\r
80\r
81 > > Previously, the Emacs byte compiler produced the warning\r
82 > >\r
83 > >     the function `remove-if-not' might not be defined at runtime.\r
84 > >\r
85 > > because we only required cl at compile-time (not runtime).  This fixes\r
86 > > this warning by requiring cl at runtime, ensuring that the definition\r
87 > > of remove-if-not is available.\r
88 > > ---\r
89\r
90 > LGTM. \r
91\r
92 > It took me a while to understand this. Now I just don't understand\r
93 > how did this work before. And why (require 'cl) is enough as \r
94 > remove-if-not is defined in cl-seq.el -- cl-seq.el requires cl\r
95 > but not vice-versa -- or at least I don't see that. Anyway\r
96 > (require 'cl) is the common way.\r
97 \r
98 This worked before in practice because 'cl is inevitably loaded by\r
99 some package, somewhere, but I'm sure it could be broken by a\r
100 sufficiently stripped down Emacs environment.\r
101 \r
102 (require 'cl) is enough because cl.el contains\r
103   (load "cl-loaddefs" nil 'quiet)\r
104 and cl-loaddefs.el defines an autoload for remove-if-not that in turn\r
105 loads cl-seq the first time remove-if-not is called.\r
106 \r
107 In fact, we *can't* (require 'cl-seq) because cl-seq.el never (provide\r
108 'cl-seq)s.  We could (load ...) it, but the fact that it never\r
109 provides a package name strongly suggests that the division of cl into\r
110 separate files is an implementation detail.\r
111 \r
112 > Tomi\r
113\r
114 > >  emacs/notmuch-lib.el |    2 +-\r
115 > >  1 file changed, 1 insertion(+), 1 deletion(-)\r
116 > >\r
117 > > diff --git a/emacs/notmuch-lib.el b/emacs/notmuch-lib.el\r
118 > > index 30db58f..900235b 100644\r
119 > > --- a/emacs/notmuch-lib.el\r
120 > > +++ b/emacs/notmuch-lib.el\r
121 > > @@ -24,7 +24,7 @@\r
122 > >  (require 'mm-view)\r
123 > >  (require 'mm-decode)\r
124 > >  (require 'json)\r
125 > > -(eval-when-compile (require 'cl))\r
126 > > +(require 'cl)\r
127 > >  \r
128 > >  (defvar notmuch-command "notmuch"\r
129 > >    "Command to run the notmuch binary.")\r