]> granicus.if.org Git - neomutt/commitdiff
Respect $wrap_search in generic menu search (e.g. for browser)
authorRocco Rutte <pdmef@gmx.net>
Thu, 29 May 2008 12:18:25 +0000 (14:18 +0200)
committerRocco Rutte <pdmef@gmx.net>
Thu, 29 May 2008 12:18:25 +0000 (14:18 +0200)
ChangeLog
menu.c

index 8cb138cacfce95be1ed20465d446738bad276e02..3a489f9dceac9bfab7af1e1fc9e97db00fde5234 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2008-05-29 11:20 +0200  Rocco Rutte  <pdmef@gmx.net>  (18e7849e4c7c)
+
+       * doc/Makefile.am: Only install mutt_dotlock(1) if binary is
+       installed, too (closes #1601).
+
+2008-05-28 22:22 -0700  Paul Walker  <paul@black-sun.demon.co.uk>  (f4259a92dab6)
+
+       * ChangeLog, doc/Muttrc.head: Make default muttrc header weeding
+       tidier. Closes #286.
+
 2008-05-23 01:40 -0400  Todd Zullinger  <tmz@pobox.com>  (73a180edce53)
 
        * pgp.c: Call mutt_need_hard_redraw() in pgp_decrypt_part().
diff --git a/menu.c b/menu.c
index 0e1782cfefe30073c6bbb66d0062b2f3278dc057..834f3a02cfcab9b67465ee79f6facb2a3d3bed1e 100644 (file)
--- a/menu.c
+++ b/menu.c
@@ -713,7 +713,7 @@ void mutt_menuDestroy (MUTTMENU **p)
 
 static int menu_search (MUTTMENU *menu, int op)
 {
-  int r;
+  int r, wrap = 0;
   int searchDir;
   regex_t re;
   char buf[SHORT_STRING];
@@ -750,6 +750,9 @@ static int menu_search (MUTTMENU *menu, int op)
   }
 
   r = menu->current + searchDir;
+search_next:
+  if (wrap)
+    mutt_message (_("Search wrapped to top."));
   while (r >= 0 && r < menu->max)
   {
     if (menu->search (menu, &re, r) == 0)
@@ -761,6 +764,11 @@ static int menu_search (MUTTMENU *menu, int op)
     r += searchDir;
   }
 
+  if (option (OPTWRAPSEARCH) && wrap++ == 0)
+  {
+    r = searchDir == 1 ? 0 : menu->max - 1;
+    goto search_next;
+  }
   regfree (&re);
   mutt_error _("Not found.");
   return (-1);