diff options
author | Tim J. Robbins <tjr@FreeBSD.org> | 2004-04-17 07:24:09 +0000 |
---|---|---|
committer | Tim J. Robbins <tjr@FreeBSD.org> | 2004-04-17 07:24:09 +0000 |
commit | 1ede1615747861739301dfdbb525338ceacb5183 (patch) | |
tree | 4fefa15c12f7b1396b087d2cc571bd936cba7fa4 /contrib/less | |
parent | d9872da232e14e1a92707c29e1f833346a03af92 (diff) | |
download | src-1ede1615747861739301dfdbb525338ceacb5183.tar.gz src-1ede1615747861739301dfdbb525338ceacb5183.zip |
Merge vendor changes onto mainline.
Notes
Notes:
svn path=/head/; revision=128348
Diffstat (limited to 'contrib/less')
-rw-r--r-- | contrib/less/acconfig.h | 76 | ||||
-rw-r--r-- | contrib/less/command.c | 64 | ||||
-rw-r--r-- | contrib/less/configure.in | 322 | ||||
-rw-r--r-- | contrib/less/defines.h.top | 173 | ||||
-rw-r--r-- | contrib/less/forwback.c | 2 | ||||
-rw-r--r-- | contrib/less/less.h | 9 | ||||
-rw-r--r-- | contrib/less/main.c | 21 | ||||
-rw-r--r-- | contrib/less/prompt.c | 108 | ||||
-rw-r--r-- | contrib/less/screen.c | 23 | ||||
-rw-r--r-- | contrib/less/search.c | 126 | ||||
-rw-r--r-- | contrib/less/signal.c | 2 |
11 files changed, 217 insertions, 709 deletions
diff --git a/contrib/less/acconfig.h b/contrib/less/acconfig.h deleted file mode 100644 index 4fa6f9d3871c..000000000000 --- a/contrib/less/acconfig.h +++ /dev/null @@ -1,76 +0,0 @@ -/* - * Copyright (C) 1984-2000 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. - * - * For more information about less, or for information on how to - * contact the author, see the README file. - */ - - -/* - * Regular expression library. - * Define exactly one of the following to be 1: - * HAVE_POSIX_REGCOMP: POSIX regcomp() and regex.h - * HAVE_PCRE: PCRE (Perl-compatible regular expression) library - * HAVE_RE_COMP: BSD re_comp() - * HAVE_REGCMP: System V regcmp() - * HAVE_V8_REGCOMP: Henry Spencer V8 regcomp() and regexp.h - * NO_REGEX: pattern matching is supported, but without metacharacters. - */ -#undef HAVE_POSIX_REGCOMP -#undef HAVE_PCRE -#undef HAVE_RE_COMP -#undef HAVE_REGCMP -#undef HAVE_V8_REGCOMP -#undef NO_REGEX -#undef HAVE_REGEXEC2 - -/* Define HAVE_VOID if your compiler supports the "void" type. */ -#undef HAVE_VOID - -/* Define HAVE_CONST if your compiler supports the "const" modifier. */ -#undef HAVE_CONST - -/* Define HAVE_TIME_T if your system supports the "time_t" type. */ -#undef HAVE_TIME_T - -/* Define HAVE_STRERROR if you have the strerror() function. */ -#undef HAVE_STRERROR - -/* Define HAVE_FILENO if you have the fileno() macro. */ -#undef HAVE_FILENO - -/* Define HAVE_ERRNO if you have the errno variable */ -/* Define MUST_DEFINE_ERRNO if you have errno but it is not define - * in errno.h */ -#undef HAVE_ERRNO -#undef MUST_DEFINE_ERRNO - -/* Define HAVE_SYS_ERRLIST if you have the sys_errlist[] variable */ -#undef HAVE_SYS_ERRLIST - -/* Define HAVE_OSPEED if your termcap library has the ospeed variable */ -/* Define MUST_DEFINE_OSPEED if you have ospeed but it is not defined - * in termcap.h. */ -#undef HAVE_OSPEED -#undef MUST_DEFINE_OSPEED - -/* Define HAVE_LOCALE if you have locale.h and setlocale. */ -#undef HAVE_LOCALE - -/* Define HAVE_TERMIOS_FUNCS if you have tcgetattr/tcsetattr */ -#undef HAVE_TERMIOS_FUNCS - -/* Define HAVE_UPPER_LOWER if you have isupper, islower, toupper, tolower */ -#undef HAVE_UPPER_LOWER - -/* Define HAVE_SIGSET_T you have the sigset_t type */ -#undef HAVE_SIGSET_T - -/* Define HAVE_SIGEMPTYSET if you have the sigemptyset macro */ -#undef HAVE_SIGEMPTYSET - -/* Define EDIT_PGM to your editor. */ -#define EDIT_PGM "vi" diff --git a/contrib/less/command.c b/contrib/less/command.c index d9c177c2bb64..9bc966c7a97d 100644 --- a/contrib/less/command.c +++ b/contrib/less/command.c @@ -1,6 +1,6 @@ /* $FreeBSD$ */ /* - * Copyright (C) 1984-2000 Mark Nudelman + * Copyright (C) 1984-2002 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. @@ -64,7 +64,7 @@ static char *shellcmd = NULL; /* For holding last shell command for "!!" */ #endif static int mca; /* The multicharacter command (action) */ static int search_type; /* The previous type of search */ -static int number; /* The number typed by the user */ +static LINENUM number; /* The number typed by the user */ static char optchar; static int optflag; static int optgetname; @@ -189,7 +189,7 @@ exec_mca() { case A_F_SEARCH: case A_B_SEARCH: - multi_search(cbuf, number); + multi_search(cbuf, (int) number); break; case A_FIRSTCMD: /* @@ -209,18 +209,20 @@ exec_mca() optchar = '\0'; break; case A_F_BRACKET: - match_brac(cbuf[0], cbuf[1], 1, number); + match_brac(cbuf[0], cbuf[1], 1, (int) number); break; case A_B_BRACKET: - match_brac(cbuf[1], cbuf[0], 0, number); + match_brac(cbuf[1], cbuf[0], 0, (int) number); break; #if EXAMINE case A_EXAMINE: if (secure) break; edit_list(cbuf); +#if TAGS /* If tag structure is loaded then clean it up. */ cleantags(); +#endif break; #endif #if SHELL_ESCAPE @@ -363,7 +365,7 @@ mca_char(c) * If so, display the complete name and stop * accepting chars until user hits RETURN. */ - struct option *o; + struct loption *o; char *oname; int lc; @@ -987,7 +989,7 @@ commands() * Forward one window (and set the window size). */ if (number > 0) - swindow = number; + swindow = (int) number; /* FALLTHRU */ case A_F_SCREEN: /* @@ -998,7 +1000,7 @@ commands() cmd_exec(); if (show_attn) set_attnpos(bottompos); - forward(number, 0, 1); + forward((int) number, 0, 1); break; case A_B_WINDOW: @@ -1006,7 +1008,7 @@ commands() * Backward one window (and set the window size). */ if (number > 0) - swindow = number; + swindow = (int) number; /* FALLTHRU */ case A_B_SCREEN: /* @@ -1015,7 +1017,7 @@ commands() if (number <= 0) number = get_swindow(); cmd_exec(); - backward(number, 0, 1); + backward((int) number, 0, 1); break; case A_F_LINE: @@ -1027,7 +1029,7 @@ commands() cmd_exec(); if (show_attn == OPT_ONPLUS && number > 1) set_attnpos(bottompos); - forward(number, 0, 0); + forward((int) number, 0, 0); break; case A_B_LINE: @@ -1037,7 +1039,7 @@ commands() if (number <= 0) number = 1; cmd_exec(); - backward(number, 0, 0); + backward((int) number, 0, 0); break; case A_FF_LINE: @@ -1049,7 +1051,7 @@ commands() cmd_exec(); if (show_attn == OPT_ONPLUS && number > 1) set_attnpos(bottompos); - forward(number, 1, 0); + forward((int) number, 1, 0); break; case A_BF_LINE: @@ -1059,7 +1061,7 @@ commands() if (number <= 0) number = 1; cmd_exec(); - backward(number, 1, 0); + backward((int) number, 1, 0); break; case A_FF_SCREEN: @@ -1071,7 +1073,7 @@ commands() cmd_exec(); if (show_attn == OPT_ONPLUS) set_attnpos(bottompos); - forward(number, 1, 0); + forward((int) number, 1, 0); break; case A_F_FOREVER: @@ -1101,7 +1103,7 @@ commands() * (default same as last 'd' or 'u' command). */ if (number > 0) - wscroll = number; + wscroll = (int) number; cmd_exec(); if (show_attn == OPT_ONPLUS) set_attnpos(bottompos); @@ -1114,7 +1116,7 @@ commands() * (default same as last 'd' or 'u' command). */ if (number > 0) - wscroll = number; + wscroll = (int) number; cmd_exec(); backward(wscroll, 0, 0); break; @@ -1160,7 +1162,7 @@ commands() if (number > 100) number = 100; cmd_exec(); - jump_percent(number); + jump_percent((int) number); break; case A_GOEND: @@ -1181,7 +1183,7 @@ commands() cmd_exec(); if (number < 0) number = 0; - jump_line_loc((POSITION)number, jump_sline); + jump_line_loc((POSITION) number, jump_sline); break; case A_STAT: @@ -1229,7 +1231,7 @@ commands() #define DO_SEARCH() if (number <= 0) number = 1; \ mca_search(); \ cmd_exec(); \ - multi_search((char *)NULL, number); + multi_search((char *)NULL, (int) number); case A_F_SEARCH: @@ -1368,14 +1370,16 @@ commands() /* * Examine next file. */ +#if TAGS if (ntags()) { error("No next file", NULL_PARG); break; } +#endif if (number <= 0) number = 1; - if (edit_next(number)) + if (edit_next((int) number)) { if (quit_at_eof && hit_eof && !(ch_getflags() & CH_HELPFILE)) @@ -1389,14 +1393,16 @@ commands() /* * Examine previous file. */ +#if TAGS if (ntags()) { error("No previous file", NULL_PARG); break; } +#endif if (number <= 0) number = 1; - if (edit_prev(number)) + if (edit_prev((int) number)) { parg.p_string = (number > 1) ? "(N-th) " : ""; error("No %sprevious file", &parg); @@ -1404,9 +1410,10 @@ commands() break; case A_NEXT_TAG: +#if TAGS if (number <= 0) number = 1; - tagfile = nexttag(number); + tagfile = nexttag((int) number); if (tagfile == NULL) { error("No next tag", NULL_PARG); @@ -1418,12 +1425,16 @@ commands() if (pos != NULL_POSITION) jump_loc(pos, jump_sline); } +#else + error("Command not available", NULL_PARG); +#endif break; case A_PREV_TAG: +#if TAGS if (number <= 0) number = 1; - tagfile = prevtag(number); + tagfile = prevtag((int) number); if (tagfile == NULL) { error("No previous tag", NULL_PARG); @@ -1435,6 +1446,9 @@ commands() if (pos != NULL_POSITION) jump_loc(pos, jump_sline); } +#else + error("Command not available", NULL_PARG); +#endif break; case A_INDEX_FILE: @@ -1443,7 +1457,7 @@ commands() */ if (number <= 0) number = 1; - if (edit_index(number)) + if (edit_index((int) number)) error("No such file", NULL_PARG); break; diff --git a/contrib/less/configure.in b/contrib/less/configure.in deleted file mode 100644 index 83284735849a..000000000000 --- a/contrib/less/configure.in +++ /dev/null @@ -1,322 +0,0 @@ -dnl Process this file with autoconf to produce a configure script. -AC_INIT(forwback.c) -AC_CONFIG_HEADER(defines.h) - -dnl Checks for programs. -AC_PROG_CC -AC_ISC_POSIX -AC_PROG_GCC_TRADITIONAL -AC_PROG_INSTALL - -dnl Check for compilation model. -dnl AC_SYS_LARGEFILE is not supported in all versions of autoconf. -dnl Remove the dnl comment on the next line to use large (64 bit) files. -dnl AC_SYS_LARGEFILE - -dnl Checks for libraries. -AC_CHECK_LIB(xcurses, initscr, [have_xcurses=yes], [have_xcurses=no]) -AC_CHECK_LIB(ncurses, initscr, [have_ncurses=yes], [have_ncurses=no]) -AC_CHECK_LIB(curses, initscr, [have_curses=yes], [have_curses=no]) -AC_CHECK_LIB(termcap, tgetent, [have_termcap=yes], [have_termcap=no]) -AC_CHECK_LIB(termlib, tgetent, [have_termlib=yes], [have_termlib=no]) -dnl Regular expressions (regcmp) are in -lgen on Solaris 2, -dnl and in -lintl on SCO Unix. -AC_CHECK_LIB(gen, regcmp) -AC_CHECK_LIB(intl, regcmp) -AC_CHECK_LIB(PW, regcmp) -dnl Checks for terminal libraries - -AC_MSG_CHECKING(for working terminal libraries) -TERMLIBS= - -dnl Check for systems where curses is broken. -curses_broken=0 -if test x`uname -s` = "xHP-UX" >/dev/null 2>&1; then -if test x`uname -r` = "xB.11.00" >/dev/null 2>&1; then - curses_broken=1 -fi -if test x`uname -r` = "xB.11.11" >/dev/null 2>&1; then - curses_broken=1 -fi -fi - -if test $curses_broken = 0; then -dnl -- Try xcurses. -if test "x$TERMLIBS" = x; then - if test $have_xcurses = yes; then - TERMLIBS="-lxcurses" - 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 - -dnl -- Try ncurses. -if test "x$TERMLIBS" = x; then - if test $have_ncurses = yes; then - TERMLIBS="-lncurses" - 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 - -dnl -- Try curses. -if test "x$TERMLIBS" = x; then - if test $have_curses = yes; then - TERMLIBS="-lcurses" - 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 - -dnl -- Try curses & termcap. -if test "x$TERMLIBS" = x; then - if test $have_curses = yes; then - if test $have_termcap = yes; then - TERMLIBS="-lcurses -ltermcap" - 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 -fi -fi - -dnl -- Try termcap. -if test "x$TERMLIBS" = x; then - if test $have_termcap = yes; then - TERMLIBS="-ltermcap" - 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 - -dnl -- Try termlib. -if test "x$TERMLIBS" = x; then - if test $have_termlib = yes; then - TERMLIBS="-lcurses -ltermlib" - 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 - -if test "x$TERMLIBS" = x; then - AC_MSG_RESULT(Cannot find terminal libraries - configure failed) - exit 1 -fi -AC_MSG_RESULT(using $TERMLIBS) -LIBS="$LIBS $TERMLIBS" - - -dnl Checks for header files. -AC_CHECK_HEADERS(ctype.h errno.h fcntl.h limits.h stdio.h stdlib.h string.h termcap.h termio.h termios.h time.h unistd.h values.h sys/ioctl.h sys/stream.h sys/ptem.h) - -dnl Checks for identifiers. -AC_TYPE_OFF_T -AC_MSG_CHECKING(for void) -AC_TRY_COMPILE(, [void *foo = 0;], - [AC_MSG_RESULT(yes); AC_DEFINE(HAVE_VOID)], [AC_MSG_RESULT(no)]) -AC_MSG_CHECKING(for const) -AC_TRY_COMPILE(, [const int foo = 0;], - [AC_MSG_RESULT(yes); AC_DEFINE(HAVE_CONST)], [AC_MSG_RESULT(no)]) -AC_MSG_CHECKING(for time_t) -AC_TRY_COMPILE([#include <time.h>], [time_t t = 0;], - [AC_MSG_RESULT(yes); AC_DEFINE(HAVE_TIME_T)], [AC_MSG_RESULT(no)]) - -dnl Checks for functions and external variables. -AC_TYPE_SIGNAL -AC_CHECK_FUNCS(fsync memcpy popen _setjmp sigprocmask sigsetmask stat strchr strstr system) - -dnl Some systems have termios.h but not the corresponding functions. -AC_CHECK_FUNC(tcgetattr, AC_DEFINE(HAVE_TERMIOS_FUNCS)) - -AC_MSG_CHECKING(for fileno) -AC_TRY_LINK([ -#if HAVE_STDIO_H -#include <stdio.h> -#endif], [static int x; x = fileno(stdin);], - [AC_MSG_RESULT(yes); AC_DEFINE(HAVE_FILENO)], [AC_MSG_RESULT(no)]) - -AC_MSG_CHECKING(for strerror) -AC_TRY_LINK([ -#if HAVE_STDIO_H -#include <stdio.h> -#endif -#if HAVE_STRING_H -#include <string.h> -#endif -#if HAVE_ERRNO_H -#include <errno.h> -#endif], [static char *x; x = strerror(0);], - [AC_MSG_RESULT(yes); AC_DEFINE(HAVE_STRERROR)], [AC_MSG_RESULT(no)]) - -AC_MSG_CHECKING(for sys_errlist) -AC_TRY_LINK(, [extern char *sys_errlist[]; static char **x; x = sys_errlist;], - [AC_MSG_RESULT(yes); AC_DEFINE(HAVE_SYS_ERRLIST)], [AC_MSG_RESULT(no)]) - -AC_MSG_CHECKING(for sigset_t) -AC_TRY_LINK([ -#include <signal.h> -], [sigset_t s; s = 0;], - [AC_MSG_RESULT(yes); AC_DEFINE(HAVE_SIGSET_T)], [AC_MSG_RESULT(no)]) - -AC_MSG_CHECKING(for sigemptyset) -AC_TRY_LINK([ -#include <signal.h> -], [sigset_t s; sigemptyset(&s);], - [AC_MSG_RESULT(yes); AC_DEFINE(HAVE_SIGEMPTYSET)], [AC_MSG_RESULT(no)]) - -have_errno=no -AC_MSG_CHECKING(for errno) -AC_TRY_LINK([ -#if HAVE_ERRNO_H -#include <errno.h> -#endif], [static int x; x = errno;], - [AC_MSG_RESULT(yes - in errno.h); AC_DEFINE(HAVE_ERRNO) have_errno=yes]) -if test $have_errno = no; then -AC_TRY_LINK([ -#if HAVE_ERRNO_H -#include <errno.h> -#endif], [extern int errno; static int x; x = errno;], - [AC_MSG_RESULT(yes - must define); AC_DEFINE(HAVE_ERRNO) AC_DEFINE(MUST_DEFINE_ERRNO)], - [AC_MSG_RESULT(no)]) -fi - -AC_MSG_CHECKING(for locale) -AC_TRY_LINK([#include <locale.h> -#include <ctype.h>], [setlocale(LC_CTYPE,""); isprint(0); iscntrl(0);], - [AC_MSG_RESULT(yes); AC_DEFINE(HAVE_LOCALE)], [AC_MSG_RESULT(no)]) -AC_MSG_CHECKING(for ctype functions) -AC_TRY_LINK([ -#if HAVE_CTYPE_H -#include <ctype.h> -#endif], [static int x; x = isupper(x); x = tolower(x); x = toupper(x);], - [AC_MSG_RESULT(yes); AC_DEFINE(HAVE_UPPER_LOWER)], [AC_MSG_RESULT(no)]) - -dnl Checks for external variable ospeed in the termcap library. -have_ospeed=no -AC_MSG_CHECKING(termcap for ospeed) -AC_TRY_LINK([ -#include <sys/types.h> -#if HAVE_TERMIOS_H -#include <termios.h> -#endif -#if HAVE_TERMCAP_H -#include <termcap.h> -#endif], [ospeed = 0;], -[AC_MSG_RESULT(yes - in termcap.h); AC_DEFINE(HAVE_OSPEED) have_ospeed=yes]) -if test $have_ospeed = no; then -AC_TRY_LINK(, [extern short ospeed; ospeed = 0;], - [AC_MSG_RESULT(yes - must define); AC_DEFINE(HAVE_OSPEED) AC_DEFINE(MUST_DEFINE_OSPEED)], - [AC_MSG_RESULT(no)]) -fi - -dnl Checks for regular expression functions. -have_regex=no -have_posix_regex=unknown -AC_MSG_CHECKING(for regcomp) - -WANT_REGEX=auto -AC_ARG_WITH(regex, - [ --with-regex={auto,pcre,posix,regcmp,re_comp,regcomp,regcomp-local} Select a regular expression library [auto]], - WANT_REGEX="$withval") - -if test $have_regex = no; then -if test $WANT_REGEX = auto -o $WANT_REGEX = posix; then -dnl Some versions of Solaris have a regcomp() function, but it doesn't work! -dnl So we run a test program. If we're cross-compiling, do it the old way. -AC_TRY_RUN([ -#include <sys/types.h> -#include <regex.h> -main() { regex_t r; regmatch_t rm; char *text = "xabcy"; -if (regcomp(&r, "abc", 0)) exit(1); -if (regexec(&r, text, 1, &rm, 0)) exit(1); -#ifndef __WATCOMC__ -if (rm.rm_so != 1) exit(1); /* check for correct offset */ -#else -if (rm.rm_sp != text + 1) exit(1); /* check for correct offset */ -#endif -exit(0); }], - have_posix_regex=yes, have_posix_regex=no, have_posix_regex=unknown) -if test $have_posix_regex = yes; then - AC_MSG_RESULT(using POSIX regcomp) - AC_DEFINE(HAVE_POSIX_REGCOMP) - have_regex=yes -elif test $have_posix_regex = unknown; then - AC_TRY_LINK([ -#include <sys/types.h> -#include <regex.h>], - [regex_t *r; regfree(r);], - AC_MSG_RESULT(using POSIX regcomp) - AC_DEFINE(HAVE_POSIX_REGCOMP) have_regex=yes) -else - AC_MSG_RESULT(no) -fi -fi -fi - -if test $have_regex = no; then -if test $WANT_REGEX = auto -o $WANT_REGEX = pcre; then -AC_CHECK_LIB(pcre, pcre_compile, -[AC_MSG_RESULT(using pcre); AC_DEFINE(HAVE_PCRE) LIBS="$LIBS -lpcre" have_regex=yes], []) -fi -fi - -if test $have_regex = no; then -if test $WANT_REGEX = auto -o $WANT_REGEX = regcmp; then -AC_CHECK_FUNC(regcmp, -AC_MSG_RESULT(using regcmp); AC_DEFINE(HAVE_REGCMP) have_regex=yes) -fi -fi - -if test $have_regex = no; then -if test $WANT_REGEX = auto -o $WANT_REGEX = regcomp; then -AC_TRY_LINK([ -#include "regexp.h"], [regcomp("");], -AC_MSG_RESULT(using V8 regcomp); AC_DEFINE(HAVE_V8_REGCOMP) have_regex=yes) -fi -fi - -if test $have_regex = no && test -f ${srcdir}/regexp.c; then -if test $WANT_REGEX = auto -o $WANT_REGEX = regcomp-local; then -AC_MSG_RESULT(using V8 regcomp -- local source); AC_DEFINE(HAVE_V8_REGCOMP) AC_DEFINE(HAVE_REGEXEC2) REGEX_O='regexp.$(O)' AC_SUBST(REGEX_O) have_regex=yes -fi -fi - -if test $have_regex = no; then -if test $WANT_REGEX = auto -o $WANT_REGEX = re_comp; then -AC_MSG_RESULT(using re_comp); AC_CHECK_FUNC(re_comp, AC_DEFINE(HAVE_RE_COMP) have_regex=yes) -fi -fi - -if test $have_regex = no; then -AC_MSG_RESULT(cannot find regular expression library); AC_DEFINE(NO_REGEX) -fi - -AC_ARG_WITH(editor, - [ --with-editor=PROGRAM use PROGRAM as the default editor [vi]], - AC_DEFINE_UNQUOTED(EDIT_PGM, "$withval")) - -AC_OUTPUT(Makefile) diff --git a/contrib/less/defines.h.top b/contrib/less/defines.h.top deleted file mode 100644 index 11b32df87f2e..000000000000 --- a/contrib/less/defines.h.top +++ /dev/null @@ -1,173 +0,0 @@ -/* Unix definition file for less. -*- C -*- - * - * This file has 3 sections: - * User preferences. - * Settings always true on Unix. - * Settings automatically determined by configure. - * - * * * * * * WARNING * * * * * * - * If you edit defines.h by hand, do "touch stamp-h" before you run make - * so config.status doesn't overwrite your changes. - */ - -/* User preferences. */ - -/* - * SECURE is 1 if you wish to disable a bunch of features in order to - * be safe to run by unprivileged users. - */ -#define SECURE 0 - -/* - * SHELL_ESCAPE is 1 if you wish to allow shell escapes. - * (This is possible only if your system supplies the system() function.) - */ -#define SHELL_ESCAPE (!SECURE) - -/* - * EXAMINE is 1 if you wish to allow examining files by name from within less. - */ -#define EXAMINE (!SECURE) - -/* - * TAB_COMPLETE_FILENAME is 1 if you wish to allow the TAB key - * to complete filenames at prompts. - */ -#define TAB_COMPLETE_FILENAME (!SECURE) - -/* - * CMD_HISTORY is 1 if you wish to allow keys to cycle through - * previous commands at prompts. - */ -#define CMD_HISTORY 1 - -/* - * HILITE_SEARCH is 1 if you wish to have search targets to be - * displayed in standout mode. - */ -#define HILITE_SEARCH 1 - -/* - * EDITOR is 1 if you wish to allow editor invocation (the "v" command). - * (This is possible only if your system supplies the system() function.) - * EDIT_PGM is the name of the (default) editor to be invoked. - */ -#define EDITOR (!SECURE) - -/* - * TAGS is 1 if you wish to support tag files. - */ -#define TAGS (!SECURE) - -/* - * USERFILE is 1 if you wish to allow a .less file to specify - * user-defined key bindings. - */ -#define USERFILE (!SECURE) - -/* - * GLOB is 1 if you wish to have shell metacharacters expanded in filenames. - * This will generally work if your system provides the "popen" function - * and the "echo" shell command. - */ -#define GLOB (!SECURE) - -/* - * PIPEC is 1 if you wish to have the "|" command - * which allows the user to pipe data into a shell command. - */ -#define PIPEC (!SECURE) - -/* - * LOGFILE is 1 if you wish to allow the -l option (to create log files). - */ -#define LOGFILE (!SECURE) - -/* - * GNU_OPTIONS is 1 if you wish to support the GNU-style command - * line options --help and --version. - */ -#define GNU_OPTIONS 1 - -/* - * ONLY_RETURN is 1 if you want RETURN to be the only input which - * will continue past an error message. - * Otherwise, any key will continue past an error message. - */ -#define ONLY_RETURN 0 - -/* - * LESSKEYFILE is the filename of the default lesskey output file - * (in the HOME directory). - * LESSKEYFILE_SYS is the filename of the system-wide lesskey output file. - * DEF_LESSKEYINFILE is the filename of the default lesskey input - * (in the HOME directory). - */ -#define LESSKEYFILE ".less" -#define LESSKEYFILE_SYS SYSDIR "/sysless" -#define DEF_LESSKEYINFILE ".lesskey" - - -/* Settings always true on Unix. */ - -/* - * Define MSDOS_COMPILER if compiling under Microsoft C. - */ -#define MSDOS_COMPILER 0 - -/* - * Pathname separator character. - */ -#define PATHNAME_SEP "/" - -/* - * HAVE_SYS_TYPES_H is 1 if your system has <sys/types.h>. - */ -#define HAVE_SYS_TYPES_H 1 - -/* - * Define if you have the <sgstat.h> header file. - */ -#undef HAVE_SGSTAT_H - -/* - * HAVE_PERROR is 1 if your system has the perror() call. - * (Actually, if it has sys_errlist, sys_nerr and errno.) - */ -#define HAVE_PERROR 1 - -/* - * HAVE_TIME is 1 if your system has the time() call. - */ -#define HAVE_TIME 1 - -/* - * HAVE_SHELL is 1 if your system supports a SHELL command interpreter. - */ -#define HAVE_SHELL 1 - -/* - * Default shell metacharacters and meta-escape character. - */ -#define DEF_METACHARS "; \t\n'\"()<>|&^`\\" -#define DEF_METAESCAPE "\\" - -/* - * HAVE_DUP is 1 if your system has the dup() call. - */ -#define HAVE_DUP 1 - -/* - * Sizes of various buffers. - */ -#define CMDBUF_SIZE 512 /* Buffer for multichar commands */ -#define UNGOT_SIZE 100 /* Max chars to unget() */ -#define LINEBUF_SIZE 1024 /* Max size of line in input file */ -#define OUTBUF_SIZE 1024 /* Output buffer */ -#define PROMPT_SIZE 200 /* Max size of prompt string */ -#define TERMBUF_SIZE 2048 /* Termcap buffer for tgetent */ -#define TERMSBUF_SIZE 1024 /* Buffer to hold termcap strings */ -#define TAGLINE_SIZE 512 /* Max size of line in tags file */ -#define TABSTOP_MAX 32 /* Max number of custom tab stops */ - -/* Settings automatically determined by configure. */ diff --git a/contrib/less/forwback.c b/contrib/less/forwback.c index e110507fa441..ebad6ae09e61 100644 --- a/contrib/less/forwback.c +++ b/contrib/less/forwback.c @@ -1,6 +1,6 @@ /* $FreeBSD$ */ /* - * Copyright (C) 1984-2000 Mark Nudelman + * Copyright (C) 1984-2002 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. diff --git a/contrib/less/less.h b/contrib/less/less.h index 0fb8020e437f..9747520b4eab 100644 --- a/contrib/less/less.h +++ b/contrib/less/less.h @@ -1,6 +1,6 @@ /* $FreeBSD$ */ /* - * Copyright (C) 1984-2000 Mark Nudelman + * Copyright (C) 1984-2002 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. @@ -155,6 +155,8 @@ void free(); * Special types and constants. */ typedef off_t POSITION; +typedef off_t LINENUM; +#define MIN_LINENUM_WIDTH 7 /* Min printing width of a line number */ #define NULL_POSITION ((POSITION)(-1)) @@ -232,6 +234,7 @@ typedef union parg { char *p_string; int p_int; + LINENUM p_linenum; } PARG; #define NULL_PARG ((PARG *)NULL) @@ -410,3 +413,7 @@ struct textlist #include "funcs.h" +/* Functions not included in funcs.h */ +void postoa(); +void linenumtoa(); +void inttoa(); diff --git a/contrib/less/main.c b/contrib/less/main.c index d1a73a405865..18353db36b67 100644 --- a/contrib/less/main.c +++ b/contrib/less/main.c @@ -1,6 +1,6 @@ /* $FreeBSD$ */ /* - * Copyright (C) 1984-2000 Mark Nudelman + * Copyright (C) 1984-2002 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. @@ -177,6 +177,7 @@ main(argc, argv) ifile = get_ifile(FAKE_HELPFILE, ifile); while (argc-- > 0) { + char *filename; #if (MSDOS_COMPILER && MSDOS_COMPILER != DJGPPC) /* * Because the "shell" doesn't expand filename patterns, @@ -186,16 +187,23 @@ main(argc, argv) */ struct textlist tlist; char *gfilename; - char *filename; gfilename = lglob(*argv++); init_textlist(&tlist, gfilename); filename = NULL; while ((filename = forw_textlist(&tlist, filename)) != NULL) - ifile = get_ifile(filename, ifile); + { + (void) get_ifile(filename, ifile); + ifile = prev_ifile(NULL_IFILE); + } free(gfilename); #else - ifile = get_ifile(*argv++, ifile); + filename = shell_quote(*argv); + if (filename == NULL) + filename = *argv; + argv++; + (void) get_ifile(filename, ifile); + ifile = prev_ifile(NULL_IFILE); #endif } /* @@ -224,11 +232,10 @@ main(argc, argv) if (missing_cap && !know_dumb && !more_mode) error("WARNING: terminal is not fully functional", NULL_PARG); init_mark(); - raw_mode(1); open_getchr(); + raw_mode(1); init_signals(1); - /* * Select the first file to examine. */ @@ -273,6 +280,7 @@ main(argc, argv) commands(); quit(QUIT_OK); /*NOTREACHED*/ + return (0); } /* @@ -307,6 +315,7 @@ ecalloc(count, size) error("Cannot allocate memory", NULL_PARG); quit(QUIT_ERROR); /*NOTREACHED*/ + return (NULL); } /* diff --git a/contrib/less/prompt.c b/contrib/less/prompt.c index 680b25ffe6a3..c745603b8021 100644 --- a/contrib/less/prompt.c +++ b/contrib/less/prompt.c @@ -1,6 +1,6 @@ /* $FreeBSD$ */ /* - * Copyright (C) 1984-2000 Mark Nudelman + * Copyright (C) 1984-2002 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. @@ -114,31 +114,35 @@ ap_char(c) ap_pos(pos) POSITION pos; { - char buf[INT_STRLEN_BOUND(pos) + 1]; - char *p = buf + sizeof(buf) - 1; - int neg = (pos < 0); - - if (neg) - pos = -pos; - *p = '\0'; - do - *--p = '0' + (pos % 10); - while ((pos /= 10) != 0); - if (neg) - *--p = '-'; - ap_str(p); + char buf[INT_STRLEN_BOUND(pos) + 2]; + + postoa(pos, buf); + ap_str(buf); +} + +/* + * Append a line number to the end of the message. + */ + static void +ap_linenum(linenum) + LINENUM linenum; +{ + char buf[INT_STRLEN_BOUND(linenum) + 2]; + + linenumtoa(linenum, buf); + ap_str(buf); } /* * Append an integer to the end of the message. */ static void -ap_int(n) - int n; +ap_int(num) + int num; { - char buf[INT_STRLEN_BOUND(n) + 1]; + char buf[INT_STRLEN_BOUND(num) + 2]; - sprintf(buf, "%d", n); + inttoa(num, buf); ap_str(buf); } @@ -200,9 +204,17 @@ cond(c, where) case 'D': /* Same as L */ return (linenums && ch_length() != NULL_POSITION); case 'm': /* More than one file? */ +#if TAGS return (ntags() ? (ntags() > 1) : (nifile() > 1)); +#else + return (nifile() > 1); +#endif case 'n': /* First prompt in a new file? */ +#if TAGS return (ntags() ? 1 : new_file); +#else + return (new_file); +#endif case 'p': /* Percent into file (bytes) known? */ return (curr_byte(where) != NULL_POSITION && ch_length() > 0); @@ -214,8 +226,10 @@ cond(c, where) case 'B': return (ch_length() != NULL_POSITION); case 'x': /* Is there a "next" file? */ +#if TAGS if (ntags()) return (0); +#endif return (next_ifile(curr_ifile) != NULL_IFILE); } return (0); @@ -237,9 +251,9 @@ protochar(c, where, iseditproto) POSITION pos; POSITION len; int n; + LINENUM linenum; + LINENUM last_linenum; IFILE h; - char *s; - char *escs; switch (c) { @@ -254,19 +268,19 @@ protochar(c, where, iseditproto) ap_int(hshift); break; case 'd': /* Current page number */ - n = currline(where); - if (n > 0 && sc_height > 1) - ap_int(((n - 1) / (sc_height - 1)) + 1); + linenum = currline(where); + if (linenum > 0 && sc_height > 1) + ap_linenum(((linenum - 1) / (sc_height - 1)) + 1); else ap_quest(); break; case 'D': /* Last page number */ len = ch_length(); if (len == NULL_POSITION || len == ch_zero() || - (n = find_linenum(len)) <= 0) + (linenum = find_linenum(len)) <= 0) ap_quest(); else - ap_int(((n - 1) / (sc_height - 1)) + 1); + ap_linenum(((linenum - 1) / (sc_height - 1)) + 1); break; #if EDITOR case 'E': /* Editor name */ @@ -274,45 +288,38 @@ protochar(c, where, iseditproto) break; #endif case 'f': /* File name */ - s = unquote_file(get_filename(curr_ifile)); - /* - * If we are expanding editproto then we escape metachars. - * This allows us to run the editor on files with funny names. - */ - if (iseditproto && (escs = esc_metachars(s)) != NULL) - { - free(s); - s = escs; - } - ap_str(s); - free(s); + ap_str(get_filename(curr_ifile)); break; case 'i': /* Index into list of files */ +#if TAGS if (ntags()) ap_int(curr_tag()); else +#endif ap_int(get_index(curr_ifile)); break; case 'l': /* Current line number */ - n = currline(where); - if (n != 0) - ap_int(n); + linenum = currline(where); + if (linenum != 0) + ap_linenum(linenum); else ap_quest(); break; case 'L': /* Final line number */ len = ch_length(); if (len == NULL_POSITION || len == ch_zero() || - (n = find_linenum(len)) <= 0) + (linenum = find_linenum(len)) <= 0) ap_quest(); else - ap_int(n-1); + ap_linenum(linenum-1); break; case 'm': /* Number of files */ +#if TAGS n = ntags(); if (n) ap_int(n); else +#endif ap_int(nifile()); break; case 'p': /* Percent into file (bytes) */ @@ -324,13 +331,13 @@ protochar(c, where, iseditproto) ap_quest(); break; case 'P': /* Percent into file (lines) */ - pos = (POSITION) currline(where); - if (pos == 0 || + linenum = currline(where); + if (linenum == 0 || (len = ch_length()) == NULL_POSITION || len == ch_zero() || - (n = find_linenum(len)) <= 0) + (last_linenum = find_linenum(len)) <= 0) ap_quest(); else - ap_int(percentage(pos, (POSITION)n)); + ap_int(percentage(linenum, last_linenum)); break; case 's': /* Size of file */ case 'B': @@ -345,19 +352,18 @@ protochar(c, where, iseditproto) mp--; break; case 'T': /* Type of list */ +#if TAGS if (ntags()) ap_str("tag"); else +#endif ap_str("file"); break; case 'x': /* Name of next file */ h = next_ifile(curr_ifile); if (h != NULL_IFILE) - { - s = unquote_file(get_filename(h)); - ap_str(s); - free(s); - } else + ap_str(get_filename(h)); + else ap_quest(); break; } diff --git a/contrib/less/screen.c b/contrib/less/screen.c index 28bcfac91604..df478fb134e4 100644 --- a/contrib/less/screen.c +++ b/contrib/less/screen.c @@ -1,6 +1,6 @@ /* $FreeBSD$ */ /* - * Copyright (C) 1984-2000 Mark Nudelman + * Copyright (C) 1984-2002 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. @@ -232,6 +232,7 @@ extern int no_keypad; extern int sigs; extern int wscroll; extern int screen_trashed; +extern int tty; #if HILITE_SEARCH extern int hilite_search; #endif @@ -270,7 +271,7 @@ raw_mode(on) /* * Get terminal modes. */ - tcgetattr(2, &s); + tcgetattr(tty, &s); /* * Save modes and set certain variables dependent on modes. @@ -426,9 +427,9 @@ raw_mode(on) s = save_term; } #if HAVE_FSYNC - fsync(2); + fsync(tty); #endif - tcsetattr(2, TCSADRAIN, &s); + tcsetattr(tty, TCSADRAIN, &s); #if MUST_SET_LINE_DISCIPLINE if (!on) { @@ -438,7 +439,7 @@ raw_mode(on) * is therefore not restored, yet. Restore the old * line discipline by hand. */ - ioctl(2, TIOCSETD, &save_term.c_line); + ioctl(tty, TIOCSETD, &save_term.c_line); } #endif } @@ -454,7 +455,7 @@ raw_mode(on) /* * Get terminal modes. */ - ioctl(2, TCGETA, &s); + ioctl(tty, TCGETA, &s); /* * Save modes and set certain variables dependent on modes. @@ -490,7 +491,7 @@ raw_mode(on) */ s = save_term; } - ioctl(2, TCSETAW, &s); + ioctl(tty, TCSETAW, &s); } #else #ifdef TIOCGETP @@ -504,7 +505,7 @@ raw_mode(on) /* * Get terminal modes. */ - ioctl(2, TIOCGETP, &s); + ioctl(tty, TIOCGETP, &s); /* * Save modes and set certain variables dependent on modes. @@ -533,7 +534,7 @@ raw_mode(on) */ s = save_term; } - ioctl(2, TIOCSETN, &s); + ioctl(tty, TIOCSETN, &s); } #else #ifdef _OSK @@ -547,7 +548,7 @@ raw_mode(on) /* * Get terminal modes. */ - _gs_opt(2, &s); + _gs_opt(tty, &s); /* * Save modes and set certain variables dependent on modes. @@ -575,7 +576,7 @@ raw_mode(on) */ s = save_term; } - _ss_opt(2, &s); + _ss_opt(tty, &s); } #else /* MS-DOS, Windows, or OS2 */ diff --git a/contrib/less/search.c b/contrib/less/search.c index dd7e2c8c247a..1645a5503163 100644 --- a/contrib/less/search.c +++ b/contrib/less/search.c @@ -1,6 +1,6 @@ /* $FreeBSD$ */ /* - * Copyright (C) 1984-2000 Mark Nudelman + * Copyright (C) 1984-2002 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. @@ -54,6 +54,7 @@ extern int sc_height; extern int jump_sline; extern int bs_mode; extern int more_mode; +extern int ctldisp; extern int status_col; extern POSITION start_attnpos; extern POSITION end_attnpos; @@ -108,6 +109,7 @@ static char *last_pattern = NULL; #define CVT_TO_LC 01 /* Convert upper-case to lower-case */ #define CVT_BS 02 /* Do backspace processing */ #define CVT_CRLF 04 /* Remove CR after LF */ +#define CVT_ANSI 010 /* Remove ANSI escape sequences */ static void cvt_text(odst, osrc, ops) @@ -118,17 +120,23 @@ cvt_text(odst, osrc, ops) register char *dst; register char *src; - for (src = osrc, dst = odst; *src != '\0'; src++, dst++) + for (src = osrc, dst = odst; *src != '\0'; src++) { if ((ops & CVT_TO_LC) && isupper((unsigned char) *src)) /* Convert uppercase to lowercase. */ - *dst = tolower((unsigned char) *src); + *dst++ = tolower((unsigned char) *src); else if ((ops & CVT_BS) && *src == '\b' && dst > odst) /* Delete BS and preceding char. */ - dst -= 2; - else + dst--; + else if ((ops & CVT_ANSI) && *src == ESC) + { + /* Skip to end of ANSI escape sequence. */ + while (src[1] != '\0') + if (is_ansi_end(*++src)) + break; + } else /* Just copy. */ - *dst = *src; + *dst++ = *src; } if ((ops & CVT_CRLF) && dst > odst && dst[-1] == '\r') dst--; @@ -136,6 +144,30 @@ cvt_text(odst, osrc, ops) } /* + * Determine which conversions to perform. + */ + static int +get_cvt_ops() +{ + int ops = 0; + if (is_caseless || bs_mode == BS_SPECIAL) + { + if (is_caseless) + ops |= CVT_TO_LC; + if (bs_mode == BS_SPECIAL) + ops |= CVT_BS; + if (bs_mode != BS_CONTROL) + ops |= CVT_CRLF; + } else if (bs_mode != BS_CONTROL) + { + ops |= CVT_CRLF; + } + if (ctldisp == OPT_ONPLUS) + ops |= CVT_ANSI; + return (ops); +} + +/* * Are there any uppercase letters in this string? */ static int @@ -589,9 +621,10 @@ add_hilite(anchor, hl) * Adjust hl_startpos & hl_endpos to account for backspace processing. */ static void -adj_hilite(anchor, linepos) +adj_hilite(anchor, linepos, cvt_ops) struct hilite *anchor; POSITION linepos; + int cvt_ops; { char *line; struct hilite *hl; @@ -633,18 +666,39 @@ adj_hilite(anchor, linepos) } if (*line == '\0') break; + if (cvt_ops & CVT_ANSI) + { + while (line[0] == ESC) + { + /* + * Found an ESC. The file position moves + * forward past the entire ANSI escape sequence. + */ + line++; + npos++; + while (*line != '\0') + { + npos++; + if (is_ansi_end(*line++)) + break; + } + } + } opos++; npos++; line++; - while (line[0] == '\b' && line[1] != '\0') + if (cvt_ops & CVT_BS) { - /* - * Found a backspace. The file position moves - * forward by 2 relative to the processed line - * which was searched in hilite_line. - */ - npos += 2; - line += 2; + while (line[0] == '\b' && line[1] != '\0') + { + /* + * Found a backspace. The file position moves + * forward by 2 relative to the processed line + * which was searched in hilite_line. + */ + npos += 2; + line += 2; + } } } } @@ -655,11 +709,12 @@ adj_hilite(anchor, linepos) * sp,ep delimit the first match already found. */ static void -hilite_line(linepos, line, sp, ep) +hilite_line(linepos, line, sp, ep, cvt_ops) POSITION linepos; char *line; char *sp; char *ep; + int cvt_ops; { char *searchp; struct hilite *hl; @@ -708,15 +763,13 @@ hilite_line(linepos, line, sp, ep) break; } while (match_pattern(searchp, &sp, &ep, 1)); - if (bs_mode == BS_SPECIAL) - { - /* - * If there were backspaces in the original line, they - * were removed, and hl_startpos/hl_endpos are not correct. - * {{ This is very ugly. }} - */ - adj_hilite(&hilites, linepos); - } + /* + * If there were backspaces in the original line, they + * were removed, and hl_startpos/hl_endpos are not correct. + * {{ This is very ugly. }} + */ + adj_hilite(&hilites, linepos, cvt_ops); + /* * Now put the hilites into the real list. */ @@ -873,9 +926,10 @@ search_range(pos, endpos, search_type, matches, maxlines, plinepos, pendpos) POSITION *pendpos; { char *line; - int linenum; + LINENUM linenum; char *sp, *ep; int line_match; + int cvt_ops; POSITION linepos, oldpos; linenum = find_linenum(pos); @@ -955,20 +1009,8 @@ search_range(pos, endpos, search_type, matches, maxlines, plinepos, pendpos) * If it's a caseless search, convert the line to lowercase. * If we're doing backspace processing, delete backspaces. */ - if (is_caseless || bs_mode == BS_SPECIAL) - { - int ops = 0; - if (is_caseless) - ops |= CVT_TO_LC; - if (bs_mode == BS_SPECIAL) - ops |= CVT_BS; - if (bs_mode != BS_CONTROL) - ops |= CVT_CRLF; - cvt_text(line, line, ops); - } else if (bs_mode != BS_CONTROL) - { - cvt_text(line, line, CVT_CRLF); - } + cvt_ops = get_cvt_ops(); + cvt_text(line, line, cvt_ops); /* * Test the next line to see if we have a match. @@ -992,7 +1034,7 @@ search_range(pos, endpos, search_type, matches, maxlines, plinepos, pendpos) * hilite list and keep searching. */ if (line_match) - hilite_line(linepos, line, sp, ep); + hilite_line(linepos, line, sp, ep, cvt_ops); #endif } else if (--matches <= 0) { @@ -1009,7 +1051,7 @@ search_range(pos, endpos, search_type, matches, maxlines, plinepos, pendpos) */ clr_hilite(); if (line_match) - hilite_line(linepos, line, sp, ep); + hilite_line(linepos, line, sp, ep, cvt_ops); } #endif if (plinepos != NULL) diff --git a/contrib/less/signal.c b/contrib/less/signal.c index 708f2120562f..c32e7a11ae73 100644 --- a/contrib/less/signal.c +++ b/contrib/less/signal.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 1984-2000 Mark Nudelman + * Copyright (C) 1984-2002 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. |