]> granicus.if.org Git - procps-ng/commit
top: correct loss of keystrokes paste capability
authorJim Warner <james.warner@comcast.net>
Mon, 12 Mar 2012 17:12:12 +0000 (12:12 -0500)
committerCraig Small <csmall@enc.com.au>
Thu, 15 Mar 2012 20:10:53 +0000 (07:10 +1100)
commitfa21a6ca819f0f8442849552d0c499e79263ffdb
tree6cb23cdb9be5a8cd390a0a1e39bbaa595560fa1e
parent42380330d7ea2b1f8cd90a69660d82a149fec4bd
top: correct loss of keystrokes paste capability

When top introduced true line input editing, the
ability to paste keystrokes was lost.  This remains
a necessary evil so that top has an opportunity to
translate cursor motion keystrokes into terminfo
escapes during line input.  Motion keys themselves,
of course, can never be pasted.

If pasting ever became more important than input
editing, then native termios support should have been
available via a define called TERMIOS_ONLY.  But a
recent commit, eliminating what was thought to be
obsolete logic, rendered the alternate linein()
function virtually useless.

Similar to top-3.2.8, when native termios input is
functional, these abberations can be experienced:
. cursor motion keys will appear as escapes
. excessive input can cause line wraps
. ^Z during i/p is not be honored until <Enter>
. SIGWINCH during i/p corrupts screen temporarily

In hindsight, it now seems that the ability to paste
keystrokes may indeed outweigh any shortcomings of
native termios support.  This is especially true if
one is preparing to search ('L') for some lengthy
process command line contined in the clipboard.

Thus, this patch fixes the alternate linein() function
and changes TERMIOS_ONLY to TERMIO_PROXY so that top
now defaults to using native termios input.  In turn,
that will restore the paste keystrokes capability.

Reference(s):
commit: 045538e01b4588e33bacc1ac57abc799b6d24d7b

Reported by: sergio <mailbox@sergio.spb.ru>
Bug-Debian:  http://bugs.debian.org/663334

Signed-off-by: Jim Warner <james.warner@comcast.net>
top/top.c
top/top.h