From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Babylon crashes Emacs Date: Sat, 23 Jun 2007 15:33:29 +0300 Message-ID: Reply-To: Eli Zaretskii NNTP-Posting-Host: lo.gmane.org X-Trace: sea.gmane.org 1182602032 12085 80.91.229.12 (23 Jun 2007 12:33:52 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Sat, 23 Jun 2007 12:33:52 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Jun 23 14:33:50 2007 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1I24oB-0008Ua-Id for ged-emacs-devel@m.gmane.org; Sat, 23 Jun 2007 14:33:44 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1I24oA-0001xM-Ux for ged-emacs-devel@m.gmane.org; Sat, 23 Jun 2007 08:33:42 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1I24o5-0001x7-Qk for emacs-devel@gnu.org; Sat, 23 Jun 2007 08:33:37 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1I24o3-0001wv-46 for emacs-devel@gnu.org; Sat, 23 Jun 2007 08:33:36 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1I24o2-0001ws-Qi for emacs-devel@gnu.org; Sat, 23 Jun 2007 08:33:34 -0400 Original-Received: from heller.inter.net.il ([213.8.233.23]) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1I24o1-0004kc-V7 for emacs-devel@gnu.org; Sat, 23 Jun 2007 08:33:34 -0400 Original-Received: from HOME-C4E4A596F7 (IGLD-84-229-247-82.inter.net.il [84.229.247.82]) by heller.inter.net.il (MOS 3.7.3a-GA) with ESMTP id CXA37842 (AUTH halo1); Sat, 23 Jun 2007 15:33:30 +0300 (IDT) X-detected-kernel: FreeBSD 4.7-5.2 (or MacOS X 10.2-10.4) (2) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:73695 Archived-At: I tried to use Babylon (http://www.babylon.com/) with Emacs, and found that not only does it not work, but Emacs actually crashes when I use the ``Babylon click'' on one of the words displayed by Emacs. The backtrace produced by DrMinGW (attached below) seems to indicate that we get a WM_PAINT message that we somehow cannot grok(?). Is it possible that Babylon sends us WM_PAINT so that we draw some part of our screen in a DC that isn't ours? -------------------------------------------------------------------------- emacs.exe caused an Access Violation at location 77f1d422 in module GDI32.dll Reading from location 6aec8b55. Registers: eax=c0011e0b ebx=00000007 ecx=0082e1e0 edx=00000001 esi=021e2980 edi=0082e200 eip=77f1d422 esp=0082e01c ebp=0082e058 iopl=0 nv up ei pl nz na pe nc cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00000202 Call stack: 77F1D422 GDI32.dll:77F1D422 ExtTextOutA 0114028B emacs.exe:0114028B x_draw_glyph_string w32term.c:1591 static void x_draw_glyph_string( struct glyph_string * s = &(indirect) ) 01035CC3 emacs.exe:01035CC3 draw_glyphs xdisp.c:19709 static int draw_glyphs( struct window * w = &{ int size = 1073745994, struct Lisp_Vector * vec_next = 0x018e1c00, Lisp_Object frame = 26090500, Lisp_Object mini_p = 23795713, Lisp_Object next = 26088964, Lisp_Object prev = 23795713, Lisp_Object hchild = 23795713, Lisp_Object vchild = 23795713, Lisp_Object parent = 23795713, Lisp_Object left_col = 0, Lisp_Object top_line = 24, Lisp_Object total_lines = 368, Lisp_Object total_cols = 672, Lisp_Object buffer = 34584068, Lisp_Object start = 24929762, Lisp_Object pointm = 24929738, Lisp_Object force_start = 23795713, Lisp_Object optional_new_start = 23795713, Lisp_Object hscroll = 0, Lisp_Object min_hscroll = 0, Lisp_Object use_time = 120, Lisp_Object sequence_number = 24, Lisp_Object temslot = 0, Lisp_Object last_modified = 16, Lisp_Object last_overlay_modified = 56, Lisp_Object last_point = 53632, Lisp_Object last_had_star = 23795713, Lisp_Object vertical_scroll_bar = 34992580, Lisp_Object left_margin_cols = 23795713, Lisp_Object right_margin_cols = 23795713, Lisp_Object left_fringe_width = 23795713, Lisp_Object right_fringe_width = 23795713, Lisp_Object fringes_outside_margins = 23795713, Lisp_Object scroll_bar_width = 23795713, Lisp_Object vertical_scroll_bar_type = 23795761, Lisp_Object last_mark_x = 23795713, Lisp_Object last_mark_y = 23795713, Lisp_Object window_end_pos = 0, Lisp_Object window_end_vpos = 176, Lisp_Object window_end_valid = 34584068, Lisp_Object update_mode_line = 23795713, Lisp_Object start_at_line_beg = 23795761, Lisp_Object display_table = 23795713, Lisp_Object dedicated = 23795713, Lisp_Object base_line_number = 8, Lisp_Object base_line_pos = 8, Lisp_Object region_showing = 23795713, Lisp_Object column_number_displayed = 23795713, Lisp_Object redisplay_end_trigger = 23795713, Lisp_Object too_small_ok = 23795713, Lisp_Object orig_total_lines = 23795713, Lisp_Object orig_top_line = 23795713, struct glyph_matrix * current_matrix = 0x02009800, struct glyph_matrix * desired_matrix = 0x02009c00, int nrows_scale_factor = 1, int ncols_scale_factor = 1, struct cursor_pos last_cursor = { int x = 0, int y = 392, int hpos = 0, int vpos = 23 }, struct cursor_pos cursor = { int x = 0, int y = 392, int hpos = 0, int vpos = 23 }, struct cursor_pos phys_cursor = { int x = 0, int y = 392, int hpos = 0, int vpos = 23 }, int phys_cursor_type = 1, int phys_cursor_width = 9, int phys_cursor_ascent = 13, int phys_cursor_height = 17, unsigned int phys_cursor_on_p, unsigned int cursor_off_p, unsigned int last_cursor_off_p, unsigned int must_be_updated_p, unsigned int pseudo_window_p, int vscroll = 0, int window_end_bytepos = 0, unsigned int frozen_window_start_p }, int x = 72, struct glyph_row * row = &{ struct glyph *uint32[] glyphs = (array), short intuint32[] used = (array), int x = 0, int y = 17, int pixel_width = 720, int ascent = 13, int height = 17, int phys_ascent = 13, int phys_height = 17, int visible_height = 17, int extra_line_spacing = 0, unsigned int hash = 208846506, struct display_pos start = { struct text_pos pos = { int charpos = 5737, int bytepos = 5737 }, int overlay_string_index = -1, struct text_pos string_pos = { int charpos = -1, int bytepos = -1 }, int dpvec_index = -1 }, struct display_pos end = { struct text_pos pos = { int charpos = 5817, int bytepos = 5817 }, int overlay_string_index = -1, struct text_pos string_pos = { int charpos = -1, int bytepos = -1 }, int dpvec_index = -1 }, int overlay_arrow_bitmap = 0, unsigned int left_user_fringe_bitmap = 0, unsigned int right_user_fringe_bitmap = 0, unsigned int left_fringe_bitmap = 458752, unsigned int right_fringe_bitmap = 7, unsigned int left_user_fringe_face_id, unsigned int right_user_fringe_face_id, unsigned int left_fringe_face_id, unsigned int right_fringe_face_id, unsigned int redraw_fringe_bitmaps_p, unsigned int enabled_p, unsigned int truncated_on_left_p, unsigned int truncated_on_right_p, unsigned int continued_p, unsigned int displays_text_p, unsigned int ends_at_zv_p, unsigned int fill_line_p, unsigned int indicate_empty_line_p, unsigned int contains_overlapping_glyphs_p, unsigned int full_width_p, unsigned int mode_line_p, unsigned int overlapped_p, unsigned int ends_in_middle_of_char_p, unsigned int starts_in_middle_of_char_p, unsigned int overlapping_p, unsigned int mouse_face_p, unsigned int ends_in_newline_from_string_p, unsigned int exact_window_width_line_p, unsigned int cursor_in_fringe_p, unsigned int ends_in_ellipsis_p, unsigned int indicate_bob_p, unsigned int indicate_top_line_p, unsigned int indicate_eob_p, unsigned int indicate_bottom_line_p, int continuation_lines_width = 0 }, enum glyph_row_area area = TEXT_AREA, int start = 0, int end = 7, enum draw_glyphs_face hl = DRAW_NORMAL_TEXT, int overlaps = 0 ) 0103D42A emacs.exe:0103D42A expose_area xdisp.c:23314 static void expose_area( struct window * w = &{ int size = 1073745994, struct Lisp_Vector * vec_next = 0x018e1c00, Lisp_Object frame = 26090500, Lisp_Object mini_p = 23795713, Lisp_Object next = 26088964, Lisp_Object prev = 23795713, Lisp_Object hchild = 23795713, Lisp_Object vchild = 23795713, Lisp_Object parent = 23795713, Lisp_Object left_col = 0, Lisp_Object top_line = 24, Lisp_Object total_lines = 368, Lisp_Object total_cols = 672, Lisp_Object buffer = 34584068, Lisp_Object start = 24929762, Lisp_Object pointm = 24929738, Lisp_Object force_start = 23795713, Lisp_Object optional_new_start = 23795713, Lisp_Object hscroll = 0, Lisp_Object min_hscroll = 0, Lisp_Object use_time = 120, Lisp_Object sequence_number = 24, Lisp_Object temslot = 0, Lisp_Object last_modified = 16, Lisp_Object last_overlay_modified = 56, Lisp_Object last_point = 53632, Lisp_Object last_had_star = 23795713, Lisp_Object vertical_scroll_bar = 34992580, Lisp_Object left_margin_cols = 23795713, Lisp_Object right_margin_cols = 23795713, Lisp_Object left_fringe_width = 23795713, Lisp_Object right_fringe_width = 23795713, Lisp_Object fringes_outside_margins = 23795713, Lisp_Object scroll_bar_width = 23795713, Lisp_Object vertical_scroll_bar_type = 23795761, Lisp_Object last_mark_x = 23795713, Lisp_Object last_mark_y = 23795713, Lisp_Object window_end_pos = 0, Lisp_Object window_end_vpos = 176, Lisp_Object window_end_valid = 34584068, Lisp_Object update_mode_line = 23795713, Lisp_Object start_at_line_beg = 23795761, Lisp_Object display_table = 23795713, Lisp_Object dedicated = 23795713, Lisp_Object base_line_number = 8, Lisp_Object base_line_pos = 8, Lisp_Object region_showing = 23795713, Lisp_Object column_number_displayed = 23795713, Lisp_Object redisplay_end_trigger = 23795713, Lisp_Object too_small_ok = 23795713, Lisp_Object orig_total_lines = 23795713, Lisp_Object orig_top_line = 23795713, struct glyph_matrix * current_matrix = 0x02009800, struct glyph_matrix * desired_matrix = 0x02009c00, int nrows_scale_factor = 1, int ncols_scale_factor = 1, struct cursor_pos last_cursor = { int x = 0, int y = 392, int hpos = 0, int vpos = 23 }, struct cursor_pos cursor = { int x = 0, int y = 392, int hpos = 0, int vpos = 23 }, struct cursor_pos phys_cursor = { int x = 0, int y = 392, int hpos = 0, int vpos = 23 }, int phys_cursor_type = 1, int phys_cursor_width = 9, int phys_cursor_ascent = 13, int phys_cursor_height = 17, unsigned int phys_cursor_on_p, unsigned int cursor_off_p, unsigned int last_cursor_off_p, unsigned int must_be_updated_p, unsigned int pseudo_window_p, int vscroll = 0, int window_end_bytepos = 0, unsigned int frozen_window_start_p }, struct glyph_row * row = &{ struct glyph *uint32[] glyphs = (array), short intuint32[] used = (array), int x = 0, int y = 17, int pixel_width = 720, int ascent = 13, int height = 17, int phys_ascent = 13, int phys_height = 17, int visible_height = 17, int extra_line_spacing = 0, unsigned int hash = 208846506, struct display_pos start = { struct text_pos pos = { int charpos = 5737, int bytepos = 5737 }, int overlay_string_index = -1, struct text_pos string_pos = { int charpos = -1, int bytepos = -1 }, int dpvec_index = -1 }, struct display_pos end = { struct text_pos pos = { int charpos = 5817, int bytepos = 5817 }, int overlay_string_index = -1, struct text_pos string_pos = { int charpos = -1, int bytepos = -1 }, int dpvec_index = -1 }, int overlay_arrow_bitmap = 0, unsigned int left_user_fringe_bitmap = 0, unsigned int right_user_fringe_bitmap = 0, unsigned int left_fringe_bitmap = 458752, unsigned int right_fringe_bitmap = 7, unsigned int left_user_fringe_face_id, unsigned int right_user_fringe_face_id, unsigned int left_fringe_face_id, unsigned int right_fringe_face_id, unsigned int redraw_fringe_bitmaps_p, unsigned int enabled_p, unsigned int truncated_on_left_p, unsigned int truncated_on_right_p, unsigned int continued_p, unsigned int displays_text_p, unsigned int ends_at_zv_p, unsigned int fill_line_p, unsigned int indicate_empty_line_p, unsigned int contains_overlapping_glyphs_p, unsigned int full_width_p, unsigned int mode_line_p, unsigned int overlapped_p, unsigned int ends_in_middle_of_char_p, unsigned int starts_in_middle_of_char_p, unsigned int overlapping_p, unsigned int mouse_face_p, unsigned int ends_in_newline_from_string_p, unsigned int exact_window_width_line_p, unsigned int cursor_in_fringe_p, unsigned int ends_in_ellipsis_p, unsigned int indicate_bob_p, unsigned int indicate_top_line_p, unsigned int indicate_eob_p, unsigned int indicate_bottom_line_p, int continuation_lines_width = 0 }, XRectangle * r = &{ int x = 0, int y = 0, unsigned int width = 67, unsigned int height = 92 }, enum glyph_row_area area = TEXT_AREA ) 0103D80A emacs.exe:0103D80A expose_line xdisp.c:23339 static int expose_line( struct window * w = , struct glyph_row * row = , XRectangle * r = &{ int x = 0, int y = 0, unsigned int width = 67, unsigned int height = 92 } ) 0103D9C0 emacs.exe:0103D9C0 expose_window xdisp.c:23540 static int expose_window( struct window * w = , XRectangle * fr = ) 0103DE9D emacs.exe:0103DE9D expose_window_tree xdisp.c:23599 static int expose_window_tree( struct window * w = , XRectangle * r = ) 0103DF37 emacs.exe:0103DF37 expose_frame xdisp.c:23658 void expose_frame( struct frame * f = &{ int size = 1073742932, struct Lisp_Vector * next = 0x01ff8e40, Lisp_Object name = 41503763, Lisp_Object icon_name = 23795713, Lisp_Object title = 23795713, Lisp_Object focus_frame = 23795713, Lisp_Object root_window = 26089476, Lisp_Object selected_window = 26089476, Lisp_Object minibuffer_window = 26088964, Lisp_Object param_alist = 25990525, Lisp_Object scroll_bars = 34992580, Lisp_Object condemned_scroll_bars = 23795713, Lisp_Object menu_bar_items = 26493956, Lisp_Object face_alist = 35571045, Lisp_Object menu_bar_vector = 33755140, int menu_bar_items_used = 0, Lisp_Object buffer_predicate = 23795713, Lisp_Object buffer_list = 42852301, Lisp_Object menu_bar_window = 23795713, Lisp_Object tool_bar_window = 33617412, Lisp_Object tool_bar_items = 43755524, Lisp_Object desired_tool_bar_string = 34245235, Lisp_Object current_tool_bar_string = 36441427, struct face_cache * face_cache = 0x01fffec0, char * namebuf = 0x016c3fa0, struct glyph_pool * current_pool = 0x00000000, struct glyph_pool * desired_pool = 0x00000000, struct glyph_matrix * desired_matrix = 0x00000000, struct glyph_matrix * current_matrix = 0x00000000, unsigned int glyphs_initialized_p, int tool_bar_lines = 3, int n_tool_bar_rows = 1, int n_tool_bar_items = 14, char * decode_mode_spec_buffer = 0x0200f200, int * insert_line_cost = 0x016ebd00, int * delete_line_cost = 0x01944c00, int * insert_n_lines_cost = 0x018e9000, int * delete_n_lines_cost = 0x016c1d00, int text_lines = 50, int text_cols = 80, int total_lines = 0, int total_cols = 84, int new_text_lines = 0, int new_text_cols = 0, int left_pos = 409, int top_pos = 28, int pixel_height = 850, int pixel_width = 756, int x_pixels_diff = 413, int y_pixels_diff = 70, int win_gravity = 1, int size_hint_flags = 0, int border_width = 2, int internal_border_width = 0, int column_width = 9, int space_width = 9, int line_height = 17, enum output_method output_method = output_w32, union output_data output_data = { struct x_output * x = 0x01944000, struct w32_output * w32 = 0x01944000, struct mac_output * mac = 0x01944000, int nothing = 26492928 }, int fringe_cols = 2, int left_fringe_width = 9, int right_fringe_width = 9, int want_fullscreen = 0, int menu_bar_lines = 0, int external_menu_bar = 1, char display_preempted = 0, char visible = 1, char iconified = 0, char async_visible = 1, char async_iconified = 0, char garbaged = 0, char has_minibuffer = 1, char wants_modeline = 1, char can_have_scroll_bars = 1, enum vertical_scroll_bar_type vertical_scroll_bar_type = vertical_scroll_bar_right, enum text_cursor_kinds desired_cursor = FILLED_BOX_CURSOR, int cursor_width = 23915289, enum text_cursor_kinds blink_off_cursor = DEFAULT_CURSOR, int blink_off_cursor_width = 0, char auto_raise = 0, char auto_lower = 0, char no_split = 0, char explicit_name = 0, char window_sizes_changed = 0, char * message_buf = 0x0200f000, int scroll_bottom_vpos = -1, int config_scroll_bar_width = 16, int config_scroll_bar_cols = 2, int scroll_bar_actual_width = 18, int cost_calculation_baud_rate = 19200, char mouse_moved = 1, double gamma = 0.000000, int extra_line_spacing = 0, unsigned int resized_p, unsigned int force_flush_display_p, unsigned int default_face_done_p, unsigned int already_hscrolled_p, unsigned int updated_p, unsigned int minimize_tool_bar_window_p }, int x = 0, int y = 0, int w = 67, int h = 143 ) 0114490D emacs.exe:0114490D w32_read_socket w32term.c:4229 int w32_read_socket( int sd = 0, int expected = 0, struct input_event * hold_quit = &{ enum event_kind kind = NO_EVENT, int code = 0, enum scroll_bar_part part = scroll_bar_above_handle, int modifiers = 0, Lisp_Object x = 0, Lisp_Object y = 0, long unsigned int timestamp = 0, int *uint32[] padding = (array), Lisp_Object frame_or_window = 0, Lisp_Object arg = 0 } ) 01056C11 emacs.exe:01056C11 read_avail_input keyboard.c:6846 static int read_avail_input( int expected = 0 ) 01056CBD emacs.exe:01056CBD get_input_pending keyboard.c:6730 static void get_input_pending( int * addr = , int flags = ) 01056D95 emacs.exe:01056D95 detect_input_pending_run_timers keyboard.c:10239 int detect_input_pending_run_timers( int do_display = 1 ) 01043B80 emacs.exe:01043B80 wait_reading_process_output process.c:4697 int wait_reading_process_output( int time_limit = 15, int microsecs = 0, int read_kbd = -1, int do_display = 1, Lisp_Object wait_for_cell = 23795713, struct Lisp_Process * wait_proc = &{ int size = , struct Lisp_Vector * v_next = , Lisp_Object infd = , Lisp_Object outfd = , Lisp_Object tty_name = , Lisp_Object name = , Lisp_Object command = , Lisp_Object filter = , Lisp_Object sentinel = , Lisp_Object log = , Lisp_Object buffer = , Lisp_Object childp = , Lisp_Object plist = , Lisp_Object mark = , Lisp_Object kill_without_query = , Lisp_Object status = , Lisp_Object pty_flag = , Lisp_Object tick = , Lisp_Object update_tick = , Lisp_Object decode_coding_system = , Lisp_Object decoding_buf = , Lisp_Object decoding_carryover = , Lisp_Object encode_coding_system = , Lisp_Object encoding_buf = , Lisp_Object encoding_carryover = , Lisp_Object inherit_coding_system_flag = , Lisp_Object filter_multibyte = , Lisp_Object adaptive_read_buffering = , Lisp_Object read_output_delay = , Lisp_Object read_output_skip = , pid_t pid = , int raw_status_new, int raw_status = }, int just_wait_proc = 0 ) 01095B38 emacs.exe:01095B38 sit_for dispnew.c:6582 Lisp_Object sit_for( Lisp_Object timeout = 120, int reading = 1, int do_display = 1 ) 010598C7 emacs.exe:010598C7 read_char keyboard.c:2904 Lisp_Object read_char( int commandflag = 1, int nmaps = 4, Lisp_Object * maps = &34136997, Lisp_Object prev_event = 23795713, int * used_mouse_menu = &0, struct timeval * end_time = &{ long int tv_sec = , long int tv_usec = } ) 0105ABF1 emacs.exe:0105ABF1 read_key_sequence keyboard.c:9142 static int read_key_sequence( Lisp_Object * keybuf = &192, int bufsize = 30, Lisp_Object prompt = 23795713, int dont_downcase_last = 0, int can_return_switch_frame = 1, int fix_current_buffer = 1 ) 0105C3C7 emacs.exe:0105C3C7 command_loop_1 keyboard.c:1618 Lisp_Object command_loop_1( ) 0100A317 emacs.exe:0100A317 internal_condition_case eval.c:1482 Lisp_Object internal_condition_case( Lisp_Object ()(void) * bfun = &command_loop_1, Lisp_Object handlers = 23863945, Lisp_Object ()(void) * hfun = &cmd_error ) 01050416 emacs.exe:01050416 command_loop_2 keyboard.c:1329 Lisp_Object command_loop_2( ) 0100A24C emacs.exe:0100A24C internal_catch eval.c:1222 Lisp_Object internal_catch( Lisp_Object tag = 23854081, Lisp_Object ()(void) * func = &command_loop_2, Lisp_Object arg = 23795713 ) 01050263 emacs.exe:01050263 command_loop keyboard.c:1312 Lisp_Object command_loop( ) 010502F7 emacs.exe:010502F7 recursive_edit_1 keyboard.c:1007 Lisp_Object recursive_edit_1( ) 010503DC emacs.exe:010503DC Frecursive_edit keyboard.c:1068 Lisp_Object Frecursive_edit( ) 01002A48 emacs.exe:01002A48 main emacs.c:1765 int main( int argc = 1, char * * argv = &0x012be188 ) 01001247 emacs.exe:01001247 01001298 emacs.exe:01001298 7C816FD7 kernel32.dll:7C816FD7 RegisterWaitForInputIdle