Hello community,
here is the log from the commit of package sysvinit for openSUSE:Factory checked in at 2019-09-27 14:43:02
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/sysvinit (Old)
and /work/SRC/openSUSE:Factory/.sysvinit.new.2352 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "sysvinit"
Fri Sep 27 14:43:02 2019 rev:171 rq:731661 version:2.96
Changes:
--------
--- /work/SRC/openSUSE:Factory/sysvinit/sysvinit.changes 2019-06-25 22:16:50.772664400 +0200
+++ /work/SRC/openSUSE:Factory/.sysvinit.new.2352/sysvinit.changes 2019-09-27 14:43:03.589605494 +0200
@@ -1,0 +2,24 @@
+Wed Sep 18 07:45:38 UTC 2019 - Dr. Werner Fink
+
+- Update to sysvinit 2.96
+ * Added -z command line paramter to pidof which tells pidof to
+ try to find processes in uninterruptable (D) or zombie (Z) states.
+ This can cause pidof to hang, but produces a more complete process
+ list.
+ * Reformatted init code to make if/while logic more clear.
+ * Make sure src/Makefile cleans up all executable files
+ when parent Makefile calls "make clean".
+
+-------------------------------------------------------------------
+Thu Aug 29 13:25:34 UTC 2019 - Dr. Werner Fink
+
+- Update to killproc 2.23
+ * killproc has its upstream at https://github.com/bitstreamout/killproc
+ * Use new system call statx(2) to replace old stat(2)/lstat(2)
+- Remove patches now upstream:
+ * killproc-2.18-open_flags.dif
+ * killproc-2.21.dif
+ * killproc-sysmacros.patch
+ * killproc-mntinf-optional.patch
+
+-------------------------------------------------------------------
Old:
----
killproc-2.18-open_flags.dif
killproc-2.21.dif
killproc-2.21.tar.bz2
killproc-mntinf-optional.patch
killproc-sysmacros.patch
sysvinit-2.95.tar.xz
New:
----
killproc-2.23.tar.gz
sysvinit-2.96.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ sysvinit.spec ++++++
--- /var/tmp/diff_new_pack.i3fHIp/_old 2019-09-27 14:43:04.493603143 +0200
+++ /var/tmp/diff_new_pack.i3fHIp/_new 2019-09-27 14:43:04.493603143 +0200
@@ -17,9 +17,9 @@
Name: sysvinit
-%define KPVER 2.21
+%define KPVER 2.23
%define SCVER 1.20
-%define SIVER 2.95
+%define SIVER 2.96
%define START 0.63
Version: %{SIVER}
Release: 0
@@ -31,15 +31,11 @@
#!BuildIgnore: sysvinit-tools
Url: https://savannah.nongnu.org/projects/sysvinit/
Source: sysvinit-%{SIVER}.tar.xz
-Source1: killproc-%{KPVER}.tar.bz2
+Source1: https://github.com/bitstreamout/killproc/archive/v%{KPVER}.tar.gz#/killproc-%{KPVER}.tar.gz
Source2: startpar-%{START}.tar.xz
Patch: %{name}-2.90.dif
Patch2: %{name}-2.88dsf-suse.patch
Patch9: %{name}-2.90-no-kill.patch
-Patch30: killproc-%{KPVER}.dif
-Patch31: killproc-2.18-open_flags.dif
-Patch32: killproc-sysmacros.patch
-Patch33: killproc-mntinf-optional.patch
Patch50: startpar-0.58.dif
Patch51: startpar-sysmacros.patch
@@ -76,11 +72,7 @@
mkdir killproc
popd
pushd ../killproc-%{KPVER}
-%patch30
-%patch31 -p0 -b .dialog
-%patch32 -p1
-%patch33 -p0
-ln -t../%{name}-%{SIVER}/doc/killproc README
+ln -t../%{name}-%{SIVER}/doc/killproc README.md
popd
pushd ../startpar-%{START}
%patch50
++++++ sysvinit-2.88dsf-suse.patch ++++++
--- /var/tmp/diff_new_pack.i3fHIp/_old 2019-09-27 14:43:04.533603039 +0200
+++ /var/tmp/diff_new_pack.i3fHIp/_new 2019-09-27 14:43:04.533603039 +0200
@@ -4,7 +4,7 @@
2 files changed, 3 insertions(+), 1 deletion(-)
--- man/killall5.8
-+++ man/killall5.8 2019-06-17 12:05:21.101622374 +0000
++++ man/killall5.8 2019-09-18 07:39:31.188377719 +0000
@@ -44,6 +44,7 @@ process were killed, and 1 if it was una
.SH SEE ALSO
.BR halt (8),
@@ -15,9 +15,9 @@
.SH AUTHOR
Miquel van Smoorenburg, miquels@cistron.nl
--- man/pidof.8
-+++ man/pidof.8 2019-06-17 12:06:25.816419988 +0000
-@@ -94,6 +94,7 @@ Zombie processes or processes in disk sl
- are ignored, as attempts to access the stats of these will sometimes fail.
++++ man/pidof.8 2019-09-18 07:40:18.859489726 +0000
+@@ -101,6 +101,7 @@ The \-z flag (see above) tells pidof to
+ processes, at the risk of failing or hanging.
.SH SEE ALSO
+.BR pidofproc (8),
++++++ sysvinit-2.90-no-kill.patch ++++++
--- /var/tmp/diff_new_pack.i3fHIp/_old 2019-09-27 14:43:04.541603018 +0200
+++ /var/tmp/diff_new_pack.i3fHIp/_new 2019-09-27 14:43:04.545603008 +0200
@@ -3,8 +3,8 @@
1 file changed, 52 insertions(+)
--- src/killall5.c
-+++ src/killall5.c 2018-08-06 12:45:03.832836347 +0000
-@@ -470,6 +470,38 @@ int readarg(FILE *fp, char *buf, int sz)
++++ src/killall5.c 2019-09-18 07:41:29.094181373 +0000
+@@ -478,6 +478,38 @@ int readarg(FILE *fp, char *buf, int sz)
}
/*
@@ -43,7 +43,7 @@
* Read the proc filesystem.
* CWD must be /proc to avoid problems if / is affected by the killing (ie depend on fuse).
*/
-@@ -674,6 +706,26 @@ int readproc(int do_stat)
+@@ -683,6 +715,26 @@ int readproc(int do_stat)
p->nfs = 0;
switch (do_stat) {
++++++ sysvinit-2.90.dif ++++++
--- /var/tmp/diff_new_pack.i3fHIp/_old 2019-09-27 14:43:04.549602997 +0200
+++ /var/tmp/diff_new_pack.i3fHIp/_new 2019-09-27 14:43:04.549602997 +0200
@@ -44,7 +44,7 @@
MANDB :=
endif
-@@ -203,13 +199,8 @@ install: all
+@@ -202,13 +198,8 @@ install: all
done
# $(INSTALL_DIR) $(ROOT)/etc/
# $(INSTALL_EXEC) ../doc/initscript.sample $(ROOT)/etc/
++++++ sysvinit-2.95.tar.xz -> sysvinit-2.96.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sysvinit-2.95/doc/Changelog new/sysvinit-2.96/doc/Changelog
--- old/sysvinit-2.95/doc/Changelog 2019-06-15 19:02:34.000000000 +0200
+++ new/sysvinit-2.96/doc/Changelog 2019-09-11 19:43:12.000000000 +0200
@@ -1,3 +1,30 @@
+sysvinit (2.96) released; urgency=low
+
+ [ Jesse Smith ]
+
+ * Added -z command line paramter to pidof which tells pidof to
+ try to find processes in uninterruptable (D) or zombie (Z) states.
+ This can cause pidof to hang, but produces a more complete process
+ list.
+ Closes Savannah bug #56534
+
+ * Reformatted init code to make if/while logic more clear.
+
+ * Cleaned up some output from readbootlog.
+
+ * Added -e flag to bootlogd. When -e is used, data saved
+ to the boot log file does not have escape characters
+ removed. This means colour and cursor movement codes
+ stay in the log file. The may then look nicer when
+ read with "less -R', but may appear cluttered or
+ out of alignment when viewed with other, plain-text tools.
+ When -e is not used, escape characters are removed/filtered.
+ Closes Debian bug #672361.
+
+ * Make sure src/Makefile cleans up all executable files
+ when parent Makefile calls "make clean".
+
+
sysvinit (2.95) released; urgency=low
[ Jesse Smith ]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sysvinit-2.95/man/bootlogd.8 new/sysvinit-2.96/man/bootlogd.8
--- old/sysvinit-2.95/man/bootlogd.8 2019-06-15 19:02:34.000000000 +0200
+++ new/sysvinit-2.96/man/bootlogd.8 2019-09-11 19:43:12.000000000 +0200
@@ -22,6 +22,7 @@
.B /sbin/bootlogd
.RB [ \-c ]
.RB [ \-d ]
+.RB [ \-e ]
.RB [ \-r ]
.RB [ \-s ]
.RB [ \-v ]
@@ -34,6 +35,10 @@
.SH OPTIONS
.IP \fB\-d\fP
Do not fork and run in the background.
+.IP \fB\-e\fP
+Print escape characters to the boot log file. This turns off filtering of
+escape characters and allows tools like GNU Less to see and use colour control
+characters (show the log in colour).
.IP \fB\-c\fP
Attempt to write to the logfile even if it does not yet exist.
Without this option,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sysvinit-2.95/man/pidof.8 new/sysvinit-2.96/man/pidof.8
--- old/sysvinit-2.95/man/pidof.8 2019-06-15 19:02:34.000000000 +0200
+++ new/sysvinit-2.96/man/pidof.8 2019-09-11 19:43:12.000000000 +0200
@@ -24,6 +24,7 @@
.RB [ \-c ]
.RB [ \-n ]
.RB [ \-x ]
+.RB [ \-z ]
.RB [ \-o
.IR omitpid[,omitpid...] ]
.RB [ \-o
@@ -64,6 +65,10 @@
.IP \-x
Scripts too - this causes the program to also return process id's of
shells running the named scripts.
+.IP \-z
+Try to detect processes which are stuck in uninterruptible (D) or zombie (Z)
+status. Usually these processes are skipped as trying to deal with them can cause
+pidof to hang.
.IP "-d \fIsep\fP"
Tells \fIpidof\fP to use \fIsep\fP as an output separator if more than one PID
is shown. The default separator is a space.
@@ -92,6 +97,8 @@
.PP
Zombie processes or processes in disk sleep (states Z and D, respectively)
are ignored, as attempts to access the stats of these will sometimes fail.
+The \-z flag (see above) tells pidof to try to detect these sleeping and zombie
+processes, at the risk of failing or hanging.
.SH SEE ALSO
.BR shutdown (8),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sysvinit-2.95/src/Makefile new/sysvinit-2.96/src/Makefile
--- old/sysvinit-2.95/src/Makefile 2019-06-15 19:02:34.000000000 +0200
+++ new/sysvinit-2.96/src/Makefile 2019-09-11 19:43:12.000000000 +0200
@@ -181,8 +181,7 @@
cleanobjs:
rm -f *.o *.bak
-clean: cleanobjs
- @echo Type \"make clobber\" to really clean up.
+clean: cleanobjs clobber
clobber: cleanobjs
rm -f $(BIN) $(SBIN) $(USRBIN)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sysvinit-2.95/src/bootlogd.c new/sysvinit-2.96/src/bootlogd.c
--- old/sysvinit-2.95/src/bootlogd.c 2019-06-15 19:02:34.000000000 +0200
+++ new/sysvinit-2.96/src/bootlogd.c 2019-09-11 19:43:12.000000000 +0200
@@ -340,7 +340,7 @@
/*
* Write data and make sure it's on disk.
*/
-void writelog(FILE *fp, unsigned char *ptr, int len)
+void writelog(FILE *fp, unsigned char *ptr, int len, int print_escape_characters)
{
int dosync = 0;
int i;
@@ -363,7 +363,9 @@
/* remove escape sequences, but do it in a way that allows us to stop
* in the middle in case the string was cut off */
- if (inside_esc == 1) {
+ if (! print_escape_characters)
+ {
+ if (inside_esc == 1) {
/* first '[' is special because if we encounter it again, it should be considered the final byte */
if (*ptr == '[') {
/* multi char sequence */
@@ -376,7 +378,7 @@
}
inside_esc = 0;
}
- } else if (inside_esc == 2) {
+ } else if (inside_esc == 2) {
switch (*ptr) {
case '0' ... '9': /* intermediate chars of escape sequence */
case ';':
@@ -391,8 +393,8 @@
inside_esc = 0;
}
break;
- }
- } else {
+ }
+ } else {
switch (*ptr) {
case '\r':
ignore = 1;
@@ -402,8 +404,8 @@
inside_esc = 1;
break;
}
- }
-
+ }
+ } /* end of if we should filter escape characters */
if (!ignore) {
fwrite(ptr, sizeof(char), 1, fp);
@@ -430,7 +432,7 @@
*/
void usage(void)
{
- fprintf(stderr, "Usage: bootlogd [-v] [-r] [-d] [-s] [-c] [-p pidfile] [-l logfile]\n");
+ fprintf(stderr, "Usage: bootlogd [-v] [-r] [-d] [-e] [-s] [-c] [-p pidfile] [-l logfile]\n");
exit(1);
}
@@ -490,14 +492,14 @@
int considx;
struct real_cons cons[MAX_CONSOLES];
int num_consoles, consoles_left;
-
+ int print_escape_sequence = 0;
fp = NULL;
logfile = LOGFILE;
pidfile = NULL;
rotate = 0;
dontfork = 0;
- while ((i = getopt(argc, argv, "cdsl:p:rv")) != EOF) switch(i) {
+ while ((i = getopt(argc, argv, "cdesl:p:rv")) != EOF) switch(i) {
case 'l':
logfile = optarg;
break;
@@ -517,6 +519,9 @@
case 'd':
dontfork = 1;
break;
+ case 'e':
+ print_escape_sequence = 1;
+ break;
case 's':
syncalot = 1;
break;
@@ -678,8 +683,8 @@
*/
if (--consoles_left <= 0) got_signal = 1;
break;
- }
- }
+ } /* end of while */
+ } /* end of going through all consoles */
/*
* Increment buffer position. Handle
@@ -693,8 +698,8 @@
inptr = ringbuf;
if (outptr >= endptr)
outptr = ringbuf;
- }
- }
+ } /* end of got data from read */
+ } /* end of checking select for new data */
/*
* Perhaps we need to open the logfile.
@@ -714,8 +719,8 @@
else
todo = endptr - outptr;
if (fp && todo)
- writelog(fp, (unsigned char *)outptr, todo);
- }
+ writelog(fp, (unsigned char *)outptr, todo, print_escape_sequence);
+ } /* end of while waiting for signal */
if (fp) {
if (!didnl) fputc('\n', fp);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sysvinit-2.95/src/init.c new/sysvinit-2.96/src/init.c
--- old/sysvinit-2.95/src/init.c 2019-06-15 19:02:35.000000000 +0200
+++ new/sysvinit-2.96/src/init.c 2019-09-11 19:43:12.000000000 +0200
@@ -2433,7 +2433,8 @@
}
/* Wait for data to appear, _if_ the pipe was opened. */
- if (pipe_fd >= 0) while(!quit) {
+ if (pipe_fd >= 0) {
+ while(!quit) {
/* Do select, return on EINTR. */
FD_ZERO(&fds);
@@ -2504,9 +2505,9 @@
default:
initlog(L_VB, "got unimplemented initrequest.");
break;
- }
- }
-
+ } /* end of switch */
+ } /* end of while loop not quitting */
+ } /* end of if the pipe is open */
/*
* We come here if the pipe couldn't be opened.
*/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sysvinit-2.95/src/killall5.c new/sysvinit-2.96/src/killall5.c
--- old/sysvinit-2.95/src/killall5.c 2019-06-15 19:02:35.000000000 +0200
+++ new/sysvinit-2.96/src/killall5.c 2019-09-11 19:43:12.000000000 +0200
@@ -135,9 +135,17 @@
/* Did we stop all processes ? */
int sent_sigstop;
-
int scripts_too = 0;
+/* Should pidof try to list processes in I/O wait (D) and zombie (Z) states? */
+#ifndef FALSE
+#define FALSE 0
+#endif
+#ifndef TRUE
+#define TRUE 1
+#endif
+int list_dz_processes = FALSE;
+
char *progname; /* the name of the running program */
#ifdef __GNUC__
__attribute__ ((format (printf, 2, 3)))
@@ -598,8 +606,9 @@
if (startcode == 0 && endcode == 0)
p->kernel = 1;
fclose(fp);
- if ( (strchr(process_status, 'D') != NULL) ||
- (strchr(process_status, 'Z') != NULL) ){
+ if ( (! list_dz_processes) &&
+ ( (strchr(process_status, 'D') != NULL) ||
+ (strchr(process_status, 'Z') != NULL) ) ){
/* Ignore zombie processes or processes in
disk sleep, as attempts
to access the stats of these will
@@ -955,6 +964,7 @@
printf(" -q Quiet mode. Do not display output\n");
printf(" -s Only return one PID\n");
printf(" -x Return PIDs of shells running scripts with a matching name\n");
+ printf(" -z List zombie and I/O waiting processes. May cause pidof to hang.\n");
printf("\n");
}
@@ -1008,7 +1018,7 @@
if ((token = getenv("PIDOF_NETFS")) && (strcmp(token,"no") != 0))
flags |= PIDOF_NETFS;
- while ((opt = getopt(argc,argv,"qhco:d:sxn")) != EOF) switch (opt) {
+ while ((opt = getopt(argc,argv,"qhco:d:sxzn")) != EOF) switch (opt) {
case '?':
nsyslog(LOG_ERR,"invalid options on command line!\n");
closelog();
@@ -1056,6 +1066,9 @@
case 'x':
scripts_too++;
break;
+ case 'z':
+ list_dz_processes = TRUE;
+ break;
case 'n':
flags |= PIDOF_NETFS;
break;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sysvinit-2.95/src/readbootlog.c new/sysvinit-2.96/src/readbootlog.c
--- old/sysvinit-2.95/src/readbootlog.c 2019-06-15 19:02:35.000000000 +0200
+++ new/sysvinit-2.96/src/readbootlog.c 2019-09-11 19:43:12.000000000 +0200
@@ -58,6 +58,20 @@
}
}
} /* done found character to scrub */
+ else if ( (a_letter == '?') && (source_line[source_index + 1] == '?') &&
+ (source_line[source_index + 2] == '7') )
+ {
+ source_index += 3;
+ output_line[target_index] = ' ';
+ target_index++;
+ }
+ else if ( (a_letter == '8') && (source_line[source_index + 1] == '?') &&
+ (source_line[source_index + 2] == '?') )
+ {
+ source_index += 3;
+ output_line[target_index] = ']';
+ target_index++;
+ }
else
{
output_line[target_index] = a_letter;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' "old/sysvinit-2.95/src/would be changed upstream, and that there are likely other" "new/sysvinit-2.96/src/would be changed upstream, and that there are likely other"
--- "old/sysvinit-2.95/src/would be changed upstream, and that there are likely other" 2019-06-15 19:02:35.000000000 +0200
+++ "new/sysvinit-2.96/src/would be changed upstream, and that there are likely other" 1970-01-01 01:00:00.000000000 +0100
@@ -1,233 +0,0 @@
-
- SSUUMMMMAARRYY OOFF LLEESSSS CCOOMMMMAANNDDSS
-
- Commands marked with * may be preceded by a number, _N.
- Notes in parentheses indicate the behavior if _N is given.
- A key preceded by a caret indicates the Ctrl key; thus ^K is ctrl-K.
-
- h H Display this help.
- q :q Q :Q ZZ Exit.
- ---------------------------------------------------------------------------
-
- MMOOVVIINNGG
-
- e ^E j ^N CR * Forward one line (or _N lines).
- y ^Y k ^K ^P * Backward one line (or _N lines).
- f ^F ^V SPACE * Forward one window (or _N lines).
- b ^B ESC-v * Backward one window (or _N lines).
- z * Forward one window (and set window to _N).
- w * Backward one window (and set window to _N).
- ESC-SPACE * Forward one window, but don't stop at end-of-file.
- d ^D * Forward one half-window (and set half-window to _N).
- u ^U * Backward one half-window (and set half-window to _N).
- ESC-) RightArrow * Left one half screen width (or _N positions).
- ESC-( LeftArrow * Right one half screen width (or _N positions).
- F Forward forever; like "tail -f".
- ESC-F Like F but stop when search pattern is found.
- r ^R ^L Repaint screen.
- R Repaint screen, discarding buffered input.
- ---------------------------------------------------
- Default "window" is the screen height.
- Default "half-window" is half of the screen height.
- ---------------------------------------------------------------------------
-
- SSEEAARRCCHHIINNGG
-
- /_p_a_t_t_e_r_n * Search forward for (_N-th) matching line.
- ?_p_a_t_t_e_r_n * Search backward for (_N-th) matching line.
- n * Repeat previous search (for _N-th occurrence).
- N * Repeat previous search in reverse direction.
- ESC-n * Repeat previous search, spanning files.
- ESC-N * Repeat previous search, reverse dir. & spanning files.
- ESC-u Undo (toggle) search highlighting.
- &_p_a_t_t_e_r_n * Display only matching lines
- ---------------------------------------------------
- A search pattern may be preceded by one or more of:
- ^N or ! Search for NON-matching lines.
- ^E or * Search multiple files (pass thru END OF FILE).
- ^F or @ Start search at FIRST file (for /) or last file (for ?).
- ^K Highlight matches, but don't move (KEEP position).
- ^R Don't use REGULAR EXPRESSIONS.
- ---------------------------------------------------------------------------
-
- JJUUMMPPIINNGG
-
- g < ESC-< * Go to first line in file (or line _N).
- G > ESC-> * Go to last line in file (or line _N).
- p % * Go to beginning of file (or _N percent into file).
- t * Go to the (_N-th) next tag.
- T * Go to the (_N-th) previous tag.
- { ( [ * Find close bracket } ) ].
- } ) ] * Find open bracket { ( [.
- ESC-^F _<_c_1_> _<_c_2_> * Find close bracket _<_c_2_>.
- ESC-^B _<_c_1_> _<_c_2_> * Find open bracket _<_c_1_>
- ---------------------------------------------------
- Each "find close bracket" command goes forward to the close bracket
- matching the (_N-th) open bracket in the top line.
- Each "find open bracket" command goes backward to the open bracket
- matching the (_N-th) close bracket in the bottom line.
-
- m_<_l_e_t_t_e_r_> Mark the current position with <letter>.
- '_<_l_e_t_t_e_r_> Go to a previously marked position.
- '' Go to the previous position.
- ^X^X Same as '.
- ---------------------------------------------------
- A mark is any upper-case or lower-case letter.
- Certain marks are predefined:
- ^ means beginning of the file
- $ means end of the file
- ---------------------------------------------------------------------------
-
- CCHHAANNGGIINNGG FFIILLEESS
-
- :e [_f_i_l_e] Examine a new file.
- ^X^V Same as :e.
- :n * Examine the (_N-th) next file from the command line.
- :p * Examine the (_N-th) previous file from the command line.
- :x * Examine the first (or _N-th) file from the command line.
- :d Delete the current file from the command line list.
- = ^G :f Print current file name.
- ---------------------------------------------------------------------------
-
- MMIISSCCEELLLLAANNEEOOUUSS CCOOMMMMAANNDDSS
-
- -_<_f_l_a_g_> Toggle a command line option [see OPTIONS below].
- --_<_n_a_m_e_> Toggle a command line option, by name.
- __<_f_l_a_g_> Display the setting of a command line option.
- ___<_n_a_m_e_> Display the setting of an option, by name.
- +_c_m_d Execute the less cmd each time a new file is examined.
-
- !_c_o_m_m_a_n_d Execute the shell command with $SHELL.
- |XX_c_o_m_m_a_n_d Pipe file between current pos & mark XX to shell command.
- v Edit the current file with $VISUAL or $EDITOR.
- V Print version number of "less".
- ---------------------------------------------------------------------------
-
- OOPPTTIIOONNSS
-
- Most options may be changed either on the command line,
- or from within less by using the - or -- command.
- Options may be given in one of two forms: either a single
- character preceded by a -, or a name preceded by --.
-
- -? ........ --help
- Display help (from command line).
- -a ........ --search-skip-screen
- Search skips current screen.
- -A ........ --SEARCH-SKIP-SCREEN
- Search starts just after target line.
- -b [_N] .... --buffers=[_N]
- Number of buffers.
- -B ........ --auto-buffers
- Don't automatically allocate buffers for pipes.
- -c ........ --clear-screen
- Repaint by clearing rather than scrolling.
- -d ........ --dumb
- Dumb terminal.
- -D [_x_n_._n] . --color=_x_n_._n
- Set screen colors. (MS-DOS only)
- -e -E .... --quit-at-eof --QUIT-AT-EOF
- Quit at end of file.
- -f ........ --force
- Force open non-regular files.
- -F ........ --quit-if-one-screen
- Quit if entire file fits on first screen.
- -g ........ --hilite-search
- Highlight only last match for searches.
- -G ........ --HILITE-SEARCH
- Don't highlight any matches for searches.
- -h [_N] .... --max-back-scroll=[_N]
- Backward scroll limit.
- -i ........ --ignore-case
- Ignore case in searches that do not contain uppercase.
- -I ........ --IGNORE-CASE
- Ignore case in all searches.
- -j [_N] .... --jump-target=[_N]
- Screen position of target lines.
- -J ........ --status-column
- Display a status column at left edge of screen.
- -k [_f_i_l_e] . --lesskey-file=[_f_i_l_e]
- Use a lesskey file.
- -K --quit-on-intr
- Exit less in response to ctrl-C.
- -L ........ --no-lessopen
- Ignore the LESSOPEN environment variable.
- -m -M .... --long-prompt --LONG-PROMPT
- Set prompt style.
- -n -N .... --line-numbers --LINE-NUMBERS
- Don't use line numbers.
- -o [_f_i_l_e] . --log-file=[_f_i_l_e]
- Copy to log file (standard input only).
- -O [_f_i_l_e] . --LOG-FILE=[_f_i_l_e]
- Copy to log file (unconditionally overwrite).
- -p [_p_a_t_t_e_r_n] --pattern=[_p_a_t_t_e_r_n]
- Start at pattern (from command line).
- -P [_p_r_o_m_p_t] --prompt=[_p_r_o_m_p_t]
- Define new prompt.
- -q -Q .... --quiet --QUIET --silent --SILENT
- Quiet the terminal bell.
- -r -R .... --raw-control-chars --RAW-CONTROL-CHARS
- Output "raw" control characters.
- -s ........ --squeeze-blank-lines
- Squeeze multiple blank lines.
- -S ........ --chop-long-lines
- Chop (truncate) long lines rather than wrapping.
- -t [_t_a_g] .. --tag=[_t_a_g]
- Find a tag.
- -T [_t_a_g_s_f_i_l_e] --tag-file=[_t_a_g_s_f_i_l_e]
- Use an alternate tags file.
- -u -U .... --underline-special --UNDERLINE-SPECIAL
- Change handling of backspaces.
- -V ........ --version
- Display the version number of "less".
- -w ........ --hilite-unread
- Highlight first new line after forward-screen.
- -W ........ --HILITE-UNREAD
- Highlight first new line after any forward movement.
- -x [_N[,...]] --tabs=[_N[,...]]
- Set tab stops.
- -X ........ --no-init
- Don't use termcap init/deinit strings.
- -y [_N] .... --max-forw-scroll=[_N]
- Forward scroll limit.
- -z [_N] .... --window=[_N]
- Set size of window.
- -" [_c[_c]] . --quotes=[_c[_c]]
- Set shell quote characters.
- -~ ........ --tilde
- Don't display tildes after end of file.
- -# [_N] .... --shift=[_N]
- Horizontal scroll amount (0 = one half screen width)
- ........ --no-keypad
- Don't send termcap keypad init/deinit strings.
- ........ --follow-name
- The F command changes files if the input file is renamed.
- ........ --use-backslash
- Subsequent options use backslash as escape char.
-
-
- ---------------------------------------------------------------------------
-
- LLIINNEE EEDDIITTIINNGG
-
- These keys can be used to edit text being entered
- on the "command line" at the bottom of the screen.
-
- RightArrow ..................... ESC-l ... Move cursor right one character.
- LeftArrow ...................... ESC-h ... Move cursor left one character.
- ctrl-RightArrow ESC-RightArrow ESC-w ... Move cursor right one word.
- ctrl-LeftArrow ESC-LeftArrow ESC-b ... Move cursor left one word.
- HOME ........................... ESC-0 ... Move cursor to start of line.
- END ............................ ESC-$ ... Move cursor to end of line.
- BACKSPACE ................................ Delete char to left of cursor.
- DELETE ......................... ESC-x ... Delete char under cursor.
- ctrl-BACKSPACE ESC-BACKSPACE ........... Delete word to left of cursor.
- ctrl-DELETE .... ESC-DELETE .... ESC-X ... Delete word under cursor.
- ctrl-U ......... ESC (MS-DOS only) ....... Delete entire line.
- UpArrow ........................ ESC-k ... Retrieve previous command line.
- DownArrow ...................... ESC-j ... Retrieve next command line.
- TAB ...................................... Complete filename & cycle.
- SHIFT-TAB ...................... ESC-TAB Complete filename & reverse cycle.
- ctrl-L ................................... Complete filename, list all.
-
-