]> git.cworth.org Git - sup/log
sup
14 years agoremove out-of-date comments about the hook system
William Morgan [Tue, 8 Sep 2009 19:47:16 +0000 (15:47 -0400)]
remove out-of-date comments about the hook system

14 years agoadd custom-search hook, for shortcuts for custom search queries
Edward Z. Yang [Fri, 26 Jun 2009 17:10:01 +0000 (13:10 -0400)]
add custom-search hook, for shortcuts for custom search queries

Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
14 years agoUse /etc/mailname if present to determine the hostname for Message-Id
Adeodato Simó [Thu, 9 Jul 2009 19:55:17 +0000 (21:55 +0200)]
Use /etc/mailname if present to determine the hostname for Message-Id

Signed-off-by: Adeodato Simó <dato@net.com.org.es>
14 years agoeasy_decode now also catches InvalidCharacter
Nicolas Pouillard [Mon, 6 Jul 2009 07:50:09 +0000 (09:50 +0200)]
easy_decode now also catches InvalidCharacter

14 years agoUnbreak "bounce-command" hook (was referencing an nonexistent variable)
Adeodato Simó [Sat, 11 Jul 2009 11:57:55 +0000 (13:57 +0200)]
Unbreak "bounce-command" hook (was referencing an nonexistent variable)

Signed-off-by: Adeodato Simó <dato@net.com.org.es>
14 years agofix another missing part of a previous merge
William Morgan [Wed, 24 Jun 2009 13:43:07 +0000 (09:43 -0400)]
fix another missing part of a previous merge

14 years agofix missing part of a previous merge
William Morgan [Wed, 24 Jun 2009 13:42:26 +0000 (09:42 -0400)]
fix missing part of a previous merge

14 years agoMerge commit 'bwalton/bw/flexible_sent'
William Morgan [Wed, 24 Jun 2009 13:38:19 +0000 (09:38 -0400)]
Merge commit 'bwalton/bw/flexible_sent'

Conflicts:

lib/sup/poll.rb
lib/sup/sent.rb

14 years agoMerge commit 'bwalton/bw/bounce_message'
William Morgan [Wed, 24 Jun 2009 13:36:08 +0000 (09:36 -0400)]
Merge commit 'bwalton/bw/bounce_message'

14 years agoMerge branch 'labels-before-subj'
William Morgan [Wed, 24 Jun 2009 13:35:15 +0000 (09:35 -0400)]
Merge branch 'labels-before-subj'

14 years agobugfix: correct time format in sent message mbox
William Morgan [Mon, 15 Jun 2009 16:48:20 +0000 (12:48 -0400)]
bugfix: correct time format in sent message mbox

Use Time#asctime. Otherwise for strange locales, the mbox format is
not quite right and the splitter won't be able to read it!

14 years agoremove warnings about RE_UTF8
William Morgan [Mon, 15 Jun 2009 16:35:44 +0000 (09:35 -0700)]
remove warnings about RE_UTF8

14 years agofixes for ruby1.9
Rich Lane [Fri, 12 Jun 2009 19:35:52 +0000 (12:35 -0700)]
fixes for ruby1.9

Change colons in case statements to 'then'
Fix a block that didn't take enough arguments
Rename variables to avoid shadowing warnings
Use String.ord (and define it for 1.8)
Use DL::Importer on 1.9
Make require 'fastthread' optional
Copy in RE_UTF8

14 years agoupdate changelog and releasenotes for 0.8.1
William Morgan [Mon, 15 Jun 2009 15:08:28 +0000 (08:08 -0700)]
update changelog and releasenotes for 0.8.1

14 years agomake multibyte display "work" for non-utf8 locales
William Morgan [Mon, 15 Jun 2009 15:00:07 +0000 (08:00 -0700)]
make multibyte display "work" for non-utf8 locales

A nasty hack, but fixes a previous utf8-centric change.

14 years agofix reply-mode always selecting "Customized"
William Morgan [Tue, 9 Jun 2009 00:03:07 +0000 (17:03 -0700)]
fix reply-mode always selecting "Customized"

