end
   end
 
-  ## returns an ARRAY of filenames!
-  def ask_for_filenames domain, question, default=nil
+  def ask_for_filename domain, question, default=nil
     answer = ask domain, question, default do |s|
       if s =~ /(~([^\s\/]*))/ # twiddle directory expansion
         full = $1
         elsif File.directory?(answer)
           spawn_modal "file browser", FileBrowserMode.new(answer)
         else
-          [answer]
+          answer
         end
     end
 
-    answer || []
+    answer
   end
 
   ## returns an array of labels
 
   end
 
   def attach_file
-    fn = BufferManager.ask_for_filenames :attachment, "File name (enter for browser): "
-    fn.each { |f| @attachments << Pathname.new(f) }
+    fn = BufferManager.ask_for_filename :attachment, "File name (enter for browser): "
+    @attachments << Pathname.new(fn)
     update
   end
 
 
       end
     else
       begin
-        @value = [f.realpath.to_s]
+        @value = f.realpath.to_s
         @done = true
       rescue SystemCallError => e
         BufferManager.flash e.message
 
   end
 
   def save_to_disk
-    fn = BufferManager.ask :filename, "Save log to file: "
+    fn = BufferManager.ask_for_filename :filename, "Save log to file: "
     save_to_file(fn) { |f| f.puts text } if fn
   end
 
 
     chunk = @chunk_lines[curpos] or return
     case chunk
     when Message::Attachment
-      fn = BufferManager.ask :filename, "Save attachment to file: ", chunk.filename
+      fn = BufferManager.ask_for_filename :filename, "Save attachment to file: ", chunk.filename
       save_to_file(fn) { |f| f.print chunk.raw_content } if fn
     else
       m = @message_lines[curpos]
-      fn = BufferManager.ask :filename, "Save message to file: "
+      fn = BufferManager.ask_for_filename :filename, "Save message to file: "
       save_to_file(fn) { |f| f.print m.raw_full_message } if fn
     end
   end