aboutsummaryrefslogtreecommitdiffstats
path: root/src/keymap.c
Commit message (Collapse)AuthorAgeFilesLines
* Put interrupt input blocking in a separate file from xterm.h.Jim Blandy1993-03-311-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This isn't specific to X, and it allows us to avoid #including xterm.h in files that don't really have anything to do with X. * blockinput.h: New file. * xterm.h (BLOCK_INPUT, UNBLOCK_INPUT, TOTALLY_UNBLOCK_INPUT, UNBLOCK_INPUT_RESIGNAL): These are now in blockinput.h. (x_input_blocked, x_pending_input): Deleted; there are analogs in blockinput.h called interrupt_input_blocked and interrupt_input_pending. * keyboard.c (interrupt_input_blocked, interrupt_input_pending): New variables, used by the macros in blockinput.h. * xterm.c: #include blockinput.h. (x_input_blocked, x_pending_input): Deleted. (XTread_socket): Test and set interrupt_input_blocked and interrupt_input_pending instead of the old variables. * alloc.c, xfaces.c, xfns.c, xmenu.c, xselect.c, keymap.c: #include blockinput.h. * eval.c: #include blockinput.h instead of xterm.h. * keyboard.c: #include blockinput.h. (input_poll_signal): Just test interrupt_input_blocked, instead of testing HAVE_X_WINDOWS and x_input_blocked. Block the processing of interrupt input while we're manipulating the malloc heap. * alloc.c: (xfree): New function, to make it easy to free things safely. (xmalloc, xrealloc): Block X input while doing the deed. (VALIDATE_LISP_STORAGE, gc_sweep, compact_strings): Use xfree instead of free. (uninterrupt_malloc): New function, to install input-blocking hooks into the GNU malloc routines. * emacs.c [not SYSTEM_MALLOC] (main): Call uninterrupt_malloc on startup. * alloc.c: (make_interval, make_float, Fcons, Fmake_vector, Fmake_symbol, Fmake_marker, make_uninit_string, Fgarbage_collect): Use xmalloc instead of malloc; don't bother to check if out of memory here. (Fgarbage_collect): Call xrealloc instead of realloc. * buffer.c: Use xmalloc and xfree instead of malloc and free; don't bother to check if out of memory here. (Fget_buffer_create): Put BLOCK_INPUT/UNBLOCK_INPUT pair around calls to ralloc routines. * insdel.c: Same. * lisp.h (xfree): New extern declaration. * xfaces.c (xfree): Don't #define this to be free; use the definition in alloc.c. * dispnew.c, doc.c, doprnt.c, fileio.c, lread.c, term.c, xfns.c, xmenu.c, xterm.c: Use xfree instead of free. * hftctl.c: Use xfree and xmalloc instead of free and malloc. * keymap.c (current_minor_maps): BLOCK_INPUT while calling realloc and malloc. * search.c: Since the regexp routines can malloc, BLOCK_INPUT while runing them. #include blockinput.h. * sysdep.c: #include blockinput.h. Call xfree and xmalloc instead of free and malloc. BLOCK_INPUT around routines which we know will call malloc. ymakefile (keyboard.o, keymap.o, search.o, sysdep.o, xfaces.o, xfns.o, xmenu.o, xterm.o, xselect.o, alloc.o, eval.o): Note that these depend on blockinput.h.
* * keymap.c (Fkeymapp): Doc fix.Jim Blandy1993-03-251-1/+1
|
* (push_key_description): Ignore bits above meta_modifier.Richard M. Stallman1993-03-241-0/+3
|
* (Fdefine_key): Use proper meta-bit to clear.Richard M. Stallman1993-03-101-33/+23
| | | | | | | | | (access_keymap): Handle ints beyond the ASCII range. (store_in_keymap): Likewise. (Faccessible_keymaps): Use meta_modifier. Use vectors for the key sequences. (Fwhere_is_internal): Use meta_modifier. (append_key): Always return a vector.
* Include termhooks.h.Richard M. Stallman1993-03-071-11/+78
| | | | | | | | | | | (push_key_description): Handle all modifiers. Handle large character codes. (Fkey_description): Move the meta bit, if arg is string. (Fsingle_key_description): Don't alter integer value. Make tem long enough. (Flookup_key): Use meta_modifier as meta-bit if from vector. (Fdefine_key): Likewise.
* * keymap.c (Fdescribe_vector): Pass the proper number of argumentsJim Blandy1993-02-221-1/+1
| | | | | to describe_vector. * syntax.c (describe_syntax_1): Same.
* (describe_map): Call Fkey_description before build_string.Richard M. Stallman1993-02-191-2/+6
|
* * keymap.c (Flookup_key, Fkey_binding, Flocal_key_binding,Jim Blandy1993-02-141-29/+54
| | | | | | | | Fglobal_key_binding, Fminor_mode_key_binding): Add a new optional argument ACCEPT_DEFAULT, to control whether this function sees bindings for t. (Fwhere_is_internal, describe_map_tree, describe_map_2, describe_vector): Pass the proper arguments to Flookup_key.
* JimB's changes since January 18thJim Blandy1993-01-261-2/+8
|
* * keymap.c (get_keymap_1): Don't try to autoload OBJECT's functionJim Blandy1992-11-071-6/+13
| | | | unless the autoload form indicates that it's a keymap.
* * keymap.c (Fdefine_key, Flookup_key, describe_map): Don't assumeJim Blandy1992-10-311-21/+52
| | | | | | | | | | | | | | | | that Flength returns an integer. * keymap.c: Deal with autoloaded keymaps properly. (get_keymap_1): Renamed to inner_get_keymap; made static. New argument AUTOLOAD says to pursue autoloads if non-zero. (Fkeymapp, get_keymap, get_keyelt, Flookup_key): Ask get_keymap_1 not to perform autoloads. (Fdefine_key): Ask get_keymap_1 to perform autoloads. Since autoloading may GC, remember that we have to GCPRO our local variables now. (Fminor_mode_key_binding): Call get_keymap instead of calling get_keymap_1 with equivalent arguments.
* * keymap.c (store_in_keymap): Don't forget to QUIT in theJim Blandy1992-10-191-0/+4
| | | | | | | | | keymap-scanning loop. Don't treat vectors as binding tables if they're the wrong length. * keymap.c (store_in_keymap): Don't forget to QUIT in the keymap-scanning loop. Don't treat vectors as binding tables if they're the wrong length.
* * keymap.c (initial_define_lispy_key): New function, for definingJim Blandy1992-10-111-15/+28
| | | | | | | | | non-ascii keys. * keymap.c (access_keymap): Treat bindings for Qt as default bindings, when new argument T_OK is non-zero. (get_keyelt, Fdefine_key, Flookup_key): Call access_keymap with T_OK false.
* * keymap.c (access_keymap, store_in_keymap,Jim Blandy1992-10-031-6/+3
| | | | | | Fsingle_key_description): No need to check for EVENT_HAS_PARAMETERS before using EVENT_HEAD; the latter now works properly on all sorts of events.
* * keymap.c (access_keymap): Don't forget to QUIT while scanningJim Blandy1992-09-291-0/+2
| | | | the keymap.
* * keymap.c (access_keymap): Remove code to notice bindings forJim Blandy1992-09-281-12/+12
| | | | | | | | | Qt. * keymap.c (Fwhere_is_internal): Don't forget to advance map to the next element when we find something that is neither a vector nor a cons. Don't forget to QUIT in the appropriate places, either.
* * keymap.c (DENSE_TABLE_SIZE): Doc fix.Jim Blandy1992-09-231-214/+204
| | | | | | | | | | | | | | | | | | | (keymap_table): Function removed; this function exists only to support an incorrect understanding of the format of keymaps. (access_keymap, store_in_keymap, Fcopy_keymap, Faccessible_keymaps): Correctly handle vectors at any point in the keymap; don't assume it must be at the front. (describe_map): Instead of calling describe_vector on the vector in the cadr of the keymap (if present) and then calling describe_alist to do the rest, just call describe_map_2. (describe_alist): Renamed to describe_map_2; call describe_vector when we encounter a vector in the list. * keymap.c (access_keymap, store_in_keymap): Clarify error message for non-ASCII characters. * keymap.c (access_keymap): Return the binding of Qt as the binding for all unbound characters.
* (get_keyelt): Skip menu help string after menu item name.Richard M. Stallman1992-09-181-2/+9
|
* * keymap.c (describe_buffer_bindings): Adjust key_heading to matchJim Blandy1992-09-131-5/+49
| | | | | | | | | | | | | | | | | the format used by describe_map_tree. Also, don't reprint the "key binding" header above the global bindings if we've already printed it for the local bindings; it's clear enough that the columns mean the same thing as above. * keymap.c (describe_buffer_bindings): Declare buf and bufend... * keymap.c (describe_buffer_bindings): Set the current buffer to descbuf before calling current_minor_maps; that function's value depends on the values of buffer-local variables. Don't set the current buffer to Vstandard_output until afterwards. * keymap.c (describe_buffer_bindings): If Vkeyboard_translate_table is in effect, describe its effects.
* (Fmake_sparse_keymap, Fmake_keymap): New optional arg. Callers changed.Richard M. Stallman1992-09-111-19/+32
| | | | (keymap_table): No longer static.
* entered into RCSJim Blandy1992-05-181-8/+3
|
* *** empty log message ***Jim Blandy1992-01-281-16/+39
|
* *** empty log message ***Jim Blandy1992-01-131-75/+77
|
* *** empty log message ***Jim Blandy1991-12-201-17/+182
|
* *** empty log message ***Jim Blandy1991-07-311-1/+4
|
* *** empty log message ***Jim Blandy1991-07-281-12/+19
|
* Initial revisionJim Blandy1991-05-061-0/+1676