Since an earlier patch changed parse_headers, or something, the emitted header
needs to have the correct case.

14 years agoreduce quote parsing worst-case behavior
William Morgan [Mon, 8 Jun 2009 18:07:51 +0000 (14:07 -0400)]
reduce quote parsing worst-case behavior

Split a quote regex into two to increase performance on certain long strings.

Thanks to Edward Z. Yang.

14 years agoBounce Message Hook
Ben Walton [Sun, 7 Jun 2009 23:44:37 +0000 (19:44 -0400)]
Bounce Message Hook

Determine the command used to bounce a message based on a Hook instead
of a configuration option.  Instead of writing an external script that
can send the message properly based on the recipient addresses, rely
on a hook that can return the command based on the From header in the
mail being bounced as well as the intended recipients.  This is more
in line with the sup philosophy.

The default is still to strip any -t from the sendmail command of the
default account.

Signed-off-by: Ben Walton <bwalton@artsci.utoronto.ca>
14 years agoAdd message bouncing capability
Ben Walton [Sun, 7 Jun 2009 16:38:41 +0000 (12:38 -0400)]
Add message bouncing capability

Bouncing a message is akin to redirecting a mail with a .forward
entry.  It is passed back to the mail system as it sits on disk.

By pressing ! while viewing a message, you can now re-inject it to the
mail system using either the command defined in bounce_sendmail or the
sendmail command for the default account with any instance of -t
removed. The user is prompted for the recipients of the message and is
offered a chance to confirm the bounce before it is sent.

The message is _not_ stored in the sent box, as this doesn't make
sense with bounced messages (and would not show up uniquely anyway).

The bounce_sendmail configuration item allows users that require
different sendmail commands depending on where the bounce is destined
to write a wrapper around their local mail tools to pick and choose
the appropriate injection method for the message based on the
addresses passed in.  Most systems can likely use: sendmail -oem -i

Signed-off-by: Ben Walton <bwalton@artsci.utoronto.ca>
14 years agoupdate documentation to be slightly less out of date
William Morgan [Fri, 5 Jun 2009 16:40:51 +0000 (12:40 -0400)]
update documentation to be slightly less out of date

14 years agoadd sup-announce list info to webpage
William Morgan [Fri, 5 Jun 2009 16:13:22 +0000 (12:13 -0400)]
add sup-announce list info to webpage

14 years agoupdate changelog, etc for 0.8 release
William Morgan [Fri, 5 Jun 2009 15:01:37 +0000 (11:01 -0400)]
update changelog, etc for 0.8 release

14 years agodon't jump to the next open message when expanding
William Morgan [Fri, 5 Jun 2009 14:34:31 +0000 (10:34 -0400)]
don't jump to the next open message when expanding

When pressing enter to expand an entire message, don't jump to the next
open message. Only jump when you've collapsed the message.

14 years agoAdd V to view a raw message (headers and body).
Ben Walton [Thu, 4 Jun 2009 16:03:10 +0000 (12:03 -0400)]
Add V to view a raw message (headers and body).

This is an augment of the already existing view header (H) command,
but allows viewing of all mime parts in their raw form, etc.

Signed-off-by: Ben Walton <bwalton@artsci.utoronto.ca>
14 years agomake enter collapse current message in thread-view-mode
William Morgan [Fri, 5 Jun 2009 03:32:28 +0000 (23:32 -0400)]
make enter collapse current message in thread-view-mode

Pressing enter while over a text region in thread-view-mode will now
collapse the current message and move the cursor to the next open
message. (Behavior on quoted regions, sigs, attachments, etc. is
unchanged.)

This means that you can scan through a thread pretty rapidly by pressing
enter if you want to collapse the current message, or 'n' if you want
to keep it open.

14 years agoremove vestigal Iconv.normalize method
William Morgan [Tue, 2 Jun 2009 16:42:55 +0000 (09:42 -0700)]
remove vestigal Iconv.normalize method

14 years agohandle nil charset on attachments
Mark Alexander [Tue, 2 Jun 2009 16:29:13 +0000 (09:29 -0700)]
handle nil charset on attachments

