* [PING][PATCH v2] Fix multi-line strings in TuiWindow.write [not found] <1529224928.468621.1607091529134.ref@mail.yahoo.com> @ 2020-12-04 14:18 ` Hannes Domani via Gdb-patches 2020-12-04 17:22 ` Simon Marchi 0 siblings, 1 reply; 3+ messages in thread From: Hannes Domani via Gdb-patches @ 2020-12-04 14:18 UTC (permalink / raw) To: gdb-patches Ping. Am Freitag, 20. November 2020, 01:01:43 MEZ hat Hannes Domani via Gdb-patches <gdb-patches@sourceware.org> Folgendes geschrieben: > Currently multi-line strings are all written to the first line. > > Since tui_copy_source_line sets the text variable to the start of the > next line, the check for newline has to be done with the previous character. > > gdb/ChangeLog: > > 2020-11-19 Hannes Domani <ssbssa@yahoo.de> > > * python/py-tui.c (tui_py_window::output): Fix multi-line strings. > --- > v2: > - Don't break multiple TuiWindow.write calls without newline characters. > --- > gdb/python/py-tui.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/gdb/python/py-tui.c b/gdb/python/py-tui.c > index 95c71f1d2d..306bd7b801 100644 > --- a/gdb/python/py-tui.c > +++ b/gdb/python/py-tui.c > @@ -203,13 +203,13 @@ tui_py_window::output (const char *text) > { > wmove (handle.get (), cursor_y + 1, cursor_x + 1); > > + const char *prev_text = text; > std::string line = tui_copy_source_line (&text, 0, 0, > vwidth - cursor_x, 0); > tui_puts (line.c_str (), handle.get ()); > > - if (*text == '\n') > + if (text > prev_text && (text[-1] == '\n' || text[-1] == '\r')) > { > - ++text; > ++cursor_y; > cursor_x = 0; > } > -- > 2.29.2 ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PING][PATCH v2] Fix multi-line strings in TuiWindow.write 2020-12-04 14:18 ` [PING][PATCH v2] Fix multi-line strings in TuiWindow.write Hannes Domani via Gdb-patches @ 2020-12-04 17:22 ` Simon Marchi 2020-12-04 18:23 ` Hannes Domani via Gdb-patches 0 siblings, 1 reply; 3+ messages in thread From: Simon Marchi @ 2020-12-04 17:22 UTC (permalink / raw) To: Hannes Domani, gdb-patches On 2020-12-04 9:18 a.m., Hannes Domani via Gdb-patches wrote: > Ping. > > Am Freitag, 20. November 2020, 01:01:43 MEZ hat Hannes Domani via Gdb-patches <gdb-patches@sourceware.org> Folgendes geschrieben: > >> Currently multi-line strings are all written to the first line. >> >> Since tui_copy_source_line sets the text variable to the start of the >> next line, the check for newline has to be done with the previous character. >> >> gdb/ChangeLog: >> >> 2020-11-19 Hannes Domani <ssbssa@yahoo.de> >> >> * python/py-tui.c (tui_py_window::output): Fix multi-line strings. >> --- >> v2: >> - Don't break multiple TuiWindow.write calls without newline characters. >> --- >> gdb/python/py-tui.c | 4 ++-- >> 1 file changed, 2 insertions(+), 2 deletions(-) >> >> diff --git a/gdb/python/py-tui.c b/gdb/python/py-tui.c >> index 95c71f1d2d..306bd7b801 100644 >> --- a/gdb/python/py-tui.c >> +++ b/gdb/python/py-tui.c >> @@ -203,13 +203,13 @@ tui_py_window::output (const char *text) >> { >> wmove (handle.get (), cursor_y + 1, cursor_x + 1); >> >> + const char *prev_text = text; >> std::string line = tui_copy_source_line (&text, 0, 0, >> vwidth - cursor_x, 0); >> tui_puts (line.c_str (), handle.get ()); >> >> - if (*text == '\n') >> + if (text > prev_text && (text[-1] == '\n' || text[-1] == '\r')) >> { >> - ++text; >> ++cursor_y; >> cursor_x = 0; >> } >> -- >> 2.29.2 I tried to apply this and give it a try (although I know nothing about this code), and it looks like the patch is based on an old commit. This code was changed in September, quite a bit before your original patch: https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff;h=149830c137f351cb41888f87493cc42a72dbeac7;hp=5f278258ccae6a666c72de709a3171975fbaeb05 Can you see if the issue still exists in current master? And if so, the fix will have to be adapted to the new code. Simon ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PING][PATCH v2] Fix multi-line strings in TuiWindow.write 2020-12-04 17:22 ` Simon Marchi @ 2020-12-04 18:23 ` Hannes Domani via Gdb-patches 0 siblings, 0 replies; 3+ messages in thread From: Hannes Domani via Gdb-patches @ 2020-12-04 18:23 UTC (permalink / raw) To: gdb-patches, Simon Marchi Am Freitag, 4. Dezember 2020, 18:22:02 MEZ hat Simon Marchi <simark@simark.ca> Folgendes geschrieben: > On 2020-12-04 9:18 a.m., Hannes Domani via Gdb-patches wrote: > > Ping. > > > > Am Freitag, 20. November 2020, 01:01:43 MEZ hat Hannes Domani via Gdb-patches <gdb-patches@sourceware.org> Folgendes geschrieben: > > > >> Currently multi-line strings are all written to the first line. > >> > >> Since tui_copy_source_line sets the text variable to the start of the > >> next line, the check for newline has to be done with the previous character. > >> > >> gdb/ChangeLog: > >> > >> 2020-11-19 Hannes Domani <ssbssa@yahoo.de> > >> > >> * python/py-tui.c (tui_py_window::output): Fix multi-line strings. > >> --- > >> v2: > >> - Don't break multiple TuiWindow.write calls without newline characters. > >> --- > >> gdb/python/py-tui.c | 4 ++-- > >> 1 file changed, 2 insertions(+), 2 deletions(-) > >> > >> diff --git a/gdb/python/py-tui.c b/gdb/python/py-tui.c > >> index 95c71f1d2d..306bd7b801 100644 > >> --- a/gdb/python/py-tui.c > >> +++ b/gdb/python/py-tui.c > >> @@ -203,13 +203,13 @@ tui_py_window::output (const char *text) > >> { > >> wmove (handle.get (), cursor_y + 1, cursor_x + 1); > >> > >> + const char *prev_text = text; > >> std::string line = tui_copy_source_line (&text, 0, 0, > >> vwidth - cursor_x, 0); > >> tui_puts (line.c_str (), handle.get ()); > >> > >> - if (*text == '\n') > >> + if (text > prev_text && (text[-1] == '\n' || text[-1] == '\r')) > >> { > >> - ++text; > >> ++cursor_y; > >> cursor_x = 0; > >> } > >> -- > >> 2.29.2 > > > I tried to apply this and give it a try (although I know nothing about > this code), and it looks like the patch is based on an old commit. This > code was changed in September, quite a bit before your original patch: > > https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff;h=149830c137f351cb41888f87493cc42a72dbeac7;hp=5f278258ccae6a666c72de709a3171975fbaeb05 Oh, I forgot to cherry pick it to current master, sorry about that. > Can you see if the issue still exists in current master? And if so, the > fix will have to be adapted to the new code. Yes, looks like this is probably fixed. I'll re-check when I build current master the next time. Hannes ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2020-12-04 18:23 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <1529224928.468621.1607091529134.ref@mail.yahoo.com>
2020-12-04 14:18 ` [PING][PATCH v2] Fix multi-line strings in TuiWindow.write Hannes Domani via Gdb-patches
2020-12-04 17:22 ` Simon Marchi
2020-12-04 18:23 ` Hannes Domani via Gdb-patches
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox