[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemacs-commit] Changes to qemacs/qe.c
From: |
Charlie Gordon |
Subject: |
[Qemacs-commit] Changes to qemacs/qe.c |
Date: |
Mon, 24 Apr 2006 11:44:57 +0000 |
Index: qemacs/qe.c
diff -u qemacs/qe.c:1.25 qemacs/qe.c:1.26
--- qemacs/qe.c:1.25 Fri Jul 8 09:30:44 2005
+++ qemacs/qe.c Mon Apr 24 11:44:57 2006
@@ -268,20 +268,27 @@
m = find_mode(mode);
/* find last command table */
- ld = &first_cmd;
- while (*ld != NULL) {
+ for (ld = &first_cmd;;) {
d = *ld;
+ if (d == NULL) {
+ /* link new command table */
+ *ld = cmds;
+ break;
+ }
+ if (d == cmds) {
+ /* Command table already registered, still do the binding
+ * phase to allow multiple mode bindings.
+ */
+ break;
+ }
while (d->name != NULL) {
d++;
}
ld = &d->action.next;
}
- /* add new command table */
- *ld = cmds;
/* add default bindings */
- d = cmds;
- while (d->name != NULL) {
+ for (d = cmds; d->name != NULL; d++) {
if (d->key == KEY_CTRL('x')) {
unsigned int keys[2];
keys[0] = d->key;
@@ -293,7 +300,6 @@
if (d->alt_key != KEY_NONE)
qe_register_binding2(d->alt_key, d, m);
}
- d++;
}
}
@@ -4416,6 +4422,18 @@
}
}
+void do_minibuffer_get_binary(EditState *s)
+{
+ unsigned long offset;
+
+ if (minibuffer_saved_active) {
+ eb_read(minibuffer_saved_active->b,
+ minibuffer_saved_active->offset,
+ &offset, sizeof(offset));
+ eb_printf(s->b, "%lu", offset);
+ }
+}
+
void do_minibuffer_exit(EditState *s, int abort)
{
QEmacsState *qs = s->qe_state;
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Qemacs-commit] Changes to qemacs/qe.c,
Charlie Gordon <=