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