]> git.cworth.org Git - sup/log
sup
14 years agoadd hooks for before- and after- yaml marshalling
William Morgan [Wed, 19 Aug 2009 18:31:25 +0000 (14:31 -0400)]
add hooks for before- and after- yaml marshalling

14 years agoMerge branch 'console-mode' into next
William Morgan [Tue, 18 Aug 2009 18:36:23 +0000 (14:36 -0400)]
Merge branch 'console-mode' into next

Conflicts:
lib/sup/modes/console-mode.rb

14 years agoadd intro help text and 'e' command to console mode
William Morgan [Tue, 18 Aug 2009 18:33:04 +0000 (14:33 -0400)]
add intro help text and 'e' command to console mode

'e' restarts evaluation once you've stopped it with ctrl-g.

14 years agoMerge branch 'console-mode' into next
William Morgan [Tue, 18 Aug 2009 18:01:06 +0000 (14:01 -0400)]
Merge branch 'console-mode' into next

Conflicts:
bin/sup

14 years agoconsole: clear_hooks
Rich Lane [Mon, 17 Aug 2009 06:39:15 +0000 (23:39 -0700)]
console: clear_hooks

14 years agoconsole: reload
Rich Lane [Mon, 17 Aug 2009 06:39:14 +0000 (23:39 -0700)]
console: reload

14 years agoconsole: index internals accessor
Rich Lane [Mon, 17 Aug 2009 06:39:13 +0000 (23:39 -0700)]
console: index internals accessor

14 years agoconsole: add/remove labels
Rich Lane [Mon, 17 Aug 2009 06:39:12 +0000 (23:39 -0700)]
console: add/remove labels

14 years agoconsole mode
Rich Lane [Mon, 17 Aug 2009 06:39:11 +0000 (23:39 -0700)]
console mode

14 years agoMerge branch 'master' into next
William Morgan [Tue, 18 Aug 2009 17:38:17 +0000 (13:38 -0400)]
Merge branch 'master' into next

14 years agoadd 'I' keybinding to raise Inbox buffer
Rich Lane [Sun, 16 Aug 2009 19:36:08 +0000 (12:36 -0700)]
add 'I' keybinding to raise Inbox buffer

14 years agoMerge branch 'buffer-rolling' into next
William Morgan [Tue, 18 Aug 2009 17:35:00 +0000 (13:35 -0400)]
Merge branch 'buffer-rolling' into next

14 years agoskip system buffers when rolling
Rich Lane [Sun, 16 Aug 2009 19:35:59 +0000 (12:35 -0700)]
skip system buffers when rolling

14 years agoMerge branch 'master' into next
William Morgan [Tue, 18 Aug 2009 17:30:38 +0000 (13:30 -0400)]
Merge branch 'master' into next

14 years agomaildir: allow ', ' in the unique-name portion of a maildir filename
Carl Worth [Sat, 15 Aug 2009 04:29:43 +0000 (21:29 -0700)]
maildir: allow ', ' in the unique-name portion of a maildir filename

