emacs-pretest-bug
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Lingering input pending with motif menu bar


From: Marshall, Simon
Subject: Lingering input pending with motif menu bar
Date: Fri, 30 Jun 2006 15:03:37 +0100

I can reproduce this with --with-x-toolkit=MOTIF, but not LUCID.  Note that
Motif is provided by Solaris.  I don't have GNU/Lesstif (sp?) to try it
with.  Fingers crossed that this is also the cause of some other oddities
I've seen with the menu bar that I've not been able to document enough to
report...

src/emacs -Q
Options > Enter Debugger on Quit/C-g
Tools > Games > Towers of Hanoi

I get split windows, with the top of the *Hanoi* buffer in the upper window
and the *Backtrace* buffer in the lower window, containing:

Debugger entered--Lisp error: (quit "I can tell you've had enough")
  signal(quit ("I can tell you've had enough"))
  hanoi-sit-for(0)
  hanoi-n(nil nil (217 . 61) (503 . 113) (477 . 87) 1151672642.537304)
  hanoi-n((0) ((217 . 3)) (217 . 61) (477 . 87) (503 . 113)
1151672642.537304)
  hanoi-n((0 0) ((295 . 5) (217 . 3)) (217 . 61) (503 . 113) (477 . 87)
1151672642.537304)
  hanoi-n((0 0 0) ((373 . 7) (295 . 5) (217 . 3)) (217 . 61) (477 . 87) (503
. 113) 1151672642.537304)
  hanoi-internal(3 (0 0 0) 1151672642.537304)
  hanoi(3)
  call-interactively(hanoi)

Tools > Games > Life also stops immediately, though Snake and Tetris do not.

M-x hanoi and M-x life work normally.

Debugging it, I see:

(dbx) where
=>[1] readable_events(flags = 3), line 3551 in "keyboard.c"
  [2] get_input_pending(addr = 0x4bfd20, flags = 3), line 6599 in
"keyboard.c"
  [3] Finput_pending_p(), line 10006 in "keyboard.c"
  ...

Which is the return at this statement:

              if (!(
#ifdef USE_TOOLKIT_SCROLL_BARS
                    (flags & READABLE_EVENTS_FILTER_EVENTS) &&
#endif
                    event->kind == FOCUS_IN_EVENT)
#ifdef USE_TOOLKIT_SCROLL_BARS
                  && !((flags & READABLE_EVENTS_IGNORE_SQUEEZABLES)
                       && event->kind == SCROLL_BAR_CLICK_EVENT
                       && event->part == scroll_bar_handle
                       && event->modifiers == 0)
#endif
                  )
                return 1;

Which it hits the first time through the outer do-while loop.  The event is:

(dbx) print *event
*event = {
    kind            = HELP_EVENT
    code            = 0
    part            = scroll_bar_move_ratio
    modifiers       = 1
    x               = 541935616
    y               = 541935616
    timestamp       = 4280257056U
    padding         = (0x200030, 0x1)
    frame_or_window = -2138585600
    arg             = 541935616
}

I'm not sure what a HELP_EVENT is, but it doesn't look right.  How can I
help?

In GNU Emacs 22.0.50.3 (sparc-sun-solaris2.8, Motif Version 2.1.0)
 of 2006-06-26 on perth
X server distributor `Hummingbird Ltd.', version 11.0.100015
configured using `configure
'--prefix=/rvcarma/marshals/software/slash/usr/local'
'--with-x-toolkit=motif' 'CFLAGS=-g''

Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: en_GB.ISO8859-1
  value of $LC_CTYPE: en_GB.ISO8859-1
  value of $LC_MESSAGES: C
  value of $LC_MONETARY: en_GB.ISO8859-1
  value of $LC_NUMERIC: en_GB.ISO8859-1
  value of $LC_TIME: en_GB.ISO8859-1
  value of $LANG: en_GB.ISO8859-1
  locale-coding-system: iso-8859-1
  default-enable-multibyte-characters: t

Major mode: Emacs-Lisp

Minor modes in effect:
  tooltip-mode: t
  tool-bar-mode: t
  mouse-wheel-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  unify-8859-on-encoding-mode: t
  utf-translate-cjk-mode: t
  auto-compression-mode: t




reply via email to

[Prev in Thread] Current Thread [Next in Thread]