14 years agorefactor iconv stuff, and normalize message body and headers
William Morgan [Tue, 2 Jun 2009 14:39:18 +0000 (07:39 -0700)]
refactor iconv stuff, and normalize message body and headers

- Message body and headers are now normalized to the current encoding.
  This should limit the amount of unprintable characters on the screen.
- No more MessageFormatError (was never being thrown anyways).
- Move exception handling to Iconv.easy_decode
- No more Message#convert_from, since Iconv.easy_decode does it all now.

14 years agoyet another utf8 bugfix: fix string subsetting
William Morgan [Sun, 31 May 2009 15:58:16 +0000 (08:58 -0700)]
yet another utf8 bugfix: fix string subsetting

... with a HORRIBLE SLOW HACK!

14 years agominor display_length optimization
William Morgan [Sun, 31 May 2009 15:57:56 +0000 (08:57 -0700)]
minor display_length optimization

14 years agoUse rake/packagegemtask
Richard Brown [Wed, 25 Mar 2009 16:00:50 +0000 (16:00 +0000)]
Use rake/packagegemtask

Add back tarball task

14 years agomove rfc2047 require to proper place
William Morgan [Sun, 31 May 2009 00:55:05 +0000 (20:55 -0400)]
move rfc2047 require to proper place

14 years agoutf8 bugfix: clear lines correctly
William Morgan [Sun, 31 May 2009 00:14:34 +0000 (17:14 -0700)]
utf8 bugfix: clear lines correctly

String#display_length must be used when clearing to the right of lines.

14 years agominor display optimization
William Morgan [Sun, 31 May 2009 00:11:01 +0000 (17:11 -0700)]
minor display optimization

Don't blank to the right unless this is the last thing we're drawing
in the line.

Not sure how much of a speedup this will give, if any, but hey, precious
milliseconds.

14 years agoCollapse attr_reader lines
Ben Walton [Sat, 9 May 2009 01:25:45 +0000 (21:25 -0400)]
Collapse attr_reader lines

Signed-off-by: Ben Walton <bwalton@artsci.utoronto.ca>
14 years agoSmall cleanup: Don't use $config in main code.
Ben Walton [Sat, 9 May 2009 01:23:48 +0000 (21:23 -0400)]
Small cleanup: Don't use $config in main code.

Switched use of $config[:sent_source] to SentManager.source_uri
to keep $config use limited to startup/initialization.

Signed-off-by: Ben Walton <bwalton@artsci.utoronto.ca>
14 years agoSent label handling change
Ben Walton [Thu, 7 May 2009 21:46:51 +0000 (17:46 -0400)]
Sent label handling change

Make PollManager add the 'sent' label if the source it's collecting
messages from is the configured sent source.  Remove the sent label
from SentLoader, which makes it even less 'special.'

Signed-off-by: Ben Walton <bwalton@artsci.utoronto.ca>
14 years agosup-config: add awareness of non-default sent source
Ben Walton [Thu, 7 May 2009 21:23:50 +0000 (17:23 -0400)]
sup-config: add awareness of non-default sent source

The user is now prompted to select a source to store sent mail in.
Only sources that are capable of storing mail are presented.  The
default sup://sent is available as an option too.

14 years agoSentManager: rework handling to allow for user specified source
Ben Walton [Thu, 7 May 2009 02:44:24 +0000 (22:44 -0400)]
SentManager: rework handling to allow for user specified source

* The handling of SentManager now allows for a parameter in config.yaml
  called sent_source.  This parameter should be the URI of the source
  that the users wishes to store outbound mail in.

* The default is sup://sent

* A FatalSourceError is raised in the event that sent_source is
  set to a source type that doesn't support the store_message() method.

* SentManager and SentLoader have been somewhat decoupled.

Signed-off-by: Ben Walton <bwalton@artsci.utoronto.ca>
14 years agoAdd store_message to IMAP, mbox and Maildir sources.
Ben Walton [Thu, 7 May 2009 02:32:50 +0000 (22:32 -0400)]
Add store_message to IMAP, mbox and Maildir sources.

