doc/syntax/sh.nanorc, and doc/syntax/tex.nanorc; changes to
configure.ac, nano.spec.in, doc/Makefile.am, and
m4/Makefile.am; removal of doc/nanorc.sample. (DLR)
+ - Replace usage of the bool curses_ended with the isendwin()
+ function, and remove curses_ended. Changes to do_suspend().
+ (DLR)
- browser.c:
do_browser()
- Reference NANO_GOTODIR_(ALT|F)?KEY instead of
(DLR, found by Benno Schulenberg)
renumber()
- Remove invalid assert. (DLR, found by Filipe Moreira)
+ do_suspend()
+ - Simplify the printing of "Use \"fg\" to return to nano". (DLR)
do_input()
- Remove redundant check for allow_funcs' being TRUE when we get
KEY_MOUSE. (DLR)
statusbar message. (Benno Schulenberg)
- Unconditionally blank the statusbar as soon as we're finished
getting input. (DLR, suggested by Benno Schulenberg)
+- utils.c:
+ nperror()
+ - Simplify. (DLR)
- winio.c:
parse_kbinput()
- If we get NANO_CONTROL_8, properly handle it in all cases.
int reverse_attr = A_REVERSE;
/* The curses attribute we use for reverse video. */
-bool curses_ended = FALSE;
- /* Whether endwin() has ended curses mode and statusbar()
- * should hence write to stderr instead of displaying on the
- * statusbar. */
char *homedir = NULL;
/* The user's home directory, from $HOME or /etc/passwd. */
blank_statusbar();
wrefresh(bottomwin);
+
endwin();
/* Restore the old terminal settings. */
va_list ap;
endwin();
- curses_ended = TRUE;
/* Restore the old terminal settings. */
tcsetattr(0, TCSANOW, &oldterm);
/* Handler for SIGTSTP (suspend). */
RETSIGTYPE do_suspend(int signal)
{
+ /* Temporarily leave curses mode. */
endwin();
- printf("\n\n\n\n\n%s\n", _("Use \"fg\" to return to nano"));
+
+ printf(_("\n\n\n\n\nUse \"fg\" to return to nano\n"));
fflush(stdout);
/* Restore the old terminal settings. */
#endif
extern int reverse_attr;
-extern bool curses_ended;
extern char *homedir;
return mbstrcasestr(start, needle);
}
-/* This is a wrapper for the perror() function. The wrapper takes care
- * of curses, calls perror() (which writes to stderr), and then
- * refreshes the screen. Note that nperror() causes the window to
- * flicker once. */
+/* This is a wrapper for the perror() function. The wrapper temporarily
+ * leaves curses mode, calls perror() (which writes to stderr), and then
+ * reenters curses mode, updating the screen in the process. Note that
+ * nperror() causes the window to flicker once. */
void nperror(const char *s)
{
- /* Leave curses mode and go to the terminal. */
- if (endwin() != ERR) {
- perror(s); /* Print the error. */
- total_refresh(); /* Return to curses and refresh. */
- }
+ endwin();
+ perror(s);
+ doupdate();
}
/* This is a wrapper for the malloc() function that properly handles
/* Curses mode is turned off. If we use wmove() now, it will muck
* up the terminal settings. So we just use vfprintf(). */
- if (curses_ended) {
+ if (isendwin()) {
vfprintf(stderr, msg, ap);
va_end(ap);
return;