]> code.delx.au - gnu-emacs/blobdiff - src/ChangeLog
Unify mouse-highlight code for all GUI and TTY sessions.
[gnu-emacs] / src / ChangeLog
index 2859c8217f8e25f4d14ba0c5363d41315269c58e..09afa259f8313e29a45e563970a4e0be8da33db2 100644 (file)
@@ -1,33 +1,6 @@
 2010-11-05  Eli Zaretskii  <eliz@gnu.org>
 
-       * xdisp.c (x_consider_frame_title, tool_bar_lines_needed): Move
-       prototypes to HAVE_WINDOW_SYSTEM-only part.
-       (get_window_cursor_type): Move inside a HAVE_WINDOW_SYSTEM-only
-       part.  Remove "#ifdef HAVE_WINDOW_SYSTEM" from body of function.
-       (null_glyph_slice): Move declaration into 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.
-
-       * frame.h (MOUSE_HL_INFO): Fix TTY definition.
-
-       * dispextern.h (tty_draw_row_with_mouse_face): Add prototype.
-
-       * xdisp.c (draw_row_with_mouse_face): Don't #ifdef away on MSDOS.
-       Call tty_draw_row_with_mouse_face on MSDOS as well.
-
-       * msdos.c (tty_draw_row_with_mouse_face): Renamed from
-       draw_row_with_mouse_face.  Make the argument list identical with
-       GPM implementation.
-
-       * msdos.h (Display_Info): Restore typedef.
-       (initialize_msdos_display): Add prototype.
-
-2010-11-02  Eli Zaretskii  <eliz@gnu.org>
+       Unify mouse-highlight code for all GUI and TTY sessions.
 
        * term.c: Remove static mouse_face_* variables.  All users
        changed.
        (term_mouse_movement): Call note_mouse_highlight instead of
        term_mouse_highlight.
 
-2010-11-01  Eli Zaretskii  <eliz@gnu.org>
-
-       * msdos.c (dos_set_window_size, draw_row_with_mouse_face)
-       (IT_update_begin, IT_update_end, IT_frame_up_to_date)
-       (internal_terminal_init, dos_rawgetc): Replace Display_Info with
-       Mouse_HLInfo everywhere where mouse_face_* members were accessed
-       for mouse highlight purposes.
-
        * nsterm.m (ns_update_window_begin, ns_update_window_end)
        (ns_update_end, x_destroy_window, ns_frame_up_to_date)
        (ns_dumpglyphs_box_or_relief, ns_maybe_dumpglyphs_background)
        * xdisp.c (show_mouse_face, note_mode_line_or_margin_highlight)
        (note_mouse_highlight) [HAVE_WINDOW_SYSTEM]: Don't run GUI code
        unless the frame is on a window-system.
-
-2010-10-31  Eli Zaretskii  <eliz@gnu.org>
-
-       * xdisp.c (get_tool_bar_item, handle_tool_bar_click)
+       (get_tool_bar_item, handle_tool_bar_click)
        (note_tool_bar_highlight, draw_glyphs, erase_phys_cursor)
        (show_mouse_face, clear_mouse_face, coords_in_mouse_face_p)
        (note_mode_line_or_margin_highlight, note_mouse_highlight)
        (x_clear_window_mouse_face, cancel_mouse_face, expose_frame):
        Replace Display_Info with Mouse_HLInfo everywhere where
        mouse_face_* members were accessed for mouse highlight purposes.
-
-       * frame.h (MOUSE_HL_INFO): New macro.
-
-       * lisp.h (Mouse_HLInfo): New data type.
-
-       * xterm.h (struct x_display_info):
-       * w32term.h (struct w32_display_info):
-       * nsterm.h (struct ns_display_info):
-       * termchar.h (struct tty_display_info): Use it instead of
-       mouse_face_* members.
-
-       * dispextern.h (DPYINFO_DEFINED): Remove definition.
-       (FRAME_X_DISPLAY_INFO): Remove definition.
-       (show_mouse_face, clear_mouse_face): Update type of 1st argument.
-
-2010-10-30  Eli Zaretskii  <eliz@gnu.org>
-
-       * xdisp.c (coords_in_mouse_face_p): Move prototype out of the
+       (coords_in_mouse_face_p): Move prototype out of the
        HAVE_WINDOW_SYSTEM conditional.
        (x_y_to_hpos_vpos, frame_to_window_pixel_xy): Move out of the
        HAVE_WINDOW_SYSTEM block.
        (try_window_id) [HAVE_GPM || MSDOS]: Call
        x_clear_window_mouse_face.
        (draw_row_with_mouse_face): Implementation for HAVE_WINDOW_SYSTEM
