diff --git a/edit/ChangeLog b/edit/ChangeLog index 43270fa0d..6b0af1b04 100644 --- a/edit/ChangeLog +++ b/edit/ChangeLog @@ -1,5 +1,10 @@ 2002-09-23 Pavel Roskin + * edit.c (edit_move_forward3): Show '\r' as ^M. + * editdraw.c (edit_draw_this_line): Likewise. Use MOD_ABNORMAL + attribute. + From Alexander Varakin + * edit.h: Remove all references to O_TEXT, USE_O_TEXT and MY_O_TEXT. diff --git a/edit/edit.c b/edit/edit.c index b0c3f58bd..ad3227062 100644 --- a/edit/edit.c +++ b/edit/edit.c @@ -1214,8 +1214,9 @@ long edit_move_forward3 (WEdit * edit, long current, int cols, long upto) return p - 1; } c = edit_get_byte (edit, p); - if (c == '\r') - continue; + /* '\r' is shown as ^M, so we must advance 2 characters */ + if (c == '\r') + col += 2; else if (c == '\t') col += TAB_SIZE - col % TAB_SIZE; diff --git a/edit/editdraw.c b/edit/editdraw.c index a6d4482ca..315435ebc 100644 --- a/edit/editdraw.c +++ b/edit/editdraw.c @@ -300,6 +300,12 @@ static void edit_draw_this_line (WEdit * edit, long b, long row, long start_col, *(p++) = c; break; case '\r': + /* Display '\r' as ^M, just like vi does */ + *(p++) = '^'; + *p |= (256 * MOD_ABNORMAL); + *(p++) = 'M'; + *p |= (256 * MOD_ABNORMAL); + col += 2; break; default: #ifdef HAVE_CHARSET