
                     NEWS about less

======================================================================

  For the latest news about less, see https://greenwoodsoftware.com/less
  You can also download the latest version of less from there.

  Report bugs, suggestions or comments at 
  https://github.com/gwsw/less/issues.

======================================================================

	Major changes between "less" versions 705 and 709

* Add || command.

* In | and || commands, ^N allows entering line number instead of mark letter.

* Add "ESC-]" / "ESC-RIGHTARROW" (right-limit-scroll) command (github #783).

* In lesskey files, add \k^x syntax for control chars and \k+x syntax
  for shifted chars.

* Underline OSC 8 links in text.

* Add -DO for custom coloring of OSC 8 links.

* Add LESSMSG, which allows translation of messages into other languages.

* Add LESSSECURE_DISALLOW.

* Add LESS_SHELL_COPTION.

* Add %G, %y, and %% in prompt strings.

* Add lesskey support for shift-uparrow, shift-downarrow, shift-pageup,
  shift-pagedown, ctl-uparrow, ctl-downarrow, ctl-pageup, ctl-pagedown,
  shift-delete.

* Change "make check" to use nonstandard object and binary file names,
  to avoid accidentally installing test binaries (github #791).

* Fix issues on systems with volatile getenv return values.

* Improve error handling for malformed binary lesskey file.

* Improve messaging when using __mouse after --emouse (github #808).

* Remove support for obsolete pre-241 lesskey binary format.

* Remove obsolete lesskey program.

* Move lesskey man page to section 5.

* Update display when resize window while in F mode on Windows.

* Fix missing "END" message at end of &-filtered output (github #774).

* Fix missing bell with G command at end of &-filtered output (github #774).

* Don't reset signal handlers in a subprocess on Windows.

* Fix ' command to not modify the mark when given a numeric argument
  (github #799).

* Fix erroneous message from --rscroll command when rscroll char is non-ASCII.

* Fix unexpected exit when TERM is invalid (github #809).

* Fix possible crash when use ":e #" after ":d" (github #810).

* Fix infinite loop if invalid option letter in LESS_UNSUPPORT.

* Fix crash if run !! command with no previous ! command (github #812).

* Fix inability to run a shell command starting with "!" character.

* Fix bugs using ^S search modifier (github #814).

* Fix display bugs when a status message contains non-ASCII chars
  or is displayed on a very narrow screen (github #816).

======================================================================

	Major changes between "less" versions 704 and 705

* Fix bug defining command which has a built-in command as a prefix
  (github #795).

======================================================================

	Major changes between "less" versions 702 and 704

* Fix possibly passing unsafe options to man when opening an
  OSC 8 link (github #779).

* Fix possibly sending unsafe OSC sequence to terminal when file
  contains an unterminated OSC sequence (github #781).

* In Examine and Shell commands, expand % and # to shell-escaped
  filenames (github #784).

======================================================================

	Major changes between "less" versions 692 and 702

* Add --hilite-target option and -DJ to color target line (github #745).

* Add --past-eof option.

* Add --end-prompt option.

* Add --emouse and --rmouse options, and horizontal mouse scrolling
  and dragging (github #744).

* Add -DT option to format tilde lines (github #725).

* Change OSC 8 link handling: replace LESS_OSC8_xxx with LESS_OSC8_OPEN_xxx.
  Remove %O from prompt expansion as no longer needed.
  Any use of environment variables LESS_OSC8_xxx need to be manually
  changed to use LESS_OSC8_OPEN_xxx.

* Add ?o to prompt strings, to detect whether an OSC 8 link is selected.

* When scrolling past end-of-file or before beginning-of-file,
  stop when exactly one line is left on screen.

* Make -w/-W highlight lines when moving backward as well as forward
  (github #729).

* Display pattern in "Pattern not found" message (github #731).

* Allow m and M commands to take a numeric argument to specify the
  line to be marked (github #736).

* Allow ' command to take a numeric argument to specify the screen
  position on which to place the marked line.

* Allow lesskey to map keypad ENTER with \kpe (github #761).

* Add "noaction" as a possible action in #line-edit section
  in a lesskey file (github #761).

* Support POSIX character classes with the built-in V8 regex library
  (github #732).

* Change | command to pipe just one line if the marked line is at the
  top of the screen (github #733).

* If OSC8 handler command begins with "-", suppress command echo,
  and if it begins with ctrl-P, suppress "done" message (github #747).

* Don't ask for confirmation when input is a binary file and stdout is
  redirected. Fixes infinite loop in that situation (github #719).

* Make early error messages go to stderr if stdout is redirected
  (github #719).

* Don't retry read after read error; fixes hang when attempting to read
  a directory or other unreadable file (github #741).

* Fix incorrect restoration of saved mark if not at top of screen.

* With --save-marks, don't save a mark that was cleared with ESC-m.

* Fix buffer overflow when using malformed lesskey file (github #721).

* Fix unexpected scrolling past end of file (github #720).

* Fix bug when env var in LESSKEY_CONTENT partially matches env var
  defined in lesskey file (github #727).

* Fix bug when env var in lesskey file matches tail of env var used
  by less (github #728).

* Fix command parsing bug when one command is a substring of another.
  Also fixes --no-paste option (github #724).

* Fix incorrect display using --color to set character attributes
  without color, such as -DS-u (github #730).

* Fix crash when tags file contains invalid line number 0 (github #743).

* Fix build when tparm() doesn't use varargs (github #748).

* Fix prompt overflow when filtering with long prompt (github #749).

* Fix incorrect highlighting when change -i while filtering (github #750).

* Fix erroneous error mesage using --show-preproc-error with
  some shells (github #753).

* Fix erroneous highlighting when using a search pattern containing more
  than 5 pairs of parentheses with PCRE2 (github #754).

* When ^X interrupts F mode, discard pending keys as is done when
  ^C interrupts it (github #757).

* Fix bug in Windows where pressing any key during "waiting for data" would
  prevent a subsequent ^X from working.

* Fix erroneous display in some situations when using LESS_LINES (github #759).

* Fix erroneous display after certain messages are displayed in a
  very narrow terminal (github #760).

* Don't init terminal if stdout is not a tty (github #768).

* Fix bug clicking OSC 8 link that crosses a screen line boundary
  (github #775).

* Fix beeps when resizing window on Windows (github #771).

* Fix beeps when paging continuously on Windows (github #772).

======================================================================

	Major changes between "less" versions 691 and 692

* Revert HOME key to scroll to beginning of file and END key
  to scroll to end of file (github #658).

* Configure tty to leave CR and NL unmodified (github #703).

* Add commands to lesskey parser (forw-bell-hilite, goto-pos and osc8-jump).

* Add key sequences to lesskey parser (\kE, \kF, \kH, \kI, \kM, and \kS).

* Fix bug using negative value with -z option (github #709).

* Fix bug handling empty terminfo capabilties (github #710).

* Fix memory leak in setupterm (github #707).

* Make lesstest ignore system locale (nl_langinfo) (github #708).

======================================================================

	Major changes between "less" versions 685 and 691

* Add --autosave option (github #678).

* Add ESC-f command (github #680).

* Add column number to long prompt and = message.

* Add prompt prototype sequences %C, %W, %Q and ?Q (github #685).

* Map keypad keys, and use terminfo rather than termcap since keypad
  definitions don't exist in termcap (github #650).

* Change HOME key to scroll fully left and END key to scroll fully right.
  Add shift-HOME and ctrl-HOME to scroll left and jump to top, and
  add shift-END and ctrl-END to scroll right and jump to end (github #658).

* Add LESSNOCONFIG environment variable.

* Add --without-termlib to configure (github #701).

* When setting line number colors (-DN), don't force bold attribute.
  To set bold, you must append "d" or "*" to the color string (github #684).

* While waiting for file data, only ^C or ^X will interrupt, not any command.
  This reverts to behavior that existed before less-670 (github #700).

* When --save-marks is not used, retain any marks saved in the history file
  (github #662).

* Defer sending the terminal init string until the first char is read
  from the input file (github #682).

* Make SIGHUP do an orderly exit like SIGTERM.

* Implement modeline handling in Windows build.

* Fix bugs and improve behavior of screen resize on Windows.

* Fix bug when entering search modifier key at start of non-empty 
  search string (github #668).

* Fix bug repainting screen with --form-feed (github #672).

* Fix bugs passing invalid negative values to some command line
  options (github #675).

* Fix incorrect display of Lit indicator (github #670).

* Fix incorrect display when returning to a mark after resizeing window
  (github #681).

* Fix bug using --pattern with --incsearch (github #696).

* Disallow mouse click to open OSC8 link in SECURE mode (github #676).

* Add SECURE_COMPILE environment variable for Windows builds.

* Update Unicode tables.

======================================================================

	Major changes between "less" versions 679 and 685

* Add --cmd option (github #624).

* Add LESS_TERMCAP_SUSPEND and LESS_TERMCAP_RESUME (github #654).

* Change --incsearch so that after typing each character of the pattern,
  the search begins at the position where the search command was invoked,
  not the current position (github #640).

* Allow mixing of option arguments and filename arguments on the
  command line unless POSIXLY_CORRECT is set (github #653).

* Don't output U+00AD and U+200D, and fix some bugs handling emoji
  modifier characters (github #637).

* Fix hang if a search using ^S modifier matches empty string (github #634).

* Fix bug using -g and -J (github #636).

* Fix bug when pasting a search pattern while --incsearch is active
  (github #635).

* Fix bug in Windows build when autorepeating a search pattern (github #639).

* Fix lesskey bug using #stop directive.

* Fix lesskey bug using "invalid" action (github #643).

* Fix bug causing file to appear to end prematurely if an input command
  was received during a file read (github #649).

* Fix performance issue in & filtering (github #638). Problem was introduced
  in da2a9ecdf16beb642d0c030e35f0351c5f2e5a12 and released in less-673.

* Fix some problems reported by valgrind (github #659, github #660, github #661).

======================================================================

	Major changes between "less" versions 678 and 679

* Fix bad parsing of lesskey file an env var is a prefix of another
  env var (github #626).

* Fix unexpected exit using -K if a key press is received while reading
  the input file (github #628).

======================================================================

	Major changes between "less" versions 668 and 678

* Treat -r in LESS environment variable as -R.

* Add ESC-j and ESC-k commands (github #560).

* Add --no-paste option (github #523).

* Add --no-edit-warn option (github #513).

* Add --form-feed option (github #496).

* Add ESC-b command (github #615).

* Make TAB complete option name in -- command (github #531).

* Update the file size on an attempt to go past end of file.

* Make -R able to pass through any OSC escape sequences,
  not just OSC 8 (github #504).

* Setting LESS_IS_MORE=0 now disables "more" compatibility even
  if invoked via a file link named "more" (github #500).

* Pass through escape sequences in prompts even if -R is not set.

* Add LESS_SHELL_LINES to support shell prompts which use more than
  one line (github #514).

* Add LESSANSIOSCALLOW to define OSC types which may be passed through.

* Add LESSANSIOSCCHARS to define non-standard OSC intro chars.

* Add LESS_SIGUSR1 to define user signal handler (github #582).

* Add mouse and mouse6 commands to lesskey (github #569).

* Improve behavior of ^O^N and ^O^P commands.

* Leave stty tabs setting unchanged (github #620).

* Fix unexpected behavior when entering a partial command followed by 
  a valid command (github #543).

* Fix bug when coloring prompt string with SGR sequences (github #516).

* Fix bug when searching for text near an invalid UTF-8 sequence (github #542).

* Fix display bug when file contains ESC followed by NUL (github #550).

* Fix bug when using +:n +:p +:x or +:d on the command line (github #552).

* Fix bug with --no-number-headers when header is not at start of file
  (github #566).

* Fix bug where lesstest fails if window is resized (github #570).

* Fix bug using "configure --with-secure=no" (github #584).

* Fix bug using multibyte command chars (github #595).

* Fix auto_wrap setting on Windows (github #497).

* Fix two bugs using ^S search modifier (github #605).

* Fix bug searching for UTF-8 strings with the PCRE2 library (github #610).

* Fix bug highlighting OSC 8 links when opening a new file.

* Fix bug when & filtering is active (github #618).

======================================================================

	Major changes between "less" versions 661 and 668

* Make 256/true colors work better on Windows without -Da
  (github #539, github #546, github #562).

* Fix build using --with-secure (github #544).

* Fix crash when using --header on command line (github #545).

* Fix possible crash when scrolling left/right or toggling -S (github #547).

* Fix bug when using #stop in a lesskey file (github #551).

* Fix bug when using --shift or --match-shift on command line with
  a parameter starting with '.' (github #554).

* Fix bug in R command when file size changes (github #553).

* Fix bug using --header when file does not fill screen (github #556).

* Fix ^X bug when output is not a terminal (github #558).

* Fix bug where ^Z is not handled immediately (github #563).

* Fix bug where first byte from a LESSOPEN filter is deleted if it is
  greater than 0x7F (github #568).

* Fix uninitialized variable in edit_ifile (github #573).

* Fix incorrect handling of UTF-8 chars in prompts (github #576).

======================================================================

	Major changes between "less" versions 643 and 661

* Add ^O^N, ^O^P, ^O^L and ^O^O commands and mouse clicks (with --mouse)
  to find and open OSC8 hyperlinks (github #251).

* Add --match-shift option.

* Add --lesskey-content option (github #447).

* Add LESSKEY_CONTENT environment variable (github #447).

* Add --no-search-header-lines and --no-search-header-columns options
  (github #397).

* Add ctrl-L search modifier (github #367).

* A ctrl-P at the start of a shell command suppresses the "done" 
  message (github #462).

* Add attribute characters ('*', '~', '_', '&') to --color
  parameter (github #471).

* Allow expansion of environment variables in lesskey files.

* Add LESSSECURE_ALLOW environment variable (github #449).

* Add LESS_UNSUPPORT environment variable.

* Add line number parameter to --header option (github #436).

* Mouse right-click jumps to position marked by left-click (github #390).

* Ensure that the target line is not obscured by a header line 
  set by --header (github #444).

* Change default character set to "utf-8", except remains "dos" on MS-DOS.

* Add message when search with ^W wraps (github #459).

* UCRT builds on Windows 10 and later now support Unicode file names
  (github #438).

* Improve behavior of interrupt while reading non-terminated pipe
  (github #414).

* Improve parsing of -j, -x and -# options (github #393).

* Support files larger than 4GB on Windows (github #417).

* Support entry of Unicode chars larger than U+FFFF on Windows (github #391).

* Improve colors of bold, underline and standout text on Windows.

* Allow --rscroll to accept non-ASCII characters (github #483).

* Allow the parameter to certain options to be terminated with a
  space (--color, --quotes, --rscroll, --search-options 
  and --intr) (github #495).

* Fix bug where # substitution failed after viewing help (github #420).

* Fix crash if files are deleted while less is viewing them (github #404).

* Workaround unreliable ReadConsoleInputW behavior on Windows
  with non-ASCII input.

* Fix -J display when searching for non-ASCII characters (github #422).

* Don't filter header lines via the & command (github #423).

* Fix bug when horizontally shifting long lines (github #425).

* Add -x and -D options to lesstest, to make it easier to diagnose
  a failed lesstest run.

* Fix bug searching long lines with --incsearch and -S (github #428).

* Fix bug that made ESC-} fail if top line on screen was empty (github #429).

* Fix bug with --mouse on Windows when used with pipes (github #440).

* Fix bug in --+OPTION command line syntax.

* Fix display bug when using -w with an empty line with a CR/LF
  line ending (github #474).

* When substituting '#' or '%' with a filename, quote the filename
  if it contains a space (github #480).

* Fix wrong sleep time when system has usleep but not nanosleep (github #489).

* Fix bug when file name contains a newline.

* Fix bug when file name contains nonprintable characters (github #503).

* Fix DJGPP build (github #497).

* Update Unicode tables.

======================================================================

	Major changes between "less" versions 633 and 643

* Fix problem when a program piping into less reads from the tty,
  like sudo asking for password (github #368).

* Fix search modifier ^E after ^W.

* Fix bug using negated (^N) search (github #374).

* Fix bug setting colors with -D on Windows build (github #386).

* Fix reading special chars like PageDown on Windows (github #378).

* Fix mouse wheel scrolling on Windows (github #379).

* Fix erroneous EOF when terminal window size changes (github #372).

* Fix compile error with some definitions of ECHONL (github #395).

* Fix crash on Windows when writing logfile (github #405).

* Fix regression in exit code when stdin is /dev/null and 
  output is a file (github #373).

* Add lesstest test suite to production release (github #344).

* Change lesstest output to conform with 
  automake Simple Test Format (github #399).

======================================================================

	Major changes between "less" versions 632 and 633

* Fix build on systems which have ncurses/termcap.h or 
  ncursesw/termcap.h but not termcap.h.

======================================================================

	Major changes between "less" versions 608 and 632

* Add LESSUTFCHARDEF environment variable (github #275).

* Add # command (github #330).

* Add ^S search modifier (github #196).

* Add --wordwrap option (github #113).

* Add --no-vbell option (github #304).

* Add --no-search-headers option (github #44).

* Add --modelines option (github #89).

* Add --intr option (github #224).

* Add --proc-backspace, --proc-tab and --proc-return options (github #335).

* Add --show-preproc-errors option (github #258).

* Add LESS_LINES and LESS_COLUMNS environment variables (github #84).

* Add LESS_DATA_DELAY environment variable (github #337).

* Allow empty "lines" field in --header option.

* Update Unicode tables.

* Improve ability of ^X to interrupt F command (github #49).

* Status column (-J) shows off-screen matches.

* Parenthesized sub-patterns in searches are colored with unique colors,
  if supported by the regular expression library (github #196).

* Don't allow opening a tty as file input unless -f is set (github #309).

* Don't require newline input after +&... option (github #339).

* Fix incorrect handling of some Private Use Unicode characters.

* Fix ANSI color bug when overstriking with colored chars (github #276).

* Fix compiler const warning (github #279).

* Fix signal race in iread (github #280).

* Fix reading procfs files on Linux (github #282).

* Fix --ignore-case with ctrl-R (no regex) search (github #300).

* Fix bug doing repeat search after setting & filter (github #299).

* Fix bug doing repeat search before non-repeat search.

* Fix crash with -R and certain line lengths (github #338).

* Fix input of Windows dead keys (github #352).

* Don't retain search options from a cancelled search (github #302).

* Don't call realpath on fake filenames like "-" (github #289).

* Implement lesstest test suite.

* Convert function parameter definitions from K&R to C89 (github #316).

======================================================================

	Major changes between "less" versions 590 and 608

* Add the --header option (github #43).

* Add the --no-number-headers option (github #178).

* Add the --status-line option.

* Add the --redraw-on-quit option (github #36).

* Add the --search-options option (github #213).

* Add the --exit-follow-on-close option (github #244).

* Add 'H' color type to set color of header lines.

* Add #version conditional to lesskey.

* Add += syntax to variable section in lesskey files.

* Allow option name in -- command to end with '=' in addition to '\n'.

* Add $HOME/.config to possible locations of lesskey file (github #153).

* Add $XDG_STATE_HOME and $HOME/.local/state to possible locations
  of history file (github #223).

* Don't read or write history file in secure mode (github #201).

* Fix display of multibyte and double-width chars in prompt.

* Fix ESC-BACKSPACE command when BACKSPACE key does not send 0x08
  (github #188).

* Add more \k codes to lesskey format.

* Fix bug when empty file is modified while viewing it.

* Fix bug when parsing a malformed lesskey file (githb #234).

* Fix bug scrolling history when --incsearch is set (github #214).

* Fix buffer overflow when invoking lessecho with more than 63 -m/-n 
  options (github #198).

* Fix buffer overflow in bin_file (github #271).

* Fix bug restoring color at end of highlighted text.

* Fix bug in parsing lesskey file.

* Defer moving cursor to lower left in some more cases.

* Suppress TAB filename expansion in some cases where it doesn't make sense.

* Fix termlib detection when compiler doesn't accept 
  calls to undeclared functions.

* Fix bug in input of non-ASCII characters on Windows (github #247)

* Escape filenames when invoking LESSCLOSE.

* Fix bug using multibyte UTF-8 char in search string 
  with --incsearch (github #273).

======================================================================

	Major changes between "less" versions 581 and 590

* Make less able to read lesskey source files (deprecating lesskey).

* If XDG_CONFIG_HOME is set, find lesskey source file 
  in $XDG_CONFIG_HOME/lesskey rather than $HOME/.lesskey.

* If XDG_DATA_HOME is set, find and store history file 
  in $XDG_DATA_HOME/lesshst rather than $HOME/.lesshst.

* Add the --lesskey-src option.

* Add the --file-size option.

* With -F, if screen is resized to make file fit on one screen, don't exit.

* Fix bug which could leave terminal in mouse-reporting mode 
  after exiting less.

* Fix bug which caused failure to respond to window resize.

* Fix backslash bug searching in tag file.

======================================================================

	Major changes between "less" versions 563 and 581

* Change ESC-u command to toggle, not disable, highlighting per man page.

* Add ESC-U command. 

* Add ctrl-W search modifier for wrapping search.

* F command can be interrupted by ^X.

* Support OSC 8 hyperlinks when -R is in effect.

* g command with no number will ignore -j and put first line at top of screen.

* Multiple + or -p command line options are handled better.

* Add the --incsearch option.

* Add the --line-num-width option.

* Add the --status-col-width option.

* Add the --use-color and --color options.

* Display -w highlight even if highlighted line is empty.

* If search result is in a long line, scroll to ensure it is visible.

* Editing the same file under different names now creates only
  one entry in the file list.

* Make visual bell more visible on some terminals.

* Ring end-of-file bell no more than once per second.

* Build can use either Python or Perl for Makefile.aut operations.

* Fix crash when using the @ search modifier.

* Fix crash in the 's' command due to duplicate free.

* Fix realpath crash on Darwin.

======================================================================

	Major changes between "less" versions 551 and 563

* Update Unicode tables.

* Treat Hangul Jamo medial vowels and final consonants as zero width.

* Display error message immediately when -o is toggled and 
  input is not a pipe.

* Fix regression: make screen repaint when "squished" and 
  a no-movement command is given.

* Fix erroneous EOF calculation when F command is interrupted.

* Make WIN32C version include this fix from 551:
  Don't count lines in initial screen if using -X with -F.

* Fix display bug in WIN32C version.

* Fix memory corruption when built with libtermcap.

* Support libtinfow.

======================================================================

	Major changes between "less" versions 530 and 551

* Add --mouse option.

* Add --wheel-lines option.

* Add --no-histdups option.

* Add --save-marks option.

* Support PCRE2 regular expression library.

* Redraw screen on SIGWINCH even if screen size doesn't change.

* Shell-escape filenames in history so they can be used again.

* Ring bell if user enters invalid long option name.

* Use PCRE_UTF8 flag for pcre regular expressions when in UTF-8 mode.

* Windows: use wide-char string to set console title.

* Don't count lines in initial screen if using -X with -F.

* Support mingw build system.

* Fix bug in v command on empty file.

* Fix bug in v command when filename contains shell metacharacters.

======================================================================

	Major changes between "less" versions 487 and 530

* Don't output terminal init sequence if using -F and file fits on one screen.

* When using -S, mark truncated lines with a special character.
  The character can be changed or disabled via the new --rscroll option.

* New command M marks the last line displayed on the screen.

* New command ESC-m removes a line mark.

* Status column (enabled via -J) now shows mark letters.

* Status column shows search matches even if highlighting is disabled via -G.

* A second ESC-u command will clear search match markers in the status column.

* Do same ANSI escape code filtering for tag matching that we do for 
  searching, to help when viewing syntax-highlighted code.
  
* Catch SIGTERM and clean up before exiting.

* Fix bug initializing default charset on Windows.

* Handle keypad ENTER key correctly if it sends something other than newline.

* Fix buffering bug when using stdin with a LESSOPEN pipe.

* On Windows, allow 'u' in -D option to enable underlining.

* On Windows, use underline in sgr mode.

* On Windows, convert UTF-8 to multibyte if console is not UTF-8.

* Update Unicode tables to 2017-03-08.

* Pass-thru Unicode formatting chars (Cf type) instead of treating them
  as binary chars. But treat them as binary if -U is set.

* Fix erroneous binary file warning when UTF-8 file contains ANSI SGR sequences.

* Fix bugs when using LESSOPEN and switching between stdin and other files.

* Fix some bugs handling filenames containing shell metacharacters.

* Fix some memory leaks.

* Allow some debugging environment variables to be set in lesskey file.

* Code improvements:
  . Use ANSI prototypes in funcs.h declarations.
  . Fix some const mismatches.
  . Remove archaic "register" in variable declarations.

======================================================================

	Major changes between "less" versions 481 and 487

* New commands ESC-{ and ESC-} to shift to start/end of displayed lines.

* Make search highlights work correctly when changing caselessness with -i.

* New option -Da in Windows version to enable SGR mode.

* Fix "nothing to search" error when top or bottom line on screen is empty.

* Fix bug when terminal has no "cm" termcap entry.

* Fix incorrect display when entering double-width chars in search string.

* Fix bug in Unicode handling that missed some double width characters.

* Update Unicode database to 9.0.0.

======================================================================

	Major changes between "less" versions 458 and 481

* Don't overwrite history file; just append to it.

* New command ESC-G goes to end of currently buffered data in a pipe.

* Disable history feature when compiled with LESSHISTFILE set to "-".

* In more-compatible mode, make the -p option apply to every file opened,
  not just the first one.

* In more-compatible mode, change the -e option to work like -E, not -EF.

* Treat multiple CRs before LF are like one CR (all the CRs are hidden).

* Allow "extra" string in lesskey file to append to a multi-char command
  (like a search pattern), without executing the command.

* Ignore -u/-U setting while viewing help file, so that 
  underline and bold chars are displayed correctly.

* Improve detection of "binary" files in UTF-8 mode.

* Fix bug with ++ commands.

* Fix bug where prompt was sometimes not displayed with +G.

* Fix possible memory corruption 

* Fix bugs and improve performance in ampersand filtering.

* Automate construction of Unicode tables from Unicode database.

* Allow %% escape sequence in LESSOPEN variable.

======================================================================

	Major changes between "less" versions 451 and 458

* Allow backslash escaping of metacharacters in LESS environment variable
  after the --use-backslash option.

* Don't quit if syntax errors are found in command line options.

* Increase sizes of some internal buffers.

* Fix configure bug with --with-regex=none.

* Fix crash with "stty rows 0".

* Fix Win32 attribute display bug.

* Fix display bug when using up/down arrow on the command line.

======================================================================

	Major changes between "less" versions 444 and 451

* Add ESC-F command to keep reading data until a pattern is found.

* Use exit code of LESSOPEN script if LESSOPEN starts with "||".

* When up/down arrow is used on the command line immediately after
  typing text, the next command starting with that text is found.

* Add support for GNU regex.

* Add configure option --with-regex=none and fix compile errors
  when compiling with no regex library.

* Fix bugs handling SGR sequences in Win32.

* Fix possible crashes caused by malformed LESSOPEN or 
  LESSCLOSE variables.

* Fix bug highlighting text which is discontiguous in the file 
  due to backspace processing.

* Fix bug in displaying status column when scrolling backwards 
  with -J and -S in effect.

======================================================================

	Major changes between "less" versions 443 and 444

* Fix bug in unget handling that can cause strange effects on the
  command line.

* Remove vestiges of obsolete -l option that can cause a crash.

======================================================================

	Major changes between "less" versions 436 and 443

* Change search behavior such that when a search is given an explicit 
  pattern, the entire displayed screen is included in the search and 
  not just the portion after the target line.

* Add -A option to change search behavior to the old way: only
  the portion of the screen after the target line is searched.

* Add %F formatting to prompt strings, replaced by the last component
  of the input file.

* Control-G while editing a command exits the command.

* Less now exits with status 2 if control-C is pressed and -K is in effect.

* Fix "ungetc overflow" when passing long commands via the -p option.

* Fix bug in using line filtering via the & command 
  in combination with -i and -I.

* Fix bug in handling negative arguments to the -j option.

* Fix bug in handling %t in prompt strings.

* Improve handling of long option names.

* Improve percentage calculation for very large files.

======================================================================

	Major changes between "less" versions 429 and 436

* Don't pass "-" to non-pipe LESSOPEN unless it starts with "-".

* Allow a fraction as the argument to the -# (--shift) option.

* Fix highlight bug when underlined/overstruck text matches at end of line.

* Fix non-regex searches with ctrl-R.

======================================================================

	Major changes between "less" versions 424 and 429

* LESSOPEN pipe will now be used on standard input, if the LESSOPEN
  environment variable begins with "|-".

* The -D option with one number now means use the normal background color.

* Don't change permissions on history file if it is not a regular file.

* Fix non-ANSI-compliant code that caused problems with some compilers.

* Fix binary file detection in UTF-8 mode.

* Fix display problems with long lines on "ignaw" terminals.

* Fix problem interrupting the line number calculation for initial prompt.

* Fix SGR emulation when dealing with multiple attributes (e.g. bold+underline).

* Fix highlight bug when searching for underlined/overstruck text.

======================================================================

	Major changes between "less" versions 418 and 424

* New "&" command allows filtering of lines based on a pattern.

* Status column now displays a search match, even if the matched
  string is scrolled off screen because -S is in effect.

* Improve behavior of -F option.

* Allow CSI character (0x9B) to work in UTF-8 mode.

* Output carriage return at startup in case terminal doesn't default
  to column 1.

* Fix bug in '' (quote, quote) command after G command.

======================================================================

	Major changes between "less" versions 416 and 418

* Color escape sequences are now supported in WIN32 build.

* Makefile now uses EXEEXT feature of autoconf.

* Fix search bug when using -R and text contains ANSI color escape sequences.

* Fix crash when using -r with UTF-8 text containing 0x9B bytes.

* Fix display bug when using ' command to move less than one page forward.

* Update GPL to version 3.

======================================================================

	Major changes between "less" versions 409 and 416

* New --follow-name option makes F command follow the name of a file
  rather than the file descriptor if an open file is renamed.

* Make searching with -i/-I work correctly with non-ASCII text.

* Fix DJGPP build.

======================================================================

	Major changes between "less" versions 406 and 409

* Support CSI escape sequences, like SGR escape sequences.

* Fix bug which caused screen to fail to repaint when window is resized.

* Fix bug in using -i and -I flags with non-ASCII text.

* Fix configure bug on systems which don't support langinfo.h.

* Fix crash when searching text containing certain invalid UTF-8 sequences.

======================================================================

	Major changes between "less" versions 394 and 406

* Allow decimal point in number for % (percent) command.

* Allow decimal point in number for -j option (fraction of screen height).

* Make n command fetch previous pattern from history file on first search.

* Don't rewrite history file if it has not changed.

* Don't move to bottom of screen on first page.

* Don't output extraneous newlines, so copy & pasting lines from the
  output works better.

* The -c option has been made identical with the -C option.

* Allow "/dev/null" as synonym for "-" in LESSHISTFILE to indicate
  that no history file should be used.

* Search can now find text which follows a null byte, if the PCRE
  library is used, or if no-regex searching (ctrl-R) is used.

* Better compatibility with POSIX more specification.

* Make -f work for directories.

* Make "t" cmd traverse tags in the correct order.

* Allow a few binary characters in the input file before warning
  that the file is binary.

* Don't warn that file is binary if it merely contains ANSI color sequences
  and -R is in effect.

* Update Unicode character tables.

* Support DESTDIR in Makefile.

* Fix bug when filename contains certain shell metacharacters such as "$".

* Fix bug when resizing the window while waiting for input from a pipe.

* Fix configure bugs.

======================================================================

	Major changes between "less" versions 382 and 394

* Add history file to save search and shell command history between
  invocations of less.

* Improve behavior of history list for search and shell commands.

* Add -K (or --quit-on-intr) option to make less exit immediately on ctrl-C.

* Improve handling of UTF-8 files and commands, including better
  line wrapping and handling double-width chars.

* Added LESSUTFBINFMT environment variable to control display of
  non-printable characters in a UTF-8 file.

* Add --with-secure option to configure, to make it easier to
  build a secure version of less.

* Show search matches in the status column even if search highlights
  are disabled via the -G option or the ESC-u command.

* Improve performance when the file contains very long lines.

* Add "windows" charset.

* Add man page for lessecho.

* Add support for erase2 character, treated same as erase.

* Use ASCII lowercase/uppercase logic when operating on the command line.

* Update makefile for Borland C++ 5.5.1.

* Fix bug in calculating number of pages for %D prompt.

* Fix bug in handling tag file error.

* Fix obscure bug if input file is deleted while viewing help.

* Fix bug handling filenames which include square brackets.

* Fix possible buffer overflow in "global" tag search.

* Fix possible buffer overflow in usage of LESSOPEN and LESSCLOSE.

* Fix buffer overflow in reverse search.

======================================================================

	Major changes between "less" versions 381 and 382

* Removed some old copyrighted code.
  This probably breaks OS/9 support.

======================================================================

	Major changes between "less" versions 378 and 381

* New -L option to disable LESSOPEN processing.

* Further support for large (64 bit) file addressing.
  Large file support is now set up by the configure script.

* Use autoconf 2.54.
  Replace configure.in, acconfig.h, defines.h.top with configure.ac.

* Overstriking underscore with underscore is now bold or underlined 
  depending on context.

* Use only 7 spaces for line numbers in -N mode, if possible.

* Fix some bugs in handling overstriking in UTF-8 files.

* Fix some nroff issues in the man page.

======================================================================

	Major changes between "less" versions 376 and 378

* Bug fixes:
  Default buffer space is now 64K as documented.
  Search highlighting works properly when used with -R.
  Windows version works properly when input file contains carriage returns.
  Clean up some compiler warnings.

======================================================================

	Major changes between "less" versions 358 and 376

* -x option can now specify multiple variable-width tab stops.

* -X option no longer disables keypad initialization.
  New option --no-keypad disables keypad initialization.

* New commands t and T step through multiple tag matches.
  Added support for "global(1)" tags
  (see http://www.gnu.org/software/global/global.html).

* New prompt style set by option -Pw defines the message printed 
  while waiting for data in the F command.

* System-wide lesskey file now defaults to sysless in etc directory 
  instead of .sysless in bin directory.
  Use "configure --sysconfdir=..." to change it.
  (For backwards compatibility, .sysless in bin is still recognized.)

* Pressing RightArrow or LeftArrow while entering a number now shifts
  the display N columns rather than editing the number itself.

* Status column (enabled with -J) now shows search results.

* Windows version sets window title.

* Default LESSCHARSET for MS-DOS versions is now "dos".

* Searching works better with ANSI (SGR) escape sequences.
  ANSI color escape sequences are now supported in the MS-DOS (DJGPP) version.

* Improved performance in reading very large pipes.

* Eliminated some dependencies on file offsets being 32 bits.

* Fixed problems when viewing files with very long lines.

* Fixed overstriking in UTF-8 mode, and overstriking tabs.

* Improved horizontal shifting of text using -R option with ANSI color.

* Improved handling of filenames containing shell metacharacters.

* Some fixes for EBCDIC systems.

* Some fixes for OS/2 systems.

======================================================================

	Major changes between "less" versions 354 and 358

* Add -J (--status-column) option to display a status column.

* Add -# (--shift) option to set default horizontal shift distance.
  Default horizontal shift distance is now one-half screen width.

* Horizontal shifting does not shift line numbers if -N is in effect.

* Horizontal shifting acts as though -S were set, to avoid confusion.

======================================================================


	Major changes between "less" versions 352 and 354

* Allow space after numeric-valued command line options.

* Fix problem with configuring terminal libraries on some systems.

* Add support for PCRE regular expression library.

* Add --with-regex option to configure to allow manually selecting
  a regular expression library.

* Fix bug compiling with SECURE = 1.

======================================================================


	Major changes between "less" versions 346 and 352

* Enable UTF-8 if "UTF-8" appears in locale-related environment variables.

* Add --with-editor option to configure script.

* The -M prompt and = message now show the top and bottom line number.

* Fix bug in running the editor on a file whose name contains quotes, etc.

* Fix bug in horizontal scrolling of long lines.

* Fix bug in doing :d on a file which contains marks.

* Fix bug causing cleared lines to sometimes be filled with standout, 
  bold, underline, etc. on certain terminals.

* Fixes for MS-DOS (DJGPP) version.

======================================================================


	Major changes between "less" versions 340 and 346

* The UTF-8 character set is now supported.

* The default character set is now latin1 rather than ascii.

* New option -R (--RAW-CONTROL-CHARS) is like -r but handles 
  long (wrapped) lines correctly, as long as the input contains only 
  normal text and ANSI color escape sequences.

* New option -F (--quit-if-one-screen) quits if the text fits on
  the first screen.

* The -w option now highlights the target line of a g or p command.

* A system-wide lesskey file is supported (LESSKEY_SYSTEM).

* New escape for prompt strings: %c is replaced by column number.

* New escape for prompt strings: %P is replaced by percentage into
  file, based on line number rather than byte offset.

* HOME and END keys now jump to beginning of file or end of file.

======================================================================


	Major changes between "less" versions 337 and 340

* Command line options for less may now be given in either the old 
  single-letter form, or a new long name form (--option-name).
  See the less man page or "less --help" for the list of long option names.

* Command line options for lesskey may now be given in a new long name
  form.  See the lesskey man page for the list of long option names.

* New command -- toggles an option using the long option name.

* New command __ queries an option using the long option name.

* The old -- command is renamed as -!.

* If a ^P is entered between the dash and the option letter of the -
  command, the message describing the new setting is suppressed.

* Lesskey files may now contain \k escape sequences to represent the
  "special" keys (arrows, PAGE-UP/PAGE-DOWN, HOME, END, INSERT, DELETE).

* New command :d removes the current file from the list of files.

* New option -~ (like -w before version 335)
  suppresses tildes after end-of-file.

* Less is now released under the GNU General Public License.

======================================================================


	Major changes between "less" versions 335 and 337

* Fixed bugs in "make install".

======================================================================


	Major changes between "less" versions 332 and 335

* The old -w flag (suppress tildes after end-of-file) has been removed.

* New -w flag highlights the first new line after a forward-screen.

* New -W flag highlights the first new line after any forward movement.

* Window resize works even if LINES and/or COLUMNS environment 
  variables are incorrect.

* New percent escapes for prompt strings:
  %d is replaced by the page number, and
  %D is replaced by the number of pages in the file.

* Added charsets "iso8859" and "ebcdic".

* In Windows version, uses HOMEDRIVE and HOMEPATH if HOME is not defined.

* Fixed some bugs causing incorrect display on DOS/Windows.

======================================================================


	Major changes between "less" versions 330 and 332

* Filenames from the command line are entered into the command history,
  so UPARROW/DOWNARROW can be used to retrieve them from the :e command.

* Now works correctly on Windows when using a scrolling terminal
  window (buffer larger than display window).

* On Windows, now restores the console screen on exit.  
  Use -X to get the old behavior.

* Fixed bug on Windows when CAPS-LOCK or NUM-LOCK is pressed.

* Fixed bug on Windows when piping output of an interactive program.

* Fixed bug in tags file processing when tags file has DOS-style
  line terminators (CR/LF).

* Fixed compilation problem on OS/2.

======================================================================


	Major changes between "less" versions 321 and 330

* Now supports filenames containing spaces (in double quotes).
  New option -" can be used to change the quoting characters.

* In filename completion, a slash is appended to a directory name.
  If the environment variable LESSSEPARATOR is set, the value of
  that variable, rather than a slash, is appended.

* LeftArrow and RightArrow are same as ESC-[ and ESC-].

* Added commands ESC-( and ESC-), same as ESC-[ and ESC-].

* A "quit" command defined in a lesskey file may now have an "extra" 
  string, which is used to return an exit code from less when it quits.

* New environment variables LESSMETACHARS and LESSMETAESCAPE provide
  more control over how less interfaces to the shell.

* Ported to Microsoft Visual C compiler for Windows.

* Ported to DJGPP compiler for MS-DOS.

* Bug fixes.

======================================================================


	Major changes between "less" versions 291 and 321

* Command line at bottom of screen now scrolls, so it can be longer 
  than the screen width.

* New commands ESC-] and ESC-[ scroll the display horizontally.

* New command ESC-SPACE scrolls forward a full screen, even if it
  hits end-of-file.

* Alternate modifiers for search commands: ^N is same as !,
  ^F is same as @, and ^E is same as *.

* New modifier for search commands: ^K means highlight the matches
  currently on-screen, but don't move to the first match.

* New modifier for search commands: ^R means don't use regular
  expressions in the search.

* Environment variable LESSKEY gives name of default lesskey file.

* Environment variable LESSSECURE will force less to run in
  "secure" mode.

* Command line argument "--" signals that the rest of the arguments
  are files (not option flags).

* Help file (less.hlp) is no longer installed.  Help text is now 
  embedded in the less executable itself.

* Added -Ph to change the prompt for the help text.
  Added -Ps to change the default short prompt (same as plain -P).

* Ported to the Borland C compiler for MS-DOS.

* Ported to Windows 95 & Windows NT.

* Ported to OS-9.

* Ported to GNU Hurd.

======================================================================


	Major changes between "less" versions 290 and 291

* Less environment variables can be specified in lesskey files.

* Fixed MS-DOS build.

======================================================================


	Major changes between "less" versions 278 and 290

* Accepts GNU-style options "--help" and "--version".

* OS/2 version looks for less.ini in $HOME before $INIT and $PATH.

* Bug fixes

======================================================================


	Major changes between "less" versions 252 and 278

* A LESSOPEN preprocessor may now pipe the converted file data to less,
  rather than writing it to a temporary file.

* Search pattern highlighting has been fixed.  It now highlights 
  reliably, even if a string is split across two screen lines,
  contains TABs, etc.

* The -F flag (which suppress search highlighting) has been changed 
  to -G.  A new flag, -g, changes search highlighting to highlight 
  only the string found by the last search command, instead of all 
  strings which match the last search command.

* New flag -I acts like -i, but ignores case even if the search 
  pattern contains uppercase letters.

* Less now checks for the environment variable VISUAL before EDITOR.

* Ported to OS/2.

======================================================================


	Major changes between "less" versions 237 and 252

* Changes in line-editing keys:
  The literal key is now ^V or ^A rather than \ (backslash).
  Filename completion commands (TAB and ^L) are disabled 
  when typing a search pattern.

* Line-editing command keys can be redefined using lesskey.

* Lesskey with no input file defaults to $HOME/.lesskey
  rather than standard input.

* New option -V displays version number of less.

* New option -V displays version number of lesskey.

* Help file less.hlp is now installed by default in /usr/local/share 
  rather than /usr/local/lib.


======================================================================


	Major changes between "less" versions 170 and 237

* By popular demand, text which matches the current search pattern
  is highlighted.  New -F flag disables this feature.

* Henry Spencer's regexp.c is now included, for systems which do not
  have a regular expression library.
  regexp.c is Copyright (c) 1986 by University of Toronto.

* New line-editing keys, including command history (arrow keys) and 
  filename completion (TAB).

* Input preprocessor allows modification of input files (e.g. uncompress)
  via LESSOPEN/LESSCLOSE environment variables.

* New -X flag disables sending termcap "ti" and "te" (initialize and
  deinitialize) strings to the terminal. 

* Changing -i from within less now correctly affects a subsequent
  repeated search.  

* Searching for underlined or overstruck text now works when the -u
  flag is in effect, rather than the -i flag.

* Use setlocale (LANG and LC_CTYPE environment variables) to determine
  the character set if LESSCHARSET/LESSCHARDEF are not set.

* The default format for displaying binary characters is now standout
  (reverse video) rather than blinking.  This can still be changed by
  setting the LESSBINFMT environment variable.

* Use autoconf installation technology.

* Ported to MS-DOS.

        ********************************
          Things that may surprise you
        ********************************

* When you enter text at the bottom of the screen (search string, 
  filename, etc.), some keys act different than previously.  
  Specifically, \ (backslash), ESC, TAB, BACKTAB, and control-L 
  now have line editing functions.

* Some previous unofficial versions of less were able to display
  compressed files.  The new LESSOPEN/LESSCLOSE feature now provides
  this functionality in a different way.

* Some previous unofficial versions of less provided a -Z flag to 
  set the number of lines of text to retain between full screen scrolls.
  The -z-n flag (that is, -z with a negative number) provides this 
  functionality.


======================================================================


	Major changes between "less" versions 123 and 170

* New option -j allows target lines to be positioned anywhere on screen.

* New option -S truncates displayed line at the screen width,
  rather than wrapping onto the next line.

* New option -y limits amount of forward scroll.

* New option -T specifies a "tags" file.

* Non-printable, non-control characters are displayed in octal.
  Such characters, as well as control characters, are displayed 
  in blinking mode.

* New command -+ sets an option to its default.
* New command -- sets an option to the opposite of its default.

* Lesskey file may have a string appended to a key's action,
  which acts as though typed in after the command.

* New commands ESC-^F and ESC-^B match arbitrary types of brackets.

* New command F monitors a growing file (like "tail -f").

* New command | pipes a section of the input file into a shell command.

* New command :x directly jumps to a file in the command line list.

* Search commands have been enhanced and reorganized:
	n	Repeat search, same direction.
	N	Repeat search, opposite direction.
	ESC-/	Search forward thru file boundaries
	ESC-?	Search backward thru file boundaries
	ESC-n	Repeat search thru file boundaries, same direction.
	ESC-N	Repeat search thru file boundaries, opposite direction.
  Special character * causes search to search thru file boundaries.
  Special character @ causes search to begin at start/end of file list.

* Examining a new file adds it to the command line list.
  A list of files, or an expression which matches more than one file,
  may be examined; all of them are added to the command line list.

* Environment variables LESSCHARSET and LESSCHARDEF can define
  a non-ASCII character set.

* Partial support for MSDOS, including options -R for repainting screen
  on quit, -v/-V to select video mode, and -W to change window size.


======================================================================


	Major changes between "less" versions 97 and 123

* New option (-N) causes line numbers to be displayed in the
  text of the file (like vi "set nu").

* New option (-?) prints help message immediately.

* New option (-r) displays "raw" control characters, without
  mapping them to ^X notation.

* New option (-f) forces less to open non-regular files
  (directories, etc).

* New option (-k) can be used to specify lesskey files by name.

* New option (-y) can be used to set a forward scroll limit
  (like -h sets a backward scroll limit).

* File marks (set by the m command) are now preserved when a new
  file is edited.  The ' command can thus be used to switch files.

* New command ESC-/ searches all files (on the command line) 
  for a pattern.

* New command ESC-n repeats previous search, spanning files.

* The N command has been changed to repeat the previous search
  in the reverse direction.  The old N command is still available 
  via :n.

* New command ESC-N repeats previous search in the reverse
  direction and spanning files.

* 8 bit characters are now supported.  A new option (-g) can be 
  used to strip off the eighth bit (the previous behavior).

* Options which take a following string (like -t) may now
  optionally have a space between the option letter and the string.

* Six new commands { } ( ) [ and ] can be used to match
  brackets of specific types, similar to vi % command.

* New commands z and w move forward/backward one window and
  simultaneously set the window size.

* Prompt string expansion now has %L for line number of the last
  line in the file, and %E for the name of the editor.
  Also, % escapes which refer to a line (b=bottom, t=top, etc.)
  can use j for the jump target line.

* New environment variable LESSEDIT can be used to tailor the
  command string passed to the editor by the v command.

* Examining a file which was previously examined will return
  to the same position in the file.

* A "%" is expanded to the current filename and a "#" to the 
  previous filename, in both shell commands and the E command.
  (Previously % worked only in shell commands and # worked 
  only in the E command.)

* New command ":ta" is equivalent to "-t".

* New command "s" is equivalent to "-l".

* The - command may be followed by "+X" to revert to the default
  for option X, or "-X" to get the opposite of the default.

* Lesskey files may now include characters after the action as
  extra input to be parsed after the action; for example:
  "toggle-option X" to toggle a specific option X.





