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