Finish making it fit Emacs conventions. Add autoloads.
[bpt/emacs.git] / src / buffer.c
index da88e85..d4c60f9 100644 (file)
@@ -1430,29 +1430,21 @@ DEFUN ("current-buffer", Fcurrent_buffer, Scurrent_buffer, 0, 0, 0,
   return buf;
 }
 \f
-/* Set the current buffer to B.  */
+/* Set the current buffer to B.
+
+   We previously set windows_or_buffers_changed here to invalidate
+   global unchanged information in beg_unchanged and end_unchanged.
+   This is no longer necessary because we now compute unchanged
+   information on a buffer-basis.  Every action affecting other
+   windows than the selected one requires a select_window at some
+   time, and that increments windows_or_buffers_changed.  */
 
 void
 set_buffer_internal (b)
      register struct buffer *b;
 {
   if (current_buffer != b)
-    {
-      /* Set windows_or_buffers_changed only if buffer is displayed
-        somewhere.  This enables redisplay optimizations if a
-        background task like deferred fontification changes buffers,
-        but none that are currently displayed.  */
-      if (!windows_or_buffers_changed
-         && selected_frame)
-       {
-         Lisp_Object buffer;
-         XSETBUFFER (buffer, b);
-         if (!NILP (Fget_buffer_window (buffer, Qvisible)))
-           ++windows_or_buffers_changed;
-       }
-  
-      set_buffer_internal_1 (b);
-    }
+    set_buffer_internal_1 (b);
 }
 
 /* Set the current buffer to B, and do not set windows_or_buffers_changed.
@@ -1756,7 +1748,7 @@ advance_to_char_boundary (byte_pos)
   c = FETCH_BYTE (byte_pos);
   if (! CHAR_HEAD_P (c))
     {
-      /* We should advance BYTE_POS only when C is a constituen of a
+      /* We should advance BYTE_POS only when C is a constituent of a
          multibyte sequence.  */
       DEC_POS (byte_pos);
       INC_POS (byte_pos);
@@ -3858,7 +3850,7 @@ init_buffer_once ()
 
   /* real setup is done in loaddefs.el */
   buffer_defaults.mode_line_format = build_string ("%-");
-  buffer_defaults.top_line_format = Qnil;
+  buffer_defaults.header_line_format = Qnil;
   buffer_defaults.abbrev_mode = Qnil;
   buffer_defaults.overwrite_mode = Qnil;
   buffer_defaults.case_fold_search = Qt;
@@ -3957,7 +3949,7 @@ init_buffer_once ()
   XSETFASTINT (buffer_local_flags.indicate_empty_lines, 0x400000);
   XSETFASTINT (buffer_local_flags.scroll_up_aggressively, 0x800000);
   XSETFASTINT (buffer_local_flags.scroll_down_aggressively, 0x1000000);
-  XSETFASTINT (buffer_local_flags.top_line_format, 0x2000000);
+  XSETFASTINT (buffer_local_flags.header_line_format, 0x2000000);
   
   Vbuffer_alist = Qnil;
   current_buffer = 0;
@@ -4105,10 +4097,10 @@ syms_of_buffer ()
     "Default value of `mode-line-format' for buffers that don't override it.\n\
 This is the same as (default-value 'mode-line-format).");
 
-  DEFVAR_LISP_NOPRO ("default-top-line-format",
-                    &buffer_defaults.top_line_format,
-    "Default value of `top-line-format' for buffers that don't override it.\n\
-This is the same as (default-value 'top-line-format).");
+  DEFVAR_LISP_NOPRO ("default-header-line-format",
+                    &buffer_defaults.header_line_format,
+    "Default value of `header-line-format' for buffers that don't override it.\n\
+This is the same as (default-value 'header-line-format).");
 
   DEFVAR_LISP_NOPRO ("default-abbrev-mode",
              &buffer_defaults.abbrev_mode,
@@ -4195,7 +4187,8 @@ don't override it.  This is the same as (default-value\n\
 don't override it.  This is the same as (default-value\n\
 'scroll-down-aggressively).");
   
-  DEFVAR_PER_BUFFER ("top-line-format", &current_buffer->top_line_format, 
+  DEFVAR_PER_BUFFER ("header-line-format",
+                    &current_buffer->header_line_format, 
                     Qnil,
    "Analogous to `mode-line-format', but for a mode line displayed\n\
 at the top of windows.");