4 ======================================================================
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.
10 To report bugs, suggestions or comments, send email to bug-less@gnu.org
12 ======================================================================
14 Major changes between "less" versions 458 and 471
16 * Don't overwrite history file; just append to it.
18 * New command ESC-G goes to end of currently buffered data in a pipe.
20 * In more-compatible mode, make the -p option apply to every file opened,
21 not just the first one.
23 * In more-compatible mode, change the -e option to work like -E, not -EF.
25 * Treat multiple CRs before LF are like one CR (all the CRs are hidden).
27 * Allow "extra" string in lesskey file to append to a multi-char command
28 (like a search pattern), without executing the command.
30 * Ignore -u/-U setting while viewing help file, so that
31 underline and bold chars are displayed correctly.
33 * Improve detection of "binary" files in UTF-8 mode.
35 * Fix bug with ++ commands.
37 * Fix bugs and improve performance in ampersand filtering.
39 * Automate construction of Unicode tables from Unicode database.
41 ======================================================================
43 Major changes between "less" versions 451 and 458
45 * Allow backslash escaping of metacharacters in LESS environment variable
46 after the --use-backslash option.
48 * Don't quit if syntax errors are found in command line options.
50 * Increase sizes of some internal buffers.
52 * Fix configure bug with --with-regex=none.
54 * Fix crash with "stty rows 0".
56 * Fix Win32 attribute display bug.
58 * Fix display bug when using up/down arrow on the command line.
60 ======================================================================
62 Major changes between "less" versions 444 and 451
64 * Add ESC-F command to keep reading data until a pattern is found.
66 * Use exit code of LESSOPEN script if LESSOPEN starts with "||".
68 * When up/down arrow is used on the command line immediately after
69 typing text, the next command starting with that text is found.
71 * Add support for GNU regex.
73 * Add configure option --with-regex=none and fix compile errors
74 when compiling with no regex library.
76 * Fix bugs handling SGR sequences in Win32.
78 * Fix possible crashes caused by malformed LESSOPEN or
81 * Fix bug highlighting text which is discontiguous in the file
82 due to backspace processing.
84 * Fix bug in displaying status column when scrolling backwards
85 with -J and -S in effect.
87 ======================================================================
89 Major changes between "less" versions 443 and 444
91 * Fix bug in unget handling that can cause strange effects on the
94 * Remove vestiges of obsolete -l option that can cause a crash.
96 ======================================================================
98 Major changes between "less" versions 436 and 443
100 * Change search behavior such that when a search is given an explicit
101 pattern, the entire displayed screen is included in the search and
102 not just the portion after the target line.
104 * Add -A option to change search behavior to the old way: only
105 the portion of the screen after the target line is searched.
107 * Add %F formatting to prompt strings, replaced by the last component
110 * Control-G while editing a command exits the command.
112 * Less now exits with status 2 if control-C is pressed and -K is in effect.
114 * Fix "ungetc overflow" when passing long commands via the -p option.
116 * Fix bug in using line filtering via the & command
117 in combination with -i and -I.
119 * Fix bug in handling negative arguments to the -j option.
121 * Fix bug in handling %t in prompt strings.
123 * Improve handling of long option names.
125 * Improve percentage calculation for very large files.
127 ======================================================================
129 Major changes between "less" versions 429 and 436
131 * Don't pass "-" to non-pipe LESSOPEN unless it starts with "-".
133 * Allow a fraction as the argument to the -# (--shift) option.
135 * Fix highlight bug when underlined/overstruck text matches at end of line.
137 * Fix non-regex searches with ctrl-R.
139 ======================================================================
141 Major changes between "less" versions 424 and 429
143 * LESSOPEN pipe will now be used on standard input, if the LESSOPEN
144 environment variable begins with "|-".
146 * The -D option with one number now means use the normal background color.
148 * Don't change permissions on history file if it is not a regular file.
150 * Fix non-ANSI-compliant code that caused problems with some compilers.
152 * Fix binary file detection in UTF-8 mode.
154 * Fix display problems with long lines on "ignaw" terminals.
156 * Fix problem interrupting the line number calculation for initial prompt.
158 * Fix SGR emulation when dealing with multiple attributes (eg. bold+underline).
160 * Fix highlight bug when searching for underlined/overstruck text.
162 ======================================================================
164 Major changes between "less" versions 418 and 424
166 * New "&" command allows filtering of lines based on a pattern.
168 * Status column now displays a search match, even if the matched
169 string is scrolled off screen because -S is in effect.
171 * Improve behavior of -F option.
173 * Allow CSI character (0x9B) to work in UTF-8 mode.
175 * Output carriage return at startup in case terminal doesn't default
178 * Fix bug in '' (quote, quote) command after G command.
180 ======================================================================
182 Major changes between "less" versions 416 and 418
184 * Color escape sequences are now supported in WIN32 build.
186 * Makefile now uses EXEEXT feature of autoconf.
188 * Fix search bug when using -R and text contains ANSI color escape sequences.
190 * Fix crash when using -r with UTF-8 text containing 0x9B bytes.
192 * Fix display bug when using ' command to move less than one page forward.
194 * Update GPL to version 3.
196 ======================================================================
198 Major changes between "less" versions 409 and 416
200 * New --follow-name option makes F command follow the name of a file
201 rather than the file descriptor if an open file is renamed.
203 * Make searching with -i/-I work correctly with non-ASCII text.
207 ======================================================================
209 Major changes between "less" versions 406 and 409
211 * Support CSI escape sequences, like SGR escape sequences.
213 * Fix bug which caused screen to fail to repaint when window is resized.
215 * Fix bug in using -i and -I flags with non-ASCII text.
217 * Fix configure bug on systems which don't support langinfo.h.
219 * Fix crash when searching text containing certain invalid UTF-8 sequences.
221 ======================================================================
223 Major changes between "less" versions 394 and 406
225 * Allow decimal point in number for % (percent) command.
227 * Allow decimal point in number for -j option (fraction of screen height).
229 * Make n command fetch previous pattern from history file on first search.
231 * Don't rewrite history file if it has not changed.
233 * Don't move to bottom of screen on first page.
235 * Don't output extraneous newlines, so copy & pasting lines from the
238 * The -c option has been made identical with the -C option.
240 * Allow "/dev/null" as synomym for "-" in LESSHISTFILE to indicate
241 that no history file should be used.
243 * Search can now find text which follows a null byte, if the PCRE
244 library is used, or if no-regex searching (ctrl-R) is used.
246 * Better compatibility with POSIX more specification.
248 * Make -f work for directories.
250 * Make "t" cmd traverse tags in the correct order.
252 * Allow a few binary characters in the input file before warning
253 that the file is binary.
255 * Don't warn that file is binary if it merely contains ANSI color sequences
258 * Update Unicode character tables.
260 * Support DESTDIR in Makefile.
262 * Fix bug when filename contains certain shell metacharacters such as "$".
264 * Fix bug when resizing the window while waiting for input from a pipe.
266 * Fix configure bugs.
268 ======================================================================
270 Major changes between "less" versions 382 and 394
272 * Add history file to save search and shell command history between
275 * Improve behavior of history list for search and shell commands.
277 * Add -K (or --quit-on-intr) option to make less exit immediately on ctrl-C.
279 * Improve handling of UTF-8 files and commands, including better
280 line wrapping and handling double-width chars.
282 * Added LESSUTFBINFMT environment variable to control display of
283 non-printable characters in a UTF-8 file.
285 * Add --with-secure option to configure, to make it easier to
286 build a secure version of less.
288 * Show search matches in the status column even if search highlights
289 are disabled via the -G option or the ESC-u command.
291 * Improve performance when the file contains very long lines.
293 * Add "windows" charset.
295 * Add man page for lessecho.
297 * Add support for erase2 character, treated same as erase.
299 * Use ASCII lowercase/uppercase logic when operating on the command line.
301 * Update makefile for Borland C++ 5.5.1.
303 * Fix bug in calculating number of pages for %D prompt.
305 * Fix bug in handling tag file error.
307 * Fix obscure bug if input file is deleted while viewing help.
309 * Fix bug handling filenames which include square brackets.
311 * Fix possible buffer overflow in "global" tag search.
313 * Fix possible buffer overflow in usage of LESSOPEN and LESSCLOSE.
315 * Fix buffer overflow in reverse search.
317 ======================================================================
319 Major changes between "less" versions 381 and 382
321 * Removed some old copyrighted code.
322 This probably breaks OS/9 support.
324 ======================================================================
326 Major changes between "less" versions 378 and 381
328 * New -L option to disable LESSOPEN processing.
330 * Further support for large (64 bit) file addressing.
331 Large file support is now set up by the configure script.
334 Replace configure.in, acconfig.h, defines.h.top with configure.ac.
336 * Overstriking underscore with underscore is now bold or underlined
337 depending on context.
339 * Use only 7 spaces for line numbers in -N mode, if possible.
341 * Fix some bugs in handling overstriking in UTF-8 files.
343 * Fix some nroff issues in the man page.
345 ======================================================================
347 Major changes between "less" versions 376 and 378
350 Default buffer space is now 64K as documented.
351 Search highlighting works properly when used with -R.
352 Windows version works properly when input file contains carriage returns.
353 Clean up some compiler warnings.
355 ======================================================================
357 Major changes between "less" versions 358 and 376
359 * -x option can now specify multiple variable-width tab stops.
361 * -X option no longer disables keypad initialization.
362 New option --no-keypad disables keypad initialization.
364 * New commands t and T step through multiple tag matches.
365 Added support for "global(1)" tags
366 (see http://www.gnu.org/software/global/global.html).
368 * New prompt style set by option -Pw defines the message printed
369 while waiting for data in the F command.
371 * System-wide lesskey file now defaults to sysless in etc directory
372 instead of .sysless in bin directory.
373 Use "configure --sysconfdir=..." to change it.
374 (For backwards compatibility, .sysless in bin is still recognized.)
376 * Pressing RightArrow or LeftArrow while entering a number now shifts
377 the display N columns rather than editing the number itself.
379 * Status column (enabled with -J) now shows search results.
381 * Windows version sets window title.
383 * Default LESSCHARSET for MS-DOS versions is now "dos".
385 * Searching works better with ANSI (SGR) escape sequences.
386 ANSI color escape sequences are now supported in the MS-DOS (DJGPP) version.
388 * Improved performance in reading very large pipes.
390 * Eliminated some dependencies on file offets being 32 bits.
392 * Fixed problems when viewing files with very long lines.
394 * Fixed overstriking in UTF-8 mode, and overstriking tabs.
396 * Improved horizontal shifting of text using -R option with ANSI color.
398 * Improved handling of filenames containing shell metacharacters.
400 * Some fixes for EBCDIC systems.
402 * Some fixes for OS/2 systems.
404 ======================================================================
406 Major changes between "less" versions 354 and 358
408 * Add -J (--status-column) option to display a status column.
410 * Add -# (--shift) option to set default horizontal shift distance.
411 Default horizontal shift distance is now one-half screen width.
413 * Horizontal shifting does not shift line numbers if -N is in effect.
415 * Horizontal shifting acts as though -S were set, to avoid confusion.
417 ======================================================================
420 Major changes between "less" versions 352 and 354
422 * Allow space after numeric-valued command line options.
424 * Fix problem with configuring terminal libraries on some systems.
426 * Add support for PCRE regular expression library.
428 * Add --with-regex option to configure to allow manually selecting
429 a regular expression library.
431 * Fix bug compiling with SECURE = 1.
433 ======================================================================
436 Major changes between "less" versions 346 and 352
438 * Enable UTF-8 if "UTF-8" appears in locale-related environment variables.
440 * Add --with-editor option to configure script.
442 * The -M prompt and = message now show the top and bottom line number.
444 * Fix bug in running the editor on a file whose name contains quotes, etc.
446 * Fix bug in horizontal scrolling of long lines.
448 * Fix bug in doing :d on a file which contains marks.
450 * Fix bug causing cleared lines to sometimes be filled with standout,
451 bold, underline, etc. on certain terminals.
453 * Fixes for MS-DOS (DJGPP) version.
455 ======================================================================
458 Major changes between "less" versions 340 and 346
460 * The UTF-8 character set is now supported.
462 * The default character set is now latin1 rather than ascii.
464 * New option -R (--RAW-CONTROL-CHARS) is like -r but handles
465 long (wrapped) lines correctly, as long as the input contains only
466 normal text and ANSI color escape sequences.
468 * New option -F (--quit-if-one-screen) quits if the text fits on
471 * The -w option now highlights the target line of a g or p command.
473 * A system-wide lesskey file is supported (LESSKEY_SYSTEM).
475 * New escape for prompt strings: %c is replaced by column number.
477 * New escape for prompt strings: %P is replaced by percentage into
478 file, based on line number rather than byte offset.
480 * HOME and END keys now jump to beginning of file or end of file.
482 ======================================================================
485 Major changes between "less" versions 337 and 340
487 * Command line options for less may now be given in either the old
488 single-letter form, or a new long name form (--option-name).
489 See the less man page or "less --help" for the list of long option names.
491 * Command line options for lesskey may now be given in a new long name
492 form. See the lesskey man page for the list of long option names.
494 * New command -- toggles an option using the long option name.
496 * New command __ queries an option using the long option name.
498 * The old -- command is renamed as -!.
500 * If a ^P is entered between the dash and the option letter of the -
501 command, the message describing the new setting is suppressed.
503 * Lesskey files may now contain \k escape sequences to represent the
504 "special" keys (arrows, PAGE-UP/PAGE-DOWN, HOME, END, INSERT, DELETE).
506 * New command :d removes the current file from the list of files.
508 * New option -~ (like -w before version 335)
509 suppresses tildes after end-of-file.
511 * Less is now released under the GNU General Public License.
513 ======================================================================
516 Major changes between "less" versions 335 and 337
518 * Fixed bugs in "make install".
520 ======================================================================
523 Major changes between "less" versions 332 and 335
525 * The old -w flag (suppress tildes after end-of-file) has been removed.
527 * New -w flag highlights the first new line after a forward-screen.
529 * New -W flag highlights the first new line after any forward movement.
531 * Window resize works even if LINES and/or COLUMNS environment
532 variables are incorrect.
534 * New percent escapes for prompt strings:
535 %d is replaced by the page number, and
536 %D is replaced by the number of pages in the file.
538 * Added charsets "iso8859" and "ebcdic".
540 * In Windows version, uses HOMEDRIVE and HOMEPATH if HOME is not defined.
542 * Fixed some bugs causing incorrect display on DOS/Windows.
544 ======================================================================
547 Major changes between "less" versions 330 and 332
549 * Filenames from the command line are entered into the command history,
550 so UPARROW/DOWNARROW can be used to retrieve them from the :e command.
552 * Now works correctly on Windows when using a scrolling terminal
553 window (buffer larger than display window).
555 * On Windows, now restores the console screen on exit.
556 Use -X to get the old behavior.
558 * Fixed bug on Windows when CAPS-LOCK or NUM-LOCK is pressed.
560 * Fixed bug on Windows when piping output of an interactive program.
562 * Fixed bug in tags file processing when tags file has DOS-style
563 line terminators (CR/LF).
565 * Fixed compilation problem on OS/2.
567 ======================================================================
570 Major changes between "less" versions 321 and 330
572 * Now supports filenames containing spaces (in double quotes).
573 New option -" can be used to change the quoting characters.
575 * In filename completion, a slash is appended to a directory name.
576 If the environment variable LESSSEPARATOR is set, the value of
577 that variable, rather than a slash, is appended.
579 * LeftArrow and RightArrow are same as ESC-[ and ESC-].
581 * Added commands ESC-( and ESC-), same as ESC-[ and ESC-].
583 * A "quit" command defined in a lesskey file may now have an "extra"
584 string, which is used to return an exit code from less when it quits.
586 * New environment variables LESSMETACHARS and LESSMETAESCAPE provide
587 more control over how less interfaces to the shell.
589 * Ported to Microsoft Visual C compiler for Windows.
591 * Ported to DJGPP compiler for MS-DOS.
595 ======================================================================
598 Major changes between "less" versions 291 and 321
600 * Command line at bottom of screen now scrolls, so it can be longer
601 than the screen width.
603 * New commands ESC-] and ESC-[ scroll the display horizontally.
605 * New command ESC-SPACE scrolls forward a full screen, even if it
608 * Alternate modifiers for search commands: ^N is same as !,
609 ^F is same as @, and ^E is same as *.
611 * New modifier for search commands: ^K means highlight the matches
612 currently on-screen, but don't move to the first match.
614 * New modifier for search commands: ^R means don't use regular
615 expressions in the search.
617 * Environment variable LESSKEY gives name of default lesskey file.
619 * Environment variable LESSSECURE will force less to run in
622 * Command line argument "--" signals that the rest of the arguments
623 are files (not option flags).
625 * Help file (less.hlp) is no longer installed. Help text is now
626 embedded in the less executable itself.
628 * Added -Ph to change the prompt for the help text.
629 Added -Ps to change the default short prompt (same as plain -P).
631 * Ported to the Borland C compiler for MS-DOS.
633 * Ported to Windows 95 & Windows NT.
637 * Ported to GNU Hurd.
639 ======================================================================
642 Major changes between "less" versions 290 and 291
644 * Less environment variables can be specified in lesskey files.
646 * Fixed MS-DOS build.
648 ======================================================================
651 Major changes between "less" versions 278 and 290
653 * Accepts GNU-style options "--help" and "--version".
655 * OS/2 version looks for less.ini in $HOME before $INIT and $PATH.
659 ======================================================================
662 Major changes between "less" versions 252 and 278
664 * A LESSOPEN preprocessor may now pipe the converted file data to less,
665 rather than writing it to a temporary file.
667 * Search pattern highlighting has been fixed. It now highlights
668 reliably, even if a string is split across two screen lines,
671 * The -F flag (which suppress search highlighting) has been changed
672 to -G. A new flag, -g, changes search highlighting to highlight
673 only the string found by the last search command, instead of all
674 strings which match the last search command.
676 * New flag -I acts like -i, but ignores case even if the search
677 pattern contains uppercase letters.
679 * Less now checks for the environment variable VISUAL before EDITOR.
683 ======================================================================
686 Major changes between "less" versions 237 and 252
688 * Changes in line-editing keys:
689 The literal key is now ^V or ^A rather than \ (backslash).
690 Filename completion commands (TAB and ^L) are disabled
691 when typing a search pattern.
693 * Line-editing command keys can be redefined using lesskey.
695 * Lesskey with no input file defaults to $HOME/.lesskey
696 rather than standard input.
698 * New option -V displays version number of less.
700 * New option -V displays version number of lesskey.
702 * Help file less.hlp is now installed by default in /usr/local/share
703 rather than /usr/local/lib.
706 ======================================================================
709 Major changes between "less" versions 170 and 237
711 * By popular demand, text which matches the current search pattern
712 is highlighted. New -F flag disables this feature.
714 * Henry Spencer's regexp.c is now included, for systems which do not
715 have a regular expression library.
716 regexp.c is Copyright (c) 1986 by University of Toronto.
718 * New line-editing keys, including command history (arrow keys) and
719 filename completion (TAB).
721 * Input preprocessor allows modification of input files (e.g. uncompress)
722 via LESSOPEN/LESSCLOSE environment variables.
724 * New -X flag disables sending termcap "ti" and "te" (initialize and
725 deinitialize) strings to the terminal.
727 * Changing -i from within less now correctly affects a subsequent
730 * Searching for underlined or overstruck text now works when the -u
731 flag is in effect, rather than the -i flag.
733 * Use setlocale (LANG and LC_CTYPE environment variables) to determine
734 the character set if LESSCHARSET/LESSCHARDEF are not set.
736 * The default format for displaying binary characters is now standout
737 (reverse video) rather than blinking. This can still be changed by
738 setting the LESSBINFMT environment variable.
740 * Use autoconf installation technology.
744 ********************************
745 Things that may surprise you
746 ********************************
748 * When you enter text at the bottom of the screen (search string,
749 filename, etc.), some keys act different than previously.
750 Specifically, \ (backslash), ESC, TAB, BACKTAB, and control-L
751 now have line editing functions.
753 * Some previous unofficial versions of less were able to display
754 compressed files. The new LESSOPEN/LESSCLOSE feature now provides
755 this functionality in a different way.
757 * Some previous unofficial versions of less provided a -Z flag to
758 set the number of lines of text to retain between full screen scrolls.
759 The -z-n flag (that is, -z with a negative number) provides this
763 ======================================================================
766 Major changes between "less" versions 123 and 170
768 * New option -j allows target lines to be positioned anywhere on screen.
770 * New option -S truncates displayed line at the screen width,
771 rather than wrapping onto the next line.
773 * New option -y limits amount of forward scroll.
775 * New option -T specifies a "tags" file.
777 * Non-printable, non-control characters are displayed in octal.
778 Such characters, as well as control characters, are displayed
781 * New command -+ sets an option to its default.
782 * New command -- sets an option to the opposite of its default.
784 * Lesskey file may have a string appended to a key's action,
785 which acts as though typed in after the command.
787 * New commands ESC-^F and ESC-^B match arbitrary types of brackets.
789 * New command F monitors a growing file (like "tail -f").
791 * New command | pipes a section of the input file into a shell command.
793 * New command :x directly jumps to a file in the command line list.
795 * Search commands have been enhanced and reorganized:
796 n Repeat search, same direction.
797 N Repeat search, opposite direction.
798 ESC-/ Search forward thru file boundaries
799 ESC-? Search backward thru file boundaries
800 ESC-n Repeat search thru file boundaries, same direction.
801 ESC-N Repeat search thru file boundaries, opposite direction.
802 Special character * causes search to search thru file boundaries.
803 Special character @ causes search to begin at start/end of file list.
805 * Examining a new file adds it to the command line list.
806 A list of files, or an expression which matches more than one file,
807 may be examined; all of them are added to the command line list.
809 * Environment variables LESSCHARSET and LESSCHARDEF can define
810 a non-ASCII character set.
812 * Partial support for MSDOS, including options -R for repainting screen
813 on quit, -v/-V to select video mode, and -W to change window size.
816 ======================================================================
819 Major changes between "less" versions 97 and 123
821 * New option (-N) causes line numbers to be displayed in the
822 text of the file (like vi "set nu").
824 * New option (-?) prints help message immediately.
826 * New option (-r) displays "raw" control characters, without
827 mapping them to ^X notation.
829 * New option (-f) forces less to open non-regular files
832 * New option (-k) can be used to specify lesskey files by name.
834 * New option (-y) can be used to set a forward scroll limit
835 (like -h sets a backward scroll limit).
837 * File marks (set by the m command) are now preserved when a new
838 file is edited. The ' command can thus be used to switch files.
840 * New command ESC-/ searches all files (on the command line)
843 * New command ESC-n repeats previous search, spanning files.
845 * The N command has been changed to repeat the previous search
846 in the reverse direction. The old N command is still available
849 * New command ESC-N repeats previous search in the reverse
850 direction and spanning files.
852 * 8 bit characters are now supported. A new option (-g) can be
853 used to strip off the eighth bit (the previous behavior).
855 * Options which take a following string (like -t) may now
856 optionally have a space between the option letter and the string.
858 * Six new commands { } ( ) [ and ] can be used to match
859 brackets of specific types, similar to vi % command.
861 * New commands z and w move forward/backward one window and
862 simultaneously set the window size.
864 * Prompt string expansion now has %L for line number of the last
865 line in the file, and %E for the name of the editor.
866 Also, % escapes which refer to a line (b=bottom, t=top, etc.)
867 can use j for the jump target line.
869 * New environment variable LESSEDIT can be used to tailor the
870 command string passed to the editor by the v command.
872 * Examining a file which was previously examined will return
873 to the same position in the file.
875 * A "%" is expanded to the current filename and a "#" to the
876 previous filename, in both shell commands and the E command.
877 (Previously % worked only in shell commands and # worked
878 only in the E command.)
880 * New command ":ta" is equivalent to "-t".
882 * New command "s" is equivalent to "-l".
884 * The - command may be followed by "+X" to revert to the default
885 for option X, or "-X" to get the opposite of the default.
887 * Lesskey files may now include characters after the action as
888 extra input to be parsed after the action; for example:
889 "toggle-option X" to toggle a specific option X.