commit e93167f4b73635d28d88226fdbba7ac42373d3df
parent 266e931d6bf995b25e6ab137733c7ca48f484141
Author: William Morgan <wmorgan-sup@masanjin.net>
Date: Sun, 29 Mar 2009 09:36:54 -0700
bugfix: catch invalid regular expressions in tag-matching
Diffstat:
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/lib/sup/modes/thread-index-mode.rb b/lib/sup/modes/thread-index-mode.rb
@@ -424,9 +424,14 @@ EOS
end
def tag_matching
- query = BufferManager.ask :search, "tag threads matching: "
+ query = BufferManager.ask :search, "tag threads matching (regex): "
return if query.nil? || query.empty?
- query = /#{query}/i
+ query = begin
+ /#{query}/i
+ rescue RegexpError => e
+ BufferManager.flash "error interpreting '#{query}': #{e.message}"
+ return
+ end
@mutex.synchronize { @threads.each { |t| @tags.tag t if thread_matches?(t, query) } }
regen_text
end