[BACK]Return to version.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / less

Annotation of src/usr.bin/less/version.c, Revision 1.1

1.1     ! etheisen    1: /*
        !             2:  * Copyright (c) 1984,1985,1989,1994,1995  Mark Nudelman
        !             3:  * All rights reserved.
        !             4:  *
        !             5:  * Redistribution and use in source and binary forms, with or without
        !             6:  * modification, are permitted provided that the following conditions
        !             7:  * are met:
        !             8:  * 1. Redistributions of source code must retain the above copyright
        !             9:  *    notice, this list of conditions and the following disclaimer.
        !            10:  * 2. Redistributions in binary form must reproduce the above copyright
        !            11:  *    notice in the documentation and/or other materials provided with
        !            12:  *    the distribution.
        !            13:  *
        !            14:  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY
        !            15:  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
        !            16:  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
        !            17:  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE
        !            18:  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
        !            19:  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
        !            20:  * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
        !            21:  * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
        !            22:  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
        !            23:  * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
        !            24:  * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
        !            25:  */
        !            26:
        !            27:
        !            28: /*
        !            29: ----------------------- CHANGE HISTORY --------------------------
        !            30:
        !            31:        1/29/84 Allowed use on standard input
        !            32:        2/1/84  Added E, N, P commands
        !            33:        4/17/84 Added '=' command, 'stop' signal handling
        !            34:        4/20/84 Added line folding
        !            35: v2     4/27/84 Fixed '=' command to use BOTTOM_PLUS_ONE,
        !            36:                instead of TOP, added 'p' & 'v' commands
        !            37: v3     5/3/84  Added -m and -t options, '-' command
        !            38: v4     5/3/84  Added LESS environment variable
        !            39: v5     5/3/84  New comments, fixed '-' command slightly
        !            40: v6     5/15/84 Added -Q, visual bell
        !            41: v7     5/24/84 Fixed jump_back(n) bug: n should count real
        !            42:                lines, not folded lines.  Also allow number on G command.
        !            43: v8     5/30/84 Re-do -q and -Q commands
        !            44: v9     9/25/84 Added "+<cmd>" argument
        !            45: v10    10/10/84        Fixed bug in -b<n> argument processing
        !            46: v11    10/18/84        Made error() ring bell if \n not entered.
        !            47: -----------------------------------------------------------------
        !            48: v12    2/13/85 Reorganized signal handling and made portable to 4.2bsd.
        !            49: v13    2/16/85 Reword error message for '-' command.
        !            50: v14    2/22/85 Added -bf and -bp variants of -b.
        !            51: v15    2/25/85 Miscellaneous changes.
        !            52: v16    3/13/85 Added -u flag for backspace processing.
        !            53: v17    4/13/85 Added j and k commands, changed -t default.
        !            54: v18    4/20/85 Rewrote signal handling code.
        !            55: v19    5/2/85  Got rid of "verbose" eq_message().
        !            56:                Made search() scroll in some cases.
        !            57: v20    5/21/85 Fixed screen.c ioctls for System V.
        !            58: v21    5/23/85 Fixed some first_cmd bugs.
        !            59: v22    5/24/85 Added support for no RECOMP nor REGCMP.
        !            60: v23    5/25/85 Miscellanous changes and prettying up.
        !            61:                Posted to USENET.
        !            62: -----------------------------------------------------------------
        !            63: v24    6/3/85  Added ti,te terminal init & de-init.
        !            64:                (Thanks to Mike Kersenbrock)
        !            65: v25    6/8/85  Added -U flag, standout mode underlining.
        !            66: v26    6/9/85  Added -M flag.
        !            67:                Use underline termcap (us) if it exists.
        !            68: v27    6/15/85 Renamed some variables to make unique in
        !            69:                6 chars.  Minor fix to -m.
        !            70: v28    6/28/85 Fixed right margin bug.
        !            71: v29    6/28/85 Incorporated M.Rose's changes to signal.c
        !            72: v30    6/29/85 Fixed stupid bug in argument processing.
        !            73: v31    7/15/85 Added -p flag, changed repaint algorithm.
        !            74:                Added kludge for magic cookie terminals.
        !            75: v32    7/16/85 Added cat_file if output not a tty.
        !            76: v33    7/23/85 Added -e flag and EDITOR.
        !            77: v34    7/26/85 Added -s flag.
        !            78: v35    7/27/85 Rewrote option handling; added option.c.
        !            79: v36    7/29/85 Fixed -e flag to work if not last file.
        !            80: v37    8/10/85 Added -x flag.
        !            81: v38    8/19/85 Changed prompting; created prompt.c.
        !            82: v39    8/24/85 (Not -p) does not initially clear screen.
        !            83: v40    8/26/85 Added "skipping" indicator in forw().
        !            84:                Posted to USENET.
        !            85: -----------------------------------------------------------------
        !            86: v41    9/17/85 ONLY_RETURN, control char commands,
        !            87:                faster search, other minor fixes.
        !            88: v42    9/25/85 Added ++ command line syntax;
        !            89:                ch_fsize for pipes.
        !            90: v43    10/15/85        Added -h flag, changed prim.c algorithms.
        !            91: v44    10/16/85        Made END print in all cases of eof;
        !            92:                ignore SIGTTOU after receiv ing SIGTSTP.
        !            93: v45    10/16/85        Never print backspaces unless -u.
        !            94: v46    10/24/85        Backwards scroll in jump_loc.
        !            95: v47    10/30/85        Fixed bug in edit(): *first_cmd==0
        !            96: v48    11/16/85        Use TIOCSETN instead of TIOCSETP.
        !            97:                Added marks (m and ' commands).
        !            98:                Posted to USENET.
        !            99: -----------------------------------------------------------------
        !           100: v49    1/9/86  Fixed bug: signal didn't clear mcc.
        !           101: v50    1/15/86 Added ' (quote) to gomark.
        !           102: v51    1/16/86 Added + cmd, fixed problem if first_cmd
        !           103:                fails, made g cmd sort of "work" on pipes
        !           104:                ev en if bof is no longer buffered.
        !           105: v52    1/17/86 Made short files work better.
        !           106: v53    1/20/86 Added -P option.
        !           107: v54    1/20/86 Changed help to use HELPFILE.
        !           108: v55    1/23/86 Messages work better if not tty output.
        !           109: v56    1/24/86 Added -l option.
        !           110: v57    1/31/86 Fixed -l to get confirmation before
        !           111:                ov erwriting an existing file.
        !           112: v58    8/28/86 Added filename globbing.
        !           113: v59    9/15/86 Fixed some bugs with very long filenames.
        !           114: v60    9/26/86 Incorporated changes from Leith (Casey)
        !           115:                Leedom for boldface and -z option.
        !           116: v61    9/26/86 Got rid of annoying repaints after ! cmd.
        !           117:                Posted to USENET.
        !           118: -----------------------------------------------------------------
        !           119: v62    12/23/86        Added is_directory(); change -z default to
        !           120:                -1 instead of 24; cat-and-exit if -e and
        !           121:                file is less than a screenful.
        !           122: v63    1/8/87  Fixed bug in cat-and-exit if > 1 file.
        !           123: v64    1/12/87 Changed puts/putstr, putc/putchr,
        !           124:                getc/getchr to av oid name conflict with
        !           125:                stdio functions.
        !           126: v65    1/26/87 Allowed '-' command to change NUMBER
        !           127:                v alued options (thanks to Gary Puckering)
        !           128: v66    2/13/87 Fixed bug: prepaint should use force=1.
        !           129: v67    2/24/87 Added !! and % expansion to ! command.
        !           130: v68    2/25/87 Added SIGWINCH and TIOCGWINSZ support;
        !           131:                changed is_directory to bad_file.
        !           132:                (thanks to J. Robert Ward)
        !           133: v69    2/25/87 Added SIGWIND and WIOCGETD (for Unix PC).
        !           134: v70    3/13/87 Changed help cmd from 'h' to 'H'; better
        !           135:                error msgs in bad_file, errno_message.
        !           136: v71    5/11/87 Changed -p to -c, made triple -c/-C
        !           137:                for clear-eol like more's -c.
        !           138: v72    6/26/87 Added -E, -L, use $SHELL in lsystem().
        !           139:                (thanks to Stev e Spearman)
        !           140: v73    6/26/87 Allow Examine "#" for previous file.
        !           141:                Posted to USENET 8/25/87.
        !           142: -----------------------------------------------------------------
        !           143: v74    9/18/87 Fix conflict in EOF symbol with stdio.h,
        !           144:                Make os.c more portable to BSD.
        !           145: v75    9/23/87 Fix problems in get_term (thanks to
        !           146:                Paul Eggert); new backwards scrolling in
        !           147:                jump_loc (thanks to Marion Hakanson).
        !           148: v76    9/23/87 Added -i flag; allow single "!" to
        !           149:                inv oke a shell (thanks to Franco Barber).
        !           150: v77    9/24/87 Added -n flag and line number support.
        !           151: v78    9/25/87 Fixed problem with prompts longer than
        !           152:                the screen width.
        !           153: v79    9/29/87 Added the _ command.
        !           154: v80    10/6/87 Allow signal to break out of linenum scan.
        !           155: v81    10/6/87 Allow -b to be changed from within less.
        !           156: v82    10/7/87 Add cmd_decode to use a table for key
        !           157:                binding (thanks to Dav id Nason).
        !           158: v83    10/9/87 Allow .less file for user-defined keys.
        !           159: v84    10/11/87        Fix -e/-E problems (thanks to Felix Lee).
        !           160: v85    10/15/87        Search now keeps track of line numbers.
        !           161: v86    10/20/87        Added -B option and autobuf; fixed
        !           162:                "pipe error" bug.
        !           163: v87    3/1/88  Fix bug re BSD signals while reading file.
        !           164: v88    3/12/88 Use new format for -P option (thanks to
        !           165:                der Mouse), allow "+-c" without message,
        !           166:                fix bug re BSD hangup.
        !           167: v89    3/18/88 Turn off line numbers if linenum scan
        !           168:                is interrupted.
        !           169: v90    3/30/88 Allow -P from within less.
        !           170: v91    3/30/88 Added tags file support (new -t option)
        !           171:                (thanks to Brian Campbell).
        !           172: v92    4/4/88  Added -+option syntax.
        !           173: v93    4/11/88 Add support for slow input (thanks to
        !           174:                Joe Orost & apologies for taking almost
        !           175:                3 years to get this in!)
        !           176: v94    4/11/88 Redo reading/signal stuff.
        !           177: v95    4/20/88 Repaint screen better after signal.
        !           178: v96    4/21/88 Add /! and ?! commands.
        !           179: v97    5/17/88 Allow -l/-L from within less.
        !           180:                Eliminate some static arrays (use calloc).
        !           181:                Posted to USENET.
        !           182: -----------------------------------------------------------------
        !           183: v98    10/14/88        Fix incorrect calloc call; uninitialized
        !           184:                var in exec_mca; core dump on unknown TERM.
        !           185:                Make v cmd work if past last line of file.
        !           186:                Fix some signal bugs.
        !           187: v99    10/29/88        Allow space between -X and string,
        !           188:                when X is a string-valued option.
        !           189: v100   1/5/89  Fix globbing bug when $SHELL not set;
        !           190:                allow spaces after -t command.
        !           191: v101   1/6/89  Fix problem with long (truncated) lines
        !           192:                in tags file (thanks to Neil Dixon).
        !           193: v102   1/6/89  Fix bug with E# when no prev file;
        !           194:                allow spaces after -l command.
        !           195: v103   3/14/89 Add -N, -f and -? options.  Add z and w
        !           196:                commands.  Add %L for prompt strings.
        !           197: v104   3/16/89 Added EDITPROTO.
        !           198: v105   3/20/89 Fix bug in find_linenum which cached
        !           199:                incorrectly on long lines.
        !           200: v106   3/31/89 Added -k option and multiple lesskey
        !           201:                files.
        !           202: v107   4/27/89 Add 8-bit char support and -g option.
        !           203:                Split option code into 3 files.
        !           204: v108   5/5/89  Allocate position table dynamically
        !           205:                (thanks to Paul Eggert); change % command
        !           206:                from "percent" to vi-style brace finder.
        !           207: v109   5/10/89 Added ESC-% command, split prim.c.
        !           208: v110   5/24/89 Fixed bug in + option; fixed repaint bug
        !           209:                under Sun windows (thanks to Paul Eggert).
        !           210: v111   5/25/89 Generalized # and % expansion; use
        !           211:                calloc for some error messages.
        !           212: v112   5/30/89 Get rid of ESC-%, add {}()[] commands.
        !           213: v113   5/31/89 Optimize lseeks (thanks to Paul Eggert).
        !           214: v114   7/25/89 Added ESC-/ and ESC-/! commands.
        !           215: v115   7/26/89 Added ESC-n command.
        !           216: v116   7/31/89 Added find_pos to optimize g command.
        !           217: v117   8/1/89  Change -f option to -r.
        !           218: v118   8/2/89  Save positions for all previous files,
        !           219:                not just the immediately previous one.
        !           220: v119   8/7/89  Save marks across file boundaries.
        !           221:                Add file handle stuff.
        !           222: v120   8/11/89 Add :ta command.
        !           223: v121   8/16/89 Add -f option.
        !           224: v122   8/30/89 Fix performance with many buffers.
        !           225: v123   8/31/89 Verbose prompts for string options.
        !           226:                Posted beta to USENET.
        !           227: -----------------------------------------------------------------
        !           228: v124   9/18/89 Reorganize search commands,
        !           229:                N = rev, ESC-n = span, add ESC-N.
        !           230: v125   9/18/89 Fix tab bug (thanks to Alex Liu).
        !           231:                Fix EOF bug when both -w and -c.
        !           232: v126   10/25/89        Add -j option.
        !           233: v127   10/27/89        Fix problems with blank lines before BOF.
        !           234: v128   10/27/89        Add %bj, etc. to prompt strings.
        !           235: v129   11/3/89 Add -+,-- commands; add set-option and
        !           236:                unset-option to lesskey.
        !           237: v130   11/6/89 Generalize A_EXTRA to string, remove
        !           238:                set-option, unset-option from lesskey.
        !           239: v131   11/7/89 Changed name of EDITPROTO to LESSEDIT.
        !           240: v132   11/8/89 Allow editing of command prefix.
        !           241: v133   11/16/89        Add -y option (thanks to Jeff Sullivan).
        !           242: v134   12/1/89 Glob filenames in the -l command.
        !           243: v135   12/5/89 Combined {}()[] commands into one, and
        !           244:                added ESC-^F and ESC-^B commands.
        !           245: v136   1/20/90 Added -S, -R flags.  Added | command.
        !           246:                Added warning for binary files. (thanks
        !           247:                to Richard Brittain and J. Sullivan).
        !           248: v137   1/21/90 Rewrote horrible pappend code.
        !           249:                Added * notation for hi-bit chars.
        !           250: v138   1/24/90 Fix magic cookie terminal handling.
        !           251:                Get rid of "cleanup" loop in ch_get.
        !           252: v139   1/27/90 Added MSDOS support.  (many thanks
        !           253:                to Richard Brittain).
        !           254: v140   2/7/90  Editing a new file adds it to the
        !           255:                command line list.
        !           256: v141   2/8/90  Add edit_list for editing >1 file.
        !           257: v142   2/10/90 Add :x command.
        !           258: v143   2/11/90 Add * and @ modifies to search cmds.
        !           259:                Change ESC-/ cmd from /@* to / *.
        !           260: v144   3/1/90  Messed around with ch_zero;
        !           261:                no real change.
        !           262: v145   3/2/90  Added -R and -v/-V for MSDOS;
        !           263:                renamed FILENAME to avoid conflict.
        !           264: v146   3/5/90  Pull cmdbuf functions out of command.c
        !           265: v147   3/7/90  Implement ?@; fix multi-file edit bugs.
        !           266: v148   3/29/90 Fixed bug in :e<file> then :e#.
        !           267: v149   4/3/90  Change error,ierror,query to use PARG.
        !           268: v150   4/6/90  Add LESS_CHARSET, LESS_CHARDEF.
        !           269: v151   4/13/90 Remove -g option; clean up ispipe.
        !           270: v152   4/14/90 lsystem() closes input file, for
        !           271:                editors which require exclusive open.
        !           272: v153   4/18/90 Fix bug if SHELL unset;
        !           273:                fix bug in overstrike control char.
        !           274: v154   4/25/90 Output to fd 2 via buffer.
        !           275: v155   4/30/90 Ignore -i if uppercase in pattern
        !           276:                (thanks to Michael Rendell.)
        !           277: v156   5/3/90  Remove scroll limits in forw() & back();
        !           278:                causes problems with -c.
        !           279: v157   5/4/90  Forward search starts at next real line
        !           280:                (not screen line) after jump target.
        !           281: v158   6/14/90 Added F command.
        !           282: v159   7/29/90 Fix bug in exiting: output not flushed.
        !           283: v160   7/29/90 Clear screen before initial output w/ -c.
        !           284: v161   7/29/90 Add -T flag.
        !           285: v162   8/14/90 Fix bug with +F on command line.
        !           286: v163   8/21/90 Added LESSBINFMT variable.
        !           287: v164   9/5/90  Added -p, LINES, COLUMNS and
        !           288:                unset mark ' == BOF, for 1003.2 D5.
        !           289: v165   9/6/90  At EOF with -c set, don't display empty
        !           290:                screen when try to page forward.
        !           291: v166   9/6/90  Fix G when final line in file wraps.
        !           292: v167   9/11/90 Translate CR/LF -> LF for 1003.2.
        !           293: v168   9/13/90 Return to curr file if "tag not found".
        !           294: v169   12/12/90        G goes to EOF even if file has grown.
        !           295: v170   1/17/91 Add optimization for BSD _setjmp;
        !           296:                fix #include ioctl.h TERMIO problem.
        !           297:                (thanks to Paul Eggert)
        !           298:                Posted to USENET.
        !           299: -----------------------------------------------------------------
        !           300: v171   3/6/91  Fix -? bug in get_filename.
        !           301: v172   3/15/91 Fix G bug in empty file.
        !           302:                Fix bug with ?\n and -i and uppercase
        !           303:                pattern at EOF!
        !           304:                (thanks to Paul Eggert)
        !           305: v173   3/17/91 Change N cmd to not permanently change
        !           306:                direction. (thanks to Brian Matthews)
        !           307: v174   3/18/91 Fix bug with namelogfile not getting
        !           308:                cleared when change files.
        !           309: v175   3/18/91 Fix bug with ++cmd on command line.
        !           310:                (thanks to Jim Meyering)
        !           311: v176   4/2/91  Change | to not force current screen,
        !           312:                include marked line, start/end from
        !           313:                top of screen.  Improve search speed.
        !           314:                (thanks to Don Mears)
        !           315: v177   4/2/91  Add LESSHELP variable.
        !           316:                Fix bug with F command with -e.
        !           317:                Try /dev/tty for input before using fd 2.
        !           318:                Patches posted to USENET  4/2/91.
        !           319: -----------------------------------------------------------------
        !           320: v178   4/8/91  Fixed bug in globbing logfile name.
        !           321:                (thanks to Jim Meyering)
        !           322: v179   4/9/91  Allow negative -z for screen-relative.
        !           323: v180   4/9/91  Clear to eos rather than eol if "db";
        !           324:                don't use "sr" if "da".
        !           325:                (thanks to Tor Lillqvist)
        !           326: v181   4/18/91 Fixed bug with "negative" chars 80 - FF.
        !           327:                (thanks to Benny Sander Hofmann)
        !           328: v182   5/16/91 Fixed bug with attribute at EOL.
        !           329:                (thanks to Brian Matthews)
        !           330: v183   6/1/91  Rewrite linstall to do smart config.
        !           331: v184   7/11/91 Process \b in searches based on -u
        !           332:                rather than -i.
        !           333: v185   7/11/91 -Pxxx sets short prompt; assume SIGWINCH
        !           334:                after a SIGSTOP. (thanks to Ken Laprade)
        !           335: -----------------------------------------------------------------
        !           336: v186   4/20/92 Port to MS-DOS (Microsoft C).
        !           337: v187   4/23/92 Added -D option & TAB_COMPLETE_FILENAME.
        !           338: v188   4/28/92 Added command line editing features.
        !           339: v189   12/8/92 Fix mem overrun in anscreen.c:init;
        !           340:                fix edit_list to recover from bin file.
        !           341: v190   2/13/93 Make TAB enter one filename at a time;
        !           342:                create ^L with old TAB functionality.
        !           343: v191   3/10/93 Defer creating "flash" page for MS-DOS.
        !           344: v192   9/6/93  Add BACK-TAB.
        !           345: v193   9/17/93 Simplify binary_file handling.
        !           346: v194   1/4/94  Add rudiments of alt_filename handling.
        !           347: v195   1/11/94 Port back to Unix; support keypad.
        !           348: -----------------------------------------------------------------
        !           349: v196   6/7/94  Fix bug with bad filename; fix IFILE
        !           350:                type problem. (thanks to David MacKenzie)
        !           351: v197   6/7/94  Fix bug with .less tables inserted wrong.
        !           352: v198   6/23/94 Use autoconf installation technology.
        !           353:                (thanks to David MacKenzie)
        !           354: v199   6/29/94 Fix MS-DOS build (thanks to Tim Wiegman).
        !           355: v200   7/25/94 Clean up copyright, minor fixes.
        !           356:        Posted to prep.ai.mit.edu
        !           357: -----------------------------------------------------------------
        !           358: v201   7/27/94 Check for no memcpy; add casts to calloc;
        !           359:                look for regcmp in libgen.a.
        !           360:                (thanks to Kaveh Ghazi).
        !           361: v202   7/28/94 Fix bug in edit_next/edit_prev with
        !           362:                non-existant files.
        !           363: v203   8/2/94  Fix a variety of configuration bugs on
        !           364:                various systems. (thanks to Sakai
        !           365:                Kiyotaka, Harald Koenig, Bjorn Brox,
        !           366:                Teemu Rantanen, and Thorsten Lockert)
        !           367: v204   8/3/94  Use strerror if available.
        !           368:                (thanks to J.T. Conklin)
        !           369: v205   8/5/94  Fix bug in finding "me" termcap entry.
        !           370:                (thanks to Andreas Stolcke)
        !           371: 8/10/94        v205+: Change BUFSIZ to LBUFSIZE to avoid name
        !           372:                conflict with stdio.h.
        !           373:                Posted to prep.ai.mit.edu
        !           374: -----------------------------------------------------------------
        !           375: v206   8/10/94 Use initial_scrpos for -t to avoid
        !           376:                displaying first page before init().
        !           377:                (thanks to Dominique Petitpierre)
        !           378: v207   8/12/94 Fix bug if stdout is not tty.
        !           379: v208   8/16/94 Fix bug in close_altfile if goto err1
        !           380:                in edit_ifile. (Thanks to M.J. Hewitt)
        !           381: v209   8/16/94 Change scroll to wscroll to avoid
        !           382:                conflict with library function.
        !           383: v210   8/16/94 Fix bug with bold on 8 bit chars.
        !           384:                (thanks to Vitor Duarte)
        !           385: v211   8/16/94 Don't quit on EOI in jump_loc / forw.
        !           386: v212   8/18/94 Use time_t if available.
        !           387: v213   8/20/94 Allow ospeed to be defined in termcap.h.
        !           388: v214   8/20/94 Added HILITE_SEARCH, -F, ESC-u cmd.
        !           389:                (thanks to Paul Lew and Bob Byrnes)
        !           390: v215   8/23/94 Fix -i toggle behavior.
        !           391: v216   8/23/94 Process BS in all searches, not only -u.
        !           392: v217   8/24/94 Added -X flag.
        !           393: v218   8/24/94 Reimplement undo_search.
        !           394: v219   8/24/94 Find tags marked with line number
        !           395:                instead of pattern.
        !           396: v220   8/24/94 Stay at same position after SIG_WINCH.
        !           397: v221   8/24/94 Fix bug in file percentage in big file.
        !           398: v222   8/25/94 Do better if can't reopen current file.
        !           399: v223   8/27/94 Support setlocale.
        !           400:                (thanks to Robert Joop)
        !           401: v224   8/29/94 Revert v216: process BS in search
        !           402:                only if -u.
        !           403: v225   9/6/94  Rewrite undo_search again: toggle.
        !           404: v226   9/15/94 Configuration fixes.
        !           405:                (thanks to David MacKenzie)
        !           406: v227   9/19/94 Fixed strerror config problem.
        !           407:                Posted to prep.ai.mit.edu
        !           408: -----------------------------------------------------------------
        !           409: v228   9/21/94 Fix bug in signals: repeated calls to
        !           410:                get_editkeys overflowed st_edittable.
        !           411: v229   9/21/94 Fix "Nothing to search" error if -a
        !           412:                and SRCH_PAST_EOF.
        !           413: v230   9/21/94 Don't print extra error msg in search
        !           414:                after regerror().
        !           415: v231   9/22/94 Fix hilite bug if search matches 0 chars.
        !           416:                (thanks to John Polstra)
        !           417: v232   9/23/94 Deal with weird systems that have
        !           418:                termios.h but not tcgetattr().
        !           419:                Posted to prep.ai.mit.edu
        !           420: -----------------------------------------------------------------
        !           421: v233   9/26/94 Use get_term() instead of pos_init() in
        !           422:                psignals to re-get lower_left termcap.
        !           423:                (Thanks to John Malecki)
        !           424: v234   9/26/94 Make MIDDLE closer to middle of screen.
        !           425: v235   9/27/94 Use local strchr if system doesn't have.
        !           426: v236   9/28/94 Don't use libucb; use libterm if
        !           427:                libtermcap & libcurses doesn't work.
        !           428:                (Fix for Solaris; thanks to Frank Kaefer)
        !           429: v237   9/30/94 Use system isupper() etc if provided.
        !           430:                Posted to prep.ai.mit.edu
        !           431: -----------------------------------------------------------------
        !           432: v238   10/6/94 Make binary non-blinking if LESSBINFMT
        !           433:                is set to a string without a *.
        !           434: v239   10/7/94 Don't let delimit_word run back past
        !           435:                beginning of cmdbuf.
        !           436: v240   10/10/94        Don't write into termcap buffer.
        !           437:                (Thanks to Benoit Speckel)
        !           438: v241   10/13/94        New lesskey file format.
        !           439:                Don't expand filenames in search command.
        !           440: v242   10/14/94        Allow lesskey specification of "literal".
        !           441: v243   10/14/94        Add #stop command to lesskey.
        !           442: v244   10/16/94        Add -f flag to lesskey.
        !           443: v245   10/25/94        Allow TAB_COMPLETE_FILENAME to be undefd.
        !           444: v246   10/27/94        Move help file to /usr/local/share.
        !           445: v247   10/27/94        Add -V option.
        !           446: v248   11/5/94 Add -V option to lesskey.
        !           447: v249   11/5/94 Remove -f flag from lesskey; default
        !           448:                input file is ~/.lesskey.in, not stdin.
        !           449: v250   11/7/94 Lesskey input file "-" means stdin.
        !           450: v251   11/9/94 Convert cfgetospeed result to ospeed.
        !           451:                (Thanks to Andrew Chernov)
        !           452: v252   11/16/94        Change default lesskey input file from
        !           453:                .lesskey.in to .lesskey.
        !           454:                Posted to prep.ai.mit.edu
        !           455: -----------------------------------------------------------------
        !           456: v253   11/21/94        Fix bug when tags file has a backslash.
        !           457: v254   12/6/94 Fix -k option.
        !           458: v255   12/8/94 Add #define EXAMINE to disable :e etc.
        !           459: v256   12/10/94        Change highlighting: only highlite search
        !           460:                results (but now it is reliable).
        !           461: v257   12/10/94        Add goto_line and repaint_highlight
        !           462:                to optimize highlight repaints.
        !           463: v258   12/12/94        Fixup in hilite_line if BS_SPECIAL.
        !           464: v259   12/12/94        Convert to autoconf 2.0.
        !           465: v260   12/13/94        Add SECURE define.
        !           466: v261   12/14/94        Use system WERASE char as EC_W_BACKSPACE.
        !           467: v262   12/16/94        Add -g/-G flag and screen_hilite.
        !           468: v263   12/20/94        Reimplement/optimize -G flag behavior.
        !           469: v264   12/23/94        Allow EXTRA string after line-edit cmd
        !           470:                in lesskey file.
        !           471: v265   12/24/94        Add LESSOPEN=|cmd syntax.
        !           472: v266   12/26/94        Add -I flag.
        !           473: v267   12/28/94        Formalize the four-byte header emitted
        !           474:                by a LESSOPEN pipe.
        !           475: v268   12/28/94        Get rid of four-byte header.
        !           476: v269   1/2/95  Close alt file before open new one.
        !           477:                Avoids multiple popen().
        !           478: v270   1/3/95  Use VISUAL; use S_ISDIR/S_ISREG; fix
        !           479:                config problem with Solaris POSIX regcomp.
        !           480: v271   1/4/95  Don't quit on read error.
        !           481: v272   1/5/95  Get rid of -L.
        !           482: v273   1/6/95  Fix ch_ungetchar bug; don't call
        !           483:                LESSOPEN on a pipe.
        !           484: v274   1/6/95  Ported to OS/2 (thanks to Kai Uwe Rommel)
        !           485: v275   1/18/95 Fix bug if toggle -G at EOF.
        !           486: v276   1/30/95 Fix OS/2 version.
        !           487: v277   1/31/95 Add "next" charset; don't display ^X
        !           488:                for X > 128.
        !           489: v278   2/14/95 Change default for -G.
        !           490:                Posted to prep.ai.mit.edu
        !           491: -----------------------------------------------------------------
        !           492: v279   2/22/95 Add GNU options --help, --version.
        !           493:                Minor config fixes.
        !           494: v280   2/24/95 Clean up calls to glob(); don't set #
        !           495:                if we can't open the new file.
        !           496: v281   2/24/95 Repeat search should turn on hilites.
        !           497: v282   3/2/95  Minor fixes.
        !           498: v283   3/2/95  Fix homefile; make OS2 look in $HOME.
        !           499: v284   3/2/95  Error if "v" on LESSOPENed file;
        !           500:                "%" figures out file size on pipe.
        !           501: v285   3/7/95  Don't set # in lsystem;
        !           502:                lesskey try $HOME first.
        !           503: v286   3/7/95  Reformat change history (too much free time?).
        !           504: v287   3/8/95  Fix hilite bug if overstrike multiple chars.
        !           505: v288   3/8/95  Allow lesskey to override get_editkey keys.
        !           506: v289   3/9/95  Fix adj_hilite bug when line gets processed by
        !           507:                hilite_line more than once.
        !           508: v290   3/9/95  Make configure automatically.  Fix Sequent problem
        !           509:                with incompatible sigsetmask().
        !           510:
        !           511: */
        !           512:
        !           513: char version[] = "290";