1999-08-09  Miyashita Hisashi  <himi@bird.scphys.kyoto-u.ac.jp>

	* w32.c:
	New variable Vexec_suffix_list.
	(setup_exec_suffix_list):
	New fuction
	(syms_of_w32misc):
	set up Vexec_suffix_list.

1999-08-07  Miyashita Hisashi  <himi@bird.scphys.kyoto-u.ac.jp>

	* mw32bdf.c (mw32_BDF_TextOut):
	Let hBMP and bits static.
	Make new static variables DIBsection_hdc, DIBsection_width,
	and DIBsection_height to store current status of DIB section.
	If these are identical to required DIB section,
	use the current hBMP handle for efficiency.

	* mw32menu.c (modifymenu_encode):
	New function to check whether the current menu string is identical
	to new one, and if it is, return 1.  Otherwise, modify menu string
	with new one, and then return 0.
	(x_activate_menubar):
	Set pending_menu_activation to 1, call set_frame_menubar(),
	and then reset pending_menu_activation to 0.
	(set_frame_menubar):
	Enable deep_p argument.  If deep_p is 0, refresh only top level
	menu items.  At this, if all item strings are identical to
	previous corresponding items, do nothing for efficiency.
	And at the end of the function, in the case of pending_menu_activation,
	call SetEvent() on f->output_data.w32->mainthread_to_frame_handle
	in order to inform message loop thread of the finish of menubar
	reconstruction.

	* mw32term.c (w32_menu_bar_store_activate_event):
	New function.
	(W32read_socket [case WM_INITMENU]):
	Removed.
	(x_destroy_window):
	Call CloseHandle() on
	f->output_data.w32->mainthread_to_frame_handle.
	(w32_term_init):
	Initialize message_loop_blocked_p with 0.

	* mw32term.h:
	New extern declaration message_loop_blocked_p.

	* mw32term.c:
	New variable message_loop_blocked_p.

	* mw32term.h (struct w32_output):
	New menber mainthread_to_frame_handle
	and disable reconstruct_menubar.

	* mw32fns.c (w32_WndProc [case WM_INITMENU, WM_EXITMENULOOP):
	When WM_INITMENU message comes from the menubar of the frame,
	call w32_menu_bar_store_activate_event() to rebuild menubar.
	When WM_EXITMENULOOP comes from the menubar of the frame,
	set disable_reconstruct_menubar to 0 in order to allow main
	thread reconstruct menubar.
	(w32_window):
	Initialize mainthread_to_frame_handle.

1999-07-30  Miyashita Hisashi  <himi@bird.scphys.kyoto-u.ac.jp>

	* coding.c (detect_eol_type_in_2_octet_form):
	New function.
	(detect_eol):
	cooding->category_idx selects
	which detect_eol_type_XXX () is called.

1999-07-29  Miyashita Hisashi  <himi@bird.scphys.kyoto-u.ac.jp>

	* coding.c 
	write some comment on coding-category-utf-8,
	coding-category-utf-16-be, and coding-category-utf-16-le.
	(coding_category_name): 
	Append "coding-category-utf-8",
        "coding-category-utf-16-be",
        and "coding-category-utf-16-le".
	(UTF_8_1_OCTET_P): 
	(UTF_8_EXTRA_OCTET_P): 
	(UTF_8_2_OCTET_LEADING_P): 
	(UTF_8_3_OCTET_LEADING_P): 
	(UTF_8_4_OCTET_LEADING_P): 
	(UTF_8_5_OCTET_LEADING_P): 
	(UTF_8_6_OCTET_LEADING_P):
	New macros for checking UTF-8 octets range.
	(detect_coding_utf_8):
	A new function for detecting UTF-8 text.
	(UTF_16_INVALID_P):
	(UTF_16_HIGH_SURROGATE_P): 
	(UTF_16_LOW_SURROGATE_P):
	New macros for checking UTF-16 octets range.
	(detect_coding_utf_16):
	A new function for detecting UTF-16 text.
	(detect_coding_mask):
	When priorities are specified, skip any categories that have
	`nil' coding-system.
	(detect_coding_mask):
	Bug fix:if detect_coding_XXX() returns the mask
	not set at priorities[i] but set at other bit,
	detect_coding_mask() returned the wrong mask as
	its result.  Fix to detect coding specified by
	priorities[i] correctly.
	(detect_coding_system):
	remove `nil' coding-system in the result.
	(Fupdate_coding_systems_internal):
	update all coding-categories.

	* coding.h (CODING_CATEGORY_IDX_UTF_8): 
	(CODING_CATEGORY_IDX_UTF_16_BE): 
	(CODING_CATEGORY_IDX_UTF_16_LE): 
	New macros
	(CODING_CATEGORY_IDX_RAW_TEXT): 
	(CODING_CATEGORY_IDX_BINARY): 
	(CODING_CATEGORY_IDX_MAX): 
	Renumber these after CODING_CATEGORY_IDX_UTF_16_LE.
	(CODING_CATEGORY_MASK_UTF_8): 
	(CODING_CATEGORY_MASK_UTF_16_BE): 
	(CODING_CATEGORY_MASK_UTF_16_LE): 
	New macros.
	(CODING_CATEGORY_MASK_ANY):
	Append CODING_CATEGORY_MASK_UTF_8,
	CODING_CATEGORY_MASK_UTF_16_BE,
	and CODING_CATEGORY_MASK_UTF_16_LE.
	(CODING_CATEGORY_MASK_UTF_16_BE_LE):
	a new macro.

1999-07-27  Miyashita Hisashi  <himi@bird.scphys.kyoto-u.ac.jp>

        * charset.c (Fmake_char_internal): Check validity of code points.
        * coding.c (DECODE_CHARACTER_ASCII): Decode ASCII invocated to GR
        correctly.
	These changes are from Handa-san.

	* mw32font.c (set_ccl_method):
	Correspond to the below specification change.
	Call setup_ccl_program() with symbol and
	entruct checking whether the given data is valid to
	setup_ccl_program().

	Below changes are from Handa-san.

	* ccl.h (setup_ccl_program): The type is changed to `int'.

	* ccl.c (ccl_driver) <CCL_Call>: Now CCL program ID to call may be
	stored in the following CCL code.  Adjusted for the change of
	Vccl_program_table.
	(resolve_symbol_ccl_program): Adjusted for the new style of
	embedded symbols (SYMBOL . PROP) in CCL compiled code.   Return Qt
	is resolving failed.
	(ccl_get_compiled_code): New function.
	(setup_ccl_program): Function type changed from `void' to `int'.
	Resolve symbols in CCL_PROG.
	(Fccl_program_p): New function.
	(Fccl_execute): Get compiled CCL code by just calling
	setup_ccl_program.
	(Fccl_execute_on_string): Likewise.
	(Fregister_ccl_program): Adjusted for the change of
	Vccl_program_table.

	* coding.c (setup_coding_system): Get compiled CCL code by just
	calling setup_ccl_program.

	* xterm.c (x_find_ccl_program): Get compiled CCL code by just
	calling setup_ccl_program.

	* w32fns.c (w32_find_ccl_program): Get compiled CCL code by just
	calling setup_ccl_program.


1999-07-19  Miyashita Hisashi  <himi@bird.scphys.kyoto-u.ac.jp>

	* w32inevt.c: 
	enable below definitions.
	    extern void reinvoke_input_signal (void);
	    extern int change_frame_size (FRAME_PTR, int, int, int, int);
	    extern int w32_use_full_screen_buffer;

	* w32console.c (write_glyphs):
	Use FillConsoleOutputAttribute() to fill attribute.

	* w32.c (file_attributes_stat):
	If Vw32_get_true_file_attributes is non-nil,
	generate i-node and set link_count from the
	information generated by GetFileInformationByHandle().
	(stat):
	Disable the part that corresponds to the above operation.

	* makefile.nt (install):
	If MEADOW_TEST_RELEASE is enabled, install vc.pdb.

1999-07-18  Miyashita Hisashi  <himi@bird.scphys.kyoto-u.ac.jp>

	* w32proc.c (sys_select): 
	On Meadow, use only WaitForMultipleObjects()
	even if keyboard_handle is set to FD 0.
	And disables drain operaion of message queue.
	(read comments)

	* callproc.c (Fcall_process): 
	* process.c (Fstart_process): 
	* w32.c (check_windows_init_file):
	Close fd only when fd is valid (greater than 0).
	(thanks to Hiroya Tsubakimoto [meadow-develop:1221])

	* unexw32.c (get_section_info):
	Bug fix: set SectionNameData_found to 1.

	* mw32fns.c (x_rgb_names):
	Bug fix: rescale color values because X rgb: color scale is
	defined by number of characters.
	(color_radix_change):
	Check range of size.

	* w32.c (init_w32system): 
	* mw32term.c (w32_term_init): 
	Initialize interrupt_handle in
	init_w32system() instead of w32_term_init()
	to initialize it also on console.
	(reported from Shun-ichi GOTO [meadow-develop 1211])
	(W32read_socket):
	In the case of WM_INITMENU, store menu_bar_activate_event.

1999-07-17  Miyashita Hisashi  <himi@bird.scphys.kyoto-u.ac.jp>

	* mw32bdf.c: 
	(BDF_CODEPOINT_HEAP_INITIAL_SIZE):
	(BDF_BITMAP_HEAP_INITIAL_SIZE): 
	New macro for HeapCreate() parameter.
	(hbdf_cp_heap):
	(hbdf_bmp_heap):
	heap handles for character codepoint and character bitmap respectively.
	(mw32_init_bdf_font):
	Initialize hbdf_cp_heap and hbdf_bmp_heap.
	(mw32_free_bdf_font):
	Call HeapFree() to free codepoint table.
	(cache_char_offset):
	Call HeapAlloc() to allocate codepoint table instead of xmalloc().
	(clear_cached_bitmap_slots):
	Call HeapFree() to free cached bitmap data.
	(mw32_get_bdf_glyph):
	Create bitmap data for DIB instead of compatible bitmap.
	And if this glyph is white space, return -1.
	(get_bitmap_with_cache):
	Copy bitmap to memory allocated by HeapAlloc() for cache.
	If bitmap is a what space, set pbmp to NULL.
	(create_offscreen_bitmap):
	New function to create DIBSection.
	(mw32_BDF_TextOut):
	Draw BDF font with DIBSection.
	Copy bitmap data directly into DIBSection memory.
	When pcb->pbmp is NULL, regard it as a white space character,
	then skip it.

	* mw32bdf.h
	Write some comment on GLYPH METRIC.
	(BDF_FONT_CACHE_SIZE):
	Increase cache size to 3000.
	(BDF_FONT_CLEAR_SIZE):
	Increase clear size to 600.
	(glyph_struct):
	New member row_byte_size.
	(cache_bitmap):
	New member row_byte_size.

	* unexw32.c (get_section_info):
	Introduce SectionNameData_found to check if the current section is
	the first .emdata section.  And print out the log of .emdata
	section.  These dealings are for alpha version of Visual C++
	Version 6.

1999-05-12  Miyashita Hisashi  <himi@bird.scphys.kyoto-u.ac.jp>

	* mw32term.c
	(fast_find_position):
	(show_mouse_face): 
	Sync up with xterm.c

1999-05-10  Miyashita Hisashi  <himi@bird.scphys.kyoto-u.ac.jp>

	* mw32bdf.c (GET_HEX_VAL):
	If the input is ranged from g(G) to z(Z), make it fails.

1999-05-08  Miyashita Hisashi  <himi@bird.scphys.kyoto-u.ac.jp>

	* w32.c (CSTR_EQUAL):
	If CSTR_EQUAL is not defined, define it as 2.

1999-05-03  Miyashita Hisashi  <himi@bird.scphys.kyoto-u.ac.jp>

	* mw32font.c (Fw32_enum_logfont):
	Cast mw32_enumfontfamilyproc with (FONTENUMPROC)
	because the actual type of mw32_enumfontfamilyproc's last argument
	is Lisp_Object* is confilicts with the formal type LPARAM.

1999-05-02  Miyashita Hisashi  <himi@bird.scphys.kyoto-u.ac.jp>

	* mw32font.c
	(Fw32_get_logfont_info):
	(Fw32_get_font_info):
	(Fw32_get_font_logfont):
	At the tail, add return Qnil to make every control path return
	value.

	* keyboard.c (async_handle_message): 
	call SetEvent(keyboard_handle), even if we read no events.

1999-05-01  Miyashita Hisashi  <himi@bird.scphys.kyoto-u.ac.jp>

	* keyboard.c (async_handle_message):
	Only when read_avail_input read any inputs,
	call SetEvent(keyboard_handle).

	* w32proc.c (sys_select):
	ResetEvent() interrupt_event before waiting for interrupt_event.
	because WaitForMultipleObjects() cannot be released by PulseEvent().

	* keyboard.c (read_avail_input):
	remove PulseEvent() because it is hard to check keycode
	that is not modified at this point.
	(interrupt_signal):
	Set SetEvent().

	* mw32term.c (w32_drop_file_handler): 
	rename w32_drag_n_drop_handler to w32_drop_file_handler.

	(W32read_socket [case WM_EMACS_POPUP_MENU]):
	When the message queue is not empty (for example, owing to
	WM_PAINT that is never removed by PeekMessage().), this message
	loop can't stop.  Hence, we make PeekMessage() receives only WM_COMMAND
	and then try PeekMessage() only once.

1999-05-01  Horiguchi Kyotaro  <kyota@po.ntts.co.jp>

	* mw32term.c (w32_drag_n_drop_handler, W32read_socket
	  [case WM_EMACS_CREATE_WINDOW, WM_DROP_FILES],

	* keyboard.c (make_lispy_event [case drag_n_drop])
	Added support for Drag and Drop.

1999-04-29  Horiguchi Kyotaro  <kyota@po.ntts.co.jp>

	* callproc.c (Fcall_process)
	* process.c (Fstart_process)
	PROGRAM, INFILE, STDERR-FILE and cmdname are allowed to be a
	string containing mutibyte characters (Using ENCODE_FILE to encode
	string)
        For argument editing, any program pathes are allowed to pass
	argument editing program. (Addition to changes on 1999-02-24.)

	* lread.c (openp)
	str is allowed to be a string containig multibyte characters. This
	change allows to check files correctly whose names are such strings.

1999-04-27  Miyashita Hisashi  <himi@bird.scphys.kyoto-u.ac.jp>

	* mw32reg.h (w32_get_string_resource): 
	* mw32reg.c (w32_get_string_resource):
	Change type of arguments to LPCTSTR.

	* mw32reg.h (REG_VERSION_ROOT):
	(REG_VERSION_ENV_ROOT): 
	(REG_COMMON_ROOT): 
	(REG_COMMON_ENV_ROOT):
	New macros instead of REG_ROOT and REG_ENV_ROOT.

	* mw32reg.c
	Define meadow_version_string, meadow_common_root,
	meadow_common_env_root, meadow_version_root, and
	meadow_version_env_root.
	
	(w32_get_env_resource):
	(x_get_string_resource): 
	Check version specific registry entry first,
	then check common registry entry.

1999-04-25  Miyashita Hisashi  <himi@bird.scphys.kyoto-u.ac.jp>

	* w32.c (init_environment):
	When we set current directory to the invocation directory,
	parse the path with CharNext, and copy it to tmporary area.
	(and sync up with 20.3.8)

1999-04-19  Miyashita Hisashi  <himi@bird.scphys.kyoto-u.ac.jp>

	* mw32term.c (dumpglyphs):
	specify bytes of font.  Make it independent of charset_dimension.
	(dumpglyphs):
	When codepoint is encoded by CCL and encoding[charset] is 4(SJIS,
	but which is alomost meaningless),
	set font_unit_bytes to charset_dimension.

1999-03-27  Miyashita Hisashi  <himi@bird.scphys.kyoto-u.ac.jp>

	* ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>:
	Bug fix: Skip leading byte(CHARSET_COMPOSTION)
	of composite character

1999-03-17  Miyashita Hisashi  <himi@bird.scphys.kyoto-u.ac.jp>

	* mw32bdf.c (get_quoted_string):
	Bug fix: search length of quatation mark at tail is
	not (end - q) but (end - p).

1999-03-01  Miyashita Hisashi  <himi@bird.scphys.kyoto-u.ac.jp>

	* mw32bdf.c (cache_char_offset): 
	(get_cached_font_char): 
	To change codepoint range easily, rewrite the part of
	checking codepoint range with the below macro.

	* mw32bdf.h (BDF_CODEPOINT_MAX): 
	(BDF_CODEPOINT_RANGE_COVER_P):
	New macro.
	

1999-02-28  Miyashita Hisashi  <himi@bird.scphys.kyoto-u.ac.jp>

	* w32.c (w32_get_long_filename):
	Bug fix: when any directory separators are found,
	Set p to NULL pointer to distinguish from the temporary
	mark to separate a path element.

1999-02-27  Miyashita Hisashi  <himi@bird.scphys.kyoto-u.ac.jp>

	* w32.c (file_attributes_stat): Bug fix: Fix to check whether the
	last character of path is directory separator, not to check a
	terminator(0) of string.

	* mw32ime.c (w32_set_ime_font):
	Exclude the case that psetlf is NULL.

	* mw32fns.c (syms_of_w32fns): Set Qime_font.

	(w32_window):
	(Fx_create_frame): The default font with which IME displays
	internally is set not at w32_window() but at Fx_create_frame() and
	it is determined also by `params' that is passed to
	Fx_create_frame().

1999-02-26  Miyashita Hisashi  <himi@bird.scphys.kyoto-u.ac.jp>

	* w32.c (open_unc_volume):
	Change prototype of path to const char*.

1999-02-25  Miyashita Hisashi  <himi@bird.scphys.kyoto-u.ac.jp>

	* w32.c (normalize_filename): 
	(parse_root): 
	(get_long_basename): 
	(w32_get_long_filename): 
	(is_unc_volume): 
	(get_volume_info): 
	(map_w32_filename): 
	(readdir): 
	(read_unc_volume): 
	(sys_link): 
	(sys_rename): 
	(generate_inode_val): 
	(stat): 
	(file_attributes_stat): 
	Rewrite with W32 string manipulation API.
	(Use string type TCHAR instead char)
	
	(is_string_contains_chars): 
	New function.

1999-02-24  Miyashita Hisashi  <himi@bird.scphys.kyoto-u.ac.jp>

	* w32proc.c (sys_spawnve):
	Checks whether the cmdname (that have already 
	produced by argument editing) exists.

	* callproc.c (Fcall_process):
	For argument editing, any program pathes are allowd to
	pass argument editing program.

1999-02-23  Miyashita Hisashi  <himi@bird.scphys.kyoto-u.ac.jp>

	* keyboard.c (read_key_sequence):
	Immerge IME_CONTROL operation again.

	* w32proc.c (sys_spawnve):
	To canonicalize cmdname, call openp to retrieve full path.
	And remove the check of Ffile_executable_p().

1999-02-21  Miyashita Hisashi  <himi@bird.scphys.kyoto-u.ac.jp>

	* mw32fns.c (w32_WndProc):
	Change frame size in delay mode.

	* mw32menu.c (free_frame_menubar):
	To preserve window area of the frame as correctly as possible,
	call SetWindowPos() with its before value.

1999-02-20  Miyashita Hisashi  <himi@bird.scphys.kyoto-u.ac.jp>

	* mw32fns.c (w32_WndProc):
	For visible-bell, Imprement WM_EMACS_FLASH_WINDOW.

	* mw32term.c
	(x_iconify_frame):
	(W32clear_frame): 
	(W32clear_end_of_line): 
	(W32cursor_to): 
	(W32reset_terminal_modes): 
	(W32set_terminal_modes): 
	(W32reassert_line_highlight): 
	(W32frame_up_to_date): 
	(W32update_end): 
	(W32update_begin): 
	(W32ring_bell): 
	(W32insert_glyphs): 
	(W32delete_glyphs): 
	(W32set_terminal_window): 
	(W32ins_del_lines): 
	Change prototype.  Set the type of the return value to void.

	* mw32term.h (WM_EMACS_FLASH_WINDOW):
	New macro.

	* mw32term.c (W32ring_bell):
	Post WM_EMACS_FLASH_WINDOW if visible bell is enabled.

	* mw32term.h:
	Define gravity parameters.

	* keyboard.c (async_handle_message):
	Remove a critical section from read_avain_input() part.
	(Move it to finer parts).

	* mw32fns.c (w32_WndProc):
	Set dumprectangle() part to a critical section.

1999-02-18  Miyashita Hisashi  <himi@bird.scphys.kyoto-u.ac.jp>

	* mw32ime.c (Fw32_ime_undetermined_string_length):
	Rename from Fdoes_ime_have_undetermined_strings.

	* mw32fns.c (Fw32_focus_frame):
	dummy function.
	(syms_of_w32fns):
	Define Sw32_focus_frame.

	* mw32term.c
	(w32_focus_on_frame): 
	(w32_unfocus_frame): 
	Rename x_focus_on_frame and x_unfocus_frame, respectively.
	Write some comments.

	* w32proc.c (sys_spawnve):
	Use STRING_BYTES() instead.

1999-02-04  Miyashita Hisashi  <himi@bird.scphys.kyoto-u.ac.jp>

	* mw32menu.c (single_menu_item):
	New function from xmenu.c.
	Disable the facility to display a mark of submenu.
	Enable the facility to show submenu.
	(syms_of_w32menu):
	Remove Qmenu_alias to follow xmenu.c

	* mw32fns.c (w32_WndProc): 
	Dispatch IMM message to a specialized wndproc.

	* mw32term.h:
	Define many macros for communication between IMM Agent
	and Lisp Interpreter.

	* mw32menu.c (insertmenu_decode): 
	(appendmenu_decode): 
	Use '\0' instead of NULL.

1998-08-09  Miyashita Hisashi  <himi@bird.scphys.kyoto-u.ac.jp>

	* mw32term.h:
	Make classification many messages with their functions.

1998-07-15  Miyashita Hisashi  <himi@bird.scphys.kyoto-u.ac.jp>

	* mw32bdf.c (get_quoted_string):
	append new function to obtain quoted string.
	(set_bdf_font_info):
	initialize new font properties.
	(mw32_get_bdf_font_info):
	Set new font properties to alist.
	(set_bdf_font_info):
	Set new font properties from BDF data.

1998-04-25  Miyashita Hisashi  <himi@bird.scphys.kyoto-u.ac.jp>

	* mw32term.c (dumpglyphs):
	Bug fix: to get metrics of fonts, use cps instead of bufs.

1998-04-06  Miyashita Hisashi  <himi@bird.scphys.kyoto-u.ac.jp>

	* xterm.h:
	append extern declearation of x_find_ccl_program().
	
	* xterm.c (x_find_ccl_program):
	Even if bad data type is found, not give up but try next one.
	bug fix to the argument of resolve_symbol_ccl_program.

	* xfns.c (syms_of_xfns):
	set backend hook.(find_ccl_program_func)

1998-03-28  Miyashita Hisashi  <himi@bird.scphys.kyoto-u.ac.jp>

	* mw32fns.c
	(Fx_create_frame): 
	(w32_set_font): 
	 Set regexpp to Qt because of change of Fquery_fontset.

1998-03-28  Miyashita Hisashi  <himi@bird.scphys.kyoto-u.ac.jp>

	* fontset.c (Fnew_fontset):
	(Fset_fontset_font): 
	* xfns.c (x_set_font):
	(Fx_create_frame): 
	 Set regexpp to Qnil because of change of Fquery_fontset.

1998-03-25  Miyashita Hisashi  <himi@bird.scphys.kyoto-u.ac.jp>

	* coding.c (setup_coding_system):
	Get a ccl program specified by SYMBOL.

1998-03-23  Miyashita Hisashi  <himi@bird.scphys.kyoto-u.ac.jp>

	* xterm.c (x_find_ccl_program):
	To convert CCL program to make it executable by using
	resolve_symbol_ccl_program().

1998-03-21  Miyashita Hisashi  <himi@bird.scphys.kyoto-u.ac.jp>

	* ccl.c (Fccl_execute): 
	(Fccl_execute_on_string): 
	ccl-execute and ccl-execute-on-string can handle SYMBOLized
	CCL-PROGRAM.
	
1998-03-20  Miyashita Hisashi  <himi@bird.scphys.kyoto-u.ac.jp>

	* ccl.c (Fregister_ccl_program): 
	modify to use resolve_symbol_ccl_program.
	(resolve_symbol_ccl_program):
	New function.

1998-03-19  Miyashita Hisashi  <himi@bird.scphys.kyoto-u.ac.jp>

	* ccl.c:
	Qunification_table:
	Qunification_table_id: new variables.
	(syms_of_ccl): 
	Register Qunification_table and Qunification_table_id,
	and protect these as static.
	(Fregister_ccl_program): 
	Convert a vector of ccl program.
	Change ccl_translation_table and unification_table symbol to
	their ID.
	(ccl_driver): (CCL_TranslateMultipleMap)
	modified to use	nested tables.
	(CCL_ReadMultibyteChar2):
	Rename CCL_ReadMultibyteCharacter into this.

1998-01-23  Miyashita Hisashi  <himi@bird.scphys.kyoto-u.ac.jp>

	* w32proc.c: New variable, Vw32_get_true_file_link_count.
	(syms_of_ntproc): New variable, Vw32_get_true_file_link_count.

1998-01-12  Miyashita Hisashi  <himi@bird.scphys.kyoto-u.ac.jp>

	* w32.c (file_attributes_stat): 
	Delete count_subdirectory.  Instead, use this function.

	* dired.c (Ffile_attributes): 
	use file_attribute_stat to know a link count of a directory.

1998-01-08  Miyashita Hisashi  <himi@bird.scphys.kyoto-u.ac.jp>

	* w32.c (count_subdirectory):
	New function.
	(stat): set 2 + number of subdirectorys to st_nlink
	when the specified path is a directory.

1997-11-21  Miyashita Hisashi  <himi@bird.scphys.kyoto-u.ac.jp>

	* w32.c (get_emacs_configuration):
	fix wrong use of GetVersion().

1997-11-08  Miyashita Hisashi  <himi@bird.scphys.kyoto-u.ac.jp>

	* keyboard.c (read_avail_input):
	Read input from file handle. So remove "return 0;"

	* dispnew.c (init_display):
	isatty() on Windows does not show whether the I/O is a tty.
	So disable this code.

	* termcap.c (tgetent):
	(valid_filename_p): 
	 change compile condition from MSDOS to DOS_NT.
	
	* w32.c (init_environment):
	add TERMCAP environment.

	* term.c (term_init):
	To support various terminal on Windows, make terminal initialize code
	selectable.

1997-11-06  Miyashita Hisashi  <himi@bird.scphys.kyoto-u.ac.jp>

	* w32proc.c (sys_select): 
	If a process can't be created by accident, cp may be NULL.
	In this case, we should skip this handle, not abort().

1997-11-04  Miyashita Hisashi  <himi@bird.scphys.kyoto-u.ac.jp>

	* w32console.c (write_glyphs):
	encode output string.

1997-11-03  Miyashita Hisashi  <himi@bird.scphys.kyoto-u.ac.jp>

	* termhooks.h (event_kind): 
	append w32_change_keyboard_layout.

	* charset.c (find_charset_in_str): 
	If we can't valid charset in string, not set "charsets" table to 1.

1997-11-2 Miyashita Hisasshi <himi@bird.scphys.kyoto-u.ac.jp>

	* w32proc.c (sys_spawnve):
	Set process_dir to NULL.
	(We should check whether process_dir is set by caller.)
	(create_child): 
	When process_dir is not set by caller, we use NULL to
	call CreateProcess.

1997-10-30  Miyashita Hisashi  <himi@bird.scphys.kyoto-u.ac.jp>

	* window.c (Fset_window_buffer):
	add set_selected_window_buffer_functions hook.
	(syms_of_window):
	add select-window-functions, select-window-buffer-functions.

1997-10-24  Miyashita Hisashi  <himi@bird.scphys.kyoto-u.ac.jp>

	* w32proc.c (w32_executable_type): 
	Type of nt_header and dos_header is defferent.
	Cast them into (char*)

1997-08-31  Miyashita Hisashi  <himi@bird.scphys.kyoto-u.ac.jp>

	* w32.c (sys_read): 
	use flag and if the ReadFile is failed by reading bloken pipe,
	return 0.

1997-08-30  Miyashita Hisashi  <himi@bird.scphys.kyoto-u.ac.jp>

	* w32.c (_sys_read_ahead):
	If the pfn_recv() returns SOCKET_ERROR and its reason
	is that the socket receives no data in non-blocing mode,
	I retry pfn_recv().

1997-08-20  Miyashita Hisashi  <himi@etl.go.jp>

	* ccl.c (syms_of_ccl):
	append new variable Vccl_translation_table_vector.
	(Fregister_ccl_translation_table): New function.
	(Fregister_ccl_program): delete unused variable int idx.
	(syms_of_ccl): append new symbols.
	Qccl_translation_table and Qccl_translation_table_id.

1997-08-19  Miyashita Hisashi <himi@etl.go.jp>

	* ccl.c: (CCL_Call) fix the comment.

	* charset.h (UNIFICATION_ID_TABLE):
	made a new macro for CCL.
	(Vcharacter_unification_table_vector):
	export.

1997-08-16  Miyashita Hisashi  <himi@etl.go.jp>

	* ccl.h: (struct ccl_program):
	append private_state for suspending.

1997-08-11  Miyashita Hisashi  <himi@etl.go.jp>

	* charset.c (syms_of_charset):
	make Vcharacter_unification_table_vector.

	* ccl.c (EXCMD): add new entry for excmd.
	(CCL_ReadMultibyteCharacter): 
	(CCL_WriteMultibyteCharacter): 
	(CCL_UnifyMultibyteCharacter): 
	(CCL_IterateMultipleMap):
	(CCL_TranslateMultipleMap): New CCL Command

1997-07-22 Miyashita Hisashi   <himi@bird.scphys.kyoto-u.ac.jp>

	* termhooks.h (event_kind): add w32_mouse_wheel for intellimouse.

	* keyboard.c (syms_of_keyboard): set staticpro (&mouse_wheel_syms).

	* keyboard.c : Add static char *lispy_mouse_wheel_names and 
	mouse_wheel_syms for Intellimouse.
	(make_lispy_event): Add w32_mouse_wheel condition.

1997-05-17  Miyashita Hisashi  <himi@bird.scphys.kyoto-u.ac.jp>

	* buffer.h: 
	(struct buffer_text)
	* buffer.c
	(syms_of_buffer): 
	(init_buffer_once): 
	(reset_buffer_local_variables): 
	(init_buffer_once): 
	* fileio.c
	(Finsert_file_contents):
	(Fwrite_region):
	(syms_of_fileio): 
	On MULE, buffer_file_type and find-buffer-file-type is not required.
	And file mode is fixed to O_BINARY.

Thu Mar 06 14:40:23 1997  himi  <himi@etl.go.jp>

	* ccl.h: add ccl-program symbol.

	* ccl.c (syms_of_ccl): add ccl-program symbol.

Wed Mar 05 23:54:40 1997  himi  <himi@etl.go.jp>

	* dispextern.h: To add property to struct face.
	                "Lisp_Object *property" have array of properties.
			This array can have only Lisp_Object_Int.
			And delete "char underline".

	* xterm.c (x_find_ccl_program): move it from fontset.c.

	* xfns.c (syms_of_xfns): set pointer "find_ccl_program_func" to x_find_ccl_program.

	* fontset.h: add *find_ccl_program_func.

	* fontset.c (fs_load_font): use (*find_ccl_program_func).

