[Crash-utility] less(1) TERM requirements; man page update [was Re: crash CPU bound waiting for user response]

D. Hugh Redelmeier hugh at mimosa.com
Mon Jul 9 18:22:37 UTC 2007


| From: Dave Anderson <anderson at redhat.com>
| 
| Chip Coldwell wrote:
| > On Tue, 3 Jul 2007, D. Hugh Redelmeier wrote:

| > >==> It does not say in what way the terminal is not fully
| > >functional.  That seems like a bug.

| > Well, the issue is that the emacs terminal emulator does not fully
| > support the [n]curses escape sequences needed to position the cursor
| > for your pager (e.g. less).

The whole point of termcap/terminfo is to tame the whacky world of
terminal diversity.  There is nothing "wrong" with a terminal that
does not have features needed by less(1).

In fact less(1) would almost never be useful within an emacs/jove
terminal window even if it did work:  emacs/jove has more appropriate
facilities built in.

The same goes for readline within an emacs/jove terminal.

| I would think the easiest way to deal with this issue would be
| to not allow crash to use "less" if the TERM type is "vanilla".
| And if it is vanilla, fall back to using "more", which is what
| is done now if "less" doesn't exist on the host system.

The name of an entry in termcap/terminfo is not supposed to be
material.  One is supposed to make decisions based on the declared
attributes.

Unfortunately, less(1) does not document what capabilities it
requires: neither in the man page nor in the warning messages.  I
don't care enough to read the source code, and in any case anything
learned there would be provisional since it isn't part of the
"contract".

Getting crash entagled with termcap/terminfo on behalf of less(1) is
probably a bad idea.  Mind you, I expect crash already is involved
with termca/terminfo through using readline (I've not checked).

I suspect that the current situation is probably better than trying to
fix it.  A simple "set scroll off" cures the problem for a run.
Making this clear in documentation would be a modest improvement.

Is there a simple way of turning off readline?  To make the problem
harder: I want to do it some times (i.e. when running crash under jove)
but not at others (i.e. when running crash directly in an xterm).


Here is a proposed patch to the man page.

===================================================================
RCS file: RCS/crash.8,v
retrieving revision 1.1
diff -u -r1.1 crash.8
--- crash.8	2007/07/09 15:41:55	1.1
+++ crash.8	2007/07/09 18:16:56
@@ -5,7 +5,7 @@
 .TH CRASH 8
 .SH NAME
 crash \- Analyze Linux crash data or a live system
-.SH SYNAPSIS
+.SH SYNOPSIS
 .B crash
 [
 .B -h
@@ -44,7 +44,7 @@
 core dump has been created by the Red Hat 
 .I netdump
 facility.  It is loosely based on the SVR4 UNIX crash 
-command, but has been signficantly enhanced
+command, but has been significantly enhanced
 by completely merging it with the 
 .I gdb
 debugger. The marriage of the two effectively combines the 
@@ -207,11 +207,11 @@
 .I dis
 disassembles memory, either entire kernel functions, from a
 location for a specified number of instructions, or from the start of a
-fuction up to a specified memory location.
+function up to a specified memory location.
 .TP
 .I eval
 evalues an expression or numeric type and displays the result
-in hexidecimal, decimal, octal and binary.
+in hexadecimal, decimal, octal and binary.
 .TP
 .I exit
 causes
@@ -230,7 +230,7 @@
 in the system.
 .TP
 .I fuser
-displays the tasks using the specifed file or socket.
+displays the tasks using the specified file or socket.
 .TP
 .I gdb
 passes its argument to the underlying
@@ -274,7 +274,7 @@
 display various network related data.
 .TP
 .I p
-passes its argumnts to the
+passes its arguments to the
 .I gdb
 "print" command for evaluation and display.
 .TP
@@ -361,11 +361,54 @@
 .I wr
 modifies the contents of memory.  When writing to memory on
 a live system, this command should obviously be used with great care.
+.SH FILES
+.TP
+.I ~/.crashrc
+initialization commands
+.SH ENVIRONMENT
+.TP
+.B EDITOR
+Command input is read using
+.BR readline(3).
+If
+.B EDITOR
+is set to
+.I emacs
+or
+.I vi
+then suitable keybindings are used.  This can be overridden by ``\fBset\ vi\fP''
+or ``\fBset\ emacs\fP'' commands, but only in
+.IR ~/.crashrc .
+.SH NOTES
+.PP
+If
+.B crash
+does not work, look for a newer version: kernel evolution frequently makes
+.B crash
+updates necessary.
+.PP
+The command ``\fBset\ scroll\ off\fP'' will cause output to be sent directly to
+the terminal rather than through a paging program.  This is useful,
+for example, if you are running
+.B crash
+in a window of
+.BR emacs .
 .SH AUTHOR
 Dave Anderson <anderson at redhat.com> wrote
 .B Crash
 .TP
 Jay Fenlason <fenlason at redhat.com> wrote this man page.
 .SH "SEE ALSO"
-netdump(8)
-gdb(1)
+.PP
+The
+.B help
+command within
+.B crash
+provides more complete and accurate documentation than this manpage.
+.TP
+.I http://people.redhat.com/anderson/
+The home page of
+.IR crash .
+.PP
+.BR netdump (8),
+.BR gdb (1)
================ end ================




More information about the Crash-utility mailing list