Index: Support/bin/format_build_output.rb
===================================================================
--- Support/bin/format_build_output.rb	(revision 11780)
+++ Support/bin/format_build_output.rb	(working copy)
@@ -46,7 +46,8 @@
 	# Entrypoints for build parser
 	#
 	def start
-		emit_raw(html_head(:title => 'Build With Xcode', :sub_title => "Xcode"))
+		windowTitle=ENV['TM_XCODE_WTITLE'] || 'Build With Xcode'
+		emit_raw(html_head(:title => windowTitle, :sub_title => "Xcode"))
 	end
 	
 	def start_new_section(title = nil)
@@ -70,7 +71,12 @@
 			title += %Q{<span class="name">#{html_escape(style)}</span><br />}
 		end
 		
-		emit_start_section(title, :css_suffix => 'target', :visibility => :show)
+		if title.include? "BUILD LEGACY TARGET" then
+			emit_start_section(title, :css_suffix => 'target', :visibility => :hide)
+		else
+			emit_start_section(title, :css_suffix => 'target', :visibility => :show)
+		end
+		
 	end
 	
 	def file_compiled( verb, file )
Index: Support/bin/parse_build.rb
===================================================================
--- Support/bin/parse_build.rb	(revision 11780)
+++ Support/bin/parse_build.rb	(working copy)
@@ -141,6 +141,11 @@
 		when /^\s*((In file included from)|from)(\s*)(\/.*?):/
 			formatter.message_prefix( line )
 
+		# ignore {standard input} lines (tons for errors in Xcode 3.2)
+		when /^\{standard input\}/
+
+			# do nothing
+
 		# <path>:<line>:[column:] error description
 		when /^(.+?):(\d+):(?:\d*?:)?\s*(.*)/
 			path		= $1
Index: Support/bin/run_xcode_target.rb
===================================================================
--- Support/bin/run_xcode_target.rb	(revision 11780)
+++ Support/bin/run_xcode_target.rb	(working copy)
@@ -132,13 +132,20 @@
       
       # create a filesystem path
       fs_path = source_root
-      
+			
+			subpath=''
+			
       value.each do |group|
-        type, segment = source_tree_for_group(group)
+       type, segment = source_tree_for_group(group)
         unless type == :group
           fs_path = segment
+				else
+					if segment then
+						subpath=subpath+"/"+segment
+					end
         end
       end
+			fs_path=fs_path+subpath
       fs_path
     end
     
@@ -151,9 +158,16 @@
       path = nil
       @objects.each_pair do |key, obj|
 
-        if obj['isa'] == 'PBXContainerItemProxy'
-          sub_project_file = dereference(obj['containerPortal'])['path']
-          sub_project_path = File.join(File.split(@project_path).first, sub_project_file)
+        if obj['isa'] == 'PBXContainerItemProxyXX'
+          sub_project_file = dereference(obj['containerPortal'])['path'] || './'
+					print '@project_path: '
+					print @project_path
+					print 'sub_project_file: '
+					print sub_project_file
+          sub_project_path = File.join(
+						File.split(@project_path).first,
+						sub_project_file
+					)
           sub_project_path = File.expand_path(sub_project_path)
 
           next if @@did_scan_project.include? sub_project_path
@@ -171,7 +185,7 @@
         end
 
         next unless obj['isa'] == 'PBXFileReference'
-        next unless obj['path'].include? '/' + basename or obj['path'] == basename
+	      next unless obj['path'].include? '/' + basename or obj['path'] == basename
         path = path_for_fileref(key) + '/' + obj['path']
         break
       end
@@ -251,6 +265,9 @@
       def run(&block)
         dir_path  = @project.results_path
         file_path = product_path
+				
+				dir_path.sub!(/^\$HOME/,ENV['HOME'])
+				
         escaped_dir = e_sh(File.expand_path(dir_path))
         escaped_file = e_sh(file_path)
         
@@ -331,7 +348,7 @@
           found_target.run(&block)
         end
       else
-        info "Will try to run target #{ENV['XC_TARGET_NAME']}"
+				# info "Will try to run target #{ENV['XC_TARGET_NAME']}"
         found_target = targets.find { |t| t.name == ENV['XC_TARGET_NAME'] }
         if found_target
           found_target.run(&block)
@@ -363,11 +380,14 @@
             line = htmlize(line.chomp)
             line = line.gsub(/^(([\w.\/ ])+):(\d+):((\d+):)?(?!\d+\.\d+)/) do |string|
               # the negative lookahead suffix prevents matching the NSLog time prefix
-            
+							
               path        = @project.path_for_basename($1)
               line_number = $3
               column      = $4.nil? ? '' : "&column=#{$5}"
-              
+							
+# 							puts "path:"
+#               puts path
+							
               if path != nil and File.exist?(path) then
                 %Q{<a href="txmt://open?url=file://#{e_url(path)}&line=#{line_number}#{column}">#{string}</a>}
               else
