]> git.cworth.org Git - sup/commitdiff
minor bugfixes
authorwmorgan <wmorgan@5c8cc53c-5e98-4d25-b20a-d8db53a31250>
Sun, 24 Dec 2006 22:53:56 +0000 (22:53 +0000)
committerwmorgan <wmorgan@5c8cc53c-5e98-4d25-b20a-d8db53a31250>
Sun, 24 Dec 2006 22:53:56 +0000 (22:53 +0000)
git-svn-id: svn://rubyforge.org/var/svn/sup/trunk@93 5c8cc53c-5e98-4d25-b20a-d8db53a31250

lib/sup.rb
lib/sup/index.rb
lib/sup/message.rb
lib/sup/modes/thread-index-mode.rb
lib/sup/poll.rb

index 6a701211c531b3ce210b29103cffa1feb74d6534..2162c555ae40281ee00da9648bb9481a033c9170 100644 (file)
@@ -8,7 +8,7 @@ class Object
   ## this is for debugging purposes because i keep calling #id on the
   ## wrong object and i want it to throw an exception
   def id
-    raise "wrong id called"
+    raise "wrong id called on #{self.inspect}"
   end
 end
 
index 5d55af94419d8d63042229aba32c3c1d99797c85..88345d2d95e7d847d26ad12c19a0ddbcc624ab4e 100644 (file)
@@ -2,7 +2,8 @@
 
 require 'thread'
 require 'fileutils'
-require_gem 'ferret', ">= 0.10.13"
+require 'ferret'
+#require_gem 'ferret', ">= 0.10.13"
 
 module Redwood
 
@@ -87,6 +88,8 @@ class Index
       source ||= entry[:source_id].to_i
       source_info ||= entry[:source_info].to_i
     end
+
+    ## this happens sometimes. i'm not sure why. ferret bug?
     raise "no entry and no source info for message #{m.id}" unless source && source_info
 
     raise "deleting non-corresponding entry #{docid}" unless @index[docid][:message_id] == m.id
index 9ced9572e2ff1f0127be5772c195dfc8c8ab9d4b..7debda684d17bd13ccca30639ad1e5b8a7e67469 100644 (file)
@@ -145,6 +145,7 @@ class Message
     @status = header["status"]
   end
 
+  def broken?; @source.nil?; end
   def snippet; @snippet || to_chunks && @snippet; end
   def is_list_message?; !@list_address.nil?; end
   def is_draft?; DraftLoader === @source; end
@@ -154,6 +155,7 @@ class Message
   end
 
   def save index
+    return if broken?
     index.update_message self if @dirty
     @dirty = false
   end
index 4901a26571c9f4299163b6307fd8e7b4bbc18212..32c73122715ca8801383910667f84e9e5be22f8a 100644 (file)
@@ -320,6 +320,7 @@ protected
   end
 
   def update_text_for_line l
+    return unless l # not sure why this happens, but it does, occasionally
     @text[l] = text_for_thread @threads[l]
     buffer.mark_dirty if buffer
   end
index 4e1863c8edc1e8c35cdf30bf018948d7429a2bfc..cc401ff236cfaa61960e0c9790c7db1bf403e498 100644 (file)
@@ -54,7 +54,7 @@ class PollManager
       num_inbox = 0
       source.each do |offset, labels|
         start_offset ||= offset
-        yield " Found message at #{offset} with labels #{labels * ', '}"
+        yield "Found message at #{offset} with labels #{labels * ', '}"
         begin
           m = Redwood::Message.new :source => source, :source_info => offset,
                                    :labels => labels