]>
git.cworth.org Git - sup/log
William Morgan [Mon, 24 Aug 2009 22:35:37 +0000 (18:35 -0400)]
Merge branch 'hook-local-vars' into next
William Morgan [Mon, 24 Aug 2009 22:32:39 +0000 (18:32 -0400)]
fix proc locals, which must use the old method trick
For hook locals that are specified as procs (usually for performance
reasons), use methods instead of local variables. Sadly you don't get
all the regular variable semantics, but it is the only option for
delayed evaluation AFAICT.
William Morgan [Sun, 23 Aug 2009 17:24:59 +0000 (13:24 -0400)]
Merge branch 'hook-local-vars' into next
Conflicts:
lib/sup/hook.rb
William Morgan [Sun, 23 Aug 2009 17:11:14 +0000 (13:11 -0400)]
rewrite hookmanager to use eval for locals
This should fix all the issues that were cropping up when locals were faked
with method calls (the setter issue and the nil issue).
William Morgan [Sat, 22 Aug 2009 14:56:15 +0000 (10:56 -0400)]
Merge branch 'master' into next
Benoît PIERRE [Wed, 19 Aug 2009 20:56:55 +0000 (22:56 +0200)]
fix garbaged text in textfield when using ncursesw
Apparently, field_buffer content is not initialized to blanks when using
the wide-character version of ncurses. Forcing a call to
set_field_buffer fix the problem.
William Morgan [Sat, 22 Aug 2009 14:49:59 +0000 (10:49 -0400)]
Merge branch 'master' into next
Alex Vandiver [Tue, 18 Aug 2009 18:30:00 +0000 (14:30 -0400)]
fix a thread merging bug introduced by refactoring in
59f8fc2
Signed-off-by: Alex Vandiver <alex@chmrr.net>
William Morgan [Sat, 22 Aug 2009 14:33:41 +0000 (10:33 -0400)]
Merge branch 'logging' into next
William Morgan [Sat, 22 Aug 2009 14:33:19 +0000 (10:33 -0400)]
switch non-error imap messages to info from debug
William Morgan [Sat, 22 Aug 2009 14:24:11 +0000 (10:24 -0400)]
minor logging output tweak
William Morgan [Sat, 22 Aug 2009 14:17:02 +0000 (10:17 -0400)]
Merge branch 'xapian-updates' into next
Rich Lane [Sun, 16 Aug 2009 20:28:56 +0000 (16:28 -0400)]
xapian index format versioning
Rich Lane [Sun, 16 Aug 2009 19:35:30 +0000 (12:35 -0700)]
move all GDBM data into Xapian
Keeping everything in Xapian means much better consistency in case of a crash.
Thread killing is now supported.
William Morgan [Wed, 19 Aug 2009 18:34:34 +0000 (14:34 -0400)]
Merge branch 'various-api-refactors' into next
William Morgan [Wed, 19 Aug 2009 18:34:27 +0000 (14:34 -0400)]
minor misc code tweaks
William Morgan [Wed, 19 Aug 2009 18:32:46 +0000 (14:32 -0400)]
have mbox, maildir and imap sources (de)serialize labels nicely
At output time, rather than emitting a YAML Set (which is nasty), emit an array
of strings. At input time, normalize into a Set of labels.
William Morgan [Wed, 19 Aug 2009 18:31:25 +0000 (14:31 -0400)]
add hooks for before- and after- yaml marshalling
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
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.
William Morgan [Tue, 18 Aug 2009 18:01:06 +0000 (14:01 -0400)]
Merge branch 'console-mode' into next
Conflicts:
bin/sup
Rich Lane [Mon, 17 Aug 2009 06:39:15 +0000 (23:39 -0700)]
console: clear_hooks
Rich Lane [Mon, 17 Aug 2009 06:39:14 +0000 (23:39 -0700)]
console: reload
Rich Lane [Mon, 17 Aug 2009 06:39:13 +0000 (23:39 -0700)]
console: index internals accessor
Rich Lane [Mon, 17 Aug 2009 06:39:12 +0000 (23:39 -0700)]
console: add/remove labels
Rich Lane [Mon, 17 Aug 2009 06:39:11 +0000 (23:39 -0700)]
console mode
William Morgan [Tue, 18 Aug 2009 17:38:17 +0000 (13:38 -0400)]
Merge branch 'master' into next
Rich Lane [Sun, 16 Aug 2009 19:36:08 +0000 (12:36 -0700)]
add 'I' keybinding to raise Inbox buffer
William Morgan [Tue, 18 Aug 2009 17:35:00 +0000 (13:35 -0400)]
Merge branch 'buffer-rolling' into next
Rich Lane [Sun, 16 Aug 2009 19:35:59 +0000 (12:35 -0700)]
skip system buffers when rolling
William Morgan [Tue, 18 Aug 2009 17:30:38 +0000 (13:30 -0400)]
Merge branch 'master' into next
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.
William Morgan [Tue, 18 Aug 2009 16:07:54 +0000 (09:07 -0700)]
Merge branch 'ncurses-fixes' into next
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.
William Morgan [Tue, 18 Aug 2009 02:29:11 +0000 (19:29 -0700)]
Merge branch 'logging' into next
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!
William Morgan [Mon, 17 Aug 2009 20:32:57 +0000 (13:32 -0700)]
clean up some minor conflict mis-resolutions
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
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.
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.
William Morgan [Mon, 3 Aug 2009 16:27:14 +0000 (12:27 -0400)]
minor code style tweaks and whitespace removals
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.
William Morgan [Tue, 11 Aug 2009 20:00:52 +0000 (16:00 -0400)]
maintain labels as Sets rather than arrays
William Morgan [Sun, 16 Aug 2009 22:00:10 +0000 (18:00 -0400)]
Merge branch 'ncurses-fixes' into next
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...
William Morgan [Sun, 16 Aug 2009 21:02:25 +0000 (17:02 -0400)]
Merge branch 'master' into next
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!
William Morgan [Fri, 14 Aug 2009 20:13:33 +0000 (13:13 -0700)]
Merge branch 'run-mailcap-fixes' into next
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.
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.
William Morgan [Tue, 11 Aug 2009 20:16:07 +0000 (16:16 -0400)]
Merge branch 'master' into next
Rich Lane [Thu, 6 Aug 2009 19:32:44 +0000 (12:32 -0700)]
move xapian index loading into load_index
William Morgan [Tue, 11 Aug 2009 20:02:30 +0000 (16:02 -0400)]
Merge branch 'master' into next
William Morgan [Mon, 3 Aug 2009 16:24:10 +0000 (12:24 -0400)]
allow sup-sync to use --start-at with --restored
William Morgan [Fri, 7 Aug 2009 01:36:36 +0000 (21:36 -0400)]
Merge branch 'locking-refactor' into next
William Morgan [Fri, 7 Aug 2009 01:36:22 +0000 (21:36 -0400)]
Merge branch 'ncurses-fixes' into next
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.
William Morgan [Fri, 7 Aug 2009 00:25:41 +0000 (20:25 -0400)]
die gracefully upon SIGKILL
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
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.
William Morgan [Wed, 5 Aug 2009 20:39:15 +0000 (16:39 -0400)]
Revert "Merge branch 'ncurses-fixes' into next"
This reverts commit
96b55e2fd39105679dcbb2aa1449a2a09ed5a8c8 .
William Morgan [Wed, 5 Aug 2009 19:55:47 +0000 (15:55 -0400)]
Merge branch 'ncurses-fixes' into next
William Morgan [Wed, 5 Aug 2009 19:55:42 +0000 (15:55 -0400)]
Merge branch 'master' into next
William Morgan [Wed, 5 Aug 2009 19:41:45 +0000 (15:41 -0400)]
trap term
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.
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
Rich Lane [Sat, 1 Aug 2009 22:56:09 +0000 (15:56 -0700)]
xapian: drop excessively long terms
William Morgan [Mon, 3 Aug 2009 16:29:26 +0000 (12:29 -0400)]
Merge branch 'xapian'
Conflicts:
lib/sup/index.rb
William Morgan [Tue, 28 Jul 2009 16:00:58 +0000 (12:00 -0400)]
Merge branch 'xapian' into next
William Morgan [Tue, 28 Jul 2009 16:00:55 +0000 (12:00 -0400)]
Merge branch 'master' into next
Rich Lane [Tue, 28 Jul 2009 03:19:30 +0000 (20:19 -0700)]
xapian: fix issue with empty ferret query
Rich Lane [Tue, 28 Jul 2009 03:19:29 +0000 (20:19 -0700)]
xapian: fix MAX_DATE
Rich Lane [Tue, 28 Jul 2009 05:02:29 +0000 (22:02 -0700)]
explicitly load messages in testcase
William Morgan [Tue, 28 Jul 2009 15:24:20 +0000 (11:24 -0400)]
Merge branch 'master' into next
Conflicts:
lib/sup/index.rb
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>
William Morgan [Tue, 28 Jul 2009 15:15:27 +0000 (11:15 -0400)]
Merge branch 'master' into next
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>
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
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>
William Morgan [Mon, 27 Jul 2009 17:18:40 +0000 (13:18 -0400)]
Merge branch 'master' into next
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>
William Morgan [Mon, 27 Jul 2009 16:56:35 +0000 (12:56 -0400)]
Merge branch 'master' into next
Nicolas Pouillard [Mon, 6 Jul 2009 07:50:09 +0000 (09:50 +0200)]
easy_decode now also catches InvalidCharacter
William Morgan [Mon, 27 Jul 2009 16:29:57 +0000 (12:29 -0400)]
Merge branch 'master' into next
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>
William Morgan [Mon, 27 Jul 2009 16:06:07 +0000 (12:06 -0400)]
Merge branch 'xapian' into next
Rich Lane [Sat, 25 Jul 2009 19:27:08 +0000 (12:27 -0700)]
xapian: dont exclude spam/etc in some internal searches
Rich Lane [Sat, 25 Jul 2009 02:50:54 +0000 (19:50 -0700)]
xapian: initialize sources in sup-dump
Rich Lane [Sat, 25 Jul 2009 03:25:09 +0000 (20:25 -0700)]
xapian: fix mk_addrs args in build_message
William Morgan [Mon, 27 Jul 2009 15:59:29 +0000 (11:59 -0400)]
Merge branch 'xapian' into next
Conflicts:
lib/sup/poll.rb
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.
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.
Rich Lane [Sat, 20 Jun 2009 20:50:17 +0000 (13:50 -0700)]
dont using SavingHash#[] for membership test
Rich Lane [Sat, 20 Jun 2009 20:50:16 +0000 (13:50 -0700)]
add limit argument to author_names_and_newness_for_thread
Rich Lane [Sat, 20 Jun 2009 20:50:15 +0000 (13:50 -0700)]
fix String#ord monkeypatch
Rich Lane [Sat, 20 Jun 2009 20:50:14 +0000 (13:50 -0700)]
index: add xapian implementation
Rich Lane [Sat, 20 Jun 2009 20:50:13 +0000 (13:50 -0700)]
index: choose index implementation with config entry or environment variable
Rich Lane [Sat, 20 Jun 2009 20:50:12 +0000 (13:50 -0700)]
add Message.indexable_{body, chunks, subject}
Rich Lane [Sat, 20 Jun 2009 20:50:11 +0000 (13:50 -0700)]
remove last external uses of ferret docid
Rich Lane [Sat, 20 Jun 2009 20:50:10 +0000 (13:50 -0700)]
index: move Ferret-specific code to ferret_index.rb