2000-12-05 Gerd Moellmann <gerd@gnu.org>
+ * xdisp.c (next_element_from_ellipsis): Save face before selective
+ display in saved_face_id, and set face_before_selective_p.
+ (reseat_1): Reset face_before_selective_p.
+ (append_space, extend_face_to_end_of_line): If iterator's
+ face_before_selective_p is set, use the face from saved_face_id.
+ (extend_face_to_end_of_line): For tty frames, make sure to
+ use the right face id when producing spaces at the end of
+ the line.
+
+ * dispextern.h (struct it): Add face_before_selective_p.
+
* keyboard.c (record_char): Don't record identical help-echo
events in recent_keys.
the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-/* New redisplay written by Gerd Moellmann <gerd@acm.org>. */
+/* New redisplay written by Gerd Moellmann <gerd@gnu.org>. */
#ifndef DISPEXTERN_H_INCLUDED
#define DISPEXTERN_H_INCLUDED
character have been put on the previous line. */
unsigned starts_in_middle_of_char_p : 1;
+ /* If 1, saved_face_id contains the id of the face in front of text
+ skipped due to selective display. */
+ unsigned face_before_selective_p : 1;
+
/* The ID of the default face to use. One of DEFAULT_FACE_ID,
- MODE_LINE_FACE_ID, or TOOL_BAR_FACE_ID, depending on what we
- are displaying. */
+ MODE_LINE_FACE_ID, etc, depending on what we are displaying. */
int base_face_id;
/* If what == IT_CHARACTER, character and length in bytes. This is