* lisp/simple.el (prefix-command-echo-keystrokes-functions)
(prefix-command-preserve-state-hook): New hooks.
(internal-echo-keystrokes-prefix): New function.
(prefix-command--needs-update, prefix-command--last-echo): New vars.
(prefix-command-update, prefix-command-preserve): New functions.
(reset-this-command-lengths): New compatibility definition.
(universal-argument--mode): Call prefix-command-update.
(universal-argument, universal-argument-more, negative-argument)
(digit-argument): Call prefix-command-preserve-state.
* src/keyboard.c: Call internal-echo-keystrokes-prefix to build
the "prefix argument" to echo.
(this_command_key_count_reset, before_command_key_count)
(before_command_echo_length): Delete variables.
(echo_add_key): Always add a space.
(echo_char): Remove.
(echo_dash): Don't give up when this_command_key_count is 0, since that
is now the case after a prefix command.
(echo_update): New function, extracted from echo_now.
(echo_now): Use it.
(add_command_key, read_char, record_menu_key): Remove old disabled code.
(command_loop_1): Don't refrain from pushing an undo boundary when
prefix-arg is set. Remove other prefix-arg special case, now handled
directly in the prefix commands instead. But call echo_now if there's
a prefix state to echo.
(read_char, record_menu_key): Use echo_update instead of echo_char.
(read_key_sequence): Use echo_now rather than echo_dash/echo_char.
(Freset_this_command_lengths): Delete function.
(syms_of_keyboard): Define Qinternal_echo_keystrokes_prefix.
(syms_of_keyboard): Don't defsubr Sreset_this_command_lengths.
* lisp/simple.el: Use those new hooks for C-u.
(universal-argument--description): New function.
(prefix-command-echo-keystrokes-functions): Use it.
(universal-argument--preserve): New function.
(prefix-command-preserve-state-hook): Use it.
(command-execute): Call prefix-command-update if needed.
* lisp/kmacro.el (kmacro-step-edit-prefix-commands)
(kmacro-step-edit-prefix-index): Delete variables.
(kmacro-step-edit-query, kmacro-step-edit-insert): Remove ad-hoc
support for prefix arg commands.
(kmacro-step-edit-macro): Don't bind kmacro-step-edit-prefix-index.
* lisp/emulation/cua-base.el (cua--prefix-override-replay)
(cua--shift-control-prefix): Use prefix-command-preserve-state.
Remove now unused arg `arg'.
(cua--prefix-override-handler, cua--prefix-repeat-handler)
(cua--shift-control-c-prefix, cua--shift-control-x-prefix):
Update accordingly.
(cua--prefix-override-timeout): Don't call reset-this-command-lengths
any more.
(cua--keep-active, cua-exchange-point-and-mark): Don't set mark-active
if the mark is not set.
* lisp/autoarg.el (autoarg-kp-digit-argument):
* lisp/electric.el (Electric-command-loop):
* lisp/kmacro.el (kmacro-step-edit-insert):
Do not set universal-argument-num-events.
* lisp/kmacro.el (kmacro-call-macro): Add optional arg MACRO.
(kmacro-execute-from-register): Pass the keyboard macro to
kmacro-call-macro or repeating won't work correctly.
Patches applied:
* emacs--rel--22 (patch 59-69)
- Update from CVS
- Merge from gnus--rel--5.10
* gnus--rel--5.10 (patch 237-238)
- Update from CVS
2007-07-23 Stefan Monnier <monnier@iro.umontreal.ca>
* lisp/ses.el (ses-cleanup): Prevent Emacs from spuriously checking if the
underlying file is uptodate.
2007-07-17 Dan Nicolaescu <dann@ics.uci.edu>
* lisp/vc.el: Add more info about the vc-registered function.
2007-07-15 Richard M. Stallman <rms@gnu.org>
* lisp/kmacro.el (kmacro-bind-to-key): Avoid comparisons on function keys.
* lisp/tutorial.el (tutorial--find-changed-keys):
Handle C-x specially like ESC.
2007-07-15 Aaron Hawley <aaronh@garden.org>
* lisp/tar-mode.el (tar-get-descriptor): No error for zero-length file.
2007-07-21 Reiner Steib <Reiner.Steib@gmx.de>
* lisp/gnus/mm-uu.el (mm-uu-type-alist): Refer to mm-uu-configure-list in doc
string.
2007-07-16 Katsumi Yamaoka <yamaoka@jpl.org>
* lisp/gnus/gnus-srvr.el (gnus-server-font-lock-keywords): Quote faces.
2007-07-16 Richard M. Stallman <rms@gnu.org>
* lispref/display.texi (Defining Faces): Fix previous change.
2007-07-20 Eli Zaretskii <eliz@gnu.org>
* src/w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32):
Define if not defined.
2007-07-18 Jason Rumney <jasonr@gnu.org>
* src/w32proc.c (w32_executable_type): Handle 64 bit executables.
Revision: emacs@sv.gnu.org/emacs--devo--0--patch-823