xref: /freebsd/contrib/less/NEWS (revision 145992504973bd16cf3518af9ba5ce185fefa82a)
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