xref: /freebsd/contrib/less/NEWS (revision e2abec625bf07c054f7ac2df2402d6c454113df8)
1
2                     NEWS about less
3
4======================================================================
5
6  For the latest news about less, see https://greenwoodsoftware.com/less
7  You can also download the latest version of less from there.
8
9  Report bugs, suggestions or comments at
10  https://github.com/gwsw/less/issues.
11
12======================================================================
13
14	Major changes between "less" versions 691 and 692
15
16* Revert HOME key to scroll to beginning of file and END key
17  to scroll to end of file (github #658).
18
19* Configure tty to leave CR and NL unmodified (github #703).
20
21* Add commands to lesskey parser (forw-bell-hilite, goto-pos and osc8-jump).
22
23* Add key sequences to lesskey parser (\kE, \kF, \kH, \kI, \kM, and \kS).
24
25* Fix bug using negative value with -z option (github #709).
26
27* Fix bug handling empty terminfo capabilties (github #710).
28
29* Fix memory leak in setupterm (github #707).
30
31* Make lesstest ignore system locale (nl_langinfo) (github #708).
32
33======================================================================
34
35	Major changes between "less" versions 685 and 691
36
37* Add --autosave option (github #678).
38
39* Add ESC-f command (github #680).
40
41* Add column number to long prompt and = message.
42
43* Add prompt prototype sequences %C, %W, %Q and ?Q (github #685).
44
45* Map keypad keys, and use terminfo rather than termcap since keypad
46  definitions don't exist in termcap (github #650).
47
48* Change HOME key to scroll fully left and END key to scroll fully right.
49  Add shift-HOME and ctrl-HOME to scroll left and jump to top, and
50  add shift-END and ctrl-END to scroll right and jump to end (github #658).
51
52* Add LESSNOCONFIG environment variable.
53
54* Add --without-termlib to configure (github #701).
55
56* When setting line number colors (-DN), don't force bold attribute.
57  To set bold, you must append "d" or "*" to the color string (github #684).
58
59* While waiting for file data, only ^C or ^X will interrupt, not any command.
60  This reverts to behavior that existed before less-670 (github #700).
61
62* When --save-marks is not used, retain any marks saved in the history file
63  (github #662).
64
65* Defer sending the terminal init string until the first char is read
66  from the input file (github #682).
67
68* Make SIGHUP do an orderly exit like SIGTERM.
69
70* Implement modeline handling in Windows build.
71
72* Fix bugs and improve behavior of screen resize on Windows.
73
74* Fix bug when entering search modifier key at start of non-empty
75  search string (github #668).
76
77* Fix bug repainting screen with --form-feed (github #672).
78
79* Fix bugs passing invalid negative values to some command line
80  options (github #675).
81
82* Fix incorrect display of Lit indicator (github #670).
83
84* Fix incorrect display when returning to a mark after resizeing window
85  (github #681).
86
87* Fix bug using --pattern with --incsearch (github #696).
88
89* Disallow mouse click to open OSC8 link in SECURE mode (github #676).
90
91* Add SECURE_COMPILE environment variable for Windows builds.
92
93* Update Unicode tables.
94
95======================================================================
96
97	Major changes between "less" versions 679 and 685
98
99* Add --cmd option (github #624).
100
101* Add LESS_TERMCAP_SUSPEND and LESS_TERMCAP_RESUME (github #654).
102
103* Change --incsearch so that after typing each character of the pattern,
104  the search begins at the position where the search command was invoked,
105  not the current position (github #640).
106
107* Allow mixing of option arguments and filename arguments on the
108  command line unless POSIXLY_CORRECT is set (github #653).
109
110* Don't output U+00AD and U+200D, and fix some bugs handling emoji
111  modifier characters (github #637).
112
113* Fix hang if a search using ^S modifier matches empty string (github #634).
114
115* Fix bug using -g and -J (github #636).
116
117* Fix bug when pasting a search pattern while --incsearch is active
118  (github #635).
119
120* Fix bug in Windows build when autorepeating a search pattern (github #639).
121
122* Fix lesskey bug using #stop directive.
123
124* Fix lesskey bug using "invalid" action (github #643).
125
126* Fix bug causing file to appear to end prematurely if an input command
127  was received during a file read (github #649).
128
129* Fix performance issue in & filtering (github #638). Problem was introduced
130  in da2a9ecdf16beb642d0c030e35f0351c5f2e5a12 and released in less-673.
131
132* Fix some problems reported by valgrind (github #659, github #660, github #661).
133
134======================================================================
135
136	Major changes between "less" versions 678 and 679
137
138* Fix bad parsing of lesskey file an env var is a prefix of another
139  env var (github #626).
140
141* Fix unexpected exit using -K if a key press is received while reading
142  the input file (github #628).
143
144======================================================================
145
146	Major changes between "less" versions 668 and 678
147
148* Treat -r in LESS environment variable as -R.
149
150* Add ESC-j and ESC-k commands (github #560).
151
152* Add --no-paste option (github #523).
153
154* Add --no-edit-warn option (github #513).
155
156* Add --form-feed option (github #496).
157
158* Add ESC-b command (github #615).
159
160* Make TAB complete option name in -- command (github #531).
161
162* Update the file size on an attempt to go past end of file.
163
164* Make -R able to pass through any OSC escape sequences,
165  not just OSC 8 (github #504).
166
167* Setting LESS_IS_MORE=0 now disables "more" compatibility even
168  if invoked via a file link named "more" (github #500).
169
170* Pass through escape sequences in prompts even if -R is not set.
171
172* Add LESS_SHELL_LINES to support shell prompts which use more than
173  one line (github #514).
174
175* Add LESSANSIOSCALLOW to define OSC types which may be passed through.
176
177* Add LESSANSIOSCCHARS to define non-standard OSC intro chars.
178
179* Add LESS_SIGUSR1 to define user signal handler (github #582).
180
181* Add mouse and mouse6 commands to lesskey (github #569).
182
183* Improve behavior of ^O^N and ^O^P commands.
184
185* Leave stty tabs setting unchanged (github #620).
186
187* Fix unexpected behavior when entering a partial command followed by
188  a valid command (github #543).
189
190* Fix bug when coloring prompt string with SGR sequences (github #516).
191
192* Fix bug when searching for text near an invalid UTF-8 sequence (github #542).
193
194* Fix display bug when file contains ESC followed by NUL (github #550).
195
196* Fix bug when using +:n +:p +:x or +:d on the command line (github #552).
197
198* Fix bug with --no-number-headers when header is not at start of file
199  (github #566).
200
201* Fix bug where lesstest fails if window is resized (github #570).
202
203* Fix bug using "configure --with-secure=no" (github #584).
204
205* Fix bug using multibyte command chars (github #595).
206
207* Fix auto_wrap setting on Windows (github #497).
208
209* Fix two bugs using ^S search modifier (github #605).
210
211* Fix bug searching for UTF-8 strings with the PCRE2 library (github #610).
212
213* Fix bug highlighting OSC 8 links when opening a new file.
214
215* Fix bug when & filtering is active (github #618).
216
217======================================================================
218
219	Major changes between "less" versions 661 and 668
220
221* Make 256/true colors work better on Windows without -Da
222  (github #539, github #546, github #562).
223
224* Fix build using --with-secure (github #544).
225
226* Fix crash when using --header on command line (github #545).
227
228* Fix possible crash when scrolling left/right or toggling -S (github #547).
229
230* Fix bug when using #stop in a lesskey file (github #551).
231
232* Fix bug when using --shift or --match-shift on command line with
233  a parameter starting with '.' (github #554).
234
235* Fix bug in R command when file size changes (github #553).
236
237* Fix bug using --header when file does not fill screen (github #556).
238
239* Fix ^X bug when output is not a terminal (github #558).
240
241* Fix bug where ^Z is not handled immediately (github #563).
242
243* Fix bug where first byte from a LESSOPEN filter is deleted if it is
244  greater than 0x7F (github #568).
245
246* Fix uninitialized variable in edit_ifile (github #573).
247
248* Fix incorrect handling of UTF-8 chars in prompts (github #576).
249
250======================================================================
251
252	Major changes between "less" versions 643 and 661
253
254* Add ^O^N, ^O^P, ^O^L and ^O^O commands and mouse clicks (with --mouse)
255  to find and open OSC8 hyperlinks (github #251).
256
257* Add --match-shift option.
258
259* Add --lesskey-content option (github #447).
260
261* Add LESSKEY_CONTENT environment variable (github #447).
262
263* Add --no-search-header-lines and --no-search-header-columns options
264  (github #397).
265
266* Add ctrl-L search modifier (github #367).
267
268* A ctrl-P at the start of a shell command suppresses the "done"
269  message (github #462).
270
271* Add attribute characters ('*', '~', '_', '&') to --color
272  parameter (github #471).
273
274* Allow expansion of environment variables in lesskey files.
275
276* Add LESSSECURE_ALLOW environment variable (github #449).
277
278* Add LESS_UNSUPPORT environment variable.
279
280* Add line number parameter to --header option (github #436).
281
282* Mouse right-click jumps to position marked by left-click (github #390).
283
284* Ensure that the target line is not obscured by a header line
285  set by --header (github #444).
286
287* Change default character set to "utf-8", except remains "dos" on MS-DOS.
288
289* Add message when search with ^W wraps (github #459).
290
291* UCRT builds on Windows 10 and later now support Unicode file names
292  (github #438).
293
294* Improve behavior of interrupt while reading non-terminated pipe
295  (github #414).
296
297* Improve parsing of -j, -x and -# options (github #393).
298
299* Support files larger than 4GB on Windows (github #417).
300
301* Support entry of Unicode chars larger than U+FFFF on Windows (github #391).
302
303* Improve colors of bold, underline and standout text on Windows.
304
305* Allow --rscroll to accept non-ASCII characters (github #483).
306
307* Allow the parameter to certain options to be terminated with a
308  space (--color, --quotes, --rscroll, --search-options
309  and --intr) (github #495).
310
311* Fix bug where # substitution failed after viewing help (github #420).
312
313* Fix crash if files are deleted while less is viewing them (github #404).
314
315* Workaround unreliable ReadConsoleInputW behavior on Windows
316  with non-ASCII input.
317
318* Fix -J display when searching for non-ASCII characters (github #422).
319
320* Don't filter header lines via the & command (github #423).
321
322* Fix bug when horizontally shifting long lines (github #425).
323
324* Add -x and -D options to lesstest, to make it easier to diagnose
325  a failed lesstest run.
326
327* Fix bug searching long lines with --incsearch and -S (github #428).
328
329* Fix bug that made ESC-} fail if top line on screen was empty (github #429).
330
331* Fix bug with --mouse on Windows when used with pipes (github #440).
332
333* Fix bug in --+OPTION command line syntax.
334
335* Fix display bug when using -w with an empty line with a CR/LF
336  line ending (github #474).
337
338* When substituting '#' or '%' with a filename, quote the filename
339  if it contains a space (github #480).
340
341* Fix wrong sleep time when system has usleep but not nanosleep (github #489).
342
343* Fix bug when file name contains a newline.
344
345* Fix bug when file name contains nonprintable characters (github #503).
346
347* Fix DJGPP build (github #497).
348
349* Update Unicode tables.
350
351======================================================================
352
353	Major changes between "less" versions 633 and 643
354
355* Fix problem when a program piping into less reads from the tty,
356  like sudo asking for password (github #368).
357
358* Fix search modifier ^E after ^W.
359
360* Fix bug using negated (^N) search (github #374).
361
362* Fix bug setting colors with -D on Windows build (github #386).
363
364* Fix reading special chars like PageDown on Windows (github #378).
365
366* Fix mouse wheel scrolling on Windows (github #379).
367
368* Fix erroneous EOF when terminal window size changes (github #372).
369
370* Fix compile error with some definitions of ECHONL (github #395).
371
372* Fix crash on Windows when writing logfile (github #405).
373
374* Fix regression in exit code when stdin is /dev/null and
375  output is a file (github #373).
376
377* Add lesstest test suite to production release (github #344).
378
379* Change lesstest output to conform with
380  automake Simple Test Format (github #399).
381
382======================================================================
383
384	Major changes between "less" versions 632 and 633
385
386* Fix build on systems which have ncurses/termcap.h or
387  ncursesw/termcap.h but not termcap.h.
388
389======================================================================
390
391	Major changes between "less" versions 608 and 632
392
393* Add LESSUTFCHARDEF environment variable (github #275).
394
395* Add # command (github #330).
396
397* Add ^S search modifier (github #196).
398
399* Add --wordwrap option (github #113).
400
401* Add --no-vbell option (github #304).
402
403* Add --no-search-headers option (github #44).
404
405* Add --modelines option (github #89).
406
407* Add --intr option (github #224).
408
409* Add --proc-backspace, --proc-tab and --proc-return options (github #335).
410
411* Add --show-preproc-errors option (github #258).
412
413* Add LESS_LINES and LESS_COLUMNS environment variables (github #84).
414
415* Add LESS_DATA_DELAY environment variable (github #337).
416
417* Allow empty "lines" field in --header option.
418
419* Update Unicode tables.
420
421* Improve ability of ^X to interrupt F command (github #49).
422
423* Status column (-J) shows off-screen matches.
424
425* Parenthesized sub-patterns in searches are colored with unique colors,
426  if supported by the regular expression library (github #196).
427
428* Don't allow opening a tty as file input unless -f is set (github #309).
429
430* Don't require newline input after +&... option (github #339).
431
432* Fix incorrect handling of some Private Use Unicode characters.
433
434* Fix ANSI color bug when overstriking with colored chars (github #276).
435
436* Fix compiler const warning (github #279).
437
438* Fix signal race in iread (github #280).
439
440* Fix reading procfs files on Linux (github #282).
441
442* Fix --ignore-case with ctrl-R (no regex) search (github #300).
443
444* Fix bug doing repeat search after setting & filter (github #299).
445
446* Fix bug doing repeat search before non-repeat search.
447
448* Fix crash with -R and certain line lengths (github #338).
449
450* Fix input of Windows dead keys (github #352).
451
452* Don't retain search options from a cancelled search (github #302).
453
454* Don't call realpath on fake filenames like "-" (github #289).
455
456* Implement lesstest test suite.
457
458* Convert function parameter definitions from K&R to C89 (github #316).
459
460======================================================================
461
462	Major changes between "less" versions 590 and 608
463
464* Add the --header option (github #43).
465
466* Add the --no-number-headers option (github #178).
467
468* Add the --status-line option.
469
470* Add the --redraw-on-quit option (github #36).
471
472* Add the --search-options option (github #213).
473
474* Add the --exit-follow-on-close option (github #244).
475
476* Add 'H' color type to set color of header lines.
477
478* Add #version conditional to lesskey.
479
480* Add += syntax to variable section in lesskey files.
481
482* Allow option name in -- command to end with '=' in addition to '\n'.
483
484* Add $HOME/.config to possible locations of lesskey file (github #153).
485
486* Add $XDG_STATE_HOME and $HOME/.local/state to possible locations
487  of history file (github #223).
488
489* Don't read or write history file in secure mode (github #201).
490
491* Fix display of multibyte and double-width chars in prompt.
492
493* Fix ESC-BACKSPACE command when BACKSPACE key does not send 0x08
494  (github #188).
495
496* Add more \k codes to lesskey format.
497
498* Fix bug when empty file is modified while viewing it.
499
500* Fix bug when parsing a malformed lesskey file (githb #234).
501
502* Fix bug scrolling history when --incsearch is set (github #214).
503
504* Fix buffer overflow when invoking lessecho with more than 63 -m/-n
505  options (github #198).
506
507* Fix buffer overflow in bin_file (github #271).
508
509* Fix bug restoring color at end of highlighted text.
510
511* Fix bug in parsing lesskey file.
512
513* Defer moving cursor to lower left in some more cases.
514
515* Suppress TAB filename expansion in some cases where it doesn't make sense.
516
517* Fix termlib detection when compiler doesn't accept
518  calls to undeclared functions.
519
520* Fix bug in input of non-ASCII characters on Windows (github #247)
521
522* Escape filenames when invoking LESSCLOSE.
523
524* Fix bug using multibyte UTF-8 char in search string
525  with --incsearch (github #273).
526
527======================================================================
528
529	Major changes between "less" versions 581 and 590
530
531* Make less able to read lesskey source files (deprecating lesskey).
532
533* If XDG_CONFIG_HOME is set, find lesskey source file
534  in $XDG_CONFIG_HOME/lesskey rather than $HOME/.lesskey.
535
536* If XDG_DATA_HOME is set, find and store history file
537  in $XDG_DATA_HOME/lesshst rather than $HOME/.lesshst.
538
539* Add the --lesskey-src option.
540
541* Add the --file-size option.
542
543* With -F, if screen is resized to make file fit on one screen, don't exit.
544
545* Fix bug which could leave terminal in mouse-reporting mode
546  after exiting less.
547
548* Fix bug which caused failure to respond to window resize.
549
550* Fix backslash bug searching in tag file.
551
552======================================================================
553
554	Major changes between "less" versions 563 and 581
555
556* Change ESC-u command to toggle, not disable, highlighting per man page.
557
558* Add ESC-U command.
559
560* Add ctrl-W search modifier for wrapping search.
561
562* F command can be interrupted by ^X.
563
564* Support OSC 8 hyperlinks when -R is in effect.
565
566* g command with no number will ignore -j and put first line at top of screen.
567
568* Multiple + or -p command line options are handled better.
569
570* Add the --incsearch option.
571
572* Add the --line-num-width option.
573
574* Add the --status-col-width option.
575
576* Add the --use-color and --color options.
577
578* Display -w highlight even if highlighted line is empty.
579
580* If search result is in a long line, scroll to ensure it is visible.
581
582* Editing the same file under different names now creates only
583  one entry in the file list.
584
585* Make visual bell more visible on some terminals.
586
587* Ring end-of-file bell no more than once per second.
588
589* Build can use either Python or Perl for Makefile.aut operations.
590
591* Fix crash when using the @ search modifier.
592
593* Fix crash in the 's' command due to duplicate free.
594
595* Fix realpath crash on Darwin.
596
597======================================================================
598
599	Major changes between "less" versions 551 and 563
600
601* Update Unicode tables.
602
603* Treat Hangul Jamo medial vowels and final consonants as zero width.
604
605* Display error message immediately when -o is toggled and
606  input is not a pipe.
607
608* Fix regression: make screen repaint when "squished" and
609  a no-movement command is given.
610
611* Fix erroneous EOF calculation when F command is interrupted.
612
613* Make WIN32C version include this fix from 551:
614  Don't count lines in initial screen if using -X with -F.
615
616* Fix display bug in WIN32C version.
617
618* Fix memory corruption when built with libtermcap.
619
620* Support libtinfow.
621
622======================================================================
623
624	Major changes between "less" versions 530 and 551
625
626* Add --mouse option.
627
628* Add --wheel-lines option.
629
630* Add --no-histdups option.
631
632* Add --save-marks option.
633
634* Support PCRE2 regular expression library.
635
636* Redraw screen on SIGWINCH even if screen size doesn't change.
637
638* Shell-escape filenames in history so they can be used again.
639
640* Ring bell if user enters invalid long option name.
641
642* Use PCRE_UTF8 flag for pcre regular expressions when in UTF-8 mode.
643
644* Windows: use wide-char string to set console title.
645
646* Don't count lines in initial screen if using -X with -F.
647
648* Support mingw build system.
649
650* Fix bug in v command on empty file.
651
652* Fix bug in v command when filename contains shell metacharacters.
653
654======================================================================
655
656	Major changes between "less" versions 487 and 530
657
658* Don't output terminal init sequence if using -F and file fits on one screen.
659
660* When using -S, mark truncated lines with a special character.
661  The character can be changed or disabled via the new --rscroll option.
662
663* New command M marks the last line displayed on the screen.
664
665* New command ESC-m removes a line mark.
666
667* Status column (enabled via -J) now shows mark letters.
668
669* Status column shows search matches even if highlighting is disabled via -G.
670
671* A second ESC-u command will clear search match markers in the status column.
672
673* Do same ANSI escape code filtering for tag matching that we do for
674  searching, to help when viewing syntax-highlighted code.
675
676* Catch SIGTERM and clean up before exiting.
677
678* Fix bug initializing default charset on Windows.
679
680* Handle keypad ENTER key correctly if it sends something other than newline.
681
682* Fix buffering bug when using stdin with a LESSOPEN pipe.
683
684* On Windows, allow 'u' in -D option to enable underlining.
685
686* On Windows, use underline in sgr mode.
687
688* On Windows, convert UTF-8 to multibyte if console is not UTF-8.
689
690* Update Unicode tables to 2017-03-08.
691
692* Pass-thru Unicode formatting chars (Cf type) instead of treating them
693  as binary chars. But treat them as binary if -U is set.
694
695* Fix erroneous binary file warning when UTF-8 file contains ANSI SGR sequences.
696
697* Fix bugs when using LESSOPEN and switching between stdin and other files.
698
699* Fix some bugs handling filenames containing shell metacharacters.
700
701* Fix some memory leaks.
702
703* Allow some debugging environment variables to be set in lesskey file.
704
705* Code improvements:
706  . Use ANSI prototypes in funcs.h declarations.
707  . Fix some const mismatches.
708  . Remove archaic "register" in variable declarations.
709
710======================================================================
711
712	Major changes between "less" versions 481 and 487
713
714* New commands ESC-{ and ESC-} to shift to start/end of displayed lines.
715
716* Make search highlights work correctly when changing caselessness with -i.
717
718* New option -Da in Windows version to enable SGR mode.
719
720* Fix "nothing to search" error when top or bottom line on screen is empty.
721
722* Fix bug when terminal has no "cm" termcap entry.
723
724* Fix incorrect display when entering double-width chars in search string.
725
726* Fix bug in Unicode handling that missed some double width characters.
727
728* Update Unicode database to 9.0.0.
729
730======================================================================
731
732	Major changes between "less" versions 458 and 481
733
734* Don't overwrite history file; just append to it.
735
736* New command ESC-G goes to end of currently buffered data in a pipe.
737
738* Disable history feature when compiled with LESSHISTFILE set to "-".
739
740* In more-compatible mode, make the -p option apply to every file opened,
741  not just the first one.
742
743* In more-compatible mode, change the -e option to work like -E, not -EF.
744
745* Treat multiple CRs before LF are like one CR (all the CRs are hidden).
746
747* Allow "extra" string in lesskey file to append to a multi-char command
748  (like a search pattern), without executing the command.
749
750* Ignore -u/-U setting while viewing help file, so that
751  underline and bold chars are displayed correctly.
752
753* Improve detection of "binary" files in UTF-8 mode.
754
755* Fix bug with ++ commands.
756
757* Fix bug where prompt was sometimes not displayed with +G.
758
759* Fix possible memory corruption
760
761* Fix bugs and improve performance in ampersand filtering.
762
763* Automate construction of Unicode tables from Unicode database.
764
765* Allow %% escape sequence in LESSOPEN variable.
766
767======================================================================
768
769	Major changes between "less" versions 451 and 458
770
771* Allow backslash escaping of metacharacters in LESS environment variable
772  after the --use-backslash option.
773
774* Don't quit if syntax errors are found in command line options.
775
776* Increase sizes of some internal buffers.
777
778* Fix configure bug with --with-regex=none.
779
780* Fix crash with "stty rows 0".
781
782* Fix Win32 attribute display bug.
783
784* Fix display bug when using up/down arrow on the command line.
785
786======================================================================
787
788	Major changes between "less" versions 444 and 451
789
790* Add ESC-F command to keep reading data until a pattern is found.
791
792* Use exit code of LESSOPEN script if LESSOPEN starts with "||".
793
794* When up/down arrow is used on the command line immediately after
795  typing text, the next command starting with that text is found.
796
797* Add support for GNU regex.
798
799* Add configure option --with-regex=none and fix compile errors
800  when compiling with no regex library.
801
802* Fix bugs handling SGR sequences in Win32.
803
804* Fix possible crashes caused by malformed LESSOPEN or
805  LESSCLOSE variables.
806
807* Fix bug highlighting text which is discontiguous in the file
808  due to backspace processing.
809
810* Fix bug in displaying status column when scrolling backwards
811  with -J and -S in effect.
812
813======================================================================
814
815	Major changes between "less" versions 443 and 444
816
817* Fix bug in unget handling that can cause strange effects on the
818  command line.
819
820* Remove vestiges of obsolete -l option that can cause a crash.
821
822======================================================================
823
824	Major changes between "less" versions 436 and 443
825
826* Change search behavior such that when a search is given an explicit
827  pattern, the entire displayed screen is included in the search and
828  not just the portion after the target line.
829
830* Add -A option to change search behavior to the old way: only
831  the portion of the screen after the target line is searched.
832
833* Add %F formatting to prompt strings, replaced by the last component
834  of the input file.
835
836* Control-G while editing a command exits the command.
837
838* Less now exits with status 2 if control-C is pressed and -K is in effect.
839
840* Fix "ungetc overflow" when passing long commands via the -p option.
841
842* Fix bug in using line filtering via the & command
843  in combination with -i and -I.
844
845* Fix bug in handling negative arguments to the -j option.
846
847* Fix bug in handling %t in prompt strings.
848
849* Improve handling of long option names.
850
851* Improve percentage calculation for very large files.
852
853======================================================================
854
855	Major changes between "less" versions 429 and 436
856
857* Don't pass "-" to non-pipe LESSOPEN unless it starts with "-".
858
859* Allow a fraction as the argument to the -# (--shift) option.
860
861* Fix highlight bug when underlined/overstruck text matches at end of line.
862
863* Fix non-regex searches with ctrl-R.
864
865======================================================================
866
867	Major changes between "less" versions 424 and 429
868
869* LESSOPEN pipe will now be used on standard input, if the LESSOPEN
870  environment variable begins with "|-".
871
872* The -D option with one number now means use the normal background color.
873
874* Don't change permissions on history file if it is not a regular file.
875
876* Fix non-ANSI-compliant code that caused problems with some compilers.
877
878* Fix binary file detection in UTF-8 mode.
879
880* Fix display problems with long lines on "ignaw" terminals.
881
882* Fix problem interrupting the line number calculation for initial prompt.
883
884* Fix SGR emulation when dealing with multiple attributes (e.g. bold+underline).
885
886* Fix highlight bug when searching for underlined/overstruck text.
887
888======================================================================
889
890	Major changes between "less" versions 418 and 424
891
892* New "&" command allows filtering of lines based on a pattern.
893
894* Status column now displays a search match, even if the matched
895  string is scrolled off screen because -S is in effect.
896
897* Improve behavior of -F option.
898
899* Allow CSI character (0x9B) to work in UTF-8 mode.
900
901* Output carriage return at startup in case terminal doesn't default
902  to column 1.
903
904* Fix bug in '' (quote, quote) command after G command.
905
906======================================================================
907
908	Major changes between "less" versions 416 and 418
909
910* Color escape sequences are now supported in WIN32 build.
911
912* Makefile now uses EXEEXT feature of autoconf.
913
914* Fix search bug when using -R and text contains ANSI color escape sequences.
915
916* Fix crash when using -r with UTF-8 text containing 0x9B bytes.
917
918* Fix display bug when using ' command to move less than one page forward.
919
920* Update GPL to version 3.
921
922======================================================================
923
924	Major changes between "less" versions 409 and 416
925
926* New --follow-name option makes F command follow the name of a file
927  rather than the file descriptor if an open file is renamed.
928
929* Make searching with -i/-I work correctly with non-ASCII text.
930
931* Fix DJGPP build.
932
933======================================================================
934
935	Major changes between "less" versions 406 and 409
936
937* Support CSI escape sequences, like SGR escape sequences.
938
939* Fix bug which caused screen to fail to repaint when window is resized.
940
941* Fix bug in using -i and -I flags with non-ASCII text.
942
943* Fix configure bug on systems which don't support langinfo.h.
944
945* Fix crash when searching text containing certain invalid UTF-8 sequences.
946
947======================================================================
948
949	Major changes between "less" versions 394 and 406
950
951* Allow decimal point in number for % (percent) command.
952
953* Allow decimal point in number for -j option (fraction of screen height).
954
955* Make n command fetch previous pattern from history file on first search.
956
957* Don't rewrite history file if it has not changed.
958
959* Don't move to bottom of screen on first page.
960
961* Don't output extraneous newlines, so copy & pasting lines from the
962  output works better.
963
964* The -c option has been made identical with the -C option.
965
966* Allow "/dev/null" as synonym for "-" in LESSHISTFILE to indicate
967  that no history file should be used.
968
969* Search can now find text which follows a null byte, if the PCRE
970  library is used, or if no-regex searching (ctrl-R) is used.
971
972* Better compatibility with POSIX more specification.
973
974* Make -f work for directories.
975
976* Make "t" cmd traverse tags in the correct order.
977
978* Allow a few binary characters in the input file before warning
979  that the file is binary.
980
981* Don't warn that file is binary if it merely contains ANSI color sequences
982  and -R is in effect.
983
984* Update Unicode character tables.
985
986* Support DESTDIR in Makefile.
987
988* Fix bug when filename contains certain shell metacharacters such as "$".
989
990* Fix bug when resizing the window while waiting for input from a pipe.
991
992* Fix configure bugs.
993
994======================================================================
995
996	Major changes between "less" versions 382 and 394
997
998* Add history file to save search and shell command history between
999  invocations of less.
1000
1001* Improve behavior of history list for search and shell commands.
1002
1003* Add -K (or --quit-on-intr) option to make less exit immediately on ctrl-C.
1004
1005* Improve handling of UTF-8 files and commands, including better
1006  line wrapping and handling double-width chars.
1007
1008* Added LESSUTFBINFMT environment variable to control display of
1009  non-printable characters in a UTF-8 file.
1010
1011* Add --with-secure option to configure, to make it easier to
1012  build a secure version of less.
1013
1014* Show search matches in the status column even if search highlights
1015  are disabled via the -G option or the ESC-u command.
1016
1017* Improve performance when the file contains very long lines.
1018
1019* Add "windows" charset.
1020
1021* Add man page for lessecho.
1022
1023* Add support for erase2 character, treated same as erase.
1024
1025* Use ASCII lowercase/uppercase logic when operating on the command line.
1026
1027* Update makefile for Borland C++ 5.5.1.
1028
1029* Fix bug in calculating number of pages for %D prompt.
1030
1031* Fix bug in handling tag file error.
1032
1033* Fix obscure bug if input file is deleted while viewing help.
1034
1035* Fix bug handling filenames which include square brackets.
1036
1037* Fix possible buffer overflow in "global" tag search.
1038
1039* Fix possible buffer overflow in usage of LESSOPEN and LESSCLOSE.
1040
1041* Fix buffer overflow in reverse search.
1042
1043======================================================================
1044
1045	Major changes between "less" versions 381 and 382
1046
1047* Removed some old copyrighted code.
1048  This probably breaks OS/9 support.
1049
1050======================================================================
1051
1052	Major changes between "less" versions 378 and 381
1053
1054* New -L option to disable LESSOPEN processing.
1055
1056* Further support for large (64 bit) file addressing.
1057  Large file support is now set up by the configure script.
1058
1059* Use autoconf 2.54.
1060  Replace configure.in, acconfig.h, defines.h.top with configure.ac.
1061
1062* Overstriking underscore with underscore is now bold or underlined
1063  depending on context.
1064
1065* Use only 7 spaces for line numbers in -N mode, if possible.
1066
1067* Fix some bugs in handling overstriking in UTF-8 files.
1068
1069* Fix some nroff issues in the man page.
1070
1071======================================================================
1072
1073	Major changes between "less" versions 376 and 378
1074
1075* Bug fixes:
1076  Default buffer space is now 64K as documented.
1077  Search highlighting works properly when used with -R.
1078  Windows version works properly when input file contains carriage returns.
1079  Clean up some compiler warnings.
1080
1081======================================================================
1082
1083	Major changes between "less" versions 358 and 376
1084
1085* -x option can now specify multiple variable-width tab stops.
1086
1087* -X option no longer disables keypad initialization.
1088  New option --no-keypad disables keypad initialization.
1089
1090* New commands t and T step through multiple tag matches.
1091  Added support for "global(1)" tags
1092  (see http://www.gnu.org/software/global/global.html).
1093
1094* New prompt style set by option -Pw defines the message printed
1095  while waiting for data in the F command.
1096
1097* System-wide lesskey file now defaults to sysless in etc directory
1098  instead of .sysless in bin directory.
1099  Use "configure --sysconfdir=..." to change it.
1100  (For backwards compatibility, .sysless in bin is still recognized.)
1101
1102* Pressing RightArrow or LeftArrow while entering a number now shifts
1103  the display N columns rather than editing the number itself.
1104
1105* Status column (enabled with -J) now shows search results.
1106
1107* Windows version sets window title.
1108
1109* Default LESSCHARSET for MS-DOS versions is now "dos".
1110
1111* Searching works better with ANSI (SGR) escape sequences.
1112  ANSI color escape sequences are now supported in the MS-DOS (DJGPP) version.
1113
1114* Improved performance in reading very large pipes.
1115
1116* Eliminated some dependencies on file offsets being 32 bits.
1117
1118* Fixed problems when viewing files with very long lines.
1119
1120* Fixed overstriking in UTF-8 mode, and overstriking tabs.
1121
1122* Improved horizontal shifting of text using -R option with ANSI color.
1123
1124* Improved handling of filenames containing shell metacharacters.
1125
1126* Some fixes for EBCDIC systems.
1127
1128* Some fixes for OS/2 systems.
1129
1130======================================================================
1131
1132	Major changes between "less" versions 354 and 358
1133
1134* Add -J (--status-column) option to display a status column.
1135
1136* Add -# (--shift) option to set default horizontal shift distance.
1137  Default horizontal shift distance is now one-half screen width.
1138
1139* Horizontal shifting does not shift line numbers if -N is in effect.
1140
1141* Horizontal shifting acts as though -S were set, to avoid confusion.
1142
1143======================================================================
1144
1145
1146	Major changes between "less" versions 352 and 354
1147
1148* Allow space after numeric-valued command line options.
1149
1150* Fix problem with configuring terminal libraries on some systems.
1151
1152* Add support for PCRE regular expression library.
1153
1154* Add --with-regex option to configure to allow manually selecting
1155  a regular expression library.
1156
1157* Fix bug compiling with SECURE = 1.
1158
1159======================================================================
1160
1161
1162	Major changes between "less" versions 346 and 352
1163
1164* Enable UTF-8 if "UTF-8" appears in locale-related environment variables.
1165
1166* Add --with-editor option to configure script.
1167
1168* The -M prompt and = message now show the top and bottom line number.
1169
1170* Fix bug in running the editor on a file whose name contains quotes, etc.
1171
1172* Fix bug in horizontal scrolling of long lines.
1173
1174* Fix bug in doing :d on a file which contains marks.
1175
1176* Fix bug causing cleared lines to sometimes be filled with standout,
1177  bold, underline, etc. on certain terminals.
1178
1179* Fixes for MS-DOS (DJGPP) version.
1180
1181======================================================================
1182
1183
1184	Major changes between "less" versions 340 and 346
1185
1186* The UTF-8 character set is now supported.
1187
1188* The default character set is now latin1 rather than ascii.
1189
1190* New option -R (--RAW-CONTROL-CHARS) is like -r but handles
1191  long (wrapped) lines correctly, as long as the input contains only
1192  normal text and ANSI color escape sequences.
1193
1194* New option -F (--quit-if-one-screen) quits if the text fits on
1195  the first screen.
1196
1197* The -w option now highlights the target line of a g or p command.
1198
1199* A system-wide lesskey file is supported (LESSKEY_SYSTEM).
1200
1201* New escape for prompt strings: %c is replaced by column number.
1202
1203* New escape for prompt strings: %P is replaced by percentage into
1204  file, based on line number rather than byte offset.
1205
1206* HOME and END keys now jump to beginning of file or end of file.
1207
1208======================================================================
1209
1210
1211	Major changes between "less" versions 337 and 340
1212
1213* Command line options for less may now be given in either the old
1214  single-letter form, or a new long name form (--option-name).
1215  See the less man page or "less --help" for the list of long option names.
1216
1217* Command line options for lesskey may now be given in a new long name
1218  form.  See the lesskey man page for the list of long option names.
1219
1220* New command -- toggles an option using the long option name.
1221
1222* New command __ queries an option using the long option name.
1223
1224* The old -- command is renamed as -!.
1225
1226* If a ^P is entered between the dash and the option letter of the -
1227  command, the message describing the new setting is suppressed.
1228
1229* Lesskey files may now contain \k escape sequences to represent the
1230  "special" keys (arrows, PAGE-UP/PAGE-DOWN, HOME, END, INSERT, DELETE).
1231
1232* New command :d removes the current file from the list of files.
1233
1234* New option -~ (like -w before version 335)
1235  suppresses tildes after end-of-file.
1236
1237* Less is now released under the GNU General Public License.
1238
1239======================================================================
1240
1241
1242	Major changes between "less" versions 335 and 337
1243
1244* Fixed bugs in "make install".
1245
1246======================================================================
1247
1248
1249	Major changes between "less" versions 332 and 335
1250
1251* The old -w flag (suppress tildes after end-of-file) has been removed.
1252
1253* New -w flag highlights the first new line after a forward-screen.
1254
1255* New -W flag highlights the first new line after any forward movement.
1256
1257* Window resize works even if LINES and/or COLUMNS environment
1258  variables are incorrect.
1259
1260* New percent escapes for prompt strings:
1261  %d is replaced by the page number, and
1262  %D is replaced by the number of pages in the file.
1263
1264* Added charsets "iso8859" and "ebcdic".
1265
1266* In Windows version, uses HOMEDRIVE and HOMEPATH if HOME is not defined.
1267
1268* Fixed some bugs causing incorrect display on DOS/Windows.
1269
1270======================================================================
1271
1272
1273	Major changes between "less" versions 330 and 332
1274
1275* Filenames from the command line are entered into the command history,
1276  so UPARROW/DOWNARROW can be used to retrieve them from the :e command.
1277
1278* Now works correctly on Windows when using a scrolling terminal
1279  window (buffer larger than display window).
1280
1281* On Windows, now restores the console screen on exit.
1282  Use -X to get the old behavior.
1283
1284* Fixed bug on Windows when CAPS-LOCK or NUM-LOCK is pressed.
1285
1286* Fixed bug on Windows when piping output of an interactive program.
1287
1288* Fixed bug in tags file processing when tags file has DOS-style
1289  line terminators (CR/LF).
1290
1291* Fixed compilation problem on OS/2.
1292
1293======================================================================
1294
1295
1296	Major changes between "less" versions 321 and 330
1297
1298* Now supports filenames containing spaces (in double quotes).
1299  New option -" can be used to change the quoting characters.
1300
1301* In filename completion, a slash is appended to a directory name.
1302  If the environment variable LESSSEPARATOR is set, the value of
1303  that variable, rather than a slash, is appended.
1304
1305* LeftArrow and RightArrow are same as ESC-[ and ESC-].
1306
1307* Added commands ESC-( and ESC-), same as ESC-[ and ESC-].
1308
1309* A "quit" command defined in a lesskey file may now have an "extra"
1310  string, which is used to return an exit code from less when it quits.
1311
1312* New environment variables LESSMETACHARS and LESSMETAESCAPE provide
1313  more control over how less interfaces to the shell.
1314
1315* Ported to Microsoft Visual C compiler for Windows.
1316
1317* Ported to DJGPP compiler for MS-DOS.
1318
1319* Bug fixes.
1320
1321======================================================================
1322
1323
1324	Major changes between "less" versions 291 and 321
1325
1326* Command line at bottom of screen now scrolls, so it can be longer
1327  than the screen width.
1328
1329* New commands ESC-] and ESC-[ scroll the display horizontally.
1330
1331* New command ESC-SPACE scrolls forward a full screen, even if it
1332  hits end-of-file.
1333
1334* Alternate modifiers for search commands: ^N is same as !,
1335  ^F is same as @, and ^E is same as *.
1336
1337* New modifier for search commands: ^K means highlight the matches
1338  currently on-screen, but don't move to the first match.
1339
1340* New modifier for search commands: ^R means don't use regular
1341  expressions in the search.
1342
1343* Environment variable LESSKEY gives name of default lesskey file.
1344
1345* Environment variable LESSSECURE will force less to run in
1346  "secure" mode.
1347
1348* Command line argument "--" signals that the rest of the arguments
1349  are files (not option flags).
1350
1351* Help file (less.hlp) is no longer installed.  Help text is now
1352  embedded in the less executable itself.
1353
1354* Added -Ph to change the prompt for the help text.
1355  Added -Ps to change the default short prompt (same as plain -P).
1356
1357* Ported to the Borland C compiler for MS-DOS.
1358
1359* Ported to Windows 95 & Windows NT.
1360
1361* Ported to OS-9.
1362
1363* Ported to GNU Hurd.
1364
1365======================================================================
1366
1367
1368	Major changes between "less" versions 290 and 291
1369
1370* Less environment variables can be specified in lesskey files.
1371
1372* Fixed MS-DOS build.
1373
1374======================================================================
1375
1376
1377	Major changes between "less" versions 278 and 290
1378
1379* Accepts GNU-style options "--help" and "--version".
1380
1381* OS/2 version looks for less.ini in $HOME before $INIT and $PATH.
1382
1383* Bug fixes
1384
1385======================================================================
1386
1387
1388	Major changes between "less" versions 252 and 278
1389
1390* A LESSOPEN preprocessor may now pipe the converted file data to less,
1391  rather than writing it to a temporary file.
1392
1393* Search pattern highlighting has been fixed.  It now highlights
1394  reliably, even if a string is split across two screen lines,
1395  contains TABs, etc.
1396
1397* The -F flag (which suppress search highlighting) has been changed
1398  to -G.  A new flag, -g, changes search highlighting to highlight
1399  only the string found by the last search command, instead of all
1400  strings which match the last search command.
1401
1402* New flag -I acts like -i, but ignores case even if the search
1403  pattern contains uppercase letters.
1404
1405* Less now checks for the environment variable VISUAL before EDITOR.
1406
1407* Ported to OS/2.
1408
1409======================================================================
1410
1411
1412	Major changes between "less" versions 237 and 252
1413
1414* Changes in line-editing keys:
1415  The literal key is now ^V or ^A rather than \ (backslash).
1416  Filename completion commands (TAB and ^L) are disabled
1417  when typing a search pattern.
1418
1419* Line-editing command keys can be redefined using lesskey.
1420
1421* Lesskey with no input file defaults to $HOME/.lesskey
1422  rather than standard input.
1423
1424* New option -V displays version number of less.
1425
1426* New option -V displays version number of lesskey.
1427
1428* Help file less.hlp is now installed by default in /usr/local/share
1429  rather than /usr/local/lib.
1430
1431
1432======================================================================
1433
1434
1435	Major changes between "less" versions 170 and 237
1436
1437* By popular demand, text which matches the current search pattern
1438  is highlighted.  New -F flag disables this feature.
1439
1440* Henry Spencer's regexp.c is now included, for systems which do not
1441  have a regular expression library.
1442  regexp.c is Copyright (c) 1986 by University of Toronto.
1443
1444* New line-editing keys, including command history (arrow keys) and
1445  filename completion (TAB).
1446
1447* Input preprocessor allows modification of input files (e.g. uncompress)
1448  via LESSOPEN/LESSCLOSE environment variables.
1449
1450* New -X flag disables sending termcap "ti" and "te" (initialize and
1451  deinitialize) strings to the terminal.
1452
1453* Changing -i from within less now correctly affects a subsequent
1454  repeated search.
1455
1456* Searching for underlined or overstruck text now works when the -u
1457  flag is in effect, rather than the -i flag.
1458
1459* Use setlocale (LANG and LC_CTYPE environment variables) to determine
1460  the character set if LESSCHARSET/LESSCHARDEF are not set.
1461
1462* The default format for displaying binary characters is now standout
1463  (reverse video) rather than blinking.  This can still be changed by
1464  setting the LESSBINFMT environment variable.
1465
1466* Use autoconf installation technology.
1467
1468* Ported to MS-DOS.
1469
1470        ********************************
1471          Things that may surprise you
1472        ********************************
1473
1474* When you enter text at the bottom of the screen (search string,
1475  filename, etc.), some keys act different than previously.
1476  Specifically, \ (backslash), ESC, TAB, BACKTAB, and control-L
1477  now have line editing functions.
1478
1479* Some previous unofficial versions of less were able to display
1480  compressed files.  The new LESSOPEN/LESSCLOSE feature now provides
1481  this functionality in a different way.
1482
1483* Some previous unofficial versions of less provided a -Z flag to
1484  set the number of lines of text to retain between full screen scrolls.
1485  The -z-n flag (that is, -z with a negative number) provides this
1486  functionality.
1487
1488
1489======================================================================
1490
1491
1492	Major changes between "less" versions 123 and 170
1493
1494* New option -j allows target lines to be positioned anywhere on screen.
1495
1496* New option -S truncates displayed line at the screen width,
1497  rather than wrapping onto the next line.
1498
1499* New option -y limits amount of forward scroll.
1500
1501* New option -T specifies a "tags" file.
1502
1503* Non-printable, non-control characters are displayed in octal.
1504  Such characters, as well as control characters, are displayed
1505  in blinking mode.
1506
1507* New command -+ sets an option to its default.
1508* New command -- sets an option to the opposite of its default.
1509
1510* Lesskey file may have a string appended to a key's action,
1511  which acts as though typed in after the command.
1512
1513* New commands ESC-^F and ESC-^B match arbitrary types of brackets.
1514
1515* New command F monitors a growing file (like "tail -f").
1516
1517* New command | pipes a section of the input file into a shell command.
1518
1519* New command :x directly jumps to a file in the command line list.
1520
1521* Search commands have been enhanced and reorganized:
1522	n	Repeat search, same direction.
1523	N	Repeat search, opposite direction.
1524	ESC-/	Search forward thru file boundaries
1525	ESC-?	Search backward thru file boundaries
1526	ESC-n	Repeat search thru file boundaries, same direction.
1527	ESC-N	Repeat search thru file boundaries, opposite direction.
1528  Special character * causes search to search thru file boundaries.
1529  Special character @ causes search to begin at start/end of file list.
1530
1531* Examining a new file adds it to the command line list.
1532  A list of files, or an expression which matches more than one file,
1533  may be examined; all of them are added to the command line list.
1534
1535* Environment variables LESSCHARSET and LESSCHARDEF can define
1536  a non-ASCII character set.
1537
1538* Partial support for MSDOS, including options -R for repainting screen
1539  on quit, -v/-V to select video mode, and -W to change window size.
1540
1541
1542======================================================================
1543
1544
1545	Major changes between "less" versions 97 and 123
1546
1547* New option (-N) causes line numbers to be displayed in the
1548  text of the file (like vi "set nu").
1549
1550* New option (-?) prints help message immediately.
1551
1552* New option (-r) displays "raw" control characters, without
1553  mapping them to ^X notation.
1554
1555* New option (-f) forces less to open non-regular files
1556  (directories, etc).
1557
1558* New option (-k) can be used to specify lesskey files by name.
1559
1560* New option (-y) can be used to set a forward scroll limit
1561  (like -h sets a backward scroll limit).
1562
1563* File marks (set by the m command) are now preserved when a new
1564  file is edited.  The ' command can thus be used to switch files.
1565
1566* New command ESC-/ searches all files (on the command line)
1567  for a pattern.
1568
1569* New command ESC-n repeats previous search, spanning files.
1570
1571* The N command has been changed to repeat the previous search
1572  in the reverse direction.  The old N command is still available
1573  via :n.
1574
1575* New command ESC-N repeats previous search in the reverse
1576  direction and spanning files.
1577
1578* 8 bit characters are now supported.  A new option (-g) can be
1579  used to strip off the eighth bit (the previous behavior).
1580
1581* Options which take a following string (like -t) may now
1582  optionally have a space between the option letter and the string.
1583
1584* Six new commands { } ( ) [ and ] can be used to match
1585  brackets of specific types, similar to vi % command.
1586
1587* New commands z and w move forward/backward one window and
1588  simultaneously set the window size.
1589
1590* Prompt string expansion now has %L for line number of the last
1591  line in the file, and %E for the name of the editor.
1592  Also, % escapes which refer to a line (b=bottom, t=top, etc.)
1593  can use j for the jump target line.
1594
1595* New environment variable LESSEDIT can be used to tailor the
1596  command string passed to the editor by the v command.
1597
1598* Examining a file which was previously examined will return
1599  to the same position in the file.
1600
1601* A "%" is expanded to the current filename and a "#" to the
1602  previous filename, in both shell commands and the E command.
1603  (Previously % worked only in shell commands and # worked
1604  only in the E command.)
1605
1606* New command ":ta" is equivalent to "-t".
1607
1608* New command "s" is equivalent to "-l".
1609
1610* The - command may be followed by "+X" to revert to the default
1611  for option X, or "-X" to get the opposite of the default.
1612
1613* Lesskey files may now include characters after the action as
1614  extra input to be parsed after the action; for example:
1615  "toggle-option X" to toggle a specific option X.
1616
1617
1618
1619
1620
1621