community/pipermail-archives/sup-talk/2009-03.txt (113960B) - raw
1 From sgoldman@tower-research.com Mon Mar 2 17:19:10 2009
2 From: sgoldman@tower-research.com (Steve Goldman)
3 Date: Mon, 02 Mar 2009 17:19:10 -0500
4 Subject: [sup-talk] Feature request -- web interface
5 Message-ID: <1236032192-sup-8087@sgoldmanlinux.tower-research.com>
6
7 Will someone please make a web interface for sup?
8
9 Please call it supdog.
10
11 Thanks.
12 --
13
14 Steve Goldman
15 sgoldman at tower-research.com
16
17 T: 212.219.6014
18 F: 212.219.6007
19
20 Tower Research Capital, LLC
21 377 Broadway, 11th Fl.
22 New York, NY 10013
23
24 From fedzor@gmail.com Mon Mar 2 17:51:44 2009
25 From: fedzor@gmail.com (fedzor)
26 Date: Mon, 2 Mar 2009 17:51:44 -0500
27 Subject: [sup-talk] Feature request -- web interface
28 In-Reply-To: <1236032192-sup-8087@sgoldmanlinux.tower-research.com>
29 References: <1236032192-sup-8087@sgoldmanlinux.tower-research.com>
30 Message-ID: <5888A055-9611-4932-9015-C31FEB2DD380@gmail.com>
31
32
33 On Mar 2, 2009, at 5:19 PM, Steve Goldman wrote:
34
35 > Will someone please make a web interface for sup?
36 >
37 > Please call it supdog.
38
39 I believe one was made already, using merb, but I can't remember its
40 name (nor could I get it to work)
41
42 From me@nicholasbs.net Mon Mar 2 18:02:46 2009
43 From: me@nicholasbs.net (Nicholas Bergson-Shilcock)
44 Date: Mon, 02 Mar 2009 18:02:46 -0500
45 Subject: [sup-talk] Feature request -- web interface
46 In-Reply-To: <5888A055-9611-4932-9015-C31FEB2DD380@gmail.com>
47 References: <1236032192-sup-8087@sgoldmanlinux.tower-research.com>
48 <5888A055-9611-4932-9015-C31FEB2DD380@gmail.com>
49 Message-ID: <1236034935-sup-7379@twoface>
50
51 Excerpts from fedzor's message of Mon Mar 02 17:51:44 -0500 2009:
52 >
53 > On Mar 2, 2009, at 5:19 PM, Steve Goldman wrote:
54 >
55 > > Will someone please make a web interface for sup?
56 > >
57 > > Please call it supdog.
58 >
59 > I believe one was made already, using merb, but I can't remember its
60 > name (nor could I get it to work)
61
62 It's called wup, though I've never gotten it to work either:
63 http://jinsync.com/?q=node/16
64
65 -Nick
66
67 From wmorgan-sup@masanjin.net Tue Mar 3 17:48:05 2009
68 From: wmorgan-sup@masanjin.net (William Morgan)
69 Date: Tue, 03 Mar 2009 14:48:05 -0800
70 Subject: [sup-talk] Feature request -- web interface
71 In-Reply-To: <1236032192-sup-8087@sgoldmanlinux.tower-research.com>
72 References: <1236032192-sup-8087@sgoldmanlinux.tower-research.com>
73 Message-ID: <1236120219-sup-3367@entry>
74
75 Reformatted excerpts from Steve Goldman's message of 2009-03-02:
76 > Will someone please make a web interface for sup?
77
78 The whole point of Sup is that I hate clicking on the interweb for my
79 emails!
80
81 That said, Leslie Wu hacked something together at some point. If you dig
82 up her code, or even the past examples about how to use
83 devel/console.sh, I don't think it would be hard to get something
84 minimal working.
85
86 > Please call it supdog.
87
88 That would be a good name.
89 --
90 William <wmorgan-sup at masanjin.net>
91
92 From wmorgan-sup@masanjin.net Mon Mar 16 13:25:44 2009
93 From: wmorgan-sup@masanjin.net (William Morgan)
94 Date: Mon, 16 Mar 2009 10:25:44 -0700
95 Subject: [sup-talk] undo
96 In-Reply-To: <1235074446-sup-453@entry>
97 References: <1234764952-sup-604@rmtacc25-lb.rcs.rpi.edu>
98 <1235074446-sup-453@entry>
99 Message-ID: <1237224235-sup-9627@entry>
100
101 Reformatted excerpts from William Morgan's message of 2009-02-19:
102 > Thanks, I'll take a look!
103
104 Mike, this looks great. I've put it on a branch called "undo-manager"
105 and merged it into next. Everyone, please try hitting the 'u' key. :)
106 --
107 William <wmorgan-sup at masanjin.net>
108
109 From wmorgan-sup@masanjin.net Mon Mar 16 13:27:48 2009
110 From: wmorgan-sup@masanjin.net (William Morgan)
111 Date: Mon, 16 Mar 2009 10:27:48 -0700
112 Subject: [sup-talk] preparing for 0.7
113 Message-ID: <1237224356-sup-1941@entry>
114
115 Hi all,
116
117 I've prepared master for an 0.7 release. If you get a chance, please try
118 it out and let me know if there's anything obviously broken. The changes
119 I'm most excited about are the Ferret locking (so hopefully no more
120 index corruption) and being able to type long answers to Sup's
121 questions.
122 --
123 William <wmorgan-sup at masanjin.net>
124
125 From nicolas.pouillard@gmail.com Mon Mar 16 14:33:34 2009
126 From: nicolas.pouillard@gmail.com (Nicolas Pouillard)
127 Date: Mon, 16 Mar 2009 19:33:34 +0100
128 Subject: [sup-talk] Some patches
129 Message-ID: <1237228109-sup-5666@ausone.local>
130
131 Hi all,
132
133 Some months ago, an unfortunate configuration of my machine caused
134 sendmail to silently don't send my messages when the network connection
135 was not there or something like that...
136
137 The consequence is that I have some patches, that I thought was on the list
138 and there not. So I resend them.
139
140 --
141 Nicolas Pouillard
142
143 From nicolas.pouillard@gmail.com Mon Mar 16 14:35:43 2009
144 From: nicolas.pouillard@gmail.com (Nicolas Pouillard)
145 Date: Mon, 16 Mar 2009 19:35:43 +0100
146 Subject: [sup-talk] [PATCH] Allow multi_edit_labels to remove labels using
147 -lab (the "; l" key binding)
148 Message-ID: <1237228536-sup-7811@ausone.local>
149
150 Resent..
151
152 ---
153 lib/sup/modes/thread-index-mode.rb | 19 ++++++++++++++-----
154 1 files changed, 14 insertions(+), 5 deletions(-)
155
156 diff --git a/lib/sup/modes/thread-index-mode.rb b/lib/sup/modes/thread-index-mode.rb
157 index 3dd0498..bde61cf 100644
158 --- a/lib/sup/modes/thread-index-mode.rb
159 +++ b/lib/sup/modes/thread-index-mode.rb
160 @@ -448,13 +448,22 @@ EOS
161 end
162
163 def multi_edit_labels threads
164 - user_labels = BufferManager.ask_for_labels :add_labels, "Add labels: ", [], @hidden_labels
165 + user_labels = BufferManager.ask_for_labels :labels, "Add/remove labels (use -label to remove): ", [], @hidden_labels
166 return unless user_labels
167 -
168 - hl = user_labels.select { |l| @hidden_labels.member? l }
169 +
170 + user_labels.map! { |l| (l.to_s =~ /^-/)? [l.to_s.gsub(/^-?/, '').to_sym, true] : [l, false] }
171 + hl = user_labels.select { |(l,_)| @hidden_labels.member? l }
172 if hl.empty?
173 - threads.each { |t| user_labels.each { |l| t.apply_label l } }
174 - user_labels.each { |l| LabelManager << l }
175 + threads.each do |t|
176 + user_labels.each do |(l, to_remove)|
177 + if to_remove
178 + t.remove_label l
179 + else
180 + t.apply_label l
181 + end
182 + end
183 + end
184 + user_labels.each { |(l,_)| LabelManager << l }
185 else
186 BufferManager.flash "'#{hl}' is a reserved label!"
187 end
188
189 --
190 Nicolas Pouillard
191
192 From nicolas.pouillard@gmail.com Mon Mar 16 14:36:28 2009
193 From: nicolas.pouillard@gmail.com (Nicolas Pouillard)
194 Date: Mon, 16 Mar 2009 19:36:28 +0100
195 Subject: [sup-talk] [PATCH] Buffer switching,
196 'bn' for the next one and 'bp' for the previous
197 In-Reply-To: <1227194855-12300-1-git-send-email-nicolas.pouillard@gmail.com>
198 References: <1227194855-12300-1-git-send-email-nicolas.pouillard@gmail.com>
199 Message-ID: <1237228583-sup-7694@ausone.local>
200
201 Resent...
202
203 ---
204 bin/sup | 6 ++++--
205 1 files changed, 4 insertions(+), 2 deletions(-)
206
207 diff --git a/bin/sup b/bin/sup
208 index 152c42c..965f2ee 100644
209 --- a/bin/sup
210 +++ b/bin/sup
211 @@ -66,8 +66,10 @@ global_keymap = Keymap.new do |k|
212 k.add :quit_ask, "Quit Sup, but ask first", 'q'
213 k.add :quit_now, "Quit Sup immediately", 'Q'
214 k.add :help, "Show help", '?'
215 - k.add :roll_buffers, "Switch to next buffer", 'b'
216 -# k.add :roll_buffers_backwards, "Switch to previous buffer", 'B'
217 + k.add_multi "(n)ext/(p)revious:", 'b' do |kk|
218 + kk.add :roll_buffers, "Switch to next buffer", 'n'
219 + kk.add :roll_buffers_backwards, "Switch to previous buffer", 'p'
220 + end
221 k.add :kill_buffer, "Kill the current buffer", 'x'
222 k.add :list_buffers, "List all buffers", 'B'
223 k.add :list_contacts, "List contacts", 'C'
224
225 --
226 Nicolas Pouillard
227
228 From nicolas.pouillard@gmail.com Mon Mar 16 14:37:03 2009
229 From: nicolas.pouillard@gmail.com (Nicolas Pouillard)
230 Date: Mon, 16 Mar 2009 19:37:03 +0100
231 Subject: [sup-talk] [PATCH] Resync listable_labels and applyable_labels with
232 reality
233 Message-ID: <1237228607-sup-5240@ausone.local>
234
235 Resent...
236
237 The listable_labels method listed all labels except unread
238 which seems an unneeded complication/restriction, so it's
239 renamed to all_labels. The applyable_labels was in fact
240 user-defined labels so it's renamed to user_defined_labels.
241 ---
242 bin/sup | 2 +-
243 lib/sup/buffer.rb | 4 +++-
244 lib/sup/label.rb | 13 +++++--------
245 lib/sup/modes/label-list-mode.rb | 4 ++--
246 4 files changed, 11 insertions(+), 12 deletions(-)
247
248 diff --git a/bin/sup b/bin/sup
249 index 152c42c..e82d1ce 100644
250 --- a/bin/sup
251 +++ b/bin/sup
252 @@ -237,7 +237,7 @@ begin
253 when :search_unread
254 SearchResultsMode.spawn_from_query "is:unread"
255 when :list_labels
256 - labels = LabelManager.listable_labels.map { |l| LabelManager.string_for l }
257 + labels = LabelManager.all_labels.map { |l| LabelManager.string_for l }
258 user_label = bm.ask_with_completions :label, "Show threads with label (enter for listing): ", labels
259 unless user_label.nil?
260 if user_label.empty?
261 diff --git a/lib/sup/buffer.rb b/lib/sup/buffer.rb
262 index 0447f61..5d0b7eb 100644
263 --- a/lib/sup/buffer.rb
264 +++ b/lib/sup/buffer.rb
265 @@ -478,7 +478,9 @@ EOS
266 default = default_labels.join(" ")
267 default += " " unless default.empty?
268
269 - applyable_labels = (LabelManager.applyable_labels - forbidden_labels).map { |l| LabelManager.string_for l }.sort_by { |s| s.downcase }
270 + # here I would prefer to give more control and allow all_labels instead of
271 + # user_defined_labels only
272 + applyable_labels = (LabelManager.user_defined_labels - forbidden_labels).map { |l| LabelManager.string_for l }.sort_by { |s| s.downcase }
273
274 answer = ask_many_with_completions domain, question, applyable_labels, default
275
276 diff --git a/lib/sup/label.rb b/lib/sup/label.rb
277 index 70a26ea..e63db9e 100644
278 --- a/lib/sup/label.rb
279 +++ b/lib/sup/label.rb
280 @@ -7,9 +7,6 @@ class LabelManager
281 ## add/remove these via normal label mechanisms.
282 RESERVED_LABELS = [ :starred, :spam, :draft, :unread, :killed, :sent, :deleted, :inbox, :attachment ]
283
284 - ## labels which it nonetheless makes sense to search for by
285 - LISTABLE_RESERVED_LABELS = [ :starred, :spam, :draft, :sent, :killed, :deleted, :inbox, :attachment ]
286 -
287 ## labels that will typically be hidden from the user
288 HIDDEN_RESERVED_LABELS = [ :starred, :unread, :attachment ]
289
290 @@ -28,18 +25,18 @@ class LabelManager
291 self.class.i_am_the_instance self
292 end
293
294 - ## all listable (just user-defined at the moment) labels, ordered
295 + ## all labels user-defined and system, ordered
296 ## nicely and converted to pretty strings. use #label_for to recover
297 ## the original label.
298 - def listable_labels
299 + def all_labels
300 ## uniq's only necessary here because of certain upgrade issues
301 - (LISTABLE_RESERVED_LABELS + @labels.keys).uniq
302 + (RESERVED_LABELS + @labels.keys).uniq
303 end
304
305 - ## all apply-able (user-defined and system listable) labels, ordered
306 + ## all user-defined labels, ordered
307 ## nicely and converted to pretty strings. use #label_for to recover
308 ## the original label.
309 - def applyable_labels
310 + def user_defined_labels
311 @labels.keys
312 end
313
314 diff --git a/lib/sup/modes/label-list-mode.rb b/lib/sup/modes/label-list-mode.rb
315 index 132b654..a35d110 100644
316 --- a/lib/sup/modes/label-list-mode.rb
317 +++ b/lib/sup/modes/label-list-mode.rb
318 @@ -48,12 +48,12 @@ protected
319
320 def regen_text
321 @text = []
322 - labels = LabelManager.listable_labels
323 + labels = LabelManager.all_labels
324
325 counts = labels.map do |label|
326 string = LabelManager.string_for label
327 total = Index.num_results_for :label => label
328 - unread = Index.num_results_for :labels => [label, :unread]
329 + unread = (label == :unread)? total : Index.num_results_for(:labels => [label, :unread])
330 [label, string, total, unread]
331 end.sort_by { |l, s, t, u| s.downcase }
332
333
334 --
335 Nicolas Pouillard
336
337 From nicolas.pouillard@gmail.com Mon Mar 16 14:37:38 2009
338 From: nicolas.pouillard@gmail.com (Nicolas Pouillard)
339 Date: Mon, 16 Mar 2009 19:37:38 +0100
340 Subject: [sup-talk] [PATCH] Remove the people.txt mapping.
341 Message-ID: <1237228647-sup-3919@ausone.local>
342
343 Resent...
344
345 ---
346 lib/sup.rb | 4 +--
347 lib/sup/account.rb | 5 +--
348 lib/sup/contact.rb | 2 +-
349 lib/sup/person.rb | 66 +++++----------------------------------------------
350 4 files changed, 11 insertions(+), 66 deletions(-)
351
352 diff --git a/lib/sup.rb b/lib/sup.rb
353 index 93369a5..d833dff 100644
354 --- a/lib/sup.rb
355 +++ b/lib/sup.rb
356 @@ -53,7 +53,6 @@ module Redwood
357 COLOR_FN = File.join(BASE_DIR, "colors.yaml")
358 SOURCE_FN = File.join(BASE_DIR, "sources.yaml")
359 LABEL_FN = File.join(BASE_DIR, "labels.txt")
360 - PERSON_FN = File.join(BASE_DIR, "people.txt")
361 CONTACT_FN = File.join(BASE_DIR, "contacts.txt")
362 DRAFT_DIR = File.join(BASE_DIR, "drafts")
363 SENT_FN = File.join(BASE_DIR, "sent.mbox")
364 @@ -115,7 +114,7 @@ module Redwood
365 end
366
367 def start
368 - Redwood::PersonManager.new Redwood::PERSON_FN
369 + Redwood::PersonManager.new
370 Redwood::SentManager.new Redwood::SENT_FN
371 Redwood::ContactManager.new Redwood::CONTACT_FN
372 Redwood::LabelManager.new Redwood::LABEL_FN
373 @@ -130,7 +129,6 @@ module Redwood
374 def finish
375 Redwood::LabelManager.save if Redwood::LabelManager.instantiated?
376 Redwood::ContactManager.save if Redwood::ContactManager.instantiated?
377 - Redwood::PersonManager.save if Redwood::PersonManager.instantiated?
378 Redwood::BufferManager.deinstantiate! if Redwood::BufferManager.instantiated?
379 end
380
381 diff --git a/lib/sup/account.rb b/lib/sup/account.rb
382 index f8ac0fc..6f86129 100644
383 --- a/lib/sup/account.rb
384 +++ b/lib/sup/account.rb
385 @@ -5,8 +5,8 @@ class Account < Person
386
387 def initialize h
388 raise ArgumentError, "no name for account" unless h[:name]
389 - raise ArgumentError, "no name for email" unless h[:name]
390 - super h[:name], h[:email], 0, true
391 + raise ArgumentError, "no email for account" unless h[:email]
392 + super h[:name], h[:email]
393 @sendmail = h[:sendmail]
394 @signature = h[:signature]
395 end
396 @@ -42,7 +42,6 @@ class AccountManager
397 hash[:alternates] ||= []
398
399 a = Account.new hash
400 - PersonManager.register a
401 @accounts[a] = true
402
403 if default
404 diff --git a/lib/sup/contact.rb b/lib/sup/contact.rb
405 index b0c272e..bbb872f 100644
406 --- a/lib/sup/contact.rb
407 +++ b/lib/sup/contact.rb
408 @@ -17,7 +17,7 @@ class ContactManager
409 IO.foreach(fn) do |l|
410 l =~ /^([^:]*): (.*)$/ or raise "can't parse #{fn} line #{l.inspect}"
411 aalias, addr = $1, $2
412 - p = PersonManager.person_for addr, :definitive => true
413 + p = PersonManager.person_for addr
414 @p2a[p] = aalias
415 @a2p[aalias] = p unless aalias.nil? || aalias.empty?
416 end
417 diff --git a/lib/sup/person.rb b/lib/sup/person.rb
418 index fb58f23..995620b 100644
419 --- a/lib/sup/person.rb
420 +++ b/lib/sup/person.rb
421 @@ -3,60 +3,24 @@ module Redwood
422 class PersonManager
423 include Singleton
424
425 - def initialize fn
426 - @fn = fn
427 - @@people = {}
428 -
429 - ## read in stored people
430 - IO.readlines(fn).map do |l|
431 - l =~ /^(.*)?:\s+(\d+)\s+(.*)$/ or next
432 - email, time, name = $1, $2, $3
433 - @@people[email] = Person.new name, email, time, false
434 - end if File.exists? fn
435 -
436 + def initialize
437 self.class.i_am_the_instance self
438 end
439
440 - def save
441 - File.open(@fn, "w") do |f|
442 - @@people.each do |email, p|
443 - next if p.email == p.name
444 - next if p.name =~ /=/ # drop rfc2047-encoded, and lots of other useless emails. definitely a heuristic.
445 - f.puts "#{p.email}: #{p.timestamp} #{p.name}"
446 - end
447 - end
448 - end
449 -
450 - def self.people_for s, opts={}
451 + def self.people_for s
452 return [] if s.nil?
453 - s.split_on_commas.map { |ss| self.person_for ss, opts }
454 + s.split_on_commas.map { |ss| self.person_for ss }
455 end
456
457 - def self.person_for s, opts={}
458 - p = Person.from_address(s) or return nil
459 - p.definitive = true if opts[:definitive]
460 - register p
461 - end
462 -
463 - def self.register p
464 - oldp = @@people[p.email]
465 -
466 - if oldp.nil? || p.better_than?(oldp)
467 - @@people[p.email] = p
468 - end
469 -
470 - @@people[p.email].touch!
471 - @@people[p.email]
472 + def self.person_for s
473 + Person.from_address(s)
474 end
475 end
476
477 -## don't create these by hand. rather, go through personmanager, to
478 -## ensure uniqueness and overriding.
479 class Person
480 - attr_accessor :name, :email, :timestamp
481 - bool_accessor :definitive
482 + attr_accessor :name, :email
483
484 - def initialize name, email, timestamp=0, definitive=false
485 + def initialize name, email
486 raise ArgumentError, "email can't be nil" unless email
487
488 if name
489 @@ -67,26 +31,10 @@ class Person
490 end
491
492 @email = email.gsub(/^\s+|\s+$/, "").gsub(/\s+/, " ").downcase
493 - @definitive = definitive
494 - @timestamp = timestamp
495 - end
496 -
497 - ## heuristic: whether the name attached to this email is "real", i.e.
498 - ## we should bother to store it.
499 - def generic?
500 - @email =~ /no\-?reply/
501 - end
502 -
503 - def better_than? o
504 - return false if o.definitive? || generic?
505 - return true if definitive?
506 - o.name.nil? || (name && name.length > o.name.length && name =~ /[a-z]/)
507 end
508
509 def to_s; "#@name <#@email>" end
510
511 - def touch!; @timestamp = Time.now.to_i end
512 -
513 # def == o; o && o.email == email; end
514 # alias :eql? :==
515 # def hash; [name, email].hash; end
516
517 --
518 Nicolas Pouillard
519
520 From nicolas.pouillard@gmail.com Mon Mar 16 14:38:17 2009
521 From: nicolas.pouillard@gmail.com (Nicolas Pouillard)
522 Date: Mon, 16 Mar 2009 19:38:17 +0100
523 Subject: [sup-talk] [PATCH] Remove the now useless PersonManager
524 In-Reply-To: <ea2d84848a9fed1fbceb3837aacf8bcf86bd0602.1227456947.git.nicolas.pouillard@gmail.com>
525 References: <ea2d84848a9fed1fbceb3837aacf8bcf86bd0602.1227456947.git.nicolas.pouillard@gmail.com>
526 Message-ID: <1237228691-sup-735@ausone.local>
527
528 Resent..
529
530 Replace PersonManager.person_for by Person.from_address
531 and PersonManager.people_for by Person.from_address_list
532 ---
533 lib/sup.rb | 1 -
534 lib/sup/buffer.rb | 2 +-
535 lib/sup/contact.rb | 2 +-
536 lib/sup/index.rb | 4 ++--
537 lib/sup/message.rb | 16 ++++++++--------
538 lib/sup/modes/edit-message-mode.rb | 6 +++---
539 lib/sup/modes/reply-mode.rb | 2 +-
540 lib/sup/modes/thread-view-mode.rb | 4 ++--
541 lib/sup/person.rb | 22 +++++-----------------
542 9 files changed, 23 insertions(+), 36 deletions(-)
543
544 diff --git a/lib/sup.rb b/lib/sup.rb
545 index d833dff..b3ebd38 100644
546 --- a/lib/sup.rb
547 +++ b/lib/sup.rb
548 @@ -114,7 +114,6 @@ module Redwood
549 end
550
551 def start
552 - Redwood::PersonManager.new
553 Redwood::SentManager.new Redwood::SENT_FN
554 Redwood::ContactManager.new Redwood::CONTACT_FN
555 Redwood::LabelManager.new Redwood::LABEL_FN
556 diff --git a/lib/sup/buffer.rb b/lib/sup/buffer.rb
557 index 0447f61..657027d 100644
558 --- a/lib/sup/buffer.rb
559 +++ b/lib/sup/buffer.rb
560 @@ -506,7 +506,7 @@ EOS
561 answer = BufferManager.ask_many_emails_with_completions domain, question, completions, default
562
563 if answer
564 - answer.split_on_commas.map { |x| ContactManager.contact_for(x) || PersonManager.person_for(x) }
565 + answer.split_on_commas.map { |x| ContactManager.contact_for(x) || Person.from_address(x) }
566 end
567 end
568
569 diff --git a/lib/sup/contact.rb b/lib/sup/contact.rb
570 index bbb872f..51fd0e9 100644
571 --- a/lib/sup/contact.rb
572 +++ b/lib/sup/contact.rb
573 @@ -17,7 +17,7 @@ class ContactManager
574 IO.foreach(fn) do |l|
575 l =~ /^([^:]*): (.*)$/ or raise "can't parse #{fn} line #{l.inspect}"
576 aalias, addr = $1, $2
577 - p = PersonManager.person_for addr
578 + p = Person.from_address addr
579 @p2a[p] = aalias
580 @a2p[aalias] = p unless aalias.nil? || aalias.empty?
581 end
582 diff --git a/lib/sup/index.rb b/lib/sup/index.rb
583 index cda5cee..d2e58ce 100644
584 --- a/lib/sup/index.rb
585 +++ b/lib/sup/index.rb
586 @@ -447,9 +447,9 @@ EOS
587 t = @index[docid][:to]
588
589 if AccountManager.is_account_email? f
590 - t.split(" ").each { |e| contacts[PersonManager.person_for(e)] = true }
591 + t.split(" ").each { |e| contacts[Person.from_address(e)] = true }
592 else
593 - contacts[PersonManager.person_for(f)] = true
594 + contacts[Person.from_address(f)] = true
595 end
596 end
597 end
598 diff --git a/lib/sup/message.rb b/lib/sup/message.rb
599 index e01e245..88d9ce3 100644
600 --- a/lib/sup/message.rb
601 +++ b/lib/sup/message.rb
602 @@ -78,10 +78,10 @@ class Message
603
604 @from =
605 if header["from"]
606 - PersonManager.person_for header["from"]
607 + Person.from_address header["from"]
608 else
609 fakename = "Sup Auto-generated Fake Sender <sup at fake.sender.example.com>"
610 - PersonManager.person_for fakename
611 + Person.from_address fakename
612 end
613
614 Redwood::log "faking message-id for message from #@from: #{id}" if fakeid
615 @@ -105,9 +105,9 @@ class Message
616 end
617
618 @subj = header.member?("subject") ? header["subject"].gsub(/\s+/, " ").gsub(/\s+$/, "") : DEFAULT_SUBJECT
619 - @to = PersonManager.people_for header["to"]
620 - @cc = PersonManager.people_for header["cc"]
621 - @bcc = PersonManager.people_for header["bcc"]
622 + @to = Person.from_address_list header["to"]
623 + @cc = Person.from_address_list header["cc"]
624 + @bcc = Person.from_address_list header["bcc"]
625
626 ## before loading our full header from the source, we can actually
627 ## have some extra refs set by the UI. (this happens when the user
628 @@ -117,10 +117,10 @@ class Message
629 @refs = (@refs + refs).uniq
630 @replytos = (header["in-reply-to"] || "").scan(/<(.+?)>/).map { |x| sanitize_message_id x.first }
631
632 - @replyto = PersonManager.person_for header["reply-to"]
633 + @replyto = Person.from_address header["reply-to"]
634 @list_address =
635 if header["list-post"]
636 - @list_address = PersonManager.person_for header["list-post"].gsub(/^<mailto:|>$/, "")
637 + @list_address = Person.from_address header["list-post"].gsub(/^<mailto:|>$/, "")
638 else
639 nil
640 end
641 @@ -391,7 +391,7 @@ private
642 elsif m.header.content_type == "message/rfc822"
643 payload = RMail::Parser.read(m.body)
644 from = payload.header.from.first
645 - from_person = from ? PersonManager.person_for(from.format) : nil
646 + from_person = from ? Person.from_address(from.format) : nil
647 [Chunk::EnclosedMessage.new(from_person, payload.to_s)] +
648 message_to_chunks(payload, encrypted)
649 else
650 diff --git a/lib/sup/modes/edit-message-mode.rb b/lib/sup/modes/edit-message-mode.rb
651 index cc6e7af..31aa897 100644
652 --- a/lib/sup/modes/edit-message-mode.rb
653 +++ b/lib/sup/modes/edit-message-mode.rb
654 @@ -321,8 +321,8 @@ protected
655
656 ## do whatever crypto transformation is necessary
657 if @crypto_selector && @crypto_selector.val != :none
658 - from_email = PersonManager.person_for(@header["From"]).email
659 - to_email = [@header["To"], @header["Cc"], @header["Bcc"]].flatten.compact.map { |p| PersonManager.person_for(p).email }
660 + from_email = Person.from_address(@header["From"]).email
661 + to_email = [@header["To"], @header["Cc"], @header["Bcc"]].flatten.compact.map { |p| Person.from_address(p).email }
662
663 m = CryptoManager.send @crypto_selector.val, from_email, to_email, m
664 end
665 @@ -412,7 +412,7 @@ private
666 end
667
668 def sig_lines
669 - p = PersonManager.person_for(@header["From"])
670 + p = Person.from_address(@header["From"])
671 from_email = p && p.email
672
673 ## first run the hook
674 diff --git a/lib/sup/modes/reply-mode.rb b/lib/sup/modes/reply-mode.rb
675 index 4e08e8e..c1c542b 100644
676 --- a/lib/sup/modes/reply-mode.rb
677 +++ b/lib/sup/modes/reply-mode.rb
678 @@ -63,7 +63,7 @@ EOS
679 if hook_reply_from
680 hook_reply_from
681 elsif @m.recipient_email && AccountManager.is_account_email?(@m.recipient_email)
682 - PersonManager.person_for(@m.recipient_email)
683 + Person.from_address(@m.recipient_email)
684 elsif(b = (@m.to + @m.cc).find { |p| AccountManager.is_account? p })
685 b
686 else
687 diff --git a/lib/sup/modes/thread-view-mode.rb b/lib/sup/modes/thread-view-mode.rb
688 index 5f578d3..45c1247 100644
689 --- a/lib/sup/modes/thread-view-mode.rb
690 +++ b/lib/sup/modes/thread-view-mode.rb
691 @@ -148,7 +148,7 @@ EOS
692 def subscribe_to_list
693 m = @message_lines[curpos] or return
694 if m.list_subscribe && m.list_subscribe =~ /<mailto:(.*?)\?(subject=(.*?))>/
695 - ComposeMode.spawn_nicely :from => AccountManager.account_for(m.recipient_email), :to => [PersonManager.person_for($1)], :subj => $3
696 + ComposeMode.spawn_nicely :from => AccountManager.account_for(m.recipient_email), :to => [Person.from_address($1)], :subj => $3
697 else
698 BufferManager.flash "Can't find List-Subscribe header for this message."
699 end
700 @@ -157,7 +157,7 @@ EOS
701 def unsubscribe_from_list
702 m = @message_lines[curpos] or return
703 if m.list_unsubscribe && m.list_unsubscribe =~ /<mailto:(.*?)\?(subject=(.*?))>/
704 - ComposeMode.spawn_nicely :from => AccountManager.account_for(m.recipient_email), :to => [PersonManager.person_for($1)], :subj => $3
705 + ComposeMode.spawn_nicely :from => AccountManager.account_for(m.recipient_email), :to => [Person.from_address($1)], :subj => $3
706 else
707 BufferManager.flash "Can't find List-Unsubscribe header for this message."
708 end
709 diff --git a/lib/sup/person.rb b/lib/sup/person.rb
710 index 995620b..ca70351 100644
711 --- a/lib/sup/person.rb
712 +++ b/lib/sup/person.rb
713 @@ -1,22 +1,5 @@
714 module Redwood
715
716 -class PersonManager
717 - include Singleton
718 -
719 - def initialize
720 - self.class.i_am_the_instance self
721 - end
722 -
723 - def self.people_for s
724 - return [] if s.nil?
725 - s.split_on_commas.map { |ss| self.person_for ss }
726 - end
727 -
728 - def self.person_for s
729 - Person.from_address(s)
730 - end
731 -end
732 -
733 class Person
734 attr_accessor :name, :email
735
736 @@ -110,6 +93,11 @@ class Person
737 Person.new name, email
738 end
739
740 + def self.from_address_list ss
741 + return [] if ss.nil?
742 + ss.split_on_commas.map { |s| self.from_address s }
743 + end
744 +
745 def indexable_content
746 [name, email, email.split(/@/).first].join(" ")
747 end
748
749 --
750 Nicolas Pouillard
751
752 From nicolas.pouillard@gmail.com Mon Mar 16 14:40:09 2009
753 From: nicolas.pouillard@gmail.com (Nicolas Pouillard)
754 Date: Mon, 16 Mar 2009 19:40:09 +0100
755 Subject: [sup-talk] [PATCH] Resync listable_labels and applyable_labels with
756 reality
757 Message-ID: <1237228801-sup-301@ausone.local>
758
759 Resent...
760
761 The listable_labels method listed all labels except unread
762 which seems an unneeded complication/restriction, so it's
763 renamed to all_labels. The applyable_labels was in fact
764 user-defined labels so it's renamed to user_defined_labels.
765 ---
766 bin/sup | 2 +-
767 lib/sup/buffer.rb | 4 +++-
768 lib/sup/label.rb | 13 +++++--------
769 lib/sup/modes/label-list-mode.rb | 4 ++--
770 4 files changed, 11 insertions(+), 12 deletions(-)
771
772 diff --git a/bin/sup b/bin/sup
773 index 152c42c..e82d1ce 100644
774 --- a/bin/sup
775 +++ b/bin/sup
776 @@ -237,7 +237,7 @@ begin
777 when :search_unread
778 SearchResultsMode.spawn_from_query "is:unread"
779 when :list_labels
780 - labels = LabelManager.listable_labels.map { |l| LabelManager.string_for l }
781 + labels = LabelManager.all_labels.map { |l| LabelManager.string_for l }
782 user_label = bm.ask_with_completions :label, "Show threads with label (enter for listing): ", labels
783 unless user_label.nil?
784 if user_label.empty?
785 diff --git a/lib/sup/buffer.rb b/lib/sup/buffer.rb
786 index 0447f61..5d0b7eb 100644
787 --- a/lib/sup/buffer.rb
788 +++ b/lib/sup/buffer.rb
789 @@ -478,7 +478,9 @@ EOS
790 default = default_labels.join(" ")
791 default += " " unless default.empty?
792
793 - applyable_labels = (LabelManager.applyable_labels - forbidden_labels).map { |l| LabelManager.string_for l }.sort_by { |s| s.downcase }
794 + # here I would prefer to give more control and allow all_labels instead of
795 + # user_defined_labels only
796 + applyable_labels = (LabelManager.user_defined_labels - forbidden_labels).map { |l| LabelManager.string_for l }.sort_by { |s| s.downcase }
797
798 answer = ask_many_with_completions domain, question, applyable_labels, default
799
800 diff --git a/lib/sup/label.rb b/lib/sup/label.rb
801 index 70a26ea..e63db9e 100644
802 --- a/lib/sup/label.rb
803 +++ b/lib/sup/label.rb
804 @@ -7,9 +7,6 @@ class LabelManager
805 ## add/remove these via normal label mechanisms.
806 RESERVED_LABELS = [ :starred, :spam, :draft, :unread, :killed, :sent, :deleted, :inbox, :attachment ]
807
808 - ## labels which it nonetheless makes sense to search for by
809 - LISTABLE_RESERVED_LABELS = [ :starred, :spam, :draft, :sent, :killed, :deleted, :inbox, :attachment ]
810 -
811 ## labels that will typically be hidden from the user
812 HIDDEN_RESERVED_LABELS = [ :starred, :unread, :attachment ]
813
814 @@ -28,18 +25,18 @@ class LabelManager
815 self.class.i_am_the_instance self
816 end
817
818 - ## all listable (just user-defined at the moment) labels, ordered
819 + ## all labels user-defined and system, ordered
820 ## nicely and converted to pretty strings. use #label_for to recover
821 ## the original label.
822 - def listable_labels
823 + def all_labels
824 ## uniq's only necessary here because of certain upgrade issues
825 - (LISTABLE_RESERVED_LABELS + @labels.keys).uniq
826 + (RESERVED_LABELS + @labels.keys).uniq
827 end
828
829 - ## all apply-able (user-defined and system listable) labels, ordered
830 + ## all user-defined labels, ordered
831 ## nicely and converted to pretty strings. use #label_for to recover
832 ## the original label.
833 - def applyable_labels
834 + def user_defined_labels
835 @labels.keys
836 end
837
838 diff --git a/lib/sup/modes/label-list-mode.rb b/lib/sup/modes/label-list-mode.rb
839 index 132b654..a35d110 100644
840 --- a/lib/sup/modes/label-list-mode.rb
841 +++ b/lib/sup/modes/label-list-mode.rb
842 @@ -48,12 +48,12 @@ protected
843
844 def regen_text
845 @text = []
846 - labels = LabelManager.listable_labels
847 + labels = LabelManager.all_labels
848
849 counts = labels.map do |label|
850 string = LabelManager.string_for label
851 total = Index.num_results_for :label => label
852 - unread = Index.num_results_for :labels => [label, :unread]
853 + unread = (label == :unread)? total : Index.num_results_for(:labels => [label, :unread])
854 [label, string, total, unread]
855 end.sort_by { |l, s, t, u| s.downcase }
856
857
858 --
859 Nicolas Pouillard
860
861 From nicolas.pouillard@gmail.com Mon Mar 16 14:41:08 2009
862 From: nicolas.pouillard@gmail.com (Nicolas Pouillard)
863 Date: Mon, 16 Mar 2009 19:41:08 +0100
864 Subject: [sup-talk] [PATCH] Fix a bug in sup-tweak-label when multiple
865 sources are given.
866 Message-ID: <1237228863-sup-2359@ausone.local>
867
868 Resent...
869
870 ---
871 bin/sup-tweak-labels | 2 +-
872 1 files changed, 1 insertions(+), 1 deletions(-)
873
874 diff --git a/bin/sup-tweak-labels b/bin/sup-tweak-labels
875 index 4d1313e..0beb77e 100644
876 --- a/bin/sup-tweak-labels
877 +++ b/bin/sup-tweak-labels
878 @@ -71,7 +71,7 @@ begin
879 end.map { |s| s.id }
880 Trollop::die "nothing to do: no sources" if source_ids.empty?
881
882 - query = "+(" + source_ids.map { |id| "source_id:#{id}" }.join(" ") + ")"
883 + query = "+(" + source_ids.map { |id| "source_id:#{id}" }.join(" OR ") + ")"
884 if add_labels.empty?
885 ## if all we're doing is removing labels, we can further restrict the
886 ## query to only messages with those labels
887
888 --
889 Nicolas Pouillard
890
891 From nicolas.pouillard@gmail.com Mon Mar 16 14:38:02 2009
892 From: nicolas.pouillard@gmail.com (Nicolas Pouillard)
893 Date: Mon, 16 Mar 2009 19:38:02 +0100
894 Subject: [sup-talk] [PATCH] Close the "remove email->name mapping" issue
895 In-Reply-To: <ea2d84848a9fed1fbceb3837aacf8bcf86bd0602.1227456947.git.nicolas.pouillard@gmail.com>
896 References: <ea2d84848a9fed1fbceb3837aacf8bcf86bd0602.1227456947.git.nicolas.pouillard@gmail.com>
897 Message-ID: <1237228672-sup-4442@ausone.local>
898
899 Resent...
900
901 ---
902 ...e-aae5ae6378afa9bd2a8e1b15d28ba7ccef867791.yaml | 8 ++++++--
903 1 files changed, 6 insertions(+), 2 deletions(-)
904
905 diff --git a/bugs/issue-aae5ae6378afa9bd2a8e1b15d28ba7ccef867791.yaml b/bugs/issue-aae5ae6378afa9bd2a8e1b15d28ba7ccef867791.yaml
906 index cd3820d..83cc00a 100644
907 --- a/bugs/issue-aae5ae6378afa9bd2a8e1b15d28ba7ccef867791.yaml
908 +++ b/bugs/issue-aae5ae6378afa9bd2a8e1b15d28ba7ccef867791.yaml
909 @@ -5,8 +5,8 @@ type: :bugfix
910 component: sup
911 release:
912 reporter: William Morgan <wmorgan-sup at masanjin.net>
913 -status: :unstarted
914 -disposition:
915 +status: :closed
916 +disposition: :fixed
917 creation_time: 2008-05-19 23:42:25.910550 Z
918 references: []
919
920 @@ -20,4 +20,8 @@ log_events:
921 - William Morgan <wmorgan-sup at masanjin.net>
922 - unassigned from release 0.6
923 - ""
924 +- - 2008-11-22 16:31:27.450146 Z
925 + - Nicolas Pouillard <nicolas.pouillard at gmail.com>
926 + - closed with disposition fixed
927 + - This mapping and the PersonManager are now removed.
928 git_branch:
929
930 --
931 Nicolas Pouillard
932
933 From nicolas.pouillard@gmail.com Mon Mar 16 14:39:40 2009
934 From: nicolas.pouillard@gmail.com (Nicolas Pouillard)
935 Date: Mon, 16 Mar 2009 19:39:40 +0100
936 Subject: [sup-talk] [PATCH] Fix a recurring bug about killed threads.
937 Message-ID: <1237228775-sup-8139@ausone.local>
938
939 Resent...
940
941 ---
942 ...e-60d86dd32054533a6206f698033ec668af6a7574.yaml | 10 ++++++++--
943 lib/sup/modes/thread-index-mode.rb | 2 +-
944 2 files changed, 9 insertions(+), 3 deletions(-)
945
946 diff --git a/bugs/issue-60d86dd32054533a6206f698033ec668af6a7574.yaml b/bugs/issue-60d86dd32054533a6206f698033ec668af6a7574.yaml
947 index 7fb616c..2830fff 100644
948 --- a/bugs/issue-60d86dd32054533a6206f698033ec668af6a7574.yaml
949 +++ b/bugs/issue-60d86dd32054533a6206f698033ec668af6a7574.yaml
950 @@ -5,8 +5,8 @@ type: :bugfix
951 component: indexing
952 release:
953 reporter: William Morgan <wmorgan-sup at masanjin.net>
954 -status: :unstarted
955 -disposition:
956 +status: :closed
957 +disposition: :fixed
958 creation_time: 2008-04-25 19:28:51.369257 Z
959 references: []
960
961 @@ -20,4 +20,10 @@ log_events:
962 - William Morgan <wmorgan-sup at masanjin.net>
963 - unassigned from release 0.6
964 - ""
965 +- - 2008-11-21 14:23:17.566852 Z
966 + - Nicolas Pouillard <nicolas.pouillard at gmail.com>
967 + - closed with disposition fixed
968 + - |-
969 + Loading options was not given to load_thread_for_message in
970 + ThreadIndexMode.add_or_unhide.
971 git_branch:
972 diff --git a/lib/sup/modes/thread-index-mode.rb b/lib/sup/modes/thread-index-mode.rb
973 index 3dd0498..73144db 100644
974 --- a/lib/sup/modes/thread-index-mode.rb
975 +++ b/lib/sup/modes/thread-index-mode.rb
976 @@ -567,7 +567,7 @@ protected
977 def add_or_unhide m
978 @ts_mutex.synchronize do
979 if (is_relevant?(m) || @ts.is_relevant?(m)) && !@ts.contains?(m)
980 - @ts.load_thread_for_message m
981 + @ts.load_thread_for_message m, @load_thread_opts
982 end
983
984 @hidden_threads.delete @ts.thread_for(m)
985
986 --
987 Nicolas Pouillard
988
989 From nicolas.pouillard@gmail.com Mon Mar 16 14:56:17 2009
990 From: nicolas.pouillard@gmail.com (Nicolas Pouillard)
991 Date: Mon, 16 Mar 2009 19:56:17 +0100
992 Subject: [sup-talk] [PATCH] decoding: handle more misspellings,
993 in particular ISO-8859-15
994 Message-ID: <1237229771-sup-9316@ausone.local>
995
996 Resent...
997
998 ---
999 lib/sup/util.rb | 9 +++++----
1000 1 files changed, 5 insertions(+), 4 deletions(-)
1001
1002 diff --git a/lib/sup/util.rb b/lib/sup/util.rb
1003 index fc62532..dbcffcc 100644
1004 --- a/lib/sup/util.rb
1005 +++ b/lib/sup/util.rb
1006 @@ -620,11 +620,12 @@ end
1007
1008 class Iconv
1009 def self.easy_decode target, charset, text
1010 - return text if charset =~ /^(x-unknown|unknown[-_]?8bit|ascii[-_]?7[-_]?bit)$/i
1011 + return text if charset =~ /^(x-unknown|unknown[-_ ]?8bit|ascii[-_ ]?7[-_ ]?bit)$/i
1012 charset = case charset
1013 - when /UTF[-_]?8/i: "utf-8"
1014 - when /(iso[-_])?latin[-_]?1$/i: "ISO-8859-1"
1015 - when /unicode[-_]1[-_]1[-_]utf[-_]7/i: "utf-7"
1016 + when /UTF[-_ ]?8/i: "utf-8"
1017 + when /(iso[-_ ])?latin[-_ ]?1$/i: "ISO-8859-1"
1018 + when /iso[-_ ]?8859[-_ ]?15/i: 'ISO-8859-15'
1019 + when /unicode[-_ ]1[-_ ]1[-_ ]utf[-_]7/i: "utf-7"
1020 else charset
1021 end
1022
1023
1024 --
1025 Nicolas Pouillard
1026
1027 From nicolas.pouillard@gmail.com Mon Mar 16 14:56:44 2009
1028 From: nicolas.pouillard@gmail.com (Nicolas Pouillard)
1029 Date: Mon, 16 Mar 2009 19:56:44 +0100
1030 Subject: [sup-talk] [PATCH] Handle a nil 'default_attachment_save_dir' option
1031 Message-ID: <1237229795-sup-5645@ausone.local>
1032
1033 Resent...
1034
1035 ---
1036 lib/sup/modes/thread-view-mode.rb | 2 +-
1037 1 files changed, 1 insertions(+), 1 deletions(-)
1038
1039 diff --git a/lib/sup/modes/thread-view-mode.rb b/lib/sup/modes/thread-view-mode.rb
1040 index ce9f13d..a2d6eb4 100644
1041 --- a/lib/sup/modes/thread-view-mode.rb
1042 +++ b/lib/sup/modes/thread-view-mode.rb
1043 @@ -260,7 +260,7 @@ EOS
1044 chunk = @chunk_lines[curpos] or return
1045 case chunk
1046 when Chunk::Attachment
1047 - fn = BufferManager.ask_for_filename :filename, "Save attachment to file: ", ($config[:default_attachment_save_dir] + chunk.filename)
1048 + fn = BufferManager.ask_for_filename(:filename, "Save attachment to file: ", ($config[:default_attachment_save_dir] || '') + chunk.filename)
1049 save_to_file(fn) { |f| f.print chunk.raw_content } if fn
1050 else
1051 m = @message_lines[curpos]
1052
1053 --
1054 Nicolas Pouillard
1055
1056 From marka@pobox.com Tue Mar 17 14:29:51 2009
1057 From: marka@pobox.com (Mark Alexander)
1058 Date: Tue, 17 Mar 2009 11:29:51 -0700
1059 Subject: [sup-talk] preparing for 0.7
1060 In-Reply-To: <1237224356-sup-1941@entry>
1061 References: <1237224356-sup-1941@entry>
1062 Message-ID: <a412e2a70903171129v22fe7bc0o6174ad3be6af73@mail.gmail.com>
1063
1064 On Mon, Mar 16, 2009 at 10:27 AM, William Morgan
1065 <wmorgan-sup at masanjin.net> wrote:
1066
1067 > I've prepared master for an 0.7 release. If you get a chance, please try
1068 > it out and let me know if there's anything obviously broken. The changes
1069 > I'm most excited about are the Ferret locking (so hopefully no more
1070 > index corruption) and being able to type long answers to Sup's
1071 > questions.
1072
1073 Thanks! I'm trying it now.
1074
1075 Last month I discovered sup and attempted to use it
1076 in a serious way as a replacement for mutt. I fed it
1077 around 10000 messages that I had in my ~/Maildir
1078 and tried to use it for several days. But I kept running
1079 into ferret-related crashes every few minutes, so I
1080 abandoned the effort and went back to mutt.
1081
1082 I wasn't willing to give up completely, though, and
1083 started to investigate the idea of replacing ferret
1084 with Sphinx (yes, I know about the Sup-As-Service
1085 project, but I was impatient). I didn't get too far
1086 with that, though (lack of time, mainly). Sphinx
1087 is a pain, frankly, and I was racking my brains for
1088 ways of dealing sanely with the incremental indexing,
1089 the matching of message IDs with Sphinx IDs, and
1090 the XML interface.
1091
1092 So I'm really glad to see the new release and hope
1093 the ferret-related bugs are gone. So far things
1094 look good. It's lasted lots longer than it did before,
1095 but I'm feeling cautious and will run it for a few more days
1096 before considering moving away from mutt full-time.
1097
1098 --Mark
1099
1100 From wmorgan-sup@masanjin.net Wed Mar 18 09:49:15 2009
1101 From: wmorgan-sup@masanjin.net (William Morgan)
1102 Date: Wed, 18 Mar 2009 06:49:15 -0700
1103 Subject: [sup-talk] preparing for 0.7
1104 In-Reply-To: <a412e2a70903171129v22fe7bc0o6174ad3be6af73@mail.gmail.com>
1105 References: <1237224356-sup-1941@entry>
1106 <a412e2a70903171129v22fe7bc0o6174ad3be6af73@mail.gmail.com>
1107 Message-ID: <1237383823-sup-8242@entry>
1108
1109 Reformatted excerpts from Mark Alexander's message of 2009-03-17:
1110 > I wasn't willing to give up completely, though, and started to
1111 > investigate the idea of replacing ferret with Sphinx (yes, I know
1112 > about the Sup-As-Service project, but I was impatient). I didn't get
1113 > too far with that, though (lack of time, mainly). Sphinx is a pain,
1114 > frankly, and I was racking my brains for ways of dealing sanely with
1115 > the incremental indexing, the matching of message IDs with Sphinx IDs,
1116 > and the XML interface.
1117
1118 I played around with Sphinx a little bit since that's apparently the hot
1119 shit nowadays, but had a similar experience---the combination of having
1120 to feed everything to it in XML, manually manage the incremental
1121 indexes, and deal with a remote server that would take 1-2 seconds to
1122 pick up changes was hellish. I was not motivated to continue.
1123
1124 So I still think Ferret is the best search engine for Ruby apps, despite
1125 being unmaintained and highly thread-unsafe.
1126
1127 > So I'm really glad to see the new release and hope the ferret-related
1128 > bugs are gone. So far things look good. It's lasted lots longer than
1129 > it did before, but I'm feeling cautious and will run it for a few more
1130 > days before considering moving away from mutt full-time.
1131
1132 Glad to hear it. I'm definitely interested in whether it holds up.
1133 --
1134 William <wmorgan-sup at masanjin.net>
1135
1136 From wmorgan-sup@masanjin.net Wed Mar 18 09:50:36 2009
1137 From: wmorgan-sup@masanjin.net (William Morgan)
1138 Date: Wed, 18 Mar 2009 06:50:36 -0700
1139 Subject: [sup-talk] Some patches
1140 In-Reply-To: <1237228109-sup-5666@ausone.local>
1141 References: <1237228109-sup-5666@ausone.local>
1142 Message-ID: <1237384169-sup-3253@entry>
1143
1144 Reformatted excerpts from nicolas.pouillard's message of 2009-03-16:
1145 > The consequence is that I have some patches, that I thought was on the
1146 > list and there not. So I resend them.
1147
1148 Patch bomb! Looks like a lot of good stuff. Probably too late for 0.7
1149 though.
1150 --
1151 William <wmorgan-sup at masanjin.net>
1152
1153 From nicolas.pouillard@gmail.com Wed Mar 18 10:35:17 2009
1154 From: nicolas.pouillard@gmail.com (Nicolas Pouillard)
1155 Date: Wed, 18 Mar 2009 15:35:17 +0100
1156 Subject: [sup-talk] Some patches
1157 In-Reply-To: <1237384169-sup-3253@entry>
1158 References: <1237228109-sup-5666@ausone.local> <1237384169-sup-3253@entry>
1159 Message-ID: <1237386701-sup-9341@ausone.local>
1160
1161 Excerpts from William Morgan's message of Wed Mar 18 14:50:36 +0100 2009:
1162 > Reformatted excerpts from nicolas.pouillard's message of 2009-03-16:
1163 > > The consequence is that I have some patches, that I thought was on the
1164 > > list and there not. So I resend them.
1165 >
1166 > Patch bomb! Looks like a lot of good stuff. Probably too late for 0.7
1167 > though.
1168
1169 No problems, however two of them could be worthy:
1170
1171 - "Handle a nil 'default_attachment_save_dir' option"
1172 I think that this one is a regression due to the introduction of this
1173 option.
1174
1175 - "Fix a recurring bug about killed threads."
1176 Could be handy to have this feature working :)
1177
1178 Also note that I run sup with these patches since four months now :)
1179
1180 --
1181 Nicolas Pouillard
1182
1183 From wmorgan-sup@masanjin.net Wed Mar 18 11:15:50 2009
1184 From: wmorgan-sup@masanjin.net (William Morgan)
1185 Date: Wed, 18 Mar 2009 08:15:50 -0700
1186 Subject: [sup-talk] Some patches
1187 In-Reply-To: <1237386701-sup-9341@ausone.local>
1188 References: <1237228109-sup-5666@ausone.local> <1237384169-sup-3253@entry>
1189 <1237386701-sup-9341@ausone.local>
1190 Message-ID: <1237389250-sup-4011@entry>
1191
1192 Reformatted excerpts from nicolas.pouillard's message of 2009-03-18:
1193 > - "Handle a nil 'default_attachment_save_dir' option"
1194 > I think that this one is a regression due to the introduction of
1195 > this option.
1196
1197 Heh, I also fixed this one independently, so it's already in master.
1198
1199 > - "Fix a recurring bug about killed threads."
1200 > Could be handy to have this feature working :)
1201
1202 Ok, I've applied this to master. I'm going to aim for releasing tomorrow
1203 or the day after, so now's a good time to try your favorite features and
1204 make sure they still work!
1205 --
1206 William <wmorgan-sup at masanjin.net>
1207
1208 From nicolas.pouillard@gmail.com Wed Mar 18 11:33:08 2009
1209 From: nicolas.pouillard@gmail.com (Nicolas Pouillard)
1210 Date: Wed, 18 Mar 2009 16:33:08 +0100
1211 Subject: [sup-talk] [PATCH] Allow multi_edit_labels to remove labels
1212 using -lab (the "; l" key binding)
1213 In-Reply-To: <1237228536-sup-7811@ausone.local>
1214 References: <1237228536-sup-7811@ausone.local>
1215 Message-ID: <1237390328-sup-1506@ausone.local>
1216
1217 This patch conflict with the undo feature, I've locally resolved the merge.
1218 However I don't really know what the best way to share the conflict
1219 resolution.
1220
1221 Excerpts from Nicolas Pouillard's message of Mon Mar 16 19:35:43 +0100 2009:
1222 > Resent..
1223 >
1224 > ---
1225 > lib/sup/modes/thread-index-mode.rb | 19 ++++++++++++++-----
1226 > 1 files changed, 14 insertions(+), 5 deletions(-)
1227 >
1228 > diff --git a/lib/sup/modes/thread-index-mode.rb b/lib/sup/modes/thread-index-mode.rb
1229 > index 3dd0498..bde61cf 100644
1230 > --- a/lib/sup/modes/thread-index-mode.rb
1231 > +++ b/lib/sup/modes/thread-index-mode.rb
1232 > @@ -448,13 +448,22 @@ EOS
1233 > end
1234 >
1235 > def multi_edit_labels threads
1236 > - user_labels = BufferManager.ask_for_labels :add_labels, "Add labels: ", [], @hidden_labels
1237 > + user_labels = BufferManager.ask_for_labels :labels, "Add/remove labels (use -label to remove): ", [], @hidden_labels
1238 > return unless user_labels
1239 > -
1240 > - hl = user_labels.select { |l| @hidden_labels.member? l }
1241 > +
1242 > + user_labels.map! { |l| (l.to_s =~ /^-/)? [l.to_s.gsub(/^-?/, '').to_sym, true] : [l, false] }
1243 > + hl = user_labels.select { |(l,_)| @hidden_labels.member? l }
1244 > if hl.empty?
1245 > - threads.each { |t| user_labels.each { |l| t.apply_label l } }
1246 > - user_labels.each { |l| LabelManager << l }
1247 > + threads.each do |t|
1248 > + user_labels.each do |(l, to_remove)|
1249 > + if to_remove
1250 > + t.remove_label l
1251 > + else
1252 > + t.apply_label l
1253 > + end
1254 > + end
1255 > + end
1256 > + user_labels.each { |(l,_)| LabelManager << l }
1257 > else
1258 > BufferManager.flash "'#{hl}' is a reserved label!"
1259 > end
1260 >
1261
1262 --
1263 Nicolas Pouillard
1264
1265 From lee@writequit.org Wed Mar 18 11:39:34 2009
1266 From: lee@writequit.org (Lee Hinman)
1267 Date: Wed, 18 Mar 2009 09:39:34 -0600
1268 Subject: [sup-talk] preparing for 0.7
1269 In-Reply-To: <1237383823-sup-8242@entry>
1270 References: <1237224356-sup-1941@entry>
1271 <a412e2a70903171129v22fe7bc0o6174ad3be6af73@mail.gmail.com>
1272 <1237383823-sup-8242@entry>
1273 Message-ID: <1237390594-sup-949@black>
1274
1275 Excerpts from William Morgan's message of Wed Mar 18 07:49:15 -0600 2009:
1276 > So I still think Ferret is the best search engine for Ruby apps, despite
1277 > being unmaintained and highly thread-unsafe.
1278
1279 Has anyone looked into using Hyper Estraier
1280 (http://hyperestraier.sourceforge.net/) as a backend instead of Ferret (if
1281 the problems with Ferret are bad enough to want to switch)?
1282
1283 I've had really good luck with it, it indexes fast and the searches are
1284 super-quick. The ruby bindings for it are great!
1285
1286 Just curious.
1287
1288 - Lee
1289
1290 From eravin@panix.com Wed Mar 18 11:46:40 2009
1291 From: eravin@panix.com (Ed Ravin)
1292 Date: Wed, 18 Mar 2009 11:46:40 -0400
1293 Subject: [sup-talk] sup and NetBSD?
1294 Message-ID: <20090318154639.GB5268@panix.com>
1295
1296 Is anyone using sup on a NetBSD system? sup-0.6 won't install as a gem
1297 because it wants ncurses-0.9.1 which won't compile properly. I tried
1298 to install later versions of ncurses - I was able to compile ncurses-0.9.2
1299 as well as the later versions which are named ruby-ncurses, but upon
1300 running sup, sup kept saying it couldn't find ncurses even though it was
1301 allegedly installed.
1302
1303 I'm using NetBSD 4.0 on i386.
1304
1305 Thanks,
1306
1307 -- Ed
1308
1309 From nicolas.pouillard@gmail.com Wed Mar 18 13:24:54 2009
1310 From: nicolas.pouillard@gmail.com (Nicolas Pouillard)
1311 Date: Wed, 18 Mar 2009 18:24:54 +0100
1312 Subject: [sup-talk] [PATCH] Add lib/sup/undo.rb to Manifest.txt
1313 Message-ID: <1237397094-34077-1-git-send-email-nicolas.pouillard@gmail.com>
1314
1315 ---
1316 Manifest.txt | 1 +
1317 1 files changed, 1 insertions(+), 0 deletions(-)
1318
1319 diff --git a/Manifest.txt b/Manifest.txt
1320 index 6ecfe67..be633d7 100644
1321 --- a/Manifest.txt
1322 +++ b/Manifest.txt
1323 @@ -71,5 +71,6 @@ lib/sup/suicide.rb
1324 lib/sup/tagger.rb
1325 lib/sup/textfield.rb
1326 lib/sup/thread.rb
1327 +lib/sup/undo.rb
1328 lib/sup/update.rb
1329 lib/sup/util.rb
1330 --
1331 1.6.1.2
1332
1333
1334 From marka@pobox.com Wed Mar 18 17:11:05 2009
1335 From: marka@pobox.com (Mark Alexander)
1336 Date: Wed, 18 Mar 2009 14:11:05 -0700
1337 Subject: [sup-talk] preparing for 0.7
1338 In-Reply-To: <1237383823-sup-8242@entry>
1339 References: <1237224356-sup-1941@entry>
1340 <a412e2a70903171129v22fe7bc0o6174ad3be6af73@mail.gmail.com>
1341 <1237383823-sup-8242@entry>
1342 Message-ID: <a412e2a70903181411s388d2147l136b68f0a1fe7bd2@mail.gmail.com>
1343
1344 On Wed, Mar 18, 2009 at 6:49 AM, William Morgan
1345 <wmorgan-sup at masanjin.net> wrote:
1346 > I'm definitely interested in whether it holds up.
1347
1348 It's holding up very well; no crashes after two days. This is wonderful!
1349
1350 I have encountered a few odd minor issues. One is that
1351 it seems not to recognize Message-ID headers that are
1352 split over two lines. For example, here's one that caused
1353 it to generate a faked-up ID:
1354
1355 Message-ID:
1356 <72E99544C4530E4F92DCC03303F8CF820145EDC05D at PA-EXMBX01.widget.com>
1357
1358 There's a newline after the colon, and the message ID follows
1359 on the next line, indented with one space. I believe this one
1360 was generated by Outlook, but I've also seen Alpine do this.
1361
1362 This is messing up threading. Without delving into
1363 the source, I am guessing this an rmail bug, not a sup bug.
1364
1365 From wmorgan-sup@masanjin.net Thu Mar 19 12:58:15 2009
1366 From: wmorgan-sup@masanjin.net (William Morgan)
1367 Date: Thu, 19 Mar 2009 09:58:15 -0700
1368 Subject: [sup-talk] sup and NetBSD?
1369 In-Reply-To: <20090318154639.GB5268@panix.com>
1370 References: <20090318154639.GB5268@panix.com>
1371 Message-ID: <1237481832-sup-3207@entry>
1372
1373 Reformatted excerpts from Ed Ravin's message of 2009-03-18:
1374 > Is anyone using sup on a NetBSD system? sup-0.6 won't install as a gem
1375 > because it wants ncurses-0.9.1 which won't compile properly. I tried
1376 > to install later versions of ncurses - I was able to compile ncurses-0.9.2
1377 > as well as the later versions which are named ruby-ncurses, but upon
1378 > running sup, sup kept saying it couldn't find ncurses even though it was
1379 > allegedly installed.
1380
1381 I know there've been some folks trying with OpenBSD and FreeBSD but I
1382 don't recalled NetBSD. You can search the list archives... I believe
1383 they had issues with ncurses or libc or something, but I don't recall
1384 the specifics.
1385 --
1386 William <wmorgan-sup at masanjin.net>
1387
1388 From wmorgan-sup@masanjin.net Thu Mar 19 13:02:11 2009
1389 From: wmorgan-sup@masanjin.net (William Morgan)
1390 Date: Thu, 19 Mar 2009 10:02:11 -0700
1391 Subject: [sup-talk] preparing for 0.7
1392 In-Reply-To: <1237390594-sup-949@black>
1393 References: <1237224356-sup-1941@entry>
1394 <a412e2a70903171129v22fe7bc0o6174ad3be6af73@mail.gmail.com>
1395 <1237383823-sup-8242@entry> <1237390594-sup-949@black>
1396 Message-ID: <1237481941-sup-9121@entry>
1397
1398 Reformatted excerpts from Lee Hinman's message of 2009-03-18:
1399 > Has anyone looked into using Hyper Estraier
1400 > (http://hyperestraier.sourceforge.net/) as a backend instead of Ferret
1401 > (if the problems with Ferret are bad enough to want to switch)?
1402
1403 I looked at it briefly but judging from the mailing list traffic it's
1404 not really maintained, or at least people's questions aren't being
1405 answered. I already have that with Ferret. :)
1406 --
1407 William <wmorgan-sup at masanjin.net>
1408
1409 From wmorgan-sup@masanjin.net Thu Mar 19 13:14:18 2009
1410 From: wmorgan-sup@masanjin.net (William Morgan)
1411 Date: Thu, 19 Mar 2009 10:14:18 -0700
1412 Subject: [sup-talk] [PATCH] Add lib/sup/undo.rb to Manifest.txt
1413 In-Reply-To: <1237397094-34077-1-git-send-email-nicolas.pouillard@gmail.com>
1414 References: <1237397094-34077-1-git-send-email-nicolas.pouillard@gmail.com>
1415 Message-ID: <1237482833-sup-8683@entry>
1416
1417 Applied, thanks!
1418 --
1419 William <wmorgan-sup at masanjin.net>
1420
1421 From marka@pobox.com Thu Mar 19 15:18:07 2009
1422 From: marka@pobox.com (Mark Alexander)
1423 Date: Thu, 19 Mar 2009 12:18:07 -0700
1424 Subject: [sup-talk] preparing for 0.7
1425 In-Reply-To: <1237383823-sup-8242@entry>
1426 References: <1237224356-sup-1941@entry>
1427 <a412e2a70903171129v22fe7bc0o6174ad3be6af73@mail.gmail.com>
1428 <1237383823-sup-8242@entry>
1429 Message-ID: <a412e2a70903191218x209c1cb1p6f46e718b2f90395@mail.gmail.com>
1430
1431 I left the new sup running all night, and when
1432 I looked at it this morning, it had dropped
1433 at least one new message. I didn't figure that
1434 out until I saw replies to the lost message.
1435 Poking about with mutt and searching for
1436 the message using devel/console.sh showed
1437 that it really was missing from the ferret index.
1438 Running sup-sync --all on the maildir source in question
1439 fixed it, but it was still worrisome.
1440
1441 This is on a work machine that gets messages
1442 from dozens of mailing lists, cron jobs, etc.
1443 I have fetchmail running in the background
1444 and polling every two minutes. Then procmail
1445 is used to stuff things into a dozen folders
1446 in ~/Maildir (for use with mutt).
1447
1448 So I'm wondering if there is some kind of race
1449 condition between sup and fetchmail/procmail. I'm not
1450 even sure how to debug this since it's apparently
1451 an infrequent event (and one that isn't noticeable
1452 right away).
1453
1454 From wmorgan-sup@masanjin.net Thu Mar 19 15:25:23 2009
1455 From: wmorgan-sup@masanjin.net (William Morgan)
1456 Date: Thu, 19 Mar 2009 12:25:23 -0700
1457 Subject: [sup-talk] preparing for 0.7
1458 In-Reply-To: <a412e2a70903191218x209c1cb1p6f46e718b2f90395@mail.gmail.com>
1459 References: <1237224356-sup-1941@entry>
1460 <a412e2a70903171129v22fe7bc0o6174ad3be6af73@mail.gmail.com>
1461 <1237383823-sup-8242@entry>
1462 <a412e2a70903191218x209c1cb1p6f46e718b2f90395@mail.gmail.com>
1463 Message-ID: <1237490703-sup-4095@entry>
1464
1465 [resend to list]
1466
1467 Reformatted excerpts from Mark Alexander's message of 2009-03-19:
1468 > So I'm wondering if there is some kind of race condition between sup
1469 > and fetchmail/procmail. I'm not even sure how to debug this since
1470 > it's apparently an infrequent event (and one that isn't noticeable
1471 > right away).
1472
1473 Hm, that would be bad. The right way to debug this is to wait for it to
1474 happen again (!) and examine the contents of the poll-mode and log-mode
1475 buffers, which should describe what Sup thinks it was doing at the time.
1476 --
1477 William <wmorgan-sup at masanjin.net>
1478
1479 From marka@pobox.com Thu Mar 19 16:41:06 2009
1480 From: marka@pobox.com (Mark Alexander)
1481 Date: Thu, 19 Mar 2009 13:41:06 -0700
1482 Subject: [sup-talk] preparing for 0.7
1483 In-Reply-To: <1237490703-sup-4095@entry>
1484 References: <1237224356-sup-1941@entry>
1485 <a412e2a70903171129v22fe7bc0o6174ad3be6af73@mail.gmail.com>
1486 <1237383823-sup-8242@entry>
1487 <a412e2a70903191218x209c1cb1p6f46e718b2f90395@mail.gmail.com>
1488 <1237490703-sup-4095@entry>
1489 Message-ID: <a412e2a70903191341o744efb9bw3a02ebb1585a9b8b@mail.gmail.com>
1490
1491 On Thu, Mar 19, 2009 at 12:25 PM, William Morgan
1492 <wmorgan-sup at masanjin.net> wrote:
1493 > Hm, that would be bad. The right way to debug this is to wait for it to
1494 > happen again (!) and examine the contents of the poll-mode and log-mode
1495 > buffers, which should describe what Sup thinks it was doing at the time.
1496
1497 That's my plan. I did look at the two log buffers when I noticed
1498 the problem, but by then it was too late. I'll keep an eye on it.
1499
1500 From marka@pobox.com Fri Mar 20 13:11:37 2009
1501 From: marka@pobox.com (Mark Alexander)
1502 Date: Fri, 20 Mar 2009 10:11:37 -0700
1503 Subject: [sup-talk] Patch for message-id problem
1504 Message-ID: <a412e2a70903201011p5ff990ccn6e74fad3cee60648@mail.gmail.com>
1505
1506 Here's a patch for the message-id problem I mentioned
1507 earlier, where the header line was split into two lines:
1508
1509 Message-ID:
1510 <D3C12B2AD838B44DA9D6B2CA334246D011E72A73A4 at PA-EXMBX04.widget.com>
1511
1512 I've also seen other header lines that were split in this way,
1513 so this patch works for them too.
1514
1515 I've added a somewhat large test case to the unit test
1516 that is an exact copy of a message that was causing
1517 me problems, but with the company name changed to protect
1518 the innocent.
1519 -------------- next part --------------
1520 A non-text attachment was scrubbed...
1521 Name: msgid.patch
1522 Type: application/octet-stream
1523 Size: 4830 bytes
1524 Desc: not available
1525 URL: <http://rubyforge.org/pipermail/sup-talk/attachments/20090320/9debd13d/attachment.obj>
1526
1527 From marka@pobox.com Sat Mar 21 08:57:33 2009
1528 From: marka@pobox.com (Mark Alexander)
1529 Date: Sat, 21 Mar 2009 05:57:33 -0700
1530 Subject: [sup-talk] Patch for using default colors
1531 Message-ID: <a412e2a70903210557g7587c6fh62b2afb6e4731e9a@mail.gmail.com>
1532
1533 I noticed that sup wasn't using my terminal's
1534 default colors when displaying the text of
1535 a message. Instead of the expected black on
1536 light-yellow (my defaults), it was using white on black.
1537 I also see a message in the mailing list archives
1538 from Jan 29 titled "When using 'default' in colors.yaml
1539 or colormap.rb, sup throws an exception" that seems
1540 to describe the same problem.
1541
1542 I have attached a patch that works for me, and might
1543 be a workaround for the other problem as well.
1544 -------------- next part --------------
1545 A non-text attachment was scrubbed...
1546 Name: defaultcolors.patch
1547 Type: text/x-patch
1548 Size: 281 bytes
1549 Desc: not available
1550 URL: <http://rubyforge.org/pipermail/sup-talk/attachments/20090321/3756fefe/attachment.bin>
1551
1552 From wmorgan-sup@masanjin.net Sun Mar 22 12:59:59 2009
1553 From: wmorgan-sup@masanjin.net (William Morgan)
1554 Date: Sun, 22 Mar 2009 09:59:59 -0700
1555 Subject: [sup-talk] Patch for message-id problem
1556 In-Reply-To: <a412e2a70903201011p5ff990ccn6e74fad3cee60648@mail.gmail.com>
1557 References: <a412e2a70903201011p5ff990ccn6e74fad3cee60648@mail.gmail.com>
1558 Message-ID: <1237740682-sup-5677@entry>
1559
1560 Reformatted excerpts from Mark Alexander's message of 2009-03-20:
1561 > Here's a patch for the message-id problem I mentioned earlier, where
1562 > the header line was split into two lines:
1563
1564 Thanks! I've modified this slightly so that the regex looks like:
1565
1566 HEADER_RE = /\s*(.*?)\s*/
1567
1568 which I believe is equivalent to your change.
1569
1570 I've applied the patch directly to master and that will probably be the
1571 last thing going in before an 0.7 release.
1572
1573 > I've added a somewhat large test case to the unit test that is an
1574 > exact copy of a message that was causing me problems, but with the
1575 > company name changed to protect the innocent.
1576
1577 Very useful. Thanks!
1578
1579 A minor comment: for future patches, it will be easier for me to apply
1580 your changes if you use git format-patch instead of git diff.
1581 --
1582 William <wmorgan-sup at masanjin.net>
1583
1584 From wmorgan-sup@masanjin.net Sun Mar 22 13:30:30 2009
1585 From: wmorgan-sup@masanjin.net (William Morgan)
1586 Date: Sun, 22 Mar 2009 10:30:30 -0700
1587 Subject: [sup-talk] New user questions...
1588 In-Reply-To: <c46e347b0902260933qafa051bp185bd8339a6f10a0@mail.gmail.com>
1589 References: <c46e347b0902260933qafa051bp185bd8339a6f10a0@mail.gmail.com>
1590 Message-ID: <1237741980-sup-3384@entry>
1591
1592 Hi Vadim,
1593
1594 Better late than never, right?
1595
1596 Reformatted excerpts from Vadim Gutnik's message of 2009-02-26:
1597 > Is there a plan to make sup recognize email breaks at least as well as
1598 > mutt does?),
1599
1600 Yes, absolutely. This is a high-priority bug.
1601
1602 > 1) I use getmail to get my POP3SSL mail and put it into mdir format.
1603 > Usually, when getmail tells me it found a message, I go to my running
1604 > sup process and press "P" for it to pick up the mail, and sup shows
1605 > the new message. Sometimes (maybe 5-10% of the time?) sup does not
1606 > find the new message until I quit and restart it. Known problem?
1607
1608 Interesting. Someone's recently reported a similar problem, also with
1609 Maildir, but in their case the message wasn't added to the index at all.
1610
1611 > Is there anything I can do to help debug it?
1612
1613 If there's any way to reliably reproduce this so that I can see it
1614 happening locally, of course, that's the ideal solution. Otherwise, if
1615 you notice it happening in the wild, you can also look at the log buffer
1616 and the poll buffer and see if there's anything obviously wrong about
1617 what Sup reports.
1618
1619 > 2) At least once or twice I've hit "d" by habit (and mistake). Is
1620 > there a way to search for "deleted" messages? I could
1621 > just rebuild the index from scratch and reapply labels if I had to,
1622 > but ...there must be an easier way, right?
1623
1624 You can search for deleted messages by using "\" (label:deleted), or by
1625 using L.
1626 --
1627 William <wmorgan-sup at masanjin.net>
1628
1629 From wmorgan-sup@masanjin.net Sun Mar 22 13:46:17 2009
1630 From: wmorgan-sup@masanjin.net (William Morgan)
1631 Date: Sun, 22 Mar 2009 10:46:17 -0700
1632 Subject: [sup-talk] [PATCH] sup-mail crash
1633 In-Reply-To: <1234477287.6877.10.camel@onnadayr.ca>
1634 References: <20090201222618.GA6346@acahkos.kisikew.org>
1635 <zcSrlYwa.1234219306.5754650.tpo2@mail>
1636 <1234220954-sup-3688@entry> <1234268739-sup-5896@tomsk>
1637 <1234475856-sup-8907@entry> <1234477287.6877.10.camel@onnadayr.ca>
1638 Message-ID: <1237743974-sup-3407@entry>
1639
1640 Whoops, I lied. This was the other bugfix I wanted to get in to 0.7.
1641
1642 Reformatted excerpts from Rick Tessner's message of 2009-02-12:
1643 > I've had this problem occassionally about a "hash modified during
1644 > iteration" and I use maildir rather than mbox.
1645 >
1646 > Attached is a patch to fix that problem.
1647
1648 Thanks! I've applied an equivalent patch to master:
1649
1650 - header.each { |k, v| header[k.downcase] = v }
1651 + header.keys.each { |k| header[k.downcase] = v } # canonicalize
1652
1653 Please let me know if the current master works for you.
1654 --
1655 William <wmorgan-sup at masanjin.net>
1656
1657 From johnbent@lanl.gov Sun Mar 22 13:56:34 2009
1658 From: johnbent@lanl.gov (John Bent)
1659 Date: Sun, 22 Mar 2009 11:56:34 -0600
1660 Subject: [sup-talk] New user questions...
1661 In-Reply-To: <1237741980-sup-3384@entry>
1662 References: <c46e347b0902260933qafa051bp185bd8339a6f10a0@mail.gmail.com>
1663 <1237741980-sup-3384@entry>
1664 Message-ID: <1237744468-sup-9939@tangerine.lanl.gov>
1665
1666 Excerpts from William Morgan's message of Sun Mar 22 11:30:30 -0600 2009:
1667 > Hi Vadim,
1668 >
1669 > Better late than never, right?
1670 >
1671 > Reformatted excerpts from Vadim Gutnik's message of 2009-02-26:
1672 > > Is there a plan to make sup recognize email breaks at least as well as
1673 > > mutt does?),
1674 >
1675 > Yes, absolutely. This is a high-priority bug.
1676 >
1677 > > 1) I use getmail to get my POP3SSL mail and put it into mdir format.
1678 > > Usually, when getmail tells me it found a message, I go to my running
1679 > > sup process and press "P" for it to pick up the mail, and sup shows
1680 > > the new message. Sometimes (maybe 5-10% of the time?) sup does not
1681 > > find the new message until I quit and restart it. Known problem?
1682 >
1683 > Interesting. Someone's recently reported a similar problem, also with
1684 > Maildir, but in their case the message wasn't added to the index at all.
1685 >
1686 > > Is there anything I can do to help debug it?
1687 >
1688 > If there's any way to reliably reproduce this so that I can see it
1689 > happening locally, of course, that's the ideal solution. Otherwise, if
1690 > you notice it happening in the wild, you can also look at the log buffer
1691 > and the poll buffer and see if there's anything obviously wrong about
1692 > what Sup reports.
1693 >
1694 > > 2) At least once or twice I've hit "d" by habit (and mistake). Is
1695 > > there a way to search for "deleted" messages? I could
1696 > > just rebuild the index from scratch and reapply labels if I had to,
1697 > > but ...there must be an easier way, right?
1698 >
1699 > You can search for deleted messages by using "\" (label:deleted), or by
1700 > using L.
1701 >
1702 Also, you can hit '@' to revert to your last saved point (i.e. last time
1703 you hit '$'), and this will undelete it as well as undoing all your
1704 other unsaved changes. Also, hasn't someone recently submitted an Undo
1705 patch?
1706
1707 From wmorgan-sup@masanjin.net Sun Mar 22 15:22:50 2009
1708 From: wmorgan-sup@masanjin.net (William Morgan)
1709 Date: Sun, 22 Mar 2009 12:22:50 -0700
1710 Subject: [sup-talk] New user questions...
1711 In-Reply-To: <1237744468-sup-9939@tangerine.lanl.gov>
1712 References: <c46e347b0902260933qafa051bp185bd8339a6f10a0@mail.gmail.com>
1713 <1237741980-sup-3384@entry>
1714 <1237744468-sup-9939@tangerine.lanl.gov>
1715 Message-ID: <1237749728-sup-8889@entry>
1716
1717 Reformatted excerpts from John Bent's message of 2009-03-22:
1718 > Also, you can hit '@' to revert to your last saved point (i.e. last
1719 > time you hit '$'), and this will undelete it as well as undoing all
1720 > your other unsaved changes. Also, hasn't someone recently submitted
1721 > an Undo patch?
1722
1723 Oh right. If you check out the "next" branch in git, you'll have undo
1724 power too.
1725 --
1726 William <wmorgan-sup at masanjin.net>
1727
1728 From wmorgan-sup@masanjin.net Sun Mar 22 17:21:46 2009
1729 From: wmorgan-sup@masanjin.net (William Morgan)
1730 Date: Sun, 22 Mar 2009 14:21:46 -0700
1731 Subject: [sup-talk] [PATCH] Allow multi_edit_labels to remove labels
1732 using -lab (the "; l" key binding)
1733 In-Reply-To: <1237390328-sup-1506@ausone.local>
1734 References: <1237228536-sup-7811@ausone.local>
1735 <1237390328-sup-1506@ausone.local>
1736 Message-ID: <1237756617-sup-7606@entry>
1737
1738 Reformatted excerpts from nicolas.pouillard's message of 2009-03-18:
1739 > This patch conflict with the undo feature, I've locally resolved the
1740 > merge. However I don't really know what the best way to share the
1741 > conflict resolution.
1742
1743 That's a good question. For some reason git format-patch doesn't produce
1744 anything for merge commits, even if they contain conflict resolution
1745 changes. Maybe it's for a good reason; I don't know.
1746
1747 But you can use git diff. After merging and resolving the conflict, if
1748 you do "git diff HEAD^", that should output the conflict-resolution
1749 changes. You can send that to me and I can use it to replicate the
1750 commit.
1751 --
1752 William <wmorgan-sup at masanjin.net>
1753
1754 From decklin@red-bean.com Sun Mar 22 20:04:30 2009
1755 From: decklin@red-bean.com (Decklin Foster)
1756 Date: Sun, 22 Mar 2009 20:04:30 -0400
1757 Subject: [sup-talk] [PATCH] sup-mail crash
1758 In-Reply-To: <1237743974-sup-3407@entry>
1759 References: <20090201222618.GA6346@acahkos.kisikew.org>
1760 <zcSrlYwa.1234219306.5754650.tpo2@mail>
1761 <1234220954-sup-3688@entry> <1234268739-sup-5896@tomsk>
1762 <1234475856-sup-8907@entry> <1234477287.6877.10.camel@onnadayr.ca>
1763 <1237743974-sup-3407@entry>
1764 Message-ID: <1237766667-sup-7746@gillespie.rupamsunyata.org>
1765
1766 Excerpts from William Morgan's message of Sun Mar 22 13:46:17 -0400 2009:
1767 > Please let me know if the current master works for you.
1768
1769 WFM. I was just about to send a patch when I noticed this
1770 thread :)
1771
1772 Debian users, here's a package of master to test:
1773 http://apt.rupamsunyata.org/sup/
1774 I'll just wait for 0.7 to upload something official.
1775 --
1776 things change.
1777 decklin at red-bean.com
1778
1779 From nicolas.pouillard@gmail.com Mon Mar 23 06:26:23 2009
1780 From: nicolas.pouillard@gmail.com (Nicolas Pouillard)
1781 Date: Mon, 23 Mar 2009 11:26:23 +0100
1782 Subject: [sup-talk] [PATCH] Allow multi_edit_labels to remove labels
1783 using -lab (the "; l" key binding)
1784 In-Reply-To: <1237756617-sup-7606@entry>
1785 References: <1237228536-sup-7811@ausone.local>
1786 <1237390328-sup-1506@ausone.local> <1237756617-sup-7606@entry>
1787 Message-ID: <1237803829-sup-8994@ausone.inria.fr>
1788
1789 Excerpts from William Morgan's message of Sun Mar 22 22:21:46 +0100 2009:
1790 > Reformatted excerpts from nicolas.pouillard's message of 2009-03-18:
1791 > > This patch conflict with the undo feature, I've locally resolved the
1792 > > merge. However I don't really know what the best way to share the
1793 > > conflict resolution.
1794 >
1795 > That's a good question. For some reason git format-patch doesn't produce
1796 > anything for merge commits, even if they contain conflict resolution
1797 > changes. Maybe it's for a good reason; I don't know.
1798 >
1799 > But you can use git diff. After merging and resolving the conflict, if
1800 > you do "git diff HEAD^", that should output the conflict-resolution
1801 > changes. You can send that to me and I can use it to replicate the
1802 > commit.
1803
1804 I've applied the resolution in a local branch, a attach to patches.
1805 The first is done with 'git diff' before commit the conflict resolution.
1806 The second is done with 'git diff HEAD^' just after.
1807
1808 --
1809 Nicolas Pouillard
1810 -------------- next part --------------
1811 A non-text attachment was scrubbed...
1812 Name: undo+multi_edit_labels+remove.patch
1813 Type: application/octet-stream
1814 Size: 1901 bytes
1815 Desc: not available
1816 URL: <http://rubyforge.org/pipermail/sup-talk/attachments/20090323/aa8a4b3b/attachment.obj>
1817 -------------- next part --------------
1818 A non-text attachment was scrubbed...
1819 Name: undo+multi_edit_labels+remove2.patch
1820 Type: application/octet-stream
1821 Size: 1861 bytes
1822 Desc: not available
1823 URL: <http://rubyforge.org/pipermail/sup-talk/attachments/20090323/aa8a4b3b/attachment-0001.obj>
1824
1825 From wmorgan-sup@masanjin.net Mon Mar 23 08:20:29 2009
1826 From: wmorgan-sup@masanjin.net (William Morgan)
1827 Date: Mon, 23 Mar 2009 05:20:29 -0700
1828 Subject: [sup-talk] proxy settings
1829 In-Reply-To: <1231428609-sup-582@tangerine.lanl.gov>
1830 References: <1231428609-sup-582@tangerine.lanl.gov>
1831 Message-ID: <1237810728-sup-1590@entry>
1832
1833 Reformatted excerpts from John Bent's message of 2009-01-08:
1834 > My work place has instituted a new proxy system and since then I've
1835 > been unable to use either git or gem (I'm using 0.5 still). Does
1836 > anyone please know any way around this? Is sup also available as a
1837 > tarball somewhere perhaps?
1838
1839 Does it work if you use http access to the repo?
1840
1841 git clone http://git.gitorious.org/sup/mainline.git
1842
1843 --
1844 William <wmorgan-sup at masanjin.net>
1845
1846 From wmorgan-sup@masanjin.net Mon Mar 23 10:43:09 2009
1847 From: wmorgan-sup@masanjin.net (William Morgan)
1848 Date: Mon, 23 Mar 2009 07:43:09 -0700
1849 Subject: [sup-talk] sup 0.7 package
1850 Message-ID: <1237819206-sup-8258@entry>
1851
1852 Since I have a sordid history of mispackaging things, and since I've
1853 switched the release process away from Hoe entirely, I thought I'd give
1854 you guys a chance to try out the 0.7 package before I upload it to
1855 Rubyforge.
1856
1857 If you
1858 gem install sup --source http://masanjin.net/
1859 you should get the 0.7 release of Sup. Please give it a shot and let me
1860 know if anything obvious is broken.
1861 --
1862 William <wmorgan-sup at masanjin.net>
1863
1864 From wmorgan-sup@masanjin.net Mon Mar 23 10:49:13 2009
1865 From: wmorgan-sup@masanjin.net (William Morgan)
1866 Date: Mon, 23 Mar 2009 07:49:13 -0700
1867 Subject: [sup-talk] [PATCH] Allow multi_edit_labels to remove labels
1868 using -lab (the "; l" key binding)
1869 In-Reply-To: <1237803829-sup-8994@ausone.inria.fr>
1870 References: <1237228536-sup-7811@ausone.local>
1871 <1237390328-sup-1506@ausone.local> <1237756617-sup-7606@entry>
1872 <1237803829-sup-8994@ausone.inria.fr>
1873 Message-ID: <1237819702-sup-964@entry>
1874
1875 Reformatted excerpts from nicolas.pouillard's message of 2009-03-23:
1876 > I've applied the resolution in a local branch, a attach to patches.
1877 > The first is done with 'git diff' before commit the conflict resolution.
1878 > The second is done with 'git diff HEAD^' just after.
1879
1880 Only the second patch was really necessary. But thanks, it worked!
1881
1882 I've applied this patch on a branch called multi-remove-labels and it's
1883 been merged into next.
1884 --
1885 William <wmorgan-sup at masanjin.net>
1886
1887 From wmorgan-sup@masanjin.net Mon Mar 23 10:51:38 2009
1888 From: wmorgan-sup@masanjin.net (William Morgan)
1889 Date: Mon, 23 Mar 2009 07:51:38 -0700
1890 Subject: [sup-talk] [PATCH] Buffer switching,
1891 'bn' for the next one and 'bp' for the previous
1892 In-Reply-To: <1237228583-sup-7694@ausone.local>
1893 References: <1227194855-12300-1-git-send-email-nicolas.pouillard@gmail.com>
1894 <1237228583-sup-7694@ausone.local>
1895 Message-ID: <1237819889-sup-833@entry>
1896
1897 Branch roll-buffers, merged into next.
1898 --
1899 William <wmorgan-sup at masanjin.net>
1900
1901 From wmorgan-sup@masanjin.net Mon Mar 23 10:54:08 2009
1902 From: wmorgan-sup@masanjin.net (William Morgan)
1903 Date: Mon, 23 Mar 2009 07:54:08 -0700
1904 Subject: [sup-talk] [PATCH] Fix a bug in sup-tweak-label when multiple
1905 sources are given.
1906 In-Reply-To: <1237228863-sup-2359@ausone.local>
1907 References: <1237228863-sup-2359@ausone.local>
1908 Message-ID: <1237820038-sup-1673@entry>
1909
1910 Applied directly to master, thanks!
1911 --
1912 William <wmorgan-sup at masanjin.net>
1913
1914 From wmorgan-sup@masanjin.net Mon Mar 23 10:57:14 2009
1915 From: wmorgan-sup@masanjin.net (William Morgan)
1916 Date: Mon, 23 Mar 2009 07:57:14 -0700
1917 Subject: [sup-talk] [PATCH] decoding: handle more misspellings,
1918 in particular ISO-8859-15
1919 In-Reply-To: <1237229771-sup-9316@ausone.local>
1920 References: <1237229771-sup-9316@ausone.local>
1921 Message-ID: <1237820223-sup-8741@entry>
1922
1923 Thanks! Branch encoding-misspellings, merged into next.
1924 --
1925 William <wmorgan-sup at masanjin.net>
1926
1927 From wmorgan-sup@masanjin.net Mon Mar 23 11:12:55 2009
1928 From: wmorgan-sup@masanjin.net (William Morgan)
1929 Date: Mon, 23 Mar 2009 08:12:55 -0700
1930 Subject: [sup-talk] Patch for using default colors
1931 In-Reply-To: <a412e2a70903210557g7587c6fh62b2afb6e4731e9a@mail.gmail.com>
1932 References: <a412e2a70903210557g7587c6fh62b2afb6e4731e9a@mail.gmail.com>
1933 Message-ID: <1237821007-sup-7059@entry>
1934
1935 Reformatted excerpts from Mark Alexander's message of 2009-03-21:
1936 > I noticed that sup wasn't using my terminal's default colors when
1937 > displaying the text of a message. Instead of the expected black on
1938 > light-yellow (my defaults), it was using white on black.
1939
1940 Thanks for the patch. I've started a topic branch called default-colors.
1941 Currently using this patch makes Sup look crazy for me, so I haven't
1942 merged it into next.
1943
1944 I think the problem is the Sup is setting the background color to be
1945 black. Parts of the screen have the "ncurses default" and parts of it
1946 have black. I do think it's a step in the right direction though.
1947
1948 > I also see a message in the mailing list archives from Jan 29 titled
1949 > "When using 'default' in colors.yaml or colormap.rb, sup throws an
1950 > exception" that seems to describe the same problem.
1951
1952 This is a different problem, having to do with Sup's notion of a default
1953 color. From what I recall it was a YAML issue or something.
1954 --
1955 William <wmorgan-sup at masanjin.net>
1956
1957 From nicolas.pouillard@gmail.com Mon Mar 23 11:18:15 2009
1958 From: nicolas.pouillard@gmail.com (Nicolas Pouillard)
1959 Date: Mon, 23 Mar 2009 16:18:15 +0100
1960 Subject: [sup-talk] [PATCH] Allow multi_edit_labels to remove labels
1961 using -lab (the "; l" key binding)
1962 In-Reply-To: <1237819702-sup-964@entry>
1963 References: <1237228536-sup-7811@ausone.local>
1964 <1237390328-sup-1506@ausone.local> <1237756617-sup-7606@entry>
1965 <1237803829-sup-8994@ausone.inria.fr> <1237819702-sup-964@entry>
1966 Message-ID: <1237821480-sup-8013@ausone.inria.fr>
1967
1968 Excerpts from William Morgan's message of Mon Mar 23 15:49:13 +0100 2009:
1969 > Reformatted excerpts from nicolas.pouillard's message of 2009-03-23:
1970 > > I've applied the resolution in a local branch, a attach to patches.
1971 > > The first is done with 'git diff' before commit the conflict resolution.
1972 > > The second is done with 'git diff HEAD^' just after.
1973 >
1974 > Only the second patch was really necessary. But thanks, it worked!
1975 >
1976 > I've applied this patch on a branch called multi-remove-labels and it's
1977 > been merged into next.
1978
1979 Great
1980
1981 --
1982 Nicolas Pouillard
1983
1984 From wmorgan-sup@masanjin.net Mon Mar 23 11:25:05 2009
1985 From: wmorgan-sup@masanjin.net (William Morgan)
1986 Date: Mon, 23 Mar 2009 08:25:05 -0700
1987 Subject: [sup-talk] Patch for using default colors
1988 In-Reply-To: <1237821007-sup-7059@entry>
1989 References: <a412e2a70903210557g7587c6fh62b2afb6e4731e9a@mail.gmail.com>
1990 <1237821007-sup-7059@entry>
1991 Message-ID: <1237821821-sup-2056@entry>
1992
1993 Reformatted excerpts from William Morgan's message of 2009-03-23:
1994 > This is a different problem, having to do with Sup's notion of a
1995 > default color. From what I recall it was a YAML issue or something.
1996
1997 Nope, I was misremembering. You were right on the money---that was a
1998 related bug. In fact, it contained the other half of the solution.
1999
2000 I've merged default-colors into next. Give it a shot.
2001 --
2002 William <wmorgan-sup at masanjin.net>
2003
2004 From nicolas.pouillard@gmail.com Mon Mar 23 11:45:55 2009
2005 From: nicolas.pouillard@gmail.com (Nicolas Pouillard)
2006 Date: Mon, 23 Mar 2009 16:45:55 +0100
2007 Subject: [sup-talk] The recent patch "redraw screen upon sigwinch"
2008 Message-ID: <1237822979-sup-3515@ausone.inria.fr>
2009
2010 Hi,
2011
2012 I just pulled 'next' and I got a problem with this patch. I run sup in a
2013 screen and pull that screen through ssh on another machine with another
2014 screen device. With this patch sup seems blocked, CTRL-C unfreeze it,
2015 I answer no to the question, and then I can't do a CTRL-L.
2016
2017 I've locally reverted this patch.
2018
2019 Best regards,
2020
2021
2022 --
2023 Nicolas Pouillard
2024
2025 From wmorgan-sup@masanjin.net Mon Mar 23 12:25:40 2009
2026 From: wmorgan-sup@masanjin.net (William Morgan)
2027 Date: Mon, 23 Mar 2009 09:25:40 -0700
2028 Subject: [sup-talk] The recent patch "redraw screen upon sigwinch"
2029 In-Reply-To: <1237822979-sup-3515@ausone.inria.fr>
2030 References: <1237822979-sup-3515@ausone.inria.fr>
2031 Message-ID: <1237825275-sup-6509@entry>
2032
2033 Reformatted excerpts from nicolas.pouillard's message of 2009-03-23:
2034 > I just pulled 'next' and I got a problem with this patch. I run sup in
2035 > a screen and pull that screen through ssh on another machine with
2036 > another screen device. With this patch sup seems blocked, CTRL-C
2037 > unfreeze it, I answer no to the question, and then I can't do a
2038 > CTRL-L.
2039
2040 Yeah, I have the same behavior. I thought I had tested this but I guess
2041 not. I've reverted the branch and remerged into next.
2042 --
2043 William <wmorgan-sup at masanjin.net>
2044
2045 From marka@pobox.com Mon Mar 23 12:34:51 2009
2046 From: marka@pobox.com (Mark Alexander)
2047 Date: Mon, 23 Mar 2009 09:34:51 -0700
2048 Subject: [sup-talk] Patch for using default colors
2049 In-Reply-To: <1237821007-sup-7059@entry>
2050 References: <a412e2a70903210557g7587c6fh62b2afb6e4731e9a@mail.gmail.com>
2051 <1237821007-sup-7059@entry>
2052 Message-ID: <1237825823-sup-3035@r50p>
2053
2054 Excerpts from William Morgan's message of Mon Mar 23 08:12:55 -0700 2009:
2055 > Reformatted excerpts from Mark Alexander's message of 2009-03-21:
2056 > > I noticed that sup wasn't using my terminal's default colors when
2057 > > displaying the text of a message. Instead of the expected black on
2058 > > light-yellow (my defaults), it was using white on black.
2059 >
2060 > Thanks for the patch. I've started a topic branch called default-colors.
2061 > Currently using this patch makes Sup look crazy for me, so I haven't
2062 > merged it into next.
2063
2064 I half-expected it would look bad for you. I may be seeing the same
2065 thing, but without defining it as "crazy" :-) . For example, when
2066 viewing a short message, I see the text of the message in the proper
2067 default colors. But the blank space below it is all black. I can
2068 live with that, but it's clearly not ideal.
2069
2070 From marka@pobox.com Tue Mar 24 15:45:28 2009
2071 From: marka@pobox.com (Mark Alexander)
2072 Date: Tue, 24 Mar 2009 12:45:28 -0700
2073 Subject: [sup-talk] Piping multiple messages
2074 Message-ID: <a412e2a70903241245s20144fd2uec3ccfc84a6b8da5@mail.gmail.com>
2075
2076 Sup has been stable enough that I've pretty much abandoned mutt,
2077 except for one really useful feature it has: the ability to pipe
2078 multiple (tagged) messages to a single pipe. I use this every day to
2079 run cron job messages from nightly tests into a script that produces
2080 pretty summaries. I know, I could get really fancy and try to do this
2081 with procmail, but I need to cut and paste the summaries manually into
2082 a web page.
2083
2084 I was thinking about how to add this feature to sup, and am not sure
2085 what it should look like to the user. There are two ways I can think of:
2086
2087 One way is to tag multiple threads, compress them into a single thread
2088 using '#', open the thread, then use a new a "pipe entire thread"
2089 command.
2090
2091 A simpler way for the user, but perhaps harder to implement, would be
2092 to tag the threads as before, and then use a new "pipe
2093 all tagged threads" command. Unfortunately, the '|' command
2094 at the thread-index level already means "modify search".
2095
2096 Thoughts? Am I the only person in the world who uses this
2097 obscure mutt feature? :-)
2098
2099 From wmorgan-sup@masanjin.net Tue Mar 24 17:01:44 2009
2100 From: wmorgan-sup@masanjin.net (William Morgan)
2101 Date: Tue, 24 Mar 2009 14:01:44 -0700
2102 Subject: [sup-talk] Piping multiple messages
2103 In-Reply-To: <a412e2a70903241245s20144fd2uec3ccfc84a6b8da5@mail.gmail.com>
2104 References: <a412e2a70903241245s20144fd2uec3ccfc84a6b8da5@mail.gmail.com>
2105 Message-ID: <1237927869-sup-4016@entry>
2106
2107 Reformatted excerpts from Mark Alexander's message of 2009-03-24:
2108 > Sup has been stable enough that I've pretty much abandoned mutt,
2109
2110 Awesome to hear.
2111
2112 > A simpler way for the user, but perhaps harder to implement, would be
2113 > to tag the threads as before, and then use a new "pipe all tagged
2114 > threads" command. Unfortunately, the '|' command at the thread-index
2115 > level already means "modify search".
2116
2117 This is the way to go. No need to play around with the thread structure.
2118 We already individual message piping in thread-view-mode, so adding it
2119 to thread-index-mode shouldn't be hard.
2120
2121 The keyboard command is a bit unfortunate though.
2122
2123 How many people actually use "|" to modify a search?
2124 --
2125 William <wmorgan-sup at masanjin.net>
2126
2127 From marka@pobox.com Tue Mar 24 18:21:10 2009
2128 From: marka@pobox.com (Mark Alexander)
2129 Date: Tue, 24 Mar 2009 15:21:10 -0700
2130 Subject: [sup-talk] Configurable SIG_PATTERN?
2131 Message-ID: <a412e2a70903241521u726dc83ajdb75c967bee2fb44@mail.gmail.com>
2132
2133 Here's another little feature I'd like to see (and
2134 maybe implement when I get the time):
2135
2136 I get a lot of automated messages from Bugzilla
2137 at work, full of long lines of dashes separating
2138 blocks of text. Sup has been interpreting
2139 these blocks as signatures when they're within
2140 15 (MAX_SIG_DISTANCE) lines from the end of the
2141 message. So I hacked the SIG_PATTERN so that
2142 only the first regexp is used. This is probably
2143 wrong for many users, though.
2144
2145 I was thinking it might be nice to have
2146 both SIG_PATTERN and MAX_SIG_DISTANCE settable
2147 in config.yaml. Does this make sense?
2148
2149 From johnbent@lanl.gov Tue Mar 24 19:36:05 2009
2150 From: johnbent@lanl.gov (John Bent)
2151 Date: Tue, 24 Mar 2009 17:36:05 -0600
2152 Subject: [sup-talk] Configurable SIG_PATTERN?
2153 In-Reply-To: <a412e2a70903241521u726dc83ajdb75c967bee2fb44@mail.gmail.com>
2154 References: <a412e2a70903241521u726dc83ajdb75c967bee2fb44@mail.gmail.com>
2155 Message-ID: <1237937711-sup-1156@tangerine.lanl.gov>
2156
2157 Excerpts from Mark Alexander's message of Tue Mar 24 16:21:10 -0600 2009:
2158 > Here's another little feature I'd like to see (and
2159 > maybe implement when I get the time):
2160 >
2161 > I get a lot of automated messages from Bugzilla
2162 > at work, full of long lines of dashes separating
2163 > blocks of text. Sup has been interpreting
2164 > these blocks as signatures when they're within
2165 > 15 (MAX_SIG_DISTANCE) lines from the end of the
2166 > message. So I hacked the SIG_PATTERN so that
2167 > only the first regexp is used. This is probably
2168 > wrong for many users, though.
2169 >
2170 > I was thinking it might be nice to have
2171 > both SIG_PATTERN and MAX_SIG_DISTANCE settable
2172 > in config.yaml. Does this make sense?
2173 >
2174 Makes sense to me. Sounds like even better would be if it was
2175 configurable on a per-label or mailing list basis.
2176
2177 John
2178
2179 From johnbent@lanl.gov Tue Mar 24 19:43:25 2009
2180 From: johnbent@lanl.gov (John Bent)
2181 Date: Tue, 24 Mar 2009 17:43:25 -0600
2182 Subject: [sup-talk] bounce feature
2183 Message-ID: <1237938120-sup-2351@tangerine.lanl.gov>
2184
2185 Some of the recent emails got me remembering the only thing I miss about
2186 pine: bounce. It was like forward but for the base case when you didn't
2187 want to edit the message at all. Forward works OK, but it's about 4-5
2188 extra keystrokes.
2189
2190 From wmorgan-sup@masanjin.net Tue Mar 24 22:37:16 2009
2191 From: wmorgan-sup@masanjin.net (William Morgan)
2192 Date: Tue, 24 Mar 2009 19:37:16 -0700
2193 Subject: [sup-talk] bounce feature
2194 In-Reply-To: <1237938120-sup-2351@tangerine.lanl.gov>
2195 References: <1237938120-sup-2351@tangerine.lanl.gov>
2196 Message-ID: <1237948579-sup-3742@entry>
2197
2198 Reformatted excerpts from John Bent's message of 2009-03-24:
2199 > Some of the recent emails got me remembering the only thing I miss
2200 > about pine: bounce. It was like forward but for the base case when
2201 > you didn't want to edit the message at all. Forward works OK, but
2202 > it's about 4-5 extra keystrokes.
2203
2204 Not quite the same as bounce, but D in thread-view-mode will edit the
2205 message as a new one. Bounce preserves the original sender, and this one
2206 rewrites it, but if anything this is more like forward than bounce is.
2207 --
2208 William <wmorgan-sup at masanjin.net>
2209
2210 From nicolas.pouillard@gmail.com Wed Mar 25 04:58:48 2009
2211 From: nicolas.pouillard@gmail.com (Nicolas Pouillard)
2212 Date: Wed, 25 Mar 2009 09:58:48 +0100
2213 Subject: [sup-talk] Piping multiple messages
2214 In-Reply-To: <1237927869-sup-4016@entry>
2215 References: <a412e2a70903241245s20144fd2uec3ccfc84a6b8da5@mail.gmail.com>
2216 <1237927869-sup-4016@entry>
2217 Message-ID: <1237971313-sup-4247@ausone.local>
2218
2219 Excerpts from William Morgan's message of Tue Mar 24 22:01:44 +0100 2009:
2220 > Reformatted excerpts from Mark Alexander's message of 2009-03-24:
2221 > > Sup has been stable enough that I've pretty much abandoned mutt,
2222 >
2223 > Awesome to hear.
2224 >
2225 > > A simpler way for the user, but perhaps harder to implement, would be
2226 > > to tag the threads as before, and then use a new "pipe all tagged
2227 > > threads" command. Unfortunately, the '|' command at the thread-index
2228 > > level already means "modify search".
2229 >
2230 > This is the way to go. No need to play around with the thread structure.
2231 > We already individual message piping in thread-view-mode, so adding it
2232 > to thread-index-mode shouldn't be hard.
2233 >
2234 > The keyboard command is a bit unfortunate though.
2235 >
2236 > How many people actually use "|" to modify a search?
2237
2238 That's fine to keep '|' for piping, but we need another key for modify a
2239 search.
2240
2241 Maybe one should add a submap of keys doing advanced search things.
2242
2243 --
2244 Nicolas Pouillard
2245
2246 From vasudeva@linkswarm.com Wed Mar 25 07:11:51 2009
2247 From: vasudeva@linkswarm.com (vasudeva)
2248 Date: Wed, 25 Mar 2009 07:11:51 -0400
2249 Subject: [sup-talk] Piping multiple messages
2250 In-Reply-To: <1237971313-sup-4247@ausone.local>
2251 References: <a412e2a70903241245s20144fd2uec3ccfc84a6b8da5@mail.gmail.com>
2252 <1237927869-sup-4016@entry> <1237971313-sup-4247@ausone.local>
2253 Message-ID: <1237979385-sup-6382@lenin>
2254
2255 Excerpts from Nicolas Pouillard's message of Wed Mar 25 04:58:48 -0400 2009:
2256 > Excerpts from William Morgan's message of Tue Mar 24 22:01:44 +0100 2009:
2257 > > How many people actually use "|" to modify a search?
2258 >
2259 > That's fine to keep '|' for piping, but we need another key for modify a
2260 > search.
2261
2262 To be honest, I didn't even know that keystroke existed, and I've been
2263 using sup every day as my primary client for probably a year+. I don't
2264 see it documented anywhere now that I look. Is there a way to have found
2265 out about this (and other items) without reading each patch?
2266 --
2267 linkswarm.com :: Collaborative Insolence
2268 vasudeva.linkswarm.com/gallery :: For The Faint of Heart
2269
2270
2271 From nicolas.pouillard@gmail.com Wed Mar 25 08:20:56 2009
2272 From: nicolas.pouillard@gmail.com (Nicolas Pouillard)
2273 Date: Wed, 25 Mar 2009 13:20:56 +0100
2274 Subject: [sup-talk] Piping multiple messages
2275 In-Reply-To: <1237979385-sup-6382@lenin>
2276 References: <a412e2a70903241245s20144fd2uec3ccfc84a6b8da5@mail.gmail.com>
2277 <1237927869-sup-4016@entry> <1237971313-sup-4247@ausone.local>
2278 <1237979385-sup-6382@lenin>
2279 Message-ID: <1237983576-sup-4691@ausone.local>
2280
2281 Excerpts from vasudeva's message of Wed Mar 25 12:11:51 +0100 2009:
2282 > Excerpts from Nicolas Pouillard's message of Wed Mar 25 04:58:48 -0400 2009:
2283 > > Excerpts from William Morgan's message of Tue Mar 24 22:01:44 +0100 2009:
2284 > > > How many people actually use "|" to modify a search?
2285 > >
2286 > > That's fine to keep '|' for piping, but we need another key for modify a
2287 > > search.
2288 >
2289 > To be honest, I didn't even know that keystroke existed, and I've been
2290 > using sup every day as my primary client for probably a year+. I don't
2291 > see it documented anywhere now that I look. Is there a way to have found
2292 > out about this (and other items) without reading each patch?
2293
2294 After searching something '\something<enter>', if you type '?' you will
2295 see the description of '|'.
2296
2297 --
2298 Nicolas Pouillard
2299
2300 From wmorgan-sup@masanjin.net Wed Mar 25 08:33:11 2009
2301 From: wmorgan-sup@masanjin.net (William Morgan)
2302 Date: Wed, 25 Mar 2009 05:33:11 -0700
2303 Subject: [sup-talk] When using "default" in colors.yaml or colormap.rb,
2304 sup throws an exception
2305 In-Reply-To: <dac0accd0901291345v5d811e87x10316ee886bc7752@mail.gmail.com>
2306 References: <dac0accd0901291345v5d811e87x10316ee886bc7752@mail.gmail.com>
2307 Message-ID: <1237984368-sup-1706@entry>
2308
2309 Reformatted excerpts from Chris Benuzzi's message of 2009-01-29:
2310 > I'm using a transparent terminal and would like to get sup's
2311 > background color set to "default".
2312
2313 This should be fixed in git next. Check it out.
2314 --
2315 William <wmorgan-sup at masanjin.net>
2316
2317 From ingmar@exherbo.org Wed Mar 25 09:56:07 2009
2318 From: ingmar@exherbo.org (Ingmar Vanhassel)
2319 Date: Wed, 25 Mar 2009 13:56:07 +0000
2320 Subject: [sup-talk] [PATCH 2/2] Initial zsh completion.
2321 In-Reply-To: <1237989367-21630-1-git-send-email-ingmar@exherbo.org>
2322 References: <1237989367-21630-1-git-send-email-ingmar@exherbo.org>
2323 Message-ID: <1237989367-21630-2-git-send-email-ingmar@exherbo.org>
2324
2325 ---
2326 contrib/completion/_sup.zsh | 114 +++++++++++++++++++++++++++++++++++++++++++
2327 1 files changed, 114 insertions(+), 0 deletions(-)
2328 create mode 100644 contrib/completion/_sup.zsh
2329
2330 diff --git a/contrib/completion/_sup.zsh b/contrib/completion/_sup.zsh
2331 new file mode 100644
2332 index 0000000..76870ca
2333 --- /dev/null
2334 +++ b/contrib/completion/_sup.zsh
2335 @@ -0,0 +1,114 @@
2336 +#compdef sup sup-add sup-config sup-dump sup-sync sup-sync-back sup-tweak-labels sup-recover-sources
2337 +# vim: set et sw=2 sts=2 ts=2 ft=zsh :
2338 +
2339 +# TODO: sources completion: maildir://some/dir, mbox://some/file, ...
2340 +# for sup-add, sup-sync, sup-sync-back, sup-tweak-labels
2341 +
2342 +(( ${+functions[_sup_cmd]} )) ||
2343 +_sup_cmd()
2344 +{
2345 + _arguments -s : \
2346 + "(--list-hooks -l)"{--list-hooks,-l}"[list all hooks and descriptions, and quit]" \
2347 + "(--no-threads -n)"{--no-threads,-n}"[turn off threading]" \
2348 + "(--no-initial-poll -o)"{--no-initial-poll,-o}"[Don't poll for new messages when starting]" \
2349 + "(--search -s)"{--search,-s}"[search for this query upon startup]:Query: " \
2350 + "(--compose -c)"{--compose,-c}"[compose message to this recipient upon startup]:Email: " \
2351 + "--version[show version information]" \
2352 + "(--help -h)"{--help,-h}"[show help]"
2353 +}
2354 +
2355 +(( ${+functions[_sup_add_cmd]} )) ||
2356 +_sup_add_cmd()
2357 +{
2358 + _arguments -s : \
2359 + "(--archive -a)"{--archive,-a}"[automatically archive all new messages from this source]" \
2360 + "(--unusual -u)"{--unusual,-u}"[do not automatically poll for new messages from this source]" \
2361 + "(--labels -l)"{--labels,-l}"[set of labels to apply to all messages from this source]:Labels: " \
2362 + "(--force-new -f)"{--force-new,-f}"[create a new account for this source, even if one already exists]" \
2363 + "--version[show version information]" \
2364 + "(--help -h)"{--help,-h}"[show help]"
2365 +}
2366 +
2367 +(( ${+functions[_sup_config_cmd]} )) ||
2368 +_sup_config_cmd()
2369 +{
2370 + _arguments -s : \
2371 + "--version[show version information]" \
2372 + "(--help -h)"{--help,-h}"[show help]"
2373 +}
2374 +
2375 +(( ${+functions[_sup_dump_cmd]} )) ||
2376 +_sup_dump_cmd()
2377 +{
2378 + _arguments -s : \
2379 + "--version[show version information]" \
2380 + "(--help -h)"{--help,-h}"[show help]"
2381 +}
2382 +
2383 +(( ${+functions[_sup_recover_sources_cmd]} )) ||
2384 +_sup_recover_sources_cmd()
2385 +{
2386 + _arguments -s : \
2387 + "--archive[automatically archive all new messages from this source]" \
2388 + "--scan-num[number of messages to scan per source]:" \
2389 + "--unusual[do not automatically poll for new messages from this source]" \
2390 + "(--help -h)"{--help,-h}"[show help]"
2391 +}
2392 +
2393 +(( ${+functions[_sup_sync_cmd]} )) ||
2394 +_sup_sync_cmd()
2395 +{
2396 + # XXX Add only when --restore is given: (--restored -r)
2397 + # Add only when --changed or--all are given: (--start-at -s)
2398 + _arguments -s : \
2399 + "--new[operate on new messages only]" \
2400 + "(--changed -c)"{--changed,-c}"[scan over the entire source for messages that have been deleted, altered, or moved from another source]" \
2401 + "(--restored -r)"{--restored,-r}"[operate only on those messages included in a dump file as specified by --restore which have changed state]" \
2402 + "(--all -a)"{--all,-a}"[operate on all messages in the source, regardless of newness or changedness]" \
2403 + "(--start-at -s)"{--start-at,-s}"[start at a particular offset]:Offset: " \
2404 + "--asis[if the message is already in the index, preserve its state, otherwise, use default source state]" \
2405 + "--restore[restore message state from a dump file created with sup-dump]:File:_file" \
2406 + "--discard[discard any message state in the index and use the default source state]" \
2407 + "(--archive -x)"{--archive,-x}"[mark messages as archived when using the default source state]" \
2408 + "(--read -e)"{--read,-e}"[mark messages as read when using the default source state]" \
2409 + "--extra-labels[apply these labels when using the default source state]:Labels: " \
2410 + "(--verbose -v)"{--verbose,-v}"[print message ids as they're processed]" \
2411 + "(--optimize -o)"{--optimize,-o}"[as the final operation, optimize the index]" \
2412 + "--all-sources[scan over all sources]" \
2413 + "(--dry-run -n)"{--dry-run,-n}"[don't actually modify the index]" \
2414 + "--version[show version information]" \
2415 + "(--help -h)"{--help,-h}"[show help]"
2416 +}
2417 +
2418 +(( ${+functions[_sup_sync_back_cmd]} )) ||
2419 +_sup_sync_back_cmd()
2420 +{
2421 + _arguments -s : \
2422 + "(--drop-deleted -d)"{--drop-deleted,-d}"[drop deleted messages]" \
2423 + "--move-deleted[move deleted messages to a local mbox file]:File:_file" \
2424 + "(--drop-spam -s)"{--drop-spam,-s}"[drop spam messages]" \
2425 + "--move-spam[move spam messages to a local mbox file]:File:_file" \
2426 + "--with-dotlockfile[specific dotlockfile location (mbox files only)]:File:_file" \
2427 + "--dont-use-dotlockfile[don't use dotlockfile to lock mbox files]" \
2428 + "(--verbose -v)"{--verbose,-v}"[print message ids as they're processed]" \
2429 + "(--dry-run -n)"{--dry-run,-n}"[don't actually modify the index]" \
2430 + "--version[show version information]" \
2431 + "(--help -h)"{--help,-h}"[show help]"
2432 +}
2433 +
2434 +(( ${+functions[_sup_tweak_labels_cmd]} )) ||
2435 +_sup_tweak_labels_cmd()
2436 +{
2437 + _arguments -s : \
2438 + "(--add -a)"{--add,-a}"[which labels to add to every message from the specified sources]:Labels: " \
2439 + "(--remove -r)"{--remove,-r}"[which labels to remove from every message from the specified sources]:Labels: " \
2440 + "--all-sources[scan over all sources]" \
2441 + "(--verbose -v)"{--verbose,-v}"[print message ids as they're processed]" \
2442 + "(--dry-run -n)"{--dry-run,-n}"[don't actually modify the index]" \
2443 + "--version[show version information]" \
2444 + "(--help -h)"{--help,-h}"[show help]"
2445 +}
2446 +
2447 +_call_function ret _${words[1]//-/_}_cmd
2448 +return ret
2449 +
2450 --
2451 1.6.2.1
2452
2453
2454 From ingmar@exherbo.org Wed Mar 25 09:56:06 2009
2455 From: ingmar@exherbo.org (Ingmar Vanhassel)
2456 Date: Wed, 25 Mar 2009 13:56:06 +0000
2457 Subject: [sup-talk] [PATCH 1/2] Use a valid version ('999') for gems built
2458 from git
2459 Message-ID: <1237989367-21630-1-git-send-email-ingmar@exherbo.org>
2460
2461 See ed12112f, where the same was done in the Rakefile
2462 ---
2463 sup.gemspec | 2 +-
2464 1 files changed, 1 insertions(+), 1 deletions(-)
2465
2466 diff --git a/sup.gemspec b/sup.gemspec
2467 index 71b79ed..4341448 100644
2468 --- a/sup.gemspec
2469 +++ b/sup.gemspec
2470 @@ -9,7 +9,7 @@ FILES = EXTRA_FILES + EXECUTABLES.map { |f| "bin/#{f}" } + LIB_DIRS.map { |d| Di
2471
2472 Gem::Specification.new do |s|
2473 s.name = %q{sup}
2474 - s.version = Redwood::VERSION
2475 + s.version = Redwood::VERSION == "git" ? "999" : Redwood::VERSION
2476 s.date = Time.now.to_s
2477 s.authors = ["William Morgan"]
2478 s.email = %q{wmorgan-sup at masanjin.net}
2479 --
2480 1.6.2.1
2481
2482
2483 From ingmar@exherbo.org Wed Mar 25 10:32:14 2009
2484 From: ingmar@exherbo.org (Ingmar Vanhassel)
2485 Date: Wed, 25 Mar 2009 14:32:14 +0000
2486 Subject: [sup-talk] [PATCH] Add lib/sup/undo.rb to Manifest.txt
2487 Message-ID: <20090325143214.GA21873@bach>
2488
2489 In-Reply-To: <1237482833-sup-8683 at entry>
2490
2491 I don't think this was pushed? It's not on next as far as I can see.
2492
2493 --
2494 Exherbo KDE, X.org maintainer
2495
2496 From wmorgan-sup@masanjin.net Wed Mar 25 10:37:46 2009
2497 From: wmorgan-sup@masanjin.net (William Morgan)
2498 Date: Wed, 25 Mar 2009 07:37:46 -0700
2499 Subject: [sup-talk] [PATCH 1/2] Use a valid version ('999') for gems
2500 built from git
2501 In-Reply-To: <1237989367-21630-1-git-send-email-ingmar@exherbo.org>
2502 References: <1237989367-21630-1-git-send-email-ingmar@exherbo.org>
2503 Message-ID: <1237991728-sup-1607@entry>
2504
2505 Funny, I just fixed this issue. LMK if it doesn't work for you.
2506 --
2507 William <wmorgan-sup at masanjin.net>
2508
2509 From wmorgan-sup@masanjin.net Wed Mar 25 10:38:04 2009
2510 From: wmorgan-sup@masanjin.net (William Morgan)
2511 Date: Wed, 25 Mar 2009 07:38:04 -0700
2512 Subject: [sup-talk] [PATCH 2/2] Initial zsh completion.
2513 In-Reply-To: <1237989367-21630-2-git-send-email-ingmar@exherbo.org>
2514 References: <1237989367-21630-1-git-send-email-ingmar@exherbo.org>
2515 <1237989367-21630-2-git-send-email-ingmar@exherbo.org>
2516 Message-ID: <1237991869-sup-5557@entry>
2517
2518 Thanks! Branch zsh-completion, merged into next.
2519 --
2520 William <wmorgan-sup at masanjin.net>
2521
2522 From wmorgan-sup@masanjin.net Wed Mar 25 10:44:46 2009
2523 From: wmorgan-sup@masanjin.net (William Morgan)
2524 Date: Wed, 25 Mar 2009 07:44:46 -0700
2525 Subject: [sup-talk] [PATCH] Add lib/sup/undo.rb to Manifest.txt
2526 In-Reply-To: <20090325143214.GA21873@bach>
2527 References: <20090325143214.GA21873@bach>
2528 Message-ID: <1237992263-sup-3846@entry>
2529
2530 Reformatted excerpts from Ingmar Vanhassel's message of 2009-03-25:
2531 > I don't think this was pushed? It's not on next as far as I can see.
2532
2533 Weird. Ok, fixed. Thanks!
2534 --
2535 William <wmorgan-sup at masanjin.net>
2536
2537 From ingmar@exherbo.org Wed Mar 25 10:50:40 2009
2538 From: ingmar@exherbo.org (Ingmar Vanhassel)
2539 Date: Wed, 25 Mar 2009 14:50:40 +0000
2540 Subject: [sup-talk] [PATCH] Add lib/sup/undo.rb to Manifest.txt
2541 In-Reply-To: <20090325143214.GA21873@bach>
2542 References: <20090325143214.GA21873@bach>
2543 Message-ID: <20090325145040.GA22238@bach>
2544
2545 On Wed, Mar 25, 2009 at 02:32:14PM +0000, Ingmar Vanhassel wrote:
2546 > In-Reply-To: <1237482833-sup-8683 at entry>
2547 >
2548 > I don't think this was pushed? It's not on next as far as I can see.
2549
2550 It is now, sorry for the noise. :)
2551
2552 --
2553 Exherbo KDE, X.org maintainer
2554
2555 From wmorgan-sup@masanjin.net Wed Mar 25 10:52:10 2009
2556 From: wmorgan-sup@masanjin.net (William Morgan)
2557 Date: Wed, 25 Mar 2009 07:52:10 -0700
2558 Subject: [sup-talk] Sup 0.7 released
2559 Message-ID: <1237992317-sup-1158@entry>
2560
2561 I'm happy to announce the release of Sup 0.7.
2562
2563 The big win in this release is that Ferret index corruption issues
2564 should now be fixed, thanks to an extensive programming of locking and
2565 thread-safety-adding.
2566
2567 The other nice change is that text entry will now scroll to the right
2568 upon overflow, thanks to some arcane Curses magic.
2569
2570 To get it: gem install sup, or visit http://sup.rubyforge.org.
2571
2572 What is it?
2573 -----------
2574
2575 Sup is a console-based email client for people with a lot of email.
2576 It supports tagging, very fast full-text search, automatic contact-
2577 list management, and more. If you're the type of person who treats
2578 email as an extension of your long-term memory, Sup is for you.
2579
2580 Sup makes it easy to:
2581 - Handle massive amounts of email.
2582
2583 - Mix email from different sources: mbox files (even across different
2584 machines), Maildir directories, IMAP folders, POP accounts, and
2585 GMail accounts.
2586
2587 - Instantaneously search over your entire email collection. Search
2588 over body text, or use a query language to combine search
2589 predicates in any way.
2590
2591 - Handle multiple accounts. Replying to email sent to a particular
2592 account will use the correct SMTP server, signature, and from
2593 address.
2594
2595 - Add custom code to handle certain types of messages or to handle
2596 certain types of text within messages.
2597
2598 - Organize email with user-defined labels, automatically track
2599 recent contacts, and much more!
2600
2601 The goal of Sup is to become the email client of choice for nerds
2602 everywhere.
2603
2604 Select changes in this release:
2605 -------------------------------
2606 * Ferret index corruption issues fixed
2607 * Text entry now scrolls to the right on overflow, i.e. is actually usable
2608 * Ctrl-C now asks user if Sup should die ungracefully
2609 * Add a limit:<int> search operator to limit the number of results
2610 * Added a --query option to sup-tweak-labels
2611 * Added a new hook: shutdown
2612 * Automatically add self as recipient on crypted sent messages
2613 * Read in X-Foo headers
2614 * Added global keybinding 'U' shows only unread messages
2615 * As always, many minor bugfixes and tweaks
2616 --
2617 William <wmorgan-sup at masanjin.net>
2618
2619 From wmorgan-sup@masanjin.net Wed Mar 25 12:00:35 2009
2620 From: wmorgan-sup@masanjin.net (William Morgan)
2621 Date: Wed, 25 Mar 2009 09:00:35 -0700
2622 Subject: [sup-talk] [PATCH] Remove the now useless PersonManager
2623 In-Reply-To: <1237228691-sup-735@ausone.local>
2624 References: <ea2d84848a9fed1fbceb3837aacf8bcf86bd0602.1227456947.git.nicolas.pouillard@gmail.com>
2625 <1237228691-sup-735@ausone.local>
2626 Message-ID: <1237996695-sup-8283@entry>
2627
2628 I've placed these two, and the previous patch about removing people.txt,
2629 on the branch dont-canonicalize-email-addresses, merged into next. I've
2630 added a couple commits that fix email parsing from the index, and that
2631 save the new email addresses to the index when saving an email. I think
2632 this is pretty close to fixing the problem.
2633
2634 I'm going to send out a summary of this issue and a couple other
2635 interesting bits of the next branch shortly.
2636 --
2637 William <wmorgan-sup at masanjin.net>
2638
2639 From wmorgan-sup@masanjin.net Wed Mar 25 12:02:24 2009
2640 From: wmorgan-sup@masanjin.net (William Morgan)
2641 Date: Wed, 25 Mar 2009 09:02:24 -0700
2642 Subject: [sup-talk] Patch for using default colors
2643 In-Reply-To: <1237825823-sup-3035@r50p>
2644 References: <a412e2a70903210557g7587c6fh62b2afb6e4731e9a@mail.gmail.com>
2645 <1237821007-sup-7059@entry> <1237825823-sup-3035@r50p>
2646 Message-ID: <1237996920-sup-6810@entry>
2647
2648 Reformatted excerpts from Mark Alexander's message of 2009-03-23:
2649 > I half-expected it would look bad for you. I may be seeing the same
2650 > thing, but without defining it as "crazy" :-) . For example, when
2651 > viewing a short message, I see the text of the message in the proper
2652 > default colors. But the blank space below it is all black. I can
2653 > live with that, but it's clearly not ideal.
2654
2655 This should be fixed in next. LMK if not.
2656 --
2657 William <wmorgan-sup at masanjin.net>
2658
2659 From wmorgan-sup@masanjin.net Wed Mar 25 12:30:04 2009
2660 From: wmorgan-sup@masanjin.net (William Morgan)
2661 Date: Wed, 25 Mar 2009 09:30:04 -0700
2662 Subject: [sup-talk] a couple highlights in next
2663 Message-ID: <1237996976-sup-379@entry>
2664
2665 Hi all,
2666
2667 Here's a summary of all the fun stuff that's currently merged into the
2668 next branch:
2669
2670 - zsh completion for sup commandline commands, thanks to Ingmar
2671 Vanhassel. (zsh-completion)
2672
2673 - Undo support for many commands, thanks to Mike Stipicevic.
2674 (undo-manager)
2675
2676 - You can now remove labels from multiple tagged threads, thanks to
2677 Nicolas Pouillard, using the syntax -label. (multi-remove-labels)
2678
2679 - Sup works on terminals with transparent backgrounds (and that's fixed
2680 copy-and-paste for me too!), thanks to Mark Alexander.
2681 (default-colors)
2682
2683 - Pressing 'b' now lets you roll buffers both forward and backward,
2684 also thanks to Nicolas Pouillard. (roll-buffers)
2685
2686 - Duplicate messages (including messages you send to a mailing list, and
2687 then receive a copy of) should now have their labels merged, except
2688 for unread and inbox labels. So if you automatically label messages
2689 from mailing lists via the before-add-hook, that should work better
2690 for you now. (merge-labels)
2691
2692 - Saving message state is now backgrounded, so pressing '$' after
2693 reading a big thread shouldn't interfere with your life. It still
2694 blocks when closing a buffer, though, so I have to make that work.
2695 (background-save)
2696
2697 - Email canonicalization, also thanks to Nicolas Pouillard. There's been
2698 a long-standing problem in Sup where names associated with email
2699 addresses are saved and reused. Unfortunately many automated systems
2700 like JIRA, evite, blogger, etc. will send you email on behalf of
2701 someone else, using the same email address but different names. The
2702 issue was compounded because Sup decided that longer names should
2703 always replace shorter ones, so receiving some spam claiming to be
2704 from your address but with a random name would have all sorts of crazy
2705 effects.
2706
2707 This should now be fixed. The mapping is no longer maintained.
2708 Addresses are still stored in the index, both for search purposes,
2709 and for thread-index-mode. (Otherwise thread-index-mode has to reread
2710 the headers from the message source, which is slow.) Once
2711 thread-view-mode is opened, the headers must be read from the source
2712 anyways, so the email address is updated to the correct version.
2713
2714 So, incoming new email should be fine. Sup will store whatever
2715 name is in the headers, and won't do any canonicalization.
2716
2717 For older email, you can update the index manually by viewing the
2718 message in thread-view-mode, and forcing Sup to re-save it, e.g.
2719 by changing the labels and then changing them back. Marking it as
2720 read, and then reading it, should do the trick, at least for read
2721 messages.
2722
2723 You can also make judicious use of sup-sync to do this for all
2724 messages in your index. (dont-canonicalize-email-addresses)
2725 --
2726 William <wmorgan-sup at masanjin.net>
2727
2728 From nicolas.pouillard@gmail.com Wed Mar 25 14:03:28 2009
2729 From: nicolas.pouillard@gmail.com (Nicolas Pouillard)
2730 Date: Wed, 25 Mar 2009 19:03:28 +0100
2731 Subject: [sup-talk] [PATCH] Remove the now useless PersonManager
2732 In-Reply-To: <1237996695-sup-8283@entry>
2733 References: <ea2d84848a9fed1fbceb3837aacf8bcf86bd0602.1227456947.git.nicolas.pouillard@gmail.com>
2734 <1237228691-sup-735@ausone.local> <1237996695-sup-8283@entry>
2735 Message-ID: <1238004157-sup-8443@ausone.local>
2736
2737 Excerpts from William Morgan's message of Wed Mar 25 17:00:35 +0100 2009:
2738 > I've placed these two, and the previous patch about removing people.txt,
2739 > on the branch dont-canonicalize-email-addresses, merged into next. I've
2740 > added a couple commits that fix email parsing from the index, and that
2741 > save the new email addresses to the index when saving an email. I think
2742 > this is pretty close to fixing the problem.
2743
2744 Great this set of patches was indeed somewhat half baked.
2745
2746 > I'm going to send out a summary of this issue and a couple other
2747 > interesting bits of the next branch shortly.
2748
2749 A lot of great stuffs!
2750
2751 --
2752 Nicolas Pouillard
2753
2754 From glasse@cs.rpi.edu Fri Mar 27 13:22:06 2009
2755 From: glasse@cs.rpi.edu (Ethan Glasser-Camp)
2756 Date: Fri, 27 Mar 2009 13:22:06 -0400
2757 Subject: [sup-talk] Config in VCS
2758 Message-ID: <49CD0B3E.9010002@cs.rpi.edu>
2759
2760 Hi, long time reader, first time caller.
2761
2762 Many years ago I used fetchmail+Mutt to handle my mail, but all my
2763 configuration was lost in a hard drive crash and I didn't have the
2764 energy to recreate it. So as I look at sup, I am judging how difficult
2765 it is to keep its configuration in a git repo (for easier replication
2766 and backup).
2767
2768 One problem I see is that sources.yaml contains both all the information
2769 about how to access a source, and its current state. I would like to
2770 keep the first in version control, and the second not. So I would like
2771 sources.yaml split into a sources.yaml and a sources-state.yaml; the
2772 first one would be the information about how to access the sources, and
2773 the second one would map source ID to its cur_offset.
2774
2775 What do you think?
2776
2777 Ethan
2778
2779 From nicolas.pouillard@gmail.com Sat Mar 28 06:03:40 2009
2780 From: nicolas.pouillard@gmail.com (Nicolas Pouillard)
2781 Date: Sat, 28 Mar 2009 11:03:40 +0100
2782 Subject: [sup-talk] Config in VCS
2783 In-Reply-To: <49CD0B3E.9010002@cs.rpi.edu>
2784 References: <49CD0B3E.9010002@cs.rpi.edu>
2785 Message-ID: <1238234052-sup-2032@ausone.home>
2786
2787 Excerpts from Ethan Glasser-Camp's message of Fri Mar 27 18:22:06 +0100 2009:
2788 > Hi, long time reader, first time caller.
2789 >
2790 > Many years ago I used fetchmail+Mutt to handle my mail, but all my
2791 > configuration was lost in a hard drive crash and I didn't have the
2792 > energy to recreate it. So as I look at sup, I am judging how difficult
2793 > it is to keep its configuration in a git repo (for easier replication
2794 > and backup).
2795 >
2796 > One problem I see is that sources.yaml contains both all the information
2797 > about how to access a source, and its current state. I would like to
2798 > keep the first in version control, and the second not. So I would like
2799 > sources.yaml split into a sources.yaml and a sources-state.yaml; the
2800 > first one would be the information about how to access the sources, and
2801 > the second one would map source ID to its cur_offset.
2802
2803 I keep my sup configuration including the whole sources.yaml file in a
2804 darcs repository. Even if the data was split in two files I would prefer
2805 to also save it.
2806
2807 About backups, I recommend sup users to make regular sup-dump's, not only
2808 because sup still have bugs but also because it's the only (meta)data
2809 needed to reconstruct your index.
2810
2811 **NOTE to sup developers**
2812 Moreover I think that sup should write a log file being some kind of sup-dump
2813 delta:
2814
2815 messageid (oldlabel1 oldlabel2 -> oldlabel2 newlabel3)
2816 ...
2817
2818 I think I will try to implement this feature soon.
2819
2820 --
2821 Nicolas Pouillard
2822
2823 From wmorgan-sup@masanjin.net Sun Mar 29 12:30:36 2009
2824 From: wmorgan-sup@masanjin.net (William Morgan)
2825 Date: Sun, 29 Mar 2009 09:30:36 -0700
2826 Subject: [sup-talk] [PATCH] Resync listable_labels and applyable_labels
2827 with reality
2828 In-Reply-To: <1237228801-sup-301@ausone.local>
2829 References: <1237228801-sup-301@ausone.local>
2830 Message-ID: <1238343951-sup-9965@entry>
2831
2832 Reformatted excerpts from Nicolas Pouillard's message of 2009-03-16:
2833 > The listable_labels method listed all labels except unread which seems
2834 > an unneeded complication/restriction, so it's renamed to all_labels.
2835 > The applyable_labels was in fact user-defined labels so it's renamed
2836 > to user_defined_labels.
2837
2838 I've put this on branch labels-rework and merged into next. I think the
2839 net effect is that you'll see "unread" when you press L, which is fine.
2840
2841 If you want to submit a followup patch that allows users to set
2842 "reserved" labels via 'l', I'd consider applying it. I'm a little
2843 concerned that you'd see a big list like "unread, inbox, attachment,
2844 sent" for every single interesting message, but I think I'd rather err
2845 on the side of giving more power than less.
2846 --
2847 William <wmorgan-sup at masanjin.net>
2848
2849 From nicolas.pouillard@gmail.com Sun Mar 29 12:53:02 2009
2850 From: nicolas.pouillard@gmail.com (Nicolas Pouillard)
2851 Date: Sun, 29 Mar 2009 18:53:02 +0200
2852 Subject: [sup-talk] [PATCH] Resync listable_labels and applyable_labels
2853 with reality
2854 In-Reply-To: <1238343951-sup-9965@entry>
2855 References: <1237228801-sup-301@ausone.local> <1238343951-sup-9965@entry>
2856 Message-ID: <1238345555-sup-491@ausone.local>
2857
2858 Excerpts from William Morgan's message of Sun Mar 29 18:30:36 +0200 2009:
2859 > Reformatted excerpts from Nicolas Pouillard's message of 2009-03-16:
2860 > > The listable_labels method listed all labels except unread which seems
2861 > > an unneeded complication/restriction, so it's renamed to all_labels.
2862 > > The applyable_labels was in fact user-defined labels so it's renamed
2863 > > to user_defined_labels.
2864 >
2865 > I've put this on branch labels-rework and merged into next. I think the
2866 > net effect is that you'll see "unread" when you press L, which is fine.
2867 >
2868 > If you want to submit a followup patch that allows users to set
2869 > "reserved" labels via 'l', I'd consider applying it. I'm a little
2870 > concerned that you'd see a big list like "unread, inbox, attachment,
2871 > sent" for every single interesting message, but I think I'd rather err
2872 > on the side of giving more power than less.
2873
2874 Indeed, may one can sort them to have the boring ones first?
2875
2876 --
2877 Nicolas Pouillard
2878
2879 From glasse@cs.rpi.edu Tue Mar 31 00:57:38 2009
2880 From: glasse@cs.rpi.edu (Ethan Glasser-Camp)
2881 Date: Tue, 31 Mar 2009 00:57:38 -0400
2882 Subject: [sup-talk] Config in VCS
2883 In-Reply-To: <1238234052-sup-2032@ausone.home>
2884 References: <49CD0B3E.9010002@cs.rpi.edu> <1238234052-sup-2032@ausone.home>
2885 Message-ID: <49D1A2C2.4020406@cs.rpi.edu>
2886
2887 Nicolas Pouillard wrote:
2888 > I keep my sup configuration including the whole sources.yaml file in a
2889 > darcs repository. Even if the data was split in two files I would prefer
2890 > to also save it.
2891
2892 Really? How often do you commit? Certainly not every mail message..
2893 Aren't you uncomfortable with your working copy becoming dirty every
2894 time you receive mail?
2895
2896 Ethan
2897
2898
2899
2900 From nicolas.pouillard@gmail.com Tue Mar 31 07:39:16 2009
2901 From: nicolas.pouillard@gmail.com (Nicolas Pouillard)
2902 Date: Tue, 31 Mar 2009 13:39:16 +0200
2903 Subject: [sup-talk] Config in VCS
2904 In-Reply-To: <49D1A2C2.4020406@cs.rpi.edu>
2905 References: <49CD0B3E.9010002@cs.rpi.edu> <1238234052-sup-2032@ausone.home>
2906 <49D1A2C2.4020406@cs.rpi.edu>
2907 Message-ID: <1238499402-sup-7426@ausone.inria.fr>
2908
2909 Excerpts from Ethan Glasser-Camp's message of Tue Mar 31 06:57:38 +0200 2009:
2910 > Nicolas Pouillard wrote:
2911 > > I keep my sup configuration including the whole sources.yaml file in a
2912 > > darcs repository. Even if the data was split in two files I would prefer
2913 > > to also save it.
2914 >
2915 > Really? How often do you commit? Certainly not every mail message..
2916 > Aren't you uncomfortable with your working copy becoming dirty every
2917 > time you receive mail?
2918
2919 I commit when I make a change to the configuration, add a contact, change
2920 a hook, or add a label. So yes essentially my working copy always have
2921 unrecorded changes, and I do not consider this harmful.
2922
2923 --
2924 Nicolas Pouillard
2925
2926 From bdwalton@gmail.com Tue Mar 31 09:36:51 2009
2927 From: bdwalton@gmail.com (Ben Walton)
2928 Date: Tue, 31 Mar 2009 09:36:51 -0400
2929 Subject: [sup-talk] Config in VCS
2930 In-Reply-To: <1238499402-sup-7426@ausone.inria.fr>
2931 References: <49CD0B3E.9010002@cs.rpi.edu> <1238234052-sup-2032@ausone.home>
2932 <49D1A2C2.4020406@cs.rpi.edu> <1238499402-sup-7426@ausone.inria.fr>
2933 Message-ID: <f96e0240903310636t7fd05667h8b55e676636f239d@mail.gmail.com>
2934
2935 I keep my .sup on local storage and rsync it to nfs nightly (so it
2936 gets included in the backups). I auto-commit the .sup.bak (nfs copy)
2937 nightly into git. I also do manual commits any time I make a config
2938 change.
2939
2940 -Ben
2941
2942 On Tue, Mar 31, 2009 at 7:39 AM, Nicolas Pouillard
2943 <nicolas.pouillard at gmail.com> wrote:
2944 > Excerpts from Ethan Glasser-Camp's message of Tue Mar 31 06:57:38 +0200 2009:
2945 >> Nicolas Pouillard wrote:
2946 >> > I keep my sup configuration including the whole sources.yaml file in a
2947 >> > darcs repository. Even if the data was split in two files I would prefer
2948 >> > to also save it.
2949 >>
2950 >> Really? How often do you commit? Certainly not every mail message..
2951 >> Aren't you uncomfortable with your working copy becoming dirty every
2952 >> time you receive mail?
2953 >
2954 > I commit when I make a change to the configuration, add a contact, change
2955 > a hook, or add a label. So yes essentially my working copy always have
2956 > unrecorded changes, and I do not consider this harmful.
2957 >
2958 > --
2959 > Nicolas Pouillard
2960 > _______________________________________________
2961 > sup-talk mailing list
2962 > sup-talk at rubyforge.org
2963 > http://rubyforge.org/mailman/listinfo/sup-talk
2964 >
2965
2966
2967
2968 --
2969 ---------------------------------------------------------------------------------------------------------------------------
2970 Ben Walton <bdwalton at gmail.com>
2971
2972 "With or without religion, good people can behave well and bad people
2973 can do evil; but for good people to do evil?that takes religion. "
2974 -Steven Weinberg
2975 ---------------------------------------------------------------------------------------------------------------------------
2976