This is the mail archive of the
gdb@sources.redhat.com
mailing list for the GDB project.
completion.exp and the pager
- From: Mark Kettenis <kettenis at chello dot nl>
- To: gdb at sources dot redhat dot com
- Date: Sun, 17 Aug 2003 14:38:35 +0200 (CEST)
- Subject: 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