Re: [PATCH] emacs: wash: make word-wrap bound message width
[notmuch-archives.git] / 73 / 56b30d7169aa1fbb1890c010b367a7e19a3a45
1 Return-Path: <teythoon@jade-hamburg.de>\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 1FC07431FAF\r
6         for <notmuch@notmuchmail.org>; Mon, 30 Apr 2012 12:57:15 -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\r
10 X-Spam-Level: \r
11 X-Spam-Status: No, score=0 tagged_above=-999 required=5 tests=[none]\r
12         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 kXI9xPa24klg for <notmuch@notmuchmail.org>;\r
16         Mon, 30 Apr 2012 12:57:10 -0700 (PDT)\r
17 Received: from mail.cryptobitch.de (cryptobitch.de [88.198.7.68])\r
18         (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))\r
19         (No client certificate requested)\r
20         by olra.theworths.org (Postfix) with ESMTPS id ED603429E4A\r
21         for <notmuch@notmuchmail.org>; Mon, 30 Apr 2012 12:56:56 -0700 (PDT)\r
22 Received: from mail.jade-hamburg.de (mail.jade-hamburg.de [85.183.11.228])\r
23         (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))\r
24         (No client certificate requested)\r
25         by mail.cryptobitch.de (Postfix) with ESMTPSA id 86F32584BAB\r
26         for <notmuch@notmuchmail.org>; Mon, 30 Apr 2012 21:56:55 +0200 (CEST)\r
27 Received: by mail.jade-hamburg.de (Postfix, from userid 401)\r
28         id 09262DF2A2; Mon, 30 Apr 2012 21:56:55 +0200 (CEST)\r
29 Received: from thinkbox.jade-hamburg.de (unknown [10.1.1.153])\r
30         (using TLSv1 with cipher AES256-SHA (256/256 bits))\r
31         (No client certificate requested) (Authenticated sender: teythoon)\r
32         by mail.jade-hamburg.de (Postfix) with ESMTPSA id A8391DF2A6;\r
33         Mon, 30 Apr 2012 21:55:53 +0200 (CEST)\r
34 Received: from teythoon by thinkbox.jade-hamburg.de with local (Exim 4.77)\r
35         (envelope-from <teythoon@thinkbox.jade-hamburg.de>)\r
36         id 1SOwhM-0003yv-DJ; Mon, 30 Apr 2012 21:55:52 +0200\r
37 From: Justus Winter <4winter@informatik.uni-hamburg.de>\r
38 To: notmuch@notmuchmail.org\r
39 Subject: [PATCH 5/5] go: format the souce code using gofmt\r
40 Date: Mon, 30 Apr 2012 21:55:44 +0200\r
41 Message-Id:\r
42  <1335815744-15258-5-git-send-email-4winter@informatik.uni-hamburg.de>\r
43 X-Mailer: git-send-email 1.7.10\r
44 In-Reply-To:\r
45  <1335815744-15258-1-git-send-email-4winter@informatik.uni-hamburg.de>\r
46 References: <20120430195420.2528.48612@thinkbox.jade-hamburg.de>\r
47         <1335815744-15258-1-git-send-email-4winter@informatik.uni-hamburg.de>\r
48 X-BeenThere: notmuch@notmuchmail.org\r
49 X-Mailman-Version: 2.1.13\r
50 Precedence: list\r
51 List-Id: "Use and development of the notmuch mail system."\r
52         <notmuch.notmuchmail.org>\r
53 List-Unsubscribe: <http://notmuchmail.org/mailman/options/notmuch>,\r
54         <mailto:notmuch-request@notmuchmail.org?subject=unsubscribe>\r
55 List-Archive: <http://notmuchmail.org/pipermail/notmuch>\r
56 List-Post: <mailto:notmuch@notmuchmail.org>\r
57 List-Help: <mailto:notmuch-request@notmuchmail.org?subject=help>\r
58 List-Subscribe: <http://notmuchmail.org/mailman/listinfo/notmuch>,\r
59         <mailto:notmuch-request@notmuchmail.org?subject=subscribe>\r
60 X-List-Received-Date: Mon, 30 Apr 2012 19:57:15 -0000\r
61 \r
62 Signed-off-by: Justus Winter <4winter@informatik.uni-hamburg.de>\r
63 ---\r
64  bindings/go/src/notmuch-addrlookup/addrlookup.go |   80 ++++++++++----------\r
65  bindings/go/src/notmuch/notmuch.go               |   87 +++++++++++-----------\r
66  2 files changed, 85 insertions(+), 82 deletions(-)\r
67 \r
68 diff --git a/bindings/go/src/notmuch-addrlookup/addrlookup.go b/bindings/go/src/notmuch-addrlookup/addrlookup.go\r
69 index dabfeb0..651b9a6 100644\r
70 --- a/bindings/go/src/notmuch-addrlookup/addrlookup.go\r
71 +++ b/bindings/go/src/notmuch-addrlookup/addrlookup.go\r
72 @@ -22,18 +22,18 @@ type frequencies map[string]uint\r
73  \r
74  /* Used to sort the email addresses from most to least used */\r
75  func sort_by_freq(m1, m2 *mail_addr_freq) int {\r
76 -       if (m1.count[0] == m2.count[0] &&\r
77 +       if m1.count[0] == m2.count[0] &&\r
78                 m1.count[1] == m2.count[1] &&\r
79 -               m1.count[2] == m2.count[2]) {\r
80 +               m1.count[2] == m2.count[2] {\r
81                 return 0\r
82         }\r
83  \r
84 -       if (m1.count[0] >  m2.count[0] ||\r
85 +       if m1.count[0] > m2.count[0] ||\r
86                 m1.count[0] == m2.count[0] &&\r
87 -               m1.count[1] >  m2.count[1] ||\r
88 +                       m1.count[1] > m2.count[1] ||\r
89                 m1.count[0] == m2.count[0] &&\r
90 -               m1.count[1] == m2.count[1] &&\r
91 -               m1.count[2] >  m2.count[2]) {\r
92 +                       m1.count[1] == m2.count[1] &&\r
93 +                       m1.count[2] > m2.count[2] {\r
94                 return -1\r
95         }\r
96  \r
97 @@ -46,17 +46,17 @@ func (self *maddresses) Len() int {\r
98         return len(*self)\r
99  }\r
100  \r
101 -func (self *maddresses) Less(i,j int) bool {\r
102 +func (self *maddresses) Less(i, j int) bool {\r
103         m1 := (*self)[i]\r
104         m2 := (*self)[j]\r
105 -       v  := sort_by_freq(m1, m2)\r
106 -       if v<=0 {\r
107 +       v := sort_by_freq(m1, m2)\r
108 +       if v <= 0 {\r
109                 return true\r
110         }\r
111         return false\r
112  }\r
113  \r
114 -func (self *maddresses) Swap(i,j int) {\r
115 +func (self *maddresses) Swap(i, j int) {\r
116         (*self)[i], (*self)[j] = (*self)[j], (*self)[i]\r
117  }\r
118  \r
119 @@ -66,7 +66,7 @@ func frequent_fullname(freqs frequencies) string {\r
120         fullname := ""\r
121         freqs_sz := len(freqs)\r
122  \r
123 -       for mail,freq := range freqs {\r
124 +       for mail, freq := range freqs {\r
125                 if (freq > maxfreq && mail != "") || freqs_sz == 1 {\r
126                         // only use the entry if it has a real name\r
127                         // or if this is the only entry\r
128 @@ -87,32 +87,32 @@ func addresses_by_frequency(msgs *notmuch.Messages, name string, pass uint, addr\r
129         pattern = `.*` + strings.ToLower(name) + `.*`\r
130         var re *regexp.Regexp = nil\r
131         var err error = nil\r
132 -       if re,err = regexp.Compile(pattern); err != nil {\r
133 +       if re, err = regexp.Compile(pattern); err != nil {\r
134                 log.Printf("error: %v\n", err)\r
135                 return &freqs\r
136         }\r
137 -       \r
138 +\r
139         headers := []string{"from"}\r
140         if pass == 1 {\r
141                 headers = append(headers, "to", "cc", "bcc")\r
142         }\r
143  \r
144 -       for ;msgs.Valid();msgs.MoveToNext() {\r
145 +       for ; msgs.Valid(); msgs.MoveToNext() {\r
146                 msg := msgs.Get()\r
147                 //println("==> msg [", msg.GetMessageId(), "]")\r
148 -               for _,header := range headers {\r
149 +               for _, header := range headers {\r
150                         froms := strings.ToLower(msg.GetHeader(header))\r
151                         //println("  froms: ["+froms+"]")\r
152 -                       for _,from := range strings.Split(froms, ",") {\r
153 +                       for _, from := range strings.Split(froms, ",") {\r
154                                 from = strings.Trim(from, " ")\r
155                                 match := re.FindString(from)\r
156                                 //println("  -> match: ["+match+"]")\r
157 -                               occ,ok := freqs[match]\r
158 +                               occ, ok := freqs[match]\r
159                                 if !ok {\r
160                                         freqs[match] = 0\r
161                                         occ = 0\r
162                                 }\r
163 -                               freqs[match] = occ+1\r
164 +                               freqs[match] = occ + 1\r
165                         }\r
166                 }\r
167         }\r
168 @@ -125,7 +125,7 @@ func search_address_passes(queries [3]*notmuch.Query, name string) []string {\r
169         addr_to_realname := make(map[string]*frequencies)\r
170  \r
171         var pass uint = 0 // 0-based\r
172 -       for _,query := range queries {\r
173 +       for _, query := range queries {\r
174                 if query == nil {\r
175                         //println("**warning: idx [",idx,"] contains a nil query")\r
176                         continue\r
177 @@ -133,9 +133,9 @@ func search_address_passes(queries [3]*notmuch.Query, name string) []string {\r
178                 msgs := query.SearchMessages()\r
179                 ht := addresses_by_frequency(msgs, name, pass, &addr_to_realname)\r
180                 for addr, count := range *ht {\r
181 -                       freq,ok := addr_freq[addr]\r
182 +                       freq, ok := addr_freq[addr]\r
183                         if !ok {\r
184 -                               freq = &mail_addr_freq{addr:addr, count:[3]uint{0,0,0}}\r
185 +                               freq = &mail_addr_freq{addr: addr, count: [3]uint{0, 0, 0}}\r
186                         }\r
187                         freq.count[pass] = count\r
188                         addr_freq[addr] = freq\r
189 @@ -154,8 +154,8 @@ func search_address_passes(queries [3]*notmuch.Query, name string) []string {\r
190         }\r
191         sort.Sort(&addrs)\r
192  \r
193 -       for _,addr := range addrs {\r
194 -               freqs,ok := addr_to_realname[addr.addr]\r
195 +       for _, addr := range addrs {\r
196 +               freqs, ok := addr_to_realname[addr.addr]\r
197                 if ok {\r
198                         val = append(val, frequent_fullname(*freqs))\r
199                 } else {\r
200 @@ -187,29 +187,29 @@ func new_address_matcher() *address_matcher {\r
201                 home = os.Getenv("HOME")\r
202         }\r
203  \r
204 -       if cfg,err = config.ReadDefault(path.Join(home, ".notmuch-config")); err != nil {\r
205 -               log.Fatalf("error loading config file:",err)\r
206 +       if cfg, err = config.ReadDefault(path.Join(home, ".notmuch-config")); err != nil {\r
207 +               log.Fatalf("error loading config file:", err)\r
208         }\r
209  \r
210 -       db_path,_ := cfg.String("database", "path")\r
211 -       primary_email,_ := cfg.String("user", "primary_email")\r
212 -       addrbook_tag,err := cfg.String("user", "addrbook_tag")\r
213 +       db_path, _ := cfg.String("database", "path")\r
214 +       primary_email, _ := cfg.String("user", "primary_email")\r
215 +       addrbook_tag, err := cfg.String("user", "addrbook_tag")\r
216         if err != nil {\r
217                 addrbook_tag = "addressbook"\r
218         }\r
219  \r
220 -       self := &address_matcher{db:nil, \r
221 -                                user_db_path:db_path,\r
222 -                                user_primary_email:primary_email,\r
223 -                                user_addrbook_tag:addrbook_tag}\r
224 +       self := &address_matcher{db: nil,\r
225 +               user_db_path:       db_path,\r
226 +               user_primary_email: primary_email,\r
227 +               user_addrbook_tag:  addrbook_tag}\r
228         return self\r
229  }\r
230  \r
231  func (self *address_matcher) run(name string) {\r
232         queries := [3]*notmuch.Query{}\r
233 -       \r
234 +\r
235         // open the database\r
236 -       self.db = notmuch.OpenDatabase(self.user_db_path, \r
237 +       self.db = notmuch.OpenDatabase(self.user_db_path,\r
238                 notmuch.DATABASE_MODE_READ_ONLY)\r
239  \r
240         // pass 1: look at all from: addresses with the address book tag\r
241 @@ -222,7 +222,7 @@ func (self *address_matcher) run(name string) {\r
242         // pass 2: look at all to: addresses sent from our primary mail\r
243         query = ""\r
244         if name != "" {\r
245 -               query = "to:"+name+"*"\r
246 +               query = "to:" + name + "*"\r
247         }\r
248         if self.user_primary_email != "" {\r
249                 query = query + " from:" + self.user_primary_email\r
250 @@ -230,17 +230,17 @@ func (self *address_matcher) run(name string) {\r
251         queries[1] = self.db.CreateQuery(query)\r
252  \r
253         // if that leads only to a few hits, we check every from too\r
254 -       if queries[0].CountMessages() + queries[1].CountMessages() < 10 {\r
255 +       if queries[0].CountMessages()+queries[1].CountMessages() < 10 {\r
256                 query = ""\r
257                 if name != "" {\r
258 -                       query = "from:"+name+"*"\r
259 +                       query = "from:" + name + "*"\r
260                 }\r
261                 queries[2] = self.db.CreateQuery(query)\r
262         }\r
263 -       \r
264 +\r
265         // actually retrieve and sort addresses\r
266         results := search_address_passes(queries, name)\r
267 -       for _,v := range results {\r
268 +       for _, v := range results {\r
269                 if v != "" && v != "\n" {\r
270                         fmt.Println(v)\r
271                 }\r
272 @@ -256,4 +256,4 @@ func main() {\r
273                 name = os.Args[1]\r
274         }\r
275         app.run(name)\r
276 -}\r
277 \ No newline at end of file\r
278 +}\r
279 diff --git a/bindings/go/src/notmuch/notmuch.go b/bindings/go/src/notmuch/notmuch.go\r
280 index 524c956..46f4484 100644\r
281 --- a/bindings/go/src/notmuch/notmuch.go\r
282 +++ b/bindings/go/src/notmuch/notmuch.go\r
283 @@ -15,24 +15,25 @@ import "unsafe"\r
284  \r
285  // Status codes used for the return values of most functions\r
286  type Status C.notmuch_status_t\r
287 +\r
288  const (\r
289         STATUS_SUCCESS Status = 0\r
290         STATUS_OUT_OF_MEMORY\r
291 -    STATUS_READ_ONLY_DATABASE\r
292 -    STATUS_XAPIAN_EXCEPTION\r
293 -    STATUS_FILE_ERROR\r
294 -    STATUS_FILE_NOT_EMAIL\r
295 -    STATUS_DUPLICATE_MESSAGE_ID\r
296 -    STATUS_NULL_POINTER\r
297 -    STATUS_TAG_TOO_LONG\r
298 -    STATUS_UNBALANCED_FREEZE_THAW\r
299 -\r
300 -    STATUS_LAST_STATUS\r
301 +       STATUS_READ_ONLY_DATABASE\r
302 +       STATUS_XAPIAN_EXCEPTION\r
303 +       STATUS_FILE_ERROR\r
304 +       STATUS_FILE_NOT_EMAIL\r
305 +       STATUS_DUPLICATE_MESSAGE_ID\r
306 +       STATUS_NULL_POINTER\r
307 +       STATUS_TAG_TOO_LONG\r
308 +       STATUS_UNBALANCED_FREEZE_THAW\r
309 +\r
310 +       STATUS_LAST_STATUS\r
311  )\r
312  \r
313  func (self Status) String() string {\r
314         var p *C.char\r
315 -       \r
316 +\r
317         // p is read-only\r
318         p = C.notmuch_status_to_string(C.notmuch_status_t(self))\r
319         if p != nil {\r
320 @@ -82,9 +83,10 @@ type Filenames struct {\r
321  }\r
322  \r
323  type DatabaseMode C.notmuch_database_mode_t\r
324 +\r
325  const (\r
326 -    DATABASE_MODE_READ_ONLY DatabaseMode = 0\r
327 -    DATABASE_MODE_READ_WRITE\r
328 +       DATABASE_MODE_READ_ONLY DatabaseMode = 0\r
329 +       DATABASE_MODE_READ_WRITE\r
330  )\r
331  \r
332  // Create a new, empty notmuch database located at 'path'\r
333 @@ -97,7 +99,7 @@ func NewDatabase(path string) *Database {\r
334                 return nil\r
335         }\r
336  \r
337 -       self := &Database{db:nil}\r
338 +       self := &Database{db: nil}\r
339         self.db = C.notmuch_database_create(c_path)\r
340         if self.db == nil {\r
341                 return nil\r
342 @@ -131,7 +133,7 @@ func OpenDatabase(path string, mode DatabaseMode) *Database {\r
343                 return nil\r
344         }\r
345  \r
346 -       self := &Database{db:nil}\r
347 +       self := &Database{db: nil}\r
348         self.db = C.notmuch_database_open(c_path, C.notmuch_database_mode_t(mode))\r
349         if self.db == nil {\r
350                 return nil\r
351 @@ -148,9 +150,9 @@ func (self *Database) Close() {\r
352  /* Return the database path of the given database.\r
353   */\r
354  func (self *Database) GetPath() string {\r
355 -       \r
356 - /* The return value is a string owned by notmuch so should not be\r
357 -  * modified nor freed by the caller. */\r
358 +\r
359 +       /* The return value is a string owned by notmuch so should not be\r
360 +        * modified nor freed by the caller. */\r
361         var p *C.char = C.notmuch_database_get_path(self.db)\r
362         if p != nil {\r
363                 s := C.GoString(p)\r
364 @@ -180,7 +182,6 @@ func (self *Database) NeedsUpgrade() bool {\r
365  \r
366  // TODO: notmuch_database_upgrade\r
367  \r
368 -\r
369  /* Retrieve a directory object from the database for 'path'.\r
370   *\r
371   * Here, 'path' should be a path relative to the path of 'database'\r
372 @@ -201,7 +202,7 @@ func (self *Database) GetDirectory(path string) *Directory {\r
373         if c_dir == nil {\r
374                 return nil\r
375         }\r
376 -       return &Directory{dir:c_dir}\r
377 +       return &Directory{dir: c_dir}\r
378  }\r
379  \r
380  /* Add a new message to the given notmuch database.\r
381 @@ -244,8 +245,7 @@ func (self *Database) GetDirectory(path string) *Directory {\r
382   * NOTMUCH_STATUS_READ_ONLY_DATABASE: Database was opened in read-only\r
383   *     mode so no message can be added.\r
384   */\r
385 -func \r
386 -(self *Database) AddMessage(fname string) (*Message, Status) {\r
387 +func (self *Database) AddMessage(fname string) (*Message, Status) {\r
388         var c_fname *C.char = C.CString(fname)\r
389         defer C.free(unsafe.Pointer(c_fname))\r
390  \r
391 @@ -256,7 +256,7 @@ func\r
392         var c_msg *C.notmuch_message_t = new(C.notmuch_message_t)\r
393         st := Status(C.notmuch_database_add_message(self.db, c_fname, &c_msg))\r
394  \r
395 -       return &Message{message:c_msg}, st\r
396 +       return &Message{message: c_msg}, st\r
397  }\r
398  \r
399  /* Remove a message from the given notmuch database.\r
400 @@ -284,7 +284,7 @@ func\r
401   *     mode so no message can be removed.\r
402   */\r
403  func (self *Database) RemoveMessage(fname string) Status {\r
404 -       \r
405 +\r
406         var c_fname *C.char = C.CString(fname)\r
407         defer C.free(unsafe.Pointer(c_fname))\r
408  \r
409 @@ -309,7 +309,7 @@ func (self *Database) RemoveMessage(fname string) Status {\r
410   *     * A Xapian exception occurs\r
411   */\r
412  func (self *Database) FindMessage(message_id string) (*Message, Status) {\r
413 -       \r
414 +\r
415         var c_msg_id *C.char = C.CString(message_id)\r
416         defer C.free(unsafe.Pointer(c_msg_id))\r
417  \r
418 @@ -317,7 +317,7 @@ func (self *Database) FindMessage(message_id string) (*Message, Status) {\r
419                 return nil, STATUS_OUT_OF_MEMORY\r
420         }\r
421  \r
422 -       msg := &Message{message:nil}\r
423 +       msg := &Message{message: nil}\r
424         st := Status(C.notmuch_database_find_message(self.db, c_msg_id, &msg.message))\r
425         if st != STATUS_SUCCESS {\r
426                 return nil, st\r
427 @@ -337,7 +337,7 @@ func (self *Database) GetAllTags() *Tags {\r
428         if tags == nil {\r
429                 return nil\r
430         }\r
431 -       return &Tags{tags:tags}\r
432 +       return &Tags{tags: tags}\r
433  }\r
434  \r
435  /* Create a new query for 'database'.\r
436 @@ -365,7 +365,7 @@ func (self *Database) GetAllTags() *Tags {\r
437   * Will return NULL if insufficient memory is available.\r
438   */\r
439  func (self *Database) CreateQuery(query string) *Query {\r
440 -       \r
441 +\r
442         var c_query *C.char = C.CString(query)\r
443         defer C.free(unsafe.Pointer(c_query))\r
444  \r
445 @@ -377,11 +377,12 @@ func (self *Database) CreateQuery(query string) *Query {\r
446         if q == nil {\r
447                 return nil\r
448         }\r
449 -       return &Query{query:q}\r
450 +       return &Query{query: q}\r
451  }\r
452  \r
453  /* Sort values for notmuch_query_set_sort */\r
454  type Sort C.notmuch_sort_t\r
455 +\r
456  const (\r
457         SORT_OLDEST_FIRST Sort = 0\r
458         SORT_NEWEST_FIRST\r
459 @@ -394,7 +395,7 @@ func (self *Query) String() string {\r
460         // FIXME: do we own 'q' or not ?\r
461         q := C.notmuch_query_get_query_string(self.query)\r
462         //defer C.free(unsafe.Pointer(q))\r
463 -       \r
464 +\r
465         if q != nil {\r
466                 s := C.GoString(q)\r
467                 return s\r
468 @@ -456,7 +457,7 @@ func (self *Query) SearchThreads() *Threads {\r
469         if threads == nil {\r
470                 return nil\r
471         }\r
472 -       return &Threads{threads:threads}\r
473 +       return &Threads{threads: threads}\r
474  }\r
475  \r
476  /* Execute a query for messages, returning a notmuch_messages_t object\r
477 @@ -502,7 +503,7 @@ func (self *Query) SearchMessages() *Messages {\r
478         if msgs == nil {\r
479                 return nil\r
480         }\r
481 -       return &Messages{messages:msgs}\r
482 +       return &Messages{messages: msgs}\r
483  }\r
484  \r
485  /* Destroy a notmuch_query_t along with any associated resources.\r
486 @@ -604,7 +605,7 @@ func (self *Messages) Get() *Message {\r
487         if msg == nil {\r
488                 return nil\r
489         }\r
490 -       return &Message{message:msg}\r
491 +       return &Message{message: msg}\r
492  }\r
493  \r
494  /* Move the 'messages' iterator to the next message.\r
495 @@ -656,7 +657,7 @@ func (self *Messages) CollectTags() *Tags {\r
496         if tags == nil {\r
497                 return nil\r
498         }\r
499 -       return &Tags{tags:tags}\r
500 +       return &Tags{tags: tags}\r
501  }\r
502  \r
503  /* Get the message ID of 'message'.\r
504 @@ -696,14 +697,14 @@ func (self *Message) GetMessageId() string {\r
505   * message belongs to a single thread.\r
506   */\r
507  func (self *Message) GetThreadId() string {\r
508 -       \r
509 +\r
510         if self.message == nil {\r
511                 return ""\r
512         }\r
513         id := C.notmuch_message_get_thread_id(self.message)\r
514         // we dont own id\r
515         // defer C.free(unsafe.Pointer(id))\r
516 -       \r
517 +\r
518         if id == nil {\r
519                 return ""\r
520         }\r
521 @@ -736,7 +737,7 @@ func (self *Message) GetReplies() *Messages {\r
522         if msgs == nil {\r
523                 return nil\r
524         }\r
525 -       return &Messages{messages:msgs}\r
526 +       return &Messages{messages: msgs}\r
527  }\r
528  \r
529  /* Get a filename for the email corresponding to 'message'.\r
530 @@ -760,7 +761,7 @@ func (self *Message) GetFileName() string {\r
531         fname := C.notmuch_message_get_filename(self.message)\r
532         // we dont own fname\r
533         // defer C.free(unsafe.Pointer(fname))\r
534 -       \r
535 +\r
536         if fname == nil {\r
537                 return ""\r
538         }\r
539 @@ -769,6 +770,7 @@ func (self *Message) GetFileName() string {\r
540  }\r
541  \r
542  type Flag C.notmuch_message_flag_t\r
543 +\r
544  const (\r
545         MESSAGE_FLAG_MATCH Flag = 0\r
546  )\r
547 @@ -815,16 +817,16 @@ func (self *Message) GetHeader(header string) string {\r
548         if self.message == nil {\r
549                 return ""\r
550         }\r
551 -       \r
552 +\r
553         var c_header *C.char = C.CString(header)\r
554         defer C.free(unsafe.Pointer(c_header))\r
555 -       \r
556 +\r
557         /* we dont own value */\r
558         value := C.notmuch_message_get_header(self.message, c_header)\r
559         if value == nil {\r
560                 return ""\r
561         }\r
562 -       \r
563 +\r
564         return C.GoString(value)\r
565  }\r
566  \r
567 @@ -866,7 +868,7 @@ func (self *Message) GetTags() *Tags {\r
568         if tags == nil {\r
569                 return nil\r
570         }\r
571 -       return &Tags{tags:tags}\r
572 +       return &Tags{tags: tags}\r
573  }\r
574  \r
575  /* The longest possible tag value. */\r
576 @@ -1123,4 +1125,5 @@ func (self *Filenames) Destroy() {\r
577         }\r
578         C.notmuch_filenames_destroy(self.fnames)\r
579  }\r
580 +\r
581  /* EOF */\r
582 -- \r
583 1.7.10\r
584 \r