*** empty log message ***
[bpt/emacs.git] / src / ChangeLog
index 355b020..20ff835 100644 (file)
@@ -1,5 +1,370 @@
+2003-01-29  Jason Rumney  <jasonr@gnu.org>
+
+       * w32fns.c (init_external_image_libraries): Allow jpeg-62.dll as
+       an alternative name for jpeg.dll.
+
+2003-01-29  Kenichi Handa  <handa@m17n.org>
+
+       * xdisp.c (set_cursor_from_row): Pay attention to string display
+       properties.
+
+2003-01-28  Benjamin Riefenstahl  <Benjamin.Riefenstahl@epost.de>
+
+       * macterm.c (keycode_to_xkeysym_table): Add <tab>, <backspace>,
+       <escape>.
+       (keycode_to_xkeysym_table): Reformat and add more comments.
+       (XTread_socket): Drop special case for backspace.
+
+2003-01-28  Andrew Choi  <akochoi@shaw.ca>
+
+       * macfns.c (x_to_mac_color): Correct the order for parsing the RGB
+       values in old-style RGB specs.
+
+2003-01-27  Juanma Barranquero  <lektu@terra.es>
+
+       * w32fns.c (init_external_image_libraries): Try alternate names for the
+       jpeg dll.
+
+2003-01-27  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
+
+       * gtkutil.c (create_dialog, xg_separator_p)
+       (xg_item_label_same_p, xg_update_menu_item): Check for NULL string
+       before calling strcmp or strlen.
+
+2003-01-26  Jan D.  <jan.h.d@swipnet.se>
+
+       * gtkutil.c (update_frame_tool_bar): Call prepare_image_for_display
+       and handle image load failure.
+
+2003-01-26  Jason Rumney  <jasonr@gnu.org>
+
+       * w32fns.c (init_jpeg_functions, jpeg_resync_to_restart_wrapper):
+       New functions.
+       (jpeg_load): Sync with xfns.c version. Adjust colors for Windows.
+       Disable color table lookups. Call jpeg library functions
+       through pointers determined at runtime.
+       (init_external_image_libraries): Try to load jpeg.dll.
+
+2003-01-25  Richard M. Stallman  <rms@gnu.org>
+
+       * lisp.h: Declare format2 instead of format1.
+
+       * fileio.c (barf_or_query_if_file_exists):
+       Call format2 instead of format1.
+
+       * editfns.c (format2): New function, replaces format1
+       but takes exactly two Lisp Objects as format args.
+
+       * buffer.c (Fkill_buffer): Call format2 instead of format1.
+
+2003-01-25  Jan D.  <jan.h.d@swipnet.se>
+
+       * xterm.h: Change to return value of x_dispatch_event to int.
+
+       * xterm.c (x_filter_event): New function.
+       (event_handler_gdk, XTread_socket): Call x_filter_event.
+       (x_dispatch_event): Change to return value of finish.
+       (event_handler_gdk): Use return value from x_dispatch_event.
+
+       * xfns.c (x_window): Call create_frame_xic for GTK version to
+       initialize input methods.
+
+       * gtkutil.h: Add (void) prototypes.
+
+       * gtkutil.c (create_menus): Remove code that puts the help menu to
+       the right.
+
+2003-01-25  Jason Rumney  <jasonr@gnu.org>
+
+       * w32fns.c (XPutPixel): Handle monochrome images; used for masks.
+       [HAVE_PNG]: Sync with xfns.c version.
+       (png_load): Adjust colors for Windows. Use Windows
+       bitmaps. Disable color table lookups.
+       (DEF_IMGLIB_FN, LOAD_IMGLIB_FN): New macros.
+       (init_png_functions): New function.
+       (png_read_from_memory, png_load): Call png library functions
+       through pointers determined at runtime.
+       (QCloader, QCbounding_box, QCpt_width, QCpt_height): Declare.
+       (init_external_image_libraries): New function.
+       (init_xfns): Call it.
+
+2003-01-24  Andreas Schwab  <schwab@suse.de>
+
+       * minibuf.c (Fminibuffer_message): Verify type of parameter.
+
+2003-01-24  Jan D.  <jan.h.d@swipnet.se>
+
+       * gtkutil.c (xg_initialize): Initialize id_to_widget here instead
+       of static initializer.
+
+2003-01-24  Dave Love  <fx@gnu.org>
+
+       * s/gnu-linux.h (GC_SETJMP_WORKS, GC_MARK_STACK): Define for more
+       architectures.
+
+       * alloc.c (mark_stack) [!GC_LISP_OBJECT_ALIGNMENT && __GNUC__]:
+       Use __alignof__.
+
+2003-01-24  Kenichi Handa  <handa@m17n.org>
+
+       * keyboard.c (adjust_point_for_property): New second arg MODIFIED.
+       It it is nonzero, don't pretend that an invisible area doesn't
+       exist.
+       (command_loop_1): Call adjust_point_for_property with proper
+       second arg.
+
+2003-01-22  Jason Rumney  <jasonr@gnu.org>
+
+       Sync changes with xterm.c and xfns.c.
+
+       * w32term.c (x_draw_glyph_string_foreground)
+       (x_draw_composite_glyph_string_foreground): Implement overstriking.
+
+       * w32term.c (x_write_glyphs): Clear phys_cursor_on_p if current
+       phys_cursor's hpos is overwritten.  This is still not completely
+       correct, as it doesn't really make sense to use hpos at all to
+       get the cursor glyph (as that is relative to the width of the
+       characters on the line, which may have changed during the update).
+
+       * w32term.c (notice_overwritten_cursor): Handle the special case
+       of the cursor being in the first blank non-text line at the
+       end of a window.
+
+       * w32term.c (x_draw_hollow_cursor, x_draw_bar_cursor)
+       (x_draw_phys_cursor_glyph): Set phys_cursor_width here.
+       Compute from the x position returned by x_draw_glyphs.
+
+       (x_display_and_set_cursor): Don't set phys_cursor_width here,
+       except for NO_CURSOR and system caret, to make phys_cursor_width
+       contain what its name suggests.
+       (notice_overwritten_cursor): Consider the cursor image erased if
+       the output area intersects the cursor image in y-direction.
+
+       * w32term.c (note_mode_line_or_margin_highlight): Renamed from
+       note_mode_line_highlight and extended.
+
+       * w32term.c (last_window): New variable.
+       (w32_read_socket) <WM_MOUSEMOVE>: Generate SELECT_WINDOW_EVENTs.
+       (note_mouse_movement): Remove reimplemented code in #if 0.
+
+       * w32fns.c (x_set_cursor_type): Set cursor_type_changed,
+       not update_mode_lines, and always set it to 1.
+
+2003-01-21  Jason Rumney  <jasonr@gnu.org>
+
+       * w32fns.c (IDC_HAND): Define it if system headers don't.
+
+2003-01-21  KOBAYASHI Yasuhiro  <kobayays@otsukakj.co.jp>
+
+       * w32term.h (struct w32_output): New member hand_cursor.
+       (WM_EMACS_SETCURSOR): New message definition.
+
+       * w32term.c (note_mode_line_highlight): Delete #if 0 to enable
+       function w32_define_cursor.
+       (note_mouse_highlight): Initialize, setup cursor accoding to mouse
+       position, change member name output_data.x to output_data.w32 and
+       add function w32_define_cursor.
+       (show_mouse_face): Delete #if 0 to enable function w32_define_cursor
+       and change member name output_data.x to output_data.w32.
+       (w32_initialize_display_info): Setup
+       dpyinfo->vertical_scroll_bar_cursor.
+
+       * w32fns.c (Vx_hand_shape): New variable.
+       (w32_wnd_proc): Add message entries for WM_SETCURSOR and
+       WM_EMACS_SETCURSOR.
+       (x-create-frame): Setup Cursor types.
+
+2003-01-21  David Ponce  <david@dponce.com>
+
+       * w32term.c (w32_encode_char): For DIM=1 charset, set
+       ccl->reg[2] to -1 before calling ccl_driver. (Sync. with xterm.c
+       x_encode_char change by Kenichi Handa <handa@m17n.org> on
+       2002-09-30.)
+       (w32_draw_relief_rect): Declare all args.
+       (w32_define_cursor): New.
+
+       * w32fns.c (w32_load_cursor): New function.
+       (w32_init_class): Use it.
+       (x_put_x_image): Declare all args.
+
+2003-01-21  Richard Dawe  <rich@phekda.freeserve.co.uk>  (tiny change)
+
+       * Makefile.in (ALL_CFLAGS): Include MYCPPFLAGS, not MYCPPFLAG.
+
+2003-01-21  Jan D.  <jan.h.d@swipnet.se>
+
+       * gtkutil.c: Must include stdio.h before termhooks.h
+
+2003-01-21  Dave Love  <fx@gnu.org>
+
+       * alloc.c (Fgc_status): Print zombie list.
+       (mark_maybe_object) [GC_MARK_STACK==GC_USE_GCPROS_CHECK_ZOMBIES]:
+       Fix assignment of zombies.
+       (Fgarbage_collect) [GC_MARK_STACK==GC_USE_GCPROS_CHECK_ZOMBIES]:
+       Don't take car of non-cons.
+
+       * s/sol2-5.h (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
+
+       * s/sunos4-0.h (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
+
+2003-01-20  David Ponce  <david@dponce.com>
+
+       * w32menu.c (digest_single_submenu): Declare all args.
+
+       Sync with 2002-12-23  Richard M. Stallman  <rms@gnu.org>
+       changes in xmenu.c:
+
+       (parse_single_submenu): Use individual keymap's prompt
+       string as pane name, if there is one.
+       (set_frame_menubar): Save menu_items_n_panes from each call to
+       parse_single_submenu and use it when calling digest_single_submenu.
+
+2003-01-20  Steven Tamm  <steventamm@mac.com>
+
+       * macterm.c (XTread_socket): Checks for valid, visible window
+       before sending a scroll-wheel event.
+
+2003-01-20  Richard M. Stallman  <rms@gnu.org>
+
+       * xdisp.c (redisplay_window): If mini window's buffer is not
+       a minibuffer, then redisplay it like other windows.
+
+2003-01-20  Jan D.  <jan.h.d@swipnet.se>
+
+       * gtkutil.c (xg_create_frame_widgets): Check if there is an
+       external tool bar before setting tool bar height.
+
+2003-01-19  Jan D.  <jan.h.d@swipnet.se>
+
+       * xterm.c (handle_one_xevent): Surround popup_activated
+       with #ifdef:s for non-toolkit version.
+
+       * Makefile.in (XOBJ): Add gtkutil.o if USE_GTK
+       (gtkutil.o): New file.
+       (TOOLKIT_DEFINES): Set to -DUSE_GTK if HAVE_GTK.
+       (LIBW): Set to @GTK_LIBS@ if USE_GTK.
+
+       * gtkutil.c: New file for GTK version.
+
+       * gtkutil.h: New file for GTK version.
+
+       * xterm.h: Add xt_or_gtk_widget.
+       Include gtk files for USE_GTK.
+       (struct x_output): Add toolbar_height.
+       (struct x_output): Add GTK widgets and Gdk size_hints.
+       (GTK_WIDGET_TO_X_WIN, FRAME_GTK_OUTER_WIDGET, FRAME_GTK_WIDGET)
+       (FRAME_OUTER_WINDOW): New macros for USE_GTK.
+       (FRAME_OUTER_TO_INNER_DIFF_Y): Add FRAME_TOOLBAR_HEIGHT to calculation.
+
+       * xterm.c: Include gtkutil.h for USE_GTK.
+       Declare extern void free_frame_menubar for USE_GTK.
+       (note_mouse_highlight): Check popup_activated for USE_GTK.
+       (xt_action_hook): Don't compile if USE_GTK.
+       (x_scroll_bar_to_input_event): Use CurrentTime for USE_GTK.
+       (xg_scroll_callback): New function.
+       (x_create_toolkit_scroll_bar): Call xg_create_scroll_bar for USE_GTK.
+       (x_set_toolkit_scroll_bar_thumb): Call xg_set_toolkit_scroll_bar_thumb
+       for USE_GTK.
+       (x_scroll_bar_create): Call xg_update_scrollbar_pos and
+       xg_show_scroll_bar for USE_GTK.
+       (x_scroll_bar_remove): Call xg_remove_scroll_bar for USE_GTK.
+       (XTset_vertical_scroll_bar): Call xg_update_scrollbar_pos for USE_GTK.
+       (event_handler_gdk): New function for USE_GTK.
+       (handle_one_xevent): Call xg_resize_widgets for USE_GTK.
+       (handle_one_xevent): Make sure widget is mapped before
+       calling x_real_positions for USE_GTK.
+       (XTread_socket): Add GTK event loop for USE_GTK.
+       (x_set_window_size): Call xg_frame_set_char_size for USE_GTK.
+       (x_make_frame_visible): Call gtk_widget_show_all for USE_GTK.
+       (x_make_frame_invisible): Call gtk_widget_hide for USE_GTK.
+       (x_iconify_frame): Add code for USE_GTK.
+       (x_free_frame_resources): Call gtk_widget_destroy for USE_GTK.
+       (x_wm_set_size_hint): Only compile if not USE_GTK.  GTK version
+       is in gtkutil.c.
+       (x_term_init): Add initialization for GTK.
+       (syms_of_xterm): Set Vx_toolkit_scroll_bars for USE_GTK.
+
+       * xmenu.c: Include gtkutil.h for USE_GTK.
+       (Fx_popup_menu): Use current position if x and y is NIL.
+       (single_menu_item, single_menu_item, Fx_popup_dialog): Check
+       for USE_GTK.
+       (popup_widget_loop): New function for USE_GTK.
+       (x_activate_menubar): Add code for USE_GTK.
+       (popup_activate_callback, popup_deactivate_callback)
+       (menu_highlight_callback, menubar_selection_callback): USE_GTK versions
+       added.
+       (update_frame_menubar): Call xg_update_frame_menubar for USE_GTK.
+       (set_frame_menubar): Call xg_modify_menubar_widgets for USE_GTK.
+       (free_frame_menubar): Only compile if not USE_GTK.  GTK version
+       is in gtkutil.c.
+       (popup_selection_callback): New version for USE_GTK.
+       (create_and_show_popup_menu): New fuction, one USE_GTK version and
+       one USE_X_TOOLKIT version.
+       (xmenu_show): Call create_and_show_popup_menu.
+       (dialog_selection_callback): New version for USE_GTK.
+       (create_and_show_dialog): New fuction, one USE_GTK version and
+       one USE_X_TOOLKIT version.
+       (xdialog_show): Call create_and_show_dialog.
+
+       * xfns.c: Include gtkutil for USE_GTK.
+       (x_window_to_frame, x_any_window_to_frame)
+       (x_non_menubar_window_to_frame, x_menubar_window_to_frame)
+       (x_top_window_to_frame): Add code for USE_GTK.
+       (x_set_background_color): Call xg_set_background_color for GTK.
+       (x_set_menu_bar_lines): Check for USE_GTK.
+       (x_set_tool_bar_lines): Call update_frame_tool_bar for USE_GTK.
+       (x_set_name, x_set_title): Call gtk_window_set_title for USE_GTK.
+       (x_window): Call xg_create_frame_widgets for USE_GTK.
+       (Fx_create_frame): Check for USE_GTK
+       (Fx_file_dialog): New implementation for USE_GTK.
+
+       * xdisp.c: Add check for USE_GTK for extern void set_frame_menubar.
+       (update_menu_bar): Add check for USE_GTK.
+       (update_tool_bar): Add check for USE_GTK and external tool bar.
+       (redisplay_tool_bar): Add check for USE_GTK and external tool bar.
+       (redisplay_internal): Add check for USE_GTK and popup_activated.
+       (redisplay_window): Add check for USE_GTK and FRAME_EXTERNAL_MENU_BAR.
+       (redisplay_window): Add check for USE_GTK and FRAME_EXTERNAL_TOOL_BAR.
+       (display_menu_bar): Add check for USE_GTK
+
+       * lisp.h: Declare Vx_resource_name extern.
+
+       * keyboard.c (kbd_buffer_get_event):  Check MENU_BAR_ACTIVATE_EVENT
+       for USE_GTK.
+       (make_lispy_event): Check MENU_BAR_EVENT for USE_GTK.
+
+       * frame.h (struct frame): Add external_tool_bar.  Check for USE_GTK.
+       (FRAME_EXTERNAL_TOOL_BAR): New macro.
+       (FRAME_EXTERNAL_MENU_BAR): Check for USE_GTK.
+
+       * fileio.c (Fread_file_name): Add check for USE_GTK.
+
+       * dispnew.c (adjust_frame_glyphs_for_window_redisplay): Add
+       check for USE_GTK.
+
+       * config.in: Added HAVE_GTK
+
+       * alloc.c (Fgarbage_collect): Call xg_mark_data for GTK.
+
+2003-01-18  Stefan Monnier  <monnier@cs.yale.edu>
+
+       * charset.h (Funibyte_char_to_multibyte): Export.
+
+2003-01-18  Jan D.  <jan.h.d@swipnet.se>
+
+       * xmenu.c (mouse_position_for_popup): New function.
+       (Fx_popup_menu): Call mouse_position_for_popup for X and
+       mouse_position_hook for others.
+
+2003-01-17  Kim F. Storm  <storm@cua.dk>
+
+       * editfns.c (Finsert): Mention `string-make-multibyte' and
+       `string-as-multibyte' in doc string.
+
 2003-01-17  Kenichi Handa  <handa@m17n.org>
 
+       * fontset.c (syms_of_fontset): Setup Vfont_encoding_alist here.
+
        * editfns.c (Fformat): Convert an unibyte char argument that is
        formatted by "%c" to multibyte if the total result must be a
        multibyte string.
 
 2003-01-10  Dave Love  <fx@gnu.org>
 
-       * composite.c (syms_of_composite): Make composition_hash_table
-       weak.
+       * composite.c (syms_of_composite): Make composition_hash_table weak.
 
 2003-01-09  Kim F. Storm  <storm@cua.dk>
 
        * xfns.c (Fx_file_dialog): Call XtAppNextEvent and x_dispatch_event
        instead of XtAppProcessEvent.
 
-       * xterm.c (handle_one_xevent): New function
-       (x_dispatch_event): New function
+       * xterm.c (handle_one_xevent): New function.
+       (x_dispatch_event): New function.
        (XTread_socket): Call handle_one_xevent.
 
-       * xterm.h (FRAME_OUTER_TO_INNER_DIFF_X/Y): Added
+       * xterm.h (FRAME_OUTER_TO_INNER_DIFF_X/Y): New.
 
        * xmenu.c (Fx_popup_menu): If popping up at mouse position,
        call XQueryPointer to get coordinates.
        Call x_dispatch_event instead of XtDispatchEvent.
        (xmenu_show): Calculate root coordinate from frame top/left position.
 
-
 2003-01-08  Kim F. Storm  <storm@cua.dk>
 
        * process.c (server_accept_connection): Fixed recording of new
        scroll_conservatively case.  If scrolling that much doesn't change
        STARTP, move it down one line.
 
-       * xdisp.c (redisplay_window): Pass last_line_misfit arg to try_scrolling.
-       Make it 1 after make_cursor_line_fully_visible fails.
+       * xdisp.c (redisplay_window): Pass last_line_misfit arg to
+       try_scrolling.  Make it 1 after make_cursor_line_fully_visible fails.
 
-       * xdisp.c (setup_echo_area_for_printing): Kill Emacs if no selected frame.
+       * xdisp.c (setup_echo_area_for_printing): Kill Emacs if no
+       selected frame.
 
        * keymap.c (apropos_predicate, apropos_accumulate): Make them static.
        (syms_of_keymap): staticpro them.
 
        * data.c (Fmakunbound, Ffmakunbound, Fmake_variable_buffer_local)
        (Fsetq_default, Fmake_local_variable, Fkill_local_variable)
-       (Fmake_variable_frame_local, Faset, Fnumber_to_string)
-       (Fstring_to_number, Fminus): Mention the returned value in the doc
-       strings.
+       (Fmake_variable_frame_local, Faset, Fnumber_to_string, Fminus)
+       (Fstring_to_number): Mention the returned value in the doc strings.
 
 2002-12-23  Richard M. Stallman  <rms@gnu.org>
 
 
 2002-12-22  Steven Tamm  <steventamm@mac.com>
 
-       * macmenu.c (MIN_POPUP_SUBMENU_ID): Added
-       (mac_menu_show): Added support for hierarchical popup menus
-       (add_menu_item): Removed indentation support
-       (fill_submenu, fill_menu): Now creates hierarchical menus
-       instead of using indentation
+       * macmenu.c (MIN_POPUP_SUBMENU_ID): Add.
+       (mac_menu_show): Add support for hierarchical popup menus.
+       (add_menu_item): Remove indentation support.
+       (fill_submenu, fill_menu): Create hierarchical menus
+       instead of using indentation.
 
 2002-12-22  Richard M. Stallman  <rms@gnu.org>
 
        (Fload): Handle errors in Fsubstitute_in_file_name.
        Don't expect Fsignal to return.
 
-       * Errors and throws work right with interrupt blocking.
-       * eval.c (struct catchtag): New elt interrupt_input_blocked.
+       * eval.c: Errors and throws work right with interrupt blocking.
+       (struct catchtag): New elt interrupt_input_blocked.
        (unwind_to_catch): Restore interrupt_input_blocked from saved value.
        (internal_catch, Fcondition_case, internal_condition_case)
        (internal_condition_case_1, internal_condition_case_2): Save it.
        * window.c (Fset_window_configuration): Set old_point to correct
        value when new_current_buffer == current_buffer.
 
-2002-12-17  Ben Key <bkey1@tampabay.rr.com>
+2002-12-17  Ben Key  <bkey1@tampabay.rr.com>
 
-       * Revisited my earlier fix for the following entry in
-       etc/PROBLEMS:
+       Revisited my earlier fix for the following entry in etc/PROBLEMS:
        "Emacs built on Windows 9x/ME crashes at startup on Windows XP,
        or Emacs builtpart of on XP crashes at startup on Windows 9x/ME."
 
        purpose at this time is to set the global variables
        g_b_init_is_windows_9x, g_b_init_open_process_token,
        g_b_init_get_token_information, g_b_init_lookup_account_sid, and
-       g_b_init_get_sid_identifier_authority to 0 on startup.  Called
-       from main.
+       g_b_init_get_sid_identifier_authority to 0 on startup.
+       Called from main.
 
        * w32.c (is_windows_9x): Perform initialization only if
        g_b_init_is_windows_9x is equal to 0.  On initialization set
        set g_b_init_lookup_account_sid equal to 1.
 
        * w32.c (get_sid_identifier_authority): Perform initialization
-       only if g_b_init_get_sid_identifier_authority is equal to 0.  On
-       initialization  set g_b_init_get_sid_identifier_authority equal to
-       1.
+       only if g_b_init_get_sid_identifier_authority is equal to 0.
+       On initialization set g_b_init_get_sid_identifier_authority equal to 1.
 
        * w32fns.c (globals_of_w32fns): New function. Used to initialize
        those global variables that must always be initialized on startup
-       even when the global variable initialized is non zero.  Its
-       primary purpose at this time is to initialize the global variable
+       even when the global variable initialized is non zero.
+       Its primary purpose at this time is to initialize the global variable
        track_mouse_event_fn.
 
        * w32fns.c (w32_wnd_proc):  Remove initialization of
-       track_mouse_event_fn from the handler for the WM_SETFOCUS
-       message.
+       track_mouse_event_fn from the handler for the WM_SETFOCUS message.
 
        * w32fns.c (syms_of_w32fns): Call globals_of_w32fns.
 
 
 2002-12-09  Dave Love  <fx@gnu.org>
 
-       * s/sol2-8: Removed.  (Not necessary.)
+       * s/sol2-8.h: Removed.  (Not necessary.)
 
 2002-12-09  Matthew Swift  <swift@alum.mit.edu>
 
        for this face/font combo.
        (set_font_frame_param: Pass new argument to choose_face_font.
 
-2002-11-17  Ben Key <BKey1@tampabay.rr.com>
+2002-11-17  Ben Key  <BKey1@tampabay.rr.com>
 
        This change is my fix for the following entry in etc/PROBLEMS:
        "Emacs built on Windows 9x/ME crashes at startup on Windows XP,
        reinitialize the function pointers set_menu_item_info and
        get_menu_item_info.
 
-2002-11-17  Ben Key <BKey1@tampabay.rr.com>
+2002-11-17  Ben Key  <BKey1@tampabay.rr.com>
 
        * sound.c: Added a partial implementation of play-sound-internal
        for Microsoft Windows.  Added various #ifdef / #else / #endif