X-Git-Url: https://git.chrismorgan.info/gitweb/blobdiff_plain/662457e5a80e8f1037547efc535d6e888a7d5a74..909abc487e06381c85e05dd6e0136ff5818f6be5:/gitweb.cgi?ds=sidebyside
diff --git a/gitweb.cgi b/gitweb.cgi
index ea06c90..93c8484 100755
--- a/gitweb.cgi
+++ b/gitweb.cgi
@@ -1862,7 +1862,7 @@ sub esc_html_hl_regions {
 
 		$out .= esc_html(substr($str, $pos, $begin - $pos), %opts)
 			if ($begin - $pos > 0);
-		$out .= $cgi->span({-class => $css_class}, $escaped);
+		$out .= "$escaped ";
 
 		$pos = $end;
 	}
@@ -1892,7 +1892,7 @@ sub esc_html_match_hl {
 	my @matches = matchpos_list($str, $regexp);
 	return esc_html($str) unless @matches;
 
-	return esc_html_hl_regions($str, 'match', @matches);
+	return esc_html_hl_regions($str, undef, @matches);
 }
 
 
@@ -1924,7 +1924,7 @@ sub esc_html_match_hl_chopped {
 		push @filtered, $m;
 	}
 
-	return esc_html_hl_regions($chopped . $tail, 'match', @filtered);
+	return esc_html_hl_regions($chopped . $tail, undef, @filtered);
 }
 
 ## ----------------------------------------------------------------------
@@ -3032,7 +3032,7 @@ sub git_populate_project_tagcloud {
 			$title =~ s/^/ /g;
 			$title =~ s/$/ /g;
 			if (defined $matched && $matched eq $ctag) {
-				$title = qq($title );
+				$title = qq($title );
 			}
 			$cloud->add($title, href(project=>undef, ctag=>$ctag),
 			            $ctags_lc{$ctag}->{count});
@@ -3042,7 +3042,7 @@ sub git_populate_project_tagcloud {
 		foreach my $ctag (keys %ctags_lc) {
 			my $title = esc_html($ctags_lc{$ctag}->{topname}, -nbsp=>1);
 			if (defined $matched && $matched eq $ctag) {
-				$title = qq($title );
+				$title = qq($title );
 			}
 			$cloud->{$ctag}{count} = $ctags_lc{$ctag}->{count};
 			$cloud->{$ctag}{ctag} =
@@ -4086,11 +4086,11 @@ sub print_feed_meta {
 	} else {
 		printf(' '."\n",
-		       esc_attr($site_name),
+		       esc_attr(to_utf8($site_name)),
 		       esc_attr(href(project=>undef, action=>"project_index")));
 		printf(' '."\n",
-		       esc_attr($site_name),
+		       esc_attr(to_utf8($site_name)),
 		       esc_attr(href(project=>undef, action=>"opml")));
 	}
 }
@@ -4123,19 +4123,24 @@ sub print_nav_breadcrumbs_path {
 		print $cgi->a({-href => href(project => undef,
 		                             project_filter => $dirprefix,
 		                             action => "project_list")},
-			      esc_html($part)) . " / ";
+			      esc_html($part)) . "/";
 	}
 }
 
 sub print_nav_breadcrumbs {
 	my %opts = @_;
+	my $sep = to_utf8("  âºÂ  ");
 
+	my $first = 1;
 	for my $crumb (@extra_breadcrumbs, [ $home_link_str => $home_link ]) {
-		print $cgi->a({-href => esc_url($crumb->[1])}, $crumb->[0]) . " / ";
+		print $sep unless $first;
+		$first = 0;
+		print $cgi->a({-href => esc_url($crumb->[1])}, $crumb->[0]);
 	}
 	if (defined $project) {
 		my @dirname = split '/', $project;
 		my $projectbasename = pop @dirname;
+		print $sep;
 		print_nav_breadcrumbs_path(@dirname);
 		print $cgi->a({-href => href(action=>"summary")}, esc_html($projectbasename));
 		if (defined $action) {
@@ -4144,13 +4149,14 @@ sub print_nav_breadcrumbs {
 				$action_print = $cgi->a({-href => href(action=>$action)},
 					$action);
 			}
-			print " / $action_print";
+			print "$sep$action_print";
 		}
 		if (defined $opts{-action_extra}) {
-			print " / $opts{-action_extra}";
+			print "$sep$opts{-action_extra}";
 		}
 		print "\n";
 	} elsif (defined $project_filter) {
+		print $sep;
 		print_nav_breadcrumbs_path(split '/', $project_filter);
 	}
 }
