Mercurial > emacs
view oldXMenu/XMenuInt.h @ 111353:f2cb0d643a91
Backport fix for Bug#6571 from trunk. NOTE: May cause merge conflicts.
* src/keyboard.c (input_available_signal): Declare.
(kbd_buffer_nr_stored): New function.
(kbd_buffer_store_event_hold): If kbd_buffer_nr_stored returns
more than KBD_BUFFER_SIZE/2, stop reding input (Bug#6571).
(kbd_buffer_get_event): If input is suspended and kbd_buffer_nr_stored
returns less than KBD_BUFFER_SIZE/4, resume reding input (Bug#6571).
(tty_read_avail_input): If input is on hold, return.
Don't read more that free slots in kbd_buffer (Bug#6571).
* src/process.c (kbd_is_on_hold): New variable.
(hold_keyboard_input, unhold_keyboard_input, kbd_on_hold_p):
New functions.
(wait_reading_process_output): If kbd_on_hold_p returns non-zero,
select on empty input mask.
(init_process): Initialize kbd_is_on_hold to 0.
* src/process.h (hold_keyboard_input, unhold_keyboard_input)
(kbd_on_hold_p): Declare.
author | Jan D. <jan.h.d@swipnet.se> |
---|---|
date | Mon, 01 Nov 2010 12:30:33 +0100 |
parents | c2500786b8c5 |
children | edf631bdbb7a ec58e5c426ef 5cc91198ffb2 |
line wrap: on
line source
/* Copyright Massachusetts Institute of Technology 1985 */ #include "copyright.h" /* * XMenu: MIT Project Athena, X Window system menu package * * XMenuInternal.h - Internal menu system include file for the * MIT Project Athena XMenu X window system * menu package. * * Author: Tony Della Fera, DEC * October, 1985 */ #ifndef _XMenuInternal_h_ #define _XMenuInternal_h_ /* Avoid warnings about redefining NULL by including <stdio.h> first; the other file which wants to define it (<stddef.h> on Ultrix systems) can deal if NULL is already defined, but <stdio.h> can't. */ #include <stdio.h> #include <X11/Xlib.h> #include "X10.h" #include "XMenu.h" #define min(x, y) ((x) <= (y) ? (x) : (y)) #define max(x, y) ((x) >= (y) ? (x) : (y)) #define abs(a) ((a) < 0 ? -(a) : (a)) #define _X_FAILURE -1 #define _SUCCESS 1 #define _FAILURE -1 /* * XMenu internal event handler variable. */ extern int (*_XMEventHandler)(); #ifndef Pixel #define Pixel unsigned long #endif /* * Internal routine declarations. */ int _XMWinQueInit(); /* No value actually returned. */ int _XMWinQueAddPane(); int _XMWinQueAddSelection(); int _XMWinQueFlush(); XMPane *_XMGetPanePtr(); XMSelect *_XMGetSelectionPtr(); int _XMRecomputeGlobals(); /* No value actually returned. */ int _XMRecomputePane(); int _XMRecomputeSelection(); int _XMTransToOrigin(); /* No value actually returned. */ int _XMRefreshPane(); /* No value actually returned. */ int _XMRefreshSelections(); /* No value actually returned. */ int _XMHighlightSelection(); /* No value actually returned. */ #endif /* Don't add stuff after this #endif */ /* arch-tag: 00640af1-9386-48b5-a4be-35620b8cd3aa (do not change this comment) */