]> git.cworth.org Git - sup/commitdiff
bugfix: catch invalid regular expressions in tag-matching
authorWilliam Morgan <wmorgan-sup@masanjin.net>
Sun, 29 Mar 2009 16:36:54 +0000 (09:36 -0700)
committerWilliam Morgan <wmorgan-sup@masanjin.net>
Sun, 29 Mar 2009 16:36:54 +0000 (09:36 -0700)
lib/sup/modes/thread-index-mode.rb

index 73144db9ea9e03e04ba545b6051d524808020606..0beebafb3a13aff407eb62b0b5a4f699d7aa2a3e 100644 (file)
@@ -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