Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
* Re: [PATCH] Merge of readline 4.3 to mainline
@ 2002-12-09 14:38 Michael Elizabeth Chastain
  0 siblings, 0 replies; 10+ messages in thread
From: Michael Elizabeth Chastain @ 2002-12-09 14:38 UTC (permalink / raw)
  To: carlton; +Cc: ezannoni, gdb-patches

> Do you have anything strange in your .inputrc?  I skimmed through the
> readline docs and didn't see any variables that would produce this
> behavior, but I thought I'd ask just in case...

I don't have a .inputrc file at all.  And I'm sure I don't have a
different one than I had last week.

If other people have nice-looking gdb.log files, and I have a
funny-looking gdb.log file, that implies that readline is
conditionally acting on something that I have that other people
don't.  So my theory is that we just find that thing and hard-wire
it to "always print the simple way".  I guess I'm in the best
position to find the magic logic because I'm the guy with the
anomolous output.

I'm tracing through readline/display.c:rl_redisplay(), and I see
that it's got different code for HANDLE_MULTIBYTE.  This code is
definitely turned on for my system.  One of the big changes in
Red Hat Linux 8 is unicode support in the console.

There are two ways to check this: look in the build log for the
place that readline gets configured.  Mine says:

  checking for tgetent in -ltermcap... yes
  checking which library has the termcap functions... using libtermcap
  checking for wctype.h... yes
  checking for wchar.h... yes
  checking for langinfo.h... yes
  checking for mbsrtowcs... yes
  checking for wcwidth... yes
  checking for mbstate_t... yes

If all of wctype.h, wchar.h, and mbsrtowcs are turned on,
then HAVE_MULTIBYTE is defined, and rl_redisplay has different
logic.

You can also start gdb, break on rl_redisplay, and check for a local
variables named "wc" and "wc_bytes".  If they exist, then HAVE_MULTIBYTE
was configured in.

The old readline 4.1 does not have this HAVE_MULTIBYTE code at all.
I suspect that's why it worked on my system.

More source diving to follow ... at the moment I am just suspicious
of HAVE_MULTIBYTE, it could be something else.

Michael C


^ permalink raw reply	[flat|nested] 10+ messages in thread
* Re: [PATCH] Merge of readline 4.3 to mainline
@ 2002-12-09 16:27 Michael Elizabeth Chastain
  2002-12-09 18:32 ` Elena Zannoni
  0 siblings, 1 reply; 10+ messages in thread
From: Michael Elizabeth Chastain @ 2002-12-09 16:27 UTC (permalink / raw)
  To: carlton, ezannoni; +Cc: gdb-patches

Heh.  I figured out what's special about my system.

I build the whole toolchain from scratch, starting with gnu make, then
binutils, then a baseline version of gcc.  Then I use the baseline tools
to build everything else, including all the binutils, gcc's, and gdb's
that I test with.  Then I run all the tests.

The idea of the baseline is to make a test bed that can bootstrap on
systems without the gnu toolchain, like Solaris.

My baseline compiler is gcc 2.95.3, because it's simple and fast.

When I build gdb with /bin/cc, or when I use gcc 3.2.1 + binutils 2.13.1,
the strange behavior in readline does not happen and my gdb.log looks
normal and good.

So it's some interaction with building gdb with gcc 2.95.3 and then
running on red hat linux 8 that causes the perverse line refreshes.
I figure this falls in the category of "don't do that!"

Anyways now we know a little more about readline in case the perverse
line refreshes ever strike anyone else.

Feeling bashful,

Michael C


^ permalink raw reply	[flat|nested] 10+ messages in thread
* Re: [PATCH] Merge of readline 4.3 to mainline
@ 2002-12-09 14:09 Michael Elizabeth Chastain
  2002-12-09 14:14 ` David Carlton
  0 siblings, 1 reply; 10+ messages in thread
