1 new commit in XEmacs:
https://bitbucket.org/xemacs/xemacs/changeset/7371081ce8f7/
changeset: 7371081ce8f7
user: kehoea
date: 2012-10-14 23:10:39
summary: Have command remapping work interactively too, thank you Robert Pluim!
src/ChangeLog addition:
2012-10-14 Aidan Kehoe <kehoea(a)parhasard.net>
Have command remapping work interactively too, thank you Robert
Pluim.
* event-stream.c (Fdispatch_event):
Obey command remapping here, it wasn't done for us.
* keymap.c:
* keymap.c (command_remapping_for_event): New, needed to observe
command remapping interactively.
* lisp.h: Make it available.
lisp/ChangeLog addition:
2012-10-14 Aidan Kehoe <kehoea(a)parhasard.net>
* help.el:
* help.el (describe-function-1):
Add some newlines here when dealing with remapped commands, thank
you Robert Pluim.
affected #: 6 files
diff -r b6c506c30f93e8b9f06c6b9e5d6d0dcc9cd3f5c3 -r
7371081ce8f743a2fcd6651b77b5236d4cb05f16 lisp/ChangeLog
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,10 @@
+2012-10-14 Aidan Kehoe <kehoea(a)parhasard.net>
+
+ * help.el:
+ * help.el (describe-function-1):
+ Add some newlines here when dealing with remapped commands, thank
+ you Robert Pluim.
+
2012-10-13 Mats Lidell <matsl(a)xemacs.org>
* process.el (call-process-shell-command): New function from GNU.
diff -r b6c506c30f93e8b9f06c6b9e5d6d0dcc9cd3f5c3 -r
7371081ce8f743a2fcd6651b77b5236d4cb05f16 lisp/help.el
--- a/lisp/help.el
+++ b/lisp/help.el
@@ -1544,10 +1544,10 @@
(format "\n\\[%s]" function))))
(when commands-remapped-to
(if (cdr commands-remapped-to)
- (princ (format "The following functions are \
+ (princ (format "\n\nThe following functions are \
remapped to it:\n`%s'" (mapconcat #'prin1-to-string commands-remapped-to
"', `")))
- (princ (format "`%s' is remapped to it.\n"
+ (princ (format "\n\n`%s' is remapped to it.\n"
(car
commands-remapped-to))))))))))))))
diff -r b6c506c30f93e8b9f06c6b9e5d6d0dcc9cd3f5c3 -r
7371081ce8f743a2fcd6651b77b5236d4cb05f16 src/ChangeLog
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,14 @@
+2012-10-14 Aidan Kehoe <kehoea(a)parhasard.net>
+
+ Have command remapping work interactively too, thank you Robert
+ Pluim.
+ * event-stream.c (Fdispatch_event):
+ Obey command remapping here, it wasn't done for us.
+ * keymap.c:
+ * keymap.c (command_remapping_for_event): New, needed to observe
+ command remapping interactively.
+ * lisp.h: Make it available.
+
2012-10-14 Aidan Kehoe <kehoea(a)parhasard.net>
Respect face and display table information in the minibuffer
diff -r b6c506c30f93e8b9f06c6b9e5d6d0dcc9cd3f5c3 -r
7371081ce8f743a2fcd6651b77b5236d4cb05f16 src/event-stream.c
--- a/src/event-stream.c
+++ b/src/event-stream.c
@@ -4550,8 +4550,6 @@
int magic_undo = 0;
Elemcount magic_undo_count = 20;
- Vthis_command = leaf;
-
/* Don't push an undo boundary if the command set the prefix arg,
or if we are executing a keyboard macro, or if in the
minibuffer. If the command we are about to execute is
@@ -4567,6 +4565,8 @@
if (SYMBOLP (leaf))
{
Lisp_Object prop = Fget (leaf, Qself_insert_defer_undo, Qnil);
+ Lisp_Object remap = Qnil;
+
if (NATNUMP (prop))
{
magic_undo = 1;
@@ -4587,8 +4587,16 @@
magic_undo = 1;
else if (EQ (leaf, Qself_insert_command))
magic_undo = 1;
+
+ remap = command_remapping_for_event (leaf, event);
+ if (!NILP (remap))
+ {
+ leaf = remap;
+ }
}
+ Vthis_command = leaf;
+
if (!magic_undo)
command_builder->self_insert_countdown = 0;
if (NILP (XCONSOLE (console)->prefix_arg)
diff -r b6c506c30f93e8b9f06c6b9e5d6d0dcc9cd3f5c3 -r
7371081ce8f743a2fcd6651b77b5236d4cb05f16 src/keymap.c
--- a/src/keymap.c
+++ b/src/keymap.c
@@ -2127,6 +2127,20 @@
return Qnil;
}
+Lisp_Object
+command_remapping_for_event (Lisp_Object command, Lisp_Object event0)
+{
+ /* This function can GC */
+ Lisp_Object maps[100];
+ int nmaps;
+
+ nmaps = get_relevant_keymaps (event0, Qnil, countof (maps), maps);
+ if (nmaps > countof (maps))
+ nmaps = countof (maps);
+
+ return command_remapping (command, nmaps, maps);
+}
+
DEFUN ("command-remapping", Fcommand_remapping, 1, 3, 0, /*
Return the remapping for command COMMAND.
diff -r b6c506c30f93e8b9f06c6b9e5d6d0dcc9cd3f5c3 -r
7371081ce8f743a2fcd6651b77b5236d4cb05f16 src/lisp.h
--- a/src/lisp.h
+++ b/src/lisp.h
@@ -5473,6 +5473,9 @@
EXFUN (Fmake_sparse_keymap, 1);
EXFUN (Fset_keymap_parents, 2);
+Lisp_Object command_remapping_for_event (Lisp_Object command,
+ Lisp_Object event0);
+
void where_is_to_char (Lisp_Object, Eistring *);
/* Defined in lread.c */
Repository URL:
https://bitbucket.org/xemacs/xemacs/
--
This is a commit notification from
bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://lists.xemacs.org/mailman/listinfo/xemacs-patches