[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [sup-devel] Encoding of message snippet in xapian



HI

Excerpts from Gaudenz Steinlin's message of 2011-02-09 22:27:13 +0100:
> Hi 
> 
> While debuging the trackeback posted below I discovered that my xapian
> index contains some of the message snippets in ASCII-8BIT and others
> in UTF-8. This leads to probelems when building the thread-view for
> collapsed messages for messages wich have non 7-bit ASCII characters
> in their snippet. message_patina_lines combines the snippet which
> comes from the xapian index and is (sometimes) in ASCII-8BIT with
> other parts of the message which are in UTF-8.
> 
> I don't know exactly how I ended up with a xapian index which has some
> strings in ASCII-8BIT and others in UTF-8. I guess it's because I
> first used sup with Ruby 1.8 and only recently switched to Ruby 1.9.1.
> What's the expected encoding of things coming from the xapian index?
> Is there a way to fix the index? Or is a fix in sup needed for this?
> Or should I just recreate my index from scratch?
> 
> Running sup with Ruby 1.8 avoids the problem. But I guess it only
> masks it because 1.8 is not encoding aware.

Just for the record. I solved the issue by dumping all labels and
recreating the index with ruby 1.9. That's what I did:
sup-dump > label-dump.txt
rm -r ~/.sup/xapian
sup-sync --restore label-dump.txt --all-sources

While reimporting all my messages I discovered a few message parsing
bugs and some bugs related to GPGME. I created patches for all these
problems and will submit these in separate mails.

Gaudenz

> 
> Gaudenz
> 
> --- Encoding::CompatibilityError from thread: load messages for thread-view-mode
> incompatible character encodings: UTF-8 and ASCII-8BIT
> /home/gaudenz/projects/sup/lib/sup/modes/thread-view-mode.rb:792:in `message_patina_lines'
> /home/gaudenz/projects/sup/lib/sup/modes/thread-view-mode.rb:853:in `chunk_to_lines'
> /home/gaudenz/projects/sup/lib/sup/modes/thread-view-mode.rb:724:in `block in regen_text'
> /home/gaudenz/projects/sup/lib/sup/thread.rb:68:in `block in each'
> /home/gaudenz/projects/sup/lib/sup/thread.rb:176:in `block (2 levels) in each_with_stuff'
> /home/gaudenz/projects/sup/lib/sup/thread.rb:176:in `block (2 levels) in each_with_stuff'
> /home/gaudenz/projects/sup/lib/sup/thread.rb:176:in `block (2 levels) in each_with_stuff'
> /home/gaudenz/projects/sup/lib/sup/thread.rb:176:in `block (2 levels) in each_with_stuff'
> /home/gaudenz/projects/sup/lib/sup/thread.rb:176:in `block (2 levels) in each_with_stuff'
> /home/gaudenz/projects/sup/lib/sup/thread.rb:176:in `block (2 levels) in each_with_stuff'
> /home/gaudenz/projects/sup/lib/sup/thread.rb:176:in `block (2 levels) in each_with_stuff'
> /home/gaudenz/projects/sup/lib/sup/thread.rb:176:in `block (2 levels) in each_with_stuff'
> /home/gaudenz/projects/sup/lib/sup/thread.rb:174:in `each_with_stuff'
> /home/gaudenz/projects/sup/lib/sup/thread.rb:176:in `block in each_with_stuff'
> /home/gaudenz/projects/sup/lib/sup/thread.rb:175:in `each'
> /home/gaudenz/projects/sup/lib/sup/thread.rb:175:in `each_with_stuff'
> /home/gaudenz/projects/sup/lib/sup/thread.rb:176:in `block in each_with_stuff'
> /home/gaudenz/projects/sup/lib/sup/thread.rb:175:in `each'
> /home/gaudenz/projects/sup/lib/sup/thread.rb:175:in `each_with_stuff'
> /home/gaudenz/projects/sup/lib/sup/thread.rb:176:in `block in each_with_stuff'
> /home/gaudenz/projects/sup/lib/sup/thread.rb:175:in `each'
> /home/gaudenz/projects/sup/lib/sup/thread.rb:175:in `each_with_stuff'
> /home/gaudenz/projects/sup/lib/sup/thread.rb:176:in `block in each_with_stuff'
> /home/gaudenz/projects/sup/lib/sup/thread.rb:175:in `each'
> /home/gaudenz/projects/sup/lib/sup/thread.rb:175:in `each_with_stuff'
> /home/gaudenz/projects/sup/lib/sup/thread.rb:176:in `block in each_with_stuff'
> /home/gaudenz/projects/sup/lib/sup/thread.rb:175:in `each'
> /home/gaudenz/projects/sup/lib/sup/thread.rb:175:in `each_with_stuff'
> /home/gaudenz/projects/sup/lib/sup/thread.rb:176:in `block in each_with_stuff'
> /home/gaudenz/projects/sup/lib/sup/thread.rb:175:in `each'
> /home/gaudenz/projects/sup/lib/sup/thread.rb:175:in `each_with_stuff'
> /home/gaudenz/projects/sup/lib/sup/thread.rb:176:in `block in each_with_stuff'
> /home/gaudenz/projects/sup/lib/sup/thread.rb:175:in `each'
> /home/gaudenz/projects/sup/lib/sup/thread.rb:175:in `each_with_stuff'
> /home/gaudenz/projects/sup/lib/sup/thread.rb:176:in `block in each_with_stuff'
> /home/gaudenz/projects/sup/lib/sup/thread.rb:175:in `each'
> /home/gaudenz/projects/sup/lib/sup/thread.rb:175:in `each_with_stuff'
> /home/gaudenz/projects/sup/lib/sup/thread.rb:67:in `each'
> /home/gaudenz/projects/sup/lib/sup/modes/thread-view-mode.rb:713:in `regen_text'
> /home/gaudenz/projects/sup/lib/sup/modes/thread-view-mode.rb:175:in `buffer='
> /home/gaudenz/projects/sup/lib/sup/buffer.rb:387:in `spawn'
> (eval):1:in `spawn'
> /home/gaudenz/projects/sup/lib/sup/modes/thread-index-mode.rb:120:in `block in select'
> /home/gaudenz/projects/sup/lib/sup.rb:78:in `block in reporting_thread'
-- 
Ever tried. Ever failed. No matter.
Try again. Fail again. Fail better.
~ Samuel Beckett ~

Attachment: signature.asc
Description: PGP signature

_______________________________________________
Sup-devel mailing list
Sup-devel@rubyforge.org
http://rubyforge.org/mailman/listinfo/sup-devel