]> code.delx.au - gnu-emacs/blobdiff - src/macros.c
*** empty log message ***
[gnu-emacs] / src / macros.c
index fde63165b4749096128e1f04e8a3efa4ced99526..9daa8d39c6cbd3d55e28824de02f80c25c907478 100644 (file)
@@ -26,6 +26,7 @@ Boston, MA 02111-1307, USA.  */
 #include "buffer.h"
 #include "window.h"
 #include "keyboard.h"
+#include "keymap.h"
 
 Lisp_Object Qexecute_kbd_macro, Qkbd_macro_termination_hook;
 
@@ -61,7 +62,7 @@ The commands are recorded even as they are executed.\n\
 Use \\[end-kbd-macro] to finish recording and make the macro available.\n\
 Use \\[name-last-kbd-macro] to give it a permanent name.\n\
 Non-nil arg (prefix arg) means append to last macro defined;\n\
- This begins by re-executing that macro as if you typed it again.")
+this begins by re-executing that macro as if you typed it again.")
   (append)
      Lisp_Object append;
 {
@@ -177,27 +178,25 @@ void
 store_kbd_macro_char (c)
      Lisp_Object c;
 {
-  if (!NILP (current_kboard->defining_kbd_macro))
+  struct kboard *kb = current_kboard;
+
+  if (!NILP (kb->defining_kbd_macro))
     {
-      if ((current_kboard->kbd_macro_ptr
-          - current_kboard->kbd_macro_buffer)
-         == current_kboard->kbd_macro_bufsize)
+      if (kb->kbd_macro_ptr - kb->kbd_macro_buffer == kb->kbd_macro_bufsize)
        {
-         int offset = (current_kboard->kbd_macro_ptr
-                       - current_kboard->kbd_macro_buffer);
-         current_kboard->kbd_macro_bufsize *= 2;
-         current_kboard->kbd_macro_buffer
-           = (Lisp_Object *)xrealloc (current_kboard->kbd_macro_buffer,
-                                      (current_kboard->kbd_macro_bufsize
-                                       * sizeof (Lisp_Object)));
-         current_kboard->kbd_macro_ptr
-           = current_kboard->kbd_macro_buffer + offset;
-         current_kboard->kbd_macro_end
-           = (current_kboard->kbd_macro_buffer
-              + current_kboard->kbd_macro_bufsize);
+         int ptr_offset, end_offset, nbytes;
+         
+         ptr_offset = kb->kbd_macro_ptr - kb->kbd_macro_buffer;
+         end_offset = kb->kbd_macro_end - kb->kbd_macro_buffer;
+         kb->kbd_macro_bufsize *= 2;
+         nbytes = kb->kbd_macro_bufsize * sizeof *kb->kbd_macro_buffer;
+         kb->kbd_macro_buffer
+           = (Lisp_Object *) xrealloc (kb->kbd_macro_buffer, nbytes);
+         kb->kbd_macro_ptr = kb->kbd_macro_buffer + ptr_offset;
+         kb->kbd_macro_end = kb->kbd_macro_buffer + end_offset;
        }
       
-      *current_kboard->kbd_macro_ptr++ = c;
+      *kb->kbd_macro_ptr++ = c;
     }
 }
 
@@ -367,11 +366,3 @@ syms_of_macros ()
   DEFVAR_KBOARD ("last-kbd-macro", Vlast_kbd_macro,
     "Last kbd macro defined, as a string or vector; nil if none defined.");
 }
-
-void
-keys_of_macros ()
-{
-  initial_define_key (control_x_map, ('e'), "call-last-kbd-macro");
-  initial_define_key (control_x_map, ('('), "start-kbd-macro");
-  initial_define_key (control_x_map, (')'), "end-kbd-macro");
-}