• Richard M. Stallman's avatar
    (Fmake_indirect_buffer): New function. · 336cd056
    Richard M. Stallman authored
    (Fbuffer_base_buffer): New function.
    (syms_of_buffer): defsubr them.
    
    (reset_buffer): Don't alter intervals here.
    (Fget_buffer_create): Use BUF_MARKERS.  Init BUF_INTERVALS here.
    (Fkill_buffer): Use BUF_MARKERS; but don't touch it in indir buf.
    Likewise BUF_INTERVALS.
    (init_buffer_once): Set up .text and BUF_INTERVALS
    in buffer_local_symbols and buffer_defaults.
    
    (Fkill_buffer): Don't free the text in indirect buffer.
    When killing a base buffer, kill its indirect buffers first.
    
    (set_buffer_temp): New function.
    
    (reset_buffer_local_variables): Initialize buffer_file_type field.
    
    (Fget_buffer_create): Initialize pt_marker, begv/zv_marker.
    (set_buffer_internal): Use and update these markers.
    Copy undo_list in and out of the base buffer.
    
    (Fget_buffer_create): Init save_modiff field here.
    (reset_buffer): Not here.
    (Fbuffer_modified_p): Use BUF_SAVE_MODIFF.
    (Fset_buffer_modified_p): Use SAVE_MODIFF.
    (Fkill_buffer, list_buffers_1): Use BUF_SAVE_MODIFF.
    
    (Fget_buffer_create): Initialize the size and text fields.
    336cd056
buffer.c 106 KB