2013-12-03 11:35:03 +01:00
|
|
|
|
/*
|
2013-12-06 12:04:52 +01:00
|
|
|
|
* Copyright (C) 1984-2012 Mark Nudelman
|
2013-12-03 11:35:03 +01:00
|
|
|
|
*
|
|
|
|
|
* You may distribute under the terms of either the GNU General Public
|
|
|
|
|
* License or the Less License, as specified in the README file.
|
|
|
|
|
*
|
2013-12-06 12:04:52 +01:00
|
|
|
|
* For more information, see the README file.
|
2013-12-03 11:35:03 +01:00
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* DOS definition file for less. */
|
|
|
|
|
/*
|
|
|
|
|
* This file has 2 sections:
|
|
|
|
|
* User preferences.
|
|
|
|
|
* Settings always true for MS-DOS systems.
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
/* 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)
|
|
|
|
|
#define EDIT_PGM "vi"
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* 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.
|
|
|
|
|
*/
|
|
|
|
|
#ifdef __DJGPP__
|
|
|
|
|
#define GLOB (!SECURE)
|
|
|
|
|
#else
|
|
|
|
|
#define GLOB 0
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* PIPEC is 1 if you wish to have the "|" command
|
|
|
|
|
* which allows the user to pipe data into a shell command.
|
|
|
|
|
*/
|
|
|
|
|
#ifdef __DJGPP__
|
|
|
|
|
#define PIPEC (!SECURE)
|
|
|
|
|
#else
|
|
|
|
|
#define PIPEC 0
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* 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).
|
|
|
|
|
* LESSHISTFILE is the filename of the history file
|
|
|
|
|
* (in the HOME directory).
|
|
|
|
|
*/
|
|
|
|
|
#define LESSKEYFILE "_less"
|
|
|
|
|
#define LESSKEYFILE_SYS "c:\\_sysless"
|
|
|
|
|
#define DEF_LESSKEYINFILE "_lesskey"
|
|
|
|
|
#define LESSHISTFILE "_lesshst"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* Settings always true for MS-DOS systems. */
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Define MSDOS_COMPILER if compiling for MS-DOS.
|
|
|
|
|
*/
|
|
|
|
|
#ifdef __DJGPP__
|
|
|
|
|
#define MSDOS_COMPILER DJGPPC
|
|
|
|
|
#else
|
|
|
|
|
#ifdef __BORLANDC__
|
|
|
|
|
#define MSDOS_COMPILER BORLANDC
|
|
|
|
|
#else
|
|
|
|
|
#define MSDOS_COMPILER MSOFTC
|
|
|
|
|
#endif
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* 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.
|
|
|
|
|
*/
|
|
|
|
|
#define HAVE_SGSTAT_H 0
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* 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 0
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* 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.
|
|
|
|
|
*/
|
2013-12-06 12:04:52 +01:00
|
|
|
|
#if 0 /* old sizes for small memory machines
|
2013-12-03 11:35:03 +01:00
|
|
|
|
#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 */
|
2013-12-06 12:04:52 +01:00
|
|
|
|
#else /* more reasonable sizes for modern machines */
|
|
|
|
|
#define CMDBUF_SIZE 2048 /* Buffer for multichar commands */
|
|
|
|
|
#define UNGOT_SIZE 200 /* Max chars to unget() */
|
|
|
|
|
#define LINEBUF_SIZE 1024 /* Initial max size of line in input file */
|
|
|
|
|
#define OUTBUF_SIZE 1024 /* Output buffer */
|
|
|
|
|
#define PROMPT_SIZE 2048 /* 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 1024 /* Max size of line in tags file */
|
|
|
|
|
#define TABSTOP_MAX 128 /* Max number of custom tab stops */
|
|
|
|
|
#endif
|
2013-12-03 11:35:03 +01:00
|
|
|
|
|
|
|
|
|
/* Define to `long' if <sys/types.h> doesn't define. */
|
|
|
|
|
#if MSDOS_COMPILER==BORLANDC
|
|
|
|
|
#define off_t long
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
/* Define if you need to in order for stat and other things to work. */
|
|
|
|
|
/* #undef _POSIX_SOURCE */
|
|
|
|
|
|
|
|
|
|
/* Define as the return type of signal handlers (int or void). */
|
|
|
|
|
#define RETSIGTYPE void
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Regular expression library.
|
|
|
|
|
* Define exactly one of the following to be 1:
|
|
|
|
|
* HAVE_POSIX_REGCOMP: POSIX regcomp() and regex.h
|
|
|
|
|
* 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_RE_COMP */
|
|
|
|
|
/* #undef HAVE_REGCMP */
|
|
|
|
|
/* #undef HAVE_V8_REGCOMP */
|
|
|
|
|
#if MSDOS_COMPILER==DJGPPC
|
|
|
|
|
#define HAVE_POSIX_REGCOMP 1
|
|
|
|
|
#else
|
|
|
|
|
#define NO_REGEX 1
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
/* Define HAVE_VOID if your compiler supports the "void" type. */
|
|
|
|
|
#define HAVE_VOID 1
|
|
|
|
|
|
|
|
|
|
/* Define HAVE_CONST if your compiler supports the "const" modifier. */
|
|
|
|
|
#define HAVE_CONST 1
|
|
|
|
|
|
|
|
|
|
/* Define HAVE_TIME_T if your system supports the "time_t" type. */
|
|
|
|
|
#define HAVE_TIME_T 1
|
|
|
|
|
|
|
|
|
|
/* Define HAVE_STRERROR if you have the strerror() function. */
|
|
|
|
|
#define HAVE_STRERROR 1
|
|
|
|
|
|
|
|
|
|
/* Define HAVE_FILENO if you have the fileno() macro. */
|
|
|
|
|
#define HAVE_FILENO 1
|
|
|
|
|
|
|
|
|
|
/* Define HAVE_ERRNO if you have the errno variable */
|
|
|
|
|
/* Define MUST_DEFINE_ERRNO if you have errno but it is not defined
|
|
|
|
|
* in errno.h */
|
|
|
|
|
#if MSDOS_COMPILER==MSOFTC || MSDOS_COMPILER==DJGPPC
|
|
|
|
|
#define HAVE_ERRNO 1
|
|
|
|
|
#define MUST_DEFINE_ERRNO 0
|
|
|
|
|
#else
|
|
|
|
|
#define HAVE_ERRNO 1
|
|
|
|
|
#define MUST_DEFINE_ERRNO 1
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
/* Define HAVE_SYS_ERRLIST if you have the sys_errlist[] variable */
|
|
|
|
|
#define HAVE_SYS_ERRLIST 1
|
|
|
|
|
|
|
|
|
|
/* 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. */
|
|
|
|
|
#define HAVE_OSPEED 0
|
|
|
|
|
#define MUST_DEFINE_OSPEED 0
|
|
|
|
|
|
|
|
|
|
/* Define HAVE_LOCALE if you have locale.h and setlocale. */
|
|
|
|
|
#define HAVE_LOCALE 0
|
|
|
|
|
|
|
|
|
|
/* Define HAVE_TERMIOS_FUNCS if you have tcgetattr/tcsetattr */
|
|
|
|
|
#define HAVE_TERMIOS_FUNCS 0
|
|
|
|
|
|
|
|
|
|
/* Define HAVE_UPPER_LOWER if you have isupper, islower, toupper, tolower */
|
|
|
|
|
#define HAVE_UPPER_LOWER 1
|
|
|
|
|
|
|
|
|
|
/* Define if you have the _setjmp function. */
|
|
|
|
|
#if MSDOS_COMPILER==MSOFTC || MSDOS_COMPILER==DJGPPC
|
|
|
|
|
#define HAVE__SETJMP 0
|
|
|
|
|
#else
|
|
|
|
|
#define HAVE__SETJMP 1
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
/* Define if you have the memcpy function. */
|
|
|
|
|
#define HAVE_MEMCPY 1
|
|
|
|
|
|
|
|
|
|
/* Define if you have the popen function. */
|
|
|
|
|
#if MSDOS_COMPILER==DJGPPC
|
|
|
|
|
#define HAVE_POPEN 1
|
|
|
|
|
#else
|
|
|
|
|
#define HAVE_POPEN 0
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
/* Define if you have the sigsetmask function. */
|
|
|
|
|
#define HAVE_SIGSETMASK 0
|
|
|
|
|
|
|
|
|
|
/* Define if you have the sigprocmask function. */
|
|
|
|
|
#define HAVE_SIGPROCMASK 0
|
|
|
|
|
|
|
|
|
|
/* Define if you have the sigset_t type and sigemptyset macro */
|
|
|
|
|
#define HAVE_SIGSET_T 0
|
|
|
|
|
#define HAVE_SIGEMPTYSET 0
|
|
|
|
|
|
|
|
|
|
/* Define if you have the stat function. */
|
|
|
|
|
#define HAVE_STAT 1
|
|
|
|
|
|
|
|
|
|
/* Define if you have the strchr function. */
|
|
|
|
|
#define HAVE_STRCHR 1
|
|
|
|
|
|
|
|
|
|
/* Define if you have the system function. */
|
|
|
|
|
#define HAVE_SYSTEM 1
|
|
|
|
|
|
|
|
|
|
/* Define if you have the snprintf function. */
|
|
|
|
|
#define HAVE_SNPRINTF 0
|
|
|
|
|
|
|
|
|
|
/* Define if you have the <ctype.h> header file. */
|
|
|
|
|
#define HAVE_CTYPE_H 1
|
|
|
|
|
|
|
|
|
|
/* Define if you have the <wctype.h> header file. */
|
|
|
|
|
#define HAVE_WCTYPE_H 0
|
|
|
|
|
|
|
|
|
|
/* Define if you have the <errno.h> header file. */
|
|
|
|
|
#define HAVE_ERRNO_H 1
|
|
|
|
|
|
|
|
|
|
/* Define if you have the <fcntl.h> header file. */
|
|
|
|
|
#define HAVE_FCNTL_H 1
|
|
|
|
|
|
2013-12-06 12:04:52 +01:00
|
|
|
|
/* Define HAVE_FLOAT if your compiler supports the "double" type. */
|
|
|
|
|
#define HAVE_FLOAT 1
|
|
|
|
|
|
2013-12-03 11:35:03 +01:00
|
|
|
|
/* Define if you have the <limits.h> header file. */
|
|
|
|
|
#define HAVE_LIMITS_H 1
|
|
|
|
|
|
|
|
|
|
/* Define if you have the <stdio.h> header file. */
|
|
|
|
|
#define HAVE_STDIO_H 1
|
|
|
|
|
|
|
|
|
|
/* Define if you have the <stdlib> header file. */
|
|
|
|
|
#define HAVE_STDLIB_H 1
|
|
|
|
|
|
|
|
|
|
/* Define if you have the <string.h> header file. */
|
|
|
|
|
#define HAVE_STRING_H 1
|
|
|
|
|
|
|
|
|
|
/* Define if you have the <sys/ioctl.h> header file. */
|
|
|
|
|
#define HAVE_SYS_IOCTL_H 0
|
|
|
|
|
|
|
|
|
|
/* Define if you have the <sys/ptem.h> header file. */
|
|
|
|
|
#define HAVE_SYS_PTEM_H 0
|
|
|
|
|
|
|
|
|
|
/* Define if you have the <sys/stream.h> header file. */
|
|
|
|
|
#define HAVE_SYS_STREAM_H 0
|
|
|
|
|
|
|
|
|
|
/* Define if you have the <termcap.h> header file. */
|
|
|
|
|
#define HAVE_TERMCAP_H 0
|
|
|
|
|
|
|
|
|
|
/* Define if you have the <termio.h> header file. */
|
|
|
|
|
#define HAVE_TERMIO_H 0
|
|
|
|
|
|
|
|
|
|
/* Define if you have the <termios.h> header file. */
|
|
|
|
|
#define HAVE_TERMIOS_H 0
|
|
|
|
|
|
|
|
|
|
/* Define if you have the <time.h> header file. */
|
|
|
|
|
#define HAVE_TIME_H 1
|
|
|
|
|
|
|
|
|
|
/* Define if you have the <unistd.h> header file. */
|
|
|
|
|
#if MSDOS_COMPILER==DJGPPC
|
|
|
|
|
#define HAVE_UNISTD_H 1
|
|
|
|
|
#else
|
|
|
|
|
#define HAVE_UNISTD_H 0
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
/* Define if you have the <values.h> header file. */
|
|
|
|
|
#if MSDOS_COMPILER==MSOFTC
|
|
|
|
|
#define HAVE_VALUES_H 0
|
|
|
|
|
#else
|
|
|
|
|
#define HAVE_VALUES_H 1
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
#if MSDOS_COMPILER == MSOFTC && _MSC_VER >= 700
|
|
|
|
|
/*
|
|
|
|
|
* The names of these things changed in Microsoft C version 7.0.
|
|
|
|
|
*/
|
|
|
|
|
#define videoconfig _videoconfig
|
|
|
|
|
#define rccoord _rccoord
|
|
|
|
|
#define O_RDONLY _O_RDONLY
|
|
|
|
|
#define O_WRONLY _O_WRONLY
|
|
|
|
|
#define O_APPEND _O_APPEND
|
|
|
|
|
#define O_BINARY _O_BINARY
|
|
|
|
|
#define O_TEXT _O_TEXT
|
|
|
|
|
#define find_t _find_t
|
|
|
|
|
#define stat _stat
|
|
|
|
|
#define S_IFMT _S_IFMT
|
|
|
|
|
#define S_IFDIR _S_IFDIR
|
|
|
|
|
#define S_IFREG _S_IFREG
|
|
|
|
|
#define dup _dup
|
|
|
|
|
#define open _open
|
|
|
|
|
#define lseek _lseek
|
|
|
|
|
#define write _write
|
|
|
|
|
#define creat _creat
|
|
|
|
|
#define fstat _fstat
|
|
|
|
|
#define isatty _isatty
|
|
|
|
|
#define close _close
|
|
|
|
|
#define read _read
|
|
|
|
|
#define ungetch _ungetch
|
|
|
|
|
#define kbhit _kbhit
|
|
|
|
|
#define getch _getch
|
|
|
|
|
#endif
|