diff options
author | Gerd Moellmann <gerd@gnu.org> | 2001-09-05 09:39:09 +0000 |
---|---|---|
committer | Gerd Moellmann <gerd@gnu.org> | 2001-09-05 09:39:09 +0000 |
commit | 08e1d6dfd60608221d9eacf98752ae69ecad806c (patch) | |
tree | 502b811e8865b755dddd4e99b024132d97208f10 /src | |
parent | c3b497b399e7f3f7d855e9c9510f07ebf05e1f1f (diff) | |
download | emacs-08e1d6dfd60608221d9eacf98752ae69ecad806c.tar.gz |
(store_kbd_macro_char): Fix computation of kbd_macro_end.
Diffstat (limited to 'src')
-rw-r--r-- | src/ChangeLog | 2 | ||||
-rw-r--r-- | src/macros.c | 32 |
2 files changed, 17 insertions, 17 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 68a11d96400..5bb552318fc 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,5 +1,7 @@ 2001-09-05 Gerd Moellmann <gerd@gnu.org> + * macros.c (store_kbd_macro_char): Fix computation of kbd_macro_end. + * xdisp.c (string_buffer_position): Use *single_char_property* functions instead of the *single_property* functions. diff --git a/src/macros.c b/src/macros.c index 4f5c77f6fbb..c70e29d9db1 100644 --- a/src/macros.c +++ b/src/macros.c @@ -177,27 +177,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; } } |