From 8cfde7de61b78f78b114578ea1e8850fdcd48376 Mon Sep 17 00:00:00 2001 From: Gunnar Ritter Date: Sat, 22 Jan 2005 22:45:29 +0000 Subject: [PATCH] * If a line began with a tabulator and another tabulator was inserted with the cursor located on the first tabulator, the display was not updated appropriately since the last revision (Bugreport by Matthew Fischer). (P) --- Changes | 5 +++-- ex_version.c | 2 +- ex_vput.c | 6 +++--- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/Changes b/Changes index d40911e..765669b 100644 --- a/Changes +++ b/Changes @@ -1,10 +1,11 @@ Release ... +* If a line began with a tabulator and another tabulator was inserted with + the cursor located on the first tabulator, the display was not updated + appropriately since the last revision (Bugreport by Matthew Fischer). (P) * Fixed a segmentation fault that occured in multibyte locales when operation was continued after vi had been stopped by ^Z, with the cursor positioned in a line longer than the terminal width as the last line of the current screen. -* In a multibyte locale, when operation was continued after vi had been - stopped by ^Z with the cursor positioned at the last line of the screen * Made it work for Big5 locales (Patches by Matthew Fischer). * Fixed a problem with the 'r' command in EUC-JP and Big5 locales (Bugreport by Matthew Fischer). diff --git a/ex_version.c b/ex_version.c index e8bcd6c..fbce393 100644 --- a/ex_version.c +++ b/ex_version.c @@ -70,7 +70,7 @@ * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * Sccsid @(#)ex_version.c 1.119 (gritter) 1/22/05 + * Sccsid @(#)ex_version.c 1.120 (gritter) 1/22/05 */ #include "ex.h" diff --git a/ex_vput.c b/ex_vput.c index 463635c..60e52a8 100644 --- a/ex_vput.c +++ b/ex_vput.c @@ -73,7 +73,7 @@ #ifndef lint #ifdef DOSCCS -static char sccsid[] = "@(#)ex_vput.c 1.44 (gritter) 1/22/05"; +static char sccsid[] = "@(#)ex_vput.c 1.45 (gritter) 1/22/05"; #endif #endif @@ -1055,7 +1055,7 @@ viin(int c) if (remdoom > insmc1) { remdoom--; endim(); - } else if (noim || remdoom == insmc1) + } else if (noim || insmc1 && remdoom == insmc1) endim(); else if (IM && EI) { vcsync(); @@ -1064,7 +1064,7 @@ viin(int c) vputchar(c); } - if (!IM || !EI || remdoom == insmc1) { + if (!IM || !EI || remdoom && remdoom == insmc1) { /* * We are a dumb terminal; brute force update * the rest of the line; this is very much an n^^2 process,