nano

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

commit ee39d57e8c3c87ce268caad24b6390129c4e4242
parent 6724a7ed39d5d6b7cabf3c5f01a0bdce17d31961
Author: Adam Rogoyski <rogoyski@cs.utexas.edu>
Date:   Tue, 20 Jun 2000 00:00:53 +0000

- do_wrap() spaces between words fix.


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

Diffstat:
Mnano.c | 26+++++++++++++++-----------
1 file changed, 15 insertions(+), 11 deletions(-)

diff --git a/nano.c b/nano.c @@ -703,18 +703,22 @@ assert (strlenpt(inptr->data) >= fill); else { /* Case 2a: cursor before word at wrap point. */ - if (current_x < current_word_start) { - temp->data = nmalloc(strlen(&inptr->data[current_word_start]) + 1); + if (current_x < current_word_start) { + temp->data = nmalloc(strlen(&inptr->data[current_word_start]) + 1); strcpy(temp->data, &inptr->data[current_word_start]); - - /* Do this in either case, else words after current_x - get chopped... */ - i = current_word_start - 1; - while (isspace(inptr->data[i])) { - i--; - assert (i >= 0); - } - + + if (!isspace(input_char)) { + i = current_word_start - 1; + while (isspace(inptr->data[i])) { + i--; + assert (i >= 0); + } + } + else if (current_x <= last_word_end) + i = last_word_end - 1; + else + i = current_x - 1; + inptr->data = nrealloc(inptr->data, i + 2); inptr->data[i + 1] = 0; }