aboutsummaryrefslogtreecommitdiff
path: root/cmdbuf.c
diff options
context:
space:
mode:
authorXin LI <delphij@FreeBSD.org>2017-11-20 06:53:49 +0000
committerXin LI <delphij@FreeBSD.org>2017-11-20 06:53:49 +0000
commitee3dcfe98fdc32918e3476f437b9603983d6d0be (patch)
tree62ec9b28431130ee7fc5037091ea243b4304955f /cmdbuf.c
parent6f90225e8378d85045013553763bd7483670441c (diff)
downloadsrc-ee3dcfe98fdc32918e3476f437b9603983d6d0be.tar.gz
src-ee3dcfe98fdc32918e3476f437b9603983d6d0be.zip
Vendor import of less v529.vendor/less/v529
Notes
Notes: svn path=/vendor/less/dist/; revision=326007 svn path=/vendor/less/v529/; revision=326008; tag=vendor/less/v529
Diffstat (limited to 'cmdbuf.c')
-rw-r--r--cmdbuf.c24
1 files changed, 16 insertions, 8 deletions
diff --git a/cmdbuf.c b/cmdbuf.c
index 02fa231f2e29..db5b2595f9a5 100644
--- a/cmdbuf.c
+++ b/cmdbuf.c
@@ -40,7 +40,7 @@ static int in_completion = 0;
static char *tk_text;
static char *tk_original;
static char *tk_ipoint;
-static char *tk_trial;
+static char *tk_trial = NULL;
static struct textlist tk_tlist;
#endif
@@ -323,8 +323,8 @@ cmd_home()
static void
cmd_lshift()
{
- constant char *s;
- constant char *save_cp;
+ char *s;
+ char *save_cp;
int cols;
/*
@@ -342,7 +342,7 @@ cmd_lshift()
while (*s != '\0')
{
int width;
- constant char *ns = s;
+ char *ns = s;
cmd_step_right(&ns, &width, NULL);
if (width > 0)
break;
@@ -361,8 +361,8 @@ cmd_lshift()
static void
cmd_rshift()
{
- constant char *s;
- constant char *save_cp;
+ char *s;
+ char *save_cp;
int cols;
/*
@@ -427,8 +427,9 @@ cmd_right()
cmd_left()
{
char *ncp;
- int width, bswidth;
-
+ int width = 0;
+ int bswidth = 0;
+
if (cp <= cmdbuf)
{
/* Already at the beginning of the line */
@@ -1223,6 +1224,13 @@ cmd_char(c)
*cmd_mbc_buf = c;
if (IS_ASCII_OCTET(c))
cmd_mbc_buf_len = 1;
+#if MSDOS_COMPILER || OS2
+ else if (c == (unsigned char) '\340' && IS_ASCII_OCTET(peekcc()))
+ {
+ /* Assume a special key. */
+ cmd_mbc_buf_len = 1;
+ }
+#endif
else if (IS_UTF8_LEAD(c))
{
cmd_mbc_buf_len = utf_len(c);