+2003-03-21 Kenichi Handa <handa@m17n.org>
+
+ * fileio.c (Fexpand_file_name): Fix previous change.
+
+2003-03-19 Kenichi Handa <handa@m17n.org>
+
+ * fileio.c (Ffile_name_directory): Reconstruct file name by
+ make_specified_string.
+ (Ffile_name_nondirectory, Ffile_name_as_directory)
+ (Fdirectory_file_name, Fexpand_file_name)
+ (Fsubstitute_in_file_name): Likewise.
+ (Fread_file_name): Compare decoded homedir with DIR and
+ DEFAULT_FILENAME.
+
+ * alloc.c (make_specified_string): If NCHARS is negative, count
+ the number of characters.
+
+2003-03-18 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
+
+ * gtkutil.c (xg_frame_cleared): Call gtk_widget_queue_draw for
+ all widgets.
+
+ * gtkutil.h: Removed xg_ignore_next_thumb.
+
+2003-03-18 Kenichi Handa <handa@etlken2>
+
+ * coding.c (Vchar_coding_system_table): Remove this variable.
+ (Vcoding_system_safe_chars): New variable.
+ (intersection): Remove this function.
+ (find_safe_codings): Don't use Vchar_coding_system_table, but try
+ all codings in SAFE_CODINGS.
+ (Ffind_coding_systems_region_internal): Adjusted for the change of
+ find_safe_codings. Get generic coding systems from
+ Vcoding_system_safe_chars.
+ (Fdefine_coding_system_internal): New function.
+ (syms_of_coding): Defsubr Sdefine_coding_system_internal.
+ Initialize and staticpro Vcoding_system_safe_chars.
+
+2003-03-18 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
+
+ * gtkutil.c (xg_set_toolkit_scroll_bar_thumb): Check if new values
+ equal old values before updating.
+
+ * xterm.c (xg_scroll_callback): Remove xg_ignore_next_thumb.
+
+ * gtkutil.c (xg_initialize): Remove xg_ignore_next_thumb.
+
+2003-03-17 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
+
+ * gtkutil.c: Removed handle_fixed_child, struct xg_last_sb_pos.
+ (xg_resize_widgets): Don't call foreach(handle_fixed_child).
+ (xg_gtk_scroll_destroy): Remove free of struct xg_last_sb_pos.
+ (scroll_bar_button_cb): Set bar->dragging to NIL on button release.
+ (xg_create_scroll_bar): Pass bar to button event callback.
+ (xg_find_top_left_in_fixed): New function.
+ (xg_update_scrollbar_pos): Don't call gdk_window_clear on
+ whole scroll bar area. Get old position with
+ xg_find_top_left_in_fixed, calculate and only clear needed areas.
+ (xg_set_toolkit_scroll_bar_thumb): Do not adjust scroll bar if
+ dragging is in progress. Calculate whole as for Motif.
+ Remove code that saved last values. Call gtk_range functions to
+ set scroll bar sizes.
+
+ * gtkutil.h: Removed xg_ignore_next_thumb.
+
+2003-03-17 Juanma Barranquero <lektu@terra.es>
+
+ * makefile.w32-in ($(BLD)/xdisp.$(O)): Add dependency on blockinput.h
+ and files included from it.
+
+2003-03-16 Jason Rumney <jasonr@gnu.org>
+
+ * w32gui.h: Use HDC for Display.
+
+ * w32term.c (w32_encode_char): Prevent double-byte chars from
+ crashing Emacs.
+
+ * w32fns.c (jpeg_load, png_load, slurp_file): Read image files
+ as binary.
+
+2003-03-16 Juanma Barranquero <lektu@terra.es>
+
+ * xdisp.c (x_produce_glyphs): Use FRAME_BASELINE_OFFSET.
+
+2003-03-16 Kim F. Storm <storm@cua.dk>
+
+ The following changes consolidate some of the gui-independent
+ parts of the processing and drawing of "glyph strings" from
+ xterm.c, w32term.c, and macterm.c into xdisp.c.
+
+ * dispextern.h (struct glyph): Reduce face_id member from 22 to
+ 21 bits (this reduces number of faces from 4M to 2M).
+ Replace W32 specific w32_font_type member (2 bits) by generic
+ font_type member (3 bits) for portability.
+ (FONT_TYPE_UNKNOWN): New define, default for font_type member.
+ (enum draw_glyphs_face): Define here.
+ (struct glyph_string): Define here. Merge W32 and X versions.
+ (struct redisplay_interface): New members per_char_metric,
+ encode_char, compute_glyph_string_overhangs, draw_glyph_string.
+ (VCENTER_BASELINE_OFFSET): Define here.
+ (dump_glyph_string, x_get_glyph_overhangs, x_produce_glyphs)
+ (x_draw_glyphs, notice_overwritten_cursor): Declare prototypes here.
+
+ * xdisp.c: Consolidate gui-independent "glyph string" code here.
+ (dump_glyph_string): Moved here.
+ (init_glyph_string, append_glyph_string_lists, append_glyph_string)
+ (prepend_glyph_string_lists, get_glyph_face_and_encoding)
+ (fill_composite_glyph_string, fill_glyph_string)
+ (fill_image_glyph_string, fill_stretch_glyph_string)
+ (left_overwritten, left_overwriting, right_overwritten)
+ (right_overwriting, get_char_face_and_encoding)
+ (set_glyph_string_background_width, compute_overhangs_and_x)
+ (append_glyph, append_composite_glyph, produce_image_glyph)
+ (take_vertical_position_into_account, append_stretch_glyph)
+ (produce_stretch_glyph): New generic functions (based on X version).
+ Call platform specific functions through rif.
+ (INIT_GLYPH_STRING): New macro, hides W32 details.
+ (BUILD_STRETCH_GLYPH_STRING, BUILD_IMAGE_GLYPH_STRING)
+ (BUILD_CHAR_GLYPH_STRINGS, BUILD_COMPOSITE_GLYPH_STRING)
+ (BUILD_GLYPH_STRINGS): Generic macros (based on X version).
+ (x_draw_glyphs, x_get_glyph_overhangs, x_produce_glyphs)
+ (notice_overwritten_cursor):
+ Generic functions exported to platform modules. Users changed.
+
+ * xterm.h (FONT_DESCENT, FRAME_X_OUTPUT, FRAME_BASELINE_OFFSET)
+ (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE)
+ (STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2):
+ New macros for consolidated code.
+
+ * xterm.c: Remove consolidated defines and code.
+ (x_per_char_metric, x_encode_char)
+ (x_compute_glyph_string_overhangs): Adapt to RIF requirements.
+ (x_redisplay_interface): Add new members.
+
+ * w32gui.h (Display): Add dummy typedef for consolidation.
+ (XChar2b): Define alias for wchar_t for consolidation.
+ (STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2): New macros.
+
+ * w32term.h (FRAME_X_OUTPUT, FRAME_X_WINDOW, FRAME_X_DISPLAY)
+ (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE):
+ New macros for consolidation.
+
+ * w32term.c: Remove consolidated defines and code.
+ (BUILD_WCHAR_T, BYTE1, BYTE2): Macros removed; callers changed
+ to use STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2 instead.
+ (w32_per_char_metric): Change font_type arg to int for RIF.
+ (w32_encode_char): Return int according to RIF requirements.
+ (w32_compute_glyph_string_overhangs): Adapt to RIF.
+ (w32_get_glyph_overhangs): New function for RIF. Uses generic
+ x_get_glyph_overhangs.
+ (w32_redisplay_interface): Add new members.
+
+ * macgui.h (XChar2b): Move typedef here for consolidation.
+ (STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2): New macros.
+
+ * macterm.h (FRAME_X_OUTPUT, FRAME_X_WINDOW, FRAME_X_DISPLAY):
+ (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE): New macros for
+ consolidation.
+
+ * macterm.c: Remove consolidated defines and code.
+ (mac_per_char_metric): New function for RIF.
+ (mac_encode_char): Adapted to new RIF requirements.
+ (mac_compute_glyph_string_overhangs): Adapt for RIF.
+ (x_redisplay_interface): Add new members.
+
+2003-03-14 Richard M. Stallman <rms@gnu.org>
+
+ * lread.c (read1): After #!, exit loop on eof.
+
+2003-03-14 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
+
+ * gtkutil.h: Add declaration for xg_frame_cleared.
+
+ * xterm.c (x_clear_frame): Call xg_frame_cleared for GTK.
+
+ * gtkutil.c (struct xg_last_sb_pos): New structure.
+ (handle_fixed_child): New function.
+ (xg_resize_widgets): Call handle_fixed_child on all scroll bar widgets
+ and force a redraw on them.
+ (xg_gtk_scroll_destroy): Free struct xg_last_sb_pos also.
+ (xg_create_scroll_bar): Add struct xg_last_sb_pos to scroll bar
+ so we can avoid unneeded redraws.
+ (xg_update_scrollbar_pos): Invalidate data in xg_last_sb_pos
+ and force a redraw on the scroll bar.
+ (xg_set_toolkit_scroll_bar_thumb): Do not change/redraw scroll bar
+ if xg_last_sb_pos shows the positions are up to date.
+ (xg_frame_cleared): New function.
+
+2003-03-13 Kenichi Handa <handa@m17n.org>
+
+ * coding.c (Fdetect_coding_region): Fix docstring.
+ (Fdetect_coding_string): Fix docstring.
+
+2003-03-13 Andreas Schwab <schwab@suse.de>
+
+ * gtkutil.c: Add prototype for create_menus.
+
+ * data.c (long_to_cons): Fix type of top.
+
+ * xselect.c (selection_data_to_lisp_data): Use int instead of
+ long for an integer of size 4.
+
+ * gtkutil.c (xg_update_frame_menubar): Add missing return value.
+ (xg_tool_bar_help_callback): Likewise.
+
+2003-03-12 Andreas Schwab <schwab@suse.de>
+
+ * xterm.c (x_term_init) [USE_GTK]: Fix typo.
+
+2003-03-12 Kim F. Storm <storm@cua.dk>
+
+ The following changes consolidate the fringe handling from
+ xterm.c, w32term.c, and macterm.c into xdisp.c.
+
+ * xdisp.c: Consolidate fringe handling code here.
+ (left_bits, right_bits, continued_bits, continuation_bits)
+ (ov_bits, zv_bits): Define fringe bitmaps.
+ (fringe_bitmaps): New array holding fringe bitmaps.
+ (draw_fringe_bitmap): Draw a specific bitmap; call display
+ specific drawing routine via rif->draw_fringe_bitmap.
+ (draw_row_fringe_bitmaps): Generic replacement for
+ x_draw_row_fringe_bitmaps; all callers changed.
+ (compute_fringe_widths): Generic replacement for
+ x_compute_fringe_widths; all callers changed.
+
+ * dispextern.h (enum fringe_bitmap_type): Define here.
+ (struct fringe_bitmap, struct draw_fringe_bitmap_params): New.
+ (fringe_bitmaps): Declare extern.
+ (struct redisplay_interface): New member draw_fringe_bitmap.
+ (draw_row_fringe_bitmaps, compute_fringe_widths): Declare extern.
+
+ * xterm.c: Remove generic fringe code.
+ (x_draw_fringe_bitmap): Only perform actual fringe drawing.
+ (x_redisplay_interface): Add x_draw_fringe_bitmap member.
+
+ * w32term.c: Remove generic fringe code.
+ (w32_draw_fringe_bitmap): Only perform actual fringe drawing.
+ (w32_redisplay_interface): Add w32_draw_fringe_bitmap member.
+
+ * macterm.c: Remove generic fringe code.
+ (x_draw_fringe_bitmap): Only perform actual fringe drawing.
+ (x_redisplay_interface): Add x_draw_fringe_bitmap member.
+
+2003-03-11 Stefan Monnier <monnier@cs.yale.edu>
+
+ * print.c (Fprin1_to_string): Return unibyte string if possible.
+
+2003-03-09 David Kastrup <dak@gnu.org>
+
+ * process.c (read_process_output): We have allocated enough space
+ for readmax and carryover, so actually use the alloted space.
+
+2003-03-09 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
+
+ * keyboard.c (make_lispy_event): Extend mouse_syms if needed for
+ toolkit scrollbar click.
+
+ * xterm.c (x_window_to_scroll_bar): Call xg_get_scroll_id_for_window
+ for USE_GTK.
+ (x_scroll_bar_handle_click): Use this function for toolkit scrollbars
+ also.
+ (handle_one_xevent): ButtonPress/Release: If event is for a toolkit
+ scrollbar and control is pressed, call x_scroll_bar_handle_click.
+
+ * gtkutil.h: Declare xg_get_scroll_id_for_window.
+
+ * gtkutil.c (xg_get_scroll_id_for_window): New function.
+ (xg_tool_bar_item_expose_callback): New function.
+ (xg_tool_bar_expose_callback): Call update_frame_tool_bar.
+ (xg_create_tool_bar): Connect xg_tool_bar_expose_callback to expose
+ on the tool bar widget.
+ (update_frame_tool_bar): Connect xg_tool_bar_item_expose_callback
+ to expose on the tool bar item widgets.
+
+2003-03-08 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
+
+ * gtkutil.c (update_frame_tool_bar): Compare pixmap ID instead of
+ struct image* when deciding to update (struct image* may have been
+ deleted from the image cache).
+
+ * xterm.c (handle_one_xevent): Pass ReparentNotify to Xt even if
+ the event isn't for a frame (i.e. for dialogs).
+
+2003-03-07 Kenichi Handa <handa@m17n.org>
+
+ * coding.c (CODING_ADD_COMPOSITION_COMPONENT): If the number of
+ composition components reaches the limit, terminate composing.
+ (COMPOSITION_OK): New macro.
+ (detect_coding_iso2022): Use it if an escape sequence for
+ composition is found.
+ (coding_restore_composition): Adjust the number of composition
+ components if it is not sane.
+
+2003-03-06 Juanma Barranquero <lektu@terra.es>
+
+ * w32term.h (struct w32_display_info): Add xrdb member to support
+ passing resources via -xrm on Windows.
+
+ * w32term.c (w32_make_rdb): New function.
+ (w32_term_init): Use it to initialize xrdb member of w32_display_info
+ struct. Delete leftover code.
+
+ * w32fns.c (Fx_get_resource, x_get_resource_string): Pass xrdb to check
+ for resources passed on the command line.
+
+ * w32reg.c (w32_get_rdb_resource): New function.
+ (x_get_string_resource): Use it, so resources passed with -xrm
+ supercede the ones in the registry.
+
+2003-03-04 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
+
+ * xterm.c (x_detect_focus_change): Call x_any_window_to_frame
+ instead of x_top_window_to_frame.
+
+2003-03-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
+
+ * xsmfns.c (smc_save_yourself_CB): Add --no-splash to options
+ when restarting Emacs.
+
2003-03-03 Richard M. Stallman <rms@gnu.org>
* buffer.c (Fkill_buffer): Use Frun_hook_with_args_until_failure