home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 6 File / 06-File.zip / less373.zip / version.c < prev   
Text File  |  2002-01-14  |  29KB  |  633 lines

  1. /*
  2.  * Copyright (C) 1984-2000  Mark Nudelman
  3.  *
  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.
  6.  *
  7.  * For more information about less, or for information on how to 
  8.  * contact the author, see the README file.
  9.  */
  10.  
  11.  
  12. /*
  13. ----------------------- CHANGE HISTORY --------------------------
  14.  
  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-existant 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.
  571. -----------------------------------------------------------------
  572. v341    5/6/99  Add -F option; %c & ?c prompt escapes.
  573.         (Thanks to Michele Maltoni)
  574. v342   7/22/99  Add system-wide lesskey file; allow GPL or Less License.
  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.
  580. -----------------------------------------------------------------
  581. v346   11/4/99  Fix bugs in long option processing; R cmd should clear hilites.
  582.         Posted to Web page.
  583. -----------------------------------------------------------------
  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.  
  630. */
  631.  
  632. char version[] = "373";
  633.