2008-09-06 MIYOSHI Masanori * w32select.c (create_owner): Request the message thread to create a window. Refer to tiket:395. Thanks to the anonymous contributor who made 'clipbd.patch'. * mw32term.h (WM_EMACS_CREATE_CLPBD): New macro. Refer to tiket:395. Thanks to the anonymous contributor who made 'clipbd.patch'. (WM_EMACS_CREATE_CLPBD_REPLY): Ditto. * mw32fns.c (mw32m_track_popup_menu): New function. Refer to tiket:395. Thanks to the anonymous contributor who made 'clipbd.patch'. (mw32_WndProc): Call mw32m_create_clpbd(). Refer to tiket:395. Thanks to the anonymous contributor who made 'clipbd.patch'. 2008-09-06 Masayuki FUJII * alloc.c (NSTATICS): Cancel increase for ImageMagick. * image.c (imagemagick_image_types): New variable. (imagemagick_image_type_lisp_symbol): Add an interned symbol to imagemagick_image_types. (define_imagemagick_type): Staticpro imagemagick_image_types. 2008-07-22 Shun-ichi GOTO * mw32fns.c (Fx_show_tip): Do not delete existing tip frame on the case of reusing for the same tip text. Fix #393. 2008-05-13 MIYOSHI Masanori * s/ms-w32.h (HAVE_TZNAME): Define it for Meadow. Refer to ticket:388. 2008-04-30 MIYOSHI Masanori * w32.c (term_ntproc): Call term_w32select(). Thanks to Kazuhiro Ito . 2008-04-29 MIYOSHI Masanori * w32select.c: Include mw32term.h for Meadow. * makefile.mw32-in: Update dependencies. (WIN32OBJ): Add w32select.o instead of mw32clpbd.o. * w32.c (globals_of_w32): mw32_mule_clipboard_format is removed. * emacs.c (main): Call syms_of_w32select() instead of syms_of_mw32clipboard(). (main): Call globals_of_w32select(). (main): Don't call init_mw32clpbd(). * mw32clpbd.c: Removed. 2008-04-13 MIYOSHI Masanori * mw32clpbd.c (Fw32_get_clipboard_data): Use decoding_buffer_size() to get the buffer size. Thanks to Kazuhiro Ito . 2008-04-06 Masayuki FUJII * makefile.mw32-in ($(TRES)): Prerequisites are changed. 2008-04-06 MIYOSHI Masanori * alloc.c (NSTATICS): Increased for the latest ImageMagick. 2008-04-04 MIYOSHI Masanori * Sync up with Emacs22.2. 2007-11-25 MIYOSHI Masanori * mw32term.c (keymodifier): Define the escape key as a special key. Refer to ticket:381. 2007-11-14 MIYOSHI Masanori * alloc.c (NSTATICS): Increased for the latest ImageMagick. 2007-10-02 MIYOSHI Masanori * mw32fns.c (syms_of_mw32fns): Defsubr Sdefault_printer_name. Thanks to Kazuhiro Ito . 2007-09-30 MIYOSHI Masanori * mw32fns.c (Fdefault_printer_name): New function from Emacs22.1. * makefile.mw32-in (LIBS): Add `WINSPOOL'. 2007-07-07 MIYOSHI Masanori * Sync up with Emacs22.1. 2007-06-02 MIYOSHI Masanori * Sync up with Emacs22 BASE. 2007-05-12 MIYOSHI Masanori * Sync up with Emacs22 BASE. 2007-05-01 MIYOSHI Masanori * Sync up with Emacs CVS HEAD. 2007-04-07 MIYOSHI Masanori * Sync up with Emacs CVS HEAD. 2007-04-04 MIYOSHI Masanori * mw32fns.c (compute_tip_xy): Sync up with Emacs CVS HEAD. 2007-03-21 MIYOSHI Masanori * Sync up with Emacs CVS HEAD. 2007-03-14 MIYOSHI Masanori * mw32term.h (WM_EMACS_GET_IME_FONT_PROP): Removed. (WM_EMACS_MODIFY_IME_FONT_PROP): Ditto. (WM_EMACS_HIDE_TOOLTIP): Packed. (WM_EMACS_UPDATE_CURSOR): Ditto. * mw32term.c (get_face_height): Removed. (mw32_get_ime_font_property): Ditto. (mw32_process_main_thread_message): Ditto. * mw32fns.c (get_face_height): New function from `mw32ter.c'. (mw32_get_ime_font_property): Ditto. (mw32_WndProc): Call mw32_get_ime_font_property(). (mw32_WndProc): Removed. 2007-02-10 MIYOSHI Masanori * Sync up with Emacs CVS HEAD. 2007-01-21 Masayuki FUJII * makefile.mw32-in: Sync up with makefile.w32-in. 2007-01-08 MIYOSHI Masanori * window.c (set_window_buffer): Undo the last change. (set_window_buffer): Don't call clear_mouse_face() if the frame is a termcap frame. 2007-01-08 MIYOSHI Masanori * window.c (set_window_buffer): Don't call clear_mouse_face() for MSVC. This is just a hack and should be removed. 2007-01-08 MIYOSHI Masanori * Sync up with Emacs CVS HEAD. 2006-11-18 MIYOSHI Masanori * Sync up with Emacs CVS HEAD. 2006-10-29 MIYOSHI Masanori * Sync up with Emacs CVS HEAD. 2006-10-20 MIYOSHI Masanori * Sync up with Emacs CVS HEAD. 2006-09-30 MIYOSHI Masanori * Sync up with Emacs CVS HEAD. 2006-09-18 MIYOSHI Masanori * Sync up with Emacs CVS HEAD. 2006-09-11 Shun-ichi GOTO * mw32font.c (mw32_set_windows_logical_font): Fixed local variable declaration to build with MSVC. This is the way of standard C. 2006-09-10 Masayuki FUJII * mw32font.c (mw32_set_windows_logical_font): Correct the calculation of overhang in non TrueType font. See ticket:136. (mw32_glyph_metric): Correct lbearing and rbearing in non TrueType font. See ticket:136. 2006-09-09 MIYOSHI Masanori * Sync up with Emacs CVS HEAD. 2006-09-08 MIYOSHI Masanori * mw32term.c (mw32_draw_glyph_string_background): Call mw32_clear_glyph_string_rect() instead of mw32_fill_area_pix(). 2006-09-03 MIYOSHI Masanori * mw32term.c (mw32_draw_glyph_string_foreground): Take account of horizontal offsets of the glyph string. This code is moved from xdisp.c. 2006-09-02 MIYOSHI Masanori * mw32term.c (mw32_draw_glyph_string_foreground): Don't use `pstr' and `nbytes' of of the glyph string. * xdisp.c (init_glyph_string): Removed arguments `pstr' and `nbytes'. (fill_glyph_string): Don't call SERIALIZE_FONTCP(). (INIT_GLYPH_STRING): Removed argument `pstr'. (BUILD_STRETCH_GLYPH_STRING): Ditto. (BUILD_IMAGE_GLYPH_STRING): Ditto. (BUILD_CHAR_GLYPH_STRINGS): Ditto. (BUILD_COMPOSITE_GLYPH_STRING): Ditto. * dispextern.h (struct glyph_string): Removed members `pstr' and `nbytes'. 2006-09-02 MIYOSHI Masanori * xdisp.c (init_glyph_string): Removed argument `pdx'. Don't call MW32_INVOKE_LAYOUTPROC. (INIT_GLYPH_STRING): Removed argument `pdx'. (BUILD_STRETCH_GLYPH_STRING): Ditto. (BUILD_IMAGE_GLYPH_STRING): Ditto. (BUILD_CHAR_GLYPH_STRINGS): Ditto. (BUILD_COMPOSITE_GLYPH_STRING): Ditto. * mw32term.c (mw32_draw_glyph_string_foreground): Don't use horizontal offsets of the glyph string. (mw32_draw_composite_glyph_string_foreground): Ditto. * dispextern.h (struct glyph_string): Removed member `pdx'. 2006-08-31 MIYOSHI Masanori * xdisp.c (get_window_cursor_type): Remove Meadow specific codes. * mw32term.h (x_highlight_frame): New macro. 2006-08-31 MIYOSHI Masanori * xdisp.c: Use FONT_INFO_FROM_ID instead of MW32_FONT_INFO_FROM_FONT. * fontset.h (FONT_INFO_FROM_ID): Call mw32_get_font_info(). 2006-08-29 MIYOSHI Masanori * xfaces.c (clear_font_table): Call w32_unload_font(). (set_font_frame_param): Activate invalidated function. * mw32font.c (w32_unload_font): New function. (set_font_frame_param): Moved to xfaces.c. * dispextern.h (struct glyph_string): Don't use MW32LogicalFont. 2006-08-26 YAMAZAKI Katsuhiro * mw32fns.c (mw32_WndProc): Always erase background. Refer to tiket:341. 2006-08-22 MIYOSHI Masanori * mw32term.c: Use FRAME_FOREGROUND_PIXEL and FRAME_BACKGROUND_PIXEL to get the frame colors. Refer to ticket:334. * mw32fns.c (mw32_set_foreground_color): Ditto. * image.c (get_image_data_from_icon): Ditto. * mw32term.h (struct mw32_output): New member `x_compatible'. (struct mw32_output): Removed members `background_pixel' and `foreground_pixel'. Refer to ticket:334. 2006-08-22 YAMAZAKI Katsuhiro * mw32fns.c (mw32_WndProc): At the first the erase region is getting by GetUpdateRect. Use GetClientRect when GetUpdateRect returns 0 (meaning there is no update region). Refer to ticket:335. (mw32_WndProc): Cancel previous change. * mw32term.c (mw32i_scroll_run): Delete the calculation of fringe area. Refer to ticket:336. 2006-08-18 MIYOSHI Masanori * Sync up with Emacs CVS HEAD. 2006-08-18 MIYOSHI Masanori * mw32fns.c (mw32_WndProc): Revert the changes in r4135. Refer to ticket:335. 2006-08-17 Masayuki Fujii * mw32clpbd.c (init_mw32clpbd): Modify a test for GetClipboardSequenceNumber API. Refer to ticket:321. 2006-08-17 MIYOSHI Masanori * mw32fns.c (mw32_WndProc): Revert the last change partially. Refer to ticket:336. 2006-08-17 MIYOSHI Masanori * mw32fns.c (Fx_create_frame): Normalize coding style. 2006-08-17 MIYOSHI Masanori * mw32fns.c (mw32_WndProc): Return 0 if there is no update region. Refer to ticket:335. 2006-08-10 MIYOSHI Masanori * Sync up with Emacs CVS HEAD. 2006-08-10 MIYOSHI Masanori * image.c (load_in_memory_image): Use 0x80 instead of 0xff as a foreground pixel value. 2006-08-05 YAMAZAKI Katsuhiro * keyboard.c (kbd_buffer_store_event_hold): Fix asymmetric usage of W32_BLOCK_EVENT and W32_UNBLOCK_EVENT. 2006-08-05 YAMAZAKI Katsuhiro * mw32fns.c (mw32_WndProc): Change the retun value from `0' to `1', because when the application erases the background, it returns to the not `0' values. Change the function for getting erase rectangle from GetClientRect to GetUpdateRect. Refer to w32fns.c. (mw32_WndProc): Change the function for getting drawing rectangle from GetClientRect to BeginPaint. Call mw32_clear_native_frame_area when ps.fErase is `t'. 2006-08-05 MIYOSHI Masanori * mw32term.c (Fmw32_get_device_capability): Return 'full if the pixel depth is greater than or equal to 24 bits. 2006-08-01 MIYOSHI Masanori * process.c (wait_reading_process_output): Revert the last change. * mw32term.c (MW32_read_socket): Ignore the 2nd argument `expected'. Refer to [meadow-develop: 7443]. * keyboard.c (kbd_buffer_get_event): Remove `have_input'. 2006-07-31 MIYOSHI Masanori * process.c (wait_reading_process_output): Reset `got_some_input' when timeout has occured. * keyboard.c (kbd_buffer_get_event): Call note_sync_event() even if the end time is specified. (kbd_buffer_get_event): Call read_avail_input() with the return value of wait_reading_process_output(). 2006-07-29 MIYOSHI Masanori * Sync up with Emacs CVS HEAD. 2006-07-28 Masayuki FUJII * mw32clpbd.c (init_mw32clpbd): Test GetClipboardSequenceNumber API only if GetProcAddress succeeds. 2006-07-28 Masayuki FUJII * mw32clpbd.c (GetClipboardSequenceNumber_Proc): New type. (get_clipboard_sequence_number_fn): New variable. (last_clipboard_sequence_number): New variable. (Fw32_set_clipboard_data): Store clipboard text only if GetClipboardSequenceNumber API is not available. Store clipboard sequence number instread of clipboard text if GetClipboardSequenceNumber API is available. (Fw32_get_clipboard_data): Return nil if clipboard sequence number is not changed since w32-set-clipboard-data sets data in clipboard. (init_mw32clpbd): New function. * emacs.c (main): Call init_mw32clpbd. 2006-07-27 MIYOSHI Masanori * regex.c (regex_compile): Undo the last change. 2006-07-26 MIYOSHI Masanori * regex.c (regex_compile): Don't optimize on VC 6. Refer to [meadow-develop: 7410]. 2006-07-25 MIYOSHI Masanori * regex.c (regex_compile): Activate the invalidate codes. 2006-07-25 MIYOSHI Masanori * w32term.h: Sync up with Emacs CVS HEAD. * w32proc.c: Don't include "w32term.h" * mw32font.c (FONTSET_FROM_ID): Use mw32_get_fontset_table(). (FONTSET_REF_VIA_BASE): Use mw32_fontset_ref_via_base(). (FONTSET_SET): Use mw32_fontset_set(). * fontset.c: Sync up with Emacs CVS HEAD. (lookup_overriding_fontspec): Validated as a stub. (mw32_get_fontset_table): New function. (mw32_fontset_set): Ditto. (mw32_fontset_ref_via_base): Ditto. 2006-07-22 MIYOSHI Masanori * regex.c (regex_compile): Add comment. * w32term.h (EMACS_CLASS): Removed. * strftime.c (my_strftime): Mark up Meadow specific code explicitly. * mw32term.c (mw32_release_frame_hdc): Redefine as a void function. (mw32_cleanup_frame_hdc): Ditto. * mw32term.h: Ditto. * lisp.h (DEFUN): Sync up with Emacs CVS HEAD. * image.c: Mark up Meadow specific code explicitly. * frame.h (EMACS_CLASS): Sync up with Emacs CVS HEAD. * fontset.c: Mark up Meadow specific code explicitly. (fontset_ref_via_base): Sync up with Emacs CVS HEAD. (fontset_font_pattern): Ditto. * eval.c (Fsignal): Mark up Meadow specific code explicitly. * emacs.c (sbrk): New extern for Meadow. * editfns.c (syms_of_editfns): Sync up with Emacs CVS HEAD. * dispextern.h (struct glyph_string): Mark up Meadow specific code explicitly. Sync up with Emacs CVS HEAD. * coding.h (ENCODE_SYSTEM): Sync up with Emacs CVS HEAD. (DECODE_SYSTEM): Ditto. * charset.c (Fmake_char_internal): Mark up Meadow specific code explicitly. * alloc.c: Remove a temporary prototype. 2006-07-22 Masayuki FUJII * makefile.mw32-in (TEMACS_TMP): New variable from Emacs CVS HEAD. (EMACS_DMP): Removed. (OBJ1): Add w32heap.$(O) and unexw32.$(O) (WIN32OBJ): Remove mw32mem.$(O) ($(EMACS)): Remove -nd option for temacs.exe. Don't move emacs.dmp to Meadow.dmp. ($(TEMACS)): Depend on addsection.exe. Execute addsection.exe. (bootstrap-temacs): Define PURESIZE instead of PDUMP_HASH_SIZE and PDUMP_OBJECT_ARRAY_SIZE. (bootstrap-emacs): Remove -nd option for temacs.exe. Don't move emacs.dmp to Meadow.dmp (install): Don't copy Meadow.dmp. * alloc.c (staticpvec): Removed. (staticpidx): Ditto. (allocate_string): Revert change for portable dumper. (FLOAT_BLOCK_SIZE): Sync up with Emacs CVS HEAD. (GETMARKBIT): New macro from Emacs CVS HEAD. (SETMARKBIT): Ditto. (UNSETMARKBIT): Ditto. (FLOAT_BLOCK): Ditto. (FLOAT_INDEX): Ditto. (struct float_block): Sync up with Emacs CVS HEAD. (FLOAT_MARKED_P): Ditto. (FLOAT_MARK): Ditto. (FLOAT_UNMARK): Ditto. (make_float): Ditto. (CONS_BLOCK_SIZE): Ditto. (CONS_BLOCK): New macro from Emacs CVS HEAD. (CONS_INDEX): Ditto. (CONS_MARKED_P): Sync up with Emacs CVS HEAD. (CONS_MARK): Ditto. (CONS_UNMARK): Ditto. (Fcons): Ditto. (Fmake_byte_code): Revert change for portable dumper. (pure_alloc): Ditto. (Fpurecopy): Ditto. (staticpro): Sync up with Emacs CVS HEAD. (staticpro_pdump): Removed. (Fgarbage_collect): Revert change for portable dumper. (mark_object): Ditto. (struct pdump_header_type): Removed. (struct pdump_forward): Ditto. (struct pdump_forward_pointer): Ditto. (struct pdump_forward_subr_doc): Ditto. (struct pdump_forward_interval_tree): Ditto. (struct pdump_forward_hash_table): Ditto. (struct pdump_block_table): Ditto. (struct pdump_root): Ditto. (PDUMP_HASH_SIZE): Ditto. (PDUMP_OBJECT_ARRAY_SIZE): Ditto. (PDUMP_POINTERS_SIZE): Ditto. (PDUMP_SUBR_DOC_SIZE): Ditto. (PDUMP_INTERVAL_TREE_SIZE): Ditto. (PDUMP_OFFSET): Ditto. (enum pdump_load_scheme): Ditto. (pdump_load_offset): Ditto. (enum pdump_object_type): Ditto. (struct pdump_type_objects): Ditto. (pdump_lisp_object): Ditto. (pdump_pointers): Ditto. (pdump_pointers_index): Ditto. (pdump_subr_doc): Ditto. (pdump_subr_doc_index): Ditto. (pdump_interval_tree): Ditto. (pdump_interval_tree_index): Ditto. (pdump_hash_table): Ditto. (pdump_hash_table_index): Ditto. (pdump_header): Ditto. (pdump_objects_start): Ditto. (PDUMP_STRING_BYTES): Ditto. (PDUMP_LARGE_STRING_P): Ditto. (PDUMP_STRING_DATA_DUMP_SIZE_ALIGNMENT): Ditto. (PDUMP_STRING_DATA_DUMP_SIZE): Ditto. (PDUMP_LISP_STRING_DUMP_SIZE): Ditto. (PDUMP_BOOL_VECTOR_SIZE): Ditto. (PDUMP_BOOL_VECTOR_P): Ditto. (PDUMP_VECTORLIKE_LENGTH): Ditto. (PDUMP_VECTORLIKE_SIZE): Ditto. (PDUMP_LISP_HASH_TABLE_SIZE): Ditto. (PDUMP_LISP_HASH_TABLE_ELEM_COUNT): Ditto. (PDUMP_LISP_HASH_TABLE_ALLOCATED_COUNT): Ditto. (pdump__hexdump): Ditto. (pdump_message): Ditto. (PDUMP_MESSAGE): Ditto. (pdump_hash_value): Ditto. (pdump_put_hash): Ditto. (pdump_get_hash): Ditto. (pdump_register_object): Ditto. (pdump_register_pointer): Ditto. (pdump_register_subr_doc): Ditto. (pdump_count_interval_tree_length): Ditto. (pdump_register_interval_tree_iter): Ditto. (pdump_register_interval_tree): Ditto. (pdump_register_hash_table): Ditto. (PDUMP_REGISTERING_MESSAGE): Ditto. (pdump_add_object): Ditto. (pdump_object_to_enum): Ditto. (pdump_forward_object): Ditto. (pdump_size): Ditto. (pdump_write_objects): Ditto. (pdump_add_special_buffers): Ditto. (pdump_write_special_buffers): Ditto. (pdump_write_coding_symbols): Ditto. (pdump): Ditto. (PDUMP_RELOCATE): Ditto. (pdump_object_start_address): Ditto. (pdump_load_interval_tree): Ditto. (pdump_load_hash_table): Ditto. (pdump_read_coding_symbols): Ditto. (pdump_map_file): Ditto. (pdump_load): Ditto. (pdump_free): Ditto. (pdump_relocate_objects): Ditto. (unmark_pdumped_objects): Ditto. (pdump_check_hash_table): Ditto. (pdump_check_object_validity_Lisp_Int): Ditto. (pdump_check_object_validity_Lisp_String_data): Ditto. (pdump_check_object_validity_Lisp_String_intervals): Ditto. (pdump_check_object_validity_Lisp): Ditto. (pdump_check_object_validity_Lisp_Vectorlike): Ditto. (pdump_check_object_validity_Lisp_Symbol): Ditto. (pdump_check_object_validity_Lisp_Misc): Ditto. (pdump_check_object_validity_Lisp_Cons): Ditto. (pdump_check_object_validity_Lisp_Float): Ditto. (pdump_check_object_validity): Ditto. (pdump_check_root_objects): Ditto. (pdump_file_check_readable): Ditto. (pdump_find_exe_path): Ditto. (pdump_find_dump_file): Ditto. (pdump_open_dump_file): Ditto. (Fpdump_load_scheme): Ditto. (Fpdump_relocated_p): Ditto. (Fpdumped_p): Ditto. (init_alloc_once): Merge with reinit_alloc_once. Revert changes for portable dumper. (syms_of_alloc): Revert changes for portable dumper. * emacs.c (main): Revert changes for portable dumper. Do not call functions reinit_*. * lread.c (read1): Revert changes for portable dumper. (read_vector): Ditto. (read_list): Ditto. (make_symbol): Ditto. (init_obarray): Revert changes for portable dumper. Merge with reinit_obarray. * lisp.h (struct Lisp_Cons): Revert hack for portable dumper on 2005-04-09 and on 2005-04-20. (struct Lisp_Float): Ditto. (struct Lisp_Marker): Revert hack for portable dumper on 2005-04-20. (struct Lisp_Buffer_Local_Value): Ditto. (struct Lisp_Overlay): Ditto. * puresize.h (CHECK_IMPURE): Revert dummy definition. (PURE_P): Revert dummy definition. * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Increased for mw32-specific elisp files. * editfns.c (syms_of_editfns): Merge with reinit_syms_of_editfns. * insdel.c (syms_of_insdel): Merge with reinit_syms_of_insdel. * window.c (init_window_once): Merge with reinit_window_once. (syms_of_window): Use staticpro instead of staticpro_nopdump. * search.c (syms_of_search): Merge with reinit_syms_of_search. * fontset.c (syms_of_fontset): Merge with reinit_syms_of_fontset. * abbrev.c (syms_of_abbrev): Merge with reinit_syms_of_abbrev. * frame.c (syms_of_frame): Use staticpro instead of staticpro_nopdump. * coding.c (init_coding_once): Merge with reinit_coding_once. * minibuf.c (init_minibuf_once): Merge with reinit_minibuf_once. (syms_of_minibuf): Merge with reinit_syms_of_minibuf. * mw32font.c (syms_of_mw32font): Merge with reinit_syms_of_mw32font. * mw32fns.c (syms_of_mw32fns): Merge with reinit_syms_of_mw32fns. * print.c (syms_of_print): Use staticpro instead of staticpro_nopdump. * eval.c (init_eval_once): Merge with reinit_eval_once. * buffer.c (pdump_global_buffer_p): Removed. (init_buffer_once): Merge with init_buffer_once_1 and init_buffer_once_2. (syms_of_buffer): Use staticpro instead of staticpro_nopdump. * w32proc.c: Include w32heap.h. (RVA_TO_PTR): New macro. * callint.c (syms_of_callint): Use staticpro instead of staticpro_nopdump. Merge with reinit_syms_of_callint. * w32.h: Remove declaration related with mw32mem.c. * w32.c: Include w32heap.h. (init_ntproc): Call check_windows_init_file. * mw32menu.c (syms_of_mw32menu): Use staticpro instead of staticpro_nopdump. Merge with reinit_syms_of_mw32menu. * category.c (syms_of_category): Merge with reinit_syms_of_category. * vm-limit.c (get_lim_data): Sync up with Emacs CVS HEAD. * lastfile.c: Ditto. * mw32reg.c: Remove unused empty function reinit_syms_of_mw32reg. * dispnew.c (syms_of_display): Use staticpro instead of staticpro_nopdump. Merge with reinit_syms_of_display. 2006-07-17 Shun-ichi GOTO * mw32fns.c (mw32_WndProc): Revert changes for WM_INITMENU in r4102 to move it to WM_ENTERMENULOOP. (mw32_WndProc): Force showing mouse cursor when main menu or popup menu is activated. Closes #307. 2006-07-17 YAMAZAKI Katsuhiro * mw32fns.c (Fx_create_frame): Move the position in which GET_FRAME_HDC is called after mw32window, because the window handle is obtained in there. (mw32_WndProc): Changes from EnterCriticalSection and LeaveCriticalSection to MW32_BLOCK_FRAME_HDC and MW32_BLOCK_FRAME_HDC. * mw32term.h (GET_FRAME_HDC_LEVEL_LIMIT): Moved to `mw32term.c'. (MW32_BLOCK_FRAME_HDC): New Macro. (MW32_UNBLOCK_FRAME_HDC): Ditto. (GET_FRAME_HDC): Changes from the macro to the function call. (RELEASE_FRAME_HDC): Ditto. (CLEANUP_FRAME_HDC): Ditto. * mw32term.c (GET_FRAME_HDC_LEVEL_LIMIT): Moved from `mw32term.h'. (MAIN_THREAD_FRAME_HDC_STACK): New define. (main_thread_hdc_frame): New variable. (old_main_thread_hdc_stack): Ditto. (old_main_thread_hdc): Ditto. (old_main_thread_hdc_nestlevel): Ditto. (old_main_thread_hdc_hwnd): Ditto. (old_main_thread_hdc_frame): Ditto. (mw32_init_frame_hdc): New function. (mw32_get_frame_hdc): Ditto. (mw32_release_frame_hdc): Ditto. (mw32_cleanup_frame_hdc): Ditto. (MW32_update_begin): Changes from EnterCriticalSection and LeaveCriticalSection to MW32_BLOCK_FRAME_HDC and MW32_BLOCK_FRAME_HDC. (mw32_clear_mouse_face): Ditto. (mw32_initialize): Call mw32_init_frame_hdc. 2006-07-16 MIYOSHI Masanori * mw32term.c (mw32_mouse_wheel_handler): Use the current message to get the mouse position instead of `last_mouse_motion_message'. (mw32_mouse_wheel_handler): Take account of up/down modifiers. * Sync up with Emacs CVS HEAD. 2006-07-14 Masayuki FUJII * lisp.h (VALBITS): Revert the change on rev 4107 2006-07-14 Hideyuki SHIRAI * lisp.h (VALBITS): [MD:7371], [MD:7374] Sync up Emacs CVS HEAD for VC++. (ARRAY_MARK_FLAG): Ditto. 2006-07-12 MIYOSHI Masanori * keyboard.c (make_lispy_event): Insert `nil' into the list of the wheel event just before `delta' to suppress errors in describe-key(). Refer to ticket:312. 2006-07-09 YAMAZAKI Katsuhiro * mw32term.c (mw32_destroy_frame_hdc): Don't release main thread DC, because this function is called between GET_FRAME_HDC and RELEASE_FRAME_HDC on main thread. * mw32fns.c (mw32_WndProc): Show mouse cursor when it is hidden. Refer to ticket:307 (mw32_create_tip_frame): Sync up Emacs CVS HEAD. Refer to w32fns.c. (Fx_show_tip): Ditto. * xdisp.c (redisplay_window): Remove redundant line, and sync up Emacs CVS HEAD. (erase_phys_cursor): Remove redundant line. (display_and_set_cursor): Sync up Emacs CVS HEAD. (note_mouse_highlight): If Suspend|ResumeThread returns NG, it is retried. Refer to ticket:299. * window.c (delete_window): Remove force release FRAME_HDC. 2006-07-01 MIYOSHI Masanori * Sync up with Emacs CVS HEAD. 2006-06-10 MIYOSHI Masanori * mw32fns.c: Normalize coding style and remove redundant spaces. * mw32fns.c: Ditto. * mw32ime.c: Ditto. * mw32reg.c: Ditto. * mw32term.c: Ditto. * mw32term.h: Ditto. * xdisp.c: Ditto. 2006-06-10 MIYOSHI Masanori * mw32term.c (mw32_process_main_thread_message): Don't update the cursor if the root window of the frame is nil. (mw32_message_loop): Don't clear mouse face if the frame is NULL. Refer to ticket:305 for these changes. Thanks to the anonymous contributor to this ticket. 2006-05-27 MIYOSHI Masanori * Sync up with Emacs CVS HEAD. 2006-05-25 Hideyuki SHIRAI Thanks Yamazaki-san and his patchs again; Ticket #237 and #299. * mw32fns.c (mw32_WndProc): Sleep message thread in a few minutes for main thread running. * xdisp.c (note_mouse_highlight): If call in message-thread, suspend and resume the main-thread during to change the buffer. 2006-05-18 MIYOSHI Masanori * Sync up with Emacs CVS HEAD. 2006-05-14 MIYOSHI Masanori * w32.c (encode_filename): Remove redundant spaces. (decode_filename): Ditto. (dostounix_filename): Undo the last change. (unixtodos_filename): Ditto. (map_w32_filename): Ditto. (Fdos_to_unix_filename): Encode and decode the file name around dostounix_filename(). (Funix_to_dos_filename): Encode and decode the file name around unixtodos_filename(). 2006-05-14 Masayuki FUJII * w32.c (normalize_filename): Correct conversion to lower case. (map_w32_filename): Use normalize_filename instead of unixtodos_filename. 2006-05-13 MIYOSHI Masanori * coding.c: Redo the canceled merge. Refer to ticket:296. * Sync up with Emacs CVS HEAD. 2006-05-13 MIYOSHI Masanori * w32.c: Include "charset.h" and "coding.h". (encode_filename): New function. (decode_filename): Ditto. (dostounix_filename): Encode and Decode the file name around normalize_filename(). (unixtodos_filename): Ditto. 2006-05-13 MIYOSHI Masanori * w32.c (Fdos_to_unix_filename): Allocate memory for a file name on the stack. (Funix_to_dos_filename): Ditto. 2006-05-13 MIYOSHI Masanori * mw32term.c: Purge XSTRING and use SDATA, SBYTES and SCHARS instead. * mw32menu.c: Ditto. * mw32ime.c: Ditto. * mw32font.c: Ditto. * mw32dl.c: Ditto. * mw32clpbd.c: Ditto. * mw32bdf.c: Ditto. * w32.c (normalize_filename): Ditto. Normalize coding style. 2006-05-03 MIYOSHI Masanori * Sync up with Emacs CVS HEAD. 2006-05-03 Masayuki Fujii * mw32term.h: Remove inclusion of w32api.h. 2006-05-03 MIYOSHI Masanori * mw32term.h: Include explicitly. Consider `HAVE_RECONVERTSTRING' to define `RECONVERTSTRING'. 2006-05-02 Hideyuki SHIRAI Thanks Yamazaki-san and his patchs; exclusion-01.patch, remove-framehdc-00.patch and remove-warning-00.patch in Ticket #237 and Meadow-develp:7288. * dispnew.c (clear_desired_matrices): Remove strange `ifdef'. (adjust_glyphs): Ditto. (adjust_frame_glyphs): Set this function as critical section with GET|RELEASE_FRAME_HDC. (free_glyphs): Ditto. (free_window_matrices): Ditto. * window.c (delete_window): Force release FRAME_HDC. * minibuf.c (Fexit_minibuffer): Suppress compilation warnings. * xdisp.c (display_echo_area_1): Remove GET|RELEASE_FRAME_HDC. (redisplay_tool_bar): Ditto. (redisplay_window_0): Ditto. (redisplay_internal): Set this function as critical section with GET|RELEASE_FRAME_HDC. * mw32term.c (mw32_set_clip_area): Use GET|RELEASE_FRAME_HDC instead of FRAME_HDC. (mw32_unset_clip_area): Ditto. (MW32_frame_up_to_date): Ditto. (mw32_get_lighter_color): Ditto. (mw32_draw_relief_rect): Ditto. (mw32_shift_glyphs_for_insert): Ditto. (MW32_mouse_position): Ditto. (show_or_hide_mouse_cursor): Sync up EMACS CVS HEAD (refer to w32term.c). * xfaces.c (free_realized_multibyte_face): Set this function as critical section with GET|RELEASE_FRAME_HDC. (cache_face): Sync up Emacs CVS Head. * image.c (image_background): Use GET|RELEASE_FRAME_HDC instead of FRAME_HDC. (image_background_transparent): Use GET|RELEASE_FRAME_HDC instead of FRAME_HDC. * mw32font.c (mw32_set_windows_logical_font): Use GET|RELEASE_FRAME_HDC instead of FRAME_HDC. * process.c (Fmake_network_process): Suppress compilation warnings. * mw32dl.c (undefsubr): Suppress compilation warnings. * mw32menu.c (set_frame_menubar): Suppress compilation warnings. * mw32ime.c (mw32_ime_inject_keystrokes): Suppress compilation warnings. * mw32term.h (GET_FRAME_HDC_LEVEL_LIMIT): Set 256. (FRAME_HDC): Delete unused macro. 2006-04-26 Masayuki FUJII * mw32term.h: Add the condition related to cygwin for definition of RECONVERTSTRING. 2006-04-26 Masayuki FUJII * mw32term.h: Revert the change on 2006-04-25. 2006-04-25 Masayuki FUJII * mw32term.h: Modify the condition for definition of RECONVERTSTRING. 2006-04-23 MIYOSHI Masanori * coding.c: Undo the last merge temporarily. Refer to ticket:296. 2006-04-16 MIYOSHI Masanori * Sync up with Emacs CVS HEAD. 2006-03-29 Hideyuki SHIRAI * mw32term.c (mw32_draw_bar_cursor): Fix FRAME_HDC. See ticket:293. 2006-03-13 Kyotaro HORIGUCHI * mw32term.h (WM_EMACS_FLUSH_MESSAGE): New message. (WM_EMACS_KEYSTROKE): New message. * mw32term.c (mw32_message_loop): Modify related to IME input. (mw32_message_loop): New message handler. (mw32_message_loop): New message handler. (mw32_message_loop): Modify related to IME input. * mw32ime.c (Vmw32_ime_composition_window): New variable. (mw32_set_ime_conv_window): Use Vmw32_ime_composition_window if possible. (mw32_ime_record_keycode): Don't record keycode when choking keystrokes. (mw32_get_ime_result_string): Start keystroke choking immediately if needed. (mw32_ime_choke_keystroke): Add parameter for debugging. (mw32_ime_stop_choke_keystrokes): New function. (mw32_change_shift_state): New function. (mw32_ime_inject_keystrokes): Moved out from mw32-ime-input-method-function and widen applicable chars. (mw32_ime_inject_keymessage): New function. (mw32_ime_input_method_function_unwind): Fix coding style. Stop choking keystrokes and put them into message queue. (mw32-ime-input-method-function): Improve tolerance of key fastshot. (mw32-protect-fep-input): Removed. (fep-force-on): Don't send keyup message. (fep-force-on): Ditto. (syms_of_mw32ime): Add initialize of Vmw32_ime_composition_window. * dispnew.c (clear_current_matrices): Sync with message-thread. * xdisp.c (display_echo_area_1): Ditto. (redisplay_tool_bar): Ditto. (redisplay_window_0): Ditto. 2006-02-24 Kyotaro HORIGUCHI * mw32ime.c (CHOKEDKEYBUFLEN): New macro. (choke_keystroke): New variable. (choked_key_index): New variable. (choked_key_buf): New variable. (mw32_ime_choke_keystroke): New function. (mw32-ime-input-method-function): Protect key strokes around switching of fep from disordering and/or vanishing. (mw32-protect-fep-input): New lisp function. * mw32term.c (mw32_message_loop): Protect key strokes around switching of fep from disordering and/or vanishing. 2006-02-20 Kyotaro HORIGUCHI * mw32term.h (WM_EMACS_UPDATE_CURSOR): New macro. * mw32term.c (mw32_new_focus_frame): Add cursor control. (mw32_draw_window_cursor): Unnecessary to check validity of hdc here. 2006-02-20 Kyotaro HORIGUCHI * image.c (mw32_cross_disabled_image): Fix asymmetric usage of GET_FRAME_HDC () and RELEASE_FRAME_HDC (). 2006-02-15 MIYOSHI Masanori * Sync up with Emacs CVS HEAD. 2006-02-15 MIYOSHI Masanori * s/ms-w32.h (HAVE_FCNTL_H): Define HAVE_FCNTL_H. * alloc.c: Don't define INCLUDED_FCNTL. 2006-02-13 Kyotaro HORIGUCHI * mw32term.h (pending_clear_mouse_face): New variable. (WITH_MESSAGE_THREAD_HDC): Removed. * mw32term.c (MW32_update_begin): Fix the range of critical section. (MW32_update_end): Make hdc_nestlevel zero when hdc is INVALID_HANDLE_VALUE. (mw32_new_focus_frame): Remove disabled code and unused variable. (mw32_frame_rehighlight_1): Unnecessary to do highlight here. (mw32_clear_mouse_face): New function. (show_or_hide_mouse_cursor): Use mw32_clear_mouse_face instead of clear_mouse_face for synchronization with main thread. (mw32_message_loop): Do mw32_clear_mouse_face when pending. Use mw32_clear_mouse_face instead of clear_mouse_face for synchronization with main thread. * mw32fns.c (mw32m_new_focus_frame): Removed. (mw32_WndProc): Call mw32_new_focus_frame instaed of mw32m_new_focus_frame. (x-create-frame): Initialize f->output_data.mw32->pending_clear_mouse_face. (mw32_create_tip_frame): Ditto. * xfaces.c (free_realized_faces): Synchronize with message thread. 2006-02-05 Masayuki FUJII * lread.c (openp): initialize encoded_fn before GCPRO6. 2006-02-01 Kyotaro HORIGUCHI * mw32term.c: Include winable.h to use SendInput() and related types. (mw32_set_caret): Don't call main thread when this frame is deleted. (mw32_free_frame_resources): Set INVALID_HANDLE_VALUE to windows descriptor to mark this frame is deleted. * mw32term.h (ULONG_PTR): Delete definition, which is defined in winable.h newly included in mw32term.c. (PULONG_PTR): Ditto. (MOUSEINPUT): Ditto. (KEYBDINPUT): Ditto. (HARDWAREINPUT): Ditto. (INPUT): Ditto. (INPUT_MOUSE): Ditto. (INPUT_KEYBOARD): Ditto. (INPUT_HARDWARE): Ditto. (SENDINPUTPUROC): Ditto. * mw32ime.c (Vmw32_fep_switch_by_key_event): Renamed to mw32_fep_switch_by_key_event and type is changed to int. (fep-force-on): Ditto. (fep-force-off): Ditto. (mw32-ime-input-method-function): Change the method setting initial input into IME. Injecting key event instead of setting composition string with WM_MULE_IMM_SET_COMPOSITION_STRING, which has different behavior between MS-IME and ATOK. * callproc.c (Vmw32_process_expects_pty): Renamed to mw32_process_expects_pty. * process.c (Vmw32_process_expects_pty): External variable is renamed to mw32_process_expects_pty. 2006-01-29 MIYOSHI Masanori * s/ms-w32.h (STDC_HEADERS): Correct an invalid definition. 2006-01-28 MIYOSHI Masanori * Sync up with Emacs CVS HEAD. 2006-01-26 Masayuki FUJII * image.c (mw32_image_to_fullcolor): use GET/RELEASE_FRAME_HDC instead of FRAME_HDC. (mw32_cross_disabled_image): Ditto. * w32proc.c (sys_spawnve): Protect decoded_program from GC. 2006-01-05 Hideyuki SHIRAI * mw32term.h (ULONG_PTR, *PULONG_PTR): New types for old compiler. 2005-12-28 Kyotaro HORIGUCHI * w32proc.c (sys_spawnve): Bug fix around path conversion. * mw32fns.c (mw32_WndProc): Don't expose_frame when INPUT_BLOCKED_P. * dispnew.c (adjust_glyphs): Inhibit glyph matrices modification during expose_frame is running. 2005-12-28 Masayuki FUJII * w32.c (normalize_filename): Revert change on 2005-12-25. 2005-12-27 Kyotaro HORIGUCHI * mw32ime.c (fep_switch_event): New sync object. (mw32-fep-switch-by-key-event): New lisp variable. (mw32_ime_control_init): Initialize fep_switch_event. (mw32_ime_input_method_function_unwind): Set parameter properly to call Ffep_force_off(). (mw32-ime-input-method-function): call redisplay_preserve_echo_area () before set the position of fep window. (fep-force-on): Add new mode that changes FEP state by internally generated windows key event instead of IMM API. This mode is activated when mw32-fep-switch-by-key-event is not nil. (fep-force-off): Ditto. (mw32-fep-switch-by-key-event): New function to control behavior of fep-force-on and fep-force-off. * mw32term.c (SendInputProc): New function pointer for Win32 API. (mw32_send_key_event): New function. (mw32_initialize): Initialize SendInputProc. * mw32term.h (struct INPUT): New struct for SendInput. (struct MOUSEINPUT): Ditto. (struct KEYBDINUT): Ditto. (struct HARDWAREINPUT): Ditto. (SENDINPUTPROC): New typedef. * mw32fns.c (fep_switch_state): New extern. (mw32_WndProc): Set event when FEP switched. (mw32_WndProc): Set event when FEP switched. * callproc.c (call-process): ENCODE_FILE command path. * w32proc.c: New include charset.h, coding.h. (sys_spawnve): Properly handle multibyte characters and path separator. 2005-12-25 Masayuki FUJII * w32.c (normalize_filename): Sync up with Emacs CVS HEAD. See ticket:268. 2005-12-20 Masayuki FUJII * mw32font.c (check_lisp_object_logfont): Use EQ() instead of equation. (mw32_set_encoding_byte_from_charset): type of variable charset is changed. (set_font_frame_param): Add parameter declaration. (Fw32_add_font_internal): Ditto. (Fw32_get_font_info): Ditto. (Fw32_score_logfont_candidates): use XINT(). * process.c (create_process): Use EQ() instead of equation operator. * mw32fns.c: Add function prototypes. (x_rgb_names): Correct a return value. (mw32_WndProc): Use NILP() instead of evaluating value of Lisp_Object as boolean. (Fx_show_tip): type of 3rd argument of try_window() should be 0, not Qnil. (Fmw32_file_dialog): Add parameter declaration. * buffer.c (pdump_global_buffer_p): Use EQ() instead of equation operator. * mw32bdf.c (mw32_get_bdf_font_info): Use make_number() instead of XFASTINT() * w32inevt.c (key_event): Use assignment instead of XSETINT(). * mw32menu.c: Add a function prototype. * lisp.h: Add a function prototype. * mw32reg.c (Fmw32_registry_set): Add parameter declaration. * mw32ime.c: Add function prototypes. (IMMCONTEXTCAR): Use make_number() instead of XFASTINT(). (IMMCONTEXTCDR): Ditto. (immcontext): Use XUINT(). (Fw32_ime_create_conversion_agent): Use make_number() instead of XFASTINT(). (Fw32_ime_get_composition_string): Use make_number() instead of direct assignment. * mw32term.c: Add function prototypes. (Fmw32_get_window_position): Add parameter declaration. (Fmw32_get_scroll_bar_info): Ditto. (note_sync_event): Use EQ() instead of equation operator. (show_or_hide_mouse_cursor): Ditto. (Fw32_get_system_metrics): Add parameter declaration. (Fw32_get_key_state): Ditto. (Fw32_get_mouse_wheel_scroll_lines): Ditto. (FMeadow_version): Ditto. (Fmw32_sh_get_file_info): Ditto. * xfaces.c: Add function prototypes. * sysdep.c (read_input_waiting): Use = operator instead of XSETINT(). 2005-12-13 Kyotaro HORIGUCHI * w32.c (sys_getsockopt): New function. (pfn_getsockopt): New function pointer. (init_winsock): Initialize pfn_getsockopt. * process.c (wait_reading_process_output): Get errno by sys_getsockopt. 2005-12-13 Kyotaro HORIGUCHI * mw32ime.c (IMMGETVIRTUALKEYPROC): New typedef. (ImmGetVirtualKeyProc): New function pointer. (input_method_function_event): New event object. (waiting_on_main_thread): New variable. (input_method_function_string): New variable. (last_ime_keycode): New variable. (last_ime_keymod): New variable. (mw32_ime_get_virtual_key): New function. (mw32_ime_record_keycode): New function. (mw32_ime_set_composition_string): New function. (mw32_get_ime_composition_string): Renamed to mw32_get_ime_result_string. Add process for mw32-ime-input-method-function. (mw32_ime_get_composition_string): New function. (mw32_ime_control_init): Initialize ImmGetVirtualKeyProc and input_method_function_event. (conversion_agent_wndproc): Message renamed to WM_MULE_IMM_GET_RESULT_STRING and ditto about the calling function. (mw32_ime_cancel_input_function): New function. (mw32-ime-input-method-function): New lisp function. (fep-force-on): Detail doc string. (fep-force-off): Ditto. (cmode_list): New static data for imm-get-conversion-status. (imm-get-conversion-status): New lisp function. (w32-set-ime-mode): Changed. * mw32term.c (mw32_message_loop): Record virtual keycode of VK_PROCESSKEY. (mw32_message_loop): Don't enter the loop when lpStr is null. * mw32term.h (WM_MULE_IMM_GET_RESULT_STRING): New symbol. (WM_MULE_IMM_GET_SET_MODE): Numerical ID is shifted. * mw32fns.c (mw32_WndProc): mw32_get_ime_composition_string() is renamed to mw32_get_ime_result_string(). Cancel input method function when no composition string is left. (mw32_WndProc): New message handler. (mw32_WndProc): New message handler. (mw32_create_tip_frame): Don't set tip_frame here. See ticket:253. (x-show-tip): Set tip_frame after complition of frame setup. See ticket:253. 2005-12-13 Kyotaro HORIGUCHI * dispnew.c (adjust_glyphs): Remove W32_BLOCK_INPUT, W32_UNBLOCK_INPUT. (free_glyphs): Ditto. (update_single_window): Ditto. (change_frame_size_1): Ditto. (update_frame): Ditto. Do GET_FRAME_HDC(), RELEASE_FRAME_HDC(). * mw32term.c (main_thread_hdc): New variable. (main_thread_hdc_nestlevel): Ditto. (main_thread_hdc_hwnd): Ditto. (mw32_destroy_frame_hdc): Release main thread DC on destroying the owner frame. (mw32_set_caret): Remove W32_BLOCK_INPUT/W32_UNBLOCK_INPUT. Avoid unnecessary call to message thread. (MW32_update_begin): Changed. Do blocking of caret. (MW32_update_end): Changed. Do unblocking of caret. (MW32_frame_up_to_date): Remove W32_BLOCK_INPUT/W32_UNBLOCK_INPUT. (mw32_get_ime_font_property): Remove treatment for W32_BLOCK_INPUT. (mw32_process_main_thread_message): Removed. (unwind_get_device_capability): Alter RELEASE_TEMP_HDC with RELEASE_FRAME_HDC. (mw32-get-device-capability): Alter GET_TEMP_HDC with GET_FRAME_HDC. * mw32term.h (main_thread_hdc): New extern. (main_thread_hdc_nestlevel): Ditto. (main_thread_hdc_hwnd): Ditto. (struct mw32_output): Rename member hdc_refcount to hdc_nestlevel, message_thread_hdc to hdc. Removed members message_thread_hdc and message_thread_hdc_refcount. (FRAME_HDC): Changed. (GET_FRAME_HDC): Changed. (RELEASE_FRAME_HDC): Ditto. (GET_TEMP_HDC): Removed. (RELEASE_TEMP_HDC): Ditto. (CLEANUP_FRAME_HDC): New macro. (FRAME_HDC_VALID_P): Changed. (update_begin_hook): New extern. (update_end_hook): Ditto. * mw32sync.h (main_thread_id): New extern. (W32_BLOCK_INPUT): Removed. (W32_UNBLOCK_INPUT): Removed. * mw32fns.c (mw32m_new_focus_frame): Variable name for hdc is changed. Remove W32_BLOCK_INPUT/W32_UNBLOCK_INPUT. (mw32_WndProc): Variable names for hdc are changed. (mw32_WndProc): Variable name for hdc is changed. Remove W32_BLOCK_INPUT/W32_UNBLOCK_INPUT. (mw32_WndProc): Synchronizing caret state. (mw32_WndProc): Ditto. (mw32_WndProc): Changed. (x-create-frame): Variable names for hdc are changed. Replace GET_TEMP_HDC with GET_FRAME_HDC. Also for RELEASE_*. (mw32_create_tip_frame)Variable names for hdc are changed. * mw32font.c (mw32_load_lf): Replace GET_TEMP_HDC with GET_FRAME_HDC. Also for RELEASE_*. * image.c (get_image_data_from_icon): Ditto. * xdisp.c (redisplay_internal): Cleanup main thread hdc. * frame.c (delete-frame): Use GET_FRAME_HDC to block message thread as alternative of W32_BLOCK_INPUT. * window.c (delete_window): Remove W32_BLOCK_INPUT/W32_UNBLOCK_INPUT. (set-window-configuration): Ditto. * eval.c (signal): Remove W32_UNBLOCK_INPUT. 2005-12-01 MIYOSHI Masanori * mw32fns.c: Remove redundant spaces. * mw32term.c: Ditto. * mw32ime.c: Ditto. 2005-12-01 MIYOSHI Masanori * mw32fns.c (mw32_real_positions): Correct the screen position of the frame. 2005-12-01 MIYOSHI Masanori * mw32fns.c (mw32_real_positions): Import from x_real_positions() in `macfns.c'. Refer to ticket:247 . 2005-11-29 MIYOSHI Masanori * mw32term.c (mw32_get_ime_font_property): Append a closing parenthesis. 2005-11-29 MIYOSHI Masanori * mw32term.c (mw32_get_ime_font_property): Get the first character position on the current line as an interger instead of a lisp object. Refer to ticket:250. 2005-11-29 Kyotaro HORIGUCHI * w32proc.c (sys_select): Enable to detect connection error of non-blocking connect. 2005-11-26 MIYOSHI Masanori * Sync up with Emacs CVS HEAD. 2005-11-25 Kyotaro HORIGUCHI * mw32term.c (MW32_update_begin): W32_UNBLOCK_INPUT to avoid dead-lock with WM_PAINT. 2005-11-24 Kyotaro HORIGUCHI * mw32term.h (FRAME_HDC): Returns INVALID_HANDLE_VALUE for non-window frame. Fixed ticket:243. (GET_FRAME_HDC): Ditto. (GET_TEMP_HDC): Ditto. (RELEASE_FRAME_HDC): Do nothing for non-window frame. (RELEASE_TEMP_HDC): Ditto. * mw32term.c (mw32_fill_area_pix): Remove workaround code. * mw32fns.c (x_set_tool_bar_lines): Don't call mw32_clear_native_frame_area for non-window frame. * mw32fns.c (mw32_create_tip_frame): Initialize hdc critical section for tooltip frame. 2005-11-24 Kyotaro HORIGUCHI * mw32term.c (mw32_set_caret): W32_UNBLOCK_INPUT after the finishing of process in window procedure. Don't BLOCK/UNBLOCK caret when this frame does not use caret. (MW32_update_begin): Synchronize with processing of WM_PAINT. (mw32_free_frame_resources): Delete critical section object. * mw32fns.c (mw32_WndProc): Change hdc handling. (mw32_WndProc): Process expose_frame in this thread and synchronize with WM32_update_begin. (x-create-frame): Initialize critical section object. * mw32term.h (struct mw32_output): New member hdc_critsec. (RELEASE_TEMP_HDC): Bug fix. 2005-11-23 Masayuki FUJII * image.c (get_image_data_from_icon): Use GET/RELEASE_TEMP_HDC because this function is sometimes called in main thread. * mw32term.c (mw32_fill_area_pix): Work around ticket:243 2005-11-21 MIYOSHI Masanori * mw32fns.c (mw32_real_positions): Call AdjustWindowRectEx() instead of AdjustWindowRect(). (mw32_check_fullscreen): Don't increment the width and the height of the frame. (mw32_check_fullscreen): Don't maximize the frame with `WM_SYSCOMMAND'. (mw32_WndProc): Call mw32_real_positions(). (mw32_WndProc): Ditto. (mw32_WndProc): Call AdjustWindowRectEx() instead of AdjustWindowRect(). * frame.c (x_set_frame_parameters): Undo the last change. 2005-11-20 Masayuki FUJII * mw32term.c (mw32_fill_area_pix): Use GET/RELEASE_FRAME_HDC because this function is sometimes called in main thread. (mw32_draw_hollow_cursor): Ditto. (mw32_draw_fringe_bitmap): Ditto. 2005-11-18 Kyotaro HORIGUCHI * mw32term.h (struct mw32_output): New member hdc_refcount, message_thread_hdc_refcount, select_event. (FRAME_HDC): Change the manner of getting hdc. (GET_FRAME_HDC_LEVEL_LIMIT): New constant. (GET_FRAME_HDC): New macro. (GET_TEMP_HDC): New macro. (RELEASE_FRAME_HDC): New macro. (RELEASE_TEMP_HDC): New macro. (WITH_MESSAGE_THREAD_HDC): New macro. (MW32_BLOCK_CARET): New macro. (MW32_UNBLOCK_CARET): New macro. (WM_EMACS_EXPOSE_FRAME): New message. * mw32term.c (mw32_anticipate_overwrite_caret): Removed. (mw32_restore_overwritten_caret): Ditto. (mw32_destroy_frame_hdc): Deleted. Cease hdc pooling. (mw32_set_caret): Hiding caret synchronously. (windows_in_frame_redrawn): Variable removed. (MW32_update_begin): Totally rewritten. (MW32_update_end): Ditto. Don't call mw32_update_frame_alpha. (mw32_update_frame_alpha): Cease force redrawing. (mw32i_update_window_begin): Changed. (mw32i_update_window_end): Caret control is moved into MW32_update_end. (mw32_update_alpha_hint): Lisp variable removed. (mw32_write_glyphs): Don't call mw32_anticipate_overwrite_caret. (mw32_insert_glyphs): Ditto. (mw32_clear_end_of_line): Cease controllng caret. (MW32_set_vertical_scroll_bar): Get/Release hdc when needed. (mw32_process_main_thread_message): New message handler. Do expose_frame in main thread. (show_or_hide_mouse_cursor): Alter parameter dpyinfo by f. Call clear_mouse_face with message_thread_hdc. (mw32_message_loop): Position of show_or_hide_mouse_cursor is moved backwards. (mw32_free_frame_resources): CloseHandle for new member setcaret_event. (unwind_get_device_capability): New function. (mw32-get-device-capability): Change the manner to get hdc. * mw32fns.c (mw32_update_frame_alpha): Remove parameter updated_p. (mw32_set_frame_alpha): Ditto. (mw32_WndProc): Ditto. (x_set_tool_bar_lines): Get and release hdc when needed. (mw32_WndProc): Request main-thread executing expose_frame rather than myself. (mw32_WndProc): Signal event object when processing done. (x-create-frame): Add initialization of output_data.mw32->hdc_refcount, message_thread_hdc_refcount, setcaret_event. Get and release hdc for initialize use. * mw32font.c (mw32_set_windows_logical_font): Change the manner of getting hdc. (mw32_load_lf): Get and release hdc by myself. * dispnew.c (direct_output_forward_char): Get hdc, don't call mw32_update_frame_alpha. * xdisp.c (redisplay_internal): Get hdc by myself. (ALLOCATE_HDC): Tune to new hdc handling. (RELEASE_HDC): Ditto. (message_thread_hdc_backup): Variable removed. (erase_phys_cursor): Don't store hdc internally. (display_and_set_cursor): Block caret. Tune to new hdc/caret handling. (show_mouse_face): Ditto. 2005-11-16 Kyotaro HORIGUCHI * mw32term.c (windows_in_frame_redrawn): New variable. Modify the algorithm to detect window modification. (mw32i_update_window_begin): Ditto. And remove meaningless code. (MW32_update_end): Ditto. (mw32i_update_window_end): Ditto. And remove meaningless code. * dispnew.c (direct_output_forward_char): Supress unnecessary redrawing when cursor type is caret cursor. * xdisp.c (display_and_set_cursor): Don't call erase_phys_cursor for caret cursor. * w32proc.c (sys_select_socket): Bug fix. Initialize variable. 2005-11-15 Kyotaro HORIGUCHI * mw32term.c (mw32i_update_window_begin): Don't process for deleted frame. (mw32i_update_window_end): Ditto. (mw32_update_frame_alpha): Add new parameter updated_p. Avoid excessive WM_PAINT when alpha >= 0. (MW32_update_end): Ditto. * mw32fns.c (mw32_update_frame_alpha): Change prototype. (mw32_set_frame_alpha): Ditto. (mw32_WndProc): Ditto. (mw32_window): Ditto. * dispnew.c (direct_output_forward_char): Ditto. * xdisp.c (get_window_cursor_type): Bug fix for previous change. * w32.c (sys_select_socket): Return 0 when no fd is specified. * w32proc.c (sys_select): Return error when sys_select_socket failes. 2005-11-14 MIYOSHI Masanori * mw32term.c (mw32_encode_char): For DIM=1 charset, set ccl->reg[2] to -1 before calling ccl_driver. Refer to ticket:229. 2005-11-14 Kyotaro HORIGUCHI * w32.c (sys_single_select_nowait): Deleted. Change the method by which asynchronous connect is treated. See ticket:233. (sys_select_socket): New function. Ditto. * w32proc.c (sys_select): Use sys_select_socket instead of sys_single_select_nowait. Ditto. 2005-11-14 Kyotaro HORIGUCHI * w32proc.c (sys_select): Initialize o[rw]fds when [rw]fds is NULL. Check owfds independent of orfds. * mw32term.c (mw32i_update_window_end): Suppress redundant use of XFRAME(). (MW32_update_end): Synchronizing caret state. Fixed ticket:230. * xdisp.c (get_window_cursor_type): Replace caret-cursor with hollow-box-cursor for non-selected window. Fixed ticket:231. 2005-11-13 MIYOSHI Masanori * mw32fns.c (mw32_real_positions): Normalize coding style. (mw32_check_fullscreen): Ditto. (mw32_check_fullscreen): Don't turn on `async_visible' of the frame explicitly. (mw32_check_fullscreen): Correct the top-left position of the frame. (mw32_WndProc): New section. Refer to ticket:160. 2005-11-13 Kyotaro HORIGUCHI * w32.c (pfn_fd_set): New typedef. (pfn_select): New variable for platform function. (init_winsock): New initialize for pfn_select. (set_errno): New errocode WSAEWOULDBLOCK (EINPROGRESS). (sys_single_select_nowait): New function. * w32proc.c (sys_select): Handles asynchronous connect. 2005-11-11 MIYOSHI Masanori * mw32fns.c (mw32_WndProc): Mask the value of wParam with 0xFFF0 to get the type of system command requested. 2005-11-11 Kyotaro HORIGUCHI * process.c (mw32-set-pty-flag): Set pty_flag by t/nil but 1/0. 2005-11-10 MIYOSHI Masanori * mw32fns.c (mw32_WndProc): Normalize coding style. 2005-11-08 MIYOSHI Masanori * mw32fns.c (mw32_real_positions): Normalize coding style. (mw32_check_fullscreen): Check if the full screen is required or not strictly. When the full width or full height is required, arrange the frame size on its own. (mw32_WndProc): Check if the full screen is required or not strictly. Refer to ticket:196. 2005-11-05 MIYOSHI Masanori * mw32clpbd.c (last_clipboard_text_size): New variable. (Fw32_set_clipboard_data): Keep the size of the clipborad data in `last_clipboard_text_size'. (Fw32_set_clipboard_data): Reset `last_clipboard_text_size'. (Fw32_get_clipboard_data): Check if the size of the clipborad data is equal to the last one. Refer to ticket:196. 2005-11-03 Kyotaro HORIGUCHI * ccl.h (struct ccl_program): Cancel previous change. * ccl.c (setup_ccl_program): Ditto. (check_ccl_update): Ditto. * mw32erm.c (mw32_encode_char): Check ccl program update. 2005-11-03 Kyotaro HORIGUCHI * ccl.h (struct ccl_program): Add new member alloc_size. * ccl.c (setup_ccl_program): Copy ccl_program from lisp object on ccl setup. (check_ccl_update) : Ditto. 2005-11-03 MIYOSHI Masanori * image.c (define_imagemagick_type): Ignore Encapsulated PostScript related formats, which ImageMagick cannot handle correctly. Refer to ticke:209. 2005-11-03 MIYOSHI Masanori * image.c (Fmw32_get_image_magick_extensions): Ignore Encapsulated PostScript related formats, which ImageMagick cannot handle correctly. Refer to ticke:209. 2005-11-02 MIYOSHI Masanori * Sync up with Emacs CVS HEAD. 2005-11-01 Shun-ichi GOTO * emacs.c (bug_reporting_address, REPORT_MEADOW_BUG_ADDRESS): Defined a bug reporting email address for meadow and use it without emacs's address selection logic which brings abend. See ticket:157 for more detail. 2005-11-01 Masayuki FUJII * mw32term.c (mw32_calc_absolute_position): Convert bottom-right to top-left coordinate within screen, not within working area. 2005-11-01 MIYOSHI Masanori * mw32fns.c (mw32_check_fullscreen): Don't maximize the frame when the frame is iconified and set `async_visible' 1. (mw32_WndProc): Set the FULLSCREEN_BOTH bit of `want_fullscreen'. (mw32_WndProc): Don't rearrange the frame size if the FULLSCREEN_BOTH bit of `want_fullscreen' is 1. (mw32_WndProc): New section. * mw32term.c (x_set_window_size): Simplify the expression to calculate `scroll_bar_actual_width' of the frame. * frame.c (x_set_frame_parameters): Don't call Fset_frame_size() if `want_fullscreen' of the frame is true to keep it fullscreen. 2005-11-01 Kyotaro HORIGUCHI * mw32term.c (mw32_calc_absolute_position): Relocate frame position within desctop when mw32-restrict-frame-position is non-nil. Bug fix for previous change. See ticket:212. (mw32-restrict-frame-position): New variable. * mw32fns.c (mw32m_create_frame_window): Remove code for frame reallocation. (mw32_WndProc): mw32_get_ime_reconversion_length has been united with mw32_get_ime_reconversion_string. * mw32ime.c (mw32_get_ime_reconversion_string): Give up reconversion for read-only text. See ticket:218. (mw32_get_ime_reconversion_length): Removed, united with mw32_get_ime_reconversion_string. 2005-10-28 Kyotaro HORIGUCHI * mw32term.c (mw32-get-window-position): New lisp function. (mw32_update_frame_alpha): Cast the parameter to suppress the warning. * mw32fns.c (mw32m_create_frame_window): Prevent the title bar from overlapping with the task bar at the top of the screen on creating frame. (mw32_WndProc): Cast the parameter to suppress the warning. 2005-10-26 Kyotaro HORIGUCHI * mw32term.c (WM_EMACS_UPDATE_ALPHA): New message. (mw32_update_frame_alpha): Change definition. Allow changing window style as usual function. Inhibit changing state on main thread. See ticket:210. (MW32_update_end): Definition of mw32_update_frame_alpha is changed. * mw32fns.c (mw32_set_frame_alpha): Allow nil as part of alpha value list. Don't call mw32_update_frame_alpha. See ticket:210. (mw32_WndProc): Definition of mw32_update_frame_alpha is changed. (mw32_WndProc): New message handler. (mw32_window): Definition of mw32_update_frame_alpha is changed. * dispnew.c (direct_output_forward_char): Ditto. 2005-10-19 Kyotaro HORIGUCHI * dispnew.c (direct_output_forward_char): Call mw32_update_frame_alpha() to refresh display when frame alpha is used. Fixed ticket:210 * mw32term.c (show_or_hide_mouse_cursor): Suppress unnecesary timer creation. (show_or_hide_mouse_cursor): Delete timer when the mouse cursor is hidden. 2005-10-21 Masayuki FUJII * mw32term.c (mw32_calc_absolute_position): Implement this function. (x_set_offset): Set negative offsets correctly. 2005-10-19 Kyotaro HORIGUCHI * mw32term.c (show_or_hide_mouse_cursor): Reconstruct code. See ticket:205 . (show_or_hide_mouse_cursor): Don't change current_cursor of current frame when leaving client area. (w32-hide-mouse-stickiness): New variable. See ticket:205 (w32-hide-mouse-timeout): Change meaning. See ticket:205 (w32-hide-mouse-on-key): Ditto. (w32-hide-mouse-by-wheel): Ditto. 2005-10-18 MIYOSHI Masanori * mw32fns.c (mw32_check_fullscreen): Turn the process over to Windows to work around ticket:188. (mw32_WndProc): Don't restrict the frame size to work around ticket:188. 2005-10-18 Kyotaro HORIGUCHI * mw32term.c (mw32_hide_mouse_by_wheel): Change type to Lisp_Object. (show_or_hide_mouse_cursor): Lower sensitivity to mouse motion when hide mouse cursor by wheel rotaion. 2005-10-16 MIYOSHI Masanori * mw32fns.c (Fx_create_frame): Suppress compilation warnings. Remove redundant spaces. * mw32term.c (mw32_update_frame_alpha): Ditto. 2005-10-16 MIYOSHI Masanori * mw32term.c (MW32_set_vertical_scroll_bar): Partially sync up with Emacs CVS HEAD to fix ticket:194. 2005-10-16 Kyotaro HORIGUCHI * mw32term.c (mw32-update-alpha-hint): New LISP variable. (mw32_update_frame_alpha): Use mw32-update-alpha-hint to select redrawing method. 2005-10-15 MIYOSHI Masanori * mw32menu.c (set_frame_menubar): Call x_set_window_size() to fix #189. This forces the window size to be recomputed if menubar has just been created. 2005-10-15 Kyotaro HORIGUCHI * alloc.c (PDUMP_POINTERS_SIZE): Expanded from 127 to 255. * mw32fns.c (mw32_WndProc): Don't simply break here. It is necessary to call DefWindowProc() for this message. (mw32_WndProc): Ditto. * mw32term.c (mw32_update_frame_alpha): Suppress excessive call of SetLayeredWindowAttributes(). (w32-hide-mouse-by-wheel): New varilable. (show_or_hide_mouse_cursor): Add function to hide mouse cursor on mouse wheel rotation. 2005-10-15 Masayuki FUJII * mw32fns.c (file_dialog_callback): Flags of open file dialog are modified when file type is changed. 2005-10-15 Kyotaro HORIGUCHI * mw32term.c (mw32_update_frame_alpha): Avoid excessive call of SetLayeredWindowAttributes() on moving layered window. 2005-10-14 Kyotaro HORIGUCHI * alloc.c (PDUMP_SUBR_DOC_SIZE): Expand to 1100. * mw32term.c (mw32_load_cursor): New external function. * mw32ime.c (ImmIsIMEProc): New Win32 API. (mw32-ime-available): New function. (mw32-input-langunage-code): New function. * mw32fns.c (mw32_init_app): Don't set window class cursor. (x-create-frame): Load IDC_ARROW cursor when failed to load IDC_HAND. Windows NT, 95 does not has IDC_HAND cursor. (mw32_real_positions): New function imported from w32fns.c. (mw32_check_fullscreen): New function imported from w32term.c. (mw32_WndProc): New message handler. (mw32_WndProc): New message handler. 2005-10-14 Hideyuki SHIRAI * mw32term.h (IDC_HAND): New constant for Win32 API. 2005-10-13 Kyotaro HORIGUCHI * mw32term.h (mw32_alpha_type): New enumeration. (struct mw32_output): Remove *_alpha except current_alpha, and add alpha[]. Add new member current_cursor; * mw32term.c (mw32_update_frame_alpha): Refine code and sadd upport of alpha of resizing window. (show_or_hide_mouse_cursor): Set mouse cursor. (show_or_hide_mouse_cursor): Restore mouse cursor when leaving. (mw32_define_frame_cursor): Set current cursor. (mw32_term_init): Initialize mouse cursor image. * mw32fns.c (CHECK_ALPHA_RANGE): New macro. (mw32_set_frame_alpha): Refine code and sadd upport of alpha of resizing window. Remove excessive whitespaces. (mw32_WndProc): Immediately udpate alpha. (mw32_WndProc): Immediately udpate alpha. (mw32_WndProc): Refine. (mw32_WndProc): New event handler. (mw32_WndProc): Ditto. (x-create-frame): Following changes of mw32_output. Initialize mouse cursor images. (mw32_load_cursor): New function copied from w32fns.c. 2005-10-12 Masayuki FUJII * mw32term.h (WS_EX_LAYERED): Avoid redefining this macro. (LWA_ALPHA): Ditto. 2005-10-12 Kyotaro HORIGUCHI * mw32term.h(SETLAYEREDWINDOWATTRPROC): New typedef. (WS_EX_LAYERED): New constant for Win32 API. (LWA_ALPHA): New constant for Win32 API. (WM_EMACS_HIDE_TOOLTIP): New message. * mw32term.c: Remove include windows.h. (mw32_initialize): Setup SetLayeredWindowAttributes() of user32.dll. (mw32_process_main_thread_message): New message handler to hide tooltip. (show_or_hide_mouse_cursor): Send WM_EMACS_HIDE_TOOLTIP to main thread to hide tooltip on hiding mouse cursor. * mw32fns.c: Remove include windows.h. (mw32_set_frame_alpha): Return if SetLayeredWindowAttributes cannot be used. 2005-10-12 Kyotaro HORIGUCHI * mw32term.c: (show_or_hide_mouse_cursor): Do mouse-face control. (mw32_message_loop): Move code about mouse-face hiding into show_or_hide_mouse_cursor. * xdisp.c (erase_phys_cursor): Now message_thread_hdc here is not from BeginPaint(), so let it be used when valid. Re-get main thread hdc when hdc is invalidated. Move position of the code block to cover draw_phys_cursor_glyph(). Fixed ticket:166 2005-10-12 Kyotaro HORIGUCHI * mw32fns.c: include to use (mw32_inhibit_hide_mouse): New extern. (Fmw32_file_dialog): Inhibit hiding mouse cursor when displaying dialogue. Fixed ticket: 164 * mw32term.c: include to use (mw32_inhibit_hide_mouse): New varialbe. (show_or_hide_mouse_cursor): Inhibit hiding mouse cursor when mw32_inhibit_hide_mouse is not 0. 2005-10-12 Kyotaro HORIGUCHI * frame.c (frame_parms): New frame parameter "alpha". * mw32fns.c: include to use SetLayeredWindowAttributes. (Qalpha): New symbol. (mw32-frame-alpha-lower-limit): New LISP variable. (mw32_update_frame_alpha): New extern. (mw32_set_frame_alpha): New function. (mw32_WndProc): New message handler. (mw32_window): Setup initial frame alpha. (x-create-frame): Initiallize frame parameters *-alpha. (mw32i_frame_parm_handlers): Add frame parm handler mw32_set_frame_alpha. * mw32term.h(struct mw32_output): New four members active_alpha, inactive_alpha, moving_alpha, and current_alpha. * mw32term.c: include to use SetLayeredWindowAttributes. (mw32_update_frame_alpha): New function. (MW32_update_end): Refresh layered window when frame alpha is set. 2005-10-12 Kyotaro HORIGUCHI * mw32term.c (MW32_MOUSE_HIDE_TIMER_ID): New constant; (show_or_hide_mouse_cursor): Use timer to perform hiding mouse cursor by timeout. Fixed ticket: 182 2005-10-05 Masayuki FUJII * minibuf.c (Fminibuffer_complete_word): Add GCPRO. 2005-10-02 MIYOSHI Masanori * Sync up with Emacs CVS HEAD. 2005-10-01 MIYOSHI Masanori * mw32term.c (mw32_draw_rectangle): New function. (mw32_draw_glyph_string_foreground): Call mw32_draw_rectangle() instead of Rectangle() to fix #168. (mw32_draw_composite_glyph_string_foreground): Ditto. 2005-09-27 Masayuki FUJII * makefile.mw32-in (depend): Output file is renamed. Update dependency. 2005-09-23 Masayuki Fujii * mw32term.c (Fw32_set_modifier_key): Check virtkey instead of key. 2005-09-21 Kyotaro HORIGUCHI * mw32term.c (w32-ansi-code-page): New Lisp variable. (syms_of_mw32fns): Set w32-ansi-code-page. This variable affects the behavior of set-locale-environment. 2005-09-20 Masayuki FUJII * fileio.c (Fread_file_name): Sync UP with Emacs CVS. Pass Qt as fifth parameter to Fmw32_file_dialog if only directly. * mw32fns.c (Fmw32_file_dialog): Add fifth argument `only_dir_p'. 2005-09-20 Shun-ichi GOTO * makefile.mw32-in (ALLOBJS): Removed using of obsoleted macro OBJ2. ($(TEMACS)): Likewise. 2005-09-19 Masayuki FUJII * makefile.mw32-in (install): Copy buildobj.lst to $(INSTALL_DIR)/bin for dump.bat. 2005-09-18 MIYOSHI Masanori * xdisp.c (erase_phys_cursor): Undo the last change concerned with `message_thread_hdc'. 2005-09-17 Masayuki FUJII * makefile.meadow.w32-in: Removed. * makefile.nt: Ditto. 2005-09-16 Kyotaro HORIGUCHI * mw32term.c (MW32_update_end): Avoid using f->output_data.mw32 before creation of frame. 2005-09-15 Kyotaro HORIGUCHI * xdisp.c (set_glyph_string_background_width): Condition on background color cause garbage background at the end of display line. Disable this check. * fileio.c (expand-file-name): Bug fix for multibyte default-directory syncing up with Emacs CVS HEAD (1.554) (auto_save_error): Pass copy of lisp string to message2 syncing up with Emacs CVS HEAD. (1.553) * coding.c (code_convert_region_unwind): Sync up with Emacs CVS HEAD(1.325). Argument format changed. (run_pre_post_conversion_on_str): Sync up with Emacs CVS HEAD(1.325). If pre-write-conversion function changed the current buffer, delete the new buffer. (run_pre_write_conversin_on_c_str): Likewise. * mw32term.h (Vw32_system_coding_system): removed. (Vlocale_coding_system): New extern in replace of Vw32_system_coding_system. Fixed ticket:130 * mw32term.c (mw32-sh-get-file-info): Use locale-coding-system instead of obsolete variable w32-system-coding-system. * mw32fns.c (mw32_set_name): Ditto. (mw32_set_title): Ditto. (mw32-file-dialog): Ditto. (mw32-file-dialog): Ditto. * mw32ime.c (mw32_get_ime_reconversion_length): Ditto. (mw32_get_ime_reconversion_string): Ditto. (w32-ime-register-word-dialog): Ditto. (w32-ime-set-composition-string): Ditto. (w32-ime-get-composition-string): Ditto. (w32-ime-get-candidate-list): Ditto. * mw32reg.c (registry_to_reg_sz_size): Ditto. (registry_to_reg_sz): Ditto. (mw32-registry-list-keys): Ditto. (mw32-registry-list-values): Ditto. (mw32-registry-get): Ditto. (mw32-registry-delete-key): Ditto. (mw32-registry-delete-value): Ditto. (mw32-registry-create-key): Ditto. (mw32-registry-set): Ditto. * mw32menu.c (appendmenu_encode): Ditto. (modifymenu_encode): Ditto. (insertmenu_encode): Ditto. (add_menu_item): Ditto. * mw32mci.c (mw32-mci-send-string): Ditto. (mw32-mci-get-error-string): Ditto. * w32proc.c (Vw32_system_coding_system): Removed. (Vlocale_coding_system): New extern in replace of Vw32_system_coding_system. (w32-get-locale-info): Use locale-coding-system instead of obsolete variable w32-system-coding-system. * mw32font.c (Vw32_system_coding_system): Removed. (logfont_to_lisp_object): Use locale-coding-system instead of obsolete variable w32-system-coding-system. (encode_logfont_name): Ditto. (mw32_enumfontfamilyproc): Ditto. (w32-enum-logfont): Ditto. (syms_of_mw32font): Remove definition of w32-system-coding-system. * coding.h (ENCODE_SYSTEM): Use locale-coding-system instead of obsolete variable w32-system-coding-system. (DECODE_SYSTEM): Ditto. (Vw32_system_coding_system): removed. 2005-09-14 Kyotaro HORIGUCHI * mw32fns.c (mw32_WndProc): Bug fix. Cope with sudden switch of frame without WM_KILLFOCUS and occasional failure of ShowCaret (). Fixed ticket:151 * mw32term.h (TOBESHOWN_CARET): Ditto, New symbol. (MW32_FRAME_CARET_STATE2): Ditto, New macro. * mw32ime.c: Fix type of return values. 2005-09-10 MIYOSHI Masanori * Sync up with Emacs CVS HEAD. 2005-09-08 MIYOSHI Masanori * mw32term.c (mw32_message_loop): Set `keyboard_handle' to the signaled state. 2005-09-08 MIYOSHI Masanori * xdisp.c (show_mouse_face): Don't show the mouse face when dpyinfo->mouse_face_window is nil. 2005-09-04 Masayuki FUJII * makefile.mw32-in (bootstrap-clean): Don't remove ../bin/Meadow.dmp. (bootstrap-emacs): Don't copy Meadow.exe and Meadow.tmp to ../bin. 2005-09-03 MIYOSHI Masanori * makefile.mw32-in (WIN32OBJ): Remove the redundant object. 2005-09-03 MIYOSHI Masanori * mw32menu.c: Declare function prototypes with arguments. (single_menu_item): Remove the last argument. (single_keymap_panes): Remove the codes related with `notbuttons'. 2005-09-03 MIYOSHI Masanori * mw32menu.c (add_menu_item): Draw graphical radio buttons and tickboxes. (single_menu_item): Don't draw text-based radio buttons and tickboxes. (mw32menu_show): Call add_menu_item() with `type' and `selected' to draw graphical radio buttons and tickboxes. 2005-09-03 MIYOSHI Masanori * mw32menu.c: Sync up with Emacs CVS HEAD. 2005-09-03 Kyotaro HORIGUCHI * process.c (Fmw32_set_pty_flag): New Lisp function. (create_process): Correct data type of Vmw32_process_expects_pty. Set process under setup to Vmw32_process_under_setup. * callproc.c (Vmw32_process_under_setup): New Lisp variable. (Fcall_process): Set nil to Vmw32_process_under_setup. 2005-09-02 Masayuki FUJII * makefile.mw32-in: New file. 2005-09-02 MIYOSHI Masanori * mw32menu.c (single_menu_item): Add a prefix to not only the item name but the pane name. 2005-09-02 MIYOSHI Masanori * mw32term.c (mw32_message_loop): New argument `leftover'. Thanks to pooh . (mw32_async_handle_message): Don't call WaitMessage() if `leftover' which is obtained in mw32_message_loop() is false. Thanks to pooh . 2005-09-01 MIYOSHI Masanori * mw32term.c (glyph_rect): Sync up with Emacs CVS HEAD. 2005-08-27 MIYOSHI Masanori * Sync up with Emacs CVS HEAD. 2005-08-26 MIYOSHI Masanori * mw32term.c (mw32_message_loop): Don't set `keyboard_handle' to the signaled state. Thanks to ISHIKURA Hiroyuki . (mw32_async_handle_message): Set `keyboard_handle' to the signaled state. Thanks to ISHIKURA Hiroyuki . 2005-08-26 MIYOSHI Masanori * mw32term.c (mw32_async_handle_message): Don't call WaitForSingleObject(). This is quite redundant. 2005-08-25 Kyotaro HORIGUCHI * mw32term.c (mw32_scroll_bar_handle_click): Revert the method of convert scroll bar range. (mw32_scroll_bar_inhibit_set_handle): Removed. Use bar->dragging instead. (mw32-get-scroll-bar-info): New emacs function. (mw32-initialize): Correct comment format. * termhooks.h (enum scroll_bar_part): New part scroll_bar_handle_position. * keyboard.c (Qhandle_position): New symbol. (scroll_bar_parts): Add Qhandle_position. 2005-08-24 Kyotaro HORIGUCHI * mw32term.c (mw32_scroll_bar_inhibit_set_handle): New variable. (mw32_scroll_bar_handle_click): Calculate range of scroll bar using page size so as to make fit with real scroll range. Inhibit changing ranges of scrollbar during scrolling buffer with thumbtrack. (mw32_scroll_bar_set_handle): Inhibit changing ranges of scrollbar during scrolling buffer with thumbtrack. 2005-08-23 MIYOSHI Masanori * mw32fns.c (x_old_rgb_names): Support new pixel format, "#RRGGBBAA". Thanks to yamazaki-k@mwe.biglobe.ne.jp. 2005-08-23 MIYOSHI Masanori * mw32font.c (logfont_to_lisp_object): Don't use XFASTINT() to get the first argument for Flist(). Use an integer instead. Thanks to yamazaki-k@mwe.biglobe.ne.jp. (mw32_enumfontfamilyproc): Ditto. 2005-08-20 MIYOSHI Masanori * image.c (syms_of_image): Add image type of XPM in Meadow environment. 2005-08-20 MIYOSHI Masanori * Sync up with Emacs CVS HEAD. 2005-08-11 MIYOSHI Masanori * image.c (imagemagick_get_bits_per_pixel): Return 24 when the image type is GrayscaleType. 2005-08-06 MIYOSHI Masanori * Sync up with Emacs CVS HEAD. 2005-08-06 MIYOSHI Masanori * mw32font.h (struct MW32LogicalFont): New member `max_width'. (FONT_MAX_WIDTH): New macro. * mw32font.c (mw32_set_windows_logical_font): Initialize `plf->max_width'. (set_font_info): Initialize `fontp->size' with FONT_MAX_WIDTH() instead of FONT_MAX_WIDTH(). 2005-07-31 MIYOSHI Masanori * image.c (define_imagemagick_type): Add comment. Don't add the image type which has already defined. (init_image): Undo the last change. Don't define the image type which has already defined. Fix comment. 2005-07-31 MIYOSHI Masanori * image.c (init_image): Initialize ImageMagick after the definition of BMP. 2005-07-31 MIYOSHI Masanori * image.c: Remove redundant spaces. 2005-07-25 MIYOSHI Masanori * image.c (XPM_find_next_line): Consider other EOL types, such as `dos' and `mac'. Normalize coding style and remove redundant spaces. 2005-07-21 MIYOSHI Masanori * mw32fns.c (mw32_change_window_heights): Removed. (x_set_menu_bar_lines): Sync up with Emacs CVS HEAD. (x_set_tool_bar_lines): Ditto. (Fx_create_frame): Ditto. 2005-07-17 MIYOSHI Masanori * mw32bdf.c: Normalize coding style and remove redundant spaces. * mw32bdf.c: Ditto. * mw32bdf.h: Ditto. * mw32clpbd.c: Ditto. * mw32dl.h: Ditto. * mw32fns.c: Ditto. * mw32font.c: Ditto. * mw32font.h: Ditto. * mw32ime.c: Ditto. * mw32mci.c: Ditto. * mw32mci.h: Ditto. * mw32mem.c: Ditto. * mw32menu.c: Ditto. * mw32oime.c: Ditto. * mw32reg.c: Ditto. * mw32term.c: Ditto. * mw32term.h: Ditto. * ChangeLog.Meadow: Ditto. 2005-07-13 MIYOSHI Masanori * image.c (resolve_mask_color): Don't destroy pixel iterators in use. 2005-07-10 Kyotaro HORIGUCHI * w32proc.c (sys_spawnve): Don't use LISP string object directly being pointed by C pointer here because GC may move the object on Ffuncall(call1) used after here. 2005-07-10 MIYOSHI Masanori * image.c (init_image): Don't entry XPM and BMP to avoid duplicated definitions. 2005-07-09 Kyotaor HORIGUCHI * mw32term.c (update_mouse_cursor): Renamed to show_or_hide_mouse_cursor. (show_or_hide_mouse_cursor): Renamed from update_mouse_cursor and gathering codes to controlling mouse cursor visibility. (mw32_message_loop): Moved codes controlling mouse cursor visiblity into show_or_hide_mouse_cursor(). (mw32_message_loop): Ditto. 2005-07-05 Kyotaor HORIGUCHI * mw32fns.c (WndProc): Move codes abount hdc from expose_frame to here because of change of definition of expose_frame. Use hdc get with GetDC () instead of BeginPaint () for message_thread_hdc because of unnecessary clipping of region. * xdisp.c (expose_frame): Ditto. (erase_phys_cursor): Delete codes obsoleted by this change. * mw32term.c (safe_SaveDC): Correct misspelling of comment. 2005-07-05 Kyotaor HORIGUCHI * mw32term.c (safe_SaveDC): New function to retry SaveDC up to 5 times on failure. (SaveDC): New macro to replace original SaveDC() to safe_SavceDC(). * w32term.c (SaveDC): Ditto. * xdisp.c (SaveDC): Ditto. 2005-07-03 Kyotaor HORIGUCHI * mw32term.c (Fmw32_get_device_capability): Use BITSPIXEL and PLANES instead of NUMCOLORS of GetDeviceCaps() to get number of available colors because NUMCOLORS returns unexpected value for Windows remote desktop. (x_set_window_size): Actual scroll bar width is FRAME_CONFIG_SCROLL_BAR_WIDTH (f) if it has a valid value. * mw32fns.c (Fx_display_color_cells): Ditto. 2005-06-28 MIYOSHI Masanori * image.c: Sync up with Emacs CVS HEAD. (imagemagick_image_type_lisp_symbol): Don't protect symbols that have already been protected from GC. * mw32fns.c (mw32_decode_color): Made external. (enum image_value_type): Moved to `image.h'. (struct image_keyword): Ditto. (make_image): Ditto. (free_image): Ditto. (prepare_image_for_display): Ditto. (image_ascent): Ditto. (mw32_destruct_image): Ditto. (mw32_alloc_image_color): Ditto. (mw32_create_image_simple): Ditto. (make_image_cache): Ditto. (free_image_cache): Ditto. (clear_image_cache): Ditto. (Fclear_image_cache): Ditto. (postprocess_image): Ditto. (lookup_image): Ditto. (cache_image): Ditto. (forall_images_in_image_cache): Ditto. (mw32_find_image_file): Ditto. (mw32_map_image_file): Ditto. (slurp_file): Ditto. (bmp_*): Ditto. (magick_*): Ditto. (xpm_*): Ditto. (mw32_image_to_fullcolor): Ditto. (mw32_cross_disabled_image): Ditto. (mw32_disable_image): Ditto. (mw32_detect_edges): Ditto. (mw32_laplace): Ditto. (mw32_emboss): Ditto. (mw32_edge_detection): Ditto. (syms_of_mw32fns): Remove the definition of moved functions. (init_mw32fns): Ditto. * mw32term.c (mw32_setup_image_bitmap_handle): Made external. * dispextern.h (XImagePtr_or_DC): New type definition. (struct image): New member: background, background_transparent background_valid an background_transparent_valid. * alloc.c (NSTATICS): Increased. 2005-06-25 Kyotaro HORIGUCHI * mw32fns.c (mw32_find_image_file): Change the comment following removal of mw32-bitmap-file-path. 2005-06-25 Kyotaro HORIGUCHI * mw32fns.c (mw32_WndProc): Don't block UNBLOCK_CARET when the caret is being bloked. * xdisp.c (erase_phys_cursor): Use hdc of main thread to erase cursor region. 2005-06-25 MIYOSHI Masanori * image.c: Sync up with Emacs CVS HEAD. (check_x_frame): Define `check_x_frame' and `Bitmap_Record' for Meadow. * mw32fns.c (x_bitmap_height): Moved to `image.c'. (x_bitmap_width): Ditto. (x_bitmap_pixmap): Ditto. (mw32_allocate_bitmap_record): Ditto. (mw32_reference_bitmap): Ditto. (x_create_bitmap_from_data): Ditto. (x_create_bitmap_from_file): Ditto. (x_destroy_bitmap): Ditto. (x_destroy_all_bitmaps): Ditto. (define_image_type): Ditto. (lookup_image_type): Ditto. (valid_image_p): Ditto. (image_error): Ditto. (parse_image_spec): Ditto. (image_spec_value): Ditto. (Fimage_size): Ditto. (Fimage_mask_p): Ditto. (Vimage_cache_eviction_delay): Ditto. (Vmw32_bitmap_file_path): Renamed `Vx_bitmap_file_path' and moved to `image.c'. (syms_of_mw32fns): Don't initialize Qlaplace, Qemboss, Qedge_detection, Qheuristic, QCmatrix, QCcolor_adjustment, QCmask, Qbmp, QCtype, QCconversion, QCheuristic_mask, QCcolor_symbols, QCascent, QCmargin, QCrelief, QCindex, Qpostscript, Qxbm, Qpbm,Qxpm, Qjpeg, Qtiff, Qgif and Qpng. * mw32term.h (struct mw32_bitmap_record): Rename bhmp pixmap. * emacs.c (main): Call init_image(). 2005-06-25 MIYOSHI Masanori * Sync up with Emacs CVS HEAD. 2005-06-22 Hideyuki SHIRAI * mw32term.c (Fmw32_sh_get_file_info): Encode `path_string' to w32_system_coding_system. 2005-06-21 MIYOSHI Masanori * mw32term.c (get_file_attributes): New function. (get_info_to_retrieve): Ditto. (Fmw32_sh_get_file_info): Ditto. (syms_of_mw32term): Define Fmw32_sh_get_file_info(). * mw32fns.c (magick_set_format): New function. (get_icon_size): Ditto. (pack_bitmap_data): Ditto. (get_image_data_from_icon): Ditto. (mw32_create_image_blob_from_icon): Ditto. (Fmw32_magick_scale_image): Free the memory allocated for ImageMagick. 2005-06-15 Kyotaro HORIGUCHI * callproc.c (Vmw32_process_expects_pty): Correct type to int. * process.c (create_process): Refer to process-connection-type to determine whether process uses pty or not. 2005-06-14 Kyotaro HORIGUCHI * callproc.c (mw32-process-expects-pty): New variable. (Fcall_process): Set mw32-process-expects-pty to nil. * process.c (create_process): Set mw32-process-expects-pty to t. 2005-06-04 MIYOSHI Masanori * mw32fns.c (magick_get_image_blob): New function. (magick_scale_image): Ditto. (Fmw32_magick_scale_image): New function. (syms_of_mw32fns): Define Fmw32_magick_scale_image(). 2005-05-22 MIYOSHI Masanori * xdisp.c (get_window_cursor_type): Sync up with Emacs CVS HEAD. (display_and_set_cursor): Disable system caret cursor when switch from system caret to non-system one. Removed from get_window_cursor_type(). 2005-05-21 MIYOSHI Masanori * mw32fns.c (mw32_WndProc): Inactivate ime_composition_state 2005-05-17 MIYOSHI Masanori * mw32ime.c (mw32_set_ime_conv_window): Correct the area of the IME composition window. Thanks to Hidefumi Fujimoto and KOBAYASHI Yasuhiro . 2005-05-15 MIYOSHI Masanori * mw32clpbd.c (Vselection_coding_system): Renamed from `Vw32_clipboard_coding_system'. (Fw32_set_clipboard_data): Ditto. (Fw32_set_clipboard_data): Fix doc-strings. (Fw32_get_clipboard_data): Ditto. (Fw32_get_clipboard_data): Renamed from `Vw32_clipboard_coding_system'. (syms_of_mw32clipboard): Ditto. 2005-05-15 MIYOSHI Masanori * mw32fns.c (imagemagick_get_bits_per_pixel): Return 24 even if the image type is `PaletteType'. 2005-05-14 MIYOSHI Masanori * Sync up with Emacs CVS HEAD. 2005-05-12 KOBAYASHI Yasuhiro * mw32term.h (mw32_set_ime_conv_window): Change prototype. * mw32term.c (mw32_draw_window_cursor): Change arguments of function PostMessage(). * mw32fns.c (mw32_WndProc) [WM_IME_STARTCOMPOSITION, WM_MULE_IMM_SET_CONVERSION_WINDOW]: Change arguments of function mw32_set_ime_conv_window(). * mw32ime.c (mw32_set_ime_conv_window): Change arguments. Set the IME window rectangle area. 2005-05-12 MIYOSHI Masanori * mw32fns.c (pixel_set_color): Removed. (wand_query_color_database): Use x_to_mw32_color() instead of pixel_set_color(). (xpm_get_fullcolor_bmpdata): Swap the order of red and blue. 2005-05-08 MIYOSHI Masanori * makefile.nt: Update dependancies. * makefile.meadow.w32-in: Ditto. * mw32fns.c: Include "mw32wand.h" instead of . (pixel_get_red): Renamed from pixel_get_*_quantum() and use normalized pixels. (pixel_get_green): Ditto. (pixel_get_blue): Ditto. (pixel_get_alpha): Ditto. (QUANTIZE_PIXEL): New macro. (imagemagick_mask_equal_p): Use normalized pixels. (imagemagick_make_maskdata): Ditto. (imagimagick_get_fullcolor_bmpdata): Ditto. (imagemagick_read_color_table): Ditto. (resolve_mask_color): Ditto. (wand_query_color_database): Ditto. (imagimagick_get_256_bmpdata): Update pointer to keep pixels every scanline. * mw32wand.h: New file. 2005-05-07 MIYOSHI Masanori * mw32fns.c (MAGICK_WAND_DLL): New macro. (hmagick_wand): New variable. (hmagick_core): Renamed from hmagick. (magick_get_version): Removed. (magick_get_magick_version): Ditto. (magick_initialize_magick): Ditto. (magick_read_image): Ditto. (magick_blob_to_image): Ditto. (magick_clone_image_info): Ditto. (magick_destroy_image): Ditto. (magick_destroy_image_info): Ditto. (magick_get_image_pixels): Ditto. (magick_get_exception_info): Ditto. (magick_ping_blob): Ditto. (magick_ping_image): Ditto. (magick_destroy_image_list): Ditto. (magick_get_magick_info): Ditto. (magick_get_magick_list): Ditto. (magick_get_indexes): Ditto. (magick_transform_rgb_image): Ditto. (magick_acquire_image_pixels): Ditto. (magick_is_monochrome_image): Ditto. (magick_set_image_type): Ditto. (magick_constitute_image): Ditto. (magick_allocate_image): Ditto. (magick_set_image_piexels): Ditto. (magick_sync_image_pixels): Ditto. (magick_open_blob): Ditto. (magick_read_blob_string): Ditto. (magick_close_blob): Ditto. (magick_allocate_image_colormap): Ditto. (magick_query_color_database): Ditto. (magick_register_magick_info): Ditto. (magick_set_magick_info): Ditto. (magick_relinquish_magick_memory): Ditto. (magick_acquire_string): Ditto. (magick_get_version): New function. (new_magick_wand): Ditto. (destroy_magick_wand): Ditto. (magick_read_image): Ditto. (magick_query_formats): Ditto. (magick_relinquish_memory): Ditto. (magick_get_image_type): Ditto. (magick_get_image_height): Ditto. (magick_get_image_width): Ditto. (magick_set_image_type): Ditto. (magick_set_image_index): Ditto. (magick_read_image_blob): Ditto. (magick_get_image_colormap_color): Ditto. (magick_get_image_colors): Ditto. (magick_constitute_image): Ditto. (new_pixel_wand): Ditto. (destroy_pixel_wand): Ditto. (pixel_get_red_quantum): Ditto. (pixel_get_green_quantum): Ditto. (pixel_get_blue_quantum): Ditto. (pixel_get_alpha_quantum): Ditto. (pixel_set_color): Ditto. (pixel_get_index): Ditto. (new_pixel_iterator): Ditto. (destroy_pixel_iterator): Ditto. (pixel_get_next_iterator_row): Ditto. (pixel_set_iterator_row): Ditto. (resolve_imagemagick_api): Use MagickWand APIs. (imagemagick_transparent_color_p): Removed. (imagemagick_mask_equal_p): New function. (imagemagick_make_maskdata): Use MagickWand APIs. (imagemagick_setup_bmpmask): Ditto. (imagemagick_setup_fullcolor_bitmapinfo): Ditto. (imagimagick_get_fullcolor_bmpdata): Ditto. (imagemagick_read_color_table): Ditto. (imagemagick_setup_palette_bitmapinfo): Ditto. (imagimagick_get_mono_bmpdata): Ditto. (imagimagick_get_256_bmpdata): Ditto. (imagemagick_get_bits_per_pixel): Ditto. (resolve_mask_color): Ditto. (imagemagick_load_image_data): Ditto. (imagemagick_valid_data_p): Removed. (imagemagick_valid_object_p): Ditto. (load_in_memory_image): Use MagickWand APIs. (imagemagick_load): Ditto. (define_imagemagick_type): Ditto. (define_imagemagick_type): Don't use XPM decoder of ImageMagick. (initialize_imagemagick): Use MagickWand APIs. (Fmw32_get_image_magick_extensions): Ditto. (xpm_image_p): New function. (wand_query_color_database): Ditto. (xpm_read_values_section): Don't depend on ImageMagick. (xpm_read_colors_section): Ditto. (xpm_correct_colormap_with_symbols): Ditto. (xpm_read_pixels_section): Ditto. (xpm_get_fullcolor_bmpdata): New function. (xpm_setup_fullcolor_bitmapinfo): Ditto. (xpm_resolve_mask_color): Ditto. (xpm_make_maskdata): Ditto. (xpm_setup_bmpmask): Ditto. (xpm_load_image_data): Ditto. (xpm_load): Ditto. (init_mw32fns): Define XPM image type. 2005-05-04 MIYOSHI Masanori * process.c (Fstart_process): Correct comments. * print.c (print_error_message): Correct indentation. 2005-05-01 MIYOSHI Masanori * w32.c (gettimeofday): Use `_timeb' and `_ftime' instead of `timeb' and `ftime' to suppress compilation warnings. 2005-04-26 MIYOSHI Masanori * mw32term.c (mw32_draw_window_cursor): Check if HDC of the frame is valid. * xdisp.c (display_and_set_cursor): Do not check if HDC of the frame is valid. 2005-04-24 Masayuki FUJII * xdisp.c (update_tool_bar): Initialize new_tool_bar before GCPRO1. 2005-04-24 MIYOSHI Masanori * Sync up with Emacs CVS HEAD. 2005-04-22 Masayuki FUJII * xdisp.c (update_tool_bar): Initialize new_tool_bar before GCPRO1. 2005-04-21 MIYOSHI Masanori * mw32term.c (mw32_anticipate_overwrite_caret): Declared as static function. (mw32_restore_overwritten_caret): Ditto. 2005-04-21 MIYOSHI Masanori * mw32term.c (Vx_toolkit_scroll_bars): Removed. (mw32_write_glyphs): New function. (mw32_insert_glyphs): Ditto. (mw32_clear_end_of_line): Ditto. (mw32_redisplay_interface): Use the above functions. * xdisp.c (null_glyph_slice): Declare as static variable. (x_write_glyphs): Meadow specific codes are moved to mw32_write_glyphs(). (x_insert_glyphs): Meadow specific codes are moved to mw32_insert_glyphs(). (x_clear_end_of_line): Meadow specific codes are moved to mw32_clear_end_of_line(). 2005-04-21 MIYOSHI Masanori * mw32fns.c (Fx_create_frame): Use FRAME_COLS() and FRAME_LINES(). * buffer.c (Fget_buffer_create): Sync up with Emacs CVS HEAD. Check if current_buffer is not NULL before ucs-set-table-for-input(). * alloc.c (Fmemory_use_counts): Sync up with Emacs CVS HEAD. 2005-04-20 Masayuki FUJII * alloc.c (PDUMP_OFFSET): Changed to a multiple of 8 if USE_LSB_TAG is defined. (PDUMP_LISP_STRING_DUMP_SIZE): Adjusted for 8-byte alignment if USE_LSB_TAG is defined. (PDUMP_VECTORLIKE_SIZE): Ditto. (PDUMP_LISP_HASH_TABLE_SIZE): Ditto. (pdump_register_object): Add assertion if USE_LSB_TAG is defined. (pdump_forward_object): Ditto. * lisp.h (TYPEMASK): Sync up with Emacs CVS HEAD. (XTYPE): Ditto. (XINT): Ditto. (XUINT): Ditto. (XSET): Ditto. (make_number): Ditto. (XPNTR): Ditto. (struct Lisp_Cons): add a tentative dummy member for alignment if USE_LSB_TAG is defined. (struct Lisp_Marker): Ditto. (struct Lisp_Buffer_Local_Value): Ditto. (struct Lisp_Overlay): Ditto. (struct Lisp_Float): Ditto. * w32proc.c (syms_of_ntproc): Initialization of Vw32_get_true_file_link_count is fixed. 2005-04-20 MIYOSHI Masanori * mw32term.c (mw32_draw_image_foreground): Don't use `slice' to derive `image_rect'. * xdisp.c: Declare notice_overwritten_cursor() as external function. 2005-04-20 MIYOSHI Masanori * mw32fns.c (image_ascent): Sync up with Emacs CVS HEAD. * mw32term.c (mw32_draw_relief_rect): Ditto. (mw32_draw_image_foreground): Ditto. (mw32_draw_image_relief): Ditto. * dispextern.h (GLYPH_SLICE_EQUAL_P): New macro. (GLYPH_EQUAL_P): Sync up with Emacs CVS HEAD. 2005-04-17 MIYOSHI Masanori * xdisp.c (ALLOCATE_HDC): Use FRAME_HDC(). (fill_glyph_string): New function. (draw_glyphs): Ditto. (INIT_GLYPH_STRING): New macro. (BUILD_STRETCH_GLYPH_STRING): Ditto. (BUILD_IMAGE_GLYPH_STRING): Ditto. (BUILD_CHAR_GLYPH_STRINGS): Ditto. (BUILD_COMPOSITE_GLYPH_STRING): Ditto. (BUILD_GLYPH_STRINGS): Ditto. * mw32term.c (mw32_compute_glyph_string_x): Removed. (mw32_fill_glyph_string): Ditto. (INIT_GLYPH_STRING): Ditto. (BUILD_STRETCH_GLYPH_STRING): Ditto. (BUILD_IMAGE_GLYPH_STRING): Ditto. (BUILD_CHAR_GLYPH_STRINGS): Ditto. (BUILD_COMPOSITE_GLYPH_STRING): Ditto. (BUILD_GLYPH_STRINGS): Ditto. (draw_glyphs): Ditto. (mw32_redisplay_interface): Update. * dispextern.h (struct redisplay_interface): New member `compute_glyph_string_overhangs' and `draw_glyph_string'. 2005-04-17 MIYOSHI Masanori * xdisp.c (ALLOCATE_HDC): New macro for Meadow. (RELEASE): Ditto. (init_glyph_string): New function. * mw32term.c: Removed. (BUILD_STRETCH_GLYPH_STRING): Call INIT_GLYPH_STRING() instead of mw32_init_glyph_string(). (BUILD_IMAGE_GLYPH_STRING): Ditto. (face_id): Ditto. (BUILD_COMPOSITE_GLYPH_STRING): Ditto. (draw_glyphs): Allocate and release HDC. 2005-04-17 MIYOSHI Masanori * xdisp.c (append_glyph): Sync up with Emacs CVS HEAD. (append_composite_glyph): Ditto. (take_vertical_position_into_account): Ditto. (produce_image_glyph): Ditto. (append_stretch_glyph): Ditto. (expose_window): Ditto. (x_write_glyphs): New function. (x_insert_glyphs): Ditto. (x_clear_end_of_line): Ditto. (expose_overlaps): Ditto. * mw32term.c (mw32_shift_glyphs_for_insert): New function (mw32i_write_glyphs): Removed. (mw32i_insert_glyphs): Ditto.. (mw32i_clear_end_of_line): Ditto. (mw32_anticipate_overwrite_caret): Renamed from anticipate_overwrite_caret(). (mw32_restore_overwritten_caret): Renamed from restore_overwritten_caret(). (mw32_redisplay_interface): Update. * dispextern.h (struct redisplay_interface): New member `shift_glyphs_for_insert'. 2005-04-17 MIYOSHI Masanori * xdisp.c (get_specified_cursor_type): New function. (get_window_cursor_type): Ditto. (notice_overwritten_cursor): Ditto. (draw_phys_cursor_glyph): Meadow specific codes are explicitly marked. * mw32term.h (MW32_FRAME_CARET_WIDTH): Removed. (struct mw32_output): `cursor_width' and `desired_cursor' are Removed (FRAME_DESIRED_CURSOR): Removed. * mw32term.c (mw32i_write_glyphs): Sync up with Emacs CVS HEAD. (mw32i_insert_glyphs): Ditto. (mw32i_insert_glyphs): Ditto. (mw32i_clear_end_of_line): Ditto. (mw32_draw_caret_cursor): Ditto. (mw32_draw_bar_cursor): Ditto. (mw32_draw_window_cursor): Ditto. (notice_overwritten_cursor): Removed. * mw32fns.c (mw32_specified_cursor_type): Removed. (mw32_set_cursor_type): Sync up with Emacs CVS HEAD. (mw32_WndProc): Use FRAME_CURSOR_WIDTH() instead of MW32_FRAME_CARET_WIDTH(). * frame.h (struct frame): Sync up with Emacs CVS HEAD. (FRAME_DESIRED_CURSOR): New macro. (FRAME_BLINK_OFF_CURSOR): Ditto. (FRAME_CURSOR_WIDTH): Ditto. (FRAME_BLINK_OFF_CURSOR_WIDTH): Ditto. 2005-04-16 MIYOSHI Masanori * xdisp.c (x_fix_overlapping_area): New function from Emacs CVS HEAD. (draw_phys_cursor_glyph): Ditto. (erase_phys_cursor): Ditto. * mw32fns.c (x_set_tool_bar_lines): Follow the rename of mw32_clear_area(). (mw32_WndProc): Ditto. * mw32term.c (mw32_clear_native_frame_area): Renamed from mw32_clear_area(). (mw32_clear_frame_area): New function. (mw32i_after_update_window_line): Follow the rename of mw32_clear_area(). (mw32i_clear_end_of_line): Ditto. (MW32_clear_frame): Ditto. (MW32_set_vertical_scroll_bar): Ditto. (mw32_draw_bar_cursor): Ditto. (mw32_draw_window_cursor): Ditto. (mw32_fix_overlapping_area): Removed. (mw32_draw_phys_cursor_glyph): Ditto. (erase_phys_cursor): Ditto. (mw32_redisplay_interface): Update. * dispextern.h (struct redisplay_interface): New member `clear_frame_area'. 2005-04-16 MIYOSHI Masanori * xdisp.c (get_window_cursor_type): New function from Emacs CVS HEAD. (display_and_set_cursor): Ditto. (update_window_cursor): Ditto. (update_cursor_in_window_tree): Ditto. (x_update_cursor): Ditto. (x_clear_cursor): Ditto. (show_mouse_face): Ditto. (define_frame_cursor1): Ditto. * mw32term.c (frame_highlight): Call x_update_cursor() instead of mw32_update_cursor(). (frame_unhighlight): Ditto. (show_mouse_face): Removed. (x_clear_cursor): Ditto. (erase_phys_cursor): Renamed from mw32_erase_phys_cursor(). (mw32_define_frame_cursor): New function. (display_and_set_cursor): Removed. (mw32_draw_window_cursor): New function. (mw32_update_cursor): Removed. (mw32_update_cursor_in_window_tree): Ditto. (mw32_redisplay_interface): Update. * mw32fns.c (mw32_set_cursor_color): Call x_update_cursor() instead of mw32_update_cursor(). * dispextern.h (struct redisplay_interface): New member `draw_window_cursor'. 2005-04-16 MIYOSHI Masanori * xdisp.c (clear_mouse_face): Sync up with Emacs CVS HEAD. (note_mode_line_or_margin_highlight): Ditto. (note_mouse_highlight): Ditto. (expose_area): Ditto. (expose_line): Ditto. * mw32term.h (struct mw32_display_info): New member, `vertical_scroll_bar_cursor' and `mouse_face_hidden'. * mw32term.c (draw_glyphs): Renamed from mw32_draw_glyphs() and sync up with Emacs CVS HEAD. (mw32_fix_overlapping_area): Follow the above change. (mw32i_write_glyphs): Ditto. (mw32i_insert_glyphs): Ditto. (show_mouse_face): Ditto. (mw32_draw_phys_cursor_glyph): Ditto. (mw32i_clear_mouse_face): Removed. (mw32_message_loop): Inactivate mouse face when mouse_face_hidden is 0 and `mouse-highlight' is an integer. (mw32_message_loop): Activate mouse face when (mw32_term_init): Initialize `mouse_face_hidden' and `vertical_scroll_bar_cursor'. (mw32_redisplay_interface): Use x_clear_window_mouse_face() instead of mw32i_clear_mouse_face(). 2005-04-16 MIYOSHI Masanori * makefile.nt (OBJ1): Replace spaces with tabs. (OBJ2): Ditto. (WIN32OBJ): Diito. (depend): Prevent makedepend.pl from making dependency on header files of ImageMagick. Update dependency. 2005-04-15 Masayuki FUJII * makefile.meadow.w32-in (depend): Prevent makedepend.pl from making dependency on header files of ImageMagick. Update dependency. 2005-04-15 Masayuki FUJII * makefile.meadow.w32-in: Remove dependency on header files of ImageMagick. 2005-04-14 MIYOSHI Masanori * xdisp.c: Include "mw32sync.h". (define_frame_cursor1): New function from Emacs CVS HEAD. (note_mode_line_or_margin_highlight): Ditto. (note_mouse_highlight): Ditto. (expose_area): Ditto. (expose_line): Ditto. (phys_cursor_in_rect_p): Ditto. (expose_window): Ditto. (expose_window_tree): Ditto. (expose_frame): Ditto. (x_intersect_rectangles): Ditto. * mw32term.h (struct mw32_output): Sync up with Emacs CVS HEAD. * mw32term.c (mw32_draw_image_foreground): Sync up with Emacs CVS HEAD. (mw32_expose_frame): Removed. (expose_window_tree): Ditto. (expose_area): Ditto. (expose_line): Ditto. (mw32_phys_cursor_in_rect_p): Ditto. (expose_window): Ditto. (mw32_intersect_rectangles): Ditto. (note_mode_line_highlight): Ditto. (note_mouse_highlight_handler): Ditto. (note_mouse_highlight): Ditto. (x_clear_cursor): Renamed from mw32_clear_cursor(). (mw32_redisplay_interface): Update. * mw32fns.c (mw32_WndProc): Update arguments for expose_frame(). * dispextern.h (struct redisplay_interface): New member, `define_frame_cursor'. 2005-04-14 MIYOSHI Masanori * makefile.nt (OBJ2): Add `image.c'. Update dependancies. * makefile.meadow.w32-in (OBJ1): Add `image.c'. Update dependancies. * xdisp.c (Vimage_types): Moved to `image.c'. * image.c: New file from Emacs CVS HEAD. * emacs.c (main): Call syms_of_image(). 2005-04-14 MIYOSHI Masanori * w32.c (file_attributes_stat): Check if the file is a directory or a regular file, when `w32-get-true-file-attributes' is t. 2005-04-10 MIYOSHI Masanori * gtkutil.c: New file from Emacs CVS HEAD. * gtkutil.c: Ditto. * gtkutil.h: Ditto. * mac.c: Ditto. * macfns.c: Ditto. * macgui.h: Ditto. * macmenu.c: Ditto. * macterm.c: Ditto. * macterm.h: Ditto. * sheap.c: Ditto. * stamp-h.in: Ditto. * unexmacosx.c: Ditto. * xsmfns.c: Ditto. * Makefile.c: Removed. * paths.h: Ditto. * paths.in: Ditto. * print1.c: Ditto. 2005-04-10 MIYOSHI Masanori * puresize.h: Sync up with Emacs CVS HEAD. * w32.c: Ditto. * w32.h: Ditto. * w32inevt.c (w32_console_read_socket): Ditto. * w32proc.c (syms_of_ntproc): Ditto. 2005-04-10 MIYOSHI Masanori * lisp.h (struct Lisp_Float): New member `gcmarkbit'. This is a hack for portable dumper. * alloc.c (FLOAT_BLOCK_SIZE): Undo the last change. (GETMARKBIT): Removed. (SETMARKBIT): Ditto. (UNSETMARKBIT): Ditto. (FLOAT_BLOCK): Ditto. (FLOAT_INDEX): Ditto. (struct float_block): Undo the last change. (FLOAT_MARKED_P): Refer to `gcmarkbit'. This is a hack for portable dumper. (FLOAT_MARK): Ditto. (FLOAT_UNMARK): Ditto. (make_float): Initialize the allocated memory to clean up `gcmarkbit'. (PDUMP_BLOCK_HASH_SIZE): Removed. (struct pdump_block): Removed. (pdump_block_hash): Ditto. (pdump_block_hash_value): Ditto. (pdump_put_block_hash): Ditto. (pdump_get_block_hash): Ditto. (initialize_block_hash): Ditto. (pdump_float_blocks_size): Ditto. (pdump_register_object): Undo the last change. (pdump_forward_object): Ditto. (pdump_write_objects): Ditto. (pdump): Ditto. (PDUMP_RELOCATE): Ditto. (pdump_load): Ditto. (pdump_relocate_objects): Ditto. (unmark_pdumped_objects): Ditto. * fontset.c (lookup_overriding_fontspec): Invalidate for Meadow. 2005-04-10 MIYOSHI Masanori * dispextern.h (xassert): Undo the last change. 2005-04-10 MIYOSHI Masanori * mw32term.c: Follow the change of `struct glyph_row' and `struct glyph_string'. * mw32menu.c (Fx_popup_menu): Use Fkeymap_prompt() instead of map_prompt(). * dispextern.h: Sync up with Emacs CVS HEAD. * emacs.c: Ditto. * fileio.c: Ditto. * fontset.c: Ditto. * keyboard.c: Ditto. * keyboard.h: Ditto. 2005-04-09 MIYOSHI Masanori * lisp.h (MARKBIT): Removed. (XMARKBIT): Ditto. (XSETMARKBIT): Ditto. (XMARK): Ditto. (XUNMARK): Ditto. 2005-04-09 MIYOSHI Masanori * lisp.h (struct Lisp_Cons): New member `gcmarkbit'. This is a hack for portable dumper. (XCAR): Sync up with Emacs CVS HEAD. (XCDR): Ditto. (SYMBOL_NAME): Ditto. * alloc.c (CONS_MARKED_P): Refer to `gcmarkbit'. This is a hack for portable dumper. (CONS_MARK): Ditto. (CONS_UNMARK): Ditto. (Fcons): Initialize the allocated memory to clean up `gcmarkbit'. (mark_object): Sync up with Emacs CVS HEAD. (pdump_hash_value): Cast `obj' as 'unsigned long' not to be negative. (pdump_map_file): Don't use `VALMASK'. * fileio.c (Fdo_auto_save): Sync up with Emacs CVS HEAD. 2005-04-07 MIYOSHI Masanori * alloc.c (struct backtrace): Removed. (Fgarbage_collect): Sync up with Emacs CVS HEAD. (mark_object): Ditto. (mark_buffer): Ditto. (survives_gc_p): Ditto. (gc_sweep): Ditto. * bytecode.c (mark_byte_stack): Ditto. (unmark_byte_stack): Ditto. * eval.c (mark_backtrace): Ditto. 2005-04-07 MIYOSHI Masanori * buffer.h (struct buffer): Sync up with Emacs CVS HEAD. * alloc.c (Fgarbage_collect): Ditto. `undo_list' related codes are merged. (mark_buffer): Ditto. (pdump_add_special_buffers): Use `undo_list' to get offset instead of `name'. (pdump_write_special_buffers): Ditto. (pdump_load): Ditto. 2005-04-06 MIYOSHI Masanori * alloc.c (FLOAT_BLOCK_SIZE): Sync up with Emacs CVS HEAD. (FLOAT_BLOCK_SIZE): New macro. (GETMARKBIT): Ditto. (SETMARKBIT): Ditto. (UNSETMARKBIT): Ditto. (FLOAT_BLOCK): Ditto. (FLOAT_INDEX): Ditto. (struct float_block): Sync up with Emacs CVS HEAD. (FLOAT_MARKED_P): Ditto. (FLOAT_MARK): Ditto. (FLOAT_UNMARK): Ditto. (make_float): Ditto. (mark_object): Ditto. (pdump_block_table): New structure. (PDUMP_BLOCK_HASH_SIZE): New macro. (pdump_block): New structure. (pdump_block_hash_value): New function. (pdump_put_block_hash): Ditto. (pdump_get_block_hash): Ditto. (initialize_block_hash): Ditto. (pdump_register_object): calculate a special offset for PDUMP_FLOAT. (pdump_write_objects): The codes related with PDUMP_FLOAT are removed. (pdump): Initialize `pdump_block_hash'. (pdump): Wirte float blocks. (pdump): Destruct memories for `pdump_block_hash'. (PDUMP_RELOCATE): Consider space for `float_block'. (pdump_load): Load float blocks. (pdump_relocate_objects): The codes related with Lisp_Float are removed. (unmark_pdumped_objects): Sync up with Emacs CVS HEAD. * lisp.h: Sync up with Emacs CVS HEAD. a member variable `type' is removed. 2005-04-03 MIYOSHI Masanori * alloc.c (MARK_STRING): Sync up with Emacs CVS HEAD. (UNMARK_STRING): Ditto. (STRING_MARKED_P): Ditto. (GC_STRING_BYTES): Ditto. (GC_STRING_CHARS): Ditto. (string_bytes): Ditto. (init_float): Ditto. (init_cons): Ditto. (init_symbol): Ditto. (init_marker): Ditto. * lisp.h: Sync up with Emacs CVS HEAD. 2005-04-03 MIYOSHI Masanori * keyboard.c: New external lisp object `Vthrow_on_input'. (syms_of_keyboard): Initialize the above object. 2005-04-02 MIYOSHI Masanori * print.c (print_preprocess): Ditto. (print_object): Ditto. * alloc.c: Sync up with Emacs CVS HEAD. The codes related with `Lisp_symbol' are merged. * bytecode.c (Fbyte_code): Ditto. * data.c (Fkeywordp): Ditto. (Fmakunbound): Ditto. (set_internal): Ditto. * eval.c (Fdefvaralias): Ditto. (specbind): Ditto. * lisp.h (struct Lisp_Symbol): Ditto. * lread.c (Fintern): Ditto. (Funintern): Ditto. (init_obarray): Ditto. * regex.c (regex_compile): Temporarily invalidate the process of whitespace. 2005-04-02 MIYOSHI Masanori * alloc.c: Sync up with Emacs CVS HEAD. * buffer.c: Ditto. * dispnew.c: Ditto. * intervals.c (get_local_map): Ditto. * w32.c: Ditto. * w32fns.c: Ditto. * w32inevt.c (key_event): Ditto. * w32proc.c: Ditto. 2005-04-02 MIYOSHI Masanori * regex.c (regex_compile): Temporarily invalidate the process of whitespace. * alloc.c (pdump_forward): New member `next'. (pdump_put_hash): Improve efficiency. (pdump_get_hash): Ditto. (pdump): Free allocated memories for all the elements of `pdump_hash'. 2005-03-27 MIYOSHI Masanori * keyboard.c (readable_events): Undo the last changes. 2005-03-26 MIYOSHI Masanori * buffer.h(struct buffer): Sync up with Emacs CVS HEAD. Now `overlays_before' or `overlays_after' is a pointer to an instance of `struct Lisp_Overlay'. * alloc.c: Ditto. * buffer.c: Ditto. * editfns.c: Ditto. * indent.c (current_column): Ditto. * insdel.c (signal_before_change): Ditto. (signal_after_change): Ditto. * intervals.c (set_point_both): Ditto. * keyboard.c (command_loop_1): Ditto. (adjust_point_for_property): Ditto. * print.c (temp_output_buffer_setup): Ditto. (print_object): Ditto. * xdisp.c (load_overlay_strings): Ditto. (RECORD_OVERLAY_STRING): Ditto. (load_overlay_strings): Ditto. * xfaces.c (face_at_buffer_position): Ditto. 2005-03-26 MIYOSHI Masanori * keyboard.c (readable_events): Sync up with Emacs CVS HEAD. 2005-03-26 Masayuki FUJII * alloc.c (pdump_type_objects): New member, `objects_size'. Member variable `obejcts' is changed from an array to a pointer. (pdump_register_object): Array is extended if it is full. (pdump): Initialization and cleanup of pdump_lisp_object is modified. 2005-03-26 MIYOSHI Masanori * lisp.h (VALMASK): Validated even if NO_UNION_TYPE is defined. (GCTYPEMASK): Ditto. Undo the last changes of some macros for the environment where NO_UNION_TYPE is defined. 2005-03-25 MIYOSHI Masanori * lisp.h: Sync up with Emacs CVS HEAD. * alloc.c: Ditto. 2005-03-24 MIYOSHI Masanori * mw32menu.c: Include "keymap.h". * mw32term.c: Ditto. * alloc.c: Sync up with Emacs CVS HEAD. * fileio.c (report_file_error): Ditto. * lisp.h: Ditto. 2005-03-24 MIYOSHI Masanori * alloc.c (pdump): Initialize memories allocated for pdump. 2005-03-24 MIYOSHI Masanori * alloc.c: Sync up with Emacs CVS HEAD. * keymap.c: Ditto. * lisp.h: Ditto. 2005-03-24 MIYOSHI Masanori * buffer.h: Sync up with Emacs CVS HEAD. 2005-03-22 MIYOSHI Masanori * alloc.c: Sync up with Emacs CVS HEAD. Now the object to chain of all the markers in a given buffer is a instance of `struct Lisp_Marker *'. * buffer.c: Ditto. * buffer.h Ditto. * editfns.c Ditto. * insdel.c Ditto. * lisp.h Ditto. * marker.c Ditto. * window.c Ditto. * xdisp.c Ditto. 2005-03-20 MIYOSHI Masanori * s/ms-w32.h (HAVE_STRFTIME): Use system strftime(). * mw32term.c (MW32_reassert_line_highlight): Removed. (MW32_change_line_highlight): Ditto. (mw32_initialize): Don't initialize `change_line_highlight_hook' and `MW32_change_line_highlight'. * gmalloc.c: Sync up with Emacs CVS HEAD. * search.c: Ditto. * strftime.c: Ditto. * term.c: Ditto. * termhooks.h: Ditto. * w32bdf.c: Ditto. * w32console.c: Ditto. * w32heap.c: Ditto. * w32term.c: Ditto. 2005-03-20 MIYOSHI Masanori * makefile.meadow.w32-in (LIBS): Link `wsock32'. 2005-03-19 MIYOSHI Masanori * dispnew.c (sit_for): Sync up with Emacs CVS HEAD. * eval.c: Ditto. * regex.c: Ditto. * regex.h: Ditto. 2005-03-19 MIYOSHI Masanori * w32.h (EXEC_SUFFIXES): Moved from process.h. * dispnew.c (Fsleep_for): Sync up with Emacs CVS HEAD. (sit_for): Ditto. * keyboard.c (kbd_buffer_get_event): Ditto. * process.c: Ditto. * process.h: Ditto. * alloc.c (NSTATICS): Increased. (PDUMP_SUBR_DOC_SIZE): Ditto. 2005-03-06 MIYOSHI Masanori * alloc.c (NSTATICS): Increased. 2005-03-06 Shuichi KITAGUCHI * mw32fns.c (WIN32): define WIN32 when it is not defined. 2005-03-06 MIYOSHI Masanori * mw32fns.c: undefine WIN32_LEAN_AND_MEAN when it has already been defined. Include to define `ssize_t'. 2005-03-06 Masayuki FUJII * makefile.meadow.w32-in (LOCAL_FLAGS): cleanup ImageMagick support. 2005-03-06 Shuichi KITAGUCHI * mw32magick: removed. (cleanup ImageMagick support) * mw32fns.c: update to ImageMagick 6.2.0. cleanup ImageMagick support. * makefile.nt (LOCAL_FLAGS): cleanup ImageMagick support. 2005-03-06 MIYOSHI Masanori * dispnew.c: Sync up with Emacs CVS HEAD. * editfns.c: Ditto. * frame.c: Ditto. * window.c: Ditto. * xfaces.c: Ditto. 2005-02-24 MIYOSHI Masanori * mw32term.c (display_and_set_cursor): Draw the hollow box cursor if `cursor-in-non-selected-windows' is non-nil'. Thanks to Hidefumi Fujimoto 2005-02-20 MIYOSHI Masanori * eval.c (reinit_eval_once): Increase max_specpdl_size up to 1000. Thanks to Hidefumi Fujimoto 2005-02-19 MIYOSHI Masanori * mw32term.c: Predicate that mw32_intersect_rectangles() is static. * mw32term.h: Predicate `struct glyph_slice'. 2005-02-19 MIYOSHI Masanori * mw32term.h: Sync up with Emacs CVS HEAD. * mw32term.c (mw32_draw_vertical_border): Removed. (mw32_draw_vertical_border): New function. (mw32_get_char_face_and_encoding): Removed. (mw32_get_glyph_face_and_encoding): Ditto. (mw32_append_glyph): Ditto. (mw32_append_composite_glyph): Ditto. (take_vertical_position_into_account): Ditto. (mw32_produce_image_glyph): Ditto. (mw32_append_stretch_glyph): Ditto. (mw32_produce_stretch_glyph): Ditto. (mw32i_produce_glyphs): Ditto. (mw32_append_glyph_string_lists): Ditto. (mw32_prepend_glyph_string_lists): Ditto. (mw32_append_glyph_string): Ditto. (mw32i_get_glyph_overhangs): Ditto. (mw32_left_overwritten): Ditto. (mw32_left_overwriting): Ditto. (mw32_right_overwritten): Ditto. (mw32_right_overwriting): Ditto. (mw32_fill_composite_glyph_string): Ditto. (mw32_fill_image_glyph_string): Ditto. (mw32_fill_stretch_glyph_string): Ditto. (mw32_set_glyph_string_background_width): Ditto. (fast_find_position): Ditto. (fast_find_string_pos): Ditto. (clear_mouse_face): Ditto. (cancel_mouse_face): Ditto. (cursor_in_mouse_face_p): Ditto. (mw32_update_window_cursor): Ditto. * mw32font.h (XCharStruct): Renamed from `MW32CharMetric'. Sync up with Emacs CVS HEAD. * mw32font.c (get_device_width): Normalize coding style. (mw32_glyph_metric): Sync up with Emacs CVS HEAD. * mw32fns.c (image_ascent): New arguments, `slice'. Currently this is a dummy. * dispextern.h: Sync up with Emacs CVS HEAD. * fontset.h: Ditto. * frame.h: Ditto. * w32gui.h: Ditto. * xdisp.c: Ditto. * xfaces.c: Ditto. 2005-02-17 MIYOSHI Masanori * insdel.c: Sync up with Emacs CVS HEAD. 2005-02-14 MIYOSHI Masanori * alloc.c: Purge a redundant keyword. 2005-02-14 MIYOSHI Masanori * config.in: Sync up with Emacs CVS HEAD. * cxux-crt0.s: Ditto. * data.c: Ditto. * dispextern.h: Ditto. * dispnew.c: Ditto. * dosfns.c: Ditto. * fileio.c: Ditto. * indent.c: Ditto. * intervals.h: Ditto. * keyboard.c: Ditto. * keyboard.h: Ditto. * keymap.c: Ditto. * lastfile.c: Ditto. * lisp.h: Ditto. * lread.c: Ditto. * macros.c: Ditto. * minibuf.c: Ditto. * msdos.c: Ditto. * mw32term.c: Ditto. * syntax.c: Ditto. * sysdep.c: Ditto. * syssignal.h: Ditto. * term.c: Ditto. * termhooks.h: Ditto. * xdisp.c: Ditto. 2005-02-13 MIYOSHI Masanori * alloc.c: Sync up with Emacs CVS HEAD. (PDUMP_SUBR_DOC_SIZE): Increased. * Makefile.in: Sync up with Emacs CVS HEAD. * README: Ditto. * atimer.c: Ditto. * buffer.c: Ditto. * callproc.c: Ditto. * casefiddle.c: Ditto. * casetab.c: Ditto. * charset.c: Ditto. * coding.c: Ditto. * coding.h: Ditto. * data.c: Ditto. * dispextern.h: Ditto. * dispnew.c: Ditto. * dosfns.c: Ditto. * editfns.c: Ditto. * eval.c: Ditto. * filelock.c: Ditto. * floatfns.c: Ditto. * fns.c: Ditto. * fringe.c: Ditto. * insdel.c: Ditto. * keyboard.c: Ditto. * lisp.h: Ditto. * makefile.w32-in: Ditto. * mw32term.c: Ditto. * undo.c: Ditto. * window.c: Ditto. * xdisp.c: Ditto. * xfaces.c: Ditto. * xfns.c: Ditto. * xmenu.c: Ditto. * xselect.c: Ditto. * xterm.c: Ditto. * xterm.h: Ditto. 2005-02-13 MIYOSHI Masanori * makefile.meadow.w32-in (bootstrap-temacs): Increase PDUMP_OBJECT_ARRAY_SIZE. * callint.c: Sync up with Emacs CVS HEAD. 2005-02-13 MIYOSHI Masanori * data.c: Sync up with Emacs CVS HEAD. * eval.c: Ditto. * fns.c: Ditto. * lread.c: Ditto. 2005-02-12 MIYOSHI Masanori * callint.c: Sync up with Emacs CVS HEAD. * doc.c: Ditto. * fns.c: Ditto. * lisp.h: Ditto. * minibuf.c: Ditto. * makefile.meadow.w32-in: Ditto. * makefile.nt: Ditto. 2005-02-12 MIYOSHI Masanori * eval.c: Sync up with Emacs CVS HEAD. * keyboard.c: Ditto. * lisp.h: Ditto. * xdisp.c: Ditto. 2005-02-11 MIYOSHI Masanori * makefile.meadow.w32-in (bootstrap-temacs): Increase PDUMP_OBJECT_ARRAY_SIZE. * window.c (syms_of_window): New variable, auto-window-vscroll. * fileio.c (Fnext_read_file_uses_dialog_p): New function from Emacs CVS HEAD. * alloc.c (PDUMP_HASH_TABLE_SIZE): Increase PDUMP_HASH_TABLE_SIZE. 2005-01-30 MIYOSHI Masanori * alloc.c: Sync up with Emacs CVS HEAD. * bytecode.c: Ditto. * fns.c: Ditto. * lisp.h: Ditto. 2005-01-30 MIYOSHI Masanori * alloc.c: Sync up with Emacs CVS HEAD. * data.c: Ditto. * dispextern.h: Ditto. * insdel.c: Ditto. * lisp.h: Ditto. * marker.c: Ditto. * mem-limits.h: Ditto. * minibuf.c: Ditto. * process.c: Ditto. * puresize.h: Ditto. * sysdep.c: Ditto. * w32gui.h: Ditto. * w32inevt.h: Ditto. 2005-01-23 MIYOSHI Masanori * alloc.c: Sync up with Emacs CVS HEAD. * blockinput.h: Ditto. * buffer.c: Ditto. * buffer.h: Ditto. * callint.c: Ditto. * callproc.c: Ditto. * casefiddle.c: Ditto. * charset.c: Ditto. * coding.c: Ditto. * data.c: Ditto. * dispnew.c: Ditto. * doc.c: Ditto. * editfns.c: Ditto. * emacs.c: Ditto. * fileio.c: Ditto. * floatfns.c: Ditto. * fns.c: Ditto. * fontset.c: Ditto. * getloadavg.c: Ditto. * gmalloc.c: Ditto. * insdel.c: Ditto. * keyboard.c: Ditto. * keyboard.h: Ditto. * lisp.h: Ditto. * lread.c: Ditto. * macros.c: Ditto. * marker.c: Ditto. * minibuf.c: Ditto. * mktime.c: Ditto. * mw32term.c: Ditto. * process.c: Ditto. * process.h: Ditto. * scroll.c: Ditto. * sound.c: Ditto. * sysdep.c: Ditto. * systty.h: Ditto. * syswait.h: Ditto. * term.c: Ditto. * termcap.c: Ditto. * termhooks.h: Ditto. * tparam.c: Ditto. * undo.c: Ditto. * unexelf.c: Ditto. * unexw32.c: Ditto. * w32.h: Ditto. * w32console.c: Ditto. * w32heap.c: Ditto. * w32inevt.c: Ditto. * w32proc.c: Ditto. * w32reg.c: Ditto. * w32xfns.c: Ditto. * xdisp.c: Ditto. * xfaces.c: Ditto. * xmenu.c: Ditto. 2005-01-22 MIYOSHI Masanori * w32term.h: Undo the last change. 2005-01-22 MIYOSHI Masanori * atimer.c: Sync up with Emacs CVS HEAD. * category.c: Ditto. * category.h: Ditto. * chpdef.h: Ditto. * cm.c: Ditto. * cm.h: Ditto. * cmds.c: Ditto. * commands.h: Ditto. * composite.c: Ditto. * composite.h: Ditto. * disptab.h: Ditto. * doprnt.c: Ditto. * dosfns.c: Ditto. * dosfns.h: Ditto. * ecrt0.c: Ditto. * filelock.c: Ditto. * filemode.c: Ditto. * firstfile.c: Ditto. * fontset.h: Ditto. * fringe.c: Ditto. * getpagesize.h: Ditto. * gnu.h: Ditto. * hftctl.c: Ditto. * indent.h: Ditto. * ioctl.h: Ditto. * keymap.h: Ditto. * lastfile.c: Ditto. * lisp.h: Ditto. * macros.h: Ditto. * md5.c: Ditto. * md5.h: Ditto. * msdos.c: Ditto. * msdos.h: Ditto. * ndir.h: Ditto. * param.h: Ditto. * point.h: Ditto. * pre-crt0.c: Ditto. * prefix-args.c: Ditto. * ralloc.c: Ditto. * region-cache.c: Ditto. * region-cache.h: Ditto. * scroll.c: Ditto. * sunfns.c: Ditto. * sysdep.c: Ditto. * sysselect.h: Ditto. * syssignal.h: Ditto. * systime.h: Ditto. * termchar.h: Ditto. * terminfo.c: Ditto. * termopts.h: Ditto. * uaf.h: Ditto. * unexaix.c: Ditto. * unexalpha.c: Ditto. * unexapollo.c: Ditto. * unexconvex.c: Ditto. * unexec.c: Ditto. * unexenix.c: Ditto. * unexhp9k800.c: Ditto. * unexmips.c: Ditto. * unexnext.c: Ditto. * unexsni.c: Ditto. * unexsunos4.c: Ditto. * vlimit.h: Ditto. * vm-limit.c: Ditto. * select.c: Ditto. * bdf.c: Ditto. * bdf.h: Ditto. * fns.c: Ditto. * heap.h: Ditto. * inevt.h: Ditto. * menu.c: Ditto. * reg.c: Ditto. * select.c: Ditto. * term.c: Ditto. * term.h: Ditto. * widget.c: Ditto. * widget.h: Ditto. * widgetprv.h: Ditto. * window.h: Ditto. * xfns.c: Ditto. * xmenu.c: Ditto. * xrdb.c: Ditto. * xselect.c: Ditto. * xterm.c: Ditto. * xterm.h: Ditto. 2005-01-19 MIYOSHI Masanori * abbrev.c (write_abbrev): Merge codes related with the change below. * coding.c (Fread_coding_system): Ditto. * editfns.c (Fformat): Ditto. * keymap.c (silly_event_symbol_error): Ditto. (describe_command): Ditto. (describe_translation): Ditto. * lread.c (Funintern): Ditto. 2005-01-19 MIYOSHI Masanori * lisp.h (struct Lisp_Symbol): Change the name of the member variable `name' and its type. * alloc.c: Merge codes related with the change above. * buffer.c: Ditto. * bytecode.c: Ditto. * callint.c: Ditto. * charset.c: Ditto. * coding.c: Ditto. * data.c: Ditto. * eval.c: Ditto. * fns.c: Ditto. * fontset.c: Ditto. * keyboard.c: Ditto. * keymap.c: Ditto. * lread.c: Ditto. * minibuf.c: Ditto. * mw32fns.c: Ditto. * mw32font.c: Ditto. * mw32ime.c: Ditto. * print.c: Ditto. * process.c: Ditto. * xdisp.c: Ditto. * xfaces.c: Ditto. 2005-01-15 MIYOSHI Masanori * editfns.c: Partially sync up with Emacs CVS HEAD. * insdel.c: Ditto. * lisp.h: Ditto. 2005-01-15 MIYOSHI Masanori * buffer.c (delete_all_overlays): Delete each car part of `overlays_before' and `overlays_after'. 2005-01-15 MIYOSHI Masanori * mw32term.c (mw32_encode_char): Initialize `char2b'. 2005-01-08 MIYOSHI Masanori * w32proc.c (sys_spawnve): Duplicate the whole elements of `argv' to prevent errors in GC. Partially sync up with Emacs CVS HEAD. * w32.c: Partially sync up with Emacs CVS HEAD. 2005-01-04 Masayuki FUJII * dired.c: undefine S_ISLNK and S_IFLNK for mingw-runtime 3.6 and later. * fileio.c: Ditto. * filemode.c: Ditto. 2004-12-18 MIYOSHI Masanori * print.c: Sync up with Emacs CVS HEAD. * alloc.c (abort_on_gc): New external variable. (build_string): Sync up with Emacs CVS HEAD. (Fgarbage_collect): Ditto. * editfns.c (Fformat): Ditto. * eval.c (Fsignal): Ditto. * keyboard.c (cmd_error): Ditto. * lisp.h: Update declarations. 2004-12-07 MIYOSHI Masanori * makefile.nt (LINK_FLAGS): Set the base address for the program to 0x500000. Thanks to Hidefumi Fujimoto 2004-12-05 MIYOSHI Masanori * data.c (store_symval_forwarding): Use SYMBOL_VALUE/SET_SYMBOL_VALUE to get/set symbol value. Thanks to Hiroya Murata . * eval.c (specbind): Ditto. (unbind_to): Ditto. * fns.c (Fmd5): Ditto. * keyboard.c (intern): Ditto. * lread.c (defvar_int): Ditto. (defvar_bool): Ditto. (defvar_lisp_nopro): Ditto. (defvar_per_buffer): Ditto. (defvar_kboard): Ditto. * minibuf.c (read_minibuf): Ditto. * mw32dl.c (undefvar): Ditto. * lisp.h (SYMBOL_VALUE): Sync up with Emacs CVS HEAD. (SET_SYMBOL_VALUE): New macro from Emacs CVS HEAD. 2004-12-03 MIYOSHI Masanori * mw32term.c (mw32_draw_caret_cursor): Don't exit this function even if `cursor_glyph' is NULL. (mw32_erase_phys_cursor): Simplify expressions. 2004-12-03 MIYOSHI Masanori * mw32term.c (mw32_draw_caret_cursor): Make this function external. (mw32_erase_phys_cursor): Don't hide the cursor which is represented by the system caret. * fringe.c (draw_fringe_bitmap): Support system caret. 2004-12-02 MIYOSHI Masanori * process.c (Fprocess_plist): New function from Emacs CVS HEAD. (Fset_process_plist): Ditto. (syms_of_process): Define Fprocess_plist() and Fset_process_plist(). * process.h: New member, `plist'. 2004-12-02 MIYOSHI Masanori * keymap.c: Sync up with Emacs CVS HEAD. * keyboard.c (Vthis_original_command): New variable. (command_loop_1): Remap command through active keymaps. (syms_of_keyboard): Define variable, Vthis_original_command. * fns.c (map_char_table): Sync up with Emacs CVS HEAD. (Fmap_char_table): Ditto. (void_call2): New function from Emacs CVS HEAD. * casetab.c: Sync up with Emacs CVS HEAD. * fontset.c (Ffontset_info): Ditto. * lisp.h: Update declarations. 2004-12-02 Kyotaro HORIGUCHI * mw32term.c (mw32_get_ime_font_property): Unblock the input if the current thread has blocked it. 2004-12-02 MIYOSHI Masanori * mw32fns.c (mw32_WndProc): Undo the last change. (mw32i_frame_parm_handlers): New element for "cursor-height" which invokes mw32_set_cursor_height(). * frame.c (frame_parms): New element, "cursor-height". 2004-11-30 MIYOSHI Masanori * mw32fns.c (mw32_WndProc): Don't consider MW32_FRAME_CARET_HEIGHT(f) to calculate caret height. 2004-11-28 Shuichi KITAGUCHI * makefile.nt (DOC): use makefile instead of makefile.nt (bootstrap-temacs): Ditto. 2004-11-27 Masayuki FUJII * .gdbinit: Sync up with Emacs CVS HEAD. * emacs.c (gdb_array_mark_flag): Imported from Emacs CVS HEAD. 2004-11-27 Masayuki FUJII * buffer.c (init_buffer): Revert change of 2004-11-21. Always use getwd. 2004-11-21 MIYOSHI Masanori * abbrev.c: Sync up with Emacs CVS HEAD. * acldef.h: Ditto. * alloca.c: Ditto. * atimer.c: Ditto. * atimer.h: Ditto. * blockinput.h: Ditto. * buffer.c: Ditto. * buffer.h: Ditto. * bytecode.c: Ditto. * editfns.c: Ditto. * fileio.c: Ditto. * lisp.h: Update declarations. 2004-11-13 MIYOSHI Masanori * mw32fns.c (mw32_WndProc): Update frame size of frame parameters if frame size has been changed. Thanks to Hidefumi Fujimoto . * keyboard.c (command_loop_1): Setting transient-mark-mode to `only' is a way of turning it on for just one command. Thanks to Hidefumi Fujimoto . * mw32term.c (x_set_window_size): Update `f->win_gravity'. 2004-11-13 MIYOSHI Masanori * keyboard.c (gen_help_event): Undo the last changes. 2004-11-12 MIYOSHI Masanori * mw32term.c (mw32_scroll_bar_handle_click): Initialize `input_event'. Thanks to KOBAYASHI Yasuhiro . (mw32_drop_file_handler): Ditto. (mw32_menu_bar_store_activate_event): Ditto. (mw32_message_loop): Ditto. * keyboard.c (gen_help_event): Ditto. (kbd_buffer_store_help_event): Ditto. (record_asynch_buffer_change): Ditto. (read_avail_input): Ditto. 2004-11-12 MIYOSHI Masanori * fileio.c (Fvisited_file_modtime): Sync up with Emacs CVS HEAD. Thanks to Hidefumi Fujimoto . * keymap.c (syms_of_keymap): Ditto. 2004-11-11 MIYOSHI Masanori * macros.c: Sync up with Emacs CVS HEAD. Thanks to Hidefumi Fujimoto . * lisp.h: Update a declaration. Thanks to Hidefumi Fujimoto . * keyboard.c (Fcommand_execute): Update arguments for Fexecute_kbd_macro(). Thanks to Hidefumi Fujimoto . 2004-11-10 MIYOSHI Masanori * fns.c: New Lisp objects: Qcodeset, Qdays, Qmonths and Qpaper. (Flax_plist_get): New function from Emacs CVS HEAD. (Flax_plist_put): Ditto. (Feql): Ditto. (Fclear_string): Ditto. (syms_of_fns): Define functions described above. Thanks to Kenichi Niioka . * fileio.c: Update doc strings. New Lisp Objects: Qauto_save_coding, Qafter_insert_file_set_coding, Qwrite_region_annotate_functions and Qset_file_times. (Fset_file_times): New function from Emacs CVS HEAD. (syms_of_fileio): Sync up with Emacs CVS HEAD. * data.c (Fbyteorder): New function from Emacs CVS HEAD. (syms_of_data): Define Sbyteorder(). 2004-11-09 MIYOSHI Masanori *