-       systems.
-       (show_mouse_face): Call it, instead of calling draw_glyphs directly.
+       systems.  Call tty_draw_row_with_mouse_face for TTY systems.
+       (show_mouse_face): Call draw_row_with_mouse_face, instead of
+       calling draw_glyphs directly.
        (show_mouse_face, clear_mouse_face, coords_in_mouse_face_p)
        (cursor_in_mouse_face_p, rows_from_pos_range)
        (mouse_face_from_buffer_pos, mouse_face_from_string_pos)
        Clear mouse highlight if pointer is over glyphs whose OBJECT is an
        integer.
        (mouse_face_from_buffer_pos): Add parentheses around && within ||.
-
-       * xmenu.c (popup_activated): Don't define on MSDOS.
+       (x_consider_frame_title, tool_bar_lines_needed): Move
+       prototypes to HAVE_WINDOW_SYSTEM-only part.
+       (get_window_cursor_type): Move inside a HAVE_WINDOW_SYSTEM-only
+       part.  Remove "#ifdef HAVE_WINDOW_SYSTEM" from body of function.
+       (null_glyph_slice): Move declaration into HAVE_WINDOW_SYSTEM-only
+       part.
 
        * dispnew.c (mirror_make_current): Set Y coordinate of the
        mode-line and header-line rows.
+       (init_display): Setup initial frame's output_data for text
+       terminal frames.
 
-       * termchar.h (struct tty_display_info): Define mouse_face_*
-       members not only for MSDOS.  Delete stray whitespace.
-       <mouse_face_beg_x, mouse_face_beg_y, mouse_face_overlay>: New
-       struct members.
-
-       * dispextern.h (DPYINFO_DEFINED) [HAVE_X_WINDOWS]: Define.
-       (DPYINFO_DEFINED) [HAVE_NTGUI]: Define.
-       (DPYINFO_DEFINED) [HAVE_NS]: Define.
-       (Display_Info) [!DPYINFO_DEFINED]: Define here.
-       (FRAME_X_DISPLAY_INFO) [HAVE_GPM]: Define.
-       (FRAME_X_DISPLAY_INFO): Define to NULL if not defined.
-       (frame_to_window_pixel_xy, note_mouse_highlight)
-       (x_clear_window_mouse_face, cancel_mouse_face, clear_mouse_face)
-       (show_mouse_face, cursor_in_mouse_face_p): Move prototypes out of
-       HAVE_WINDOW_SYSTEM conditional.
-       (draw_row_with_mouse_face): Declare prototype.
-
-       * msdos.h (Display_Info): Don't define here.
+       * xmenu.c (popup_activated): Don't define on MSDOS, which now has
+       its own definition on msdos.c.
 
        * msdos.c (show_mouse_face, clear_mouse_face)
        (fast_find_position, IT_note_mode_line_highlight)
        (IT_frame_up_to_date, dos_rawgetc): Call note_mouse_highlight
        instead of IT_note_mouse_highlight.
        (draw_row_with_mouse_face, popup_activated): New functions.
