aboutsummaryrefslogtreecommitdiffstats
path: root/src/keymap.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* * undo.c (record_delete): Check that last_undo_buffer is really a buffer beforeKen Raeburn2000-10-271-1/+1
| | | | | | applying XBUFFER to it. * keymap.c (where_is_internal): Pass lisp object, not integer, to Faref.
* * lisp.h (KEYMAPP): New macro.Stefan Monnier2000-10-271-98/+83
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (get_keymap): Remove. (get_keymap_1): Rename get_keymap. * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype. * xterm.c (note_mode_line_highlight): Use KEYMAPP. * xmenu.c (single_submenu): Use KEYMAPP. (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp. Use KEYMAPP rather than Fkeymapp. * w32term.c (note_mode_line_highlight): Use KEYMAPP. * w32menu.c (True, False): Remove (use TRUE and FALSE instead). (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp. Use KEYMAPP rather than Fkeymapp. (single_submenu): Use KEYMAPP. (w32_menu_show, w32_dialog_show): Use TRUE. * minibuf.c (Fread_from_minibuffer): Update call to get_keymap. * keymap.c (KEYMAPP): Remove (moved to lisp.h). (Fkeymapp): Use KEYMAPP. (get_keymap): Rename from get_keymap_1. Remove old def. Return t when autoload=0 and error=0 and the keymap needs autoloading. (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp. (Fminor_mode_key_binding): Don't raise an error if the binding is not a keymap. (Fuse_global_map, Fuse_local_map): Allow autoloading. (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp. * keyboard.c (read_char): get_keymap_1 -> get_keymap. Allow Vspecial_event_map to be autoloaded. (menu_bar_items): Fetch the keymap rather than using keymapp. (menu_bar_one_keymap): No need to follow func-indirect any more. (parse_menu_item): get_keymap_1 -> get_keymap. (tool_bar_items): Fetch the keymap rather than using keymapp. (read_key_sequence): Use KEYMAPP. * intervals.c (get_local_map): Use get_keymap rather than following function-indirections explicitly. * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
* (where_is_cache, where_is_cache_keymaps): New vars.Stefan Monnier2000-10-251-47/+122
| | | | | | | | | (Fset_keymap_parent, store_in_keymap): Flush the where-is cache. (where_is_internal): Renamed from Fwhere_is_internal. Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'. (Fwhere_is_internal): New function wrapping where_is_internal. (where_is_internal_1): Handle the case where we're filling the cache. (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
* Use AREF, ASET and ASIZE macros.Stefan Monnier2000-10-251-158/+92
| | | | | | | | | | | | (Fmake_sparse_keymap): Docstring fix. (synkey): Remove. (shadow_lookup): Move up. Handle the case where lookup-key returns an integer. (where_is_internal_1): Drop arg `keymap'. Don't check shadowing. (where_is_internal_2): Adapt to fewer args for where_is_internal_1. (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps. Simplify/rewrite the keymap-finding code. Add check for command shadowing, using shadow_lookup.
* (fix_submap_inheritance): Use get_keymap_1 on parent_entryStefan Monnier2000-10-251-2/+3
| | | | | rather than KEYMAPP, to allow EQ to work correctly if parent_entry is a symbol.
* Update copyright.Gerd Moellmann2000-10-241-3/+4
|
* (fix_submap_inheritance): Don't do anything if parent_entryStefan Monnier2000-10-221-13/+17
| | | | | | | is nil: since we go to the end of submap anyway, we'd end up setting nil to nil. (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP doesn't obey autoload.
* (access_keymap): If IDX has a meta prefix, and there'sGerd Moellmann2000-10-181-5/+20
| | | | | | no map for meta_prefix_char, don't try to use it as a keymap. Instead, if T_OK is non-zero, look up a default binding, if any, otherwise, if T_OK is zero, return nil.
* (keymap_memberp): Ensure that nil is not a member.Stefan Monnier2000-10-161-0/+1
|
* (Fkeymap_parent): Undefined autoload -> 1.Stefan Monnier2000-10-151-1/+1
|
* * keymap.c (access_keymap): Add AUTOLOAD parameter.Stefan Monnier2000-10-151-86/+44
| | | | | | | | | | | | | | | | | | | Do the meta->esc mapping. Call get_keyelt before returning. Start scanning from the second element (the first is always `keymap') to make it easier to detect when we reach a parent map. Handle the case of inheriting from a symbol whose function is a map. (Fkeymap_parent): Also handle the `inherit from symbol' case. (fix_submap_inheritance, Fdefine_key): Update call to access_keymap. (get_keyelt, Flookup_key): Update call to access_keymap. Remove the meta->esc mappings. (define_as_prefix): Delete old disabled code. (menu_item_p): New function. (where_is_internal_1): Skip over the few remaining menu items. * lisp.h (access_keymap): Update prototype. * keyboard.c (read_char, menu_bar_items, tool_bar_items): Update call to access_keymap. (follow_key, read_key_sequence): Update calls to access_keymap. Remove the meta->esc mappings.
* (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.Stefan Monnier2000-10-041-23/+9
| | | | (where_is_internal_1): Don't bother ignoring menu-items any more.
* (keymap_memberp): New function.Stefan Monnier2000-09-301-47/+22
| | | | | | | (Fset_keymap_parent): Use it. (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP. Use keymap_memberp to avoid creating cycles. (access_keymap): Use KEYMAPP.
* Remove the line "#undef NULL".Kenichi Handa2000-09-291-1/+0
|
* Avoid some more compiler warnings.Gerd Moellmann2000-09-211-4/+8
|
* (Fset_keymap_parent): Check for cycles in keymapGerd Moellmann2000-09-081-1/+13
| | | | inheritance.
* (store_in_keymap): Add `static' to declaration.Dave Love2000-08-281-1/+1
|
* (store_in_keymap, fix_submap_inheritance): New prototypes.Stefan Monnier2000-08-271-7/+15
| | | | | | | | (KEYMAPP): New macro. (Fkeymap_parent, Fset_keymap_parent): Use it. (fix_submap_inheritance): Mark it static. (define_as_prefix, describe_buffer_bindings, describe_command) (describe_translation, describe_map): Complete prototypes.
* (push_key_description): If C without modifiers is < 32,Gerd Moellmann2000-08-141-4/+8
| | | | make sure to print `C-' before `M-', like in the manual.
* (current_minor_maps): Use xmalloc instead of malloc.Gerd Moellmann2000-08-051-2/+2
|
* (Fsingle_key_description): Add parameter NO_ANGLES.Gerd Moellmann2000-08-021-14/+24
| | | | Callers changed.
* (get_keymap_1): Add comment that this function can GC.Gerd Moellmann2000-07-101-12/+30
| | | | | | (where_is_internal_2, where_is_internal_1): Add GCPROs, add comment that functions can GC. (Fset_keymap_parent): GCPRO arg KEYMAP.
* (get_keyelt): Temporarily inhibit GC while evaluatingGerd Moellmann2000-07-041-1/+5
| | | | a menu filter.
* (get_keyelt): For menu-items containing a `:filterGerd Moellmann2000-06-261-2/+17
| | | | | FILTER', apply FILTER to the menu-item's definition to get the real definition to use.
* * keyboard.c (follow_key, read_key_sequence): Use XUINT on key value, or checksKen Raeburn2000-06-191-1/+1
| | | | | for CHAR_META will fail. * keymap.c (get_keyelt): Likewise.
* fix shadowing of 'keymap' enum valueKen Raeburn2000-06-181-9/+9
|
* (describe_buffer_bindings): Add `\f\n' in front of titles.Gerd Moellmann2000-06-161-4/+6
|
* (Fsingle_key_description): Enclose function key andGerd Moellmann2000-06-141-1/+5
| | | | event symbol names in angle brackets.
* Include intervals.h.Dave Love2000-05-291-3/+23
| | | | (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
* (Fsingle_key_description): Use SPLIT_CHAR instead ofKenichi Handa2000-05-201-22/+10
| | | | | | | | SPLIT_NON_ASCII_CHAR. (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR. (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally. (Fkey_description): Likewise.
* (push_key_description): Adjusted for the change ofKenichi Handa1999-12-151-10/+9
| | | | | CHAR_STRING. (Ftext_char_description): Likewise.
* (Fsingle_key_description): Use KEY_DESCRIPTION_SIZE toKenichi Handa1999-11-181-2/+2
| | | | | allocate memory for push_key_description. (describe_buffer_bindings): Likewise.
* Remove USE_TEXT_PROPERTIES.Gerd Moellmann1999-11-111-7/+1
|
* Add support for large files, 64-bit Solaris, system locale codings.Paul Eggert1999-10-191-4/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Makefile.in (emacs): Set the LC_ALL environment variable to "C" when dumping, so that the dumped Emacs doesn't have stray locale info. (dired.o): Depend on systime.h. (editfns.o): Depend on coding.h. * alloc.c, buffer.c, callproc.c, ccl.c, charset.c, coding.c, data.c, dispnew.c, editfns.c, emacs.c, filelock.c, floatfns.c, hftctl.c, keyboard.c, process.c, sysdep.c, unexelf.c, unexhp9k800.c, unexsunos4.c, vmsfns.c, vmsgmalloc.c, w32faces.c, w32menu.c, w32term.c, w32xfns.c, xfaces.c, xfns.c, xmenu.c, xterm.c: Include <config.h> before any system include files. * alloc.c, buffer.c, ccl.c, data.c, editfns.c, emacs.c, eval.c, fileio.c, filelock.c, frame.c, insdel.c, keymap.c, lread.c, m/alpha.h, print.c, search.c, sysdep.c, xdisp.c, xfaces.c, xfns.c, xmenu.c, xterm.c: Do not include <stdlib.h>, as <config.h> does this now. * callproc.c (Fcall_process): Synchronize messages locale before invoking strerror. Decode resulting string with locale-coding-system. * coding.c (Vlocale_coding_system): New var. (syms_of_coding): Adjust to above change. (emacs_strerror): New function. * coding.h (emacs_strerror, Vlocale_coding_system): New decls. * config.in (HAVE_STDIO_EXT_H, HAVE_TM_GMTOFF, HAVE___FPENDING, HAVE_FTELLO, HAVE_GETLOADAVG, HAVE_MBLEN, HAVE_MBRLEN, HAVE_STRSIGNAL): New macros. (BITS_PER_LONG): Default to 64 if _LP64 is defined. <stdlib.h>: Include if HAVE_STDLIB_H is defined and NOT_C_CODE isn't. * dired.c: Include "systime.h". (Ffile_attributes): Do not cast s.st_size to int; this loses information if int is 32 bits but st_size and EMACS_INT are larger. Treat large device numbers like large inode numbers. * dispnew.c (PENDING_OUTPUT_COUNT): Use __fpending if available. * editfns.c: Include coding.h. (emacs_strftime): Remove decl. (emacs_strftimeu): New decl. (emacs_memftimeu): Renamed from emacs_memftime; new arg UT. Use emacs_strftimeu instead of emacs_strftime. (Fformat_time_string): Convert format string using Vlocale_coding_system, and convert result back. Synchronize time locale before invoking lower level function. Invoke emacs_memftimeu, passing ut, instead of emacs_memftime. * emacs.c: Include <locale.h> if HAVE_SETLOCALE is defined. (Vmessages_locale, Vprevious_messages_locale, Vtime_locale, Vprevious_time_locale): New variables. (main): Invoke setlocale early, so that initial error messages are localized properly. But skip locale-setting if LC_ALL is "C". Fix up locale when it's safe to do so. (fixup_locale): Moved here from xterm.c. (synchronize_locale, synchronize_time_locale, synchronize_messages_locale): New functions. (syms_of_emacs): Accommodate above changes. * fileio.c (report_file_error): Convert strerror output according to Vlocale_coding_system. (Finsert_file_contents): Check for arithmetic overflow in computations that depend on file size. Report IO errors with emacs_strerror, not strerror. * fns.c (Fgethash): Declare dflt parameter. * gmalloc.c: Do not define const to nothing if HAVE_CONFIG_H is defined; that's config.h's job. * lisp.h (EMACS_INT, BITS_PER_EMACS_INT, EMACS_UINT): If _LP64, default these values to long, BITS_PER_LONG, and unsigned long. (VALBITS, MARKBIT, XINT): Do not assume 32-bit EMACS_INT. (PNTR_COMPARISON_TYPE): Default to EMACS_UINT, not to unsigned int. (code_convert_string_norecord, fixup_locale, synchronize_messages_locale, synchronize_time_locale, emacs_open, emacs_close, emacs_read, emacs_write): New decls. All Emacs callers of open, close, read, write changed to use emacs_open, emacs_close, emacs_read, emacs_write. * lread.c (file_offset, file_tell): New macros. All uses of ftell changed to file_tell. (saved_doc_string_position, prev_saved_doc_string_position): Now of type file_offset. (init_lread): Do not fix locale here; fixup_locale now does this. * m/amdahl.h, s/usg5-4.h: (NSIG): Remove. (NSIG_MINIMUM): New macro. * m/cydra5.h, m/dpx2.h, m/mips.h, m/pfa50.h, m/sps7.h, m/stride.h, m/ustation.h, s/gnu-linux.h, s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/umips.h, s/usg5-4.h: (SIGIO): Do not undef. (BROKEN_SIGIO): New macro. * m/ustation.h: (SIGTSTP): Do not undef. (BROKEN_SIGTSTP): New macro. * s/gnu-linux.h: (SIGPOLL, SIGURG): Do not undef. (BROKEN_SIGPOLL, BROKEN_SIGURG): New macros. * s/ptx4.h: (SIGINFO): Do not undef. (BROKEN_SIGINFO): New macros. * m/delta.h, s/ptx.h, s/template.h: Doc fix. * mktime.c, strftime.c: Update to glibc 2.1.2 version, with some Emacs-related changes merged. * print.c (float_to_string): Prepend "-" to representation of a NaN if the NaN is negative. * process.c (sys_siglist): Omit if HAVE_STRSIGNAL. (wait_reading_process_input): Use emacs_strerror, not strerror. * process.c (status_message, sigchld_handler): Synchronize locale, then use strsignal istead of sys_siglist. * w32proc.c (sys_wait): Likewise. * s/aix3-1.h, s/bsd4-1.h, s/dgux.h, s/gnu-linux.h, s/hiuxmpp.h, s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/osf1.h, s/rtu.h, s/sunos4-1.h, s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h, s/usg5-3.h, s/xenix.h: (open, close, read, write, INTERRUPTIBLE_OPEN, INTERRUPTIBLE_CLOSE, INTERRUPTIBLE_IO): Remove. * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): New macros. * sysdep.c (sys_read, sys_write, read, write, sys_close, close, sys_open, open): Remove. (emacs_open, emacs_close, emacs_read, emacs_write): Always define; the old INTERRUPTIBLE_OPEN, INTERRUPTIBLE_CLOSE, and INTERRUPTIBLE_IO macros are no longer used. (emacs_open): Renamed from sys_open. Merge BSD4_1 version. (emacs_close): Renamed from sys_close. (emacs_read): Renamed from sys_read. (emacs_write): Renamed from sys_write. (sys_siglist): Do not declare if HAVE_STRSIGNAL. (dup2): Do not print error on failure; the real dup2 doesn't. (strsignal): New function, defined if !HAVE_STRSIGNAL. * syssignal.h (SIGINFO): Undef if defined and if BROKEN_SIGINFO is defined. (SIGIO, SIGPOLL, SIGTSTP, SIGURG): Likewise. (NSIG): If less than NSIG_MINIMUM, define to NSIG_MINIMUM. (strsignal): Declare if !HAVE_STRSIGNAL. * unexelf.c (ElfBitsW, ELFSIZE, ElfExpandBitsW): New macros. (ElfW): Define in terms of ElfExpandBitsW. * w32proc.c (sys_siglist): Remove decl. * xdisp.c (decode_mode_spec): 3rd arg is int, not char, to comply with ANSI C. (display_string): Declare face_string_pos arg. * xfns.c (Fx_show_tip): Declare timeout param. * xterm.c: No need to include locale.h. (x_alloc_lighter_color, x_setup_relief_color): Pass arg as double, not float, for compatibility with ANSI C. (fixup_locale): Move to emacs.c. (x_term_init): Do not setlocale or fixup locale; the main program does this now.
* (Fsingle_key_description): Make tem big enough.Phillip Rulon1999-10-101-2/+2
| | | | (describe_buffer_bindings): Make buf big enough.
* (Flookup_key, Faccessible_keymaps, describe_vector,Gerd Moellmann1999-09-201-8/+2
| | | | keys_of_keymap, syms_of_keymap): Remove unused variables.
* Use XCAR, XCDR, and XFLOAT_DATA instead of explicit member access.Ken Raeburn1999-09-131-156/+156
|
* (fix_submap_inheritance): Do nothing if the proper parent is anRichard M. Stallman1999-09-081-1/+17
| | | | ancestor of SUBMAP; otherwise, add it as the ultimate ancestor.
* (get_keymap_1, get_keyelt): Check the type of OBJECTKarl Heuer1999-07-301-44/+60
| | | | before calling indirect_function.
* (Faccessible_keymaps): Really initialize i_byte.Richard M. Stallman1999-04-061-11/+13
| | | | | Convert 0200 to meta only in a unibyte string. (Fkey_description): Likewise.
* (push_key_description): If enable-multibyte-charactersKenichi Handa1999-02-251-1/+3
| | | | is nil and C is single byte, push C as is.
* (push_key_description): If enable-multibyte-charactersKenichi Handa1999-02-241-12/+25
| | | | | | | is non-nil, try to convert unibyte character to multibyte. For invalid multibyte character, show all bits by octal form. (Fsingle_key_description): Check the varidity of charset for a generic character.
* (Fdefine_prefix_command): Accept a third argument NAMEEli Zaretskii1998-12-311-5/+7
| | | | and pass it to Fmake_sparse_keymap.
* (Fsingle_key_description): Handle (control ?x) etc.Richard M. Stallman1998-12-291-12/+36
| | | | (Fkey_description): Handle lists like vectors.
* (Fsingle_key_description): Fix previous change.Richard M. Stallman1998-11-281-2/+3
|
* (Fmake_keymap): Doc fix.Richard M. Stallman1998-11-241-2/+2
|
* (Fsingle_key_description): Handle generic characters.Richard M. Stallman1998-11-191-5/+24
|
* (push_key_description): Output multibyte char as itself.Richard M. Stallman1998-07-281-7/+5
|
* Revert erroneous 1998-04-08 change.Dave Love1998-04-141-2/+1
|
* Fix -Wimplicit warnings.Andreas Schwab1998-04-141-1/+5
|