From 8d60770fa44d0ea8dd09d48b423250c6183781d7 Mon Sep 17 00:00:00 2001 From: "Rob Swindell (on Windows)" <rob@synchro.net> Date: Thu, 14 Sep 2023 21:27:12 -0700 Subject: [PATCH] Change external editor yes/no prompt default to match current user setting Also, although not a bug (because we re-read/parse the user's record every menu cycle), don't decrement user.xedit before calling uselect() - just not a good practice to not modify variables unnecessarily. See the corresponding change to exec.cpp, which was a bug. --- src/sbbs3/useredit.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/sbbs3/useredit.cpp b/src/sbbs3/useredit.cpp index da042207b9..2b3797854c 100644 --- a/src/sbbs3/useredit.cpp +++ b/src/sbbs3/useredit.cpp @@ -905,16 +905,15 @@ void sbbs_t::maindflts(user_t* user) putusermisc(user->number, user->misc); break; case 'E': - if(noyes(text[UseExternalEditorQ])) { + if((!user->xedit && noyes(text[UseExternalEditorQ])) + || (user->xedit && !yesno(text[UseExternalEditorQ]))) { if(!(sys_status & SS_ABORT)) putuserstr(user->number, USER_XEDIT, nulstr); break; } - if(user->xedit) - user->xedit--; for(i=0;i<cfg.total_xedits;i++) uselect(1,i,text[ExternalEditorHeading],cfg.xedit[i]->name, cfg.xedit[i]->ar); - if((i=uselect(0,user->xedit,0,0,0))>=0) + if((i=uselect(0,user->xedit ? user->xedit-1:0,0,0,0))>=0) putuserstr(user->number, USER_XEDIT, cfg.xedit[i]->code); break; case 'K': /* Command shell */ -- GitLab