Index: CHANGES --- vile/CHANGES 2020-09-09 00:17:55.000000000 +0000 +++ vile-bad/CHANGES 2020-11-30 00:56:48.000000000 +0000 @@ -1,9 +1,11 @@ Changes for vile 9.9 (released ??? ??? ?? ????) - 20200908 (v) + 20201129 (v) > Stephan Schulz: + add popup-choices mode (Savannah #58999) > Tom Dickey: + + modify lins_chars() to handle a case where a script inserts a UTF-8 + character (report by Thomas Dupond). + modify configure/makefiles to support ".PHONY" feature. + change configure/makefiles to use ARFLAGS rather than AR_OPTS + change configure --with-warnings to --enable-warnings for consistency Index: estruct.h Prereq: 1.757 --- vile/estruct.h 2020-08-23 19:03:03.000000000 +0000 +++ vile-bad/estruct.h 2020-11-29 22:41:44.000000000 +0000 @@ -12,7 +12,7 @@ */ /* - * $Id: estruct.h,v 1.757 2020/08/23 19:03:03 Stephan.Schulz Exp $ + * $Id: estruct.h,v 1.758 2020/11/29 22:41:44 tom Exp $ */ #ifndef _estruct_h @@ -1316,10 +1316,14 @@ * True if the buffer contents are in UTF-8 (or -16, -32). */ #if OPT_MULTIBYTE +#define global_is_utfXX() ((global_b_val(VAL_FILE_ENCODING) >= enc_UTF8) \ + || (global_b_val(VAL_FILE_ENCODING) == enc_LOCALE \ + && vl_encoding >= enc_UTF8)) #define b_is_utfXX(bp) ((b_val(bp, VAL_FILE_ENCODING) >= enc_UTF8) \ || (b_val(bp, VAL_FILE_ENCODING) == enc_LOCALE \ && vl_encoding >= enc_UTF8)) #else +#define global_is_utfXX() 0 #define b_is_utfXX(bp) 0 #endif Index: insert.c Prereq: 1.184 --- vile/insert.c 2015-03-13 10:29:15.000000000 +0000 +++ vile-bad/insert.c 2020-11-29 22:44:16.000000000 +0000 @@ -4,7 +4,7 @@ * Most code probably by Dan Lawrence or Dave Conroy for MicroEMACS * Extensions for vile by Paul Fox * - * $Header: /tmp/vile/RCS/insert.c,v 1.184 2015/03/13 10:29:15 tom Exp $ + * $Header: /tmp/vile/RCS/insert.c,v 1.185 2020/11/29 22:44:16 tom Exp $ */ #include "estruct.h" @@ -1039,7 +1039,7 @@ while (n--) { tp = tstring; while (*tp) { - if ((status = inschar(*tp++, &backsp_limit)) != TRUE) { + if ((status = inschar(CharOf(*tp++), &backsp_limit)) != TRUE) { n = 0; break; } Index: line.c Prereq: 1.235 --- vile/line.c 2019-12-19 09:32:10.000000000 +0000 +++ vile-bad/line.c 2020-11-30 00:46:44.000000000 +0000 @@ -10,7 +10,7 @@ * editing must be being displayed, which means that "b_nwnd" is non zero, * which means that the dot and mark values in the buffer headers are nonsense. * - * $Id: line.c,v 1.235 2019/12/19 09:32:10 bod Exp $ + * $Id: line.c,v 1.236 2020/11/30 00:46:44 tom Exp $ */ /* #define POISON */ @@ -542,7 +542,7 @@ int nn; int mapped; - if ((c > 127) && b_is_utfXX(curbp)) { + if (!global_is_utfXX() && (c > 127) && b_is_utfXX(curbp)) { nbytes = vl_conv_to_utf8(target, (UINT) c, sizeof(target)); } else if (okCTYPE2(vl_wide_enc) && !vl_mb_is_8bit(c)) { nbytes = 1;