/* #### This is a problem if this buffer is in a dedicated window.
Need to undedicate any windows of this buffer first (and delete them?)
*/
- Freplace_buffer_in_windows (buf, Qnil, Qnil);
+ GCPRO1 (buf);
+ Freplace_buffer_in_windows (buf, Qnil, Qall);
+ UNGCPRO;
font_lock_buffer_was_killed (b);
const Bufbyte *end;
for (end = ptr + len; ptr < end;)
{
+#ifdef UTF2000
+ Bufbyte c =
+ (*ptr < 0xc0) ? *ptr :
+ ((*ptr & 0x1f) << 6) | (*(ptr+1) & 0x3f);
+#else
Bufbyte c =
(BYTE_ASCII_P (*ptr)) ? *ptr :
(*ptr == LEADING_BYTE_CONTROL_1) ? (*(ptr+1) - 0x20) :
(*ptr == LEADING_BYTE_LATIN_ISO8859_1) ? (*(ptr+1)) :
'~';
+#endif
Dynarr_add (conversion_out_dynarr, (Extbyte) c);
INC_CHARPTR (ptr);
{
Bufbyte c = *ptr;
+#ifdef UTF2000
+ if (BYTE_ASCII_P (c))
+ Dynarr_add (conversion_in_dynarr, c);
+ else
+ {
+ Dynarr_add (conversion_in_dynarr, (c >> 6) | 0xC0);
+ Dynarr_add (conversion_in_dynarr, (c & 0x3F) | 0x80);
+ }
+#else
if (BYTE_ASCII_P (c))
Dynarr_add (conversion_in_dynarr, c);
else if (BYTE_C1_P (c))
Dynarr_add (conversion_in_dynarr, LEADING_BYTE_LATIN_ISO8859_1);
Dynarr_add (conversion_in_dynarr, c);
}
+#endif
}
#else
Dynarr_add_many (conversion_in_dynarr, source->data.ptr, source->data.len);
defs->auto_save_modified = 0;
defs->auto_save_failure_time = -1;
defs->invisibility_spec = Qt;
+ defs->buffer_local_face_property = 0;
defs->indirect_children = Qnil;
syms->indirect_children = Qnil;
syms = XBUFFER (Vbuffer_local_symbols);
buffer_defaults_saved_slots = &defs->BUFFER_SLOTS_FIRST_NAME;
buffer_local_symbols_saved_slots = &syms->BUFFER_SLOTS_FIRST_NAME;
- dumpstruct (&buffer_defaults_saved_slots, &buffer_slots_description);
- dumpstruct (&buffer_local_symbols_saved_slots, &buffer_slots_description);
+ dump_add_root_struct_ptr (&buffer_defaults_saved_slots, &buffer_slots_description);
+ dump_add_root_struct_ptr (&buffer_local_symbols_saved_slots, &buffer_slots_description);
DEFVAR_BUFFER_DEFAULTS ("default-modeline-format", modeline_format /*
Default value of `modeline-format' for buffers that don't override it.