Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
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


  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