From: Michael Elizabeth Chastain @ 2002-12-09 14:09 UTC (permalink / raw)
  To: ezannoni; +Cc: gdb-patches

Yes, it's native i686-pc-linux-gnu, red hat linux 8, running in the console
(that is, not in an X window).  My $TERM environment variable has
the value "linux".

I'm using tcl 8.3.4, expect 5.33, dejagnu 1.4.2 + FernandoN kfail patch.

I haven't reconfigured anything on my system since the last time
that it worked for me.

Can you check in your gdb.log file and see if it's full of
"(gdb) print x" echoing or "^M^M(gdb) ^M(gdb) p^M(gdb) pr^M ..."
echoing.  If you have the simple style of echoing then we just have
to make readline do that all the time when running test scripts.

Is anyone else running the test suite with the new readline?
Maybe it's just me?

Michael C


^ permalink raw reply	[flat|nested] 10+ messages in thread
* Re: [PATCH] Merge of readline 4.3 to mainline
@ 2002-12-09 13:42 Michael Elizabeth Chastain
  2002-12-09 13:57 ` Elena Zannoni
  0 siblings, 1 reply; 10+ messages in thread
From: Michael Elizabeth Chastain @ 2002-12-09 13:42 UTC (permalink / raw)
  To: ezannoni, gdb-patches

The test suite is sick in gdb cvs HEAD.  gdb.base/annota1.exp times out
nearly every test, gdb.base/arithmet.exp FAILs on 28 tests, and so on.

Last week, gdb.log looked like this:

  # gdb.log, HEAD%2002-12-03
  print x^M
  $1 = 14^M
  (gdb) PASS: gdb.base/arithmet.exp: print x

This week, gdb.log looks like this:

  # gdb.log, HEAD%2002-12-09
  ^M(gdb) p^M(gdb) p^M(gdb) pr^M(gdb) pr^M(gdb) pri^M(gdb) pri^M(gdb) prin^M(gdb) prin^M(gdb) print^M(gdb) print^M(gdb) print ^M(gdb) print ^M(gdb) print x^M(gdb) print x^M
  $1 = 14^M
  ^M^M(gdb) ^M(gdb) FAIL: gdb.base/arithmet.exp: print x

This looks like readline 4.3 changed the way that it echoes text,
and that a lot of test scripts are sensitive to that.  In particular,
the prompt changed from "(gdb) " to "^M^M(gdb) ^M(gdb) ".

Maybe there is some setting to frob in readline to get back the
simple style of echo output?

Michael C


^ permalink raw reply	[flat|nested] 10+ messages in thread
* [PATCH] Merge of readline 4.3 to mainline
@ 2002-12-07  3:57 Elena Zannoni
  2002-12-08 14:34 ` Elena Zannoni
  0 siblings, 1 reply; 10+ messages in thread
From: Elena Zannoni @ 2002-12-07  3:57 UTC (permalink / raw)
  To: gdb-patches


Importing readline 4.3. This was already on the
readline_4_3-import-branch.  The changes to the readline directory are
too big, so I am not including them here.

Will commit in a day or so.

Elena


gdb/ChangeLog
2002-12-06  Elena Zannoni  <ezannoni@redhat.com>

        Import of readline 4.3:
        * cli/cli-cmds.c: Include readline/tilde.h.
        * cli/cli-setshow.c: Ditto.
        * defs.h: Don't declare tilde_expand anymore, since readline
        exports it.

Index: defs.h
===================================================================
RCS file: /cvs/src/src/gdb/defs.h,v
retrieving revision 1.102
diff -u -r1.102 defs.h
--- defs.h      15 Oct 2002 02:16:51 -0000      1.102
+++ defs.h      7 Dec 2002 03:54:14 -0000
@@ -614,10 +614,6 @@
 
 struct frame_info;
 
-/* From readline (but not in any readline .h files).  */
-
-extern char *tilde_expand (char *);
-
 /* Control types for commands */
 
 enum misc_command_type

