/* Increment text position POS. */
-#define INC_TEXT_POS(POS) \
+#define INC_TEXT_POS(POS, MULTIBYTE_P) \
do \
{ \
++(POS).charpos; \
- INC_POS ((POS).bytepos); \
+ if (MULTIBYTE_P) \
+ INC_POS ((POS).bytepos); \
+ else \
+ ++(POS).bytepos; \
} \
while (0)
/* Decrement text position POS. */
-#define DEC_TEXT_POS(POS) \
+#define DEC_TEXT_POS(POS, MULTIBYTE_P) \
do \
{ \
--(POS).charpos; \
- DEC_POS ((POS).bytepos); \
+ if (MULTIBYTE_P) \
+ DEC_POS ((POS).bytepos); \
+ else \
+ --(POS).bytepos; \
} \
while (0)
(!MINI_WINDOW_P (W) \
&& !(W)->pseudo_window_p \
&& FRAME_WANTS_MODELINE_P (XFRAME (WINDOW_FRAME (W))) \
+ && BUFFERP ((W)->buffer) \
&& !NILP (XBUFFER ((W)->buffer)->mode_line_format))
/* Value is non-zero if window W wants a top line. */
(!MINI_WINDOW_P (W) \
&& !(W)->pseudo_window_p \
&& FRAME_WANTS_MODELINE_P (XFRAME (WINDOW_FRAME (W))) \
+ && BUFFERP ((W)->buffer) \
&& !NILP (XBUFFER ((W)->buffer)->header_line_format))
\f
? FRAME_FACE_CACHE (F)->faces_by_id[ID] \
: NULL)
+#ifdef HAVE_WINDOW_SYSTEM
+
/* Non-zero if FACE is suitable for displaying character CHAR. */
#define FACE_SUITABLE_FOR_CHAR_P(FACE, CHAR) \
? (FACE)->ascii_face->id \
: face_for_char ((F), (FACE), (CHAR)))
-/* The default registry and encoding to use. */
+#else /* not HAVE_WINDOW_SYSTEM */
-extern Lisp_Object Vface_default_registry;
+#define FACE_SUITABLE_FOR_CHAR_P(FACE, CHAR) 1
+#define FACE_FOR_CHAR(F, FACE, CHAR) ((FACE)->id)
+
+#endif /* not HAVE_WINDOW_SYSTEM */
/* Non-zero means face attributes have been changed since the last
redisplay. Used in redisplay_internal. */
line, if the window has one. */
int last_visible_y;
- /* Width of a prompt in front of the line. Used to perform tab
- calculations. The x on which tab calculations are based is
- current_x - prompt_width + continuation_lines_width. */
- int prompt_width;
+ /* Additional space in pixels between lines (for window systems
+ only.). */
+ int extra_line_spacing;
/* If non-null, glyphs are produced in glyph_row with each call to
produce_glyphs. */
void shift_glyph_matrix P_ ((struct window *, struct glyph_matrix *,
int, int, int));
void rotate_matrix P_ ((struct glyph_matrix *, int, int, int));
-void increment_glyph_matrix_buffer_positions P_ ((struct glyph_matrix *,
- int, int, int, int));
+void increment_matrix_positions P_ ((struct glyph_matrix *,
+ int, int, int, int));
void blank_row P_ ((struct window *, struct glyph_row *, int));
-void increment_glyph_row_buffer_positions P_ ((struct glyph_row *, int, int));
+void increment_row_positions P_ ((struct glyph_row *, int, int));
void enable_glyph_matrix_rows P_ ((struct glyph_matrix *, int, int, int));
void clear_glyph_row P_ ((struct glyph_row *));
void prepare_desired_row P_ ((struct glyph_row *));