emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/src/dispextern.h,v [EMACS_22_BASE]


From: Richard M. Stallman
Subject: [Emacs-diffs] Changes to emacs/src/dispextern.h,v [EMACS_22_BASE]
Date: Sun, 04 Nov 2007 07:31:57 +0000

CVSROOT:        /cvsroot/emacs
Module name:    emacs
Branch:         EMACS_22_BASE
Changes by:     Richard M. Stallman <rms>       07/11/04 07:31:56

Index: dispextern.h
===================================================================
RCS file: /cvsroot/emacs/emacs/src/dispextern.h,v
retrieving revision 1.225.2.4
retrieving revision 1.225.2.5
diff -u -b -r1.225.2.4 -r1.225.2.5
--- dispextern.h        3 Nov 2007 03:46:57 -0000       1.225.2.4
+++ dispextern.h        4 Nov 2007 07:31:56 -0000       1.225.2.5
@@ -1912,20 +1912,28 @@
      position in overlay strings etc.  */
   struct display_pos current;
 
+  /* Total number of overlay strings to process.  This can be >
+     OVERLAY_STRING_CHUNK_SIZE.  */
+  int n_overlay_strings;
+
   /* Vector of overlays to process.  Overlay strings are processed
      OVERLAY_STRING_CHUNK_SIZE at a time.  */
 #define OVERLAY_STRING_CHUNK_SIZE 16
   Lisp_Object overlay_strings[OVERLAY_STRING_CHUNK_SIZE];
 
-  /* Total number of overlay strings to process.  This can be >
-     OVERLAY_STRING_CHUNK_SIZE.  */
-  int n_overlay_strings;
+  /* For each overlay string, the overlay it came from.  */
+#define OVERLAY_STRING_CHUNK_SIZE 16
+  Lisp_Object string_overlays[OVERLAY_STRING_CHUNK_SIZE];
 
   /* If non-nil, a Lisp string being processed.  If
      current.overlay_string_index >= 0, this is an overlay string from
      pos.  */
   Lisp_Object string;
 
+  /* If non-nil, we are processing a string that came
+     from a `display' property given by an overlay.  */
+  Lisp_Object from_overlay;
+
   /* Stack of saved values.  New entries are pushed when we begin to
      process an overlay string or a string from a `glyph' property.
      Entries are popped when we return to deliver display elements
@@ -1961,6 +1969,7 @@
     /* current text and display positions.  */
     struct text_pos position;
     struct display_pos current;
+    Lisp_Object from_overlay;
     enum glyph_row_area area;
     enum it_method method;
     unsigned multibyte_p : 1;
@@ -1977,13 +1986,6 @@
   /* Stack pointer.  */
   int sp;
 
-  /* Setting of buffer-local variable selective-display-ellipsis.  */
-  unsigned selective_display_ellipsis_p : 1;
-
-  /* 1 means control characters are translated into the form `^C'
-     where the `^' can be replaced by a display table entry.  */
-  unsigned ctl_arrow_p : 1;
-
   /* -1 means selective display hides everything between a \r and the
      next newline; > 0 means hide lines indented more than that value.  */
   int selective;
@@ -1995,6 +1997,16 @@
   /* Face to use.  */
   int face_id;
 
+  /* Setting of buffer-local variable selective-display-ellipsis.  */
+  unsigned selective_display_ellipsis_p : 1;
+
+  /* 1 means control characters are translated into the form `^C'
+     where the `^' can be replaced by a display table entry.  */
+  unsigned ctl_arrow_p : 1;
+
+  /* 1 means lines are truncated.  */
+  unsigned truncate_lines_p : 1;
+
   /* Non-zero means that the current face has a box.  */
   unsigned face_box_p : 1;
 
@@ -2074,9 +2086,6 @@
   Lisp_Object object;
   struct text_pos position;
 
-  /* 1 means lines are truncated.  */
-  unsigned truncate_lines_p : 1;
-
   /* Number of columns per \t.  */
   short tab_width;
 
@@ -2859,9 +2868,9 @@
 void recompute_basic_faces P_ ((struct frame *));
 int face_at_buffer_position P_ ((struct window *, int, int, int, int *,
                                 int, int));
-int face_at_buffer_position_no_overlays P_ ((struct window *, int, int,
+int face_for_overlay_string P_ ((struct window *, int, int,
                                             int, int *,
-                                            int, int));
+                                int, int, Lisp_Object));
 int face_at_string_position P_ ((struct window *, Lisp_Object, int, int, int,
                                 int, int *, enum face_id, int));
 int merge_faces P_ ((struct frame *, Lisp_Object, int, int));




reply via email to

[Prev in Thread] Current Thread [Next in Thread]