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

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