* [sup-devel] [PATCH 1/3] punctuate "No new messages." consistently between poll, jump_to_next_new
@ 2010-01-04 6:06 Anthony Martinez
2010-01-04 6:06 ` [sup-devel] [PATCH 2/3] undoing read_and_archive should preserve unread state Anthony Martinez
2010-01-05 21:25 ` [sup-devel] [PATCH 1/3] punctuate "No new messages." consistently between poll, jump_to_next_new William Morgan
0 siblings, 2 replies; 9+ messages in thread
From: Anthony Martinez @ 2010-01-04 6:06 UTC (permalink / raw)
To: sup-devel
---
lib/sup/modes/thread-index-mode.rb | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/lib/sup/modes/thread-index-mode.rb b/lib/sup/modes/thread-index-mode.rb
index eaed0cb..a5bd344 100644
--- a/lib/sup/modes/thread-index-mode.rb
+++ b/lib/sup/modes/thread-index-mode.rb
@@ -405,7 +405,7 @@ EOS
jump_to_line n unless n >= topline && n < botline
set_cursor_pos n
else
- BufferManager.flash "No new messages"
+ BufferManager.flash "No new messages."
end
end
--
1.6.5
_______________________________________________
Sup-devel mailing list
Sup-devel@rubyforge.org
http://rubyforge.org/mailman/listinfo/sup-devel
^ permalink raw reply [flat|nested] 9+ messages in thread
* [sup-devel] [PATCH 2/3] undoing read_and_archive should preserve unread state
2010-01-04 6:06 [sup-devel] [PATCH 1/3] punctuate "No new messages." consistently between poll, jump_to_next_new Anthony Martinez
@ 2010-01-04 6:06 ` Anthony Martinez
2010-01-04 6:06 ` [sup-devel] [PATCH 3/3] make the undo hooks also save the threads Anthony Martinez
2010-01-05 21:25 ` [sup-devel] [PATCH 2/3] undoing read_and_archive should preserve unread state William Morgan
2010-01-05 21:25 ` [sup-devel] [PATCH 1/3] punctuate "No new messages." consistently between poll, jump_to_next_new William Morgan
1 sibling, 2 replies; 9+ messages in thread
From: Anthony Martinez @ 2010-01-04 6:06 UTC (permalink / raw)
To: sup-devel
---
lib/sup/modes/inbox-mode.rb | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/lib/sup/modes/inbox-mode.rb b/lib/sup/modes/inbox-mode.rb
index ad3a864..852ddb7 100644
--- a/lib/sup/modes/inbox-mode.rb
+++ b/lib/sup/modes/inbox-mode.rb
@@ -66,9 +66,10 @@ class InboxMode < ThreadIndexMode
return unless cursor_thread
thread = cursor_thread # to make sure lambda only knows about 'old' cursor_thread
+ was_unread = thread.labels.member? :unread
UndoManager.register "reading and archiving thread" do
thread.apply_label :inbox
- thread.apply_label :unread
+ thread.apply_label :unread if was_unread
add_or_unhide thread.first
end
--
1.6.5
_______________________________________________
Sup-devel mailing list
Sup-devel@rubyforge.org
http://rubyforge.org/mailman/listinfo/sup-devel
^ permalink raw reply [flat|nested] 9+ messages in thread
* [sup-devel] [PATCH 3/3] make the undo hooks also save the threads
2010-01-04 6:06 ` [sup-devel] [PATCH 2/3] undoing read_and_archive should preserve unread state Anthony Martinez
@ 2010-01-04 6:06 ` Anthony Martinez
2010-01-05 21:26 ` William Morgan
2010-01-05 21:25 ` [sup-devel] [PATCH 2/3] undoing read_and_archive should preserve unread state William Morgan
1 sibling, 1 reply; 9+ messages in thread
From: Anthony Martinez @ 2010-01-04 6:06 UTC (permalink / raw)
To: sup-devel
Since there is no explicit sync any longer, any action that has an
Index.save_thread must also repeat the save when the action is undone.
Failure to do this will result in an exception upon quit when the index
notices that there are still dirty messages.
---
lib/sup/modes/inbox-mode.rb | 4 ++++
lib/sup/modes/thread-index-mode.rb | 18 ++++++++++++------
lib/sup/modes/thread-view-mode.rb | 4 ++++
3 files changed, 20 insertions(+), 6 deletions(-)
diff --git a/lib/sup/modes/inbox-mode.rb b/lib/sup/modes/inbox-mode.rb
index 852ddb7..1b8eaed 100644
--- a/lib/sup/modes/inbox-mode.rb
+++ b/lib/sup/modes/inbox-mode.rb
@@ -37,6 +37,7 @@ class InboxMode < ThreadIndexMode
UndoManager.register "archiving thread" do
thread.apply_label :inbox
add_or_unhide thread.first
+ Index.save_thread thread
end
cursor_thread.remove_label :inbox
@@ -50,6 +51,7 @@ class InboxMode < ThreadIndexMode
threads.map do |t|
t.apply_label :inbox
add_or_unhide t.first
+ Index.save_thread t
end
regen_text
end
@@ -71,6 +73,7 @@ class InboxMode < ThreadIndexMode
thread.apply_label :inbox
thread.apply_label :unread if was_unread
add_or_unhide thread.first
+ Index.save_thread thread
end
cursor_thread.remove_label :unread
@@ -94,6 +97,7 @@ class InboxMode < ThreadIndexMode
threads.zip(old_labels).each do |t, l|
t.labels = l
add_or_unhide t.first
+ Index.save_thread t
end
regen_text
end
diff --git a/lib/sup/modes/thread-index-mode.rb b/lib/sup/modes/thread-index-mode.rb
index a5bd344..28cb858 100644
--- a/lib/sup/modes/thread-index-mode.rb
+++ b/lib/sup/modes/thread-index-mode.rb
@@ -265,7 +265,7 @@ EOS
def toggle_starred
t = cursor_thread or return
undo = actually_toggle_starred t
- UndoManager.register "toggling thread starred status", undo
+ UndoManager.register "toggling thread starred status", undo, lambda { Index.save_thread t }
update_text_for_line curpos
cursor_down
Index.save_thread t
@@ -273,7 +273,8 @@ EOS
def multi_toggle_starred threads
UndoManager.register "toggling #{threads.size.pluralize 'thread'} starred status",
- threads.map { |t| actually_toggle_starred t }
+ threads.map { |t| actually_toggle_starred t },
+ lambda { threads.each { |t| Index.save_thread t } }
regen_text
threads.each { |t| Index.save_thread t }
end
@@ -351,14 +352,16 @@ EOS
def toggle_archived
t = cursor_thread or return
undo = actually_toggle_archived t
- UndoManager.register "deleting/undeleting thread #{t.first.id}", undo, lambda { update_text_for_line curpos }
+ UndoManager.register "deleting/undeleting thread #{t.first.id}", undo, lambda { update_text_for_line curpos },
+ lambda { Index.save_thread t }
update_text_for_line curpos
Index.save_thread t
end
def multi_toggle_archived threads
undos = threads.map { |t| actually_toggle_archived t }
- UndoManager.register "deleting/undeleting #{threads.size.pluralize 'thread'}", undos, lambda { regen_text }
+ UndoManager.register "deleting/undeleting #{threads.size.pluralize 'thread'}", undos, lambda { regen_text },
+ lambda { threads.each { |t| Index.save_thread t } }
regen_text
threads.each { |t| Index.save_thread t }
end
@@ -425,7 +428,7 @@ EOS
undos = threads.map { |t| actually_toggle_spammed t }
threads.each { |t| HookManager.run("mark-as-spam", :thread => t) }
UndoManager.register "marking/unmarking #{threads.size.pluralize 'thread'} as spam",
- undos, lambda { regen_text }
+ undos, lambda { regen_text }, lambda { threads.each { |t| Index.save_thread t } }
regen_text
threads.each { |t| Index.save_thread t }
end
@@ -439,7 +442,7 @@ EOS
def multi_toggle_deleted threads
undos = threads.map { |t| actually_toggle_deleted t }
UndoManager.register "deleting/undeleting #{threads.size.pluralize 'thread'}",
- undos, lambda { regen_text }
+ undos, lambda { regen_text }, lambda { threads.each { |t| Index.save_thread t } }
regen_text
threads.each { |t| Index.save_thread t }
end
@@ -455,6 +458,7 @@ EOS
threads.each do |t|
t.remove_label :killed
add_or_unhide t.first
+ Index.save_thread t
end
regen_text
end
@@ -530,6 +534,7 @@ EOS
thread.labels = old_labels
update_text_for_line pos
UpdateManager.relay self, :labeled, thread.first
+ Index.save_thread thread
end
UpdateManager.relay self, :labeled, thread.first
@@ -567,6 +572,7 @@ EOS
threads.zip(old_labels).map do |t, old_labels|
t.labels = old_labels
UpdateManager.relay self, :labeled, t.first
+ Index.save_thread t
end
regen_text
end
diff --git a/lib/sup/modes/thread-view-mode.rb b/lib/sup/modes/thread-view-mode.rb
index 7c0b869..b08c819 100644
--- a/lib/sup/modes/thread-view-mode.rb
+++ b/lib/sup/modes/thread-view-mode.rb
@@ -279,6 +279,7 @@ EOS
Index.save_thread @thread
UndoManager.register "labeling thread" do
@thread.labels = old_labels
+ Index.save_thread @thread
UpdateManager.relay self, :labeled, @thread.first
end
end
@@ -527,6 +528,7 @@ EOS
Index.save_thread @thread
UndoManager.register "archiving 1 thread" do
@thread.apply_label :inbox
+ Index.save_thread @thread
UpdateManager.relay self, :unarchived, @thread.first
end
end
@@ -539,6 +541,7 @@ EOS
Index.save_thread @thread
UndoManager.register "marking 1 thread as spam" do
@thread.remove_label :spam
+ Index.save_thread @thread
UpdateManager.relay self, :unspammed, @thread.first
end
end
@@ -551,6 +554,7 @@ EOS
Index.save_thread @thread
UndoManager.register "deleting 1 thread" do
@thread.remove_label :deleted
+ Index.save_thread @thread
UpdateManager.relay self, :undeleted, @thread.first
end
end
--
1.6.5
_______________________________________________
Sup-devel mailing list
Sup-devel@rubyforge.org
http://rubyforge.org/mailman/listinfo/sup-devel
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [sup-devel] [PATCH 1/3] punctuate "No new messages." consistently between poll, jump_to_next_new
2010-01-04 6:06 [sup-devel] [PATCH 1/3] punctuate "No new messages." consistently between poll, jump_to_next_new Anthony Martinez
2010-01-04 6:06 ` [sup-devel] [PATCH 2/3] undoing read_and_archive should preserve unread state Anthony Martinez
@ 2010-01-05 21:25 ` William Morgan
1 sibling, 0 replies; 9+ messages in thread
From: William Morgan @ 2010-01-05 21:25 UTC (permalink / raw)
To: sup-devel
Applied directly to master. Thanks!
--
William <wmorgan-sup@masanjin.net>
_______________________________________________
Sup-devel mailing list
Sup-devel@rubyforge.org
http://rubyforge.org/mailman/listinfo/sup-devel
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [sup-devel] [PATCH 2/3] undoing read_and_archive should preserve unread state
2010-01-04 6:06 ` [sup-devel] [PATCH 2/3] undoing read_and_archive should preserve unread state Anthony Martinez
2010-01-04 6:06 ` [sup-devel] [PATCH 3/3] make the undo hooks also save the threads Anthony Martinez
@ 2010-01-05 21:25 ` William Morgan
1 sibling, 0 replies; 9+ messages in thread
From: William Morgan @ 2010-01-05 21:25 UTC (permalink / raw)
To: sup-devel
Applied directly to master. Thanks!
--
William <wmorgan-sup@masanjin.net>
_______________________________________________
Sup-devel mailing list
Sup-devel@rubyforge.org
http://rubyforge.org/mailman/listinfo/sup-devel
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [sup-devel] [PATCH 3/3] make the undo hooks also save the threads
2010-01-04 6:06 ` [sup-devel] [PATCH 3/3] make the undo hooks also save the threads Anthony Martinez
@ 2010-01-05 21:26 ` William Morgan
2010-01-05 22:45 ` [sup-devel] [PATCH-insta-save] " Anthony Martinez
0 siblings, 1 reply; 9+ messages in thread
From: William Morgan @ 2010-01-05 21:26 UTC (permalink / raw)
To: sup-devel
Sorry to be a pain. Can you resend this patch against the insta-save
branch? (It looks like I don't have the necessary blobs for a 3-way
merge, so I suspect you generated this against an unpublished commit?)
--
William <wmorgan-sup@masanjin.net>
_______________________________________________
Sup-devel mailing list
Sup-devel@rubyforge.org
http://rubyforge.org/mailman/listinfo/sup-devel
^ permalink raw reply [flat|nested] 9+ messages in thread
* [sup-devel] [PATCH-insta-save] make the undo hooks also save the threads
2010-01-05 21:26 ` William Morgan
@ 2010-01-05 22:45 ` Anthony Martinez
2010-01-05 22:45 ` [sup-devel] [PATCH] " Anthony Martinez
2010-01-05 23:47 ` [sup-devel] [PATCH-insta-save] " William Morgan
0 siblings, 2 replies; 9+ messages in thread
From: Anthony Martinez @ 2010-01-05 22:45 UTC (permalink / raw)
To: sup-devel
As requested, a patch against insta-save. Hopefully this works out better.
I generated this by rebasing my local next onto origin/next, then checked out
a local insta-save and cherry-picked next. There shouldn't be any dependences
on unpublished commits, though, git says my next is only head by this one
patch.
_______________________________________________
Sup-devel mailing list
Sup-devel@rubyforge.org
http://rubyforge.org/mailman/listinfo/sup-devel
^ permalink raw reply [flat|nested] 9+ messages in thread
* [sup-devel] [PATCH] make the undo hooks also save the threads
2010-01-05 22:45 ` [sup-devel] [PATCH-insta-save] " Anthony Martinez
@ 2010-01-05 22:45 ` Anthony Martinez
2010-01-05 23:47 ` [sup-devel] [PATCH-insta-save] " William Morgan
1 sibling, 0 replies; 9+ messages in thread
From: Anthony Martinez @ 2010-01-05 22:45 UTC (permalink / raw)
To: sup-devel
Since there is no explicit sync any longer, any action that has an
Index.save_thread must also repeat the save when the action is undone.
Failure to do this will result in an exception upon quit when the index
notices that there are still dirty messages.
---
lib/sup/modes/inbox-mode.rb | 4 ++++
lib/sup/modes/thread-index-mode.rb | 18 ++++++++++++------
lib/sup/modes/thread-view-mode.rb | 4 ++++
3 files changed, 20 insertions(+), 6 deletions(-)
diff --git a/lib/sup/modes/inbox-mode.rb b/lib/sup/modes/inbox-mode.rb
index 9220925..e2452e5 100644
--- a/lib/sup/modes/inbox-mode.rb
+++ b/lib/sup/modes/inbox-mode.rb
@@ -29,6 +29,7 @@ class InboxMode < ThreadIndexMode
UndoManager.register "archiving thread" do
thread.apply_label :inbox
add_or_unhide thread.first
+ Index.save_thread thread
end
cursor_thread.remove_label :inbox
@@ -42,6 +43,7 @@ class InboxMode < ThreadIndexMode
threads.map do |t|
t.apply_label :inbox
add_or_unhide t.first
+ Index.save_thread t
end
regen_text
end
@@ -62,6 +64,7 @@ class InboxMode < ThreadIndexMode
thread.apply_label :inbox
thread.apply_label :unread
add_or_unhide thread.first
+ Index.save_thread thread
end
cursor_thread.remove_label :unread
@@ -85,6 +88,7 @@ class InboxMode < ThreadIndexMode
threads.zip(old_labels).each do |t, l|
t.labels = l
add_or_unhide t.first
+ Index.save_thread t
end
regen_text
end
diff --git a/lib/sup/modes/thread-index-mode.rb b/lib/sup/modes/thread-index-mode.rb
index bbc9044..7808190 100644
--- a/lib/sup/modes/thread-index-mode.rb
+++ b/lib/sup/modes/thread-index-mode.rb
@@ -265,7 +265,7 @@ EOS
def toggle_starred
t = cursor_thread or return
undo = actually_toggle_starred t
- UndoManager.register "toggling thread starred status", undo
+ UndoManager.register "toggling thread starred status", undo, lambda { Index.save_thread t }
update_text_for_line curpos
cursor_down
Index.save_thread t
@@ -273,7 +273,8 @@ EOS
def multi_toggle_starred threads
UndoManager.register "toggling #{threads.size.pluralize 'thread'} starred status",
- threads.map { |t| actually_toggle_starred t }
+ threads.map { |t| actually_toggle_starred t },
+ lambda { threads.each { |t| Index.save_thread t } }
regen_text
threads.each { |t| Index.save_thread t }
end
@@ -351,14 +352,16 @@ EOS
def toggle_archived
t = cursor_thread or return
undo = actually_toggle_archived t
- UndoManager.register "deleting/undeleting thread #{t.first.id}", undo, lambda { update_text_for_line curpos }
+ UndoManager.register "deleting/undeleting thread #{t.first.id}", undo, lambda { update_text_for_line curpos },
+ lambda { Index.save_thread t }
update_text_for_line curpos
Index.save_thread t
end
def multi_toggle_archived threads
undos = threads.map { |t| actually_toggle_archived t }
- UndoManager.register "deleting/undeleting #{threads.size.pluralize 'thread'}", undos, lambda { regen_text }
+ UndoManager.register "deleting/undeleting #{threads.size.pluralize 'thread'}", undos, lambda { regen_text },
+ lambda { threads.each { |t| Index.save_thread t } }
regen_text
threads.each { |t| Index.save_thread t }
end
@@ -425,7 +428,7 @@ EOS
def multi_toggle_spam threads
undos = threads.map { |t| actually_toggle_spammed t }
UndoManager.register "marking/unmarking #{threads.size.pluralize 'thread'} as spam",
- undos, lambda { regen_text }
+ undos, lambda { regen_text }, lambda { threads.each { |t| Index.save_thread t } }
regen_text
threads.each { |t| Index.save_thread t }
end
@@ -439,7 +442,7 @@ EOS
def multi_toggle_deleted threads
undos = threads.map { |t| actually_toggle_deleted t }
UndoManager.register "deleting/undeleting #{threads.size.pluralize 'thread'}",
- undos, lambda { regen_text }
+ undos, lambda { regen_text }, lambda { threads.each { |t| Index.save_thread t } }
regen_text
threads.each { |t| Index.save_thread t }
end
@@ -455,6 +458,7 @@ EOS
threads.each do |t|
t.remove_label :killed
add_or_unhide t.first
+ Index.save_thread t
end
regen_text
end
@@ -530,6 +534,7 @@ EOS
thread.labels = old_labels
update_text_for_line pos
UpdateManager.relay self, :labeled, thread.first
+ Index.save_thread thread
end
UpdateManager.relay self, :labeled, thread.first
@@ -567,6 +572,7 @@ EOS
threads.zip(old_labels).map do |t, old_labels|
t.labels = old_labels
UpdateManager.relay self, :labeled, t.first
+ Index.save_thread t
end
regen_text
end
diff --git a/lib/sup/modes/thread-view-mode.rb b/lib/sup/modes/thread-view-mode.rb
index 99abb04..ddac113 100644
--- a/lib/sup/modes/thread-view-mode.rb
+++ b/lib/sup/modes/thread-view-mode.rb
@@ -262,6 +262,7 @@ EOS
Index.save_thread @thread
UndoManager.register "labeling thread" do
@thread.labels = old_labels
+ Index.save_thread @thread
UpdateManager.relay self, :labeled, @thread.first
end
end
@@ -484,6 +485,7 @@ EOS
Index.save_thread @thread
UndoManager.register "archiving 1 thread" do
@thread.apply_label :inbox
+ Index.save_thread @thread
UpdateManager.relay self, :unarchived, @thread.first
end
end
@@ -496,6 +498,7 @@ EOS
Index.save_thread @thread
UndoManager.register "marking 1 thread as spam" do
@thread.remove_label :spam
+ Index.save_thread @thread
UpdateManager.relay self, :unspammed, @thread.first
end
end
@@ -508,6 +511,7 @@ EOS
Index.save_thread @thread
UndoManager.register "deleting 1 thread" do
@thread.remove_label :deleted
+ Index.save_thread @thread
UpdateManager.relay self, :undeleted, @thread.first
end
end
--
1.6.5
_______________________________________________
Sup-devel mailing list
Sup-devel@rubyforge.org
http://rubyforge.org/mailman/listinfo/sup-devel
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [sup-devel] [PATCH-insta-save] make the undo hooks also save the threads
2010-01-05 22:45 ` [sup-devel] [PATCH-insta-save] " Anthony Martinez
2010-01-05 22:45 ` [sup-devel] [PATCH] " Anthony Martinez
@ 2010-01-05 23:47 ` William Morgan
1 sibling, 0 replies; 9+ messages in thread
From: William Morgan @ 2010-01-05 23:47 UTC (permalink / raw)
To: sup-devel
Reformatted excerpts from Anthony Martinez's message of 2010-01-05:
> As requested, a patch against insta-save. Hopefully this works out better.
Applied to insta-save and remerged into next. Thanks!
> I generated this by rebasing my local next onto origin/next, then
> checked out a local insta-save and cherry-picked next. There shouldn't
> be any dependences on unpublished commits, though, git says my next is
> only head by this one patch.
Ah, the magic of git!
Thanks for all your recent patches, btw. Top notch stuff.
--
William <wmorgan-sup@masanjin.net>
_______________________________________________
Sup-devel mailing list
Sup-devel@rubyforge.org
http://rubyforge.org/mailman/listinfo/sup-devel
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2010-01-05 23:47 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-01-04 6:06 [sup-devel] [PATCH 1/3] punctuate "No new messages." consistently between poll, jump_to_next_new Anthony Martinez
2010-01-04 6:06 ` [sup-devel] [PATCH 2/3] undoing read_and_archive should preserve unread state Anthony Martinez
2010-01-04 6:06 ` [sup-devel] [PATCH 3/3] make the undo hooks also save the threads Anthony Martinez
2010-01-05 21:26 ` William Morgan
2010-01-05 22:45 ` [sup-devel] [PATCH-insta-save] " Anthony Martinez
2010-01-05 22:45 ` [sup-devel] [PATCH] " Anthony Martinez
2010-01-05 23:47 ` [sup-devel] [PATCH-insta-save] " William Morgan
2010-01-05 21:25 ` [sup-devel] [PATCH 2/3] undoing read_and_archive should preserve unread state William Morgan
2010-01-05 21:25 ` [sup-devel] [PATCH 1/3] punctuate "No new messages." consistently between poll, jump_to_next_new William Morgan
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox