nano

nano with my custom patches
git clone git://bsandro.tech/nano
Log | Files | Refs | README | LICENSE

commit 3925bdafda978e8e2ae69d3593b39be9eed0f38e
parent f47f150c8292f419fe9c8918db71a8526874f56b
Author: David Lawrence Ramsey <pooka109@gmail.com>
Date:   Tue,  7 Jun 2005 03:20:35 +0000

fix erroneous #ifdef that caused a compilation problem when
--enable-nanorc wasn't used and --enable-extra was, and make sure we put
back the keystroke that breaks us out of the credits (if any)


git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@2607 35c25a1d-7b9e-4130-9fde-d3aeb78583b8

Diffstat:
MChangeLog | 10++++++++++
Msrc/chars.c | 2+-
Msrc/winio.c | 11+++++++----
3 files changed, 18 insertions(+), 5 deletions(-)

diff --git a/ChangeLog b/ChangeLog @@ -54,6 +54,11 @@ CVS code - and NANO_APPEND_KEY are. Changes to shortcut_init(), usage(), main(), search_init(), nanorc.sample, nano.1, nanorc.5, nano.texi, etc. (DLR) +- chars.c: + make_mbstring() + - Change erroneous ENABLE_EXTRA #ifdef to NANO_EXTRA to fix a + compilation problem when --enable-nanorc isn't used and + --enable-extra is. (DLR) - cut.c: cut_line() - Set placewewant properly after cutting a line, to avoid a @@ -178,6 +183,11 @@ CVS code - total_update() - Simplify to call clearok(TRUE) and wrefresh() on edit, which updates the entire screen in fewer function calls. (DLR) + do_credits() + - Save the keystroke that breaks us out of the credits (if any) + and put it back so that it isn't lost. This is especially + needed if the keystroke is part of a multibyte character. + (DLR) - configure.ac: - Minor tweaks to some of the test blocks to avoid XSI:isms. (DLR, adapted from a Debian patch for GNU ed by David diff --git a/src/chars.c b/src/chars.c @@ -301,7 +301,7 @@ char *make_mbchar(int chr, int *chr_mb_len) return chr_mb; } -#if defined(ENABLE_NANORC) || defined(ENABLE_EXTRA) +#if defined(ENABLE_NANORC) || defined(NANO_EXTRA) /* Convert the string str to a valid multibyte string with the same wide * character values as str. Return the (dynamically allocated) * multibyte string. */ diff --git a/src/winio.c b/src/winio.c @@ -4020,7 +4020,7 @@ void dump_buffer_reverse(void) /* Easter egg: Display credits. Assume nodelay(edit) is FALSE. */ void do_credits(void) { - int crpos = 0, xlpos = 0; + int kbinput = ERR, crpos = 0, xlpos = 0; const char *credits[CREDIT_LEN] = { NULL, /* "The nano text editor" */ NULL, /* "version" */ @@ -4101,7 +4101,7 @@ void do_credits(void) wrefresh(bottomwin); for (crpos = 0; crpos < CREDIT_LEN + editwinrows / 2; crpos++) { - if (wgetch(edit) != ERR) + if ((kbinput = wgetch(edit)) != ERR) break; if (crpos < CREDIT_LEN) { @@ -4129,16 +4129,19 @@ void do_credits(void) napms(700); scroll(edit); wrefresh(edit); - if (wgetch(edit) != ERR) + if ((kbinput = wgetch(edit)) != ERR) break; napms(700); scroll(edit); wrefresh(edit); } + if (kbinput != ERR) + ungetch(kbinput); + + curs_set(1); scrollok(edit, FALSE); nodelay(edit, FALSE); - curs_set(1); total_refresh(); } #endif