Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Hannes Domani <ssbssa@yahoo.de>
To: Andrew Burgess <andrew.burgess@embecosm.com>
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 19:45:52 +0000 (UTC)	[thread overview]
Message-ID: <1596087952.2154785.1591645552465@mail.yahoo.com> (raw)
In-Reply-To: <361311042.2032406.1591637815686@mail.yahoo.com>

 Am Montag, 8. Juni 2020, 19:37:05 MESZ hat Hannes Domani via Gdb-patches <gdb-patches@sourceware.org> Folgendes geschrieben:

> Am Montag, 8. Juni 2020, 17:36:09 MESZ hat Andrew Burgess <andrew.burgess@embecosm.com> Folgendes geschrieben:
>
> > * Hannes Domani <ssbssa@yahoo.de> [2020-06-08 14:58:50 +0000]:
> >
> > >  Am Montag, 8. Juni 2020, 16:41:32 MESZ hat Andrew Burgess <andrew.burgess@embecosm.com> Folgendes geschrieben:
> > >
> > > > * 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?
> > >
> > > This is the behaviour I also see with this patch applied.
> > >
> > >
> > > > Which behaviour do you expect to see?
> > >
> > > I didn't compare with anything else, so my expectation was just that it
> > > shouldn't be in this weird state where the prompt is empty, but readline
> > > actually thinks it's still in the reverse search.
> >
> > I think we should end up back at the empty prompt.  That certainly
> > feels more natural after a Ctrl+C (to me anyway).
>
> I tried to implement that, and the best source I could find was this:
> https://lists.gnu.org/archive/html/bug-readline/2016-04/msg00071.html
>
> But I could not figure out a way that also works in TUI mode.
>
> How does it work that the line is cleared when not in the reverse-search mode?

I figured that part out, the line is cleared by one of the observers:
gdb::observers::command_error.notify ();

So I moved rl_callback_sigcleanup in front of it, and the line is cleared
(kinda), but only after the current line is displayed, so now I get 2 prompts
on top of each other:

(reverse-i-search)`a': echo Quitn
(gdb) echo (gdb)

At this point I stopped for the day.


Hannes


      reply	other threads:[~2020-06-08 19:45 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
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 [this message]

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=1596087952.2154785.1591645552465@mail.yahoo.com \
    --to=ssbssa@yahoo.de \
    --cc=andrew.burgess@embecosm.com \
    --cc=gdb-patches@sourceware.org \
    /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