From: Eric Wong Date: Fri, 24 Mar 2017 01:41:11 +0000 (+0000) Subject: searchview: show full (&x=t) messages in ascending chronlogical order X-Git-Tag: v1.0.0~75 X-Git-Url: http://www.git.stargrave.org/?p=public-inbox.git;a=commitdiff_plain;h=4ba430497bfb4763691b0ad8af573eb6ff420b96 searchview: show full (&x=t) messages in ascending chronlogical order When displaying search results with full messages, it makes more sense to show them in ascending chronological order when going by date. Reverse chronological order makes more sense for search results which only show the subject. --- diff --git a/lib/PublicInbox/SearchView.pm b/lib/PublicInbox/SearchView.pm index b867d002..cec87c6a 100644 --- a/lib/PublicInbox/SearchView.pm +++ b/lib/PublicInbox/SearchView.pm @@ -185,9 +185,9 @@ sub mset_thread { $pct{$smsg->mid} = $i->get_percent; $smsg; } ($mset->items) ]}); - + my $r = $q->{r}; my $rootset = PublicInbox::SearchThread::thread($msgs, - $q->{r} ? sort_relevance(\%pct) : *PublicInbox::View::sort_ts); + $r ? sort_relevance(\%pct) : *PublicInbox::View::sort_ts); my $skel = search_nav_bot($mset, $q). "
";
 	my $inbox = $ctx->{-inbox};
 	$ctx->{-upfx} = '';
@@ -203,11 +203,11 @@ sub mset_thread {
 
 	PublicInbox::View::walk_thread($rootset, $ctx,
 		*PublicInbox::View::pre_thread);
-
+	@$msgs = reverse @$msgs if $r;
 	my $mime;
 	sub {
 		return unless $msgs;
-		while ($mime = shift @$msgs) {
+		while ($mime = pop @$msgs) {
 			$mime = $inbox->msg_by_smsg($mime) and last;
 		}
 		if ($mime) {