This is the mail archive of the gdb@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

completion.exp and the pager


Folks,

On various FreeBSD 5.x systems I get a few failures in completion.exp.
The first failure is:

  FAIL: gdb.base/completion.exp: (timeout) complete (2) 'p 'a'

If I look at gdb.log, it's clear what's happening.  FreeBSD has quite
a few symbols in libc that start with an 'a'.  Defenitely more than
can be listed on a 24-line terminal.  The pager kicks in and the test
gets a timeout:

  acl_dup                  aio_error                authdes_create
  acl_free                 aio_read                 authdes_getucred
  acl_from_text            aio_return               authdes_lock
  --More--FAIL: gdb.base/completion.exp: (timeout) complete (2) 'p 'a'
  ^G^MESC[K^Macl_get_entry            aio_suspend              authdes_ops_lock
  acl_get_fd               aio_waitcomplete         authdes_pk_seccreate

This isn't our normal pager (the test does a "set height 0"), but
readline's completion pager.  However, we don't synchronize GDB's and
readline's idea of the size of our terminal.  I think we should do
this.

The readline library has the functions rl_{get|set}_screen_size() to
communicate the size of the terminal.  It's also possible to disable
the completion pager entirely, but that's a bit more cumbersome, since
it has to be done with rl_variable_bind(), and it doesn't seem to be
possible to check the current setting.

I'll see whether I can come up with a patch.

Mark


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]