Vendor import of less v563.
This commit is contained in:
parent
6aa86b4531
commit
e3e1c0a5de
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/vendor/less/dist/; revision=366990 svn path=/vendor/less/v563/; revision=366991; tag=vendor/less/v563
12
Makefile.aut
12
Makefile.aut
@ -4,7 +4,7 @@ EMAIL = bug-less@gnu.org
|
||||
HOMEPAGE = http://www.greenwoodsoftware.com/less
|
||||
SHELL = /bin/sh
|
||||
GIT = git
|
||||
NROFF = nroff -man
|
||||
NROFF = nroff -t -man
|
||||
|
||||
srcdir = .
|
||||
|
||||
@ -52,8 +52,7 @@ help.c: less.hlp
|
||||
${srcdir}/mkhelp.pl < less.hlp > help.c
|
||||
if cmp -s help.c help.c.old; then mv -f help.c.old help.c; fi
|
||||
|
||||
${srcdir}/configure: ${srcdir}/configure.ac \
|
||||
${srcdir}/Makefile.in
|
||||
${srcdir}/configure ${srcdir}/defines.h.in: ${srcdir}/configure.ac ${srcdir}/Makefile.in
|
||||
cd ${srcdir}; autoheader; autoconf
|
||||
|
||||
funcs.h: ${SRC:%=${srcdir}/%}
|
||||
@ -66,6 +65,7 @@ lint:
|
||||
|
||||
clean:
|
||||
rm -f Makefile config.status config.log config.cache defines.h stamp-h \
|
||||
configure defines.h.in funcs.h help.c \
|
||||
README NEWS \
|
||||
less.nro less.man lesskey.nro lesskey.man lessecho.nro lessecho.man
|
||||
|
||||
@ -93,8 +93,6 @@ ${srcdir}/lesskey.nro: ${srcdir}/lesskey.nro.VER ${srcdir}/version.c
|
||||
${REPLACE_VERSION} ${srcdir}/lesskey.nro.VER
|
||||
${srcdir}/lessecho.nro: ${srcdir}/lessecho.nro.VER ${srcdir}/version.c
|
||||
${REPLACE_VERSION} ${srcdir}/lessecho.nro.VER
|
||||
${srcdir}/less.hlp: ${srcdir}/less.hlp.VER ${srcdir}/version.c
|
||||
${REPLACE_VERSION} ${srcdir}/less.hlp.VER
|
||||
|
||||
${srcdir}/less.man: ${srcdir}/less.nro
|
||||
${NROFF} ${srcdir}/less.nro >${srcdir}/less.man
|
||||
@ -114,10 +112,10 @@ wide.uni: unicode/EastAsianWidth.txt
|
||||
|
||||
unicode/UnicodeData.txt:
|
||||
mkdir -p unicode
|
||||
curl -s -o $@ ftp://ftp.unicode.org/Public/UNIDATA/UnicodeData.txt
|
||||
curl -s -u 'anonymous:${EMAIL}' -o $@ ftp://ftp.unicode.org/Public/UNIDATA/UnicodeData.txt
|
||||
unicode/EastAsianWidth.txt:
|
||||
mkdir -p unicode
|
||||
curl -s -o $@ ftp://ftp.unicode.org/Public/UNIDATA/EastAsianWidth.txt
|
||||
curl -s -u 'anonymous:${EMAIL}' -o $@ ftp://ftp.unicode.org/Public/UNIDATA/EastAsianWidth.txt
|
||||
|
||||
distfiles: ${DISTFILES}
|
||||
|
||||
|
@ -7,11 +7,11 @@ CC = cl
|
||||
|
||||
# Normal flags
|
||||
CFLAGS = /nologo /MD /W3 /EHsc /O2 /I "." /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /c
|
||||
LDFLAGS = /nologo /subsystem:console /incremental:no /machine:I386
|
||||
LDFLAGS = /nologo /subsystem:console /incremental:no
|
||||
|
||||
# Debugging flags
|
||||
#CFLAGS = /nologo /MDd /W3 /GX /Od /Gm /Zi /I "." /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /c
|
||||
#LDFLAGS = /nologo /subsystem:console /incremental:yes /debug /machine:I386
|
||||
#LDFLAGS = /nologo /subsystem:console /incremental:yes /debug
|
||||
|
||||
LD = link
|
||||
LIBS = user32.lib
|
||||
|
25
NEWS
25
NEWS
@ -9,6 +9,31 @@
|
||||
|
||||
To report bugs, suggestions or comments, send email to bug-less@gnu.org
|
||||
|
||||
======================================================================
|
||||
|
||||
Major changes between "less" versions 551 and 563
|
||||
|
||||
* Update Unicode tables.
|
||||
|
||||
* Treat Hangul Jamo medial vowels and final consonants as zero width.
|
||||
|
||||
* Display error message immediately when -o is toggled and
|
||||
input is not a pipe.
|
||||
|
||||
* Fix regression: make screen repaint when "squished" and
|
||||
a no-movement command is given.
|
||||
|
||||
* Fix erroneous EOF calculation when F command is interrupted.
|
||||
|
||||
* Make WIN32C version include this fix from 551:
|
||||
Don't count lines in initial screen if using -X with -F.
|
||||
|
||||
* Fix display bug in WIN32C version.
|
||||
|
||||
* Fix memory corruption when built with libtermcap.
|
||||
|
||||
* Support libtinfow.
|
||||
|
||||
======================================================================
|
||||
|
||||
Major changes between "less" versions 530 and 551
|
||||
|
12
README
12
README
@ -1,7 +1,7 @@
|
||||
|
||||
Less, version 551
|
||||
Less, version 563
|
||||
|
||||
This is the distribution of less, version 551, released 11 Jun 2019.
|
||||
This is the distribution of less, version 563, released 13 Jun 2020.
|
||||
This program is part of the GNU project (http://www.gnu.org).
|
||||
|
||||
This program is free software. You may redistribute it and/or
|
||||
@ -25,6 +25,14 @@ The formatted manual page is in less.man.
|
||||
The manual page nroff source is in less.nro.
|
||||
Major changes made since the last posted version are in NEWS.
|
||||
|
||||
=======================================================================
|
||||
PRE-INSTALLATION (when using git)
|
||||
|
||||
If you are building from a clone of a git repository,
|
||||
type "make -f Makefile.aut".
|
||||
If you are building from a numbered release package (a tar or zip file
|
||||
with a name like less-999.tar.gz or less-999.zip), you should skip this step.
|
||||
|
||||
=======================================================================
|
||||
INSTALLATION (Unix systems only):
|
||||
|
||||
|
2
brac.c
2
brac.c
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 1984-2019 Mark Nudelman
|
||||
* Copyright (C) 1984-2020 Mark Nudelman
|
||||
*
|
||||
* You may distribute under the terms of either the GNU General Public
|
||||
* License or the Less License, as specified in the README file.
|
||||
|
6
ch.c
6
ch.c
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 1984-2019 Mark Nudelman
|
||||
* Copyright (C) 1984-2020 Mark Nudelman
|
||||
*
|
||||
* You may distribute under the terms of either the GNU General Public
|
||||
* License or the Less License, as specified in the README file.
|
||||
@ -408,6 +408,7 @@ end_logfile(VOID_PARAM)
|
||||
}
|
||||
close(logfile);
|
||||
logfile = -1;
|
||||
free(namelogfile);
|
||||
namelogfile = NULL;
|
||||
}
|
||||
|
||||
@ -842,7 +843,8 @@ seekable(f)
|
||||
public void
|
||||
ch_set_eof(VOID_PARAM)
|
||||
{
|
||||
ch_fsize = ch_fpos;
|
||||
if (ch_fsize != NULL_POSITION && ch_fsize < ch_fpos)
|
||||
ch_fsize = ch_fpos;
|
||||
}
|
||||
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 1984-2019 Mark Nudelman
|
||||
* Copyright (C) 1984-2020 Mark Nudelman
|
||||
*
|
||||
* You may distribute under the terms of either the GNU General Public
|
||||
* License or the Less License, as specified in the README file.
|
||||
@ -509,7 +509,7 @@ prutfchar(ch)
|
||||
*/
|
||||
public int
|
||||
utf_len(ch)
|
||||
unsigned char ch;
|
||||
int ch;
|
||||
{
|
||||
if ((ch & 0x80) == 0)
|
||||
return 1;
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 1984-2019 Mark Nudelman
|
||||
* Copyright (C) 1984-2020 Mark Nudelman
|
||||
*
|
||||
* You may distribute under the terms of either the GNU General Public
|
||||
* License or the Less License, as specified in the README file.
|
||||
|
2
cmd.h
2
cmd.h
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 1984-2019 Mark Nudelman
|
||||
* Copyright (C) 1984-2020 Mark Nudelman
|
||||
*
|
||||
* You may distribute under the terms of either the GNU General Public
|
||||
* License or the Less License, as specified in the README file.
|
||||
|
7
cmdbuf.c
7
cmdbuf.c
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 1984-2019 Mark Nudelman
|
||||
* Copyright (C) 1984-2020 Mark Nudelman
|
||||
*
|
||||
* You may distribute under the terms of either the GNU General Public
|
||||
* License or the Less License, as specified in the README file.
|
||||
@ -34,7 +34,7 @@ static int literal; /* Next input char should not be interpreted */
|
||||
static int updown_match = -1; /* Prefix length in up/down movement */
|
||||
|
||||
#if TAB_COMPLETE_FILENAME
|
||||
static int cmd_complete();
|
||||
static int cmd_complete LESSPARAMS((int action));
|
||||
/*
|
||||
* These variables are statics used by cmd_complete.
|
||||
*/
|
||||
@ -960,10 +960,7 @@ cmd_istr(str)
|
||||
step_char(&s, +1, endline);
|
||||
action = cmd_ichar(os, s - os);
|
||||
if (action != CC_OK)
|
||||
{
|
||||
bell();
|
||||
return (action);
|
||||
}
|
||||
}
|
||||
return (CC_OK);
|
||||
}
|
||||
|
10
command.c
10
command.c
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 1984-2019 Mark Nudelman
|
||||
* Copyright (C) 1984-2020 Mark Nudelman
|
||||
*
|
||||
* You may distribute under the terms of either the GNU General Public
|
||||
* License or the Less License, as specified in the README file.
|
||||
@ -88,7 +88,7 @@ struct ungot {
|
||||
};
|
||||
static struct ungot* ungot = NULL;
|
||||
|
||||
static void multi_search();
|
||||
static void multi_search LESSPARAMS((char *pattern, int n, int silent));
|
||||
|
||||
/*
|
||||
* Move the cursor to start of prompt line before executing a command.
|
||||
@ -1800,6 +1800,12 @@ commands(VOID_PARAM)
|
||||
optgetname = FALSE;
|
||||
mca_opt_toggle();
|
||||
c = getcc();
|
||||
cbuf = opt_toggle_disallowed(c);
|
||||
if (cbuf != NULL)
|
||||
{
|
||||
error(cbuf, NULL_PARG);
|
||||
break;
|
||||
}
|
||||
goto again;
|
||||
|
||||
case A_DISP_OPTION:
|
||||
|
28
compose.uni
28
compose.uni
@ -1,4 +1,4 @@
|
||||
/* Generated by "./mkutable -f2 Mn Me -- unicode/UnicodeData.txt" on Wed Feb 13 17:57:05 PST 2019 */
|
||||
/* Generated by "./mkutable -f2 Mn Me -- unicode/UnicodeData.txt" on Tue May 19 14:47:34 PDT 2020 */
|
||||
{ 0x0300, 0x036f }, /* Mn */
|
||||
{ 0x0483, 0x0487 }, /* Mn */
|
||||
{ 0x0488, 0x0489 }, /* Me */
|
||||
@ -58,7 +58,7 @@
|
||||
{ 0x0b3f, 0x0b3f }, /* Mn */
|
||||
{ 0x0b41, 0x0b44 }, /* Mn */
|
||||
{ 0x0b4d, 0x0b4d }, /* Mn */
|
||||
{ 0x0b56, 0x0b56 }, /* Mn */
|
||||
{ 0x0b55, 0x0b56 }, /* Mn */
|
||||
{ 0x0b62, 0x0b63 }, /* Mn */
|
||||
{ 0x0b82, 0x0b82 }, /* Mn */
|
||||
{ 0x0bc0, 0x0bc0 }, /* Mn */
|
||||
@ -81,6 +81,7 @@
|
||||
{ 0x0d41, 0x0d44 }, /* Mn */
|
||||
{ 0x0d4d, 0x0d4d }, /* Mn */
|
||||
{ 0x0d62, 0x0d63 }, /* Mn */
|
||||
{ 0x0d81, 0x0d81 }, /* Mn */
|
||||
{ 0x0dca, 0x0dca }, /* Mn */
|
||||
{ 0x0dd2, 0x0dd4 }, /* Mn */
|
||||
{ 0x0dd6, 0x0dd6 }, /* Mn */
|
||||
@ -88,8 +89,7 @@
|
||||
{ 0x0e34, 0x0e3a }, /* Mn */
|
||||
{ 0x0e47, 0x0e4e }, /* Mn */
|
||||
{ 0x0eb1, 0x0eb1 }, /* Mn */
|
||||
{ 0x0eb4, 0x0eb9 }, /* Mn */
|
||||
{ 0x0ebb, 0x0ebc }, /* Mn */
|
||||
{ 0x0eb4, 0x0ebc }, /* Mn */
|
||||
{ 0x0ec8, 0x0ecd }, /* Mn */
|
||||
{ 0x0f18, 0x0f19 }, /* Mn */
|
||||
{ 0x0f35, 0x0f35 }, /* Mn */
|
||||
@ -112,6 +112,7 @@
|
||||
{ 0x1085, 0x1086 }, /* Mn */
|
||||
{ 0x108d, 0x108d }, /* Mn */
|
||||
{ 0x109d, 0x109d }, /* Mn */
|
||||
{ 0x1160, 0x11ff }, /* Mn */
|
||||
{ 0x135d, 0x135f }, /* Mn */
|
||||
{ 0x1712, 0x1714 }, /* Mn */
|
||||
{ 0x1732, 0x1734 }, /* Mn */
|
||||
@ -140,6 +141,7 @@
|
||||
{ 0x1a7f, 0x1a7f }, /* Mn */
|
||||
{ 0x1ab0, 0x1abd }, /* Mn */
|
||||
{ 0x1abe, 0x1abe }, /* Me */
|
||||
{ 0x1abf, 0x1ac0 }, /* Mn */
|
||||
{ 0x1b00, 0x1b03 }, /* Mn */
|
||||
{ 0x1b34, 0x1b34 }, /* Mn */
|
||||
{ 0x1b36, 0x1b3a }, /* Mn */
|
||||
@ -183,6 +185,7 @@
|
||||
{ 0xa806, 0xa806 }, /* Mn */
|
||||
{ 0xa80b, 0xa80b }, /* Mn */
|
||||
{ 0xa825, 0xa826 }, /* Mn */
|
||||
{ 0xa82c, 0xa82c }, /* Mn */
|
||||
{ 0xa8c4, 0xa8c5 }, /* Mn */
|
||||
{ 0xa8e0, 0xa8f1 }, /* Mn */
|
||||
{ 0xa8ff, 0xa8ff }, /* Mn */
|
||||
@ -191,7 +194,7 @@
|
||||
{ 0xa980, 0xa982 }, /* Mn */
|
||||
{ 0xa9b3, 0xa9b3 }, /* Mn */
|
||||
{ 0xa9b6, 0xa9b9 }, /* Mn */
|
||||
{ 0xa9bc, 0xa9bc }, /* Mn */
|
||||
{ 0xa9bc, 0xa9bd }, /* Mn */
|
||||
{ 0xa9e5, 0xa9e5 }, /* Mn */
|
||||
{ 0xaa29, 0xaa2e }, /* Mn */
|
||||
{ 0xaa31, 0xaa32 }, /* Mn */
|
||||
@ -209,6 +212,8 @@
|
||||
{ 0xabe5, 0xabe5 }, /* Mn */
|
||||
{ 0xabe8, 0xabe8 }, /* Mn */
|
||||
{ 0xabed, 0xabed }, /* Mn */
|
||||
{ 0xd7b0, 0xd7c6 }, /* Mn */
|
||||
{ 0xd7cb, 0xd7fb }, /* Mn */
|
||||
{ 0xfb1e, 0xfb1e }, /* Mn */
|
||||
{ 0xfe00, 0xfe0f }, /* Mn */
|
||||
{ 0xfe20, 0xfe2f }, /* Mn */
|
||||
@ -222,6 +227,7 @@
|
||||
{ 0x10a3f, 0x10a3f }, /* Mn */
|
||||
{ 0x10ae5, 0x10ae6 }, /* Mn */
|
||||
{ 0x10d24, 0x10d27 }, /* Mn */
|
||||
{ 0x10eab, 0x10eac }, /* Mn */
|
||||
{ 0x10f46, 0x10f50 }, /* Mn */
|
||||
{ 0x11001, 0x11001 }, /* Mn */
|
||||
{ 0x11038, 0x11046 }, /* Mn */
|
||||
@ -235,6 +241,7 @@
|
||||
{ 0x11180, 0x11181 }, /* Mn */
|
||||
{ 0x111b6, 0x111be }, /* Mn */
|
||||
{ 0x111c9, 0x111cc }, /* Mn */
|
||||
{ 0x111cf, 0x111cf }, /* Mn */
|
||||
{ 0x1122f, 0x11231 }, /* Mn */
|
||||
{ 0x11234, 0x11234 }, /* Mn */
|
||||
{ 0x11236, 0x11237 }, /* Mn */
|
||||
@ -270,6 +277,12 @@
|
||||
{ 0x11727, 0x1172b }, /* Mn */
|
||||
{ 0x1182f, 0x11837 }, /* Mn */
|
||||
{ 0x11839, 0x1183a }, /* Mn */
|
||||
{ 0x1193b, 0x1193c }, /* Mn */
|
||||
{ 0x1193e, 0x1193e }, /* Mn */
|
||||
{ 0x11943, 0x11943 }, /* Mn */
|
||||
{ 0x119d4, 0x119d7 }, /* Mn */
|
||||
{ 0x119da, 0x119db }, /* Mn */
|
||||
{ 0x119e0, 0x119e0 }, /* Mn */
|
||||
{ 0x11a01, 0x11a0a }, /* Mn */
|
||||
{ 0x11a33, 0x11a38 }, /* Mn */
|
||||
{ 0x11a3b, 0x11a3e }, /* Mn */
|
||||
@ -296,7 +309,9 @@
|
||||
{ 0x11ef3, 0x11ef4 }, /* Mn */
|
||||
{ 0x16af0, 0x16af4 }, /* Mn */
|
||||
{ 0x16b30, 0x16b36 }, /* Mn */
|
||||
{ 0x16f4f, 0x16f4f }, /* Mn */
|
||||
{ 0x16f8f, 0x16f92 }, /* Mn */
|
||||
{ 0x16fe4, 0x16fe4 }, /* Mn */
|
||||
{ 0x1bc9d, 0x1bc9e }, /* Mn */
|
||||
{ 0x1d167, 0x1d169 }, /* Mn */
|
||||
{ 0x1d17b, 0x1d182 }, /* Mn */
|
||||
@ -314,6 +329,9 @@
|
||||
{ 0x1e01b, 0x1e021 }, /* Mn */
|
||||
{ 0x1e023, 0x1e024 }, /* Mn */
|
||||
{ 0x1e026, 0x1e02a }, /* Mn */
|
||||
{ 0x1e130, 0x1e136 }, /* Mn */
|
||||
{ 0x1e2ae, 0x1e2ae }, /* Mn */
|
||||
{ 0x1e2ec, 0x1e2ef }, /* Mn */
|
||||
{ 0x1e8d0, 0x1e8d6 }, /* Mn */
|
||||
{ 0x1e944, 0x1e94a }, /* Mn */
|
||||
{ 0xe0100, 0xe01ef }, /* Mn */
|
||||
|
85
configure
vendored
85
configure
vendored
@ -654,6 +654,7 @@ infodir
|
||||
docdir
|
||||
oldincludedir
|
||||
includedir
|
||||
runstatedir
|
||||
localstatedir
|
||||
sharedstatedir
|
||||
sysconfdir
|
||||
@ -729,6 +730,7 @@ datadir='${datarootdir}'
|
||||
sysconfdir='${prefix}/etc'
|
||||
sharedstatedir='${prefix}/com'
|
||||
localstatedir='${prefix}/var'
|
||||
runstatedir='${localstatedir}/run'
|
||||
includedir='${prefix}/include'
|
||||
oldincludedir='/usr/include'
|
||||
docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
|
||||
@ -981,6 +983,15 @@ do
|
||||
| -silent | --silent | --silen | --sile | --sil)
|
||||
silent=yes ;;
|
||||
|
||||
-runstatedir | --runstatedir | --runstatedi | --runstated \
|
||||
| --runstate | --runstat | --runsta | --runst | --runs \
|
||||
| --run | --ru | --r)
|
||||
ac_prev=runstatedir ;;
|
||||
-runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \
|
||||
| --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \
|
||||
| --run=* | --ru=* | --r=*)
|
||||
runstatedir=$ac_optarg ;;
|
||||
|
||||
-sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
|
||||
ac_prev=sbindir ;;
|
||||
-sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
|
||||
@ -1118,7 +1129,7 @@ fi
|
||||
for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
|
||||
datadir sysconfdir sharedstatedir localstatedir includedir \
|
||||
oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
|
||||
libdir localedir mandir
|
||||
libdir localedir mandir runstatedir
|
||||
do
|
||||
eval ac_val=\$$ac_var
|
||||
# Remove trailing slashes.
|
||||
@ -1271,6 +1282,7 @@ Fine tuning of the installation directories:
|
||||
--sysconfdir=DIR read-only single-machine data [PREFIX/etc]
|
||||
--sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
|
||||
--localstatedir=DIR modifiable single-machine data [PREFIX/var]
|
||||
--runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run]
|
||||
--libdir=DIR object code libraries [EPREFIX/lib]
|
||||
--includedir=DIR C header files [PREFIX/include]
|
||||
--oldincludedir=DIR C header files for non-gcc [/usr/include]
|
||||
@ -3682,6 +3694,48 @@ else
|
||||
have_tinfo=no
|
||||
fi
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for tgoto in -ltinfow" >&5
|
||||
$as_echo_n "checking for tgoto in -ltinfow... " >&6; }
|
||||
if ${ac_cv_lib_tinfow_tgoto+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
ac_check_lib_save_LIBS=$LIBS
|
||||
LIBS="-ltinfow $LIBS"
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
|
||||
/* Override any GCC internal prototype to avoid an error.
|
||||
Use char because int might match the return type of a GCC
|
||||
builtin and then its argument prototype would still apply. */
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
#endif
|
||||
char tgoto ();
|
||||
int
|
||||
main ()
|
||||
{
|
||||
return tgoto ();
|
||||
;
|
||||
return 0;
|
||||
}
|
||||
_ACEOF
|
||||
if ac_fn_c_try_link "$LINENO"; then :
|
||||
ac_cv_lib_tinfow_tgoto=yes
|
||||
else
|
||||
ac_cv_lib_tinfow_tgoto=no
|
||||
fi
|
||||
rm -f core conftest.err conftest.$ac_objext \
|
||||
conftest$ac_exeext conftest.$ac_ext
|
||||
LIBS=$ac_check_lib_save_LIBS
|
||||
fi
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_tinfow_tgoto" >&5
|
||||
$as_echo "$ac_cv_lib_tinfow_tgoto" >&6; }
|
||||
if test "x$ac_cv_lib_tinfow_tgoto" = xyes; then :
|
||||
have_tinfow=yes
|
||||
else
|
||||
have_tinfow=no
|
||||
fi
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for initscr in -lxcurses" >&5
|
||||
$as_echo_n "checking for initscr in -lxcurses... " >&6; }
|
||||
if ${ac_cv_lib_xcurses_initscr+:} false; then :
|
||||
@ -4040,6 +4094,35 @@ rm -f core conftest.err conftest.$ac_objext \
|
||||
fi
|
||||
fi
|
||||
|
||||
# -- Try tinfow.
|
||||
if test "x$TERMLIBS" = x; then
|
||||
if test $have_tinfow = yes; then
|
||||
TERMLIBS="-ltinfow"
|
||||
SAVE_LIBS=$LIBS
|
||||
LIBS="$LIBS $TERMLIBS"
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
|
||||
int
|
||||
main ()
|
||||
{
|
||||
tgetent(0,0); tgetflag(0); tgetnum(0); tgetstr(0,0);
|
||||
;
|
||||
return 0;
|
||||
}
|
||||
_ACEOF
|
||||
if ac_fn_c_try_link "$LINENO"; then :
|
||||
termok=yes
|
||||
else
|
||||
termok=no
|
||||
fi
|
||||
rm -f core conftest.err conftest.$ac_objext \
|
||||
conftest$ac_exeext conftest.$ac_ext
|
||||
LIBS=$SAVE_LIBS
|
||||
if test $termok = no; then TERMLIBS=""; fi
|
||||
fi
|
||||
fi
|
||||
|
||||
# -- Try xcurses.
|
||||
if test "x$TERMLIBS" = x; then
|
||||
if test $have_xcurses = yes; then
|
||||
|
14
configure.ac
14
configure.ac
@ -24,6 +24,7 @@ AC_SYS_LARGEFILE
|
||||
|
||||
# Checks for general libraries.
|
||||
AC_CHECK_LIB(tinfo, tgoto, [have_tinfo=yes], [have_tinfo=no])
|
||||
AC_CHECK_LIB(tinfow, tgoto, [have_tinfow=yes], [have_tinfow=no])
|
||||
AC_CHECK_LIB(xcurses, initscr, [have_xcurses=yes], [have_xcurses=no])
|
||||
AC_CHECK_LIB(ncursesw, initscr, [have_ncursesw=yes], [have_ncursesw=no])
|
||||
AC_CHECK_LIB(ncurses, initscr, [have_ncurses=yes], [have_ncurses=no])
|
||||
@ -64,6 +65,19 @@ if test "x$TERMLIBS" = x; then
|
||||
fi
|
||||
fi
|
||||
|
||||
# -- Try tinfow.
|
||||
if test "x$TERMLIBS" = x; then
|
||||
if test $have_tinfow = yes; then
|
||||
TERMLIBS="-ltinfow"
|
||||
SAVE_LIBS=$LIBS
|
||||
LIBS="$LIBS $TERMLIBS"
|
||||
AC_TRY_LINK(, [tgetent(0,0); tgetflag(0); tgetnum(0); tgetstr(0,0);],
|
||||
[termok=yes], [termok=no])
|
||||
LIBS=$SAVE_LIBS
|
||||
if test $termok = no; then TERMLIBS=""; fi
|
||||
fi
|
||||
fi
|
||||
|
||||
# -- Try xcurses.
|
||||
if test "x$TERMLIBS" = x; then
|
||||
if test $have_xcurses = yes; then
|
||||
|
2
cvt.c
2
cvt.c
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 1984-2019 Mark Nudelman
|
||||
* Copyright (C) 1984-2020 Mark Nudelman
|
||||
*
|
||||
* You may distribute under the terms of either the GNU General Public
|
||||
* License or the Less License, as specified in the README file.
|
||||
|
2
decode.c
2
decode.c
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 1984-2019 Mark Nudelman
|
||||
* Copyright (C) 1984-2020 Mark Nudelman
|
||||
*
|
||||
* You may distribute under the terms of either the GNU General Public
|
||||
* License or the Less License, as specified in the README file.
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 1984-2019 Mark Nudelman
|
||||
* Copyright (C) 1984-2020 Mark Nudelman
|
||||
*
|
||||
* You may distribute under the terms of either the GNU General Public
|
||||
* License or the Less License, as specified in the README file.
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 1984-2019 Mark Nudelman
|
||||
* Copyright (C) 1984-2020 Mark Nudelman
|
||||
*
|
||||
* You may distribute under the terms of either the GNU General Public
|
||||
* License or the Less License, as specified in the README file.
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 1984-2019 Mark Nudelman
|
||||
* Copyright (C) 1984-2020 Mark Nudelman
|
||||
*
|
||||
* You may distribute under the terms of either the GNU General Public
|
||||
* License or the Less License, as specified in the README file.
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 1984-2019 Mark Nudelman
|
||||
* Copyright (C) 1984-2020 Mark Nudelman
|
||||
*
|
||||
* You may distribute under the terms of either the GNU General Public
|
||||
* License or the Less License, as specified in the README file.
|
||||
|
3
edit.c
3
edit.c
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 1984-2019 Mark Nudelman
|
||||
* Copyright (C) 1984-2020 Mark Nudelman
|
||||
*
|
||||
* You may distribute under the terms of either the GNU General Public
|
||||
* License or the Less License, as specified in the README file.
|
||||
@ -854,7 +854,6 @@ use_logfile(filename)
|
||||
/*
|
||||
* Don't do anything.
|
||||
*/
|
||||
free(filename);
|
||||
return;
|
||||
case 'q':
|
||||
quit(QUIT_OK);
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 1984-2019 Mark Nudelman
|
||||
* Copyright (C) 1984-2020 Mark Nudelman
|
||||
*
|
||||
* You may distribute under the terms of either the GNU General Public
|
||||
* License or the Less License, as specified in the README file.
|
||||
@ -795,7 +795,7 @@ lglob(filename)
|
||||
}
|
||||
|
||||
/*
|
||||
* @@@
|
||||
* Return canonical pathname.
|
||||
*/
|
||||
public char *
|
||||
lrealpath(path)
|
||||
|
3
fmt.uni
3
fmt.uni
@ -1,4 +1,4 @@
|
||||
/* Generated by "./mkutable -f2 Cf -- unicode/UnicodeData.txt" on Wed Feb 13 17:57:05 PST 2019 */
|
||||
/* Generated by "./mkutable -f2 Cf -- unicode/UnicodeData.txt" on Tue May 19 14:47:34 PDT 2020 */
|
||||
{ 0x00ad, 0x00ad }, /* Cf */
|
||||
{ 0x0600, 0x0605 }, /* Cf */
|
||||
{ 0x061c, 0x061c }, /* Cf */
|
||||
@ -14,6 +14,7 @@
|
||||
{ 0xfff9, 0xfffb }, /* Cf */
|
||||
{ 0x110bd, 0x110bd }, /* Cf */
|
||||
{ 0x110cd, 0x110cd }, /* Cf */
|
||||
{ 0x13430, 0x13438 }, /* Cf */
|
||||
{ 0x1bca0, 0x1bca3 }, /* Cf */
|
||||
{ 0x1d173, 0x1d17a }, /* Cf */
|
||||
{ 0xe0001, 0xe0001 }, /* Cf */
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 1984-2019 Mark Nudelman
|
||||
* Copyright (C) 1984-2020 Mark Nudelman
|
||||
*
|
||||
* You may distribute under the terms of either the GNU General Public
|
||||
* License or the Less License, as specified in the README file.
|
||||
@ -20,7 +20,6 @@ public int screen_trashed;
|
||||
public int squished;
|
||||
public int no_back_scroll = 0;
|
||||
public int forw_prompt;
|
||||
public int same_pos_bell = 1;
|
||||
|
||||
extern int sigs;
|
||||
extern int top_scroll;
|
||||
@ -285,7 +284,7 @@ forw(n, pos, force, only_last, nblank)
|
||||
forw_prompt = 1;
|
||||
}
|
||||
|
||||
if (nlines == 0 && !ignore_eoi && same_pos_bell)
|
||||
if (nlines == 0 && !ignore_eoi)
|
||||
eof_bell();
|
||||
else if (do_repaint)
|
||||
repaint();
|
||||
@ -345,7 +344,7 @@ back(n, pos, force, only_last)
|
||||
}
|
||||
}
|
||||
|
||||
if (nlines == 0 && same_pos_bell)
|
||||
if (nlines == 0)
|
||||
eof_bell();
|
||||
else if (do_repaint)
|
||||
repaint();
|
||||
|
7
funcs.h
7
funcs.h
@ -61,7 +61,7 @@ public int binary_char LESSPARAMS ((LWCHAR c));
|
||||
public int control_char LESSPARAMS ((LWCHAR c));
|
||||
public char * prchar LESSPARAMS ((LWCHAR c));
|
||||
public char * prutfchar LESSPARAMS ((LWCHAR ch));
|
||||
public int utf_len LESSPARAMS ((unsigned char ch));
|
||||
public int utf_len LESSPARAMS ((int ch));
|
||||
public int is_utf8_well_formed LESSPARAMS ((char *ss, int slen));
|
||||
public void utf_skip_to_lead LESSPARAMS ((char **pp, char *limit));
|
||||
public LWCHAR get_wchar LESSPARAMS ((constant char *p));
|
||||
@ -187,10 +187,10 @@ public void pshift_all LESSPARAMS ((VOID_PARAM));
|
||||
public int is_ansi_end LESSPARAMS ((LWCHAR ch));
|
||||
public int is_ansi_middle LESSPARAMS ((LWCHAR ch));
|
||||
public void skip_ansi LESSPARAMS ((char **pp, constant char *limit));
|
||||
public int pappend LESSPARAMS ((unsigned char c, POSITION pos));
|
||||
public int pappend LESSPARAMS ((int c, POSITION pos));
|
||||
public int pflushmbc LESSPARAMS ((VOID_PARAM));
|
||||
public void pdone LESSPARAMS ((int endline, int chopped, int forw));
|
||||
public void set_status_col LESSPARAMS ((char c));
|
||||
public void set_status_col LESSPARAMS ((int c));
|
||||
public int gline LESSPARAMS ((int i, int *ap));
|
||||
public void null_line LESSPARAMS ((VOID_PARAM));
|
||||
public POSITION forw_raw_line LESSPARAMS ((POSITION curr_pos, char **linep, int *line_lenp));
|
||||
@ -243,6 +243,7 @@ public void scan_option LESSPARAMS ((char *s));
|
||||
public void toggle_option LESSPARAMS ((struct loption *o, int lower, char *s, int how_toggle));
|
||||
public int opt_has_param LESSPARAMS ((struct loption *o));
|
||||
public char * opt_prompt LESSPARAMS ((struct loption *o));
|
||||
public char * opt_toggle_disallowed LESSPARAMS ((int c));
|
||||
public int isoptpending LESSPARAMS ((VOID_PARAM));
|
||||
public void nopendopt LESSPARAMS ((VOID_PARAM));
|
||||
public int getnum LESSPARAMS ((char **sp, char *printopt, int *errp));
|
||||
|
2
help.c
2
help.c
@ -1,4 +1,4 @@
|
||||
/* This file was generated by mkhelp.pl from less.hlp at 18:12 on 2019/6/11 */
|
||||
/* This file was generated by mkhelp.pl from less.hlp at 3:34 on 2020/6/14 */
|
||||
#include "less.h"
|
||||
constant char helpdata[] = {
|
||||
'\n',
|
||||
|
2
ifile.c
2
ifile.c
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 1984-2019 Mark Nudelman
|
||||
* Copyright (C) 1984-2020 Mark Nudelman
|
||||
*
|
||||
* You may distribute under the terms of either the GNU General Public
|
||||
* License or the Less License, as specified in the README file.
|
||||
|
2
input.c
2
input.c
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 1984-2019 Mark Nudelman
|
||||
* Copyright (C) 1984-2020 Mark Nudelman
|
||||
*
|
||||
* You may distribute under the terms of either the GNU General Public
|
||||
* License or the Less License, as specified in the README file.
|
||||
|
4
jump.c
4
jump.c
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 1984-2019 Mark Nudelman
|
||||
* Copyright (C) 1984-2020 Mark Nudelman
|
||||
*
|
||||
* You may distribute under the terms of either the GNU General Public
|
||||
* License or the Less License, as specified in the README file.
|
||||
@ -219,7 +219,7 @@ jump_loc(pos, sline)
|
||||
nline -= sindex;
|
||||
if (nline > 0)
|
||||
forw(nline, position(BOTTOM_PLUS_ONE), 1, 0, 0);
|
||||
else if (nline < 0)
|
||||
else
|
||||
back(-nline, position(TOP), 1, 0);
|
||||
#if HILITE_SEARCH
|
||||
if (show_attn)
|
||||
|
2
less.h
2
less.h
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 1984-2019 Mark Nudelman
|
||||
* Copyright (C) 1984-2020 Mark Nudelman
|
||||
*
|
||||
* You may distribute under the terms of either the GNU General Public
|
||||
* License or the Less License, as specified in the README file.
|
||||
|
151
less.nro
151
less.nro
@ -1,4 +1,5 @@
|
||||
.TH LESS 1 "Version 551: 11 Jun 2019"
|
||||
'\" t
|
||||
.TH LESS 1 "Version 563: 13 Jun 2020"
|
||||
.SH NAME
|
||||
less \- opposite of more
|
||||
.SH SYNOPSIS
|
||||
@ -21,19 +22,18 @@ less \- opposite of more
|
||||
.B " [\-# \fIshift\/\fP] [+[+]\fIcmd\/\fP] [\-\-] [\fIfilename\/\fP]..."
|
||||
.br
|
||||
(See the OPTIONS section for alternate option syntax with long option names.)
|
||||
|
||||
.
|
||||
.SH DESCRIPTION
|
||||
.I Less
|
||||
is a program similar to
|
||||
.I more
|
||||
(1), but which allows backward movement
|
||||
.IR more (1),
|
||||
but which allows backward movement
|
||||
in the file as well as forward movement.
|
||||
Also,
|
||||
.I less
|
||||
does not have to read the entire input file before starting,
|
||||
so with large input files it starts up faster than text editors like
|
||||
.I vi
|
||||
(1).
|
||||
.IR vi (1).
|
||||
.I Less
|
||||
uses termcap (or terminfo on some systems),
|
||||
so it can run on a variety of terminals.
|
||||
@ -48,7 +48,7 @@ and
|
||||
Commands may be preceded by a decimal number,
|
||||
called N in the descriptions below.
|
||||
The number is used by some commands, as indicated.
|
||||
|
||||
.
|
||||
.SH COMMANDS
|
||||
In the following descriptions, ^X means control-X.
|
||||
ESC stands for the ESCAPE key; for example ESC-v means the
|
||||
@ -376,7 +376,7 @@ this will reset the option to the "opposite" of its default setting
|
||||
and print a message describing the new setting.
|
||||
This does not work for numeric or string-valued options.
|
||||
.IP \-\-!
|
||||
Like the \-! command, but takes a long option name
|
||||
Like the \-!\& command, but takes a long option name
|
||||
rather than a single option letter.
|
||||
.IP _
|
||||
(Underscore.)
|
||||
@ -405,7 +405,7 @@ Exits
|
||||
The following
|
||||
four
|
||||
commands may or may not be valid, depending on your particular installation.
|
||||
.PP
|
||||
.
|
||||
.IP v
|
||||
Invokes an editor to edit the current file being viewed.
|
||||
The editor is taken from the environment variable VISUAL if defined,
|
||||
@ -434,7 +434,7 @@ If <m> is \&.\& or newline, the current screen is piped.
|
||||
.IP "s filename"
|
||||
Save the input to a file.
|
||||
This only works if the input is a pipe, not an ordinary file.
|
||||
.PP
|
||||
.
|
||||
.SH OPTIONS
|
||||
Command line options are described below.
|
||||
Most options may be changed while
|
||||
@ -518,7 +518,7 @@ This was the default behavior in less versions prior to 441.
|
||||
Specifies the amount of buffer space
|
||||
.I less
|
||||
will use for each file, in units of kilobytes (1024 bytes).
|
||||
By default 64\ K of buffer space is used for each file
|
||||
By default 64\ KB of buffer space is used for each file
|
||||
(unless the file is a pipe; see the \-B option).
|
||||
The \-b option specifies instead that \fIn\fP kilobytes of
|
||||
buffer space should be used for each file.
|
||||
@ -530,7 +530,7 @@ buffers are allocated automatically as needed.
|
||||
If a large amount of data is read from the pipe, this can cause
|
||||
a large amount of memory to be allocated.
|
||||
The \-B option disables this automatic allocation of buffers for pipes,
|
||||
so that only 64\ K
|
||||
so that only 64\ KB
|
||||
(or the amount of space specified by the \-b option)
|
||||
is used for the pipe.
|
||||
Warning: use of \-B can result in erroneous display, since only the
|
||||
@ -563,8 +563,9 @@ A single number \fIN\fP is the same as \fIN.M\fP,
|
||||
where \fIM\fP is the normal background color.
|
||||
The color may start or end with \fBu\fP to use underline (with the normal
|
||||
color, if by itself), if the system supports it (Windows only).
|
||||
\fBx\fP may also be \fBa\fP to toggle strict ANSI sequence rendering (SGR mode).
|
||||
|
||||
\fBx\fP may also be \fBa\fP to toggle strict ANSI sequence rendering
|
||||
(SGR mode).
|
||||
.
|
||||
.IP "\-e or \-\-quit-at-eof"
|
||||
Causes
|
||||
.I less
|
||||
@ -654,8 +655,8 @@ The status column is also used if the \-w or \-W option is in effect.
|
||||
Causes
|
||||
.I less
|
||||
to open and interpret the named file as a
|
||||
.I lesskey
|
||||
(1) file.
|
||||
.IR lesskey (1)
|
||||
file.
|
||||
Multiple \-k options may be specified.
|
||||
If the LESSKEY or LESSKEY_SYSTEM environment variable is set, or
|
||||
if a lesskey file is found in a standard place (see KEY BINDINGS),
|
||||
@ -746,7 +747,7 @@ to that string.
|
||||
\-Ph changes the prompt for the help screen.
|
||||
\-P= changes the message printed by the = command.
|
||||
\-Pw changes the message printed while waiting for data (in the F command).
|
||||
|
||||
.sp 1
|
||||
All prompt strings consist of a sequence of
|
||||
letters and special escape sequences.
|
||||
See the section on PROMPTS for more details.
|
||||
@ -804,7 +805,7 @@ output.
|
||||
Causes lines longer than the screen width to be
|
||||
chopped (truncated) rather than wrapped.
|
||||
That is, the portion of a long line that does not fit in
|
||||
the screen width is not shown.
|
||||
the screen width is not displayed until you press RIGHT-ARROW.
|
||||
The default is to wrap long lines; that is, display the remainder
|
||||
on the next line.
|
||||
.IP "\-t\fItag\fP or \-\-tag=\fItag\fP"
|
||||
@ -813,12 +814,12 @@ will edit the file containing that tag.
|
||||
For this to work, tag information must be available;
|
||||
for example, there may be a file in the current directory called "tags",
|
||||
which was previously built by
|
||||
.I ctags
|
||||
(1) or an equivalent command.
|
||||
.IR ctags (1)
|
||||
or an equivalent command.
|
||||
If the environment variable LESSGLOBALTAGS is set, it is taken to be
|
||||
the name of a command compatible with
|
||||
.I global
|
||||
(1), and that command is executed to find the tag.
|
||||
.IR global (1),
|
||||
and that command is executed to find the tag.
|
||||
(See http://www.gnu.org/software/global/global.html).
|
||||
The \-t option may also be specified from within
|
||||
.I less
|
||||
@ -870,7 +871,7 @@ If only one \fIn\fP is specified, tab stops are set at multiples of \fIn\fP.
|
||||
If multiple values separated by commas are specified, tab stops
|
||||
are set at those positions, and then continue with the same spacing as the
|
||||
last two.
|
||||
For example, \fI-x9,17\fP will set tabs at positions 9, 17, 25, 33, etc.
|
||||
For example, \fI\-x9,17\fP will set tabs at positions 9, 17, 25, 33, etc.
|
||||
The default for \fIn\fP is 8.
|
||||
.IP "\-X or \-\-no-init"
|
||||
Disables sending the termcap initialization and deinitialization strings
|
||||
@ -969,7 +970,7 @@ Normally, a string may appear multiple times.
|
||||
This option changes the character used to mark truncated lines.
|
||||
It may begin with a two-character attribute indicator like LESSBINFMT does.
|
||||
If there is no attribute indicator, standout is used.
|
||||
If set to "-", truncated lines are not marked.
|
||||
If set to "\-", truncated lines are not marked.
|
||||
.IP "\-\-save-marks"
|
||||
Save marks in the history file, so marks are retained
|
||||
across different invocations of \fIless\fP.
|
||||
@ -1001,7 +1002,7 @@ If the option starts with ++, the initial command applies to
|
||||
every file being viewed, not just the first one.
|
||||
The + command described previously
|
||||
may also be used to set (or change) an initial command for every file.
|
||||
|
||||
.
|
||||
.SH "LINE EDITING"
|
||||
When entering command line at the bottom of the screen
|
||||
(for example, a filename for the :e command,
|
||||
@ -1069,13 +1070,12 @@ If you have changed your line-kill character in Unix to something
|
||||
other than ^U, that character is used instead of ^U.
|
||||
.IP "^G"
|
||||
Delete the entire command line and return to the main prompt.
|
||||
|
||||
.
|
||||
.SH "KEY BINDINGS"
|
||||
You may define your own
|
||||
.I less
|
||||
commands by using the program
|
||||
.I lesskey
|
||||
(1)
|
||||
.IR lesskey (1)
|
||||
to create a lesskey file.
|
||||
This file specifies a set of command keys and an action
|
||||
associated with each key.
|
||||
@ -1125,7 +1125,7 @@ was built with a different sysconf directory than /usr/local/etc,
|
||||
that directory is where the sysless file is found.)
|
||||
On MS-DOS and Windows systems, the system-wide lesskey file is c:\e_sysless.
|
||||
On OS/2 systems, the system-wide lesskey file is c:\esysless.ini.
|
||||
|
||||
.
|
||||
.SH "INPUT PREPROCESSOR"
|
||||
You may define an "input preprocessor" for
|
||||
.IR less .
|
||||
@ -1294,7 +1294,7 @@ Similarly, if the first two characters of LESSOPEN are vertical bar and dash
|
||||
the input pipe is used on standard input as well as other files.
|
||||
Again, in this case the dash is not considered to be part of
|
||||
the input pipe command.
|
||||
|
||||
.
|
||||
.SH "NATIONAL CHARACTER SETS"
|
||||
There are three types of characters in the input file:
|
||||
.IP "normal characters"
|
||||
@ -1349,7 +1349,7 @@ In this case, the environment variable LESSCHARDEF can be used
|
||||
to define a character set.
|
||||
It should be set to a string where each character in the string represents
|
||||
one character in the character set.
|
||||
The character "." is used for a normal character, "c" for control,
|
||||
The character ".\&" is used for a normal character, "c" for control,
|
||||
and "b" for binary.
|
||||
A decimal number may be used for repetition.
|
||||
For example, "bccc4b.\&" would mean character 0 is binary,
|
||||
@ -1361,26 +1361,22 @@ represent any real character set.)
|
||||
.PP
|
||||
This table shows the value of LESSCHARDEF which is equivalent
|
||||
to each of the possible values for LESSCHARSET:
|
||||
.sp
|
||||
ascii\ 8bcccbcc18b95.b
|
||||
.br
|
||||
dos\ \ \ 8bcccbcc12bc5b95.b.
|
||||
.br
|
||||
ebcdic 5bc6bcc7bcc41b.9b7.9b5.b..8b6.10b6.b9.7b
|
||||
.br
|
||||
\ \ \ \ \ \ 9.8b8.17b3.3b9.7b9.8b8.6b10.b.b.b.
|
||||
.br
|
||||
IBM-1047 4cbcbc3b9cbccbccbb4c6bcc5b3cbbc4bc4bccbc
|
||||
.br
|
||||
\ \ \ \ \ \ 191.b
|
||||
.br
|
||||
iso8859 8bcccbcc18b95.33b.
|
||||
.br
|
||||
koi8-r 8bcccbcc18b95.b128.
|
||||
.br
|
||||
latin1 8bcccbcc18b95.33b.
|
||||
.br
|
||||
next\ \ 8bcccbcc18b95.bb125.bb
|
||||
.
|
||||
.RS 5m
|
||||
.TS
|
||||
l l.
|
||||
ascii 8bcccbcc18b95.b
|
||||
dos 8bcccbcc12bc5b95.b.
|
||||
ebcdic 5bc6bcc7bcc41b.9b7.9b5.b..8b6.10b6.b9.7b
|
||||
9.8b8.17b3.3b9.7b9.8b8.6b10.b.b.b.
|
||||
IBM-1047 4cbcbc3b9cbccbccbb4c6bcc5b3cbbc4bc4bccbc
|
||||
191.b
|
||||
iso8859 8bcccbcc18b95.33b.
|
||||
koi8-r 8bcccbcc18b95.b128.
|
||||
latin1 8bcccbcc18b95.33b.
|
||||
next 8bcccbcc18b95.bb125.bb
|
||||
.TE
|
||||
.RE
|
||||
.PP
|
||||
If neither LESSCHARSET nor LESSCHARDEF is set,
|
||||
but any of the strings "UTF-8", "UTF8", "utf-8" or "utf8"
|
||||
@ -1429,11 +1425,11 @@ setting ("*x") so specifying one will affect both;
|
||||
LESSUTFBINFMT is read after LESSBINFMT so its setting, if any,
|
||||
will have priority.
|
||||
Problematic octets in a UTF-8 file (octets of a truncated sequence,
|
||||
octets of a complete but non-shortest form sequence, illegal octets,
|
||||
octets of a complete but non-shortest form sequence, invalid octets,
|
||||
and stray trailing octets)
|
||||
are displayed individually using LESSBINFMT so as to facilitate diagnostic
|
||||
of how the UTF-8 file is ill-formed.
|
||||
|
||||
.
|
||||
.SH "PROMPTS"
|
||||
The \-P option allows you to tailor the prompt to your preference.
|
||||
The string given to the \-P option replaces the specified prompt string.
|
||||
@ -1500,7 +1496,8 @@ Causes any trailing spaces to be removed.
|
||||
Usually used at the end of the string, but may appear anywhere.
|
||||
.IP "%T"
|
||||
Normally expands to the word "file".
|
||||
However if viewing files via a tags list using the \-t option, it expands to the word "tag".
|
||||
However if viewing files via a tags list using the \-t option,
|
||||
it expands to the word "tag".
|
||||
.IP "%x"
|
||||
Replaced by the name of the next input file in the list.
|
||||
.PP
|
||||
@ -1620,7 +1617,7 @@ line number, followed by the shell-escaped file name.
|
||||
If your editor does not accept the "+linenumber" syntax, or has other
|
||||
differences in invocation syntax, the LESSEDIT variable can be
|
||||
changed to modify this default.
|
||||
|
||||
.
|
||||
.SH SECURITY
|
||||
When the environment variable LESSSECURE is set to 1,
|
||||
.I less
|
||||
@ -1641,14 +1638,14 @@ log files
|
||||
use of lesskey files
|
||||
.IP "\-t"
|
||||
use of tags files
|
||||
.IP " "
|
||||
.IP
|
||||
metacharacters in filenames, such as *
|
||||
.IP " "
|
||||
.IP
|
||||
filename completion (TAB, ^L)
|
||||
.RE
|
||||
.PP
|
||||
Less can also be compiled to be permanently in "secure" mode.
|
||||
|
||||
.
|
||||
.SH "COMPATIBILITY WITH MORE"
|
||||
If the environment variable LESS_IS_MORE is set to 1,
|
||||
or if the program is invoked via a file link named "more",
|
||||
@ -1666,7 +1663,7 @@ behaves as if the \-E option were set.
|
||||
.PP
|
||||
The \-m option works differently.
|
||||
If the \-m option is not set, the medium prompt is used,
|
||||
and it is prefixed with the string "--More--".
|
||||
and it is prefixed with the string "\-\-More\-\-".
|
||||
If the \-m option is set, the short prompt is used.
|
||||
.PP
|
||||
The \-n option acts like the \-z option.
|
||||
@ -1678,12 +1675,12 @@ command rather than a search pattern.
|
||||
.PP
|
||||
The LESS environment variable is ignored,
|
||||
and the MORE environment variable is used in its place.
|
||||
|
||||
.
|
||||
.SH "ENVIRONMENT VARIABLES"
|
||||
Environment variables may be specified either in the system environment
|
||||
as usual, or in a
|
||||
.I lesskey
|
||||
(1) file.
|
||||
.IR lesskey (1)
|
||||
file.
|
||||
If environment variables are defined in more than one place,
|
||||
variables defined in a local lesskey file take precedence over
|
||||
variables defined in the system environment, which take precedence
|
||||
@ -1738,8 +1735,8 @@ See discussion under PROMPTS.
|
||||
.IP LESSGLOBALTAGS
|
||||
Name of the command used by the \-t option to find global tags.
|
||||
Normally should be set to "global" if your system has the
|
||||
.I global
|
||||
(1) command. If not set, global tags are not used.
|
||||
.IR global (1)
|
||||
command. If not set, global tags are not used.
|
||||
.IP LESSHISTFILE
|
||||
Name of the history file used to remember search commands and
|
||||
shell commands between invocations of
|
||||
@ -1752,9 +1749,13 @@ on OS/2 systems.
|
||||
The maximum number of commands to save in the history file.
|
||||
The default is 100.
|
||||
.IP LESSKEY
|
||||
Name of the default lesskey(1) file.
|
||||
Name of the default
|
||||
.IR lesskey (1)
|
||||
file.
|
||||
.IP LESSKEY_SYSTEM
|
||||
Name of the default system-wide lesskey(1) file.
|
||||
Name of the default system-wide
|
||||
.IR lesskey (1)
|
||||
file.
|
||||
.IP LESSMETACHARS
|
||||
List of characters which are considered "metacharacters" by the shell.
|
||||
.IP LESSMETAESCAPE
|
||||
@ -1773,8 +1774,8 @@ String to be appended to a directory name in filename completion.
|
||||
Format for displaying non-printable Unicode code points.
|
||||
.IP LESS_IS_MORE
|
||||
Emulate the
|
||||
.I more
|
||||
(1) command.
|
||||
.IR more (1)
|
||||
command.
|
||||
.IP LINES
|
||||
Sets the number of lines on the screen.
|
||||
Takes precedence over the number of lines specified by the TERM variable.
|
||||
@ -1791,19 +1792,19 @@ compatible mode.
|
||||
User's search path (used to find a lesskey file
|
||||
on MS-DOS and OS/2 systems).
|
||||
.IP SHELL
|
||||
The shell used to execute the ! command, as well as to expand filenames.
|
||||
The shell used to execute the !\& command, as well as to expand filenames.
|
||||
.IP TERM
|
||||
The type of terminal on which
|
||||
.I less
|
||||
is being run.
|
||||
.IP VISUAL
|
||||
The name of the editor (used for the v command).
|
||||
|
||||
.
|
||||
.SH "SEE ALSO"
|
||||
lesskey(1)
|
||||
|
||||
.BR lesskey (1)
|
||||
.
|
||||
.SH COPYRIGHT
|
||||
Copyright (C) 1984-2019 Mark Nudelman
|
||||
Copyright (C) 1984-2020 Mark Nudelman
|
||||
.PP
|
||||
less is part of the GNU project and is free software.
|
||||
You can redistribute it and/or modify it
|
||||
@ -1823,9 +1824,9 @@ less is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
||||
or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
See the GNU General Public License for more details.
|
||||
|
||||
.
|
||||
.SH AUTHOR
|
||||
.PP
|
||||
.
|
||||
Mark Nudelman
|
||||
.br
|
||||
Report bugs at https://github.com/gwsw/less/issues.
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 1984-2019 Mark Nudelman
|
||||
* Copyright (C) 1984-2020 Mark Nudelman
|
||||
*
|
||||
* You may distribute under the terms of either the GNU General Public
|
||||
* License or the Less License, as specified in the README file.
|
||||
|
@ -41,7 +41,7 @@ LESSECHO(1) General Commands Manual LESSECHO(1)
|
||||
that only arguments containing metacharacters are quoted
|
||||
|
||||
[1mSEE ALSO[0m
|
||||
less(1)
|
||||
[1mless[22m(1)
|
||||
|
||||
[1mAUTHOR[0m
|
||||
This manual page was written by Thomas Schoepf <schoepf@debian.org>,
|
||||
@ -51,4 +51,4 @@ LESSECHO(1) General Commands Manual LESSECHO(1)
|
||||
|
||||
|
||||
|
||||
Version 551: 11 Jun 2019 LESSECHO(1)
|
||||
Version 563: 13 Jun 2020 LESSECHO(1)
|
||||
|
@ -1,4 +1,4 @@
|
||||
.TH LESSECHO 1 "Version 551: 11 Jun 2019"
|
||||
.TH LESSECHO 1 "Version 563: 13 Jun 2020"
|
||||
.SH NAME
|
||||
lessecho \- expand metacharacters
|
||||
.SH SYNOPSIS
|
||||
@ -44,7 +44,7 @@ Specifies "n" to be the escape char for metachars, as an integer.
|
||||
Specifies that all arguments are to be quoted.
|
||||
The default is that only arguments containing metacharacters are quoted
|
||||
.SH "SEE ALSO"
|
||||
less(1)
|
||||
.BR less (1)
|
||||
.SH AUTHOR
|
||||
This manual page was written by Thomas Schoepf <schoepf@debian.org>,
|
||||
for the Debian GNU/Linux system (but may be used by others).
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 1984-2019 Mark Nudelman
|
||||
* Copyright (C) 1984-2020 Mark Nudelman
|
||||
*
|
||||
* You may distribute under the terms of either the GNU General Public
|
||||
* License or the Less License, as specified in the README file.
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 1984-2019 Mark Nudelman
|
||||
* Copyright (C) 1984-2020 Mark Nudelman
|
||||
*
|
||||
* You may distribute under the terms of either the GNU General Public
|
||||
* License or the Less License, as specified in the README file.
|
||||
|
332
lesskey.man
332
lesskey.man
@ -12,14 +12,14 @@ LESSKEY(1) General Commands Manual LESSKEY(1)
|
||||
[1mlesskey --version[0m
|
||||
|
||||
[1mDESCRIPTION[0m
|
||||
[4mLesskey[24m is used to specify a set of key bindings to be used by [4mless.[0m
|
||||
[4mLesskey[24m is used to specify a set of key bindings to be used by [4mless[24m.
|
||||
The input file is a text file which describes the key bindings. If the
|
||||
input file is "-", standard input is read. If no input file is speci-
|
||||
fied, a standard filename is used as the name of the input file, which
|
||||
depends on the system being used: On Unix systems, $HOME/.lesskey is
|
||||
used; on MS-DOS systems, $HOME/_lesskey is used; and on OS/2 systems
|
||||
$HOME/lesskey.ini is used, or $INIT/lesskey.ini if $HOME is undefined.
|
||||
The output file is a binary file which is used by [4mless.[24m If no output
|
||||
The output file is a binary file which is used by [4mless[24m. If no output
|
||||
file is specified, and the environment variable LESSKEY is set, the
|
||||
value of LESSKEY is used as the name of the output file. Otherwise, a
|
||||
standard filename is used as the name of the output file, which depends
|
||||
@ -47,7 +47,6 @@ LESSKEY(1) General Commands Manual LESSKEY(1)
|
||||
Blank lines and lines which start with a pound sign (#) are ignored,
|
||||
except for the special section header lines.
|
||||
|
||||
|
||||
[1mCOMMAND SECTION[0m
|
||||
The command section begins with the line
|
||||
|
||||
@ -100,144 +99,146 @@ LESSKEY(1) General Commands Manual LESSKEY(1)
|
||||
include caret, space, tab and the backslash itself.
|
||||
|
||||
An action may be followed by an "extra" string. When such a command is
|
||||
entered while running [4mless,[24m the action is performed, and then the extra
|
||||
string is parsed, just as if it were typed in to [4mless.[24m This feature
|
||||
entered while running [4mless[24m, the action is performed, and then the extra
|
||||
string is parsed, just as if it were typed in to [4mless[24m. This feature
|
||||
can be used in certain cases to extend the functionality of a command.
|
||||
For example, see the "{" and ":t" commands in the example below. The
|
||||
extra string has a special meaning for the "quit" action: when [4mless[0m
|
||||
quits, first character of the extra string is used as its exit status.
|
||||
|
||||
|
||||
[1mEXAMPLE[0m
|
||||
The following input file describes the set of default command keys used
|
||||
by less:
|
||||
|
||||
|
||||
#command
|
||||
\r forw-line
|
||||
\n forw-line
|
||||
e forw-line
|
||||
j forw-line
|
||||
\kd forw-line
|
||||
^E forw-line
|
||||
^N forw-line
|
||||
k back-line
|
||||
y back-line
|
||||
^Y back-line
|
||||
^K back-line
|
||||
^P back-line
|
||||
J forw-line-force
|
||||
K back-line-force
|
||||
Y back-line-force
|
||||
d forw-scroll
|
||||
^D forw-scroll
|
||||
u back-scroll
|
||||
^U back-scroll
|
||||
\40 forw-screen
|
||||
f forw-screen
|
||||
^F forw-screen
|
||||
^V forw-screen
|
||||
\kD forw-screen
|
||||
b back-screen
|
||||
^B back-screen
|
||||
\ev back-screen
|
||||
\kU back-screen
|
||||
z forw-window
|
||||
w back-window
|
||||
\e\40 forw-screen-force
|
||||
F forw-forever
|
||||
\eF forw-until-hilite
|
||||
R repaint-flush
|
||||
r repaint
|
||||
^R repaint
|
||||
^L repaint
|
||||
\eu undo-hilite
|
||||
g goto-line
|
||||
\kh goto-line
|
||||
< goto-line
|
||||
\e< goto-line
|
||||
p percent
|
||||
% percent
|
||||
\e[ left-scroll
|
||||
\e] right-scroll
|
||||
\e( left-scroll
|
||||
\e) right-scroll
|
||||
\kl left-scroll
|
||||
\kr right-scroll
|
||||
\e{ no-scroll
|
||||
\e} end-scroll
|
||||
{ forw-bracket {}
|
||||
} back-bracket {}
|
||||
( forw-bracket ()
|
||||
) back-bracket ()
|
||||
[ forw-bracket []
|
||||
] back-bracket []
|
||||
\e^F forw-bracket
|
||||
\e^B back-bracket
|
||||
G goto-end
|
||||
\e> goto-end
|
||||
> goto-end
|
||||
\ke goto-end
|
||||
\eG goto-end-buffered
|
||||
= status
|
||||
^G status
|
||||
:f status
|
||||
/ forw-search
|
||||
? back-search
|
||||
\e/ forw-search *
|
||||
\e? back-search *
|
||||
n repeat-search
|
||||
\en repeat-search-all
|
||||
N reverse-search
|
||||
\eN reverse-search-all
|
||||
& filter
|
||||
m set-mark
|
||||
M set-mark-bottom
|
||||
\em clear-mark
|
||||
' goto-mark
|
||||
^X^X goto-mark
|
||||
E examine
|
||||
:e examine
|
||||
^X^V examine
|
||||
:n next-file
|
||||
:p prev-file
|
||||
t next-tag
|
||||
T prev-tag
|
||||
:x index-file
|
||||
:d remove-file
|
||||
- toggle-option
|
||||
:t toggle-option t
|
||||
s toggle-option o
|
||||
_ display-option
|
||||
| pipe
|
||||
v visual
|
||||
! shell
|
||||
+ firstcmd
|
||||
H help
|
||||
h help
|
||||
V version
|
||||
0 digit
|
||||
1 digit
|
||||
2 digit
|
||||
3 digit
|
||||
4 digit
|
||||
5 digit
|
||||
6 digit
|
||||
7 digit
|
||||
8 digit
|
||||
9 digit
|
||||
q quit
|
||||
Q quit
|
||||
:q quit
|
||||
:Q quit
|
||||
ZZ quit
|
||||
\r forw-line
|
||||
\n forw-line
|
||||
e forw-line
|
||||
j forw-line
|
||||
\kd forw-line
|
||||
^E forw-line
|
||||
^N forw-line
|
||||
k back-line
|
||||
y back-line
|
||||
^Y back-line
|
||||
^K back-line
|
||||
^P back-line
|
||||
J forw-line-force
|
||||
K back-line-force
|
||||
Y back-line-force
|
||||
d forw-scroll
|
||||
^D forw-scroll
|
||||
|
||||
u back-scroll
|
||||
^U back-scroll
|
||||
\40 forw-screen
|
||||
f forw-screen
|
||||
^F forw-screen
|
||||
^V forw-screen
|
||||
\kD forw-screen
|
||||
b back-screen
|
||||
^B back-screen
|
||||
\ev back-screen
|
||||
\kU back-screen
|
||||
z forw-window
|
||||
w back-window
|
||||
\e\40 forw-screen-force
|
||||
F forw-forever
|
||||
\eF forw-until-hilite
|
||||
R repaint-flush
|
||||
r repaint
|
||||
^R repaint
|
||||
^L repaint
|
||||
\eu undo-hilite
|
||||
g goto-line
|
||||
\kh goto-line
|
||||
< goto-line
|
||||
\e< goto-line
|
||||
p percent
|
||||
% percent
|
||||
\e[ left-scroll
|
||||
\e] right-scroll
|
||||
\e( left-scroll
|
||||
\e) right-scroll
|
||||
\kl left-scroll
|
||||
\kr right-scroll
|
||||
\e{ no-scroll
|
||||
\e} end-scroll
|
||||
{ forw-bracket {}
|
||||
} back-bracket {}
|
||||
( forw-bracket ()
|
||||
) back-bracket ()
|
||||
[ forw-bracket []
|
||||
] back-bracket []
|
||||
\e^F forw-bracket
|
||||
\e^B back-bracket
|
||||
G goto-end
|
||||
\e> goto-end
|
||||
> goto-end
|
||||
\ke goto-end
|
||||
\eG goto-end-buffered
|
||||
= status
|
||||
^G status
|
||||
:f status
|
||||
/ forw-search
|
||||
? back-search
|
||||
\e/ forw-search *
|
||||
\e? back-search *
|
||||
n repeat-search
|
||||
\en repeat-search-all
|
||||
N reverse-search
|
||||
\eN reverse-search-all
|
||||
& filter
|
||||
m set-mark
|
||||
M set-mark-bottom
|
||||
\em clear-mark
|
||||
' goto-mark
|
||||
^X^X goto-mark
|
||||
|
||||
E examine
|
||||
:e examine
|
||||
^X^V examine
|
||||
:n next-file
|
||||
:p prev-file
|
||||
t next-tag
|
||||
T prev-tag
|
||||
:x index-file
|
||||
:d remove-file
|
||||
- toggle-option
|
||||
:t toggle-option t
|
||||
s toggle-option o
|
||||
_ display-option
|
||||
| pipe
|
||||
v visual
|
||||
! shell
|
||||
+ firstcmd
|
||||
H help
|
||||
h help
|
||||
V version
|
||||
0 digit
|
||||
1 digit
|
||||
2 digit
|
||||
3 digit
|
||||
4 digit
|
||||
5 digit
|
||||
6 digit
|
||||
7 digit
|
||||
8 digit
|
||||
9 digit
|
||||
q quit
|
||||
Q quit
|
||||
:q quit
|
||||
:Q quit
|
||||
ZZ quit
|
||||
|
||||
|
||||
[1mPRECEDENCE[0m
|
||||
Commands specified by [4mlesskey[24m take precedence over the default com-
|
||||
mands. A default command key may be disabled by including it in the
|
||||
input file with the action "invalid". Alternatively, a key may be
|
||||
defined to do nothing by using the action "noaction". "noaction" is
|
||||
similar to "invalid", but [4mless[24m will give an error beep for an "invalid"
|
||||
input file with the action "invalid". Alternatively, a key may be de-
|
||||
fined to do nothing by using the action "noaction". "noaction" is sim-
|
||||
ilar to "invalid", but [4mless[24m will give an error beep for an "invalid"
|
||||
command, but not for a "noaction" command. In addition, ALL default
|
||||
commands may be disabled by adding this control line to the input file:
|
||||
|
||||
@ -251,7 +252,6 @@ LESSKEY(1) General Commands Manual LESSKEY(1)
|
||||
enable all necessary actions. For example, failure to provide a "quit"
|
||||
command can lead to frustration.
|
||||
|
||||
|
||||
[1mLINE EDITING SECTION[0m
|
||||
The line-editing section begins with the line:
|
||||
|
||||
@ -262,41 +262,40 @@ LESSKEY(1) General Commands Manual LESSKEY(1)
|
||||
specified in the #command section. The line-editing section consists
|
||||
of a list of keys and actions, one per line as in the example below.
|
||||
|
||||
|
||||
[1mEXAMPLE[0m
|
||||
The following input file describes the set of default line-editing keys
|
||||
used by less:
|
||||
|
||||
#line-edit
|
||||
\t forw-complete
|
||||
\17 back-complete
|
||||
\e\t back-complete
|
||||
^L expand
|
||||
^V literal
|
||||
^A literal
|
||||
\el right
|
||||
\kr right
|
||||
\eh left
|
||||
\kl left
|
||||
\eb word-left
|
||||
\e\kl word-left
|
||||
\ew word-right
|
||||
\e\kr word-right
|
||||
\ei insert
|
||||
\ex delete
|
||||
\kx delete
|
||||
\eX word-delete
|
||||
\ekx word-delete
|
||||
\e\b word-backspace
|
||||
\e0 home
|
||||
\kh home
|
||||
\e$ end
|
||||
\ke end
|
||||
\ek up
|
||||
\ku up
|
||||
\ej down
|
||||
^G abort
|
||||
|
||||
#line-edit
|
||||
\t forw-complete
|
||||
\17 back-complete
|
||||
\e\t back-complete
|
||||
^L expand
|
||||
^V literal
|
||||
^A literal
|
||||
\el right
|
||||
\kr right
|
||||
\eh left
|
||||
\kl left
|
||||
\eb word-left
|
||||
\e\kl word-left
|
||||
\ew word-right
|
||||
\e\kr word-right
|
||||
\ei insert
|
||||
\ex delete
|
||||
\kx delete
|
||||
\eX word-delete
|
||||
\ekx word-delete
|
||||
\e\b word-backspace
|
||||
\e0 home
|
||||
\kh home
|
||||
\e$ end
|
||||
\ke end
|
||||
\ek up
|
||||
\ku up
|
||||
\ej down
|
||||
^G abort
|
||||
|
||||
|
||||
[1mLESS ENVIRONMENT VARIABLES[0m
|
||||
@ -308,36 +307,32 @@ LESSKEY(1) General Commands Manual LESSKEY(1)
|
||||
Each line consists of an environment variable name, an equals sign (=)
|
||||
and the value to be assigned to the environment variable. White space
|
||||
before and after the equals sign is ignored. Variables assigned in
|
||||
this way are visible only to [4mless.[24m If a variable is specified in the
|
||||
this way are visible only to [4mless[24m. If a variable is specified in the
|
||||
system environment and also in a lesskey file, the value in the lesskey
|
||||
file takes precedence. Although the lesskey file can be used to over-
|
||||
ride variables set in the environment, the main purpose of assigning
|
||||
variables in the lesskey file is simply to have all [4mless[24m configuration
|
||||
information stored in one file.
|
||||
|
||||
|
||||
[1mEXAMPLE[0m
|
||||
The following input file sets the -i option whenever [4mless[24m is run, and
|
||||
specifies the character set to be "latin1":
|
||||
|
||||
#env
|
||||
LESS = -i
|
||||
LESSCHARSET = latin1
|
||||
|
||||
#env
|
||||
LESS = -i
|
||||
LESSCHARSET = latin1
|
||||
|
||||
|
||||
[1mSEE ALSO[0m
|
||||
less(1)
|
||||
|
||||
[1mless[22m(1)
|
||||
|
||||
[1mWARNINGS[0m
|
||||
On MS-DOS and OS/2 systems, certain keys send a sequence of characters
|
||||
which start with a NUL character (0). This NUL character should be
|
||||
represented as \340 in a lesskey file.
|
||||
|
||||
|
||||
[1mCOPYRIGHT[0m
|
||||
Copyright (C) 1984-2019 Mark Nudelman
|
||||
Copyright (C) 1984-2020 Mark Nudelman
|
||||
|
||||
less is part of the GNU project and is free software. You can redis-
|
||||
tribute it and/or modify it under the terms of either (1) the GNU Gen-
|
||||
@ -354,11 +349,10 @@ LESSKEY(1) General Commands Manual LESSKEY(1)
|
||||
NESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
more details.
|
||||
|
||||
|
||||
[1mAUTHOR[0m
|
||||
Mark Nudelman
|
||||
Send bug reports or comments to <bug-less@gnu.org>.
|
||||
|
||||
|
||||
|
||||
Version 551: 11 Jun 2019 LESSKEY(1)
|
||||
Version 563: 13 Jun 2020 LESSKEY(1)
|
||||
|
365
lesskey.nro
365
lesskey.nro
@ -1,20 +1,21 @@
|
||||
.TH LESSKEY 1 "Version 551: 11 Jun 2019"
|
||||
'\" t
|
||||
.TH LESSKEY 1 "Version 563: 13 Jun 2020"
|
||||
.SH NAME
|
||||
lesskey \- specify key bindings for less
|
||||
.SH SYNOPSIS
|
||||
.B "lesskey [-o output] [--] [input]"
|
||||
.B "lesskey [\-o output] [\-\-] [input]"
|
||||
.br
|
||||
.B "lesskey [--output=output] [--] [input]"
|
||||
.B "lesskey [\-\-output=output] [\-\-] [input]"
|
||||
.br
|
||||
.B "lesskey -V"
|
||||
.B "lesskey \-V"
|
||||
.br
|
||||
.B "lesskey --version"
|
||||
.B "lesskey \-\-version"
|
||||
.SH DESCRIPTION
|
||||
.I Lesskey
|
||||
is used to specify a set of key bindings to be used by
|
||||
.I less.
|
||||
.IR less .
|
||||
The input file is a text file which describes the key bindings.
|
||||
If the input file is "-", standard input is read.
|
||||
If the input file is "\-", standard input is read.
|
||||
If no input file is specified, a standard filename is used
|
||||
as the name of the input file, which depends on the system being used:
|
||||
On Unix systems, $HOME/.lesskey is used;
|
||||
@ -22,7 +23,7 @@ on MS-DOS systems, $HOME/_lesskey is used;
|
||||
and on OS/2 systems $HOME/lesskey.ini is used,
|
||||
or $INIT/lesskey.ini if $HOME is undefined.
|
||||
The output file is a binary file which is used by
|
||||
.I less.
|
||||
.IR less .
|
||||
If no output file is specified,
|
||||
and the environment variable LESSKEY is set,
|
||||
the value of LESSKEY is used as the name of the output file.
|
||||
@ -36,10 +37,10 @@ If the output file already exists,
|
||||
.I lesskey
|
||||
will overwrite it.
|
||||
.PP
|
||||
The -V or --version option causes
|
||||
The \-V or \-\-version option causes
|
||||
.I lesskey
|
||||
to print its version number and immediately exit.
|
||||
If -V or --version is present, other options and arguments are ignored.
|
||||
If \-V or \-\-version is present, other options and arguments are ignored.
|
||||
.PP
|
||||
The input file consists of one or more
|
||||
.I sections.
|
||||
@ -54,7 +55,7 @@ Defines environment variables.
|
||||
.PP
|
||||
Blank lines and lines which start with a pound sign (#) are ignored,
|
||||
except for the special section header lines.
|
||||
|
||||
.
|
||||
.SH "COMMAND SECTION"
|
||||
The command section begins with the line
|
||||
.sp
|
||||
@ -112,10 +113,10 @@ caret, space, tab and the backslash itself.
|
||||
.PP
|
||||
An action may be followed by an "extra" string.
|
||||
When such a command is entered while running
|
||||
.I less,
|
||||
.IR less ,
|
||||
the action is performed, and then the extra
|
||||
string is parsed, just as if it were typed in to
|
||||
.I less.
|
||||
.IR less .
|
||||
This feature can be used in certain cases to extend
|
||||
the functionality of a command.
|
||||
For example, see the "{" and ":t" commands in the example below.
|
||||
@ -123,131 +124,134 @@ The extra string has a special meaning for the "quit" action:
|
||||
when
|
||||
.I less
|
||||
quits, first character of the extra string is used as its exit status.
|
||||
|
||||
.
|
||||
.SH EXAMPLE
|
||||
The following input file describes the set of
|
||||
default command keys used by less:
|
||||
.sp
|
||||
.nf
|
||||
#command
|
||||
\er forw-line
|
||||
\en forw-line
|
||||
e forw-line
|
||||
j forw-line
|
||||
\ekd forw-line
|
||||
^E forw-line
|
||||
^N forw-line
|
||||
k back-line
|
||||
y back-line
|
||||
^Y back-line
|
||||
^K back-line
|
||||
^P back-line
|
||||
J forw-line-force
|
||||
K back-line-force
|
||||
Y back-line-force
|
||||
d forw-scroll
|
||||
^D forw-scroll
|
||||
u back-scroll
|
||||
^U back-scroll
|
||||
\e40 forw-screen
|
||||
f forw-screen
|
||||
^F forw-screen
|
||||
^V forw-screen
|
||||
\ekD forw-screen
|
||||
b back-screen
|
||||
^B back-screen
|
||||
\eev back-screen
|
||||
\ekU back-screen
|
||||
z forw-window
|
||||
w back-window
|
||||
\ee\e40 forw-screen-force
|
||||
F forw-forever
|
||||
\eeF forw-until-hilite
|
||||
R repaint-flush
|
||||
r repaint
|
||||
^R repaint
|
||||
^L repaint
|
||||
\eeu undo-hilite
|
||||
g goto-line
|
||||
\ekh goto-line
|
||||
< goto-line
|
||||
\ee< goto-line
|
||||
p percent
|
||||
% percent
|
||||
\ee[ left-scroll
|
||||
\ee] right-scroll
|
||||
\ee( left-scroll
|
||||
\ee) right-scroll
|
||||
\ekl left-scroll
|
||||
\ekr right-scroll
|
||||
\ee{ no-scroll
|
||||
\ee} end-scroll
|
||||
{ forw-bracket {}
|
||||
} back-bracket {}
|
||||
( forw-bracket ()
|
||||
) back-bracket ()
|
||||
[ forw-bracket []
|
||||
] back-bracket []
|
||||
\ee^F forw-bracket
|
||||
\ee^B back-bracket
|
||||
G goto-end
|
||||
\ee> goto-end
|
||||
> goto-end
|
||||
\eke goto-end
|
||||
\eeG goto-end-buffered
|
||||
= status
|
||||
^G status
|
||||
:f status
|
||||
/ forw-search
|
||||
? back-search
|
||||
\ee/ forw-search *
|
||||
\ee? back-search *
|
||||
n repeat-search
|
||||
\een repeat-search-all
|
||||
N reverse-search
|
||||
\eeN reverse-search-all
|
||||
& filter
|
||||
m set-mark
|
||||
M set-mark-bottom
|
||||
\eem clear-mark
|
||||
' goto-mark
|
||||
^X^X goto-mark
|
||||
E examine
|
||||
:e examine
|
||||
^X^V examine
|
||||
:n next-file
|
||||
:p prev-file
|
||||
t next-tag
|
||||
T prev-tag
|
||||
:x index-file
|
||||
:d remove-file
|
||||
- toggle-option
|
||||
:t toggle-option t
|
||||
s toggle-option o
|
||||
_ display-option
|
||||
| pipe
|
||||
v visual
|
||||
! shell
|
||||
+ firstcmd
|
||||
H help
|
||||
h help
|
||||
V version
|
||||
0 digit
|
||||
1 digit
|
||||
2 digit
|
||||
3 digit
|
||||
4 digit
|
||||
5 digit
|
||||
6 digit
|
||||
7 digit
|
||||
8 digit
|
||||
9 digit
|
||||
q quit
|
||||
Q quit
|
||||
:q quit
|
||||
:Q quit
|
||||
ZZ quit
|
||||
.fi
|
||||
.RS 5m
|
||||
.TS
|
||||
l l.
|
||||
#command
|
||||
\er forw-line
|
||||
\en forw-line
|
||||
e forw-line
|
||||
j forw-line
|
||||
\ekd forw-line
|
||||
^E forw-line
|
||||
^N forw-line
|
||||
k back-line
|
||||
y back-line
|
||||
^Y back-line
|
||||
^K back-line
|
||||
^P back-line
|
||||
J forw-line-force
|
||||
K back-line-force
|
||||
Y back-line-force
|
||||
d forw-scroll
|
||||
^D forw-scroll
|
||||
u back-scroll
|
||||
^U back-scroll
|
||||
\e40 forw-screen
|
||||
f forw-screen
|
||||
^F forw-screen
|
||||
^V forw-screen
|
||||
\ekD forw-screen
|
||||
b back-screen
|
||||
^B back-screen
|
||||
\eev back-screen
|
||||
\ekU back-screen
|
||||
z forw-window
|
||||
w back-window
|
||||
\ee\e40 forw-screen-force
|
||||
F forw-forever
|
||||
\eeF forw-until-hilite
|
||||
R repaint-flush
|
||||
r repaint
|
||||
^R repaint
|
||||
^L repaint
|
||||
\eeu undo-hilite
|
||||
g goto-line
|
||||
\ekh goto-line
|
||||
< goto-line
|
||||
\ee< goto-line
|
||||
p percent
|
||||
% percent
|
||||
\ee[ left-scroll
|
||||
\ee] right-scroll
|
||||
\ee( left-scroll
|
||||
\ee) right-scroll
|
||||
\ekl left-scroll
|
||||
\ekr right-scroll
|
||||
\ee{ no-scroll
|
||||
\ee} end-scroll
|
||||
{ forw-bracket {}
|
||||
} back-bracket {}
|
||||
( forw-bracket ()
|
||||
) back-bracket ()
|
||||
[ forw-bracket []
|
||||
] back-bracket []
|
||||
\ee^F forw-bracket
|
||||
\ee^B back-bracket
|
||||
G goto-end
|
||||
\ee> goto-end
|
||||
> goto-end
|
||||
\eke goto-end
|
||||
\eeG goto-end-buffered
|
||||
\&= status
|
||||
^G status
|
||||
:f status
|
||||
/ forw-search
|
||||
? back-search
|
||||
\ee/ forw-search *
|
||||
\ee? back-search *
|
||||
n repeat-search
|
||||
\een repeat-search-all
|
||||
N reverse-search
|
||||
\eeN reverse-search-all
|
||||
& filter
|
||||
m set-mark
|
||||
M set-mark-bottom
|
||||
\eem clear-mark
|
||||
' goto-mark
|
||||
^X^X goto-mark
|
||||
E examine
|
||||
:e examine
|
||||
^X^V examine
|
||||
:n next-file
|
||||
:p prev-file
|
||||
t next-tag
|
||||
T prev-tag
|
||||
:x index-file
|
||||
:d remove-file
|
||||
- toggle-option
|
||||
:t toggle-option t
|
||||
s toggle-option o
|
||||
\&_ display-option
|
||||
| pipe
|
||||
v visual
|
||||
! shell
|
||||
+ firstcmd
|
||||
H help
|
||||
h help
|
||||
V version
|
||||
0 digit
|
||||
1 digit
|
||||
2 digit
|
||||
3 digit
|
||||
4 digit
|
||||
5 digit
|
||||
6 digit
|
||||
7 digit
|
||||
8 digit
|
||||
9 digit
|
||||
q quit
|
||||
Q quit
|
||||
:q quit
|
||||
:Q quit
|
||||
ZZ quit
|
||||
.TE
|
||||
.RE
|
||||
.sp
|
||||
.SH PRECEDENCE
|
||||
Commands specified by
|
||||
@ -274,7 +278,7 @@ Since all default commands are disabled,
|
||||
you must provide sufficient commands before the #stop line
|
||||
to enable all necessary actions.
|
||||
For example, failure to provide a "quit" command can lead to frustration.
|
||||
|
||||
.
|
||||
.SH "LINE EDITING SECTION"
|
||||
The line-editing section begins with the line:
|
||||
.sp
|
||||
@ -285,44 +289,47 @@ in a manner similar to the way key bindings for
|
||||
ordinary commands are specified in the #command section.
|
||||
The line-editing section consists of a list of keys and actions,
|
||||
one per line as in the example below.
|
||||
|
||||
.
|
||||
.SH EXAMPLE
|
||||
The following input file describes the set of
|
||||
default line-editing keys used by less:
|
||||
.sp
|
||||
.nf
|
||||
#line-edit
|
||||
\et forw-complete
|
||||
\e17 back-complete
|
||||
\ee\et back-complete
|
||||
^L expand
|
||||
^V literal
|
||||
^A literal
|
||||
\eel right
|
||||
\ekr right
|
||||
\eeh left
|
||||
\ekl left
|
||||
\eeb word-left
|
||||
\ee\ekl word-left
|
||||
\eew word-right
|
||||
\ee\ekr word-right
|
||||
\eei insert
|
||||
\eex delete
|
||||
\ekx delete
|
||||
\eeX word-delete
|
||||
\eekx word-delete
|
||||
\ee\eb word-backspace
|
||||
\ee0 home
|
||||
\ekh home
|
||||
\ee$ end
|
||||
\eke end
|
||||
\eek up
|
||||
\eku up
|
||||
\eej down
|
||||
^G abort
|
||||
.fi
|
||||
.RS 5m
|
||||
.TS
|
||||
l l.
|
||||
#line-edit
|
||||
\et forw-complete
|
||||
\e17 back-complete
|
||||
\ee\et back-complete
|
||||
^L expand
|
||||
^V literal
|
||||
^A literal
|
||||
\eel right
|
||||
\ekr right
|
||||
\eeh left
|
||||
\ekl left
|
||||
\eeb word-left
|
||||
\ee\ekl word-left
|
||||
\eew word-right
|
||||
\ee\ekr word-right
|
||||
\eei insert
|
||||
\eex delete
|
||||
\ekx delete
|
||||
\eeX word-delete
|
||||
\eekx word-delete
|
||||
\ee\eb word-backspace
|
||||
\ee0 home
|
||||
\ekh home
|
||||
\ee$ end
|
||||
\eke end
|
||||
\eek up
|
||||
\eku up
|
||||
\eej down
|
||||
^G abort
|
||||
.TE
|
||||
.RE
|
||||
.sp
|
||||
|
||||
.
|
||||
.SH "LESS ENVIRONMENT VARIABLES"
|
||||
The environment variable section begins with the line
|
||||
.sp
|
||||
@ -333,7 +340,7 @@ Each line consists of an environment variable name, an equals sign (=)
|
||||
and the value to be assigned to the environment variable.
|
||||
White space before and after the equals sign is ignored.
|
||||
Variables assigned in this way are visible only to
|
||||
.I less.
|
||||
.IR less .
|
||||
If a variable is specified in the system environment and also in a
|
||||
lesskey file, the value in the lesskey file takes precedence.
|
||||
Although the lesskey file can be used to override variables set in the
|
||||
@ -341,29 +348,29 @@ environment, the main purpose of assigning variables in the lesskey file
|
||||
is simply to have all
|
||||
.I less
|
||||
configuration information stored in one file.
|
||||
|
||||
.
|
||||
.SH EXAMPLE
|
||||
The following input file sets the -i option whenever
|
||||
The following input file sets the \-i option whenever
|
||||
.I less
|
||||
is run, and specifies the character set to be "latin1":
|
||||
.sp
|
||||
.nf
|
||||
#env
|
||||
LESS = -i
|
||||
LESS = \-i
|
||||
LESSCHARSET = latin1
|
||||
.fi
|
||||
.sp
|
||||
|
||||
.
|
||||
.SH "SEE ALSO"
|
||||
less(1)
|
||||
|
||||
.BR less (1)
|
||||
.
|
||||
.SH WARNINGS
|
||||
On MS-DOS and OS/2 systems, certain keys send a sequence of characters
|
||||
which start with a NUL character (0).
|
||||
This NUL character should be represented as \e340 in a lesskey file.
|
||||
|
||||
.
|
||||
.SH COPYRIGHT
|
||||
Copyright (C) 1984-2019 Mark Nudelman
|
||||
Copyright (C) 1984-2020 Mark Nudelman
|
||||
.PP
|
||||
less is part of the GNU project and is free software.
|
||||
You can redistribute it and/or modify it
|
||||
@ -383,9 +390,9 @@ less is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
||||
or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
See the GNU General Public License for more details.
|
||||
|
||||
.
|
||||
.SH AUTHOR
|
||||
.PP
|
||||
.
|
||||
Mark Nudelman
|
||||
.br
|
||||
Send bug reports or comments to <bug-less@gnu.org>.
|
||||
|
4
lglob.h
4
lglob.h
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 1984-2019 Mark Nudelman
|
||||
* Copyright (C) 1984-2020 Mark Nudelman
|
||||
*
|
||||
* You may distribute under the terms of either the GNU General Public
|
||||
* License or the Less License, as specified in the README file.
|
||||
@ -69,7 +69,7 @@
|
||||
char dir[_MAX_DIR]; \
|
||||
char fname[_MAX_FNAME]; \
|
||||
char ext[_MAX_EXT]; \
|
||||
long handle;
|
||||
intptr_t handle;
|
||||
|
||||
#else
|
||||
#if MSDOS_COMPILER==WIN32C && !defined(_MSC_VER) /* Borland C for Windows */
|
||||
|
6
line.c
6
line.c
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 1984-2019 Mark Nudelman
|
||||
* Copyright (C) 1984-2020 Mark Nudelman
|
||||
*
|
||||
* You may distribute under the terms of either the GNU General Public
|
||||
* License or the Less License, as specified in the README file.
|
||||
@ -794,7 +794,7 @@ flush_mbc_buf(pos)
|
||||
*/
|
||||
public int
|
||||
pappend(c, pos)
|
||||
unsigned char c;
|
||||
int c;
|
||||
POSITION pos;
|
||||
{
|
||||
int r;
|
||||
@ -1164,7 +1164,7 @@ pdone(endline, chopped, forw)
|
||||
*/
|
||||
public void
|
||||
set_status_col(c)
|
||||
char c;
|
||||
int c;
|
||||
{
|
||||
set_linebuf(0, c, AT_NORMAL|AT_HILITE);
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 1984-2019 Mark Nudelman
|
||||
* Copyright (C) 1984-2020 Mark Nudelman
|
||||
*
|
||||
* You may distribute under the terms of either the GNU General Public
|
||||
* License or the Less License, as specified in the README file.
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 1984-2019 Mark Nudelman
|
||||
* Copyright (C) 1984-2020 Mark Nudelman
|
||||
*
|
||||
* You may distribute under the terms of either the GNU General Public
|
||||
* License or the Less License, as specified in the README file.
|
||||
|
5
main.c
5
main.c
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 1984-2019 Mark Nudelman
|
||||
* Copyright (C) 1984-2020 Mark Nudelman
|
||||
*
|
||||
* You may distribute under the terms of either the GNU General Public
|
||||
* License or the Less License, as specified in the README file.
|
||||
@ -117,7 +117,6 @@ main(argc, argv)
|
||||
init_mark();
|
||||
init_cmds();
|
||||
get_term();
|
||||
expand_cmd_tables();
|
||||
init_charset();
|
||||
init_line();
|
||||
init_cmdhist();
|
||||
@ -159,6 +158,8 @@ main(argc, argv)
|
||||
quit(QUIT_OK);
|
||||
}
|
||||
|
||||
expand_cmd_tables();
|
||||
|
||||
#if EDITOR
|
||||
editor = lgetenv("VISUAL");
|
||||
if (editor == NULL || *editor == '\0')
|
||||
|
2
mark.c
2
mark.c
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 1984-2019 Mark Nudelman
|
||||
* Copyright (C) 1984-2020 Mark Nudelman
|
||||
*
|
||||
* You may distribute under the terms of either the GNU General Public
|
||||
* License or the Less License, as specified in the README file.
|
||||
|
34
mkutable
34
mkutable
@ -7,8 +7,9 @@ my $USAGE = <<__EOF__;
|
||||
-f = zero-based type field (default 2)
|
||||
__EOF__
|
||||
|
||||
use vars qw( $opt_f $opt_n );
|
||||
use Getopt::Std;
|
||||
use vars qw( $opt_f $opt_n );
|
||||
|
||||
my $type_field = 2;
|
||||
|
||||
# Override Unicode tables for certain control chars
|
||||
@ -21,16 +22,20 @@ my %force_space = (
|
||||
0x0d => 1, # carriage return
|
||||
);
|
||||
|
||||
# Hangul Jamo medial vowels and final consonants should be zero width.
|
||||
my @force_compose = (
|
||||
[0x1160, 0x11ff],
|
||||
[0xd7b0, 0xd7c6],
|
||||
[0xd7cb, 0xd7fb]
|
||||
);
|
||||
|
||||
exit (main() ? 0 : 1);
|
||||
|
||||
sub main {
|
||||
my $date = `date`;
|
||||
chomp $date;
|
||||
my $args = join ' ', @ARGV;
|
||||
my $header = "/* Generated by \"$0 $args\" on $date */\n";
|
||||
|
||||
die $USAGE if not getopts('f:n');
|
||||
$type_field = $opt_f if $opt_f;
|
||||
|
||||
my %types;
|
||||
my $arg;
|
||||
while ($arg = shift @ARGV) {
|
||||
@ -39,7 +44,18 @@ sub main {
|
||||
}
|
||||
my %out = ( 'types' => \%types );
|
||||
|
||||
print $header;
|
||||
my %force_compose;
|
||||
foreach my $comp (@force_compose) {
|
||||
my ($lo,$hi) = @$comp;
|
||||
for (my $ch = $lo; $ch <= $hi; ++$ch) {
|
||||
$force_compose{$ch} = 1;
|
||||
}
|
||||
}
|
||||
|
||||
my $date = `date`;
|
||||
chomp $date;
|
||||
print "/* Generated by \"$0 $args\" on $date */\n";
|
||||
|
||||
my $last_code = 0;
|
||||
while (<>) {
|
||||
chomp;
|
||||
@ -52,13 +68,13 @@ sub main {
|
||||
$lo_code = hex $1;
|
||||
$hi_code = hex $2;
|
||||
} else {
|
||||
$lo_code = $hi_code = hex $fields[0];
|
||||
$lo_code = $hi_code = hex $codes;
|
||||
}
|
||||
my $type = $fields[$type_field];
|
||||
$type =~ s/\s//g;
|
||||
for ($last_code = $lo_code; $last_code <= $hi_code; ++$last_code) {
|
||||
$type = 'Zs' if $force_space{$last_code};
|
||||
output(\%out, $last_code, $type);
|
||||
output(\%out, $last_code,
|
||||
$force_space{$last_code} ? 'Zs' : $force_compose{$last_code} ? 'Mn' : $type);
|
||||
}
|
||||
}
|
||||
output(\%out, $last_code);
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 1984-2019 Mark Nudelman
|
||||
* Copyright (C) 1984-2020 Mark Nudelman
|
||||
*
|
||||
* You may distribute under the terms of either the GNU General Public
|
||||
* License or the Less License, as specified in the README file.
|
||||
@ -513,7 +513,7 @@ opt__V(type, s)
|
||||
putstr(" (");
|
||||
putstr(pattern_lib_name());
|
||||
putstr(" regular expressions)\n");
|
||||
putstr("Copyright (C) 1984-2019 Mark Nudelman\n\n");
|
||||
putstr("Copyright (C) 1984-2020 Mark Nudelman\n\n");
|
||||
putstr("less comes with NO WARRANTY, to the extent permitted by law.\n");
|
||||
putstr("For information about the terms of redistribution,\n");
|
||||
putstr("see the file named README in the less distribution.\n");
|
||||
|
25
option.c
25
option.c
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 1984-2019 Mark Nudelman
|
||||
* Copyright (C) 1984-2020 Mark Nudelman
|
||||
*
|
||||
* You may distribute under the terms of either the GNU General Public
|
||||
* License or the Less License, as specified in the README file.
|
||||
@ -23,8 +23,9 @@
|
||||
static struct loption *pendopt;
|
||||
public int plusoption = FALSE;
|
||||
|
||||
static char *optstring();
|
||||
static int flip_triple();
|
||||
static char *optstring LESSPARAMS((char *s, char **p_str, char *printopt,
|
||||
char *validchars));
|
||||
static int flip_triple LESSPARAMS((int val, int lc));
|
||||
|
||||
extern int screen_trashed;
|
||||
extern int less_is_more;
|
||||
@ -525,6 +526,24 @@ opt_prompt(o)
|
||||
return (o->odesc[0]);
|
||||
}
|
||||
|
||||
/*
|
||||
* If the specified option can be toggled, return NULL.
|
||||
* Otherwise return an appropriate error message.
|
||||
*/
|
||||
public char *
|
||||
opt_toggle_disallowed(c)
|
||||
int c;
|
||||
{
|
||||
switch (c)
|
||||
{
|
||||
case 'o':
|
||||
if (ch_getflags() & CH_CANSEEK)
|
||||
return "Input is not a pipe";
|
||||
break;
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/*
|
||||
* Return whether or not there is a string option pending;
|
||||
* that is, if the previous option was a string-valued option letter
|
||||
|
2
option.h
2
option.h
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 1984-2019 Mark Nudelman
|
||||
* Copyright (C) 1984-2020 Mark Nudelman
|
||||
*
|
||||
* You may distribute under the terms of either the GNU General Public
|
||||
* License or the Less License, as specified in the README file.
|
||||
|
2
opttbl.c
2
opttbl.c
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 1984-2019 Mark Nudelman
|
||||
* Copyright (C) 1984-2020 Mark Nudelman
|
||||
*
|
||||
* You may distribute under the terms of either the GNU General Public
|
||||
* License or the Less License, as specified in the README file.
|
||||
|
2
os.c
2
os.c
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 1984-2019 Mark Nudelman
|
||||
* Copyright (C) 1984-2020 Mark Nudelman
|
||||
*
|
||||
* You may distribute under the terms of either the GNU General Public
|
||||
* License or the Less License, as specified in the README file.
|
||||
|
6
output.c
6
output.c
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 1984-2019 Mark Nudelman
|
||||
* Copyright (C) 1984-2020 Mark Nudelman
|
||||
*
|
||||
* You may distribute under the terms of either the GNU General Public
|
||||
* License or the Less License, as specified in the README file.
|
||||
@ -500,8 +500,8 @@ type funcname(buf, ebuf) \
|
||||
return val; \
|
||||
}
|
||||
|
||||
STR_TO_TYPE_FUNC(lstrtopos, POSITION);
|
||||
STR_TO_TYPE_FUNC(lstrtoi, int);
|
||||
STR_TO_TYPE_FUNC(lstrtopos, POSITION)
|
||||
STR_TO_TYPE_FUNC(lstrtoi, int)
|
||||
|
||||
/*
|
||||
* Output an integer in a given radix.
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 1984-2019 Mark Nudelman
|
||||
* Copyright (C) 1984-2020 Mark Nudelman
|
||||
*
|
||||
* You may distribute under the terms of either the GNU General Public
|
||||
* License or the Less License, as specified in the README file.
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 1984-2019 Mark Nudelman
|
||||
* Copyright (C) 1984-2020 Mark Nudelman
|
||||
*
|
||||
* You may distribute under the terms of either the GNU General Public
|
||||
* License or the Less License, as specified in the README file.
|
||||
|
2
pckeys.h
2
pckeys.h
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 1984-2019 Mark Nudelman
|
||||
* Copyright (C) 1984-2020 Mark Nudelman
|
||||
*
|
||||
* You may distribute under the terms of either the GNU General Public
|
||||
* License or the Less License, as specified in the README file.
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 1984-2019 Mark Nudelman
|
||||
* Copyright (C) 1984-2020 Mark Nudelman
|
||||
*
|
||||
* You may distribute under the terms of either the GNU General Public
|
||||
* License or the Less License, as specified in the README file.
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 1984-2019 Mark Nudelman
|
||||
* Copyright (C) 1984-2020 Mark Nudelman
|
||||
*
|
||||
* You may distribute under the terms of either the GNU General Public
|
||||
* License or the Less License, as specified in the README file.
|
||||
|
2
prompt.c
2
prompt.c
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 1984-2019 Mark Nudelman
|
||||
* Copyright (C) 1984-2020 Mark Nudelman
|
||||
*
|
||||
* You may distribute under the terms of either the GNU General Public
|
||||
* License or the Less License, as specified in the README file.
|
||||
|
59
screen.c
59
screen.c
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 1984-2019 Mark Nudelman
|
||||
* Copyright (C) 1984-2020 Mark Nudelman
|
||||
*
|
||||
* You may distribute under the terms of either the GNU General Public
|
||||
* License or the Less License, as specified in the README file.
|
||||
@ -219,8 +219,9 @@ extern int binattr;
|
||||
extern int one_screen;
|
||||
|
||||
#if !MSDOS_COMPILER
|
||||
static char *cheaper();
|
||||
static void tmodes();
|
||||
static char *cheaper LESSPARAMS((char *t1, char *t2, char *def));
|
||||
static void tmodes LESSPARAMS((char *incap, char *outcap, char **instr,
|
||||
char **outstr, char *def_instr, char *def_outstr, char **spp));
|
||||
#endif
|
||||
|
||||
/*
|
||||
@ -253,6 +254,11 @@ extern int hilite_search;
|
||||
#endif
|
||||
#if MSDOS_COMPILER==WIN32C
|
||||
extern HANDLE tty;
|
||||
extern DWORD console_mode;
|
||||
#ifndef ENABLE_EXTENDED_FLAGS
|
||||
#define ENABLE_EXTENDED_FLAGS 0x80
|
||||
#define ENABLE_QUICK_EDIT_MODE 0x40
|
||||
#endif
|
||||
#else
|
||||
extern int tty;
|
||||
#endif
|
||||
@ -642,7 +648,6 @@ ltget_env(capname)
|
||||
char *capname;
|
||||
{
|
||||
char name[64];
|
||||
char *s;
|
||||
|
||||
if (termcap_debug)
|
||||
{
|
||||
@ -1080,7 +1085,6 @@ get_term(VOID_PARAM)
|
||||
#else
|
||||
#if MSDOS_COMPILER==WIN32C
|
||||
{
|
||||
DWORD nread;
|
||||
CONSOLE_SCREEN_BUFFER_INFO scr;
|
||||
|
||||
con_out_save = con_out = GetStdHandle(STD_OUTPUT_HANDLE);
|
||||
@ -1090,8 +1094,7 @@ get_term(VOID_PARAM)
|
||||
*/
|
||||
SET_BINARY(0);
|
||||
GetConsoleScreenBufferInfo(con_out, &scr);
|
||||
ReadConsoleOutputAttribute(con_out, &curr_attr,
|
||||
1, scr.dwCursorPosition, &nread);
|
||||
curr_attr = scr.wAttributes;
|
||||
sy_bg_color = (curr_attr & BG_COLORS) >> 4; /* normalize */
|
||||
sy_fg_color = curr_attr & FG_COLORS;
|
||||
}
|
||||
@ -1122,8 +1125,11 @@ get_term(VOID_PARAM)
|
||||
char *sp;
|
||||
char *t1, *t2;
|
||||
char *term;
|
||||
char termbuf[TERMBUF_SIZE];
|
||||
|
||||
/*
|
||||
* Some termcap libraries assume termbuf is static
|
||||
* (accessible after tgetent returns).
|
||||
*/
|
||||
static char termbuf[TERMBUF_SIZE];
|
||||
static char sbuf[TERMSBUF_SIZE];
|
||||
|
||||
#if OS2
|
||||
@ -1146,12 +1152,13 @@ get_term(VOID_PARAM)
|
||||
/*
|
||||
* Find out what kind of terminal this is.
|
||||
*/
|
||||
if ((term = lgetenv("TERM")) == NULL)
|
||||
term = DEFAULT_TERM;
|
||||
if ((term = lgetenv("TERM")) == NULL)
|
||||
term = DEFAULT_TERM;
|
||||
hardcopy = 0;
|
||||
if (tgetent(termbuf, term) != TGETENT_OK)
|
||||
hardcopy = 1;
|
||||
if (ltgetflag("hc"))
|
||||
/* {{ Should probably just pass NULL instead of termbuf. }} */
|
||||
if (tgetent(termbuf, term) != TGETENT_OK)
|
||||
hardcopy = 1;
|
||||
if (ltgetflag("hc"))
|
||||
hardcopy = 1;
|
||||
|
||||
/*
|
||||
@ -1562,7 +1569,9 @@ init_mouse(VOID_PARAM)
|
||||
tputs(sc_s_mousecap, sc_height, putchr);
|
||||
#else
|
||||
#if MSDOS_COMPILER==WIN32C
|
||||
SetConsoleMode(tty, ENABLE_PROCESSED_INPUT | ENABLE_MOUSE_INPUT);
|
||||
SetConsoleMode(tty, ENABLE_PROCESSED_INPUT | ENABLE_MOUSE_INPUT
|
||||
| ENABLE_EXTENDED_FLAGS /* disable quick edit */);
|
||||
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
@ -1580,7 +1589,8 @@ deinit_mouse(VOID_PARAM)
|
||||
tputs(sc_e_mousecap, sc_height, putchr);
|
||||
#else
|
||||
#if MSDOS_COMPILER==WIN32C
|
||||
SetConsoleMode(tty, ENABLE_PROCESSED_INPUT);
|
||||
SetConsoleMode(tty, ENABLE_PROCESSED_INPUT | ENABLE_EXTENDED_FLAGS
|
||||
| (console_mode & ENABLE_QUICK_EDIT_MODE));
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
@ -1616,8 +1626,13 @@ init(VOID_PARAM)
|
||||
line_left();
|
||||
#else
|
||||
#if MSDOS_COMPILER==WIN32C
|
||||
if (!no_init)
|
||||
win32_init_term();
|
||||
if (!(quit_if_one_screen && one_screen))
|
||||
{
|
||||
if (!no_init)
|
||||
win32_init_term();
|
||||
init_mouse();
|
||||
|
||||
}
|
||||
#endif
|
||||
initcolor();
|
||||
flush();
|
||||
@ -1646,8 +1661,12 @@ deinit(VOID_PARAM)
|
||||
/* Restore system colors. */
|
||||
SETCOLORS(sy_fg_color, sy_bg_color);
|
||||
#if MSDOS_COMPILER==WIN32C
|
||||
if (!no_init)
|
||||
win32_deinit_term();
|
||||
if (!(quit_if_one_screen && one_screen))
|
||||
{
|
||||
deinit_mouse();
|
||||
if (!no_init)
|
||||
win32_deinit_term();
|
||||
}
|
||||
#else
|
||||
/* Need clreol to make SETCOLORS take effect. */
|
||||
clreol();
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 1984-2019 Mark Nudelman
|
||||
* Copyright (C) 1984-2020 Mark Nudelman
|
||||
*
|
||||
* You may distribute under the terms of either the GNU General Public
|
||||
* License or the Less License, as specified in the README file.
|
||||
|
2
search.c
2
search.c
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 1984-2019 Mark Nudelman
|
||||
* Copyright (C) 1984-2020 Mark Nudelman
|
||||
*
|
||||
* You may distribute under the terms of either the GNU General Public
|
||||
* License or the Less License, as specified in the README file.
|
||||
|
2
signal.c
2
signal.c
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 1984-2019 Mark Nudelman
|
||||
* Copyright (C) 1984-2020 Mark Nudelman
|
||||
*
|
||||
* You may distribute under the terms of either the GNU General Public
|
||||
* License or the Less License, as specified in the README file.
|
||||
|
17
tags.c
17
tags.c
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 1984-2019 Mark Nudelman
|
||||
* Copyright (C) 1984-2020 Mark Nudelman
|
||||
*
|
||||
* You may distribute under the terms of either the GNU General Public
|
||||
* License or the Less License, as specified in the README file.
|
||||
@ -44,13 +44,14 @@ enum {
|
||||
T_GPATH /* 'GPATH': path name (global) */
|
||||
};
|
||||
|
||||
static enum tag_result findctag();
|
||||
static enum tag_result findgtag();
|
||||
static char *nextgtag();
|
||||
static char *prevgtag();
|
||||
static POSITION ctagsearch();
|
||||
static POSITION gtagsearch();
|
||||
static int getentry();
|
||||
static enum tag_result findctag LESSPARAMS((char *tag));
|
||||
static enum tag_result findgtag LESSPARAMS((char *tag, int type));
|
||||
static char *nextgtag(VOID_PARAM);
|
||||
static char *prevgtag(VOID_PARAM);
|
||||
static POSITION ctagsearch(VOID_PARAM);
|
||||
static POSITION gtagsearch(VOID_PARAM);
|
||||
static int getentry LESSPARAMS((char *buf, char **tag, char **file,
|
||||
char **line));
|
||||
|
||||
/*
|
||||
* The list of tags generated by the last findgtag() call.
|
||||
|
4
ttyin.c
4
ttyin.c
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 1984-2019 Mark Nudelman
|
||||
* Copyright (C) 1984-2020 Mark Nudelman
|
||||
*
|
||||
* You may distribute under the terms of either the GNU General Public
|
||||
* License or the Less License, as specified in the README file.
|
||||
@ -23,7 +23,7 @@
|
||||
#define _WIN32_WINNT 0x400
|
||||
#endif
|
||||
#include <windows.h>
|
||||
static DWORD console_mode;
|
||||
public DWORD console_mode;
|
||||
public HANDLE tty;
|
||||
#else
|
||||
public int tty;
|
||||
|
2
ubin.uni
2
ubin.uni
@ -1,4 +1,4 @@
|
||||
/* Generated by "./mkutable -f2 Cc Cs Co Zl Zp -- unicode/UnicodeData.txt" on Wed Feb 13 17:57:06 PST 2019 */
|
||||
/* Generated by "./mkutable -f2 Cc Cs Co Zl Zp -- unicode/UnicodeData.txt" on Tue May 19 14:47:34 PDT 2020 */
|
||||
{ 0x0000, 0x0007 }, /* Cc */
|
||||
{ 0x000b, 0x000b }, /* Cc */
|
||||
{ 0x000e, 0x001f }, /* Cc */
|
||||
|
18
version.c
18
version.c
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 1984-2019 Mark Nudelman
|
||||
* Copyright (C) 1984-2020 Mark Nudelman
|
||||
*
|
||||
* You may distribute under the terms of either the GNU General Public
|
||||
* License or the Less License, as specified in the README file.
|
||||
@ -880,6 +880,20 @@ v549 2/10/19 Support X11 mouse extension 1006;
|
||||
Win32 fixes (thanks to Jason Hood).
|
||||
v550 2/16/19 Fix Win32 build; don't enable mouse unless --mouse is set.
|
||||
v551 6/10/19 Doc changes.
|
||||
-----------------------------------------------------------------
|
||||
v552 7/8/19 Update Unicode tables.
|
||||
v553 10/17/19 Support tinfow; handle zero-width Hangul chars.
|
||||
v554 1/19/20 Remove erroneous free().
|
||||
v555 3/15/20 Display error msg immediately when toggle -o without stdin.
|
||||
v556 3/15/20 Update copyright.
|
||||
v557 3/21/20 Fix memory corruption with libtermcap.
|
||||
v558 4/17/20 Don't init terminal if -F and file fits on one screen (WIN32).
|
||||
v559 4/19/20 Handle deinit correctly on WIN32.
|
||||
v560 5/3/20 Fix regression when command results in no movement;
|
||||
fix some less.nro issues (thanks to Bjarni I. Gislason).
|
||||
v561 5/11/20 Fix erroneous EOF calculation when F command is interrupted.
|
||||
v562 5/19/20 Update Unicode tables; minor doc formatting.
|
||||
v563 6/13/20 Fix crash due to realpath() incompatibility.
|
||||
*/
|
||||
|
||||
char version[] = "551";
|
||||
char version[] = "563";
|
||||
|
42
wide.uni
42
wide.uni
@ -1,4 +1,4 @@
|
||||
/* Generated by "./mkutable -f1 W F -- unicode/EastAsianWidth.txt" on Thu Feb 14 08:30:47 PST 2019 */
|
||||
/* Generated by "./mkutable -f1 W F -- unicode/EastAsianWidth.txt" on Tue May 19 14:47:35 PDT 2020 */
|
||||
{ 0x1100, 0x115f }, /* W */
|
||||
{ 0x231a, 0x231b }, /* W */
|
||||
{ 0x2329, 0x232a }, /* W */
|
||||
@ -44,12 +44,10 @@
|
||||
{ 0x3099, 0x30ff }, /* W */
|
||||
{ 0x3105, 0x312f }, /* W */
|
||||
{ 0x3131, 0x318e }, /* W */
|
||||
{ 0x3190, 0x31ba }, /* W */
|
||||
{ 0x31c0, 0x31e3 }, /* W */
|
||||
{ 0x3190, 0x31e3 }, /* W */
|
||||
{ 0x31f0, 0x321e }, /* W */
|
||||
{ 0x3220, 0x3247 }, /* W */
|
||||
{ 0x3250, 0x32fe }, /* W */
|
||||
{ 0x3300, 0x4dbf }, /* W */
|
||||
{ 0x3250, 0x4dbf }, /* W */
|
||||
{ 0x4e00, 0xa48c }, /* W */
|
||||
{ 0xa490, 0xa4c6 }, /* W */
|
||||
{ 0xa960, 0xa97c }, /* W */
|
||||
@ -61,10 +59,14 @@
|
||||
{ 0xfe68, 0xfe6b }, /* W */
|
||||
{ 0xff01, 0xff60 }, /* F */
|
||||
{ 0xffe0, 0xffe6 }, /* F */
|
||||
{ 0x16fe0, 0x16fe1 }, /* W */
|
||||
{ 0x17000, 0x187f1 }, /* W */
|
||||
{ 0x18800, 0x18af2 }, /* W */
|
||||
{ 0x16fe0, 0x16fe4 }, /* W */
|
||||
{ 0x16ff0, 0x16ff1 }, /* W */
|
||||
{ 0x17000, 0x187f7 }, /* W */
|
||||
{ 0x18800, 0x18cd5 }, /* W */
|
||||
{ 0x18d00, 0x18d08 }, /* W */
|
||||
{ 0x1b000, 0x1b11e }, /* W */
|
||||
{ 0x1b150, 0x1b152 }, /* W */
|
||||
{ 0x1b164, 0x1b167 }, /* W */
|
||||
{ 0x1b170, 0x1b2fb }, /* W */
|
||||
{ 0x1f004, 0x1f004 }, /* W */
|
||||
{ 0x1f0cf, 0x1f0cf }, /* W */
|
||||
@ -96,15 +98,21 @@
|
||||
{ 0x1f680, 0x1f6c5 }, /* W */
|
||||
{ 0x1f6cc, 0x1f6cc }, /* W */
|
||||
{ 0x1f6d0, 0x1f6d2 }, /* W */
|
||||
{ 0x1f6d5, 0x1f6d7 }, /* W */
|
||||
{ 0x1f6eb, 0x1f6ec }, /* W */
|
||||
{ 0x1f6f4, 0x1f6f9 }, /* W */
|
||||
{ 0x1f910, 0x1f93e }, /* W */
|
||||
{ 0x1f940, 0x1f970 }, /* W */
|
||||
{ 0x1f973, 0x1f976 }, /* W */
|
||||
{ 0x1f97a, 0x1f97a }, /* W */
|
||||
{ 0x1f97c, 0x1f9a2 }, /* W */
|
||||
{ 0x1f9b0, 0x1f9b9 }, /* W */
|
||||
{ 0x1f9c0, 0x1f9c2 }, /* W */
|
||||
{ 0x1f9d0, 0x1f9ff }, /* W */
|
||||
{ 0x1f6f4, 0x1f6fc }, /* W */
|
||||
{ 0x1f7e0, 0x1f7eb }, /* W */
|
||||
{ 0x1f90c, 0x1f93a }, /* W */
|
||||
{ 0x1f93c, 0x1f945 }, /* W */
|
||||
{ 0x1f947, 0x1f978 }, /* W */
|
||||
{ 0x1f97a, 0x1f9cb }, /* W */
|
||||
{ 0x1f9cd, 0x1f9ff }, /* W */
|
||||
{ 0x1fa70, 0x1fa74 }, /* W */
|
||||
{ 0x1fa78, 0x1fa7a }, /* W */
|
||||
{ 0x1fa80, 0x1fa86 }, /* W */
|
||||
{ 0x1fa90, 0x1faa8 }, /* W */
|
||||
{ 0x1fab0, 0x1fab6 }, /* W */
|
||||
{ 0x1fac0, 0x1fac2 }, /* W */
|
||||
{ 0x1fad0, 0x1fad6 }, /* W */
|
||||
{ 0x20000, 0x2fffd }, /* W */
|
||||
{ 0x30000, 0x3fffd }, /* W */
|
||||
|
Loading…
Reference in New Issue
Block a user