home *** CD-ROM | disk | FTP | other *** search
/ rtsi.com / 2014.01.www.rtsi.com.tar / www.rtsi.com / OS9 / OSK / CMDS / less_332.lzh / less_332 / version.c < prev   
Text File  |  1998-03-03  |  26KB  |  574 lines

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