diff --git a/doc/nano.1 b/doc/nano.1 index c5668c89..f88d6754 100644 --- a/doc/nano.1 +++ b/doc/nano.1 @@ -291,7 +291,7 @@ The default value is \-8. Use this command to perform spell checking and correcting, instead of using the built-in corrector that calls \fBhunspell\fR or GNU \fBspell\fR. .TP -.BR \-t ", " \-\-tempfile +.BR \-t ", " \-\-saveonexit Save a changed buffer without prompting (when exiting with \fB^X\fR). .TP .BR \-u ", " \-\-unix diff --git a/doc/nano.texi b/doc/nano.texi index 763cb39e..6bd2577b 100644 --- a/doc/nano.texi +++ b/doc/nano.texi @@ -411,10 +411,10 @@ corrector, which requires either @command{hunspell} or GNU @command{spell} to be installed. @item -t -@itemx --tempfile -Don't ask whether to save a modified buffer when exiting with @kbd{^X}, but -assume yes. This option is useful when @command{nano} is used as the -composer of a mailer program. +@itemx --saveonexit +Save a changed buffer without prompting (when exiting with @kbd{^X}). +This can be handy when @command{nano} is used as the composer of an +email program. @item -u @item --unix @@ -1476,7 +1476,7 @@ When writing a file, creates a backup of the current file. @item discardbuffer When about to write a file, discard the current buffer without saving. -(This function is bound by default only when option @option{--tempfile} +(This function is bound by default only when option @option{--saveonexit} is in effect.) @item browser diff --git a/doc/nanorc.5 b/doc/nanorc.5 index 05b27449..439284de 100644 --- a/doc/nanorc.5 +++ b/doc/nanorc.5 @@ -247,6 +247,9 @@ system either Backspace acts like Delete or Delete acts like Backspace. Do regular-expression searches by default. Regular expressions in \fBnano\fR are of the extended type (ERE). .TP +.B set saveonexit +Save a changed buffer automatically on exit (\fB^X\fR); don't prompt. +.TP .B set selectedcolor \fIfgcolor\fR,\fIbgcolor\fR Specify the color combination to use for selected text. See \fBset titlecolor\fR for more details. @@ -293,9 +296,6 @@ greater than 0. The default value is \fB8\fR. .B set tabstospaces Convert typed tabs to spaces. .TP -.B set tempfile -Save automatically on exit, don't prompt. -.TP .B set titlecolor \fIfgcolor\fR,\fIbgcolor\fR Specify the color combination to use for the title bar. Valid names for the foreground and background colors are: @@ -796,7 +796,7 @@ When writing a file, creates a backup of the current file. .TP .B discardbuffer When about to write a file, discard the current buffer without saving. -(This function is bound by default only when option \fB\-\-tempfile\fR +(This function is bound by default only when option \fB\-\-saveonexit\fR is in effect.) .TP .B browser diff --git a/doc/sample.nanorc.in b/doc/sample.nanorc.in index 7e4f57e7..5b570a19 100644 --- a/doc/sample.nanorc.in +++ b/doc/sample.nanorc.in @@ -130,6 +130,10 @@ ## Regular expressions are of the extended type (ERE). # set regexp +## Save a changed buffer automatically on exit; don't prompt. +# set saveonexit +## (The old form of this option, 'set tempfile', is deprecated.) + ## Put the cursor on the highlighted item in the file browser, and show ## the cursor in the help viewer; useful for people who use a braille ## display and people with poor vision. @@ -159,9 +163,6 @@ ## Convert typed tabs to spaces. # set tabstospaces -## Save automatically on exit; don't prompt. -# set tempfile - ## Snip whitespace at the end of lines when justifying or hard-wrapping. # set trimblanks diff --git a/src/files.c b/src/files.c index a2338379..6aebb870 100644 --- a/src/files.c +++ b/src/files.c @@ -2060,7 +2060,7 @@ bool write_marked_file(const char *name, FILE *stream, bool tmp, /* Write the current file to disk. If the mark is on, write the current * marked selection to disk. If exiting is TRUE, write the entire file * to disk regardless of whether the mark is on. Do not ask for a name - * when withprompt is FALSE nor when the TEMP_FILE flag is set and the + * when withprompt is FALSE nor when the SAVE_ON_EXIT flag is set and the * file already has a name. Return 0 on error, 1 on success, and 2 when * the buffer is to be discarded. */ int do_writeout(bool exiting, bool withprompt) @@ -2113,7 +2113,7 @@ int do_writeout(bool exiting, bool withprompt) present_path = mallocstrcpy(present_path, "./"); /* When we shouldn't prompt, use the existing filename. */ - if ((!withprompt || (ISSET(TEMP_FILE) && exiting)) && + if ((!withprompt || (ISSET(SAVE_ON_EXIT) && exiting)) && openfile->filename[0] != '\0') answer = mallocstrcpy(answer, openfile->filename); else { @@ -2184,7 +2184,7 @@ int do_writeout(bool exiting, bool withprompt) * "zzy" as the filename to save under (hence "xyzzy"), and * this is the first time we've done this, show an Easter * egg. Display the credits. */ - if (!did_credits && exiting && !ISSET(TEMP_FILE) && + if (!did_credits && exiting && !ISSET(SAVE_ON_EXIT) && strcasecmp(answer, "zzy") == 0) { if (LINES > 5 && COLS > 31) { do_credits(); @@ -2273,7 +2273,7 @@ int do_writeout(bool exiting, bool withprompt) /* When in tool mode and not called by 'savefile', * overwrite the file right here when requested. */ - if (ISSET(TEMP_FILE) && withprompt) { + if (ISSET(SAVE_ON_EXIT) && withprompt) { free(given); if (choice == 1) return write_file(openfile->filename, NULL, diff --git a/src/global.c b/src/global.c index a6999e72..0b829f2b 100644 --- a/src/global.c +++ b/src/global.c @@ -482,7 +482,7 @@ size_t shown_entries_for(int menu) item = item->next; } - /* When --tempfile is not used, widen the grid of the WriteOut menu. */ + /* When --saveonexit is not used, widen the grid of the WriteOut menu. */ if (menu == MWRITEFILE && first_sc_for(menu, discard_buffer) == NULL) count--; @@ -1390,7 +1390,7 @@ void shortcut_init(void) add_to_sclist(MBROWSER, "^_", 0, goto_dir, 0); add_to_sclist(MBROWSER, "M-G", 0, goto_dir, 0); #endif - if (ISSET(TEMP_FILE) && !ISSET(PRESERVE)) + if (ISSET(SAVE_ON_EXIT) && !ISSET(PRESERVE)) add_to_sclist(MWRITEFILE, "^Q", 0, discard_buffer, 0); #ifndef NANO_TINY add_to_sclist(MWRITEFILE, "M-D", 0, dos_format_void, 0); diff --git a/src/nano.c b/src/nano.c index 6f1d058a..dce34793 100644 --- a/src/nano.c +++ b/src/nano.c @@ -570,7 +570,7 @@ void usage(void) print_opt(_("-s "), _("--speller="), N_("Enable alternate speller")); #endif - print_opt("-t", "--tempfile", N_("Auto save on exit, don't prompt")); + print_opt("-t", "--saveonexit", N_("Save changes on exit, don't prompt")); #ifndef NANO_TINY print_opt("-u", "--unix", N_("Save a file by default in Unix format")); #endif @@ -719,9 +719,9 @@ void version(void) printf("\n"); } -/* If the current file buffer has been modified, and the TEMP_FILE flag - * isn't set, ask whether or not to save the file buffer. If the - * TEMP_FILE flag is set and the current file has a name, save it +/* If the current file buffer has been modified, and the SAVE_ON_EXIT + * flag isn't set, ask whether or not to save the file buffer. If the + * SAVE_ON_EXIT flag is set and the current file has a name, save it * unconditionally. Then, if more than one file buffer is open, close * the current file buffer and switch to the next one. If only one file * buffer is open, exit from nano. */ @@ -733,15 +733,15 @@ void do_exit(void) * save. */ if (!openfile->modified) choice = 0; - /* If the TEMP_FILE flag is set and the current file has a name, + /* If the SAVE_ON_EXIT flag is set and the current file has a name, * pretend the user chose to save. */ - else if (openfile->filename[0] != '\0' && ISSET(TEMP_FILE)) + else if (openfile->filename[0] != '\0' && ISSET(SAVE_ON_EXIT)) choice = 1; /* Otherwise, ask the user whether or not to save. */ else { - /* If the TEMP_FILE flag is set, and the current file doesn't + /* If the SAVE_ON_EXIT flag is set, and the current file doesn't * have a name, warn the user before prompting for a name. */ - if (ISSET(TEMP_FILE)) + if (ISSET(SAVE_ON_EXIT)) warn_and_shortly_pause(_("No file name")); choice = do_yesno_prompt(FALSE, _("Save modified buffer? ")); @@ -1709,7 +1709,8 @@ int main(int argc, char **argv) #ifdef ENABLE_SPELLER {"speller", 1, NULL, 's'}, #endif - {"tempfile", 0, NULL, 't'}, + {"saveonexit", 0, NULL, 't'}, + {"tempfile", 0, NULL, 't'}, /* Deprecated; remove in 2022. */ {"view", 0, NULL, 'v'}, #ifdef ENABLE_WRAPPING {"nowrap", 0, NULL, 'w'}, @@ -1992,7 +1993,7 @@ int main(int argc, char **argv) break; #endif case 't': - SET(TEMP_FILE); + SET(SAVE_ON_EXIT); break; #ifndef NANO_TINY case 'u': diff --git a/src/nano.h b/src/nano.h index 75f6f3c7..75bcadb8 100644 --- a/src/nano.h +++ b/src/nano.h @@ -504,7 +504,7 @@ enum VIEW_MODE, USE_MOUSE, USE_REGEXP, - TEMP_FILE, + SAVE_ON_EXIT, CUT_FROM_CURSOR, BACKWARDS_SEARCH, MULTIBUFFER, diff --git a/src/rcfile.c b/src/rcfile.c index 0e090f1c..2ab2de59 100644 --- a/src/rcfile.c +++ b/src/rcfile.c @@ -86,13 +86,14 @@ static const rcoption rcopts[] = { {"rawsequences", RAW_SEQUENCES}, {"rebinddelete", REBIND_DELETE}, {"regexp", USE_REGEXP}, + {"saveonexit", SAVE_ON_EXIT}, #ifdef ENABLE_SPELLER {"speller", 0}, #endif {"suspend", SUSPENDABLE}, /* Deprecated; remove in 2022. */ {"suspendable", SUSPENDABLE}, {"tabsize", 0}, - {"tempfile", TEMP_FILE}, + {"tempfile", SAVE_ON_EXIT}, /* Deprecated; remove in 2022. */ {"view", VIEW_MODE}, #ifndef NANO_TINY {"afterends", AFTER_ENDS}, diff --git a/syntax/nanorc.nanorc b/syntax/nanorc.nanorc index de147787..01c76dae 100644 --- a/syntax/nanorc.nanorc +++ b/syntax/nanorc.nanorc @@ -7,7 +7,7 @@ comment "#" color brightred ".*" # Keywords -color brightgreen "^[[:space:]]*(set|unset)[[:space:]]+(afterends|allow_insecure_backup|atblanks|autoindent|backup|backwards|boldtext|breaklonglines|casesensitive|constantshow|cutfromcursor|emptyline|finalnewline|historylog|jumpyscrolling|linenumbers|locking|morespace|mouse|multibuffer|noconvert|nohelp|nopauses|nonewlines|nowrap|positionlog|preserve|quickblank|quiet|rawsequences|rebinddelete|regexp|showcursor|smarthome|smooth|softwrap|suspendable|tabstospaces|tempfile|trimblanks|unix|view|wordbounds|zap)\>" +color brightgreen "^[[:space:]]*(set|unset)[[:space:]]+(afterends|allow_insecure_backup|atblanks|autoindent|backup|backwards|boldtext|breaklonglines|casesensitive|constantshow|cutfromcursor|emptyline|finalnewline|historylog|jumpyscrolling|linenumbers|locking|morespace|mouse|multibuffer|noconvert|nohelp|nopauses|nonewlines|nowrap|positionlog|preserve|quickblank|quiet|rawsequences|rebinddelete|regexp|saveonexit|showcursor|smarthome|smooth|softwrap|suspendable|tabstospaces|trimblanks|unix|view|wordbounds|zap)\>" color yellow "^[[:space:]]*set[[:space:]]+((error|function|key|number|selected|status|stripe|title)color)[[:space:]]+(bright)?(white|black|red|blue|green|yellow|magenta|cyan|normal)?(,(white|black|red|blue|green|yellow|magenta|cyan|normal))?\>" color brightgreen "^[[:space:]]*set[[:space:]]+(backupdir|brackets|errorcolor|functioncolor|keycolor|matchbrackets|numbercolor|operatingdir|punct|quotestr|selectedcolor|speller|statuscolor|stripecolor|titlecolor|whitespace|wordchars)[[:space:]]+" color brightgreen "^[[:space:]]*set[[:space:]]+(fill[[:space:]]+-?[[:digit:]]+|(guidestripe|tabsize)[[:space:]]+[1-9][0-9]*)\>"