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