From: Andrew Burgess <andrew.burgess@embecosm.com>
To: Hannes Domani <ssbssa@yahoo.de>
Cc: Gdb-patches <gdb-patches@sourceware.org>
Subject: Re: [PING^2][PATCH][PR gdb/21690] Fix interruption of command history search
Date: Mon, 8 Jun 2020 15:41:12 +0100 [thread overview]
Message-ID: <20200608144112.GA2737@embecosm.com> (raw)
In-Reply-To: <509346577.1585683.1591617067795@mail.yahoo.com>
* Hannes Domani via Gdb-patches <gdb-patches@sourceware.org> [2020-06-08 11:51:07 +0000]:
> Ping.
>
> Am Freitag, 15. Mai 2020, 11:00:41 MESZ hat Hannes Domani via Gdb-patches <gdb-patches@sourceware.org> Folgendes geschrieben:
>
> > Am Samstag, 25. April 2020, 19:17:34 MESZ hat Hannes Domani via Gdb-patches <gdb-patches@sourceware.org> Folgendes geschrieben:
> >
> > Ping.
> >
> > > If you press Ctrl-C during an incremental search of the readline history, the
> > > prompt is reset, but readline is still in the incremental search mode.
> > >
> > > The call of rl_callback_sigcleanup cleans up the internal readline state, and
> > > disables the incremental search mode.
I didn't look into the implementation of this, but something seems a
little odd, though I don't know if this is just my machine setup....
I start a GDB session, and do this:
(gdb) echo hello\n
hello
At this point I start a reverse search, so I type:
<ctrl+r>
echo
<ctrl+c>
Now I'm left in this situation:
(gdb) echo hello\n
^
'-- Prompt is here.
So, whatever I was in the process of finding when I hit Ctrl+C is left
on my prompt line in an editable state.
This is different from the behaviour I see in, for example, bash,
where when I Ctrl+C the reverse search is aborted and I'm dropped back
to an empty prompt.
Which behaviour do you see?
Which behaviour do you expect to see?
Thanks,
Andrew
> > >
> > > gdb/ChangeLog:
> > >
> > > 2020-04-25 Hannes Domani <ssbssa@yahoo.de>
> > >
> > > PR gdb/21690
> > > * main.c (start_event_loop): Call rl_callback_sigcleanup.
> > > ---
> > > gdb/main.c | 4 ++++
> > > 1 file changed, 4 insertions(+)
> > >
> > > diff --git a/gdb/main.c b/gdb/main.c
> > > index 59cb14161b..a8c1d3ccb1 100644
> > > --- a/gdb/main.c
> > > +++ b/gdb/main.c
> > > @@ -55,6 +55,8 @@
> > > #include "gdbsupport/alt-stack.h"
> > > #include "observable.h"
> > >
> > > +#include "readline/readline.h"
> > > +
> > > /* The selected interpreter. This will be used as a set command
> > > variable, so it should always be malloc'ed - since
> > > do_setshow_command will free it. */
> > > @@ -371,6 +373,8 @@ start_event_loop ()
> > > in a messed-up state. Reset it here. */
> > > current_ui->prompt_state = PROMPT_NEEDED;
> > > gdb::observers::command_error.notify ();
> > > + /* Clean up internal state of the callback interface. */
> > > + rl_callback_sigcleanup ();
> > > /* This call looks bizarre, but it is required. If the user
> > > entered a command that caused an error,
> > > after_char_processing_hook won't be called from
> > > --
> > > 2.26.2
next prev parent reply other threads:[~2020-06-08 14:41 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <509346577.1585683.1591617067795.ref@mail.yahoo.com>
2020-06-08 11:51 ` Hannes Domani
2020-06-08 14:41 ` Andrew Burgess [this message]
2020-06-08 14:58 ` Hannes Domani
2020-06-08 15:35 ` Andrew Burgess
2020-06-08 17:36 ` Hannes Domani
2020-06-08 19:45 ` Hannes Domani
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200608144112.GA2737@embecosm.com \
--to=andrew.burgess@embecosm.com \
--cc=gdb-patches@sourceware.org \
--cc=ssbssa@yahoo.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox