2000-08-08 Ken Raeburn <raeburn@gnu.org>
+ * keyboard.c (syms_of_keyboard): Initialize
+ last_point_position_buffer.
+ * undo.c (record_delete): Make sure last_point_position_buffer is
+ a buffer before comparing pointers.
+
+ * coding.h (decode_coding_string): Declare.
+
+ * intervals.h (Fprevious_single_char_property_change): Declare.
+
+ * textprop.c (Fprevious_single_char_property_change): Don't do
+ arithmetic directly on lisp objects.
+
+ * editfns.c (find_field): Use EQ, not ==, to compare lisp
+ objects.
+
+ * keyboard.h (menu_item_eval_property): Declare.
+
+ * xdisp.c (message_dolog): Save and protect string "*Messages*" to
+ reuse as buffer name, instead of recreating (and discarding) every
+ time a message is logged.
+ (with_echo_area_buffer): Make callback arg A2 a lisp object.
+ (current_message_1, truncate_message_1, set_message_1,
+ display_echo_area_1, resize_mini_window_1): Signatures changed.
+ (current_message, truncate_echo_area, display_echo_area,
+ resize_echo_area_axactly): Changed calls.
+
* coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
lisp object.
(Ffind_coding_systems_region_internal): First argument to Fappend
point wasn't at start of deleted range, record where it was. */
if (at_boundary
&& last_point_position != XFASTINT (sbeg)
+ /* If we're called from batch mode, this could be nil. */
+ && BUFFERP (last_point_position_buffer)
&& current_buffer == XBUFFER (last_point_position_buffer))
current_buffer->undo_list
= Fcons (make_number (last_point_position), current_buffer->undo_list);