From: Dave Anderson <anderson@xxxxxxxxxx> Subject: Re: Usage Advice Date: Fri, 2 Oct 2009 09:47:38 -0400 (EDT) > > ----- "CAI Qian" <caiqian@xxxxxxxxxx> wrote: > >> Hallo! >> >> There are a few things that bother me the most regards the crash utility >> usages. >> >> 1) Pointer remains at the beginning after the UP array key. When >> entering the UP array key, it repeats the last command like, >> >> crash> struct struct_tss >> >> However, then the current position remains at the beginning. It is >> usually unlike in bash that the current position remains at the end, >> so it is easier to update the command like, >> >> crash> struct struct_tss ffffffff819f1764 > > I believe that's a function of the readline library, and there may be > a setting/binding that could be used to make that happen. Since the > beginning, readline has been set up by crash like this: > > if (STREQ(pc->editing_mode, "vi")) { > rl_editing_mode = vi_mode; > > rl_bind_key(CTRL('N'), rl_get_next_history); > rl_bind_key(CTRL('P'), rl_get_previous_history); > > rl_bind_key_in_map(CTRL('P'), rl_get_previous_history, > vi_insertion_keymap); > rl_bind_key_in_map(CTRL('N'), rl_get_next_history, > vi_insertion_keymap); > > rl_generic_bind(ISFUNC, "[A", (char *)rl_get_previous_history, > vi_movement_keymap); > rl_generic_bind(ISFUNC, "[B", (char *)rl_get_next_history, > vi_movement_keymap); > } > > if (STREQ(pc->editing_mode, "emacs")) { > rl_editing_mode = emacs_mode; > } > > I don't recall where those bindings came from -- I copied them from some > other program. I'm guessing that there's a binding that would put the cursor > at the end of the recalled string, but I don't know what it is off-hand. > > If anybody knows what the binding sequence is, please post it here... > > On the other hand, when updating a command string, I guess it depends > whether the location you want to change is at the beginning or the end > of the string would be a cause to be bothered by it? > Yes, but from the familiarity point of view, I vote for at the end like in Bash. >> >> 2) Pressing PgUp/PgDn when input leads nothing can be input. This >> happens like, >> >> crash> log >> >> In order to see the full log output, I may press PgDn several >> times. However, if continue pressing the key after the output has >> already finished like, > > In the case of the "log" command, the PageUp and PageDown keys are being > captured by the scrolling routine, which is /usr/bin/less by default. > OK. >> >> crash> >> >> there seems no way to input anything unless pressing Enter several >> times until reach the next prompt. > > Right -- PageUp and PageDown don't make sense once you are back to > the "crash> " command prompt. > >> 3) Ctrl-C is not working to cancel the current input. GDB has the same >> problem. It needs to press Ctrl-C several times to get it to a new >> prompt. > > That's also done on purpose -- in certain circumstances it requires > that Ctrl-C be hit 3 times (MAX_SIGINTS_ACCEPTED). There was a good > reason that was put in place, but I'm afraid I don't recall why... > OK. Thanks! CAI Qian -- Crash-utility mailing list Crash-utility@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/crash-utility