1 2 NEWS about less 3 4====================================================================== 5 6 For the latest news about less, see the "less" Web page: 7 http://www.greenwoodsoftware.com/less 8 You can also download the latest version of less from there. 9 10 To report bugs, suggestions or comments, send email to bug-less@gnu.org. 11 12====================================================================== 13 14 Major changes between "less" versions 444 and 451 15 16* Add ESC-F command to keep reading data until a pattern is found. 17 18* Use exit code of LESSOPEN script if LESSOPEN starts with "||". 19 20* When up/down arrow is used on the command line immediately after 21 typing text, the next command starting with that text is found. 22 23* Add support for GNU regex. 24 25* Add configure option --with-regex=none and fix compile errors 26 when compiling with no regex library. 27 28* Fix bugs handling SGR sequences in Win32. 29 30* Fix possible crashes caused by malformed LESSOPEN or 31 LESSCLOSE variables. 32 33* Fix bug highlighting text which is discontiguous in the file 34 due to backspace processing. 35 36* Fix bug in displaying status column when scrolling backwards 37 with -J and -S in effect. 38 39====================================================================== 40 41 Major changes between "less" versions 443 and 444 42 43* Fix bug in unget handling that can cause strange effects on the 44 command line. 45 46* Remove vestiges of obsolete -l option that can cause a crash. 47 48====================================================================== 49 50 Major changes between "less" versions 436 and 443 51 52* Change search behavior such that when a search is given an explicit 53 pattern, the entire displayed screen is included in the search and 54 not just the portion after the target line. 55 56* Add -A option to change search behavior to the old way: only 57 the portion of the screen after the target line is searched. 58 59* Add %F formatting to prompt strings, replaced by the last component 60 of the input file. 61 62* Control-G while editing a command exits the command. 63 64* Less now exits with status 2 if control-C is pressed and -K is in effect. 65 66* Fix "ungetc overflow" when passing long commands via the -p option. 67 68* Fix bug in using line filtering via the & command 69 in combination with -i and -I. 70 71* Fix bug in handling negative arguments to the -j option. 72 73* Fix bug in handling %t in prompt strings. 74 75* Improve handling of long option names. 76 77* Improve percentage calculation for very large files. 78 79====================================================================== 80 81 Major changes between "less" versions 429 and 436 82 83* Don't pass "-" to non-pipe LESSOPEN unless it starts with "-". 84 85* Allow a fraction as the argument to the -# (--shift) option. 86 87* Fix highlight bug when underlined/overstruck text matches at end of line. 88 89* Fix non-regex searches with ctrl-R. 90 91====================================================================== 92 93 Major changes between "less" versions 424 and 429 94 95* LESSOPEN pipe will now be used on standard input, if the LESSOPEN 96 environment variable begins with "|-". 97 98* The -D option with one number now means use the normal background color. 99 100* Don't change permissions on history file if it is not a regular file. 101 102* Fix non-ANSI-compliant code that caused problems with some compilers. 103 104* Fix binary file detection in UTF-8 mode. 105 106* Fix display problems with long lines on "ignaw" terminals. 107 108* Fix problem interrupting the line number calculation for initial prompt. 109 110* Fix SGR emulation when dealing with multiple attributes (eg. bold+underline). 111 112* Fix highlight bug when searching for underlined/overstruck text. 113 114====================================================================== 115 116 Major changes between "less" versions 418 and 424 117 118* New "&" command allows filtering of lines based on a pattern. 119 120* Status column now displays a search match, even if the matched 121 string is scrolled off screen because -S is in effect. 122 123* Improve behavior of -F option. 124 125* Allow CSI character (0x9B) to work in UTF-8 mode. 126 127* Output carriage return at startup in case terminal doesn't default 128 to column 1. 129 130* Fix bug in '' (quote, quote) command after G command. 131 132====================================================================== 133 134 Major changes between "less" versions 416 and 418 135 136* Color escape sequences are now supported in WIN32 build. 137 138* Makefile now uses EXEEXT feature of autoconf. 139 140* Fix search bug when using -R and text contains ANSI color escape sequences. 141 142* Fix crash when using -r with UTF-8 text containing 0x9B bytes. 143 144* Fix display bug when using ' command to move less than one page forward. 145 146* Update GPL to version 3. 147 148====================================================================== 149 150 Major changes between "less" versions 409 and 416 151 152* New --follow-name option makes F command follow the name of a file 153 rather than the file descriptor if an open file is renamed. 154 155* Make searching with -i/-I work correctly with non-ASCII text. 156 157* Fix DJGPP build. 158 159====================================================================== 160 161 Major changes between "less" versions 406 and 409 162 163* Support CSI escape sequences, like SGR escape sequences. 164 165* Fix bug which caused screen to fail to repaint when window is resized. 166 167* Fix bug in using -i and -I flags with non-ASCII text. 168 169* Fix configure bug on systems which don't support langinfo.h. 170 171* Fix crash when searching text containing certain invalid UTF-8 sequences. 172 173====================================================================== 174 175 Major changes between "less" versions 394 and 406 176 177* Allow decimal point in number for % (percent) command. 178 179* Allow decimal point in number for -j option (fraction of screen height). 180 181* Make n command fetch previous pattern from history file on first search. 182 183* Don't rewrite history file if it has not changed. 184 185* Don't move to bottom of screen on first page. 186 187* Don't output extraneous newlines, so copy & pasting lines from the 188 output works better. 189 190* The -c option has been made identical with the -C option. 191 192* Allow "/dev/null" as synomym for "-" in LESSHISTFILE to indicate 193 that no history file should be used. 194 195* Search can now find text which follows a null byte, if the PCRE 196 library is used, or if no-regex searching (ctrl-R) is used. 197 198* Better compatibility with POSIX more specification. 199 200* Make -f work for directories. 201 202* Make "t" cmd traverse tags in the correct order. 203 204* Allow a few binary characters in the input file before warning 205 that the file is binary. 206 207* Don't warn that file is binary if it merely contains ANSI color sequences 208 and -R is in effect. 209 210* Update Unicode character tables. 211 212* Support DESTDIR in Makefile. 213 214* Fix bug when filename contains certain shell metacharacters such as "$". 215 216* Fix bug when resizing the window while waiting for input from a pipe. 217 218* Fix configure bugs. 219 220====================================================================== 221 222 Major changes between "less" versions 382 and 394 223 224* Add history file to save search and shell command history between 225 invocations of less. 226 227* Improve behavior of history list for search and shell commands. 228 229* Add -K (or --quit-on-intr) option to make less exit immediately on ctrl-C. 230 231* Improve handling of UTF-8 files and commands, including better 232 line wrapping and handling double-width chars. 233 234* Added LESSUTFBINFMT environment variable to control display of 235 non-printable characters in a UTF-8 file. 236 237* Add --with-secure option to configure, to make it easier to 238 build a secure version of less. 239 240* Show search matches in the status column even if search highlights 241 are disabled via the -G option or the ESC-u command. 242 243* Improve performance when the file contains very long lines. 244 245* Add "windows" charset. 246 247* Add man page for lessecho. 248 249* Add support for erase2 character, treated same as erase. 250 251* Use ASCII lowercase/uppercase logic when operating on the command line. 252 253* Update makefile for Borland C++ 5.5.1. 254 255* Fix bug in calculating number of pages for %D prompt. 256 257* Fix bug in handling tag file error. 258 259* Fix obscure bug if input file is deleted while viewing help. 260 261* Fix bug handling filenames which include square brackets. 262 263* Fix possible buffer overflow in "global" tag search. 264 265* Fix possible buffer overflow in usage of LESSOPEN and LESSCLOSE. 266 267* Fix buffer overflow in reverse search. 268 269====================================================================== 270 271 Major changes between "less" versions 381 and 382 272 273* Removed some old copyrighted code. 274 This probably breaks OS/9 support. 275 276====================================================================== 277 278 Major changes between "less" versions 378 and 381 279 280* New -L option to disable LESSOPEN processing. 281 282* Further support for large (64 bit) file addressing. 283 Large file support is now set up by the configure script. 284 285* Use autoconf 2.54. 286 Replace configure.in, acconfig.h, defines.h.top with configure.ac. 287 288* Overstriking underscore with underscore is now bold or underlined 289 depending on context. 290 291* Use only 7 spaces for line numbers in -N mode, if possible. 292 293* Fix some bugs in handling overstriking in UTF-8 files. 294 295* Fix some nroff issues in the man page. 296 297====================================================================== 298 299 Major changes between "less" versions 376 and 378 300 301* Bug fixes: 302 Default buffer space is now 64K as documented. 303 Search highlighting works properly when used with -R. 304 Windows version works properly when input file contains carriage returns. 305 Clean up some compiler warnings. 306 307====================================================================== 308 309 Major changes between "less" versions 358 and 376 310 311* -x option can now specify multiple variable-width tab stops. 312 313* -X option no longer disables keypad initialization. 314 New option --no-keypad disables keypad initialization. 315 316* New commands t and T step through multiple tag matches. 317 Added support for "global(1)" tags 318 (see http://www.gnu.org/software/global/global.html). 319 320* New prompt style set by option -Pw defines the message printed 321 while waiting for data in the F command. 322 323* System-wide lesskey file now defaults to sysless in etc directory 324 instead of .sysless in bin directory. 325 Use "configure --sysconfdir=..." to change it. 326 (For backwards compatibility, .sysless in bin is still recognized.) 327 328* Pressing RightArrow or LeftArrow while entering a number now shifts 329 the display N columns rather than editing the number itself. 330 331* Status column (enabled with -J) now shows search results. 332 333* Windows version sets window title. 334 335* Default LESSCHARSET for MS-DOS versions is now "dos". 336 337* Searching works better with ANSI (SGR) escape sequences. 338 ANSI color escape sequences are now supported in the MS-DOS (DJGPP) version. 339 340* Improved performance in reading very large pipes. 341 342* Eliminated some dependencies on file offets being 32 bits. 343 344* Fixed problems when viewing files with very long lines. 345 346* Fixed overstriking in UTF-8 mode, and overstriking tabs. 347 348* Improved horizontal shifting of text using -R option with ANSI color. 349 350* Improved handling of filenames containing shell metacharacters. 351 352* Some fixes for EBCDIC systems. 353 354* Some fixes for OS/2 systems. 355 356====================================================================== 357 358 Major changes between "less" versions 354 and 358 359 360* Add -J (--status-column) option to display a status column. 361 362* Add -# (--shift) option to set default horizontal shift distance. 363 Default horizontal shift distance is now one-half screen width. 364 365* Horizontal shifting does not shift line numbers if -N is in effect. 366 367* Horizontal shifting acts as though -S were set, to avoid confusion. 368 369====================================================================== 370 371 372 Major changes between "less" versions 352 and 354 373 374* Allow space after numeric-valued command line options. 375 376* Fix problem with configuring terminal libraries on some systems. 377 378* Add support for PCRE regular expression library. 379 380* Add --with-regex option to configure to allow manually selecting 381 a regular expression library. 382 383* Fix bug compiling with SECURE = 1. 384 385====================================================================== 386 387 388 Major changes between "less" versions 346 and 352 389 390* Enable UTF-8 if "UTF-8" appears in locale-related environment variables. 391 392* Add --with-editor option to configure script. 393 394* The -M prompt and = message now show the top and bottom line number. 395 396* Fix bug in running the editor on a file whose name contains quotes, etc. 397 398* Fix bug in horizontal scrolling of long lines. 399 400* Fix bug in doing :d on a file which contains marks. 401 402* Fix bug causing cleared lines to sometimes be filled with standout, 403 bold, underline, etc. on certain terminals. 404 405* Fixes for MS-DOS (DJGPP) version. 406 407====================================================================== 408 409 410 Major changes between "less" versions 340 and 346 411 412* The UTF-8 character set is now supported. 413 414* The default character set is now latin1 rather than ascii. 415 416* New option -R (--RAW-CONTROL-CHARS) is like -r but handles 417 long (wrapped) lines correctly, as long as the input contains only 418 normal text and ANSI color escape sequences. 419 420* New option -F (--quit-if-one-screen) quits if the text fits on 421 the first screen. 422 423* The -w option now highlights the target line of a g or p command. 424 425* A system-wide lesskey file is supported (LESSKEY_SYSTEM). 426 427* New escape for prompt strings: %c is replaced by column number. 428 429* New escape for prompt strings: %P is replaced by percentage into 430 file, based on line number rather than byte offset. 431 432* HOME and END keys now jump to beginning of file or end of file. 433 434====================================================================== 435 436 437 Major changes between "less" versions 337 and 340 438 439* Command line options for less may now be given in either the old 440 single-letter form, or a new long name form (--option-name). 441 See the less man page or "less --help" for the list of long option names. 442 443* Command line options for lesskey may now be given in a new long name 444 form. See the lesskey man page for the list of long option names. 445 446* New command -- toggles an option using the long option name. 447 448* New command __ queries an option using the long option name. 449 450* The old -- command is renamed as -!. 451 452* If a ^P is entered between the dash and the option letter of the - 453 command, the message describing the new setting is suppressed. 454 455* Lesskey files may now contain \k escape sequences to represent the 456 "special" keys (arrows, PAGE-UP/PAGE-DOWN, HOME, END, INSERT, DELETE). 457 458* New command :d removes the current file from the list of files. 459 460* New option -~ (like -w before version 335) 461 suppresses tildes after end-of-file. 462 463* Less is now released under the GNU General Public License. 464 465====================================================================== 466 467 468 Major changes between "less" versions 335 and 337 469 470* Fixed bugs in "make install". 471 472====================================================================== 473 474 475 Major changes between "less" versions 332 and 335 476 477* The old -w flag (suppress tildes after end-of-file) has been removed. 478 479* New -w flag highlights the first new line after a forward-screen. 480 481* New -W flag highlights the first new line after any forward movement. 482 483* Window resize works even if LINES and/or COLUMNS environment 484 variables are incorrect. 485 486* New percent escapes for prompt strings: 487 %d is replaced by the page number, and 488 %D is replaced by the number of pages in the file. 489 490* Added charsets "iso8859" and "ebcdic". 491 492* In Windows version, uses HOMEDRIVE and HOMEPATH if HOME is not defined. 493 494* Fixed some bugs causing incorrect display on DOS/Windows. 495 496====================================================================== 497 498 499 Major changes between "less" versions 330 and 332 500 501* Filenames from the command line are entered into the command history, 502 so UPARROW/DOWNARROW can be used to retrieve them from the :e command. 503 504* Now works correctly on Windows when using a scrolling terminal 505 window (buffer larger than display window). 506 507* On Windows, now restores the console screen on exit. 508 Use -X to get the old behavior. 509 510* Fixed bug on Windows when CAPS-LOCK or NUM-LOCK is pressed. 511 512* Fixed bug on Windows when piping output of an interactive program. 513 514* Fixed bug in tags file processing when tags file has DOS-style 515 line terminators (CR/LF). 516 517* Fixed compilation problem on OS/2. 518 519====================================================================== 520 521 522 Major changes between "less" versions 321 and 330 523 524* Now supports filenames containing spaces (in double quotes). 525 New option -" can be used to change the quoting characters. 526 527* In filename completion, a slash is appended to a directory name. 528 If the environment variable LESSSEPARATOR is set, the value of 529 that variable, rather than a slash, is appended. 530 531* LeftArrow and RightArrow are same as ESC-[ and ESC-]. 532 533* Added commands ESC-( and ESC-), same as ESC-[ and ESC-]. 534 535* A "quit" command defined in a lesskey file may now have an "extra" 536 string, which is used to return an exit code from less when it quits. 537 538* New environment variables LESSMETACHARS and LESSMETAESCAPE provide 539 more control over how less interfaces to the shell. 540 541* Ported to Microsoft Visual C compiler for Windows. 542 543* Ported to DJGPP compiler for MS-DOS. 544 545* Bug fixes. 546 547====================================================================== 548 549 550 Major changes between "less" versions 291 and 321 551 552* Command line at bottom of screen now scrolls, so it can be longer 553 than the screen width. 554 555* New commands ESC-] and ESC-[ scroll the display horizontally. 556 557* New command ESC-SPACE scrolls forward a full screen, even if it 558 hits end-of-file. 559 560* Alternate modifiers for search commands: ^N is same as !, 561 ^F is same as @, and ^E is same as *. 562 563* New modifier for search commands: ^K means highlight the matches 564 currently on-screen, but don't move to the first match. 565 566* New modifier for search commands: ^R means don't use regular 567 expressions in the search. 568 569* Environment variable LESSKEY gives name of default lesskey file. 570 571* Environment variable LESSSECURE will force less to run in 572 "secure" mode. 573 574* Command line argument "--" signals that the rest of the arguments 575 are files (not option flags). 576 577* Help file (less.hlp) is no longer installed. Help text is now 578 embedded in the less executable itself. 579 580* Added -Ph to change the prompt for the help text. 581 Added -Ps to change the default short prompt (same as plain -P). 582 583* Ported to the Borland C compiler for MS-DOS. 584 585* Ported to Windows 95 & Windows NT. 586 587* Ported to OS-9. 588 589* Ported to GNU Hurd. 590 591====================================================================== 592 593 594 Major changes between "less" versions 290 and 291 595 596* Less environment variables can be specified in lesskey files. 597 598* Fixed MS-DOS build. 599 600====================================================================== 601 602 603 Major changes between "less" versions 278 and 290 604 605* Accepts GNU-style options "--help" and "--version". 606 607* OS/2 version looks for less.ini in $HOME before $INIT and $PATH. 608 609* Bug fixes 610 611====================================================================== 612 613 614 Major changes between "less" versions 252 and 278 615 616* A LESSOPEN preprocessor may now pipe the converted file data to less, 617 rather than writing it to a temporary file. 618 619* Search pattern highlighting has been fixed. It now highlights 620 reliably, even if a string is split across two screen lines, 621 contains TABs, etc. 622 623* The -F flag (which suppress search highlighting) has been changed 624 to -G. A new flag, -g, changes search highlighting to highlight 625 only the string found by the last search command, instead of all 626 strings which match the last search command. 627 628* New flag -I acts like -i, but ignores case even if the search 629 pattern contains uppercase letters. 630 631* Less now checks for the environment variable VISUAL before EDITOR. 632 633* Ported to OS/2. 634 635====================================================================== 636 637 638 Major changes between "less" versions 237 and 252 639 640* Changes in line-editing keys: 641 The literal key is now ^V or ^A rather than \ (backslash). 642 Filename completion commands (TAB and ^L) are disabled 643 when typing a search pattern. 644 645* Line-editing command keys can be redefined using lesskey. 646 647* Lesskey with no input file defaults to $HOME/.lesskey 648 rather than standard input. 649 650* New option -V displays version number of less. 651 652* New option -V displays version number of lesskey. 653 654* Help file less.hlp is now installed by default in /usr/local/share 655 rather than /usr/local/lib. 656 657 658====================================================================== 659 660 661 Major changes between "less" versions 170 and 237 662 663* By popular demand, text which matches the current search pattern 664 is highlighted. New -F flag disables this feature. 665 666* Henry Spencer's regexp.c is now included, for systems which do not 667 have a regular expression library. 668 regexp.c is Copyright (c) 1986 by University of Toronto. 669 670* New line-editing keys, including command history (arrow keys) and 671 filename completion (TAB). 672 673* Input preprocessor allows modification of input files (e.g. uncompress) 674 via LESSOPEN/LESSCLOSE environment variables. 675 676* New -X flag disables sending termcap "ti" and "te" (initialize and 677 deinitialize) strings to the terminal. 678 679* Changing -i from within less now correctly affects a subsequent 680 repeated search. 681 682* Searching for underlined or overstruck text now works when the -u 683 flag is in effect, rather than the -i flag. 684 685* Use setlocale (LANG and LC_CTYPE environment variables) to determine 686 the character set if LESSCHARSET/LESSCHARDEF are not set. 687 688* The default format for displaying binary characters is now standout 689 (reverse video) rather than blinking. This can still be changed by 690 setting the LESSBINFMT environment variable. 691 692* Use autoconf installation technology. 693 694* Ported to MS-DOS. 695 696 ******************************** 697 Things that may surprise you 698 ******************************** 699 700* When you enter text at the bottom of the screen (search string, 701 filename, etc.), some keys act different than previously. 702 Specifically, \ (backslash), ESC, TAB, BACKTAB, and control-L 703 now have line editing functions. 704 705* Some previous unofficial versions of less were able to display 706 compressed files. The new LESSOPEN/LESSCLOSE feature now provides 707 this functionality in a different way. 708 709* Some previous unofficial versions of less provided a -Z flag to 710 set the number of lines of text to retain between full screen scrolls. 711 The -z-n flag (that is, -z with a negative number) provides this 712 functionality. 713 714 715====================================================================== 716 717 718 Major changes between "less" versions 123 and 170 719 720* New option -j allows target lines to be positioned anywhere on screen. 721 722* New option -S truncates displayed line at the screen width, 723 rather than wrapping onto the next line. 724 725* New option -y limits amount of forward scroll. 726 727* New option -T specifies a "tags" file. 728 729* Non-printable, non-control characters are displayed in octal. 730 Such characters, as well as control characters, are displayed 731 in blinking mode. 732 733* New command -+ sets an option to its default. 734* New command -- sets an option to the opposite of its default. 735 736* Lesskey file may have a string appended to a key's action, 737 which acts as though typed in after the command. 738 739* New commands ESC-^F and ESC-^B match arbitrary types of brackets. 740 741* New command F monitors a growing file (like "tail -f"). 742 743* New command | pipes a section of the input file into a shell command. 744 745* New command :x directly jumps to a file in the command line list. 746 747* Search commands have been enhanced and reorganized: 748 n Repeat search, same direction. 749 N Repeat search, opposite direction. 750 ESC-/ Search forward thru file boundaries 751 ESC-? Search backward thru file boundaries 752 ESC-n Repeat search thru file boundaries, same direction. 753 ESC-N Repeat search thru file boundaries, opposite direction. 754 Special character * causes search to search thru file boundaries. 755 Special character @ causes search to begin at start/end of file list. 756 757* Examining a new file adds it to the command line list. 758 A list of files, or an expression which matches more than one file, 759 may be examined; all of them are added to the command line list. 760 761* Environment variables LESSCHARSET and LESSCHARDEF can define 762 a non-ASCII character set. 763 764* Partial support for MSDOS, including options -R for repainting screen 765 on quit, -v/-V to select video mode, and -W to change window size. 766 767 768====================================================================== 769 770 771 Major changes between "less" versions 97 and 123 772 773* New option (-N) causes line numbers to be displayed in the 774 text of the file (like vi "set nu"). 775 776* New option (-?) prints help message immediately. 777 778* New option (-r) displays "raw" control characters, without 779 mapping them to ^X notation. 780 781* New option (-f) forces less to open non-regular files 782 (directories, etc). 783 784* New option (-k) can be used to specify lesskey files by name. 785 786* New option (-y) can be used to set a forward scroll limit 787 (like -h sets a backward scroll limit). 788 789* File marks (set by the m command) are now preserved when a new 790 file is edited. The ' command can thus be used to switch files. 791 792* New command ESC-/ searches all files (on the command line) 793 for a pattern. 794 795* New command ESC-n repeats previous search, spanning files. 796 797* The N command has been changed to repeat the previous search 798 in the reverse direction. The old N command is still available 799 via :n. 800 801* New command ESC-N repeats previous search in the reverse 802 direction and spanning files. 803 804* 8 bit characters are now supported. A new option (-g) can be 805 used to strip off the eighth bit (the previous behavior). 806 807* Options which take a following string (like -t) may now 808 optionally have a space between the option letter and the string. 809 810* Six new commands { } ( ) [ and ] can be used to match 811 brackets of specific types, similar to vi % command. 812 813* New commands z and w move forward/backward one window and 814 simultaneously set the window size. 815 816* Prompt string expansion now has %L for line number of the last 817 line in the file, and %E for the name of the editor. 818 Also, % escapes which refer to a line (b=bottom, t=top, etc.) 819 can use j for the jump target line. 820 821* New environment variable LESSEDIT can be used to tailor the 822 command string passed to the editor by the v command. 823 824* Examining a file which was previously examined will return 825 to the same position in the file. 826 827* A "%" is expanded to the current filename and a "#" to the 828 previous filename, in both shell commands and the E command. 829 (Previously % worked only in shell commands and # worked 830 only in the E command.) 831 832* New command ":ta" is equivalent to "-t". 833 834* New command "s" is equivalent to "-l". 835 836* The - command may be followed by "+X" to revert to the default 837 for option X, or "-X" to get the opposite of the default. 838 839* Lesskey files may now include characters after the action as 840 extra input to be parsed after the action; for example: 841 "toggle-option X" to toggle a specific option X. 842 843 844 845 846 847