Reformatted excerpts from Christopher Warrington's message of 2008-02-03:
> When shelling out, the external command is now run in a child process.
> Before the external command is run, all (I hope) of sup's open files
> are closed first.
This seems crazy. Do mbox sources even continue to function properly
once this has happened? It seems like they'd crash with their file
handles closed from under them.
If the issue is that Windows has bad behavior when Sup polls while
you're editing a message, another option might be to turn off polling
when Sup is shelled out.
Something like (although this doesn't prevent you from starting an
editor while a background poll is in progress):
diff --git a/lib/sup/buffer.rb b/lib/sup/buffer.rb
index d40a626..96f676b 100644
--- a/lib/sup/buffer.rb
+++ b/lib/sup/buffer.rb
@@ -137,6 +137,7 @@ class BufferManager
include Singleton
attr_reader :focus_buf
+ bool_reader :shelled
## we have to define the key used to continue in-buffer search here, because
## it has special semantics that BufferManager deals with---current searches
diff --git a/lib/sup/poll.rb b/lib/sup/poll.rb
index 2dd9150..a67e801 100644
--- a/lib/sup/poll.rb
+++ b/lib/sup/poll.rb
@@ -45,7 +45,8 @@ EOS
end
def poll
- return if @polling
+ return if @polling || BufferManager.shelled?
+
@polling = true
HookManager.run "before-poll"
--
William <[EMAIL PROTECTED]>
_______________________________________________
sup-talk mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/sup-talk