1 2 NEWS about less 3 4====================================================================== 5 6 For the latest news about less, see https://greenwoodsoftware.com/less 7 You can also download the latest version of less from there. 8 9 Report bugs, suggestions or comments at 10 https://github.com/gwsw/less/issues. 11 12====================================================================== 13 14 Major changes between "less" versions 643 and 661 15 16* Add ^O^N, ^O^P, ^O^L and ^O^O commands and mouse clicks (with --mouse) 17 to find and open OSC8 hyperlinks (github #251). 18 19* Add --match-shift option. 20 21* Add --lesskey-content option (github #447). 22 23* Add LESSKEY_CONTENT environment variable (github #447). 24 25* Add --no-search-header-lines and --no-search-header-columns options 26 (github #397). 27 28* Add ctrl-L search modifier (github #367). 29 30* A ctrl-P at the start of a shell command suppresses the "done" 31 message (github #462). 32 33* Add attribute characters ('*', '~', '_', '&') to --color 34 parameter (github #471). 35 36* Allow expansion of environment variables in lesskey files. 37 38* Add LESSSECURE_ALLOW environment variable (github #449). 39 40* Add LESS_UNSUPPORT environment variable. 41 42* Add line number parameter to --header option (github #436). 43 44* Mouse right-click jumps to position marked by left-click (github #390). 45 46* Ensure that the target line is not obscured by a header line 47 set by --header (github #444). 48 49* Change default character set to "utf-8", except remains "dos" on MS-DOS. 50 51* Add message when search with ^W wraps (github #459). 52 53* UCRT builds on Windows 10 and later now support Unicode file names 54 (github #438). 55 56* Improve behavior of interrupt while reading non-terminated pipe 57 (github #414). 58 59* Improve parsing of -j, -x and -# options (github #393). 60 61* Support files larger than 4GB on Windows (github #417). 62 63* Support entry of Unicode chars larger than U+FFFF on Windows (github #391). 64 65* Improve colors of bold, underline and standout text on Windows. 66 67* Allow --rscroll to accept non-ASCII characters (github #483). 68 69* Allow the parameter to certain options to be terminated with a 70 space (--color, --quotes, --rscroll, --search-options 71 and --intr) (github #495). 72 73* Fix bug where # substitution failed after viewing help (github #420). 74 75* Fix crash if files are deleted while less is viewing them (github #404). 76 77* Workaround unreliable ReadConsoleInputW behavior on Windows 78 with non-ASCII input. 79 80* Fix -J display when searching for non-ASCII characters (github #422). 81 82* Don't filter header lines via the & command (github #423). 83 84* Fix bug when horizontally shifting long lines (github #425). 85 86* Add -x and -D options to lesstest, to make it easier to diagnose 87 a failed lesstest run. 88 89* Fix bug searching long lines with --incsearch and -S (github #428). 90 91* Fix bug that made ESC-} fail if top line on screen was empty (github #429). 92 93* Fix bug with --mouse on Windows when used with pipes (github #440). 94 95* Fix bug in --+OPTION command line syntax. 96 97* Fix display bug when using -w with an empty line with a CR/LF 98 line ending (github #474). 99 100* When substituting '#' or '%' with a filename, quote the filename 101 if it contains a space (github #480). 102 103* Fix wrong sleep time when system has usleep but not nanosleep (github #489). 104 105* Fix bug when file name contains a newline. 106 107* Fix bug when file name contains nonprintable characters (github #503). 108 109* Fix DJGPP build (github #497). 110 111* Update Unicode tables. 112 113====================================================================== 114 115 Major changes between "less" versions 633 and 643 116 117* Fix problem when a program piping into less reads from the tty, 118 like sudo asking for password (github #368). 119 120* Fix search modifier ^E after ^W. 121 122* Fix bug using negated (^N) search (github #374). 123 124* Fix bug setting colors with -D on Windows build (github #386). 125 126* Fix reading special chars like PageDown on Windows (github #378). 127 128* Fix mouse wheel scrolling on Windows (github #379). 129 130* Fix erroneous EOF when terminal window size changes (github #372). 131 132* Fix compile error with some definitions of ECHONL (github #395). 133 134* Fix crash on Windows when writing logfile (github #405). 135 136* Fix regression in exit code when stdin is /dev/null and 137 output is a file (github #373). 138 139* Add lesstest test suite to production release (github #344). 140 141* Change lesstest output to conform with 142 automake Simple Test Format (github #399). 143 144====================================================================== 145 146 Major changes between "less" versions 632 and 633 147 148* Fix build on systems which have ncurses/termcap.h or 149 ncursesw/termcap.h but not termcap.h. 150 151====================================================================== 152 153 Major changes between "less" versions 608 and 632 154 155* Add LESSUTFCHARDEF environment variable (github #275). 156 157* Add # command (github #330). 158 159* Add ^S search modifier (github #196). 160 161* Add --wordwrap option (github #113). 162 163* Add --no-vbell option (github #304). 164 165* Add --no-search-headers option (github #44). 166 167* Add --modelines option (github #89). 168 169* Add --intr option (github #224). 170 171* Add --proc-backspace, --proc-tab and --proc-return options (github #335). 172 173* Add --show-preproc-errors option (github #258). 174 175* Add LESS_LINES and LESS_COLUMNS environment variables (github #84). 176 177* Add LESS_DATA_DELAY environment variable (github #337). 178 179* Allow empty "lines" field in --header option. 180 181* Update Unicode tables. 182 183* Improve ability of ^X to interrupt F command (github #49). 184 185* Status column (-J) shows off-screen matches. 186 187* Parenthesized sub-patterns in searches are colored with unique colors, 188 if supported by the regular expression library (github #196). 189 190* Don't allow opening a tty as file input unless -f is set (github #309). 191 192* Don't require newline input after +&... option (github #339). 193 194* Fix incorrect handling of some Private Use Unicode characters. 195 196* Fix ANSI color bug when overstriking with colored chars (github #276). 197 198* Fix compiler const warning (github #279). 199 200* Fix signal race in iread (github #280). 201 202* Fix reading procfs files on Linux (github #282). 203 204* Fix --ignore-case with ctrl-R (no regex) search (github #300). 205 206* Fix bug doing repeat search after setting & filter (github #299). 207 208* Fix bug doing repeat search before non-repeat search. 209 210* Fix crash with -R and certain line lengths (github #338). 211 212* Fix input of Windows dead keys (github #352). 213 214* Don't retain search options from a cancelled search (github #302). 215 216* Don't call realpath on fake filenames like "-" (github #289). 217 218* Implement lesstest test suite. 219 220* Convert function parameter definitions from K&R to C89 (github #316). 221 222====================================================================== 223 224 Major changes between "less" versions 590 and 608 225 226* Add the --header option (github #43). 227 228* Add the --no-number-headers option (github #178). 229 230* Add the --status-line option. 231 232* Add the --redraw-on-quit option (github #36). 233 234* Add the --search-options option (github #213). 235 236* Add the --exit-follow-on-close option (github #244). 237 238* Add 'H' color type to set color of header lines. 239 240* Add #version conditional to lesskey. 241 242* Add += syntax to variable section in lesskey files. 243 244* Allow option name in -- command to end with '=' in addition to '\n'. 245 246* Add $HOME/.config to possible locations of lesskey file (github #153). 247 248* Add $XDG_STATE_HOME and $HOME/.local/state to possible locations 249 of history file (github #223). 250 251* Don't read or write history file in secure mode (github #201). 252 253* Fix display of multibyte and double-width chars in prompt. 254 255* Fix ESC-BACKSPACE command when BACKSPACE key does not send 0x08 256 (github #188). 257 258* Add more \k codes to lesskey format. 259 260* Fix bug when empty file is modified while viewing it. 261 262* Fix bug when parsing a malformed lesskey file (githb #234). 263 264* Fix bug scrolling history when --incsearch is set (github #214). 265 266* Fix buffer overflow when invoking lessecho with more than 63 -m/-n 267 options (github #198). 268 269* Fix buffer overflow in bin_file (github #271). 270 271* Fix bug restoring color at end of highlighted text. 272 273* Fix bug in parsing lesskey file. 274 275* Defer moving cursor to lower left in some more cases. 276 277* Suppress TAB filename expansion in some cases where it doesn't make sense. 278 279* Fix termlib detection when compiler doesn't accept 280 calls to undeclared functions. 281 282* Fix bug in input of non-ASCII characters on Windows (github #247) 283 284* Escape filenames when invoking LESSCLOSE. 285 286* Fix bug using multibyte UTF-8 char in search string 287 with --incsearch (github #273). 288 289====================================================================== 290 291 Major changes between "less" versions 581 and 590 292 293* Make less able to read lesskey source files (deprecating lesskey). 294 295* If XDG_CONFIG_HOME is set, find lesskey source file 296 in $XDG_CONFIG_HOME/lesskey rather than $HOME/.lesskey. 297 298* If XDG_DATA_HOME is set, find and store history file 299 in $XDG_DATA_HOME/lesshst rather than $HOME/.lesshst. 300 301* Add the --lesskey-src option. 302 303* Add the --file-size option. 304 305* With -F, if screen is resized to make file fit on one screen, don't exit. 306 307* Fix bug which could leave terminal in mouse-reporting mode 308 after exiting less. 309 310* Fix bug which caused failure to respond to window resize. 311 312* Fix backslash bug searching in tag file. 313 314====================================================================== 315 316 Major changes between "less" versions 563 and 581 317 318* Change ESC-u command to toggle, not disable, highlighting per man page. 319 320* Add ESC-U command. 321 322* Add ctrl-W search modifier for wrapping search. 323 324* F command can be interrupted by ^X. 325 326* Support OSC 8 hyperlinks when -R is in effect. 327 328* g command with no number will ignore -j and put first line at top of screen. 329 330* Multiple + or -p command line options are handled better. 331 332* Add the --incsearch option. 333 334* Add the --line-num-width option. 335 336* Add the --status-col-width option. 337 338* Add the --use-color and --color options. 339 340* Display -w highlight even if highlighted line is empty. 341 342* If search result is in a long line, scroll to ensure it is visible. 343 344* Editing the same file under different names now creates only 345 one entry in the file list. 346 347* Make visual bell more visible on some terminals. 348 349* Ring end-of-file bell no more than once per second. 350 351* Build can use either Python or Perl for Makefile.aut operations. 352 353* Fix crash when using the @ search modifier. 354 355* Fix crash in the 's' command due to duplicate free. 356 357* Fix realpath crash on Darwin. 358 359====================================================================== 360 361 Major changes between "less" versions 551 and 563 362 363* Update Unicode tables. 364 365* Treat Hangul Jamo medial vowels and final consonants as zero width. 366 367* Display error message immediately when -o is toggled and 368 input is not a pipe. 369 370* Fix regression: make screen repaint when "squished" and 371 a no-movement command is given. 372 373* Fix erroneous EOF calculation when F command is interrupted. 374 375* Make WIN32C version include this fix from 551: 376 Don't count lines in initial screen if using -X with -F. 377 378* Fix display bug in WIN32C version. 379 380* Fix memory corruption when built with libtermcap. 381 382* Support libtinfow. 383 384====================================================================== 385 386 Major changes between "less" versions 530 and 551 387 388* Add --mouse option. 389 390* Add --wheel-lines option. 391 392* Add --no-histdups option. 393 394* Add --save-marks option. 395 396* Support PCRE2 regular expression library. 397 398* Redraw screen on SIGWINCH even if screen size doesn't change. 399 400* Shell-escape filenames in history so they can be used again. 401 402* Ring bell if user enters invalid long option name. 403 404* Use PCRE_UTF8 flag for pcre regular expressions when in UTF-8 mode. 405 406* Windows: use wide-char string to set console title. 407 408* Don't count lines in initial screen if using -X with -F. 409 410* Support mingw build system. 411 412* Fix bug in v command on empty file. 413 414* Fix bug in v command when filename contains shell metacharacters. 415 416====================================================================== 417 418 Major changes between "less" versions 487 and 530 419 420* Don't output terminal init sequence if using -F and file fits on one screen. 421 422* When using -S, mark truncated lines with a special character. 423 The character can be changed or disabled via the new --rscroll option. 424 425* New command M marks the last line displayed on the screen. 426 427* New command ESC-m removes a line mark. 428 429* Status column (enabled via -J) now shows mark letters. 430 431* Status column shows search matches even if highlighting is disabled via -G. 432 433* A second ESC-u command will clear search match markers in the status column. 434 435* Do same ANSI escape code filtering for tag matching that we do for 436 searching, to help when viewing syntax-highlighted code. 437 438* Catch SIGTERM and clean up before exiting. 439 440* Fix bug initializing default charset on Windows. 441 442* Handle keypad ENTER key correctly if it sends something other than newline. 443 444* Fix buffering bug when using stdin with a LESSOPEN pipe. 445 446* On Windows, allow 'u' in -D option to enable underlining. 447 448* On Windows, use underline in sgr mode. 449 450* On Windows, convert UTF-8 to multibyte if console is not UTF-8. 451 452* Update Unicode tables to 2017-03-08. 453 454* Pass-thru Unicode formatting chars (Cf type) instead of treating them 455 as binary chars. But treat them as binary if -U is set. 456 457* Fix erroneous binary file warning when UTF-8 file contains ANSI SGR sequences. 458 459* Fix bugs when using LESSOPEN and switching between stdin and other files. 460 461* Fix some bugs handling filenames containing shell metacharacters. 462 463* Fix some memory leaks. 464 465* Allow some debugging environment variables to be set in lesskey file. 466 467* Code improvements: 468 . Use ANSI prototypes in funcs.h declarations. 469 . Fix some const mismatches. 470 . Remove archaic "register" in variable declarations. 471 472====================================================================== 473 474 Major changes between "less" versions 481 and 487 475 476* New commands ESC-{ and ESC-} to shift to start/end of displayed lines. 477 478* Make search highlights work correctly when changing caselessness with -i. 479 480* New option -Da in Windows version to enable SGR mode. 481 482* Fix "nothing to search" error when top or bottom line on screen is empty. 483 484* Fix bug when terminal has no "cm" termcap entry. 485 486* Fix incorrect display when entering double-width chars in search string. 487 488* Fix bug in Unicode handling that missed some double width characters. 489 490* Update Unicode database to 9.0.0. 491 492====================================================================== 493 494 Major changes between "less" versions 458 and 481 495 496* Don't overwrite history file; just append to it. 497 498* New command ESC-G goes to end of currently buffered data in a pipe. 499 500* Disable history feature when compiled with LESSHISTFILE set to "-". 501 502* In more-compatible mode, make the -p option apply to every file opened, 503 not just the first one. 504 505* In more-compatible mode, change the -e option to work like -E, not -EF. 506 507* Treat multiple CRs before LF are like one CR (all the CRs are hidden). 508 509* Allow "extra" string in lesskey file to append to a multi-char command 510 (like a search pattern), without executing the command. 511 512* Ignore -u/-U setting while viewing help file, so that 513 underline and bold chars are displayed correctly. 514 515* Improve detection of "binary" files in UTF-8 mode. 516 517* Fix bug with ++ commands. 518 519* Fix bug where prompt was sometimes not displayed with +G. 520 521* Fix possible memory corruption 522 523* Fix bugs and improve performance in ampersand filtering. 524 525* Automate construction of Unicode tables from Unicode database. 526 527* Allow %% escape sequence in LESSOPEN variable. 528 529====================================================================== 530 531 Major changes between "less" versions 451 and 458 532 533* Allow backslash escaping of metacharacters in LESS environment variable 534 after the --use-backslash option. 535 536* Don't quit if syntax errors are found in command line options. 537 538* Increase sizes of some internal buffers. 539 540* Fix configure bug with --with-regex=none. 541 542* Fix crash with "stty rows 0". 543 544* Fix Win32 attribute display bug. 545 546* Fix display bug when using up/down arrow on the command line. 547 548====================================================================== 549 550 Major changes between "less" versions 444 and 451 551 552* Add ESC-F command to keep reading data until a pattern is found. 553 554* Use exit code of LESSOPEN script if LESSOPEN starts with "||". 555 556* When up/down arrow is used on the command line immediately after 557 typing text, the next command starting with that text is found. 558 559* Add support for GNU regex. 560 561* Add configure option --with-regex=none and fix compile errors 562 when compiling with no regex library. 563 564* Fix bugs handling SGR sequences in Win32. 565 566* Fix possible crashes caused by malformed LESSOPEN or 567 LESSCLOSE variables. 568 569* Fix bug highlighting text which is discontiguous in the file 570 due to backspace processing. 571 572* Fix bug in displaying status column when scrolling backwards 573 with -J and -S in effect. 574 575====================================================================== 576 577 Major changes between "less" versions 443 and 444 578 579* Fix bug in unget handling that can cause strange effects on the 580 command line. 581 582* Remove vestiges of obsolete -l option that can cause a crash. 583 584====================================================================== 585 586 Major changes between "less" versions 436 and 443 587 588* Change search behavior such that when a search is given an explicit 589 pattern, the entire displayed screen is included in the search and 590 not just the portion after the target line. 591 592* Add -A option to change search behavior to the old way: only 593 the portion of the screen after the target line is searched. 594 595* Add %F formatting to prompt strings, replaced by the last component 596 of the input file. 597 598* Control-G while editing a command exits the command. 599 600* Less now exits with status 2 if control-C is pressed and -K is in effect. 601 602* Fix "ungetc overflow" when passing long commands via the -p option. 603 604* Fix bug in using line filtering via the & command 605 in combination with -i and -I. 606 607* Fix bug in handling negative arguments to the -j option. 608 609* Fix bug in handling %t in prompt strings. 610 611* Improve handling of long option names. 612 613* Improve percentage calculation for very large files. 614 615====================================================================== 616 617 Major changes between "less" versions 429 and 436 618 619* Don't pass "-" to non-pipe LESSOPEN unless it starts with "-". 620 621* Allow a fraction as the argument to the -# (--shift) option. 622 623* Fix highlight bug when underlined/overstruck text matches at end of line. 624 625* Fix non-regex searches with ctrl-R. 626 627====================================================================== 628 629 Major changes between "less" versions 424 and 429 630 631* LESSOPEN pipe will now be used on standard input, if the LESSOPEN 632 environment variable begins with "|-". 633 634* The -D option with one number now means use the normal background color. 635 636* Don't change permissions on history file if it is not a regular file. 637 638* Fix non-ANSI-compliant code that caused problems with some compilers. 639 640* Fix binary file detection in UTF-8 mode. 641 642* Fix display problems with long lines on "ignaw" terminals. 643 644* Fix problem interrupting the line number calculation for initial prompt. 645 646* Fix SGR emulation when dealing with multiple attributes (e.g. bold+underline). 647 648* Fix highlight bug when searching for underlined/overstruck text. 649 650====================================================================== 651 652 Major changes between "less" versions 418 and 424 653 654* New "&" command allows filtering of lines based on a pattern. 655 656* Status column now displays a search match, even if the matched 657 string is scrolled off screen because -S is in effect. 658 659* Improve behavior of -F option. 660 661* Allow CSI character (0x9B) to work in UTF-8 mode. 662 663* Output carriage return at startup in case terminal doesn't default 664 to column 1. 665 666* Fix bug in '' (quote, quote) command after G command. 667 668====================================================================== 669 670 Major changes between "less" versions 416 and 418 671 672* Color escape sequences are now supported in WIN32 build. 673 674* Makefile now uses EXEEXT feature of autoconf. 675 676* Fix search bug when using -R and text contains ANSI color escape sequences. 677 678* Fix crash when using -r with UTF-8 text containing 0x9B bytes. 679 680* Fix display bug when using ' command to move less than one page forward. 681 682* Update GPL to version 3. 683 684====================================================================== 685 686 Major changes between "less" versions 409 and 416 687 688* New --follow-name option makes F command follow the name of a file 689 rather than the file descriptor if an open file is renamed. 690 691* Make searching with -i/-I work correctly with non-ASCII text. 692 693* Fix DJGPP build. 694 695====================================================================== 696 697 Major changes between "less" versions 406 and 409 698 699* Support CSI escape sequences, like SGR escape sequences. 700 701* Fix bug which caused screen to fail to repaint when window is resized. 702 703* Fix bug in using -i and -I flags with non-ASCII text. 704 705* Fix configure bug on systems which don't support langinfo.h. 706 707* Fix crash when searching text containing certain invalid UTF-8 sequences. 708 709====================================================================== 710 711 Major changes between "less" versions 394 and 406 712 713* Allow decimal point in number for % (percent) command. 714 715* Allow decimal point in number for -j option (fraction of screen height). 716 717* Make n command fetch previous pattern from history file on first search. 718 719* Don't rewrite history file if it has not changed. 720 721* Don't move to bottom of screen on first page. 722 723* Don't output extraneous newlines, so copy & pasting lines from the 724 output works better. 725 726* The -c option has been made identical with the -C option. 727 728* Allow "/dev/null" as synonym for "-" in LESSHISTFILE to indicate 729 that no history file should be used. 730 731* Search can now find text which follows a null byte, if the PCRE 732 library is used, or if no-regex searching (ctrl-R) is used. 733 734* Better compatibility with POSIX more specification. 735 736* Make -f work for directories. 737 738* Make "t" cmd traverse tags in the correct order. 739 740* Allow a few binary characters in the input file before warning 741 that the file is binary. 742 743* Don't warn that file is binary if it merely contains ANSI color sequences 744 and -R is in effect. 745 746* Update Unicode character tables. 747 748* Support DESTDIR in Makefile. 749 750* Fix bug when filename contains certain shell metacharacters such as "$". 751 752* Fix bug when resizing the window while waiting for input from a pipe. 753 754* Fix configure bugs. 755 756====================================================================== 757 758 Major changes between "less" versions 382 and 394 759 760* Add history file to save search and shell command history between 761 invocations of less. 762 763* Improve behavior of history list for search and shell commands. 764 765* Add -K (or --quit-on-intr) option to make less exit immediately on ctrl-C. 766 767* Improve handling of UTF-8 files and commands, including better 768 line wrapping and handling double-width chars. 769 770* Added LESSUTFBINFMT environment variable to control display of 771 non-printable characters in a UTF-8 file. 772 773* Add --with-secure option to configure, to make it easier to 774 build a secure version of less. 775 776* Show search matches in the status column even if search highlights 777 are disabled via the -G option or the ESC-u command. 778 779* Improve performance when the file contains very long lines. 780 781* Add "windows" charset. 782 783* Add man page for lessecho. 784 785* Add support for erase2 character, treated same as erase. 786 787* Use ASCII lowercase/uppercase logic when operating on the command line. 788 789* Update makefile for Borland C++ 5.5.1. 790 791* Fix bug in calculating number of pages for %D prompt. 792 793* Fix bug in handling tag file error. 794 795* Fix obscure bug if input file is deleted while viewing help. 796 797* Fix bug handling filenames which include square brackets. 798 799* Fix possible buffer overflow in "global" tag search. 800 801* Fix possible buffer overflow in usage of LESSOPEN and LESSCLOSE. 802 803* Fix buffer overflow in reverse search. 804 805====================================================================== 806 807 Major changes between "less" versions 381 and 382 808 809* Removed some old copyrighted code. 810 This probably breaks OS/9 support. 811 812====================================================================== 813 814 Major changes between "less" versions 378 and 381 815 816* New -L option to disable LESSOPEN processing. 817 818* Further support for large (64 bit) file addressing. 819 Large file support is now set up by the configure script. 820 821* Use autoconf 2.54. 822 Replace configure.in, acconfig.h, defines.h.top with configure.ac. 823 824* Overstriking underscore with underscore is now bold or underlined 825 depending on context. 826 827* Use only 7 spaces for line numbers in -N mode, if possible. 828 829* Fix some bugs in handling overstriking in UTF-8 files. 830 831* Fix some nroff issues in the man page. 832 833====================================================================== 834 835 Major changes between "less" versions 376 and 378 836 837* Bug fixes: 838 Default buffer space is now 64K as documented. 839 Search highlighting works properly when used with -R. 840 Windows version works properly when input file contains carriage returns. 841 Clean up some compiler warnings. 842 843====================================================================== 844 845 Major changes between "less" versions 358 and 376 846 847* -x option can now specify multiple variable-width tab stops. 848 849* -X option no longer disables keypad initialization. 850 New option --no-keypad disables keypad initialization. 851 852* New commands t and T step through multiple tag matches. 853 Added support for "global(1)" tags 854 (see http://www.gnu.org/software/global/global.html). 855 856* New prompt style set by option -Pw defines the message printed 857 while waiting for data in the F command. 858 859* System-wide lesskey file now defaults to sysless in etc directory 860 instead of .sysless in bin directory. 861 Use "configure --sysconfdir=..." to change it. 862 (For backwards compatibility, .sysless in bin is still recognized.) 863 864* Pressing RightArrow or LeftArrow while entering a number now shifts 865 the display N columns rather than editing the number itself. 866 867* Status column (enabled with -J) now shows search results. 868 869* Windows version sets window title. 870 871* Default LESSCHARSET for MS-DOS versions is now "dos". 872 873* Searching works better with ANSI (SGR) escape sequences. 874 ANSI color escape sequences are now supported in the MS-DOS (DJGPP) version. 875 876* Improved performance in reading very large pipes. 877 878* Eliminated some dependencies on file offsets being 32 bits. 879 880* Fixed problems when viewing files with very long lines. 881 882* Fixed overstriking in UTF-8 mode, and overstriking tabs. 883 884* Improved horizontal shifting of text using -R option with ANSI color. 885 886* Improved handling of filenames containing shell metacharacters. 887 888* Some fixes for EBCDIC systems. 889 890* Some fixes for OS/2 systems. 891 892====================================================================== 893 894 Major changes between "less" versions 354 and 358 895 896* Add -J (--status-column) option to display a status column. 897 898* Add -# (--shift) option to set default horizontal shift distance. 899 Default horizontal shift distance is now one-half screen width. 900 901* Horizontal shifting does not shift line numbers if -N is in effect. 902 903* Horizontal shifting acts as though -S were set, to avoid confusion. 904 905====================================================================== 906 907 908 Major changes between "less" versions 352 and 354 909 910* Allow space after numeric-valued command line options. 911 912* Fix problem with configuring terminal libraries on some systems. 913 914* Add support for PCRE regular expression library. 915 916* Add --with-regex option to configure to allow manually selecting 917 a regular expression library. 918 919* Fix bug compiling with SECURE = 1. 920 921====================================================================== 922 923 924 Major changes between "less" versions 346 and 352 925 926* Enable UTF-8 if "UTF-8" appears in locale-related environment variables. 927 928* Add --with-editor option to configure script. 929 930* The -M prompt and = message now show the top and bottom line number. 931 932* Fix bug in running the editor on a file whose name contains quotes, etc. 933 934* Fix bug in horizontal scrolling of long lines. 935 936* Fix bug in doing :d on a file which contains marks. 937 938* Fix bug causing cleared lines to sometimes be filled with standout, 939 bold, underline, etc. on certain terminals. 940 941* Fixes for MS-DOS (DJGPP) version. 942 943====================================================================== 944 945 946 Major changes between "less" versions 340 and 346 947 948* The UTF-8 character set is now supported. 949 950* The default character set is now latin1 rather than ascii. 951 952* New option -R (--RAW-CONTROL-CHARS) is like -r but handles 953 long (wrapped) lines correctly, as long as the input contains only 954 normal text and ANSI color escape sequences. 955 956* New option -F (--quit-if-one-screen) quits if the text fits on 957 the first screen. 958 959* The -w option now highlights the target line of a g or p command. 960 961* A system-wide lesskey file is supported (LESSKEY_SYSTEM). 962 963* New escape for prompt strings: %c is replaced by column number. 964 965* New escape for prompt strings: %P is replaced by percentage into 966 file, based on line number rather than byte offset. 967 968* HOME and END keys now jump to beginning of file or end of file. 969 970====================================================================== 971 972 973 Major changes between "less" versions 337 and 340 974 975* Command line options for less may now be given in either the old 976 single-letter form, or a new long name form (--option-name). 977 See the less man page or "less --help" for the list of long option names. 978 979* Command line options for lesskey may now be given in a new long name 980 form. See the lesskey man page for the list of long option names. 981 982* New command -- toggles an option using the long option name. 983 984* New command __ queries an option using the long option name. 985 986* The old -- command is renamed as -!. 987 988* If a ^P is entered between the dash and the option letter of the - 989 command, the message describing the new setting is suppressed. 990 991* Lesskey files may now contain \k escape sequences to represent the 992 "special" keys (arrows, PAGE-UP/PAGE-DOWN, HOME, END, INSERT, DELETE). 993 994* New command :d removes the current file from the list of files. 995 996* New option -~ (like -w before version 335) 997 suppresses tildes after end-of-file. 998 999* Less is now released under the GNU General Public License. 1000 1001====================================================================== 1002 1003 1004 Major changes between "less" versions 335 and 337 1005 1006* Fixed bugs in "make install". 1007 1008====================================================================== 1009 1010 1011 Major changes between "less" versions 332 and 335 1012 1013* The old -w flag (suppress tildes after end-of-file) has been removed. 1014 1015* New -w flag highlights the first new line after a forward-screen. 1016 1017* New -W flag highlights the first new line after any forward movement. 1018 1019* Window resize works even if LINES and/or COLUMNS environment 1020 variables are incorrect. 1021 1022* New percent escapes for prompt strings: 1023 %d is replaced by the page number, and 1024 %D is replaced by the number of pages in the file. 1025 1026* Added charsets "iso8859" and "ebcdic". 1027 1028* In Windows version, uses HOMEDRIVE and HOMEPATH if HOME is not defined. 1029 1030* Fixed some bugs causing incorrect display on DOS/Windows. 1031 1032====================================================================== 1033 1034 1035 Major changes between "less" versions 330 and 332 1036 1037* Filenames from the command line are entered into the command history, 1038 so UPARROW/DOWNARROW can be used to retrieve them from the :e command. 1039 1040* Now works correctly on Windows when using a scrolling terminal 1041 window (buffer larger than display window). 1042 1043* On Windows, now restores the console screen on exit. 1044 Use -X to get the old behavior. 1045 1046* Fixed bug on Windows when CAPS-LOCK or NUM-LOCK is pressed. 1047 1048* Fixed bug on Windows when piping output of an interactive program. 1049 1050* Fixed bug in tags file processing when tags file has DOS-style 1051 line terminators (CR/LF). 1052 1053* Fixed compilation problem on OS/2. 1054 1055====================================================================== 1056 1057 1058 Major changes between "less" versions 321 and 330 1059 1060* Now supports filenames containing spaces (in double quotes). 1061 New option -" can be used to change the quoting characters. 1062 1063* In filename completion, a slash is appended to a directory name. 1064 If the environment variable LESSSEPARATOR is set, the value of 1065 that variable, rather than a slash, is appended. 1066 1067* LeftArrow and RightArrow are same as ESC-[ and ESC-]. 1068 1069* Added commands ESC-( and ESC-), same as ESC-[ and ESC-]. 1070 1071* A "quit" command defined in a lesskey file may now have an "extra" 1072 string, which is used to return an exit code from less when it quits. 1073 1074* New environment variables LESSMETACHARS and LESSMETAESCAPE provide 1075 more control over how less interfaces to the shell. 1076 1077* Ported to Microsoft Visual C compiler for Windows. 1078 1079* Ported to DJGPP compiler for MS-DOS. 1080 1081* Bug fixes. 1082 1083====================================================================== 1084 1085 1086 Major changes between "less" versions 291 and 321 1087 1088* Command line at bottom of screen now scrolls, so it can be longer 1089 than the screen width. 1090 1091* New commands ESC-] and ESC-[ scroll the display horizontally. 1092 1093* New command ESC-SPACE scrolls forward a full screen, even if it 1094 hits end-of-file. 1095 1096* Alternate modifiers for search commands: ^N is same as !, 1097 ^F is same as @, and ^E is same as *. 1098 1099* New modifier for search commands: ^K means highlight the matches 1100 currently on-screen, but don't move to the first match. 1101 1102* New modifier for search commands: ^R means don't use regular 1103 expressions in the search. 1104 1105* Environment variable LESSKEY gives name of default lesskey file. 1106 1107* Environment variable LESSSECURE will force less to run in 1108 "secure" mode. 1109 1110* Command line argument "--" signals that the rest of the arguments 1111 are files (not option flags). 1112 1113* Help file (less.hlp) is no longer installed. Help text is now 1114 embedded in the less executable itself. 1115 1116* Added -Ph to change the prompt for the help text. 1117 Added -Ps to change the default short prompt (same as plain -P). 1118 1119* Ported to the Borland C compiler for MS-DOS. 1120 1121* Ported to Windows 95 & Windows NT. 1122 1123* Ported to OS-9. 1124 1125* Ported to GNU Hurd. 1126 1127====================================================================== 1128 1129 1130 Major changes between "less" versions 290 and 291 1131 1132* Less environment variables can be specified in lesskey files. 1133 1134* Fixed MS-DOS build. 1135 1136====================================================================== 1137 1138 1139 Major changes between "less" versions 278 and 290 1140 1141* Accepts GNU-style options "--help" and "--version". 1142 1143* OS/2 version looks for less.ini in $HOME before $INIT and $PATH. 1144 1145* Bug fixes 1146 1147====================================================================== 1148 1149 1150 Major changes between "less" versions 252 and 278 1151 1152* A LESSOPEN preprocessor may now pipe the converted file data to less, 1153 rather than writing it to a temporary file. 1154 1155* Search pattern highlighting has been fixed. It now highlights 1156 reliably, even if a string is split across two screen lines, 1157 contains TABs, etc. 1158 1159* The -F flag (which suppress search highlighting) has been changed 1160 to -G. A new flag, -g, changes search highlighting to highlight 1161 only the string found by the last search command, instead of all 1162 strings which match the last search command. 1163 1164* New flag -I acts like -i, but ignores case even if the search 1165 pattern contains uppercase letters. 1166 1167* Less now checks for the environment variable VISUAL before EDITOR. 1168 1169* Ported to OS/2. 1170 1171====================================================================== 1172 1173 1174 Major changes between "less" versions 237 and 252 1175 1176* Changes in line-editing keys: 1177 The literal key is now ^V or ^A rather than \ (backslash). 1178 Filename completion commands (TAB and ^L) are disabled 1179 when typing a search pattern. 1180 1181* Line-editing command keys can be redefined using lesskey. 1182 1183* Lesskey with no input file defaults to $HOME/.lesskey 1184 rather than standard input. 1185 1186* New option -V displays version number of less. 1187 1188* New option -V displays version number of lesskey. 1189 1190* Help file less.hlp is now installed by default in /usr/local/share 1191 rather than /usr/local/lib. 1192 1193 1194====================================================================== 1195 1196 1197 Major changes between "less" versions 170 and 237 1198 1199* By popular demand, text which matches the current search pattern 1200 is highlighted. New -F flag disables this feature. 1201 1202* Henry Spencer's regexp.c is now included, for systems which do not 1203 have a regular expression library. 1204 regexp.c is Copyright (c) 1986 by University of Toronto. 1205 1206* New line-editing keys, including command history (arrow keys) and 1207 filename completion (TAB). 1208 1209* Input preprocessor allows modification of input files (e.g. uncompress) 1210 via LESSOPEN/LESSCLOSE environment variables. 1211 1212* New -X flag disables sending termcap "ti" and "te" (initialize and 1213 deinitialize) strings to the terminal. 1214 1215* Changing -i from within less now correctly affects a subsequent 1216 repeated search. 1217 1218* Searching for underlined or overstruck text now works when the -u 1219 flag is in effect, rather than the -i flag. 1220 1221* Use setlocale (LANG and LC_CTYPE environment variables) to determine 1222 the character set if LESSCHARSET/LESSCHARDEF are not set. 1223 1224* The default format for displaying binary characters is now standout 1225 (reverse video) rather than blinking. This can still be changed by 1226 setting the LESSBINFMT environment variable. 1227 1228* Use autoconf installation technology. 1229 1230* Ported to MS-DOS. 1231 1232 ******************************** 1233 Things that may surprise you 1234 ******************************** 1235 1236* When you enter text at the bottom of the screen (search string, 1237 filename, etc.), some keys act different than previously. 1238 Specifically, \ (backslash), ESC, TAB, BACKTAB, and control-L 1239 now have line editing functions. 1240 1241* Some previous unofficial versions of less were able to display 1242 compressed files. The new LESSOPEN/LESSCLOSE feature now provides 1243 this functionality in a different way. 1244 1245* Some previous unofficial versions of less provided a -Z flag to 1246 set the number of lines of text to retain between full screen scrolls. 1247 The -z-n flag (that is, -z with a negative number) provides this 1248 functionality. 1249 1250 1251====================================================================== 1252 1253 1254 Major changes between "less" versions 123 and 170 1255 1256* New option -j allows target lines to be positioned anywhere on screen. 1257 1258* New option -S truncates displayed line at the screen width, 1259 rather than wrapping onto the next line. 1260 1261* New option -y limits amount of forward scroll. 1262 1263* New option -T specifies a "tags" file. 1264 1265* Non-printable, non-control characters are displayed in octal. 1266 Such characters, as well as control characters, are displayed 1267 in blinking mode. 1268 1269* New command -+ sets an option to its default. 1270* New command -- sets an option to the opposite of its default. 1271 1272* Lesskey file may have a string appended to a key's action, 1273 which acts as though typed in after the command. 1274 1275* New commands ESC-^F and ESC-^B match arbitrary types of brackets. 1276 1277* New command F monitors a growing file (like "tail -f"). 1278 1279* New command | pipes a section of the input file into a shell command. 1280 1281* New command :x directly jumps to a file in the command line list. 1282 1283* Search commands have been enhanced and reorganized: 1284 n Repeat search, same direction. 1285 N Repeat search, opposite direction. 1286 ESC-/ Search forward thru file boundaries 1287 ESC-? Search backward thru file boundaries 1288 ESC-n Repeat search thru file boundaries, same direction. 1289 ESC-N Repeat search thru file boundaries, opposite direction. 1290 Special character * causes search to search thru file boundaries. 1291 Special character @ causes search to begin at start/end of file list. 1292 1293* Examining a new file adds it to the command line list. 1294 A list of files, or an expression which matches more than one file, 1295 may be examined; all of them are added to the command line list. 1296 1297* Environment variables LESSCHARSET and LESSCHARDEF can define 1298 a non-ASCII character set. 1299 1300* Partial support for MSDOS, including options -R for repainting screen 1301 on quit, -v/-V to select video mode, and -W to change window size. 1302 1303 1304====================================================================== 1305 1306 1307 Major changes between "less" versions 97 and 123 1308 1309* New option (-N) causes line numbers to be displayed in the 1310 text of the file (like vi "set nu"). 1311 1312* New option (-?) prints help message immediately. 1313 1314* New option (-r) displays "raw" control characters, without 1315 mapping them to ^X notation. 1316 1317* New option (-f) forces less to open non-regular files 1318 (directories, etc). 1319 1320* New option (-k) can be used to specify lesskey files by name. 1321 1322* New option (-y) can be used to set a forward scroll limit 1323 (like -h sets a backward scroll limit). 1324 1325* File marks (set by the m command) are now preserved when a new 1326 file is edited. The ' command can thus be used to switch files. 1327 1328* New command ESC-/ searches all files (on the command line) 1329 for a pattern. 1330 1331* New command ESC-n repeats previous search, spanning files. 1332 1333* The N command has been changed to repeat the previous search 1334 in the reverse direction. The old N command is still available 1335 via :n. 1336 1337* New command ESC-N repeats previous search in the reverse 1338 direction and spanning files. 1339 1340* 8 bit characters are now supported. A new option (-g) can be 1341 used to strip off the eighth bit (the previous behavior). 1342 1343* Options which take a following string (like -t) may now 1344 optionally have a space between the option letter and the string. 1345 1346* Six new commands { } ( ) [ and ] can be used to match 1347 brackets of specific types, similar to vi % command. 1348 1349* New commands z and w move forward/backward one window and 1350 simultaneously set the window size. 1351 1352* Prompt string expansion now has %L for line number of the last 1353 line in the file, and %E for the name of the editor. 1354 Also, % escapes which refer to a line (b=bottom, t=top, etc.) 1355 can use j for the jump target line. 1356 1357* New environment variable LESSEDIT can be used to tailor the 1358 command string passed to the editor by the v command. 1359 1360* Examining a file which was previously examined will return 1361 to the same position in the file. 1362 1363* A "%" is expanded to the current filename and a "#" to the 1364 previous filename, in both shell commands and the E command. 1365 (Previously % worked only in shell commands and # worked 1366 only in the E command.) 1367 1368* New command ":ta" is equivalent to "-t". 1369 1370* New command "s" is equivalent to "-l". 1371 1372* The - command may be followed by "+X" to revert to the default 1373 for option X, or "-X" to get the opposite of the default. 1374 1375* Lesskey files may now include characters after the action as 1376 extra input to be parsed after the action; for example: 1377 "toggle-option X" to toggle a specific option X. 1378 1379 1380 1381 1382 1383