With this method, each of the named source types is now capable of
acting as a destination for sent mail.

Signed-off-by: Ben Walton <bwalton@artsci.utoronto.ca>
14 years agominor update of undo message for labeling one thread
William Morgan [Thu, 28 May 2009 14:58:57 +0000 (10:58 -0400)]
minor update of undo message for labeling one thread

14 years agoMerge branch 'parser-user-query-fix'
William Morgan [Thu, 28 May 2009 14:56:14 +0000 (10:56 -0400)]
Merge branch 'parser-user-query-fix'

14 years agoMerge commit 'origin/utf8-fixes'
William Morgan [Thu, 28 May 2009 14:56:05 +0000 (10:56 -0400)]
Merge commit 'origin/utf8-fixes'

14 years agoMerge commit 'origin/undo-manager'
William Morgan [Thu, 28 May 2009 14:45:06 +0000 (10:45 -0400)]
Merge commit 'origin/undo-manager'

Conflicts:

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

14 years agoMerge commit 'origin/various-mbox-fixes'
William Morgan [Thu, 28 May 2009 14:31:01 +0000 (10:31 -0400)]
Merge commit 'origin/various-mbox-fixes'

Conflicts:

lib/sup/mbox.rb
test/test_mbox_parsing.rb

14 years agoMerge commit 'origin/scanning-speedups'
William Morgan [Thu, 28 May 2009 14:29:59 +0000 (10:29 -0400)]
Merge commit 'origin/scanning-speedups'

Conflicts:

bin/sup-sync
lib/sup/index.rb

14 years agoput labels before subject in thread index view
Mark Alexander [Sat, 23 May 2009 18:25:57 +0000 (11:25 -0700)]
put labels before subject in thread index view

This patch is probably controversial, and I expect it
to be rejected.  But I really like the way Gmail puts
the labels before the subject, and I've duplicated that here.
It helps out at work, where subject lines tend to be very
long, pushing the labels past the right edge of the window.

14 years agoRemove duplicate line
Alex Vandiver [Sat, 23 May 2009 04:59:23 +0000 (00:59 -0400)]
Remove duplicate line

14 years agoStandardize on backquotes for program invocations, single quotes for keypresses,...
Alex Vandiver [Thu, 19 Feb 2009 05:44:03 +0000 (00:44 -0500)]
Standardize on backquotes for program invocations, single quotes for keypresses, and double-quotes for everything else

14 years agoMinor typo fix
Alex Vandiver [Thu, 19 Feb 2009 05:37:39 +0000 (00:37 -0500)]
Minor typo fix

14 years agoCorrect "Appending A" to "Appendix A"
Alex Vandiver [Thu, 19 Feb 2009 05:37:26 +0000 (00:37 -0500)]
Correct "Appending A" to "Appendix A"

14 years agoenforce label uniqueness and internedness
William Morgan [Tue, 26 May 2009 21:39:40 +0000 (14:39 -0700)]
enforce label uniqueness and internedness

This fixes some bugs where sources have an "inbox" label specified, which
was previously treated as different from the auto-applied :inbox label, etc.

14 years agominor comment tweak
William Morgan [Tue, 26 May 2009 21:34:58 +0000 (14:34 -0700)]
minor comment tweak

14 years agofencepost bug: thread size wrong in log
William Morgan [Tue, 26 May 2009 21:22:37 +0000 (14:22 -0700)]
fencepost bug: thread size wrong in log

15 years agoremove debugging change
William Morgan [Wed, 20 May 2009 22:11:04 +0000 (15:11 -0700)]
remove debugging change

15 years agobugfix: use 64 colors, not 16
William Morgan [Wed, 20 May 2009 18:47:54 +0000 (11:47 -0700)]
bugfix: use 64 colors, not 16

15 years agomore display_length changes
William Morgan [Wed, 20 May 2009 01:04:13 +0000 (18:04 -0700)]
more display_length changes

15 years agofix display of utf8 characters so that widths are correct
William Morgan [Wed, 20 May 2009 00:39:23 +0000 (20:39 -0400)]
fix display of utf8 characters so that widths are correct

