diff -rc pine4.32/pine/folder.c pine4.32.circtab/pine/folder.c *** pine4.32/pine/folder.c Thu Jan 11 11:16:09 2001 --- pine4.32.circtab/pine/folder.c Wed Jan 17 19:38:30 2001 *************** *** 7039,7047 **** long *find_recent; int *did_cancel; { ! int index, recent = 0, failed_status = 0; char prompt[128]; FOLDER_S *f = NULL; /* note: find_folders may assign "stream" */ build_folder_list(streamp, cntxt, NULL, NULL, --- 7039,7048 ---- long *find_recent; int *did_cancel; { ! int index, recent = 0, failed_status = 0, done = 0; char prompt[128]; FOLDER_S *f = NULL; + char *test_current = cpystr(current); /* note: find_folders may assign "stream" */ build_folder_list(streamp, cntxt, NULL, NULL, *************** *** 7050,7056 **** if(find_recent) *find_recent = 0L; ! for(index = folder_index(current, cntxt, FI_FOLDER) + 1; index > 0 && index < folder_total(FOLDERS(cntxt)) && (f = folder_entry(index, FOLDERS(cntxt))) --- 7051,7059 ---- if(find_recent) *find_recent = 0L; ! ! find_new_message: ! for(index = folder_index(test_current, cntxt, FI_FOLDER) + 1; index > 0 && index < folder_total(FOLDERS(cntxt)) && (f = folder_entry(index, FOLDERS(cntxt))) *************** *** 7061,7066 **** --- 7064,7072 ---- int rv, we_cancel = 0; char msg_buf[MAX_SCREEN_COLS+1]; + if ( done && !strcmp(ps_global->cur_folder, FLDR_NAME(f))) + break; + /* must be a folder and it can't be the current one */ if(ps_global->context_current == ps_global->context_list && !strcmp(ps_global->cur_folder, FLDR_NAME(f))) *************** *** 7135,7144 **** } } ! if(f && (!find_recent || recent)) strcpy(next, FLDR_NAME(f)); else *next = '\0'; /* BUG: how can this be made smarter so we cache the list? */ free_folder_list(cntxt); --- 7141,7160 ---- } } ! if(f && (!find_recent || recent)){ strcpy(next, FLDR_NAME(f)); + done++; + } else *next = '\0'; + + if (F_ON(F_AUTO_CIRCULAR_TAB,ps_global) && !done){ + done++; + if (strcmp(test_current,ps_global->inbox_name)){ + test_current = ps_global->inbox_name; + goto find_new_message; + } + } /* BUG: how can this be made smarter so we cache the list? */ free_folder_list(cntxt); diff -rc pine4.32/pine/init.c pine4.32.circtab/pine/init.c *** pine4.32/pine/init.c Thu Jan 11 11:14:50 2001 --- pine4.32.circtab/pine/init.c Wed Jan 17 19:38:30 2001 *************** *** 2225,2230 **** --- 2225,2232 ---- /* Index prefs */ {"auto-open-next-unread", F_AUTO_OPEN_NEXT_UNREAD, h_config_auto_open_unread, PREF_INDX}, + {"enable-circular-tab", + F_AUTO_CIRCULAR_TAB, h_config_circular_tab, PREF_INDX}, {"continue-tab-without-confirm", F_TAB_NO_CONFIRM, h_config_tab_no_prompt, PREF_INDX}, {"delete-skips-deleted", diff -rc pine4.32/pine/mailcmd.c pine4.32.circtab/pine/mailcmd.c *** pine4.32/pine/mailcmd.c Fri Jan 5 10:58:37 2001 --- pine4.32.circtab/pine/mailcmd.c Wed Jan 17 19:38:31 2001 *************** *** 500,506 **** state->context_current, &recent_cnt, F_ON(F_TAB_NO_CONFIRM,state) ? NULL : &did_cancel))){ ! if(!in_inbox){ static ESCKEY_S inbox_opt[] = { {'y', 'y', "Y", "Yes"}, {'n', 'n', "N", "No"}, --- 500,506 ---- state->context_current, &recent_cnt, F_ON(F_TAB_NO_CONFIRM,state) ? NULL : &did_cancel))){ ! if(!in_inbox && F_OFF(F_AUTO_CIRCULAR_TAB,state)){ static ESCKEY_S inbox_opt[] = { {'y', 'y', "Y", "Yes"}, {'n', 'n', "N", "No"}, *************** *** 533,542 **** else if (did_cancel) cmd_cancelled(NULL); else ! q_status_message1(SM_ORDER, 0, 2, "No more %ss", (state->context_current->use&CNTXT_INCMNG) ? "incoming folder" : "news group"); - break; } --- 533,541 ---- else if (did_cancel) cmd_cancelled(NULL); else ! q_status_message1(SM_ORDER, 0, 2, "No more %ss", (state->context_current->use&CNTXT_INCMNG) ? "incoming folder" : "news group"); break; } diff -rc pine4.32/pine/pine.h pine4.32.circtab/pine/pine.h *** pine4.32/pine/pine.h Thu Jan 11 11:10:04 2001 --- pine4.32.circtab/pine/pine.h Wed Jan 17 19:38:31 2001 *************** *** 877,882 **** --- 877,883 ---- F_ALT_ED_NOW, F_SHOW_DELAY_CUE, F_AUTO_OPEN_NEXT_UNREAD, + F_AUTO_CIRCULAR_TAB, F_SELECTED_SHOWN_BOLD, F_QUOTE_ALL_FROMS, F_AUTO_INCLUDE_IN_REPLY, diff -rc pine4.32/pine/pine.hlp pine4.32.circtab/pine/pine.hlp *** pine4.32/pine/pine.hlp Thu Jan 11 11:08:06 2001 --- pine4.32.circtab/pine/pine.hlp Wed Jan 17 19:38:32 2001 *************** *** 2364,2369 **** --- 2364,2370 ----
+
+ <End of help on this topic> +