# HG changeset patch # User Eli Zaretskii # Date 1288980462 -7200 # Node ID 2d0c056a50d81a19d33004a63b7b6a8299bc05ce # Parent 8ed4db9b46e667c8e43ac979dcb872d33148780e Fix unified mouse highlight after compiling on Unix. xdisp.c (x_consider_frame_title, tool_bar_lines_needed): Move prototypes to HAVE_WINDOW_SYSTEM-only part. frame.h (MOUSE_HL_INFO): Fix definition to work both for TTY-only and GUI builds. diff -r 8ed4db9b46e6 -r 2d0c056a50d8 src/ChangeLog --- a/src/ChangeLog Fri Nov 05 14:11:22 2010 +0200 +++ b/src/ChangeLog Fri Nov 05 20:07:42 2010 +0200 @@ -1,5 +1,11 @@ 2010-11-05 Eli Zaretskii + * xdisp.c (x_consider_frame_title, tool_bar_lines_needed): Move + prototypes to HAVE_WINDOW_SYSTEM-only part. + + * frame.h (MOUSE_HL_INFO): Fix definition to work both for + TTY-only and GUI builds. + * dispnew.c (init_display): Setup initial frame's output_data for text terminal frames. diff -r 8ed4db9b46e6 -r 2d0c056a50d8 src/frame.h --- a/src/frame.h Fri Nov 05 14:11:22 2010 +0200 +++ b/src/frame.h Fri Nov 05 20:07:42 2010 +0200 @@ -546,11 +546,17 @@ /* Return a pointer to the structure holding information about the region of text, if any, that is currently shown in mouse-face on - frame F. */ -#define MOUSE_HL_INFO(F) \ - (FRAME_WINDOW_P(F) \ - ? &(FRAME_X_DISPLAY_INFO(F)->mouse_highlight) \ - : &(((F)->output_data.tty->display_info)->mouse_highlight)) + frame F. We need to define two versions because a TTY-only build + does not have FRAME_X_DISPLAY_INFO. */ +#ifdef HAVE_WINDOW_SYSTEM +# define MOUSE_HL_INFO(F) \ + (FRAME_WINDOW_P(F) \ + ? &(FRAME_X_DISPLAY_INFO(F)->mouse_highlight) \ + : &(((F)->output_data.tty->display_info)->mouse_highlight)) +#else +# define MOUSE_HL_INFO(F) \ + (&(((F)->output_data.tty->display_info)->mouse_highlight)) +#endif /* Nonzero if frame F is still alive (not deleted). */ #define FRAME_LIVE_P(f) ((f)->terminal != 0) diff -r 8ed4db9b46e6 -r 2d0c056a50d8 src/xdisp.c --- a/src/xdisp.c Fri Nov 05 14:11:22 2010 +0200 +++ b/src/xdisp.c Fri Nov 05 20:07:42 2010 +0200 @@ -960,10 +960,8 @@ EMACS_INT, EMACS_INT); static void store_mode_line_noprop_char (char); static int store_mode_line_noprop (const unsigned char *, int, int); -static void x_consider_frame_title (Lisp_Object); static void handle_stop (struct it *); static void handle_stop_backwards (struct it *, EMACS_INT); -static int tool_bar_lines_needed (struct frame *, int *); static int single_display_spec_intangible_p (Lisp_Object); static void ensure_echo_area_buffers (void); static Lisp_Object unwind_with_echo_area_buffer (Lisp_Object); @@ -1076,6 +1074,8 @@ #ifdef HAVE_WINDOW_SYSTEM +static void x_consider_frame_title (Lisp_Object); +static int tool_bar_lines_needed (struct frame *, int *); static void update_tool_bar (struct frame *, int); static void build_desired_tool_bar_string (struct frame *f); static int redisplay_tool_bar (struct frame *);