view src/keymap.h @ 4903:70089046adef

fix compile problems in intl-encap* under VS6 -------------------- ChangeLog entries follow: -------------------- lib-src/ChangeLog addition: 2010-01-30 Ben Wing <ben@xemacs.org> * make-mswin-unicode.pl: Make it possible to specify an overridden prototype in cases where either Cygwin or Visual Studio has errors in their headers that can be corrected by falling back to a less qualified type (typically without const). src/ChangeLog addition: 2010-01-30 Ben Wing <ben@xemacs.org> * intl-auto-encap-win32.c: * intl-auto-encap-win32.c (qxeExtractAssociatedIcon): * intl-auto-encap-win32.c (qxeExtractIconEx): * intl-auto-encap-win32.c (qxeCreateMDIWindow): * intl-auto-encap-win32.c (qxeCreateWindowStation): * intl-auto-encap-win32.c (qxeDdeCreateStringHandle): * intl-auto-encap-win32.c (qxeAbortSystemShutdown): * intl-auto-encap-win32.c (qxeRegConnectRegistry): * intl-auto-encap-win32.c (qxeGetICMProfile): * intl-auto-encap-win32.h: Rebuild. * intl-encap-win32.c: * intl-encap-win32.c (qxeUpdateICMRegKey): Delete manual definitions of functions with former errors in Cygwin headers but no longer. Use "override" with some functions where Cygwin or VS6 accidentally omits a const declaration or includes an extra one. Use "no" on SendMessageTimeout, which has an error in the VS6 prototype (you could manually fix this with an ifdef to split the Cygwin vs. VS6 calls, if we ever actually used this function).
author Ben Wing <ben@xemacs.org>
date Sat, 30 Jan 2010 20:34:23 -0600
parents a75979634ce3
children 6ef8256a020a e0db3c197671
line wrap: on
line source

/* prototypes for keymap-hacking
   Copyright (C) 1992, 1993, 1994 Free Software Foundation, Inc.

This file is part of XEmacs.

XEmacs 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.

XEmacs 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 XEmacs; see the file COPYING.  If not, write to
the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.  */

/* Synched up with: Not in FSF. */


#ifndef INCLUDED_keymap_h_
#define INCLUDED_keymap_h_

typedef struct Lisp_Keymap Lisp_Keymap;

DECLARE_LRECORD (keymap, Lisp_Keymap);
#define XKEYMAP(x) XRECORD (x, keymap, Lisp_Keymap)
#define wrap_keymap(p) wrap_record (p, keymap)
#define KEYMAPP(x) RECORDP (x, keymap)
#define CHECK_KEYMAP(x) CHECK_RECORD (x, keymap)
#define CONCHECK_KEYMAP(x) CONCHECK_RECORD (x, keymap)

EXFUN (Fkeymap_prompt, 2);
EXFUN (Fkeymapp, 1);
EXFUN (Fmake_keymap, 1);
EXFUN (Fwhere_is_internal, 5);

extern Lisp_Object Qalt, Qcontrol, Qhyper, Qmeta, Qshift, Qsuper;
extern Lisp_Object Qbutton1, Qbutton2, Qbutton3, Qbutton4, Qbutton5;
extern Lisp_Object Qbutton6, Qbutton7, Qbutton8, Qbutton9, Qbutton10;
extern Lisp_Object Qbutton11, Qbutton12, Qbutton13, Qbutton14, Qbutton15;
extern Lisp_Object Qbutton16, Qbutton17, Qbutton18, Qbutton19, Qbutton20;
extern Lisp_Object Qbutton21, Qbutton22, Qbutton23, Qbutton24, Qbutton25;
extern Lisp_Object Qbutton26;
extern Lisp_Object Vmeta_prefix_char;

Lisp_Object get_keymap (Lisp_Object object, int errorp, int autoload);
Lisp_Object event_binding (Lisp_Object event0, int accept_default);
Lisp_Object event_binding_in (Lisp_Object event0, Lisp_Object keymap,
			      int accept_default);

Lisp_Object munging_key_map_event_binding (Lisp_Object event0,
					   enum munge_me_out_the_door munge);
int relevant_keymaps_to_search (Lisp_Object keys,
				int max_maps, Lisp_Object maps[]);
void describe_map_tree (Lisp_Object startmap, int partial,
			Lisp_Object shadow, Lisp_Object prefix,
			int mice_only_p, Lisp_Object buffer);

void key_desc_list_to_event (Lisp_Object list, Lisp_Object event,
			     int allow_menu_events);

int event_matches_key_specifier_p (Lisp_Object event,
				   Lisp_Object key_specifier);

#endif /* INCLUDED_keymap_h_ */