view src/sysselect.h @ 10861:655e3daa560c

(cmd_error): Use clear_prefix_arg. (internal_last_event_frame, Vlast_event_frame): Normal vars again. All uses changed. (Quniversal_argument, Qdigit_argument, Qnegative_argument): Declare. (clear_prefix_arg, finalize_prefix_arg, describe_prefix_arg): New fns. (command_loop_1): Handle digits and minus specially, when they're part of a prefix arg. Handle universal-argument and digit-argument and negative-argument bindings here, rather than doing I/O in the Lisp code. (read_char): When reading switch-frame events from the side queue, set internal_last_event_frame. (readable_events): Return non-zero if a side queue has data. (kbd_buffer_get_event): Don't abort if event has no associated frame. (read_key_sequence): Improve behavior when there's no current display. (init_perdisplay): Initialize the new members.
author Karl Heuer <kwzh@gnu.org>
date Wed, 01 Mar 1995 04:27:37 +0000
parents 62d5058cf94a
children ee40177f6c68
line wrap: on
line source

/* sysselect.h - System-dependent definitions for the select function.
   Copyright (C) 1995 Free Software Foundation, Inc.

This file is part of GNU Emacs.

GNU Emacs is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.

GNU Emacs is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with GNU Emacs; see the file COPYING.  If not, write to
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */

#ifdef HAVE_SYS_SELECT
#include <sys/select.h>
#endif

#ifdef FD_SET
#ifdef FD_SETSIZE
#define MAXDESC FD_SETSIZE
#else
#define MAXDESC 64
#endif
#define SELECT_TYPE fd_set
#else /* no FD_SET */
#define MAXDESC 32
#define SELECT_TYPE int

/* Define the macros to access a single-int bitmap of descriptors.  */
#define FD_SET(n, p) (*(p) |= (1 << (n)))
#define FD_CLR(n, p) (*(p) &= ~(1 << (n)))
#define FD_ISSET(n, p) (*(p) & (1 << (n)))
#define FD_ZERO(p) (*(p) = 0)
#endif /* no FD_SET */

#if !defined (HAVE_SELECT) || defined (BROKEN_SELECT_NON_X)
#define select sys_select
#endif