[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.6

1.1       etheisen    1: /*
1.6     ! shadchin    2:  * Copyright (C) 1984-2011  Mark Nudelman
1.1       etheisen    3:  *
1.3       millert     4:  * You may distribute under the terms of either the GNU General Public
                      5:  * License or the Less License, as specified in the README file.
1.1       etheisen    6:  *
1.3       millert     7:  * For more information about less, or for information on how to
                      8:  * contact the author, see the README file.
1.1       etheisen    9:  */
                     10:
                     11:
                     12: /*
                     13: ----------------------- CHANGE HISTORY --------------------------
                     14:
1.6     ! shadchin   15:        1/29/84  Allowed use on standard input
        !            16:        2/1/84   Added E, N, P commands
        !            17:        4/17/84  Added '=' command, 'stop' signal handling
        !            18:        4/20/84  Added line folding
        !            19: v2     4/27/84  Fixed '=' command to use BOTTOM_PLUS_ONE,
        !            20:                 instead of TOP, added 'p' & 'v' commands
        !            21: v3     5/3/84   Added -m and -t options, '-' command
        !            22: v4     5/3/84   Added LESS environment variable
        !            23: v5     5/3/84   New comments, fixed '-' command slightly
        !            24: v6     5/15/84  Added -Q, visual bell
        !            25: v7     5/24/84  Fixed jump_back(n) bug: n should count real
        !            26:                 lines, not folded lines.  Also allow number on G command.
        !            27: v8     5/30/84  Re-do -q and -Q commands
        !            28: v9     9/25/84  Added "+<cmd>" argument
        !            29: v10    10/10/84 Fixed bug in -b<n> argument processing
        !            30: v11    10/18/84 Made error() ring bell if \n not entered.
        !            31: -----------------------------------------------------------------
        !            32: v12    2/13/85  Reorganized signal handling and made portable to 4.2bsd.
        !            33: v13    2/16/85  Reword error message for '-' command.
        !            34: v14    2/22/85  Added -bf and -bp variants of -b.
        !            35: v15    2/25/85  Miscellaneous changes.
        !            36: v16    3/13/85  Added -u flag for backspace processing.
        !            37: v17    4/13/85  Added j and k commands, changed -t default.
        !            38: v18    4/20/85  Rewrote signal handling code.
        !            39: v19    5/2/85   Got rid of "verbose" eq_message().
        !            40:                 Made search() scroll in some cases.
        !            41: v20    5/21/85  Fixed screen.c ioctls for System V.
        !            42: v21    5/23/85  Fixed some first_cmd bugs.
        !            43: v22    5/24/85  Added support for no RECOMP nor REGCMP.
        !            44: v23    5/25/85  Miscellanous changes and prettying up.
        !            45:                 Posted to USENET.
        !            46: -----------------------------------------------------------------
        !            47: v24    6/3/85   Added ti,te terminal init & de-init.
        !            48:                 (Thanks to Mike Kersenbrock)
        !            49: v25    6/8/85   Added -U flag, standout mode underlining.
        !            50: v26    6/9/85   Added -M flag.
        !            51:                 Use underline termcap (us) if it exists.
        !            52: v27    6/15/85  Renamed some variables to make unique in
        !            53:                 6 chars.  Minor fix to -m.
        !            54: v28    6/28/85  Fixed right margin bug.
        !            55: v29    6/28/85  Incorporated M.Rose's changes to signal.c
        !            56: v30    6/29/85  Fixed stupid bug in argument processing.
        !            57: v31    7/15/85  Added -p flag, changed repaint algorithm.
        !            58:                 Added kludge for magic cookie terminals.
        !            59: v32    7/16/85  Added cat_file if output not a tty.
        !            60: v33    7/23/85  Added -e flag and EDITOR.
        !            61: v34    7/26/85  Added -s flag.
        !            62: v35    7/27/85  Rewrote option handling; added option.c.
        !            63: v36    7/29/85  Fixed -e flag to work if not last file.
        !            64: v37    8/10/85  Added -x flag.
        !            65: v38    8/19/85  Changed prompting; created prompt.c.
        !            66: v39    8/24/85  (Not -p) does not initially clear screen.
        !            67: v40    8/26/85  Added "skipping" indicator in forw().
        !            68:                 Posted to USENET.
        !            69: -----------------------------------------------------------------
        !            70: v41    9/17/85  ONLY_RETURN, control char commands,
        !            71:                 faster search, other minor fixes.
        !            72: v42    9/25/85  Added ++ command line syntax;
        !            73:                 ch_fsize for pipes.
        !            74: v43    10/15/85 Added -h flag, changed prim.c algorithms.
        !            75: v44    10/16/85 Made END print in all cases of eof;
        !            76:                 ignore SIGTTOU after receiv ing SIGTSTP.
        !            77: v45    10/16/85 Never print backspaces unless -u.
        !            78: v46    10/24/85 Backwards scroll in jump_loc.
        !            79: v47    10/30/85 Fixed bug in edit(): *first_cmd==0
        !            80: v48    11/16/85 Use TIOCSETN instead of TIOCSETP.
        !            81:                 Added marks (m and ' commands).
        !            82:                 Posted to USENET.
        !            83: -----------------------------------------------------------------
        !            84: v49    1/9/86   Fixed bug: signal didn't clear mcc.
        !            85: v50    1/15/86  Added ' (quote) to gomark.
        !            86: v51    1/16/86  Added + cmd, fixed problem if first_cmd
        !            87:                 fails, made g cmd sort of "work" on pipes
        !            88:                 ev en if bof is no longer buffered.
        !            89: v52    1/17/86  Made short files work better.
        !            90: v53    1/20/86  Added -P option.
        !            91: v54    1/20/86  Changed help to use HELPFILE.
        !            92: v55    1/23/86  Messages work better if not tty output.
        !            93: v56    1/24/86  Added -l option.
        !            94: v57    1/31/86  Fixed -l to get confirmation before
        !            95:                 ov erwriting an existing file.
        !            96: v58    8/28/86  Added filename globbing.
        !            97: v59    9/15/86  Fixed some bugs with very long filenames.
        !            98: v60    9/26/86  Incorporated changes from Leith (Casey)
        !            99:                 Leedom for boldface and -z option.
        !           100: v61    9/26/86  Got rid of annoying repaints after ! cmd.
        !           101:                 Posted to USENET.
        !           102: -----------------------------------------------------------------
        !           103: v62    12/23/86 Added is_directory(); change -z default to
        !           104:                 -1 instead of 24; cat-and-exit if -e and
        !           105:                 file is less than a screenful.
        !           106: v63    1/8/87   Fixed bug in cat-and-exit if > 1 file.
        !           107: v64    1/12/87  Changed puts/putstr, putc/putchr,
        !           108:                 getc/getchr to av oid name conflict with
        !           109:                 stdio functions.
        !           110: v65    1/26/87  Allowed '-' command to change NUMBER
        !           111:                 v alued options (thanks to Gary Puckering)
        !           112: v66    2/13/87  Fixed bug: prepaint should use force=1.
        !           113: v67    2/24/87  Added !! and % expansion to ! command.
        !           114: v68    2/25/87  Added SIGWINCH and TIOCGWINSZ support;
        !           115:                 changed is_directory to bad_file.
        !           116:                 (thanks to J. Robert Ward)
        !           117: v69    2/25/87  Added SIGWIND and WIOCGETD (for Unix PC).
        !           118: v70    3/13/87  Changed help cmd from 'h' to 'H'; better
        !           119:                 error msgs in bad_file, errno_message.
        !           120: v71    5/11/87  Changed -p to -c, made triple -c/-C
        !           121:                 for clear-eol like more's -c.
        !           122: v72    6/26/87  Added -E, -L, use $SHELL in lsystem().
        !           123:                 (thanks to Stev e Spearman)
        !           124: v73    6/26/87  Allow Examine "#" for previous file.
        !           125:                 Posted to USENET 8/25/87.
        !           126: -----------------------------------------------------------------
        !           127: v74    9/18/87  Fix conflict in EOF symbol with stdio.h,
        !           128:                 Make os.c more portable to BSD.
        !           129: v75    9/23/87  Fix problems in get_term (thanks to
        !           130:                 Paul Eggert); new backwards scrolling in
        !           131:                 jump_loc (thanks to Marion Hakanson).
        !           132: v76    9/23/87  Added -i flag; allow single "!" to
        !           133:                 inv oke a shell (thanks to Franco Barber).
        !           134: v77    9/24/87  Added -n flag and line number support.
        !           135: v78    9/25/87  Fixed problem with prompts longer than
        !           136:                 the screen width.
        !           137: v79    9/29/87  Added the _ command.
        !           138: v80    10/6/87  Allow signal to break out of linenum scan.
        !           139: v81    10/6/87  Allow -b to be changed from within less.
        !           140: v82    10/7/87  Add cmd_decode to use a table for key
        !           141:                 binding (thanks to Dav id Nason).
        !           142: v83    10/9/87  Allow .less file for user-defined keys.
        !           143: v84    10/11/87 Fix -e/-E problems (thanks to Felix Lee).
        !           144: v85    10/15/87 Search now keeps track of line numbers.
        !           145: v86    10/20/87 Added -B option and autobuf; fixed
        !           146:                 "pipe error" bug.
        !           147: v87    3/1/88   Fix bug re BSD signals while reading file.
        !           148: v88    3/12/88  Use new format for -P option (thanks to
        !           149:                 der Mouse), allow "+-c" without message,
        !           150:                 fix bug re BSD hangup.
        !           151: v89    3/18/88  Turn off line numbers if linenum scan
        !           152:                 is interrupted.
        !           153: v90    3/30/88  Allow -P from within less.
        !           154: v91    3/30/88  Added tags file support (new -t option)
        !           155:                 (thanks to Brian Campbell).
        !           156: v92    4/4/88   Added -+option syntax.
        !           157: v93    4/11/88  Add support for slow input (thanks to
        !           158:                 Joe Orost & apologies for taking almost
        !           159:                 3 years to get this in!)
        !           160: v94    4/11/88  Redo reading/signal stuff.
        !           161: v95    4/20/88  Repaint screen better after signal.
        !           162: v96    4/21/88  Add /! and ?! commands.
        !           163: v97    5/17/88  Allow -l/-L from within less.
        !           164:                 Eliminate some static arrays (use calloc).
        !           165:                 Posted to USENET.
        !           166: -----------------------------------------------------------------
        !           167: v98    10/14/88 Fix incorrect calloc call; uninitialized
        !           168:                 var in exec_mca; core dump on unknown TERM.
        !           169:                 Make v cmd work if past last line of file.
        !           170:                 Fix some signal bugs.
        !           171: v99    10/29/88 Allow space between -X and string,
        !           172:                 when X is a string-valued option.
        !           173: v100   1/5/89   Fix globbing bug when $SHELL not set;
        !           174:                 allow spaces after -t command.
        !           175: v101   1/6/89   Fix problem with long (truncated) lines
        !           176:                 in tags file (thanks to Neil Dixon).
        !           177: v102   1/6/89   Fix bug with E# when no prev file;
        !           178:                 allow spaces after -l command.
        !           179: v103   3/14/89  Add -N, -f and -? options.  Add z and w
        !           180:                 commands.  Add %L for prompt strings.
        !           181: v104   3/16/89  Added EDITPROTO.
        !           182: v105   3/20/89  Fix bug in find_linenum which cached
        !           183:                 incorrectly on long lines.
        !           184: v106   3/31/89  Added -k option and multiple lesskey
        !           185:                 files.
        !           186: v107   4/27/89  Add 8-bit char support and -g option.
        !           187:                 Split option code into 3 files.
        !           188: v108   5/5/89   Allocate position table dynamically
        !           189:                 (thanks to Paul Eggert); change % command
        !           190:                 from "percent" to vi-style brace finder.
        !           191: v109   5/10/89  Added ESC-% command, split prim.c.
        !           192: v110   5/24/89  Fixed bug in + option; fixed repaint bug
        !           193:                 under Sun windows (thanks to Paul Eggert).
        !           194: v111   5/25/89  Generalized # and % expansion; use
        !           195:                 calloc for some error messages.
        !           196: v112   5/30/89  Get rid of ESC-%, add {}()[] commands.
        !           197: v113   5/31/89  Optimize lseeks (thanks to Paul Eggert).
        !           198: v114   7/25/89  Added ESC-/ and ESC-/! commands.
        !           199: v115   7/26/89  Added ESC-n command.
        !           200: v116   7/31/89  Added find_pos to optimize g command.
        !           201: v117   8/1/89   Change -f option to -r.
        !           202: v118   8/2/89   Save positions for all previous files,
        !           203:                 not just the immediately previous one.
        !           204: v119   8/7/89   Save marks across file boundaries.
        !           205:                 Add file handle stuff.
        !           206: v120   8/11/89  Add :ta command.
        !           207: v121   8/16/89  Add -f option.
        !           208: v122   8/30/89  Fix performance with many buffers.
        !           209: v123   8/31/89  Verbose prompts for string options.
        !           210:                 Posted beta to USENET.
        !           211: -----------------------------------------------------------------
        !           212: v124   9/18/89  Reorganize search commands,
        !           213:                 N = rev, ESC-n = span, add ESC-N.
        !           214: v125   9/18/89  Fix tab bug (thanks to Alex Liu).
        !           215:                 Fix EOF bug when both -w and -c.
        !           216: v126   10/25/89 Add -j option.
        !           217: v127   10/27/89 Fix problems with blank lines before BOF.
        !           218: v128   10/27/89 Add %bj, etc. to prompt strings.
        !           219: v129   11/3/89  Add -+,-- commands; add set-option and
        !           220:                 unset-option to lesskey.
        !           221: v130   11/6/89  Generalize A_EXTRA to string, remove
        !           222:                 set-option, unset-option from lesskey.
        !           223: v131   11/7/89  Changed name of EDITPROTO to LESSEDIT.
        !           224: v132   11/8/89  Allow editing of command prefix.
        !           225: v133   11/16/89 Add -y option (thanks to Jeff Sullivan).
        !           226: v134   12/1/89  Glob filenames in the -l command.
        !           227: v135   12/5/89  Combined {}()[] commands into one, and
        !           228:                 added ESC-^F and ESC-^B commands.
        !           229: v136   1/20/90  Added -S, -R flags.  Added | command.
        !           230:                 Added warning for binary files. (thanks
        !           231:                 to Richard Brittain and J. Sullivan).
        !           232: v137   1/21/90  Rewrote horrible pappend code.
        !           233:                 Added * notation for hi-bit chars.
        !           234: v138   1/24/90  Fix magic cookie terminal handling.
        !           235:                 Get rid of "cleanup" loop in ch_get.
        !           236: v139   1/27/90  Added MSDOS support.  (many thanks
        !           237:                 to Richard Brittain).
        !           238: v140   2/7/90   Editing a new file adds it to the
        !           239:                 command line list.
        !           240: v141   2/8/90   Add edit_list for editing >1 file.
        !           241: v142   2/10/90  Add :x command.
        !           242: v143   2/11/90  Add * and @ modifies to search cmds.
        !           243:                 Change ESC-/ cmd from /@* to / *.
        !           244: v144   3/1/90   Messed around with ch_zero;
        !           245:                 no real change.
        !           246: v145   3/2/90   Added -R and -v/-V for MSDOS;
        !           247:                 renamed FILENAME to avoid conflict.
        !           248: v146   3/5/90   Pull cmdbuf functions out of command.c
        !           249: v147   3/7/90   Implement ?@; fix multi-file edit bugs.
        !           250: v148   3/29/90  Fixed bug in :e<file> then :e#.
        !           251: v149   4/3/90   Change error,ierror,query to use PARG.
        !           252: v150   4/6/90   Add LESS_CHARSET, LESS_CHARDEF.
        !           253: v151   4/13/90  Remove -g option; clean up ispipe.
        !           254: v152   4/14/90  lsystem() closes input file, for
        !           255:                 editors which require exclusive open.
        !           256: v153   4/18/90  Fix bug if SHELL unset;
        !           257:                 fix bug in overstrike control char.
        !           258: v154   4/25/90  Output to fd 2 via buffer.
        !           259: v155   4/30/90  Ignore -i if uppercase in pattern
        !           260:                 (thanks to Michael Rendell.)
        !           261: v156   5/3/90   Remove scroll limits in forw() & back();
        !           262:                 causes problems with -c.
        !           263: v157   5/4/90   Forward search starts at next real line
        !           264:                 (not screen line) after jump target.
        !           265: v158   6/14/90  Added F command.
        !           266: v159   7/29/90  Fix bug in exiting: output not flushed.
        !           267: v160   7/29/90  Clear screen before initial output w/ -c.
        !           268: v161   7/29/90  Add -T flag.
        !           269: v162   8/14/90  Fix bug with +F on command line.
        !           270: v163   8/21/90  Added LESSBINFMT variable.
        !           271: v164   9/5/90   Added -p, LINES, COLUMNS and
        !           272:                 unset mark ' == BOF, for 1003.2 D5.
        !           273: v165   9/6/90   At EOF with -c set, don't display empty
        !           274:                 screen when try to page forward.
        !           275: v166   9/6/90   Fix G when final line in file wraps.
        !           276: v167   9/11/90  Translate CR/LF -> LF for 1003.2.
        !           277: v168   9/13/90  Return to curr file if "tag not found".
        !           278: v169   12/12/90 G goes to EOF even if file has grown.
        !           279: v170   1/17/91  Add optimization for BSD _setjmp;
        !           280:                 fix #include ioctl.h TERMIO problem.
        !           281:                 (thanks to Paul Eggert)
        !           282:                 Posted to USENET.
        !           283: -----------------------------------------------------------------
        !           284: v171   3/6/91   Fix -? bug in get_filename.
        !           285: v172   3/15/91  Fix G bug in empty file.
        !           286:                 Fix bug with ?\n and -i and uppercase
        !           287:                 pattern at EOF!
        !           288:                 (thanks to Paul Eggert)
        !           289: v173   3/17/91  Change N cmd to not permanently change
        !           290:                 direction. (thanks to Brian Matthews)
        !           291: v174   3/18/91  Fix bug with namelogfile not getting
        !           292:                 cleared when change files.
        !           293: v175   3/18/91  Fix bug with ++cmd on command line.
        !           294:                 (thanks to Jim Meyering)
        !           295: v176   4/2/91   Change | to not force current screen,
        !           296:                 include marked line, start/end from
        !           297:                 top of screen.  Improve search speed.
        !           298:                 (thanks to Don Mears)
        !           299: v177   4/2/91   Add LESSHELP variable.
        !           300:                 Fix bug with F command with -e.
        !           301:                 Try /dev/tty for input before using fd 2.
        !           302:                 Patches posted to USENET  4/2/91.
        !           303: -----------------------------------------------------------------
        !           304: v178   4/8/91   Fixed bug in globbing logfile name.
        !           305:                 (thanks to Jim Meyering)
        !           306: v179   4/9/91   Allow negative -z for screen-relative.
        !           307: v180   4/9/91   Clear to eos rather than eol if "db";
        !           308:                 don't use "sr" if "da".
        !           309:                 (thanks to Tor Lillqvist)
        !           310: v181   4/18/91  Fixed bug with "negative" chars 80 - FF.
        !           311:                 (thanks to Benny Sander Hofmann)
        !           312: v182   5/16/91  Fixed bug with attribute at EOL.
        !           313:                 (thanks to Brian Matthews)
        !           314: v183   6/1/91   Rewrite linstall to do smart config.
        !           315: v184   7/11/91  Process \b in searches based on -u
        !           316:                 rather than -i.
        !           317: v185   7/11/91  -Pxxx sets short prompt; assume SIGWINCH
        !           318:                 after a SIGSTOP. (thanks to Ken Laprade)
        !           319: -----------------------------------------------------------------
        !           320: v186   4/20/92  Port to MS-DOS (Microsoft C).
        !           321: v187   4/23/92  Added -D option & TAB_COMPLETE_FILENAME.
        !           322: v188   4/28/92  Added command line editing features.
        !           323: v189   12/8/92  Fix mem overrun in anscreen.c:init;
        !           324:                 fix edit_list to recover from bin file.
        !           325: v190   2/13/93  Make TAB enter one filename at a time;
        !           326:                 create ^L with old TAB functionality.
        !           327: v191   3/10/93  Defer creating "flash" page for MS-DOS.
        !           328: v192   9/6/93   Add BACK-TAB.
        !           329: v193   9/17/93  Simplify binary_file handling.
        !           330: v194   1/4/94   Add rudiments of alt_filename handling.
        !           331: v195   1/11/94  Port back to Unix; support keypad.
        !           332: -----------------------------------------------------------------
        !           333: v196   6/7/94   Fix bug with bad filename; fix IFILE
        !           334:                 type problem. (thanks to David MacKenzie)
        !           335: v197   6/7/94   Fix bug with .less tables inserted wrong.
        !           336: v198   6/23/94  Use autoconf installation technology.
        !           337:                 (thanks to David MacKenzie)
        !           338: v199   6/29/94  Fix MS-DOS build (thanks to Tim Wiegman).
        !           339: v200   7/25/94  Clean up copyright, minor fixes.
        !           340:         Posted to prep.ai.mit.edu
        !           341: -----------------------------------------------------------------
        !           342: v201   7/27/94  Check for no memcpy; add casts to calloc;
        !           343:                 look for regcmp in libgen.a.
        !           344:                 (thanks to Kaveh Ghazi).
        !           345: v202   7/28/94  Fix bug in edit_next/edit_prev with
        !           346:                 non-existent files.
        !           347: v203   8/2/94   Fix a variety of configuration bugs on
        !           348:                 various systems. (thanks to Sakai
        !           349:                 Kiyotaka, Harald Koenig, Bjorn Brox,
        !           350:                 Teemu Rantanen, and Thorsten Lockert)
        !           351: v204   8/3/94   Use strerror if available.
        !           352:                 (thanks to J.T. Conklin)
        !           353: v205   8/5/94   Fix bug in finding "me" termcap entry.
        !           354:                 (thanks to Andreas Stolcke)
        !           355: 8/10/94         v205+: Change BUFSIZ to LBUFSIZE to avoid name
        !           356:                 conflict with stdio.h.
        !           357:                 Posted to prep.ai.mit.edu
        !           358: -----------------------------------------------------------------
        !           359: v206   8/10/94  Use initial_scrpos for -t to avoid
        !           360:                 displaying first page before init().
        !           361:                 (thanks to Dominique Petitpierre)
        !           362: v207   8/12/94  Fix bug if stdout is not tty.
        !           363: v208   8/16/94  Fix bug in close_altfile if goto err1
        !           364:                 in edit_ifile. (Thanks to M.J. Hewitt)
        !           365: v209   8/16/94  Change scroll to wscroll to avoid
        !           366:                 conflict with library function.
        !           367: v210   8/16/94  Fix bug with bold on 8 bit chars.
        !           368:                 (thanks to Vitor Duarte)
        !           369: v211   8/16/94  Don't quit on EOI in jump_loc / forw.
        !           370: v212   8/18/94  Use time_t if available.
        !           371: v213   8/20/94  Allow ospeed to be defined in termcap.h.
        !           372: v214   8/20/94  Added HILITE_SEARCH, -F, ESC-u cmd.
        !           373:                 (thanks to Paul Lew and Bob Byrnes)
        !           374: v215   8/23/94  Fix -i toggle behavior.
        !           375: v216   8/23/94  Process BS in all searches, not only -u.
        !           376: v217   8/24/94  Added -X flag.
        !           377: v218   8/24/94  Reimplement undo_search.
        !           378: v219   8/24/94  Find tags marked with line number
        !           379:                 instead of pattern.
        !           380: v220   8/24/94  Stay at same position after SIG_WINCH.
        !           381: v221   8/24/94  Fix bug in file percentage in big file.
        !           382: v222   8/25/94  Do better if can't reopen current file.
        !           383: v223   8/27/94  Support setlocale.
        !           384:                 (thanks to Robert Joop)
        !           385: v224   8/29/94  Revert v216: process BS in search
        !           386:                 only if -u.
        !           387: v225   9/6/94   Rewrite undo_search again: toggle.
        !           388: v226   9/15/94  Configuration fixes.
        !           389:                 (thanks to David MacKenzie)
        !           390: v227   9/19/94  Fixed strerror config problem.
        !           391:                 Posted to prep.ai.mit.edu
        !           392: -----------------------------------------------------------------
        !           393: v228   9/21/94  Fix bug in signals: repeated calls to
        !           394:                 get_editkeys overflowed st_edittable.
        !           395: v229   9/21/94  Fix "Nothing to search" error if -a
        !           396:                 and SRCH_PAST_EOF.
        !           397: v230   9/21/94  Don't print extra error msg in search
        !           398:                 after regerror().
        !           399: v231   9/22/94  Fix hilite bug if search matches 0 chars.
        !           400:                 (thanks to John Polstra)
        !           401: v232   9/23/94  Deal with weird systems that have
        !           402:                 termios.h but not tcgetattr().
        !           403:                 Posted to prep.ai.mit.edu
        !           404: -----------------------------------------------------------------
        !           405: v233   9/26/94  Use get_term() instead of pos_init() in
        !           406:                 psignals to re-get lower_left termcap.
        !           407:                 (Thanks to John Malecki)
        !           408: v234   9/26/94  Make MIDDLE closer to middle of screen.
        !           409: v235   9/27/94  Use local strchr if system doesn't have.
        !           410: v236   9/28/94  Don't use libucb; use libterm if
        !           411:                 libtermcap & libcurses doesn't work.
        !           412:                 (Fix for Solaris; thanks to Frank Kaefer)
        !           413: v237   9/30/94  Use system isupper() etc if provided.
        !           414:                 Posted to prep.ai.mit.edu
        !           415: -----------------------------------------------------------------
        !           416: v238   10/6/94  Make binary non-blinking if LESSBINFMT
        !           417:                 is set to a string without a *.
        !           418: v239   10/7/94  Don't let delimit_word run back past
        !           419:                 beginning of cmdbuf.
        !           420: v240   10/10/94 Don't write into termcap buffer.
        !           421:                 (Thanks to Benoit Speckel)
        !           422: v241   10/13/94 New lesskey file format.
        !           423:                 Don't expand filenames in search command.
        !           424: v242   10/14/94 Allow lesskey specification of "literal".
        !           425: v243   10/14/94 Add #stop command to lesskey.
        !           426: v244   10/16/94 Add -f flag to lesskey.
        !           427: v245   10/25/94 Allow TAB_COMPLETE_FILENAME to be undefd.
        !           428: v246   10/27/94 Move help file to /usr/local/share.
        !           429: v247   10/27/94 Add -V option.
        !           430: v248   11/5/94  Add -V option to lesskey.
        !           431: v249   11/5/94  Remove -f flag from lesskey; default
        !           432:                 input file is ~/.lesskey.in, not stdin.
        !           433: v250   11/7/94  Lesskey input file "-" means stdin.
        !           434: v251   11/9/94  Convert cfgetospeed result to ospeed.
        !           435:                 (Thanks to Andrew Chernov)
        !           436: v252   11/16/94 Change default lesskey input file from
        !           437:                 .lesskey.in to .lesskey.
        !           438:                 Posted to prep.ai.mit.edu
        !           439: -----------------------------------------------------------------
        !           440: v253   11/21/94 Fix bug when tags file has a backslash.
        !           441: v254   12/6/94  Fix -k option.
        !           442: v255   12/8/94  Add #define EXAMINE to disable :e etc.
        !           443: v256   12/10/94 Change highlighting: only highlite search
        !           444:                 results (but now it is reliable).
        !           445: v257   12/10/94 Add goto_line and repaint_highlight
        !           446:                 to optimize highlight repaints.
        !           447: v258   12/12/94 Fixup in hilite_line if BS_SPECIAL.
        !           448: v259   12/12/94 Convert to autoconf 2.0.
        !           449: v260   12/13/94 Add SECURE define.
        !           450: v261   12/14/94 Use system WERASE char as EC_W_BACKSPACE.
        !           451: v262   12/16/94 Add -g/-G flag and screen_hilite.
        !           452: v263   12/20/94 Reimplement/optimize -G flag behavior.
        !           453: v264   12/23/94 Allow EXTRA string after line-edit cmd
        !           454:                 in lesskey file.
        !           455: v265   12/24/94 Add LESSOPEN=|cmd syntax.
        !           456: v266   12/26/94 Add -I flag.
        !           457: v267   12/28/94 Formalize the four-byte header emitted
        !           458:                 by a LESSOPEN pipe.
        !           459: v268   12/28/94 Get rid of four-byte header.
        !           460: v269   1/2/95   Close alt file before open new one.
        !           461:                 Avoids multiple popen().
        !           462: v270   1/3/95   Use VISUAL; use S_ISDIR/S_ISREG; fix
        !           463:                 config problem with Solaris POSIX regcomp.
        !           464: v271   1/4/95   Don't quit on read error.
        !           465: v272   1/5/95   Get rid of -L.
        !           466: v273   1/6/95   Fix ch_ungetchar bug; don't call
        !           467:                 LESSOPEN on a pipe.
        !           468: v274   1/6/95   Ported to OS/2 (thanks to Kai Uwe Rommel)
        !           469: v275   1/18/95  Fix bug if toggle -G at EOF.
        !           470: v276   1/30/95  Fix OS/2 version.
        !           471: v277   1/31/95  Add "next" charset; don't display ^X
        !           472:                 for X > 128.
        !           473: v278   2/14/95  Change default for -G.
        !           474:                 Posted to prep.ai.mit.edu
        !           475: -----------------------------------------------------------------
        !           476: v279   2/22/95  Add GNU options --help, --version.
        !           477:                 Minor config fixes.
        !           478: v280   2/24/95  Clean up calls to glob(); don't set #
        !           479:                 if we can't open the new file.
        !           480: v281   2/24/95  Repeat search should turn on hilites.
        !           481: v282   3/2/95   Minor fixes.
        !           482: v283   3/2/95   Fix homefile; make OS2 look in $HOME.
        !           483: v284   3/2/95   Error if "v" on LESSOPENed file;
        !           484:                 "%" figures out file size on pipe.
        !           485: v285   3/7/95   Don't set # in lsystem;
        !           486:                 lesskey try $HOME first.
        !           487: v286   3/7/95   Reformat change history (too much free time?).
        !           488: v287   3/8/95   Fix hilite bug if overstrike multiple chars.
        !           489: v288   3/8/95   Allow lesskey to override get_editkey keys.
        !           490: v289   3/9/95   Fix adj_hilite bug when line gets processed by
        !           491:                 hilite_line more than once.
        !           492: v290   3/9/95   Make configure automatically.  Fix Sequent problem
        !           493:                 with incompatible sigsetmask().
        !           494:                 Posted to prep.ai.mit.edu
        !           495: -----------------------------------------------------------------
        !           496: v291   3/21/95  Add #env to lesskey.  Fix MS-DOS build.
        !           497:                 Posted to simtel.
        !           498: -----------------------------------------------------------------
        !           499: v292   4/24/95  Add MS-DOS support for Borland C.
        !           500:                 Fix arrow keys in MS-DOS versions.
        !           501: v293   4/28/95  Add auto-versioning stuff to make dist.
        !           502: v294   5/12/95  Fix Borland build.
        !           503: v295   1/20/96  Fix search on squished file; add /@@.
        !           504: v296   1/23/96  Allow cmdbuf larger than screen width.
        !           505: v297   1/24/96  Don't call termcap if tgetent fails;
        !           506:                 add #defines for buffers.
        !           507: v298   1/24/96  Change @@ to ^K.
        !           508:                 Add alternate search modifiers ^N, ^F, ^E.
        !           509: v299   1/25/96  Fix percent overflow in jump_percent (thanks to Brent Wiese);
        !           510:                 don't send "ti" after shell command till RETURN pressed.
        !           511: v300   1/25/96  Change -U to print tabs as ^I.
        !           512: v301   1/30/96  Make hilites work in cmd F output.
        !           513: v302   1/31/96  Fix cmd F to notice window-change signals.
        !           514: v303   1/31/96  Add ESC-SPACE command.
        !           515: v304   2/1/96   Add ^R search modifier; add LESSSECURE.
        !           516: v305   2/2/96   Workaround Linux /proc kernel bug; add LESSKEY.
        !           517: v306   3/16/96  Minor fixes.
        !           518: v307   3/25/96  Allow cmd line arg "--"; fix DOS & OS/2 defines.h.
        !           519: v308   4/4/96   Port to OS-9 (thanks to Boisy Pitre); fix -d.
        !           520: v309   4/9/96   Fix OS-9 version; fix tags bug with "$".
        !           521: v310   4/10/96  Get rid of HELPFILE.
        !           522: v311   4/22/96  Add Windows32 support; merge doscreen.c into screen.c.
        !           523: v312   4/24/96  Don't quit after "cannot reopen" error.
        !           524: v313   4/25/96  Added horizontal scrolling.
        !           525: v314   4/26/96  Modified -e to quit on reaching end of a squished file.
        !           526: v315   4/26/96  Fix "!;TAB" bug.
        !           527: v316   5/2/96   Make "|a" when (a < curr screen) go to end of curr screen.
        !           528: v317   5/14/96  Various fixes for the MS-DOS and OS/2 builds.
        !           529:                 Added ## and %% handling for filenames
        !           530: v318   5/29/96  Port to OS-9 Microware compiler; minor fixes
        !           531:                 (thanks to Martin Gregorie).
        !           532: v319   7/8/96   Fix Windows port (thanks to Jeff Paquette).
        !           533: v320   7/11/96  Final fixes for Windows port.
        !           534: v321   7/18/96  Minor fixes.
        !           535:                 Posted to Web page.
        !           536: -----------------------------------------------------------------
        !           537: v322   8/13/96  Fix bug in shell escape from help file; add support for
        !           538:                 Microsoft Visual C under Windows; numerous small fixes.
        !           539: v323   8/19/96  Fixes for Windows version (thanks to Simon Munton);
        !           540:                 fix for Linux library weirdness (thanks to Jim Diamond);
        !           541:                 port to DJGPP (thanks to Eli Zaretskii).
        !           542: v324   8/21/96  Add support for spaces in filenames (thanks to Simon Munton).
        !           543: v325   8/21/96  Add lessecho, for spaces in filenames under Unix.
        !           544: v326   8/27/96  Fix DJGPP version.
        !           545: v327   9/1/96   Reorganize lglob, make spaces in filenames work better in Unix.
        !           546: v328   10/7/96  Append / to directory name in filename completion.
        !           547:                 Fix MS-DOS and OS-9 versions.
        !           548: v329   10/11/96 Fix more MS-DOS bugs; add LESSSEPARATOR; add -" option.
        !           549:                 Add LESSMETACHARS, LESSMETAESCAPE.
        !           550: v330   10/21/96 Minor fixes.
        !           551:                 Posted to Web page.
        !           552: -----------------------------------------------------------------
        !           553: v331   4/22/97  Various Windows fixes (thanks to Gurusamy Sarathy).
        !           554: v332   4/22/97  Enter filenames from cmd line into edit history.
        !           555:                 Posted to Web page.
        !           556: -----------------------------------------------------------------
        !           557: v333    3/4/99  Changed -w to highlite new line after forward movement.
        !           558: v334    3/9/99  Avoid overflowing prompt buffer; add %d and %D.
        !           559: v335   3/20/99  Add EBCDIC support (thanks to Thomas Dorner).
        !           560:                 Use HOMEDRIVE/HOMEPATH on Windows (thanks to Preston Bannister).
        !           561:                 Posted to Web page.
        !           562: -----------------------------------------------------------------
        !           563: v336    4/8/99  Fix installation bugs.
        !           564: v337    4/9/99  Fix another installation bug.
        !           565:                 Posted to Web page.
        !           566: -----------------------------------------------------------------
        !           567: v338   4/13/99  Add support for long option names.
        !           568: v339   4/18/99  Add \k, long option names to lesskey.  Add -^P.  Add :d.
        !           569: v340   4/21/99  Add regexec2.  Fix Windows build.
        !           570:                 Posted to Web page.
1.3       millert   571: -----------------------------------------------------------------
                    572: v341    5/6/99  Add -F option; %c & ?c prompt escapes.
1.6     ! shadchin  573:                 (Thanks to Michele Maltoni)
1.3       millert   574: v342   7/22/99  Add system-wide lesskey file; allow GPL or Less License.
1.6     ! shadchin  575: v343   9/23/99  Support UTF-8 (Thanks to Robert Brady).
        !           576:                 Add %P and ?P in prompts.
        !           577: v344  10/27/99  -w highlights target line of g and p commands.
        !           578: v345  10/29/99  Make -R pass thru ESC but not other control chars.
        !           579:                 Posted to Web page.
1.3       millert   580: -----------------------------------------------------------------
                    581: v346   11/4/99  Fix bugs in long option processing; R cmd should clear hilites.
1.6     ! shadchin  582:                 Posted to Web page.
1.3       millert   583: -----------------------------------------------------------------
1.6     ! shadchin  584: v347  12/13/99  Fixes for DJGPP version (thanks to Eli Zaretskii).
        !           585: v348  12/28/99  Fix deleting file with marks (thanks to Dimitar Jekov).
        !           586:                 Fix color problem in DJGPP version (thanks to Eli Zaretskii).
        !           587: v349   1/24/00  Fix minor DJGPP bugs; check environment vars for UTF-8;
        !           588:                 add --with-editor (thanks to Eli, Markus Kuhn, Thomas Schoepf).
        !           589: v350   3/1/00   Fix clear-while-standout bug.
        !           590: v351   3/5/00   Change -M and = prompts to show top & bottom line number.
        !           591:                 Posted to Web page.
        !           592: -----------------------------------------------------------------
        !           593: v352   3/8/00   Fix scan_option NULL dereference.
        !           594: -----------------------------------------------------------------
        !           595: v353   3/20/00  Fix SECURE compile bug, allow space after numeric option.
        !           596: v354   3/23/00  Add support for PCRE; add --with-regex configure option.
        !           597: -----------------------------------------------------------------
        !           598: v355   6/28/00  Add -# option (thanks to Andy Levinson).
        !           599: v356   7/5/00   Add -J option.
        !           600: v357   7/6/00   Support sigprocmask.
        !           601: -----------------------------------------------------------------
        !           602: v358   7/8/00   Fix problems with #stop in lesskey file.
        !           603:                 Posted to Web page.
        !           604: -----------------------------------------------------------------
        !           605: v359  9/10/00   Fixes for Win32 display problems (thanks to Maurizio Vairani).
        !           606: v360  1/17/01   Move sysless to etc.
        !           607: v361  12/4/01   Add IBM-1047 charset & EBCDIC fixes (thanks to Thomas Dorner).
        !           608:                 Fix 32 bit dependencies (thanks to Paul Eggert).
        !           609:                 Fix UTF-8 overstriking (thanks to Robert Brady).
        !           610: v362  12/4/01   Make status column show search targets.
        !           611: v363  12/6/01   Add --no-keypad option.
        !           612:                 Add variable width tabstops (thanks to Peter Samuelson).
        !           613: v364 12/10/01   Better handling of very long lines in input;
        !           614:                 Fix horizontal shifting of colored text.
        !           615: v365 12/11/01   Fix overstriking of tabs;
        !           616:                 Add support for global(1) and multiple tag matches
        !           617:                 (thanks to Shigio Yamaguchi and Tim Vanderhoek).
        !           618: v366 12/11/01   Fixes for OS/2 (thanks to Kyosuke Tokoro).
        !           619: v367 12/13/01   Allow -D and -x options to terminate without dollar sign;
        !           620:                 Right/left arrow when entering N are shift cmds, not line edit.
        !           621: v368 12/18/01   Update lesskey commands.
        !           622: v370 12/23/01   Fix tags error messages.
        !           623:                 Posted to Web page.
        !           624: -----------------------------------------------------------------
        !           625: v371 12/26/01   Fix new_file bug; use popen in Windows version;
        !           626:                 fix some compiler warnings.
        !           627: v372 12/29/01   Make -b be in units of 1K.
        !           628: v373  1/14/02   Improve handling of filenames containing shell metachars.
        !           629: v374   2/7/02   Fix memory leak; fix bug in -x argument parsing.
        !           630: v375   4/7/02   Fix searching for SGR sequences; fix SECURE build;
        !           631:                 add SGR support to DJGPP version (thanks to Eli Zaretskii).
        !           632: v376  6/10/02   Fix bug in overstriking mulitbyte UTF-8 characters
        !           633:                 (thanks to Jungshik Shin).
        !           634:                 Posted to Web page.
        !           635: -----------------------------------------------------------------
        !           636: v377  9/10/02   Fix bug in Windows version when file contains CR;
        !           637:                 fix bug in search highlights with -R;
        !           638:                 make initial buffer limit really be 64K not unlimited.
        !           639: v378  9/30/02   Misc bug fixes and compiler warning cleanup.
        !           640:                 Posted to Web page.
        !           641: -----------------------------------------------------------------
        !           642: v379 11/23/02   Add -L option; fix bug with ctrl-K in lesskey files;
        !           643:                 improve UTF-8 overstriking and underscore overstriking;
        !           644:                 fix minor man page problems; change to autoconf 2.54.
        !           645: v380 11/24/02   Make LINENUM same as POSITION.
        !           646: v381 11/28/02   Make -N use 7 columns for line number if possible.
        !           647: -----------------------------------------------------------------
        !           648: v382   2/3/04   Remove copyrighted code.
        !           649: -----------------------------------------------------------------
        !           650: v383  2/16/04   Add history file; add -K option; improve UTF-8 handling;
        !           651:                 fix some signed char bugs (thanks to Christian Biere);
        !           652:                 fix some upper/lower case bugs (thanks to Bjoern Jacke);
        !           653:                 add erase2 char (thanks to David Lawrence);
        !           654:                 add windows charset (thanks to Dimitar Zhekov).
        !           655: v384  2/20/04   Improvements in UTF-8 handling.
        !           656: v385  2/23/04   Fix UTF-8 output bug.
        !           657: -----------------------------------------------------------------
        !           658: v386  9/13/05   Improvements to UTF-8 shift & color (thanks to Charles Levert);
        !           659:                 protect against invalid LESSOPEN and LESSCLOSE values.
        !           660: v387  9/14/05   Update Charles Levert's UTF-8 patch.
        !           661: v388  9/14/05   Change history behavior; change most sprintf calls to snprintf.
        !           662: v389  9/14/05   Fix copy & paste with long lines; improve performance of
        !           663:                 expand_linebuf; fix crash in init_mlist;
        !           664: v390  9/15/05   Show search matches in status column even if -G is set.
        !           665: -----------------------------------------------------------------
        !           666: v391  9/17/05   Fix bugs.
        !           667: v392  10/14/05  Fix line wrapping bug.
        !           668: v393  10/19/05  Allow multiple attributes per char; fix bold+underline bug
        !           669:                 (thanks again to Charles Levert).
        !           670: v394  11/8/05   Fix prompt bug; fix compile problem in Windows build.
        !           671: -----------------------------------------------------------------
        !           672: v395  1/12/07   Update Unicode tables (thanks to Charles Levert);
        !           673:                 don't chmod if LESSHISTFILE = /dev/null;
        !           674:                 make -f work for directories; support DESTDIR in Makefile;
        !           675:                 fix sigset_t detection in configure;
        !           676:                 make "t" cmd traverse tags in correct order
        !           677: v396  1/13/07   Add compatibility with POSIX more.
        !           678: v397  3/21/07   Allow decimal point in number for % command;
        !           679:                 Allow decimal point in number for -j option;
        !           680:                 Allow n command to fetch last search pattern from history
        !           681:                 (thanks to arno).
        !           682: v398  3/22/07   Don't rewrite history file if not necessary;
        !           683:                 fix bug when filenames contain "$".
        !           684: v399  3/22/07   Don't move to bottom of screen at startup;
        !           685:                 don't output extraneous newlines.
        !           686: v400  3/23/07   Allow search to find pattern after null byte (PCRE and no-regex)
        !           687:                 (thanks to Michael Constant).
        !           688: -----------------------------------------------------------------
        !           689: v401  3/24/07   Minor documentation fixes.
        !           690: v402  3/30/07   Fix autoconf bug when memcpy etc are inline;
        !           691:                 fix bug in terminating number following -j option.
        !           692: v403  5/25/07   Fix Windows build.
        !           693: v404  6/5/07    Fix display bug with F command and long lines.
        !           694: v405  6/17/07   Fix display bug when using -w option.
        !           695: v406  6/17/07   Fix secure build.
        !           696: v407  8/16/07   Fix bugs; support CSI chars.
        !           697: v408  10/1/07   Fix bug in -i with non-ASCII chars.
        !           698: v409  10/12/07  Fix crash when viewing text with invalid UTF-8 sequences.
        !           699: v411  11/6/07   Fix case-insensitive searching with non-ASCII text.
        !           700: v412  11/6/07   Use symbolic SEEK constants.
        !           701: v413  11/6/07   Fix search highlight bug with non-ASCII text.
        !           702: v414  11/6/07   Fix display bug with no-wrap terminals.
        !           703: v415  11/14/07  Add --follow-name option.
        !           704: v416  11/22/07  Fix crash when searching text with invalid UTF-8 sequences.
        !           705: v417  12/31/07  Don't support single-char CSI in UTF-8 mode;
        !           706:                 fix bug with -R and invalid CSI sequences;
        !           707:                 fix bug searching text with SGR sequences with -r;
        !           708:                 emulate SGR sequences in WIN32 build.
        !           709: v418  12/31/07  Clean up.
        !           710: -----------------------------------------------------------------
        !           711: v419  1/16/08   Make CSI char 0x9B work in UTF-8 mode (thanks to Colin Watson).
        !           712: v420  2/24/08   Add & command; fix -F option; fix '' after G.
        !           713: v421  2/24/08   Ignore filtered lines when searching.
        !           714: v422  3/2/08    Output CR at startup.
        !           715: v423  5/27/08   Clean up.
        !           716: v424  6/16/08   Fix compile bug with pcre; don't filter help file.
        !           717: v425  7/14/08   Fix non-ANSI code in list handling in ch.c.
        !           718: v426  10/27/08  Fix ignaw terminal handling (thanks to Per Hedeland);
        !           719:                 fix binary file detection in UTF-8 mode.
        !           720: v427  3/16/09   A few Win32 fixes (thanks to Jason Hood).
        !           721: v428  3/30/09   Add "|-" syntax to LESSOPEN.
        !           722: v429  4/10/09   Fix search highlighting bug with underlined text.
        !           723: -----------------------------------------------------------------
        !           724: v430  4/22/09   Don't pass "-" to non-pipe LESSOPEN unless it starts with "-".
        !           725: v431  4/29/09   Fix highlight bug when match is at end of line.
        !           726: v432  6/27/09   Better fix for highlight bugs;
        !           727:                 fix new problems with ignaw terminals.
        !           728: v433  6/28/09   Cleanup search code.
        !           729: v434  6/29/09   More cleanup.
        !           730: v435  7/04/09   Fix bugs with non-regex filtering.
        !           731: v436  7/05/09   Fix memory leak.
        !           732: -----------------------------------------------------------------
        !           733: v437  7/14/09   Fix bug in handling some long option names;
        !           734:                 make percentage calculation more accurate.
        !           735: v438  12/29/10  Fix bugs with -i/-I and & filtering;
        !           736:                 exit with status 2 on ctrl-C with -K.
        !           737: v439  12/31/10  Add -A option.
        !           738: v440  1/5/11    Fix bug displaying prompt after = command.
        !           739: v441  1/21/11   Fix semi-infinite loop if no newlines in file;
        !           740:                 make new -A behavior the default.
        !           741: -----------------------------------------------------------------
        !           742: v442  3/2/11    Fix search bug.
        !           743:                 Add ctrl-G line edit command.
        !           744: v443  4/9/11    Fix Windows build.
        !           745: v444  6/8/11    Fix ungetc bug; remove vestiges of obsolete -l option.
1.1       etheisen  746: */
                    747:
1.6     ! shadchin  748: char version[] = "444";