--- mutt-1.3.27/OPS.orig Tue Sep 11 12:50:50 2001 +++ mutt-1.3.27/OPS Wed Feb 6 01:50:36 2002 @@ -131,6 +131,7 @@ OP_PAGER_TOP "jump to the top of the message" OP_PIPE "pipe message/attachment to a shell command" OP_PREV_ENTRY "move to the previous entry" +OP_PREV_JUMP "jump to the previously selected message" OP_PREV_LINE "scroll up one line" OP_PREV_PAGE "move to the previous page" OP_PRINT "print the current entry" --- mutt-1.3.27/PATCHES.orig Tue Jan 15 10:03:20 2002 +++ mutt-1.3.27/PATCHES Wed Feb 6 01:50:36 2002 @@ -0,0 +1 @@ +Feature patch: previous-jump 1.3.27 by Stefan `Sec` Zehl --- mutt-1.3.27/curs_main.c.orig Wed Jan 16 21:43:58 2002 +++ mutt-1.3.27/curs_main.c Wed Feb 6 02:04:40 2002 @@ -417,6 +417,7 @@ int tag = 0; /* has the tag-prefix command been pressed? */ int newcount = -1; int oldcount = -1; + int LastJumped = -1; int rc = -1; MUTTMENU *menu; char *cp; /* temporary variable. */ @@ -719,6 +720,7 @@ if (j >= 0) { menu->current = Context->hdrs[j]->virtual; + LastJumped=Context->v2r[menu->current]+1; if (menu->menu == MENU_PAGER) { op = OP_DISPLAY_MESSAGE; @@ -1043,6 +1045,7 @@ the folder */ menu->redraw = REDRAW_FULL; set_option (OPTSEARCHINVALID); + LastJumped=-1; break; case OP_DISPLAY_MESSAGE: @@ -1184,6 +1187,29 @@ menu->redraw = REDRAW_MOTION; break; + case OP_PREV_JUMP: + i=LastJumped; + if (i > 0 && i <= Context->msgcount) + { + if (Context->hdrs[i-1]->virtual != -1) + { + LastJumped=Context->v2r[menu->current]+1; + menu->current = Context->hdrs[i-1]->virtual; + if (menu->menu == MENU_PAGER) + { + op = OP_DISPLAY_MESSAGE; + continue; + } + else + menu->redraw = REDRAW_MOTION; + } + else + mutt_error ("That message is not visible."); + } + else + mutt_error ("No target yet."); + break; + case OP_PREV_ENTRY: CHECK_MSGCOUNT; @@ -1254,6 +1280,7 @@ CHECK_MSGCOUNT; CHECK_VISIBLE; + LastJumped=Context->v2r[menu->current]+1; i = menu->current; menu->current = -1; for (j = 0; j != Context->vcount; j++) @@ -1420,6 +1447,7 @@ CHECK_MSGCOUNT; CHECK_VISIBLE; + i=Context->v2r[menu->current]+1; switch (op) { case OP_MAIN_NEXT_THREAD: --- mutt-1.3.27/functions.h.orig Tue Sep 11 12:51:39 2001 +++ mutt-1.3.27/functions.h Wed Feb 6 01:50:36 2002 @@ -91,6 +91,7 @@ { "display-toggle-weed", OP_DISPLAY_HEADERS, "h" }, { "next-undeleted", OP_MAIN_NEXT_UNDELETED, "j" }, { "previous-undeleted", OP_MAIN_PREV_UNDELETED, "k" }, + { "previous-jump", OP_PREV_JUMP, "\033b" }, { "limit", OP_MAIN_LIMIT, "l" }, { "list-reply", OP_LIST_REPLY, "L" }, { "mail", OP_MAIL, "m" }, @@ -172,6 +173,7 @@ { "next-entry", OP_NEXT_ENTRY, "J" }, { "previous-undeleted",OP_MAIN_PREV_UNDELETED, "k" }, { "previous-entry", OP_PREV_ENTRY, "K" }, + { "previous-jump", OP_PREV_JUMP, "\033b" }, { "list-reply", OP_LIST_REPLY, "L" }, { "redraw-screen", OP_REDRAW, "\014" }, { "mail", OP_MAIL, "m" },