The validation of the event type was too strict as it didn't
allow string events; buffer names are used in bindings for
menu-bar-select-buffer (see `menu-bar-update-buffers').
added command remapping by entering the commands directly into
the keymaps. Now, command remapping uses an explicit `remap'
prefix in the keymaps, i.e. [remap COMMAND].
(Qremap, remap_command_vector): New variables.
(is_command_symbol): Removed function.
(Fdefine_key): No longer accept a symbol for KEY. Added
validation of [remap COMMAND] argument for KEY. The DEF is no
longer required to be a symbol when remapping a command.
(Fremap_command): New function to remap command through keymaps.
(Flookup_key): Perform command remapping initiated by
Fremap_command directly for speed.
(Fkey_binding): Use Fremap_command for command remapping.
(where_is_internal): Handle new command remapping representation.
(syms_of_keymap): Intern Qremap, initialize remap_command_vector,
staticpro them. Defsubr Fremap_command.
(menu_free_timer): New variable.
(MENU_FREE_ID, MENU_FREE_DELAY): New constants.
(w32_wnd_proc) <WM_TIMER>: Handle menu_free_timer.
<WM_EXITMENULOOP>: Delay before freeing menu. Do nothing if a
menu command is in progress.
<WM_COMMAND>: Set the menu_command_in_progress flag. Kill
any menu_free_timer that is running.
(snake-final-x-velocity, snake-final-y-velocity):
New variable and functions. Store user's keypresses
into a queue and pop from the queue each subsequent turn.
(snake-update-game, snake-move-left)
(snake-move-right, snake-move-up, snake-move-down, snake-active-p)
(snake-start-game): Use that queue.
(snake-use-glyphs-flag): Renamed from snake-use-glyphs.
(snake-use-color-flag): Likewise.
(snake-mode): Rename uses of those variables.
(compount-text-no-extensions): Renamed from compound-text.
(x-ctext-no-extensions, ctext-no-extensions): Aliases for
compound-text-no-extensions.
(compound-text): Redefined using post-read and pre-write
conversions.
(syms_of_xselect): Intern and staticpro it.
(selection_data_to_lisp_data): Run post-read-conversion on decoded
selection text.
(lisp_data_to_selection_data): If next-selection-coding-system is
compound-text-with-extensions, set the type of selection to be
compound-text.
(vc-default-init-version): Update documentation to
indicate that the backend can override the default init version.
(vc-register): Use the backend init-version function, if it exists, to
determine the initial version of a file.
(vc-diff-switches-list): Don't symbol-quote backend, since it's
already a symbol. Don't fail if vc-BACKEND-diff-switches isn't bound.
(vc-mode-line): Set vc-mode to nil if the file is
not version-controlled. This is necessary, e.g., if the file has
just been reverted, and thus was previously under version control
but isn't any longer.
(vc-find-file-hook): Likewise.
(vc-cvs-sticky-date-format-string): New variable.
(vc-cvs-sticky-tag-display): New variable.
(vc-cvs-mode-line-string): Add sticky-tag to the mode-line.
(vc-cvs-checkin): If the input revision is a valid symbolic tag
name, we create it as a branch, commit and switch to it.
(vc-cvs-retrieve-snapshot): Set file-property sticky-tag.
(vc-cvs-valid-symbolic-tag-name-p): New function.
(vc-cvs-parse-sticky-tag): New function.
(vc-cvs-parse-entry): Added parsing of sticky tags.