From b099ac321811b7cf69f173af3111ecc1fc5bb2ac Mon Sep 17 00:00:00 2001 From: Peter Avalos Date: Sat, 2 Jul 2011 12:49:01 -1000 Subject: [PATCH] Import less-444. Fix ungetc bug; remove vestiges of obsolete -l option. --- contrib/less/NEWS | 9 +++++++++ contrib/less/command.c | 2 ++ contrib/less/funcs.h | 1 - contrib/less/less.nro | 4 ++-- contrib/less/lessecho.nro | 2 +- contrib/less/lesskey.nro | 2 +- contrib/less/optfunc.c | 28 ---------------------------- contrib/less/opttbl.c | 4 ---- contrib/less/version.c | 3 ++- 9 files changed, 17 insertions(+), 38 deletions(-) diff --git a/contrib/less/NEWS b/contrib/less/NEWS index 4beefaf082..eb38025cbf 100644 --- a/contrib/less/NEWS +++ b/contrib/less/NEWS @@ -10,6 +10,15 @@ To report bugs, suggestions or comments, send email to bug-less@gnu.org or markn@greenwoodsoftware.com. +====================================================================== + + Major changes between "less" versions 443 and 444 + +* Fix bug in unget handling that can cause strange effects on the + command line. + +* Remove vestiges of obsolete -l option that can cause a crash. + ====================================================================== Major changes between "less" versions 436 and 443 diff --git a/contrib/less/command.c b/contrib/less/command.c index aa69a47c15..bacb058a5e 100644 --- a/contrib/less/command.c +++ b/contrib/less/command.c @@ -300,6 +300,7 @@ is_erase_char(c) */ static int mca_opt_first_char(c) + int c; { int flag = (optflag & ~OPT_NO_PROMPT); if (flag == OPT_NO_TOGGLE) @@ -839,6 +840,7 @@ ungetcc(c) ug->ug_char = c; ug->ug_next = ungot; ungot = ug; + unget_end = 0; } /* diff --git a/contrib/less/funcs.h b/contrib/less/funcs.h index 8464ada4b6..6595232e3d 100644 --- a/contrib/less/funcs.h +++ b/contrib/less/funcs.h @@ -194,7 +194,6 @@ public void unmark (); public void opt_o (); public void opt__O (); - public void opt_l (); public void opt_j (); public void calc_jump_sline (); public void opt_shift (); diff --git a/contrib/less/less.nro b/contrib/less/less.nro index 33050e15bb..0bc21b505c 100644 --- a/contrib/less/less.nro +++ b/contrib/less/less.nro @@ -1,4 +1,4 @@ -.TH LESS 1 "Version 443: 09 Apr 2011" +.TH LESS 1 "Version 444: 09 Jun 2011" .SH NAME less \- opposite of more .SH SYNOPSIS @@ -1276,7 +1276,7 @@ to each of the possible values for LESSCHARSET: .PP If neither LESSCHARSET nor LESSCHARDEF is set, but any of the strings "UTF-8", "UTF8", "utf-8" or "utf8" -is found in the LC_ALL, LC_TYPE or LANG +is found in the LC_ALL, LC_CTYPE or LANG environment variables, then the default character set is utf-8. .PP If that string is not found, but your system supports the diff --git a/contrib/less/lessecho.nro b/contrib/less/lessecho.nro index 5c17708f9e..46540e8bcc 100644 --- a/contrib/less/lessecho.nro +++ b/contrib/less/lessecho.nro @@ -1,4 +1,4 @@ -.TH LESSECHO 1 "Version 443: 09 Apr 2011" +.TH LESSECHO 1 "Version 444: 09 Jun 2011" .SH NAME lessecho \- expand metacharacters .SH SYNOPSIS diff --git a/contrib/less/lesskey.nro b/contrib/less/lesskey.nro index 8c99a0f8cf..d305b957ce 100644 --- a/contrib/less/lesskey.nro +++ b/contrib/less/lesskey.nro @@ -1,4 +1,4 @@ -.TH LESSKEY 1 "Version 443: 09 Apr 2011" +.TH LESSKEY 1 "Version 444: 09 Jun 2011" .SH NAME lesskey \- specify key bindings for less .SH SYNOPSIS diff --git a/contrib/less/optfunc.c b/contrib/less/optfunc.c index 79ac7c6226..a0aa10a81c 100644 --- a/contrib/less/optfunc.c +++ b/contrib/less/optfunc.c @@ -131,34 +131,6 @@ opt__O(type, s) } #endif -/* - * Handlers for -l option. - */ - public void -opt_l(type, s) - int type; - char *s; -{ - int err; - int n; - char *t; - - switch (type) - { - case INIT: - t = s; - n = getnum(&t, "l", &err); - if (err || n <= 0) - { - error("Line number is required after -l", NULL_PARG); - return; - } - plusoption = TRUE; - ungetsc(s); - break; - } -} - /* * Handlers for -j option. */ diff --git a/contrib/less/opttbl.c b/contrib/less/opttbl.c index d1c60a27c8..63f6889955 100644 --- a/contrib/less/opttbl.c +++ b/contrib/less/opttbl.c @@ -263,10 +263,6 @@ static struct loption option[] = NULL } }, - { 'l', NULL, - STRING|NO_TOGGLE|NO_QUERY, 0, NULL, opt_l, - { NULL, NULL, NULL } - }, { 'L', &L__optname, BOOL, OPT_ON, &use_lessopen, NULL, { diff --git a/contrib/less/version.c b/contrib/less/version.c index be75d2033f..dc5bb0c4f2 100644 --- a/contrib/less/version.c +++ b/contrib/less/version.c @@ -742,6 +742,7 @@ v441 1/21/11 Fix semi-infinite loop if no newlines in file; v442 3/2/11 Fix search bug. Add ctrl-G line edit command. v443 4/9/11 Fix Windows build. +v444 6/8/11 Fix ungetc bug; remove vestiges of obsolete -l option. */ -char version[] = "443"; +char version[] = "444"; -- 2.41.0