MFV r366990: less v563.
MFC after: 2 weeks Relnotes: yes
This commit is contained in:
commit
6f26c71d76
@ -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
|
||||
|
@ -7,9 +7,9 @@
|
||||
**************************************************************************
|
||||
**************************************************************************
|
||||
|
||||
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
|
||||
@ -33,6 +33,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):
|
||||
|
||||
|
@ -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.
|
||||
@ -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.
|
||||
|
@ -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.
|
||||
@ -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);
|
||||
}
|
||||
|
@ -1,6 +1,6 @@
|
||||
/* $FreeBSD$ */
|
||||
/*
|
||||
* 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.
|
||||
@ -90,7 +90,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.
|
||||
@ -1806,6 +1806,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:
|
||||
|
@ -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 */
|
||||
|
@ -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.
|
||||
@ -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)
|
||||
|
@ -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,6 +1,6 @@
|
||||
/* $FreeBSD$ */
|
||||
/*
|
||||
* 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.
|
||||
@ -21,7 +21,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;
|
||||
@ -290,7 +289,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();
|
||||
@ -350,7 +349,7 @@ back(n, pos, force, only_last)
|
||||
}
|
||||
}
|
||||
|
||||
if (nlines == 0 && same_pos_bell)
|
||||
if (nlines == 0)
|
||||
eof_bell();
|
||||
else if (do_repaint)
|
||||
repaint();
|
||||
|
@ -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));
|
||||
|
@ -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',
|
||||
|
@ -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.
|
||||
@ -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)
|
||||
|
@ -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,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
|
||||
@ -229,7 +229,7 @@ that is, do a simple textual comparison.
|
||||
.RE
|
||||
.IP ?pattern
|
||||
Search backward in the file for the N-th line containing the pattern.
|
||||
The search starts at the last line displayed
|
||||
The search starts at the last line displayed
|
||||
(but see the \-a and \-j options, which change this).
|
||||
.sp
|
||||
Certain characters are special as in the / command:
|
||||
@ -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,
|
||||
@ -425,7 +425,7 @@ On MS-DOS and OS/2 systems, the shell is the normal command processor.
|
||||
.IP "| <m> shell-command"
|
||||
<m> represents any mark letter.
|
||||
Pipes a section of the input file to the given shell command.
|
||||
The section of the file to be piped is between the position marked by
|
||||
The section of the file to be piped is between the position marked by
|
||||
the letter and the current screen.
|
||||
The entire current screen is included, regardless of whether the
|
||||
marked position is before or after the current screen.
|
||||
@ -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.
|
||||
@ -762,7 +763,7 @@ The default is to ring the terminal bell in all such cases.
|
||||
.IP "\-Q or \-\-QUIET or \-\-SILENT"
|
||||
Causes totally "quiet" operation:
|
||||
the terminal bell is never rung.
|
||||
If the terminal has a "visual bell", it is used in all cases
|
||||
If the terminal has a "visual bell", it is used in all cases
|
||||
where the terminal bell would have been rung.
|
||||
.IP "\-r or \-\-raw-control-chars"
|
||||
Causes "raw" control characters to be displayed.
|
||||
@ -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
|
||||
@ -944,15 +945,15 @@ will display the contents of that new file.
|
||||
Enables mouse input:
|
||||
scrolling the mouse wheel down moves forward in the file,
|
||||
scrolling the mouse wheel up moves backwards in the file,
|
||||
and clicking the mouse sets the "#" mark to the line
|
||||
and clicking the mouse sets the "#" mark to the line
|
||||
where the mouse is clicked.
|
||||
The number of lines to scroll when the wheel is moved
|
||||
The number of lines to scroll when the wheel is moved
|
||||
can be set by the \-\-wheel-lines option.
|
||||
Mouse input works only on terminals which support X11 mouse reporting,
|
||||
and on the Windows version of
|
||||
and on the Windows version of
|
||||
.IR less .
|
||||
.IP "\-\-MOUSE"
|
||||
Like \-\-mouse, except the direction scrolled
|
||||
Like \-\-mouse, except the direction scrolled
|
||||
on mouse wheel movement is reversed.
|
||||
.IP "\-\-no-keypad"
|
||||
Disables sending the keypad initialization and deinitialization strings
|
||||
@ -961,7 +962,7 @@ This is sometimes useful if the keypad strings make the numeric
|
||||
keypad behave in an undesirable manner.
|
||||
.IP "\-\-no-histdups"
|
||||
This option changes the behavior so that if a search string or
|
||||
file name is typed in, and the same string is already in the history list,
|
||||
file name is typed in, and the same string is already in the history list,
|
||||
the existing copy is removed from the history list before the new one is added.
|
||||
Thus, a given string will appear only once in the history list.
|
||||
Normally, a string may appear multiple times.
|
||||
@ -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.
|
||||
|
@ -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.
|
||||
|
@ -1,29 +1,30 @@
|
||||
.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.
|
||||
is used to specify a set of key bindings to be used by
|
||||
.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;
|
||||
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.
|
||||
If no output file is specified,
|
||||
The output file is a binary file which is used by
|
||||
.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.
|
||||
Otherwise, a standard filename 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.
|
||||
to print its version number and immediately exit.
|
||||
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
|
||||
@ -255,13 +259,13 @@ Commands specified by
|
||||
take precedence over the default commands.
|
||||
A default command key may be disabled by including it in the
|
||||
input file with the action "invalid".
|
||||
Alternatively, a key may be defined
|
||||
Alternatively, a key may be defined
|
||||
to do nothing by using the action "noaction".
|
||||
"noaction" is similar to "invalid", but
|
||||
"noaction" is similar to "invalid", but
|
||||
.I less
|
||||
will give an error beep for an "invalid" command,
|
||||
will give an error beep for an "invalid" command,
|
||||
but not for a "noaction" command.
|
||||
In addition, ALL default commands may be disabled by
|
||||
In addition, ALL default commands may be disabled by
|
||||
adding this control line to the input file:
|
||||
.sp
|
||||
#stop
|
||||
@ -269,60 +273,63 @@ adding this control line to the input file:
|
||||
This will cause all default commands to be ignored.
|
||||
The #stop line should be the last line in that section of the file.
|
||||
.PP
|
||||
Be aware that #stop can be dangerous.
|
||||
Since all default commands are disabled,
|
||||
Be aware that #stop can be dangerous.
|
||||
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
|
||||
#line-edit
|
||||
.sp
|
||||
This section specifies new key bindings for the line editing commands,
|
||||
in a manner similar to the way key bindings for
|
||||
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,37 +340,37 @@ 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
|
||||
environment, the main purpose of assigning variables in the lesskey file
|
||||
is simply to have all
|
||||
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>.
|
||||
|
@ -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 */
|
||||
|
@ -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.
|
||||
|
@ -1,6 +1,6 @@
|
||||
/* $FreeBSD$ */
|
||||
/*
|
||||
* 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.
|
||||
@ -119,7 +119,6 @@ main(argc, argv)
|
||||
init_mark();
|
||||
init_cmds();
|
||||
get_term();
|
||||
expand_cmd_tables();
|
||||
init_charset();
|
||||
init_line();
|
||||
init_cmdhist();
|
||||
@ -168,6 +167,8 @@ main(argc, argv)
|
||||
if (less_is_more)
|
||||
no_init = TRUE;
|
||||
|
||||
expand_cmd_tables();
|
||||
|
||||
#if EDITOR
|
||||
editor = lgetenv("VISUAL");
|
||||
if (editor == NULL || *editor == '\0')
|
||||
|
@ -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,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");
|
||||
|
@ -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
|
||||
|
@ -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.
|
||||
@ -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.
|
||||
|
@ -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.
|
||||
@ -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.
|
||||
|
@ -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.
|
||||
@ -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.
|
||||
|
@ -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;
|
||||
|
@ -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 */
|
||||
|
@ -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";
|
||||
|
@ -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