+       (dos_set_window_size, draw_row_with_mouse_face, IT_update_begin)
+       (IT_update_end, IT_frame_up_to_date, internal_terminal_init)
+       (dos_rawgetc): Replace Display_Info with Mouse_HLInfo everywhere
+       where mouse_face_* members were accessed for mouse highlight
+       purposes.
+
+       * msdos.h (initialize_msdos_display): Add prototype.
+
+       * frame.h (MOUSE_HL_INFO): New macro.
+
+       * lisp.h (Mouse_HLInfo): New data type.
+
+       * xterm.h (struct x_display_info):
+       * w32term.h (struct w32_display_info):
+       * nsterm.h (struct ns_display_info):
+       * termchar.h (struct tty_display_info): Use it instead of
+       mouse_face_* members.
+
+       * dispextern.h (show_mouse_face, clear_mouse_face): Update type of
+       1st argument.
+       (frame_to_window_pixel_xy, note_mouse_highlight)
+       (x_clear_window_mouse_face, cancel_mouse_face, clear_mouse_face)
+       (show_mouse_face, cursor_in_mouse_face_p): Move prototypes out of
+       HAVE_WINDOW_SYSTEM conditional.
+       (draw_row_with_mouse_face): Declare prototype.
+       (tty_draw_row_with_mouse_face): Declare prototype.
+
+2010-11-05  Eli Zaretskii  <eliz@gnu.org>
+
+       * term.c (append_glyphless_glyph, produce_glyphless_glyph): Remove
+       unused variables.
+
+2010-11-05  Adrian Robert  <Adrian.B.Robert@gmail.com>
+
+       * nsterm.m (EmacsView-mouseExited:): Correct error in conditional
+       logic pointed out by Eli Zaretskii.
+
+2010-11-04  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * coding.c (coding-category-list): Refer to set-coding-system-priority
+       instead of the obsolete set-coding-priority in the doc string.
+
+
+2010-11-04  Adrian Robert  <Adrian.B.Robert@gmail.com>
+
+       * nsfont.m (nsfont_draw):  Correct previous patch to return
+       correct value.
+       * nsimage.m (EmacsImage-setXBMColor:): Correct previous patch:
+       don't change the method signature, change the return.
+
+2010-11-04  Ismail Donmez  <ismail@namtrac.org>  (tiny change)
+
+       * nsfont.m (nsfont_draw)
+       * nsimage.m (EmacsImage-setXBMColor:)
+       * nsterm.m (EmacsView-performDragOperation:): Correct empty return.
+
+2010-11-03  Julien Danjou  <julien@danjou.info>
+
+       * image.c (gif_load): Add support for transparency and specified
+       :background.
+
+2010-11-01  Kenichi Handa  <handa@m17n.org>
+
+       * dispextern.h (lookup_glyphless_char_display): Extern it.
+
+       * termhooks.h (struct terminal): New member charset_list.
+
+       * coding.c (Fset_terminal_coding_system_internal): Set the
+       `charset_list' member of struct terminal.
+
+       * term.c (produce_glyphs): Handle the case it->what == IT_GLYPHLESS.
+       (append_glyphless_glyph, produce_glyphless_glyph): New functions.
+
+       * xdisp.c (lookup_glyphless_char_display): Make it non-static.
+       (lookup_glyphless_char_display): Set it->what at the end.
+       (last_glyphless_glyph_frame, last_glyphless_glyph_face_id)
+       (last_glyphless_glyph_merged_face_id): Make them non-static.
+
+       * w32term.c (x_draw_glyphless_glyph_string_foreground):
+       Fix the arg with_background for font->driver->draw.
+
+2010-11-01  Kenichi Handa  <handa@m17n.org>
+
+       * w32gui.h (STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2):
+       Surround chp by parentheses.
+
+2010-11-01  Kenichi Handa  <handa@m17n.org>
+
+       Implement various display methods for glyphless characters.
+
+       * xdisp.c (Qglyphless_char, Vglyphless_char_display)
+       (Qglyphless_char_display, Qhexa_code, Qempty_box, Qthin_space)
+       (Qzero_width): New variables.
+       (THIN_SPACE_WIDTH): New macro.
+       (lookup_glyphless_char_display): New funciton.
+       (last_glyphless_glyph_frame, last_glyphless_glyph_face_id)
+       (last_glyphless_glyph_merged_face_id): New variables.
+       (get_next_display_element): Check glyphless characters.
+       (redisplay_internal): Initialize last_glyphless_glyph_frame and
+       last_glyphless_glyph_face_id.
+       (fill_glyphless_glyph_string): New function.
+       (BUILD_GLYPHLESS_GLYPH_STRING): New macro.
+       (BUILD_GLYPH_STRINGS): Handle the case GLYPHLESS_GLYPH.
+       (append_glyphless_glyph, produce_glyphless_glyph): New functions.
+       (x_produce_glyphs): If a suitable font is not found, produce a
+       glyphless glyph.  Handle the case it->what == IT_GLYPHLESS.
+       (syms_of_xdisp): Intern and staticpro Qglyphless_char,
+       Qglyphless_char_display, Qhexa_code, Qempty_box, Qthin_space, and
+       Qzero_width.
+       (Vglyphless_char_display): Declare it as a Lisp variable.
+
+       * dispextern.h (enum glyph_type): Add GLYPHLESS_GLYPH.
+       (struct glyph): Change the size of the member "type" to 3.
+       Add glyphless to the union slice and u.
+       (enum display_element_type): Add IT_GLYPHLESS.
+       (enum glyphless_display_method): New enum.
+       (struct it): New member glyphless_method.
+       (Vglyphless_char_display): Extern it.
+
+       * xterm.c (x_draw_glyphless_glyph_string_foreground): New function.
+       (x_draw_glyph_string): Handle the case GLYPHLESS_GLYPH.
+
+       * w32term.c (x_draw_glyphless_glyph_string_foreground): New function.
+       (x_draw_glyph_string): Handle the case GLYPHLESS_GLYPH.
+
+       * nsterm.m (ns_draw_glyph_string): Handle the case
+       GLYPHLESS_GLYPH (the detail is not yet implemented).
+
+2010-10-31  Glenn Morris  <rgm@gnu.org>
+
+       * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Fix merge, maybe.
+
+       * frame.c (syms_of_frame) <tool-bar-mode>:
+       Default to nil if !HAVE_WINDOW_SYSTEM.  (Bug#7299)
+
+2010-10-31  Chong Yidong  <cyd@stupidchicken.com>
+
+       * xterm.c (x_connection_closed): Print informative error message
+       when aborting on GTK.  This requires using shut_down_emacs
+       directly instead of Fkill_emacs.
 
 2010-10-29  Eli Zaretskii  <eliz@gnu.org>