Index: cli/cli-cmds.c
===================================================================
RCS file: /cvs/src/src/gdb/cli/cli-cmds.c,v
retrieving revision 1.24
diff -u -r1.24 cli-cmds.c
--- cli/cli-cmds.c      29 Nov 2002 19:15:15 -0000      1.24
+++ cli/cli-cmds.c      7 Dec 2002 03:54:15 -0000
@@ -19,6 +19,7 @@
    Foundation, Inc., 59 Temple Place - Suite 330,
    Boston, MA 02111-1307, USA.  */
 
+#include <readline/tilde.h>
 #include "defs.h"
 #include "completer.h"
 #include "target.h"     /* For baud_rate, remote_debug and remote_timeout */

Index: cli/cli-setshow.c
===================================================================
RCS file: /cvs/src/src/gdb/cli/cli-setshow.c,v
retrieving revision 1.9
diff -u -r1.9 cli-setshow.c
--- cli/cli-setshow.c   30 Jul 2002 13:45:14 -0000      1.9
+++ cli/cli-setshow.c   7 Dec 2002 03:54:15 -0000
@@ -17,6 +17,7 @@
    Foundation, Inc., 59 Temple Place - Suite 330,
    Boston, MA 02111-1307, USA.  */
 
+#include <readline/tilde.h>
 #include "defs.h"
 #include "value.h"
 #include <ctype.h>

tui/ChangeLog
2002-12-06  Elena Zannoni  <ezannoni@redhat.com>

       Import of readline 4.3. 
       Fix PR gdb/675
       * tuiWin.c: Include readline/readline.h.
       (tui_update_gdb_sizes): Use accessor function rl_get_screen_size.
       (tuiResizeAll): Ditto.

Index: tuiWin.c
===================================================================
RCS file: /cvs/src/src/gdb/tui/tuiWin.c,v
retrieving revision 1.26
diff -u -r1.26 tuiWin.c
--- tuiWin.c    29 Nov 2002 19:15:16 -0000      1.26
+++ tuiWin.c    7 Dec 2002 03:43:57 -0000
@@ -46,6 +46,7 @@
 
 #include <string.h>
 #include <ctype.h>
+#include <readline/readline.h>
 #include "defs.h"
 #include "command.h"
 #include "symtab.h"
@@ -417,8 +418,9 @@
 tui_update_gdb_sizes ()
 {
   char cmd[50];
-  extern int screenheight, screenwidth;                /* in readline */
+  int screenheight, screenwidth;
 
+  rl_get_screen_size (&screenheight, &screenwidth);
   /* Set to TUI command window dimension or use readline values.  */
   sprintf (cmd, "set width %d",
            tui_active ? cmdWin->generic.width : screenwidth);
@@ -634,8 +636,9 @@
 tuiResizeAll (void)
 {
   int heightDiff, widthDiff;
-  extern int screenheight, screenwidth;                /* in readline */
+  int screenheight, screenwidth;
 
+  rl_get_screen_size (&screenheight, &screenwidth);
   widthDiff = screenwidth - termWidth ();
   heightDiff = screenheight - termHeight ();
   if (heightDiff || widthDiff)


^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2002-12-10  2:08 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-12-09 14:38 [PATCH] Merge of readline 4.3 to mainline Michael Elizabeth Chastain
  -- strict thread matches above, loose matches on Subject: below --
2002-12-09 16:27 Michael Elizabeth Chastain
2002-12-09 18:32 ` Elena Zannoni
2002-12-09 14:09 Michael Elizabeth Chastain
2002-12-09 14:14 ` David Carlton
2002-12-09 13:42 Michael Elizabeth Chastain
2002-12-09 13:57 ` Elena Zannoni
2002-12-09 14:00   ` Elena Zannoni
2002-12-07  3:57 Elena Zannoni
2002-12-08 14:34 ` Elena Zannoni

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox