1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2025-01-04 11:40:22 +00:00

(universal-coding-system-argument):

Handle commands with prefix args.
This commit is contained in:
Gerd Moellmann 2001-01-24 13:14:45 +00:00
parent daae70def3
commit 043631796e
2 changed files with 35 additions and 2 deletions

View File

@ -1,3 +1,8 @@
2001-01-24 Gerd Moellmann <gerd@gnu.org>
* international/mule-cmds.el (universal-coding-system-argument):
Handle commands with prefix args.
2001-01-24 Edward M. Reingold <reingold@emr.cs.uiuc.edu>
* calendar/diary-lib.el (diary-float): Fix case of MONTH

View File

@ -264,9 +264,37 @@ wrong, use this command again to toggle back to the right mode."
default))
(keyseq (read-key-sequence
(format "Command to execute with %s:" coding-system)))
(cmd (key-binding keyseq)))
(cmd (key-binding keyseq))
prefix)
(when (eq cmd 'universal-argument)
(call-interactively cmd)
;; Process keys bound in `universal-argument-map'.
(while (progn
(setq keyseq (read-key-sequence nil t)
cmd (key-binding keyseq t))
(not (eq cmd 'universal-argument-other-key)))
(let ((current-prefix-arg prefix-arg)
;; Have to bind `last-command-char' here so that
;; `digit-argument', for isntance, can compute the
;; prefix arg.
(last-command-char (aref keyseq 0)))
(call-interactively cmd)))
;; This is the final call to `univeral-argument-other-key', which
;; set's the final `prefix-arg.
(let ((current-prefix-arg prefix-arg))
(call-interactively cmd))
;; Read the command to execute with the given prefix arg.
(setq prefix prefix-arg
keyseq (read-key-sequence nil t)
cmd (key-binding keyseq)))
(let ((coding-system-for-read coding-system)
(coding-system-for-write coding-system))
(coding-system-for-write coding-system)
(current-prefix-arg prefix))
(message "")
(call-interactively cmd))))