Based on a patch from Einar Lielmanis <einars@gmail.com>

15 years agomime-encode utf8 addressess and subjects in outgoing mail
William Morgan [Wed, 20 May 2009 00:27:22 +0000 (20:27 -0400)]
mime-encode utf8 addressess and subjects in outgoing mail

Based heavily on a patch from Helge Titlestad <helgedt@tihlde.org>.

15 years agoMerge commit 'origin/sup-sync-improvements'
William Morgan [Tue, 19 May 2009 23:52:52 +0000 (19:52 -0400)]
Merge commit 'origin/sup-sync-improvements'

15 years agobugfix: label counts not set correctly on new messages
William Morgan [Mon, 18 May 2009 19:12:25 +0000 (15:12 -0400)]
bugfix: label counts not set correctly on new messages

New labels were being deleted when label-list-mode was brought
up before they were sync'ed to disk. This fixes that, although
this whole thing should be changed. (See comments.)

15 years agoadd a --very-verbose option to sup-tweak-labels
William Morgan [Mon, 18 May 2009 18:16:59 +0000 (14:16 -0400)]
add a --very-verbose option to sup-tweak-labels

15 years agomake a Index#run_query method, update sup-tweak-labels
William Morgan [Mon, 18 May 2009 17:25:52 +0000 (13:25 -0400)]
make a Index#run_query method, update sup-tweak-labels

Index#run_query is now a way of running a query through Sup's
query-parsing and execution framework without being in a
curses context.

15 years agomake parse_user_query_string raise exceptions on error
William Morgan [Mon, 18 May 2009 15:34:57 +0000 (11:34 -0400)]
make parse_user_query_string raise exceptions on error

I.e. instead of flashing an error message. This makes it usable from
non-curses contexts, e.g. sup-tweak-labels.

