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;hp=b24abb7762a600a3cba45ccd9bcb5ec8d97dd37d 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) {