@@ -4848,11 +4854,11 @@ sub git_difftree_body {
 	my ($difftree, $hash, @parents) = @_;
 	my ($parent) = $parents[0];
 	my $have_blame = gitweb_check_feature('blame');
-	print "
\n";
 	if ($#{$difftree} > 10) {
+		print "
\n";
 		print(($#{$difftree} + 1) . " files changed:\n");
+		print "
\n";
 	}
-	print "
 \n";
 
 	print " 1 ? "combined " : "") .
@@ -5877,11 +5883,13 @@ sub git_log_body {
 	$from = 0 unless defined $from;
 	$to = $#{$commitlist} if (!defined $to || $#{$commitlist} < $to);
 
+	print "\n";
 	for (my $i = 0; $i <= $to; $i++) {
 		my %co = %{$commitlist->[$i]};
 		next if !%co;
 		my $commit = $co{'id'};
 		my $ref = format_ref_marker($refs, $commit);
+		print "\n";
 		git_print_header_div('commit',
 		               "$co{'age_string'} " .
 		               esc_html($co{'title'}) . $ref,
@@ -5900,7 +5908,9 @@ sub git_log_body {
 		print "\n";
 		git_print_log($co{'comment'});
 		print "
\n";
+		print " \n";
 	}
+	print " \n";
 	if ($extra) {
 		print "\n";
 		print "$extra\n";
@@ -6319,7 +6329,7 @@ sub git_search_changes {
 			print $cgi->a({-href => href(action=>"blob", hash_base=>$co{'id'},
 			                             hash=>$set{'to_id'}, file_name=>$set{'to_file'}),
 			              -class => "list"},
-			              "" . esc_path($set{'file'}) . " ") .
+			              "" . esc_path($set{'file'}) . " ") .
 			      " \n";
 		}
 	}
@@ -6394,9 +6404,9 @@ sub git_search_files {
 			$ltext = untabify($ltext);
 			if ($ltext =~ m/^(.*)($search_regexp)(.*)$/i) {
 				$ltext = esc_html($1, -nbsp=>1);
-				$ltext .= '';
+				$ltext .= '';
 				$ltext .= esc_html($2, -nbsp=>1);
-				$ltext .= '  ';
+				$ltext .= '';
 				$ltext .= esc_html($3, -nbsp=>1);
 			} else {
 				$ltext = esc_html($ltext, -nbsp=>1);
@@ -6461,7 +6471,7 @@ sub git_search_grep_body {
 				$match = esc_html($match);
 				$trail = esc_html($trail);
 
-				print "$lead$match $trail ";
+				print "$lead$match $trail ";
 			}
 		}
 		print "\n" .
@@ -6625,51 +6635,66 @@ sub git_summary {
 
 	print "
\n";
 
+	print("\n");
+
 	# If XSS prevention is on, we don't include README.html.
 	# TODO: Allow a readme in some safe format.
 	if (!$prevent_xss && -s "$projectroot/$project/README.html") {
+		print("\n");
 		print "readme
\n" .
 		      "\n";
 		insert_file("$projectroot/$project/README.html");
 		print "\n
\n"; # class="readme"
+		print(" \n");
 	}
 
 	# we need to request one more than 16 (0..15) to check if
 	# those 16 are all
 	my @commitlist = $head ? parse_commits($head, 17) : ();
 	if (@commitlist) {
+		print("\n");
 		git_print_header_div('shortlog');
 		git_shortlog_body(\@commitlist, 0, 15, $refs,
 		                  $#commitlist <=  15 ? undef :
 		                  $cgi->a({-href => href(action=>"shortlog")}, "..."));
+		print(" \n");
 	}
 
 	if (@taglist) {
+		print("\n");
 		git_print_header_div('tags');
 		git_tags_body(\@taglist, 0, 15,
 		              $#taglist <=  15 ? undef :
 		              $cgi->a({-href => href(action=>"tags")}, "..."));
+		print(" \n");
 	}
 
 	if (@headlist) {
+		print("\n");
 		git_print_header_div('heads');
 		git_heads_body(\@headlist, $head, 0, 15,
 		               $#headlist <= 15 ? undef :
 		               $cgi->a({-href => href(action=>"heads")}, "..."));
+		print(" \n");
 	}
 
 	if (%remotedata) {
+		print("\n");
 		git_print_header_div('remotes');
 		git_remotes_body(\%remotedata, 15, $head);
+		print(" \n");
 	}
 
 	if (@forklist) {
+		print("\n");
 		git_print_header_div('forks');
 		git_project_list_body(\@forklist, 'age', 0, 15,
 		                      $#forklist <= 15 ? undef :
 		                      $cgi->a({-href => href(action=>"forks")}, "..."),
 		                      'no_header');
+		print(" \n");
 	}
+	print(" \n");
 
 	git_footer_html();
 }
@@ -8199,7 +8224,7 @@ sub git_feed {
 	return if ($cgi->request_method() eq 'HEAD');
 
 	# header variables
-	my $title = "$site_name - $project/$action";
+	my $title = to_utf8($site_name) . " - $project/$action";
 	my $feed_type = 'log';
 	if (defined $hash) {
 		$title .= " - '$hash'";
@@ -8362,7 +8387,7 @@ sub git_opml {
 		-charset => 'utf-8',
 		-content_disposition => 'inline; filename="opml.xml"');
 
-	my $title = esc_html($site_name);
+	my $title = esc_html(to_utf8($site_name));
 	my $filter = " within subdirectory ";
 	if (defined $project_filter) {
 		$filter .= esc_html($project_filter);