15 years agochmod a+x bin/*
Kirill Smelkov [Sat, 16 May 2009 15:01:14 +0000 (19:01 +0400)]
chmod a+x bin/*

The files in there are all executables, and this simplifies running sup
in-tree.

15 years agoChronic context fix
Marcus Williams [Wed, 13 May 2009 09:02:31 +0000 (10:02 +0100)]
Chronic context fix

Chronic should use a context of :past for email date searches as emails
tend to be in the past. This fixes a problem when the wrong year is
guessed. To search for emails in the future you now need to be less
ambiguous (1 apr 2099 instead of 1 apr).

15 years agoMerge commit 'origin/string-split-fixes'
William Morgan [Mon, 18 May 2009 14:32:25 +0000 (07:32 -0700)]
Merge commit 'origin/string-split-fixes'

15 years agoMerge commit 'origin/edit-message-mode-longname'
William Morgan [Mon, 18 May 2009 14:32:13 +0000 (07:32 -0700)]
Merge commit 'origin/edit-message-mode-longname'

15 years agoMerge branch 'better-buffer-list'
William Morgan [Mon, 18 May 2009 14:31:55 +0000 (07:31 -0700)]
Merge branch 'better-buffer-list'

15 years agoMerge commit 'origin/labels-rework'
William Morgan [Mon, 18 May 2009 14:31:37 +0000 (07:31 -0700)]
Merge commit 'origin/labels-rework'

15 years agoMerge branch 'zsh-completion'
William Morgan [Mon, 18 May 2009 14:28:39 +0000 (07:28 -0700)]
Merge branch 'zsh-completion'

15 years agoMerge branch 'dlload-bugfix'
William Morgan [Mon, 18 May 2009 14:28:23 +0000 (07:28 -0700)]
Merge branch 'dlload-bugfix'

15 years agoclean up undo logic
William Morgan [Sun, 17 May 2009 20:19:36 +0000 (13:19 -0700)]
clean up undo logic

Various changes:
- Use UndoManager#register block form where possible
- Clean up pluralization code
- Clean up undo return values
- Minor logic fixes

Still some work to do here to make undo lambda returning
more consistent.

15 years agomake UndoManager#register take a block
William Morgan [Sun, 17 May 2009 20:18:25 +0000 (13:18 -0700)]
make UndoManager#register take a block

Also clean up logging messages, argument handling, etc.

15 years agominor bugfix: rubymail sometimes returns a nil content_type
William Morgan [Sun, 17 May 2009 19:31:36 +0000 (12:31 -0700)]
minor bugfix: rubymail sometimes returns a nil content_type

15 years agocheck for a correct date on mbox From lines
William Morgan [Sun, 17 May 2009 18:37:43 +0000 (11:37 -0700)]
check for a correct date on mbox From lines

Determine a splitting line by looking for a From, a something else,
and a parseable date.

15 years agomake the default MBox start offset be 0, not nil
William Morgan [Sun, 17 May 2009 18:36:52 +0000 (11:36 -0700)]
make the default MBox start offset be 0, not nil

This makes writing unit tests easier.

15 years agomake MBox::Loader#next return nil once EOF is hit
William Morgan [Sun, 17 May 2009 18:36:06 +0000 (11:36 -0700)]
make MBox::Loader#next return nil once EOF is hit

Previously it was raising a debugging exception. This is a better
interface for writing unit tests against.

15 years agobugfix: further fixing of split usage
William Morgan [Wed, 13 May 2009 20:08:51 +0000 (13:08 -0700)]
bugfix: further fixing of split usage

Clean up a couple remaining non-optimal uses of String#split.

15 years agobugfix: index label parsing code incorrect
William Morgan [Wed, 13 May 2009 20:07:14 +0000 (13:07 -0700)]
bugfix: index label parsing code incorrect

Apparently split(/\s+/) is significantly different from split (which is
equivalent to split(" ")) in at least one case:

>> " a b  c   ".split(/\s+/)
=> ["", "a", "b", "c"]
>> " a b  c   ".split
=> ["a", "b", "c"]

This patch refactors the majority of uses of split(/\s+/) to a String#symbolize
method, which is correct.

15 years agominor: remove ucfirst (use capitalize instead)
William Morgan [Wed, 13 May 2009 19:47:50 +0000 (12:47 -0700)]
minor: remove ucfirst (use capitalize instead)

15 years agoKeymap: improve behaviour of apply to tagged in thread index
Ben Walton [Mon, 4 May 2009 14:44:11 +0000 (10:44 -0400)]
Keymap: improve behaviour of apply to tagged in thread index

Make = a synonym for + in the thread index mode so that shift isn't
required to apply an action to all tagged messages.

Signed-off-by: Ben Walton <bwalton@artsci.utoronto.ca>
15 years agobugfix: typo
William Morgan [Mon, 4 May 2009 12:43:24 +0000 (05:43 -0700)]
bugfix: typo

15 years agobugfix: poll.rb assuming all messages have froms
William Morgan [Mon, 4 May 2009 12:37:04 +0000 (05:37 -0700)]
bugfix: poll.rb assuming all messages have froms

This was throwing an exception, so now it's protected. The from is only
necessary for the after-poll hook.

15 years agoimprove sup-sync output
William Morgan [Mon, 4 May 2009 12:32:06 +0000 (05:32 -0700)]
improve sup-sync output

Report every 15 seconds, and show the sender for added messages.

15 years agomake sup-sync's --start-at actually useful
William Morgan [Mon, 4 May 2009 12:29:54 +0000 (05:29 -0700)]
make sup-sync's --start-at actually useful

Using --start-at with sup-sync will now seek forward to the next valid message
if given an offset that's not on a message boundary. This makes it possible to
use that option without going through the laborious process of finding the
exact message boundary.

Also die unless --start-at is used with only one source, since using it across
multiple sources is almost definitely an error. (And if that's really what you
want, you can just call sup-sync multiple times.)

15 years agodon't require has_errors? in Source objects
William Morgan [Wed, 29 Apr 2009 17:48:18 +0000 (13:48 -0400)]
don't require has_errors? in Source objects

Properly speaking that's a function of a Recoverable object, not of a
source, so only call that method when it's availably.

15 years agomake raw_message faster with string += => <<
William Morgan [Wed, 29 Apr 2009 17:47:24 +0000 (13:47 -0400)]
make raw_message faster with string += => <<

this method ain't used that much, but << is significantly
faster than += for Strings.

15 years agofix mbox splitting regexp
William Morgan [Tue, 28 Apr 2009 13:34:27 +0000 (09:34 -0400)]
fix mbox splitting regexp

I dunno. This helps with the "From problem", but at the expense of being
too specific than the mbox spec really demands. I don't think there's a
really right solution, in general (due to the mbox format being a
fundamentally broken one), but I'm hoping this will work with all modern
mbox files.

15 years agoaaaand fix up NON_EDITABLE_HEADERS
William Morgan [Mon, 27 Apr 2009 00:03:12 +0000 (20:03 -0400)]
aaaand fix up NON_EDITABLE_HEADERS

Since the case has changes but we're doing caseful
comparisons. Sigh.

15 years agobugfix: edit-message-mode headers broken by case changes
William Morgan [Sun, 26 Apr 2009 23:58:11 +0000 (19:58 -0400)]
bugfix: edit-message-mode headers broken by case changes

This is a lousy hack, but: capitalize header names when
they come back from Source.parse_raw_email_header, and everything
should work as before.

15 years agodon't automatically parse header on Message#new
William Morgan [Sun, 26 Apr 2009 22:18:26 +0000 (18:18 -0400)]
don't automatically parse header on Message#new

You must now explicitly call #parse_header (e.g. when loading
from the index) or #load_from_source! (e.g. when loading from
disk).

This prevents redundant loading from the source when adding to the
index, as #snippet must be called before adding, and that requires
loading the entire message from the source.

15 years agomake Index#sync_message take an extra speedy arg
William Morgan [Sun, 26 Apr 2009 22:16:48 +0000 (18:16 -0400)]
make Index#sync_message take an extra speedy arg

Previously it would check the index if docid and entry were nil,
even though nil is a valid result of a previous check. Add an
extra argument controlling whether this check is performed again.

Results in a minor speedup.

15 years agodisable extra (slow) sanity check in Index adding
William Morgan [Sun, 26 Apr 2009 22:15:01 +0000 (18:15 -0400)]
disable extra (slow) sanity check in Index adding

15 years agobetter sup-sync output
William Morgan [Sun, 26 Apr 2009 16:11:54 +0000 (12:11 -0400)]
better sup-sync output

15 years agomove MBox.parse_header -> Source.parse_raw_email_header
William Morgan [Sun, 26 Apr 2009 16:10:56 +0000 (12:10 -0400)]
move MBox.parse_header -> Source.parse_raw_email_header

15 years agodisable logging of email header cleanups
William Morgan [Sun, 26 Apr 2009 15:46:37 +0000 (11:46 -0400)]
disable logging of email header cleanups

I'm now pretty certain this logic is correct, and seeing these
messages was causing people some unnecessary grief. Commented
out for now.

15 years agochange email header parsing. MASSIVE SPEEDUP!
William Morgan [Sun, 26 Apr 2009 15:44:37 +0000 (11:44 -0400)]
change email header parsing. MASSIVE SPEEDUP!

restructure the email header parsing code to improve speed and to
improve API. MBox::read_header now returns a hash containing all
headers, with keys downcased but nothing else.

update Message#parse_header to accept this new format.

update unit tests to reflect new format.

The exciting news is that changes in how the parsing works have resulted
in a 480% speedup in message parsing speed (634 message/s vs 132
messages/s on my machine), across ALL source types. hell yes.

15 years agoreplace += with << in mbox reading
William Morgan [Sun, 26 Apr 2009 14:48:36 +0000 (10:48 -0400)]
replace += with << in mbox reading

there's a tremendous speed difference between these two operators,
though neither of these points are bottlenecks.

15 years agoremove vestigal mbox#read_body method
William Morgan [Sun, 26 Apr 2009 14:32:22 +0000 (10:32 -0400)]
remove vestigal mbox#read_body method