The maildir specification says the following about unique names:

    A unique name can be anything that doesn't contain a colon (or
    slash) and doesn't start with a dot.

    [http://cr.yp.to/proto/maildir.html]

So disallowing a unique name to have a comma breaks maildir import on
systems where there is a comma in the names.

14 years agoMerge branch 'ncurses-fixes' into next
William Morgan [Tue, 18 Aug 2009 16:07:54 +0000 (09:07 -0700)]
Merge branch 'ncurses-fixes' into next

14 years agoncurses cursor pops on after refresh. disable that.
William Morgan [Tue, 18 Aug 2009 16:07:28 +0000 (09:07 -0700)]
ncurses cursor pops on after refresh. disable that.

Yet more shotgun programming.

14 years agoMerge branch 'logging' into next
William Morgan [Tue, 18 Aug 2009 02:29:11 +0000 (19:29 -0700)]
Merge branch 'logging' into next

14 years agobugfix:relay event when new message is added to index
William Morgan [Tue, 18 Aug 2009 02:28:35 +0000 (19:28 -0700)]
bugfix:relay event when new message is added to index

made this fancy method, and then i forgot to use it!

14 years agoclean up some minor conflict mis-resolutions
William Morgan [Mon, 17 Aug 2009 20:32:57 +0000 (13:32 -0700)]
clean up some minor conflict mis-resolutions

14 years agoMerge branch 'logging' into next
William Morgan [Mon, 17 Aug 2009 19:24:26 +0000 (15:24 -0400)]
Merge branch 'logging' into next

Conflicts:
bin/sup
bin/sup-sync-back
bin/sup-tweak-labels
lib/sup.rb
lib/sup/buffer.rb
lib/sup/message-chunks.rb
lib/sup/suicide.rb

14 years agorewrite logging to have multiple levels: debug, info, etc.
William Morgan [Mon, 17 Aug 2009 15:47:20 +0000 (11:47 -0400)]
rewrite logging to have multiple levels: debug, info, etc.

Level is now set by SUP_LOG_LEVEL environment variable.

Big patch here, but most of it is replacing the old Redwood::log calls.

Some work on poll-mode, which subclasses log-mode. Remind me never to use
inheritance again.

14 years agorewrite Singleton to not require i_am_the_instance
William Morgan [Wed, 12 Aug 2009 17:14:34 +0000 (13:14 -0400)]
rewrite Singleton to not require i_am_the_instance

The flip side is that you have to use .init instead of .new.

14 years agominor code style tweaks and whitespace removals
William Morgan [Mon, 3 Aug 2009 16:27:14 +0000 (12:27 -0400)]
minor code style tweaks and whitespace removals

14 years agorefactor index access into three methods and rewrite PollManager#each_message_from
William Morgan [Tue, 11 Aug 2009 19:34:50 +0000 (15:34 -0400)]
refactor index access into three methods and rewrite PollManager#each_message_from

Couple big changes in this commit, but they're all tied together.

Index.sync_message is refactored into three separate methods: add_message,
update_message and update_message_state. The intention is that add_message is
called for new messages only, update_message is called for changing the method
body on disk (e.g. when we see multiple copies of the same message, or by
DraftManager when the text of a draft is changes), and update_message_state is
called when the labels on a message change. So indexes that differentiate those
operations can exhibit more natural performance characteristics.

Also, PollManager.add_messages_from has been renamed to each_message_from and
changed significantly. It now *only* yields successive messages; it does not
load the index version of the message, and it does not auto-add the message to
the index.  (In fact, it ignores the result of the block.) There's also a new
method called add_new_message that calls Index.add_message and then relays the
update to other GUI elements.

There was a lot of refactoring of sup-sync that was part of this. Probably
not strictly necessary but it was too hard to untangle the changes.

14 years agomaintain labels as Sets rather than arrays
William Morgan [Tue, 11 Aug 2009 20:00:52 +0000 (16:00 -0400)]
maintain labels as Sets rather than arrays

14 years agoMerge branch 'ncurses-fixes' into next
William Morgan [Sun, 16 Aug 2009 22:00:10 +0000 (18:00 -0400)]
Merge branch 'ncurses-fixes' into next

14 years agorestore keypad mode after we force ncurses to refresh the whole screen
Benoît PIERRE [Fri, 14 Aug 2009 23:08:48 +0000 (01:08 +0200)]
restore keypad mode after we force ncurses to refresh the whole screen

This also happen to fix a regression after a call to run-mailcap, since
for some reason a screen resize event is triggered when we get control
back...

14 years agoMerge branch 'master' into next
William Morgan [Sun, 16 Aug 2009 21:02:25 +0000 (17:02 -0400)]
Merge branch 'master' into next

14 years agowhen writing mbox files, output From_ line date as utc
William Morgan [Sun, 16 Aug 2009 21:01:45 +0000 (17:01 -0400)]
when writing mbox files, output From_ line date as utc

Otherwise, parsing the From_ lines later will fail!

14 years agoMerge branch 'run-mailcap-fixes' into next
William Morgan [Fri, 14 Aug 2009 20:13:33 +0000 (13:13 -0700)]
Merge branch 'run-mailcap-fixes' into next

14 years agouse BufferManager.shell_out to call run-mailcap instead of system
Benoît PIERRE [Tue, 11 Aug 2009 22:09:41 +0000 (00:09 +0200)]
use BufferManager.shell_out to call run-mailcap instead of system

This ensure ncurses state is correctly restored upon command completion.

14 years agodon't redirect stderr to /dev/null when calling run-mailcap
Benoît PIERRE [Tue, 11 Aug 2009 22:09:40 +0000 (00:09 +0200)]
don't redirect stderr to /dev/null when calling run-mailcap

Some programs will fail to work correctly if this is done, like for
example: w3m --dump, to view HTML files.

14 years agoMerge branch 'master' into next
William Morgan [Tue, 11 Aug 2009 20:16:07 +0000 (16:16 -0400)]
Merge branch 'master' into next

14 years agomove xapian index loading into load_index
Rich Lane [Thu, 6 Aug 2009 19:32:44 +0000 (12:32 -0700)]
move xapian index loading into load_index

14 years agoMerge branch 'master' into next
William Morgan [Tue, 11 Aug 2009 20:02:30 +0000 (16:02 -0400)]
Merge branch 'master' into next

14 years agoallow sup-sync to use --start-at with --restored
William Morgan [Mon, 3 Aug 2009 16:24:10 +0000 (12:24 -0400)]
allow sup-sync to use --start-at with --restored

14 years agoMerge branch 'locking-refactor' into next
William Morgan [Fri, 7 Aug 2009 01:36:36 +0000 (21:36 -0400)]
Merge branch 'locking-refactor' into next

14 years agoMerge branch 'ncurses-fixes' into next
William Morgan [Fri, 7 Aug 2009 01:36:22 +0000 (21:36 -0400)]
Merge branch 'ncurses-fixes' into next

14 years agorefactor index locking interaction and replace suicidemanager
William Morgan [Fri, 7 Aug 2009 01:33:19 +0000 (21:33 -0400)]
refactor index locking interaction and replace suicidemanager

Since SIGTERM now works, we have a better way of killing a remote
process than SuicideManager. So replace that with a $die global.
Also refactor the interactive locking code into a separate module
so as not to pollute index.rb with such trivial concerns.

14 years agodie gracefully upon SIGKILL
William Morgan [Fri, 7 Aug 2009 00:25:41 +0000 (20:25 -0400)]
die gracefully upon SIGKILL

14 years agoMerge branch 'ncurses-fixes' into next
William Morgan [Thu, 6 Aug 2009 18:30:12 +0000 (14:30 -0400)]
Merge branch 'ncurses-fixes' into next

Conflicts:
bin/sup
lib/sup/buffer.rb

14 years agorewrap getch in select, handle sigwinch manually
William Morgan [Thu, 6 Aug 2009 16:21:46 +0000 (12:21 -0400)]
rewrap getch in select, handle sigwinch manually

This is necessary to operate with many versions of the ruby ncurses library,
all of which block threads when getch is being called. But this means we can't
use getch to determine a sigwich, since we won't see it until an actual key is
pressed. so we handle sigwinch ourselves.

14 years agoRevert "Merge branch 'ncurses-fixes' into next"
William Morgan [Wed, 5 Aug 2009 20:39:15 +0000 (16:39 -0400)]
Revert "Merge branch 'ncurses-fixes' into next"

This reverts commit 96b55e2fd39105679dcbb2aa1449a2a09ed5a8c8.

14 years agoMerge branch 'ncurses-fixes' into next
William Morgan [Wed, 5 Aug 2009 19:55:47 +0000 (15:55 -0400)]
Merge branch 'ncurses-fixes' into next

14 years agoMerge branch 'master' into next
William Morgan [Wed, 5 Aug 2009 19:55:42 +0000 (15:55 -0400)]
Merge branch 'master' into next

14 years agotrap term
William Morgan [Wed, 5 Aug 2009 19:41:45 +0000 (15:41 -0400)]
trap term

14 years agoimprove ncurses key handling for sigwinch and sigint
William Morgan [Wed, 5 Aug 2009 19:40:02 +0000 (15:40 -0400)]
improve ncurses key handling for sigwinch and sigint

see comments. adding a nodelay call before each getch means we don't need a
select() call, which means that we can get sigwinch and sigint signals from
ncurses.

14 years agoport ezyang@mit.edu's chattyness patch over to xapian/ferret split
William Morgan [Wed, 5 Aug 2009 19:51:29 +0000 (15:51 -0400)]
port ezyang@mit.edu's chattyness patch over to xapian/ferret split

14 years agoxapian: drop excessively long terms
Rich Lane [Sat, 1 Aug 2009 22:56:09 +0000 (15:56 -0700)]
xapian: drop excessively long terms

14 years agoMerge branch 'xapian'
William Morgan [Mon, 3 Aug 2009 16:29:26 +0000 (12:29 -0400)]
Merge branch 'xapian'

Conflicts:
lib/sup/index.rb

14 years agoMerge branch 'xapian' into next
William Morgan [Tue, 28 Jul 2009 16:00:58 +0000 (12:00 -0400)]
Merge branch 'xapian' into next

14 years agoMerge branch 'master' into next
William Morgan [Tue, 28 Jul 2009 16:00:55 +0000 (12:00 -0400)]
Merge branch 'master' into next

14 years agoxapian: fix issue with empty ferret query
Rich Lane [Tue, 28 Jul 2009 03:19:30 +0000 (20:19 -0700)]
xapian: fix issue with empty ferret query

14 years agoxapian: fix MAX_DATE
Rich Lane [Tue, 28 Jul 2009 03:19:29 +0000 (20:19 -0700)]
xapian: fix MAX_DATE

14 years agoexplicitly load messages in testcase
Rich Lane [Tue, 28 Jul 2009 05:02:29 +0000 (22:02 -0700)]
explicitly load messages in testcase

14 years agoMerge branch 'master' into next
William Morgan [Tue, 28 Jul 2009 15:24:20 +0000 (11:24 -0400)]
Merge branch 'master' into next

Conflicts:
lib/sup/index.rb

14 years agomake logging less chatty
Edward Z. Yang [Mon, 27 Jul 2009 17:39:27 +0000 (13:39 -0400)]
make logging less chatty

Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
14 years agoMerge branch 'master' into next
William Morgan [Tue, 28 Jul 2009 15:15:27 +0000 (11:15 -0400)]
Merge branch 'master' into next

14 years agofix broken arrow keypresses after shelling out
Edward Z. Yang [Mon, 27 Jul 2009 19:03:58 +0000 (15:03 -0400)]
fix broken arrow keypresses after shelling out

Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
14 years agoMerge branch 'custom-search-hook' into next
William Morgan [Mon, 27 Jul 2009 18:04:52 +0000 (14:04 -0400)]
Merge branch 'custom-search-hook' into next

Conflicts:

lib/sup/index.rb

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 agoMerge branch 'master' into next
William Morgan [Mon, 27 Jul 2009 17:18:40 +0000 (13:18 -0400)]
Merge branch 'master' into next

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 agoMerge branch 'master' into next
William Morgan [Mon, 27 Jul 2009 16:56:35 +0000 (12:56 -0400)]
Merge branch 'master' into next

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 agoMerge branch 'master' into next
William Morgan [Mon, 27 Jul 2009 16:29:57 +0000 (12:29 -0400)]
Merge branch 'master' into next

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 agoMerge branch 'xapian' into next
William Morgan [Mon, 27 Jul 2009 16:06:07 +0000 (12:06 -0400)]
Merge branch 'xapian' into next

14 years agoxapian: dont exclude spam/etc in some internal searches
Rich Lane [Sat, 25 Jul 2009 19:27:08 +0000 (12:27 -0700)]
xapian: dont exclude spam/etc in some internal searches

14 years agoxapian: initialize sources in sup-dump
Rich Lane [Sat, 25 Jul 2009 02:50:54 +0000 (19:50 -0700)]
xapian: initialize sources in sup-dump

14 years agoxapian: fix mk_addrs args in build_message
Rich Lane [Sat, 25 Jul 2009 03:25:09 +0000 (20:25 -0700)]
xapian: fix mk_addrs args in build_message

14 years agoMerge branch 'xapian' into next
William Morgan [Mon, 27 Jul 2009 15:59:29 +0000 (11:59 -0400)]
Merge branch 'xapian' into next

Conflicts:

lib/sup/poll.rb

14 years agobugfix: dates need to be truncated for xapian to index
William Morgan [Wed, 24 Jun 2009 17:30:43 +0000 (13:30 -0400)]
bugfix: dates need to be truncated for xapian to index

If dates are way out of range, the current indexing process both dies
and generates bad doc ids. This patch forces dates to be within a
reasonable range (current between 1969 and 2038.) Not necessarily the
best solution.

14 years agoexplicitly load index version, for better error messages
William Morgan [Wed, 24 Jun 2009 13:10:19 +0000 (09:10 -0400)]
explicitly load index version, for better error messages

Catching the LoadError was masking errors from not having dependent
library like xapian and gdbm. This change makes the error messages
reflect what's actually missing. Since we're adding index types at
roughly once every 3 years, an explicit list like this shouldn't be too
difficult to maintain.

14 years agodont using SavingHash#[] for membership test
Rich Lane [Sat, 20 Jun 2009 20:50:17 +0000 (13:50 -0700)]
dont using SavingHash#[] for membership test

14 years agoadd limit argument to author_names_and_newness_for_thread
Rich Lane [Sat, 20 Jun 2009 20:50:16 +0000 (13:50 -0700)]
add limit argument to author_names_and_newness_for_thread

14 years agofix String#ord monkeypatch
Rich Lane [Sat, 20 Jun 2009 20:50:15 +0000 (13:50 -0700)]
fix String#ord monkeypatch

14 years agoindex: add xapian implementation
Rich Lane [Sat, 20 Jun 2009 20:50:14 +0000 (13:50 -0700)]
index: add xapian implementation

14 years agoindex: choose index implementation with config entry or environment variable
Rich Lane [Sat, 20 Jun 2009 20:50:13 +0000 (13:50 -0700)]
index: choose index implementation with config entry or environment variable

14 years agoadd Message.indexable_{body, chunks, subject}
Rich Lane [Sat, 20 Jun 2009 20:50:12 +0000 (13:50 -0700)]
add Message.indexable_{body, chunks, subject}

14 years agoremove last external uses of ferret docid
Rich Lane [Sat, 20 Jun 2009 20:50:11 +0000 (13:50 -0700)]
remove last external uses of ferret docid

14 years agoindex: move Ferret-specific code to ferret_index.rb
Rich Lane [Sat, 20 Jun 2009 20:50:10 +0000 (13:50 -0700)]
index: move Ferret-specific code to ferret_index.rb

14 years agoindex: make wrap_subj methods private
Rich Lane [Sat, 20 Jun 2009 20:50:09 +0000 (13:50 -0700)]
index: make wrap_subj methods private

14 years agoindex: revert overeager opts->query rename in each_message_in_thread_for
Rich Lane [Sat, 20 Jun 2009 20:50:08 +0000 (13:50 -0700)]
index: revert overeager opts->query rename in each_message_in_thread_for

14 years agoindex: remove unused method fresh_thread_id
Rich Lane [Sat, 20 Jun 2009 20:50:07 +0000 (13:50 -0700)]
index: remove unused method fresh_thread_id

14 years agomove source-related methods to SourceManager
Rich Lane [Sat, 20 Jun 2009 20:50:06 +0000 (13:50 -0700)]
move source-related methods to SourceManager

14 years agoindex: move has_any_from_source_with_label? to sup-sync-back
Rich Lane [Sat, 20 Jun 2009 20:50:05 +0000 (13:50 -0700)]
index: move has_any_from_source_with_label? to sup-sync-back

14 years agoswitch DraftManager to use Message.build_from_source
Rich Lane [Sat, 20 Jun 2009 20:50:04 +0000 (13:50 -0700)]
switch DraftManager to use Message.build_from_source

14 years agoindex: remove unused method load_entry_for_id
Rich Lane [Sat, 20 Jun 2009 20:50:03 +0000 (13:50 -0700)]
index: remove unused method load_entry_for_id

14 years agoremove ferret entry from poll/sync interface
Rich Lane [Sat, 20 Jun 2009 20:50:02 +0000 (13:50 -0700)]
remove ferret entry from poll/sync interface

This leads to an extra index lookup in the sup-sync update path, but I think
it's worth it for the sake of API simplicity.

14 years agoremove load_entry_for_id call in DraftManager.discard
Rich Lane [Sat, 20 Jun 2009 20:50:01 +0000 (13:50 -0700)]
remove load_entry_for_id call in DraftManager.discard

14 years agoremove load_entry_for_id call in sup-recover-sources
Rich Lane [Sat, 20 Jun 2009 20:50:00 +0000 (13:50 -0700)]
remove load_entry_for_id call in sup-recover-sources

14 years agoindex: consistent naming
Rich Lane [Wed, 17 Jun 2009 00:24:59 +0000 (17:24 -0700)]
index: consistent naming

Replaced use of run_query with each_docid
Rename instances of ferret query objects to 'ferret_query'
Rename 'build_query' to 'build_ferret_query'
Rename hashes passed to index methods to 'query'
Rename 'parse_user_query_string' to 'parse_query'
Change 'parse_query' to return a query hash
Rename 'drop_entry' to 'delete' and modify callers to pass msgid

14 years agoindex: cleanup interface
Rich Lane [Wed, 17 Jun 2009 00:24:58 +0000 (17:24 -0700)]
index: cleanup interface

Added the public methods 'each_docid', 'each_message', and 'optimize' to the
index. Removed the 'index' and 'ferret' accessors and modified their callers to
use the new methods. Bonus fixes: sup-dump no longer skips the first message
and sup_sync --start_at can now delete unseen messages.

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'