commit 95ef337b1abc9edff22e71841b81b88562c92b37
parent 9c4488bf0c6586fee7bc9279427e219435f2c02c
Author: David Lawrence Ramsey <pooka109@gmail.com>
Date: Tue, 20 Sep 2005 19:44:19 +0000
revert previous changes, as lines are broken on tabs regardless of goal
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@3027 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
Diffstat:
2 files changed, 4 insertions(+), 9 deletions(-)
diff --git a/ChangeLog b/ChangeLog
@@ -317,9 +317,8 @@ CVS code -
do_enter()
- Don't update the edit window until we set placewewant. (DLR)
break_line()
- - Fix problems where a line could be broken in the middle of
- a multibyte character, and goal could be miscalculated on lines
- containing tabs. (DLR)
+ - Fix a problem where a line could be broken in the middle of a
+ multibyte character. (DLR)
do_word_count()
- Rename to do_wordlinechar_count(), and expand to also count
the number of lines and characters in the file or selection,
diff --git a/src/text.c b/src/text.c
@@ -570,16 +570,12 @@ ssize_t break_line(const char *line, ssize_t goal, bool newline)
* found with short enough display width. */
ssize_t cur_loc = 0;
/* Current index in line. */
- size_t pos = 0;
- /* Current column position in line. */
- size_t old_pos;
- /* Previous column position in line. */
int line_len;
assert(line != NULL);
while (*line != '\0' && goal >= 0) {
- old_pos = pos;
+ size_t pos = 0;
line_len = parse_mbchar(line, NULL, &pos);
@@ -590,7 +586,7 @@ ssize_t break_line(const char *line, ssize_t goal, bool newline)
break;
}
- goal -= pos - old_pos;
+ goal -= pos;
line += line_len;
cur_loc += line_len;
}