This changes tui_copy_source_line to use ISCNTRL. This lets it work
more nicely with UTF-8 input. Note that this still won't work for
stateful multi-byte encodings; for that much more work would be
required. However, I think this patch does not make gdb any worse in
this scenario.
gdb/ChangeLog
2020-09-27 Tom Tromey <tom@tromey.com>
PR tui/25342:
* tui/tui-winsource.c (tui_copy_source_line): Use ISNCTRL.
+2020-09-27 Tom Tromey <tom@tromey.com>
+
+ PR tui/25342:
+ * tui/tui-winsource.c (tui_copy_source_line): Use ISNCTRL.
+
2020-09-27 Tom Tromey <tom@tromey.com>
* unittests/tui-selftests.c: Update.
#include "source.h"
#include "objfiles.h"
#include "filenames.h"
+#include "safe-ctype.h"
#include "tui/tui.h"
#include "tui/tui-data.h"
{
/* Nothing. */
}
- else if (c < 040 && c != '\t')
+ else if (c == '\t')
+ process_tab ();
+ else if (ISCNTRL (c))
{
result.push_back ('^');
result.push_back (c + 0100);
result.push_back ('?');
++column;
}
- else if (c == '\t')
- process_tab ();
else
result.push_back (c);
}