+2003-07-09 Stefan Monnier <monnier@cs.yale.edu>
+
+ Change overlays_after and overlays_before so the overlays themselves
+ are linked into lists, rather than using cons cells. After all each
+ Lisp_Misc already occupies 5 words, so we can add a `next' field to
+ Lisp_Overlay for free and save up one cons cell per overlay (not
+ to mention one indirection when traversing the list of overlay).
+
+ * lisp.h (struct Lisp_Overlay): New field `next'.
+
+ * buffer.h (struct buffer): Change overlays_before and overlays_after
+ from Lisp lists of overlays to pointers to overlays.
+
+ * buffer.c (overlay_strings, recenter_overlay_lists):
+ Fix typo in eassert in last commit.
+ (unchain_overlay): New function.
+ (add_overlay_mod_hooklist): Use AREF.
+ (copy_overlays, reset_buffer, overlays_at, overlays_in)
+ (overlay_touches_p, overlay_strings, recenter_overlay_lists)
+ (fix_overlays_in_range, fix_overlays_before, Fmake_overlay)
+ (Fmove_overlay, Fdelete_overlay, Foverlay_lists)
+ (report_overlay_modification, evaporate_overlays, init_buffer_once):
+ Adjust to new type of overlays_(before|after).
+
+ * alloc.c (mark_object): Mark the new `next' field of overlays.
+ (mark_buffer): Manually mark the overlays_(after|before) fields.
+
+ * coding.c (run_pre_post_conversion_on_str):
+ * editfns.c (overlays_around):
+ * xdisp.c (load_overlay_strings):
+ * fileio.c (Finsert_file_contents):
+ * indent.c (current_column):
+ * insdel.c (signal_before_change, signal_after_change):
+ * intervals.c (set_point_both):
+ * print.c (temp_output_buffer_setup): Use new type for
+ overlays_(before|after).
+
+2003-07-08 Stefan Monnier <monnier@cs.yale.edu>
+
+ * buffer.c (report_overlay_modification): Don't run hooks while
+ traversing the list of overlays.
+
+ * buffer.h (struct buffer): Use an int for overlay_center.
+ (overlays_at, evaporate_overlays, recenter_overlay_lists)
+ (overlay_strings, fix_overlays_before): Use EMACS_INT for positions.
+
+ * buffer.c (reset_buffer, recenter_overlay_lists)
+ (adjust_overlays_for_insert, adjust_overlays_for_delete)
+ (fix_overlays_in_range, Fmake_overlay, Fmove_overlay)
+ (evaporate_overlays, init_buffer_once): Update use of overlay_center.
+ (overlays_at, evaporate_overlays, recenter_overlay_lists)
+ (overlay_strings, fix_overlays_before): Use EMACS_INT for positions.
+
+ * xdisp.c (fast_find_position): Remove unused var.
+
+ * cmds.c (Qexpand_abbrev): New sym.
+ (syms_of_cmds): Initialize it.
+ (internal_self_insert): Use it to call expand-abbrev.
+
+2003-07-09 Kim F. Storm <storm@cua.dk>
+
+ * xterm.c (use_xim) [!USE_XIM]: Default to disable XIM if emacs
+ was configured with --without-xim.
+ (x_term_init) [!USE_XIM]: Use `useXIM' resource to turn on XIM.
+
+2003-07-07 Richard M. Stallman <rms@gnu.org>
+
+ * xdisp.c (reseat_1): Set it->area to TEXT_AREA.
+
+ * alloc.c (Fgarbage_collect): Doc fix.
+
+2003-07-07 Nozomu Ando <nand@mac.com> (tiny change)
+
+ * buffer.c (Fkill_buffer): Clear charpos cache if necessary.
+
+2003-07-06 Stefan Monnier <monnier@cs.yale.edu>
+
+ * minibuf.c (read_minibuf): UNGCPRO before returning.
+ (Ftry_completion, Fall_completions): Doc fix.
+
+ * alloc.c (live_float_p): Check that p is not past the `floats' array,
+ now that `floats' is not the last element of the struct any more.
+
+2003-07-06 Jason Rumney <jasonr@gnu.org>
+
+ * w32term.h (ClipboardSequence_Proc): New type.
+
+ * w32fns.c (clipboard_sequence_fn): New variable.
+ (globals_of_w32fns): Initialize it.
+
+ * w32select.c (last_clipboard_sequence_number): New variable.
+ (Fw32_set_clipboard_data, Fw32_get_clipboard_data): Use sequence
+ number if possible.
+
+2003-07-06 Stefan Monnier <monnier@cs.yale.edu>
+
+ * m/amdx86-64.h (MARKBIT):
+ * m/ia64.h (MARKBIT): Remove definition since lisp.h does not compare
+ MARKBIT and ARRAY_MARK_FLAG any more.
+
+ * m/hp800.h (XSETMARKBIT):
+ * m/sr2k.h (XSETMARKBIT):
+ * lisp.h (XSETMARKBIT): Remove unused macro.
+
+ * lisp.h (mark_object): Change prototype.
+
+ * alloc.c (mark_object): Change arg *Lisp_Object -> Lisp_Object.
+ (last_marked): Change accordingly.
+ (mark_interval, mark_maybe_object, mark_maybe_pointer)
+ (Fgarbage_collect, mark_glyph_matrix, mark_face_cache, mark_image)
+ (mark_buffer): Update calls to mark_object.
+
+ * bytecode.c (mark_byte_stack):
+ * fns.c (sweep_weak_table):
+ * keyboard.c (mark_kboards): Update calls to mark_object.
+
+2003-07-06 Jason Rumney <jasonr@gnu.org>
+
+ * alloc.c (struct ablock): Only include padding when there is some.
+
+2003-07-04 Stefan Monnier <monnier@cs.yale.edu>
+
+ * alloc.c (ALIGN): Add casts to simplify usage.
+ (BLOCK_ALIGN, BLOCK_BYTES, ABLOCKS_PADDING, ABLOCKS_SIZE)
+ (ABLOCKS_BYTES, ABLOCK_ABASE, ABLOCKS_BUSY, ABLOCKS_BASE): New macros.
+ (struct ablock, struct ablocks): New types.
+ (free_ablock): New global var.
+ (lisp_align_malloc, lisp_align_free): New functions.
+ (FLOAT_BLOCK_SIZE): Redefine in terms of BLOCK_BYTES.
+ (struct float_block): Reorder and add gcmarkbits.
+ (GETMARKBIT, SETMARKBIT, UNSETMARKBIT, FLOAT_BLOCK, FLOAT_INDEX)
+ (FLOAT_MARKED_P, FLOAT_MARK, FLOAT_UNMARK): New macros.
+ (init_float, make_float): Use lisp_align_malloc.
+ (free_float, live_float_p): Don't use `type' any more.
+ (make_float): Use FLOAT_UNMARK to access to mark bit.
+ (mark_maybe_object, mark_maybe_pointer, survives_gc_p):
+ Use FLOAT_MARKED_P to access the mark bit.
+ (pure_alloc): Simplify use of ALIGN.
+ (mark_object): Use FLOAT_MARK to access the mark bit.
+ (gc_sweep): Use new macros to access the float's mark bit.
+ (init_alloc_once): Init free_ablock.
+
+ * lisp.h (struct Lisp_Float): Remove unused field `type'.
+
+2003-06-27 Stefan Monnier <monnier@cs.yale.edu>
+
+ * alloc.c (VECTOR_MARK, VECTOR_UNMARK, VECTOR_MARKED_P): New macros.
+ (GC_STRING_BYTES): Don't mask markbit (it's only used on `size').
+ (allocate_buffer): Move.
+ (string_bytes): Don't mask markbit of `size_byte'.
+ (mark_maybe_object, mark_maybe_pointer, Fgarbage_collect)
+ (mark_object, mark_buffer, survives_gc_p, gc_sweep):
+ Use the `size' field of buffers (rather than the `name' field) for
+ the mark bit, as is done for all other vectorlike objects.
+ Use the new macros to access the mark bit of vectorlike objects.
+
+2003-06-26 Richard M. Stallman <rms@gnu.org>
+
+ * puresize.h (BASE_PURESIZE): Increment base size.
+
+ * xdisp.c (fast_find_position): Enable Gerd's new definition.
+
+ * xterm.c (xim_initialize): Undo previous change.
+
+2003-06-26 Stefan Monnier <monnier@cs.yale.edu>
+
+ * alloc.c (survives_gc_p): Simplify.
+
+ * buffer.c (set_buffer_internal_1): Test CONSP for lists.
+
+ * window.c (Fset_window_dedicated_p): Simplify.
+ (display_buffer_1): Don't raise the win from which minibuf was entered.
+ (temp_output_buffer_show): Don't assume BEG == 1. Simplify.
+ (Fminibuffer_selected_window): Simplify.
+
+ * buffer.h (struct buffer_text): Lisp_Object `markers' => Lisp_Marker.
+
+ * lisp.h (unchain_marker): Lisp_Object arg => Lisp_Marker.
+ (struct Lisp_Marker): Lisp_Object `chain' => Lisp_Marker `next'.
+
+ * insdel.c (check_markers, adjust_markers_for_delete)
+ (adjust_markers_for_insert, adjust_markers_for_replace)
+ (prepare_to_modify_buffer, RESTORE_VALUE):
+ * marker.c (buf_charpos_to_bytepos, buf_bytepos_to_charpos)
+ (Fset_marker, set_marker_restricted, set_marker_both, unchain_marker)
+ (set_marker_restricted_both, Fbuffer_has_markers_at, count_markers):
+ * alloc.c (Fmake_marker, free_marker, gc_sweep):
+ * buffer.c (Fget_buffer_create, Fkill_buffer, Fset_buffer_multibyte):
+ * editfns.c (save_excursion_restore, transpose_markers):
+ * window.c (delete_window):
+ * xdisp.c (message_dolog): Update for new types.
+
+2003-06-26 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
+
+ * xfaces.c (set_font_frame_param): Set default_face_done_p to zero.
+ (realize_default_face): Use default_face_done_p for the force_p
+ argument to set_lface_from_font_name. Set default_face_done_p to one.
+
+ * frame.c (make_frame): Initialize default_face_done_p.
+
+ * frame.h (struct frame): Add default_face_done_p.
+
+ * config.in: Add XRegisterIMInstantiateCallback_arg6 so it
+ will be defined.
+
+2003-06-25 Stefan Monnier <monnier@cs.yale.edu>
+
+ * alloc.c (make_interval, Fmake_symbol, allocate_misc):
+ Initialize the new field `gcmarkbit'.
+ (mark_interval, MARK_INTERVAL_TREE): Use the new `gcmarkbit' field.
+ (mark_interval_tree): Don't mark the tree separately from the nodes.
+ (UNMARK_BALANCE_INTERVALS): Don't unmark the tree.
+ (mark_maybe_object, mark_maybe_pointer, Fgarbage_collect)
+ (mark_object, survives_gc_p, gc_sweep): Use new `gcmarkbit' fields.
+
+ * lisp.h (struct interval, struct Lisp_Symbol, struct Lisp_Free)
+ (struct Lisp_Marker, struct Lisp_Intfwd, struct Lisp_Boolfwd)
+ (struct Lisp_Kboard_Objfwd, struct Lisp_Save_Value)
+ (struct Lisp_Buffer_Local_Value, struct Lisp_Overlay)
+ (struct Lisp_Objfwd, struct Lisp_Buffer_Objfwd): Add `gcmarkbit' field.
+
+2003-06-24 Dave Love <fx@gnu.org>
+
+ * xterm.c (xim_initialize): Use XRegisterIMInstantiateCallback_arg6.
+
+ * strftime.c: Test HAVE_SYS__MBSTATE_H, not __hpux. Merge changes
+ from gnulib.
+
+2003-06-21 Richard M. Stallman <rms@gnu.org>
+
+ * fileio.c (Fwrite_region): Alternate messages
+ for append and partial write.
+
+ * keyboard.c (read_key_sequence): When converting upcase fn key to
+ downcase, update fkey and keytran so `backspace' gets translated.
+
+ * keyboard.c (read_avail_input): Don't signal SIGHUP in batch mode.
+
+ * process.c (wait_reading_process_input): Don't signal SIGIO
+ in batch mode.
+
+2003-06-17 Kenichi Handa <handa@m17n.org>
+
+ * Makefile.in (xselect.o): Don't depend on charset.h, coding.h,
+ composite.h.
+
+ * xselect.c: Don't include charset.h, coding.h, composite.h.
+ (Qforeign_selection): New variable.
+ (syms_of_xselect): Intern and static it.
+ (selection_data_to_lisp_data): Return a unibyte string made from
+ data with `foreign-selection' text property.
+
+2003-06-15 Stefan Monnier <monnier@cs.yale.edu>
+
+ * termhooks.h (EVENT_INIT): New macro.
+
+ * keyboard.c (mark_kboards): Move from alloc.c. Mark kbd_buffer.
+
+ * alloc.c (mark_kboards): Move to keyboard.c.
+
+ * keyboard.c (record_asynch_buffer_change, read_avail_input):
+ * xterm.c (x_dispatch_event):
+ * xmenu.c (find_and_call_menu_selection):
+ * xdisp.c (handle_tool_bar_click):
+ * w32menu.c (menubar_selection_callback):
+ * sysdep.c (kbd_input_ast, read_input_waiting):
+ * msdos.c (dos_rawgetc):
+ * macterm.c (mac_check_for_quit_char):
+ * macmenu.c (menubar_selection_callback):
+ * gtkutil.c (xg_tool_bar_callback): Don't pass uninitialized
+ data to kbd_buffer_store_event.
+
+2003-06-15 Kim F. Storm <storm@cua.dk>
+
+ * xdisp.c (x_fix_overlapping_area): Always use area relative X
+ to fix redisplay problem with tall characters (such as \e,AC\e(B).
+
+2003-06-13 Kai Gro\e,A_\e(Bjohann <kai.grossjohann@gmx.net>
+
+ * fileio.c (Fcopy_file): Doc fix: copies file modes, too.
+
+2003-06-12 Kenichi Handa <handa@m17n.org>
+
+ * fileio.c (Fwrite_region): Save and restore restriction.
+
+2003-06-12 Dave Love <fx@gnu.org>
+
+ * alloca.c (alloca): Declare arg as size_t.
+
+ * sysdep.c: Remove redundant include of unistd.h, stdlib.h.
+ Use HAVE_DECL_SYS_SIGLIST, not SYS_SIGLIST_DECLARED.
+
+2003-06-11 Dave Love <fx@gnu.org>
+
+ * search.c (shrink_regexp_cache): Use xrealloc.
+ (syms_of_search): Use xmalloc.
+
+2003-06-10 Kim F. Storm <storm@cua.dk>
+
+ * xdisp.c (phys_cursor_in_rect_p): Fix 2003-05-24 change.
+ Adjust phys_cursor.x to be relative to window box, rather than
+ text area before checking -- to ensure cursor is redrawn when
+ exposing window.
+ Note: This also fixes a similar (older) bug if display margins
+ are present.
+
+2003-06-06 Kenichi Handa <handa@m17n.org>
+
+ * coding.c (encoding_buffer_size): If coding->type is
+ coding_type_ccl, double magnification on CRLF encoding.
+
+2003-06-06 Jason Rumney <jasonr@gnu.org>
+
+ * w32reg.c (SYSTEM_DEFAULT_RESOURCES): New constant.
+ (w32_get_string_resource): Try SYSTEM_DEFAULT_RESOURCES last.
+
+ * xfaces.c (Finternal_face_x_get_resource): Do it on Windows and
+ Mac too.
+
+2003-06-05 Dave Love <fx@gnu.org>
+
+ * strftime.c: Merge changes from gnulib.
+
+ * mktime.c (__mktime_internal): Merge changes from gnulib
+ involving year 69 and dst2.
+
+ Changes to merge with gnulib version and be consistent with the
+ autoconf test:
+
+ * getloadavg.c: Set NLIST_STRUCT from HAVE_NLIST_H.
+ Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not NLIST_NAME_UNION.
+ [HAVE_LOCALE_H]: Include locale.h.
+ (getloadavg) [HAVE_SETLOCALE]: Run sscanf in C locale.
+
+2003-06-05 Kim F. Storm <storm@cua.dk>
+
+ * window.c (coordinates_in_window): Convert X and Y to window
+ relative coordinates inside mode-line and header-line parts.
+ Convert X and Y to margin area relative coordinates inside left
+ and right display margin parts.
+
+2003-06-05 Jason Rumney <jasonr@gnu.org>
+
+ * w32fns.c (add_system_logical_colors_to_map): New function.
+ (Fx_open_connection): Use it.
+
+2003-06-04 Stefan Monnier <monnier@cs.yale.edu>
+
+ * process.c (allocate_pty): Revert part of the previous patch.
+ (Faccept_process_output): Simplify.
+
+2003-06-04 Jason Rumney <jasonr@gnu.org>
+
+ * termhooks.h (enum event_kind): Remove MOUSE_WHEEL_EVENT.
+
+ * keyboard.c (Qmouse_wheel, mouse_wheel_syms)
+ (lispy_mouse_wheel_names): Remove.
+ (syms_of_keyboard): Remove Qmouse_wheel and mouse_wheel_syms.
+ Always define drag_and_drop_syms.
+
+ * macterm.c (XTread_socket): Map mouse wheel events to Emacs
+ WHEEL_EVENT events.
+
+2003-06-03 Stefan Monnier <monnier@cs.yale.edu>
+
+ * xdisp.c (update_tool_bar): Add missing UNGCPRO.
+
+ * buffer.c (init_buffer_once): Make kill-buffer-hook permanent-local.
+
+2003-06-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
+
+ * gtkutil.c (make_menu_item): Make sure we don't crash on a NULL
+ menu item label.
+
+2003-06-03 Richard M. Stallman <rms@gnu.org>
+
+ * window.c (Fwindow_edges): Doc fix.
+ (Fwindow_pixel_edges, Fwindow_inside_edges)
+ (Fwindow_inside_pixel_edges): New functions.
+ (syms_of_window): defsubr them.
+
+ * window.h (WINDOW_LEFT_FRINGE_COLS, WINDOW_RIGHT_FRINGE_COLS)
+ (WINDOW_MODE_LINE_LINES, WINDOW_HEADER_LINE_LINES): New macros.
+
+2003-06-02 Stefan Monnier <monnier@cs.yale.edu>
+
+ * dispnew.c (Fsit_for): Don't lie about the number of args.
+
+2003-06-02 Dave Love <fx@gnu.org>
+
+ * callproc.c: Use HAVE_FCNTL_H, not USG5.
+ (syms_of_callproc) <process-environment>: Doc fix.
+
+ * doc.c: Use HAVE_FCNTL_H, not USG5.
+
+ * xfaces.c (font_rescale_ratio): Fix for K&R.
+
+ * termcap.c: Use HAVE_FCNTL_H, not _POSIX_VERSION.
+
+ * mem-limits.h: Use HAVE_SYS_RESOURCE_H, HAVE_SYS_VLIMIT_H.
+
+ * lread.c [HAVE_FCNTL_H]: Include fcntl.h.
+
+ * gtkutil.c: Include keyboard.h, charset.h, coding.h.
+ (xg_create_frame_widgets): Use ENCODE_UTF_8.
+
+ * xterm.c (Qutf_8): Moved to coding.c
+
+ * xmenu.c (ENCODE_MENU_STRING): New.
+ (list_of_panes, list_of_items, digest_single_submenu, xmenu_show):
+ Use it.
+
+ * coding.h (ENCODE_UTF_8): New.
+ (Qutf_8): Declare.
+
+ * coding.c (Qutf_8): New.
+ (syms_of_coding): Intern it.
+
+ * fns.c: Doc fixes.
+
+2003-06-02 Kenichi Handa <handa@m17n.org>
+
+ * buffer.c (Fset_buffer_multibyte): Fix previous change.
+
+2003-06-01 Stefan Monnier <monnier@cs.yale.edu>
+
+ * lread.c (openp): Make sure STR is a string.
+
+2003-06-01 David Ponce <david@dponce.com>
+
+ * termhooks.h (enum event_kind): Added new WHEEL_EVENT event.
+ Declare MOUSE_WHEEL_EVENT only if MAC_OSX defined.
+
+ * keyboard.c (Qmouse_wheel): Declare only if MAC_OSX defined.
+ (mouse_wheel_syms, lispy_mouse_wheel_names): Likewise.
+ (discard_mouse_events): Discard WHEEL_EVENT events too.
+ (lispy_wheel_names, wheel_syms): New.
+ (syms_of_keyboard): Init and staticpro `wheel_syms'. Init and
+ staticpro `Qmouse_wheel' and `mouse_wheel_syms' only if MAC_OSX
+ defined.
+ (make_lispy_event): Add WHEEL_EVENT handler.
+
+ * w32term.c (construct_mouse_wheel): Construct WHEEL_EVENT.
+ (w32_read_socket): Map w32 WM_MOUSEWHEEL events to Emacs
+ WHEEL_EVENT events.
+
+2003-05-31 John Paul Wallington <jpw@gnu.org>
+
+ * Makefile.in (lisp, shortlisp): byte-run, float-sup, map-ynp, and
+ timer are in lisp/emacs-lisp.
+
+2003-05-31 Kenichi Handa <handa@m17n.org>
+
+ * buffer.c (Fset_buffer_multibyte): Correctly recover a narrowed
+ region when a buffer is changed to unibyte.
+
+ * charset.h (VALID_LEADING_CODE_P): New macro.
+ (UNIBYTE_STR_AS_MULTIBYTE_P): Check more rigidly.
+
+ * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): If coding->flags
+ is nonzero, accept multibyte form of eight-bit-control chars.
+ (decode_composition_emacs_mule): Likewise.
+ (decode_coding_emacs_mule): Likewise.
+ (encode_coding_emacs_mule): If coding->flags is nonzero, produce
+ multibyte form of eight-bit-control chars.
+
+ * fileio.c (Qauto_save_coding, auto_save_coding): New variables.
+ (Finsert_file_contents): If coding-system-for-read is bound to
+ Qauto_save_coding, use the coding system emacs-mule with special
+ setting for recovering a file.
+ (choose_write_coding_system): On auto saving, use the coding
+ system emacs-mule with special setting for auto saving.
+ (syms_of_fileio) <Qauto_save_coding>: Intern and staticpro it.
+
+2003-05-30 Kenichi Handa <handa@m17n.org>
+
+ * coding.c (ccl_coding_driver): Set ccl->eight_bit_control
+ properly before calling ccl_driver.
+
+ * ccl.h (struct ccl_program) <eight_bit_control>: Comment fixed.
+
+ * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when it is
+ nonzero.
+ (ccl_driver): Initialize extra_bytes to ccl->eight_bit_control.
+ (setup_ccl_program): Initialize ccl->eight_bit_control to zero.
+
+2003-05-29 Glenn Morris <gmorris@ast.cam.ac.uk>
+
+ * xfaces.c (realize_default_face): Do not abort if lface is
+ non-existent - reverts change from 2003-05-19.
+
+2003-05-29 Kenichi Handa <handa@m17n.org>
+
+ * coding.c (decode_coding_iso2022): Pay attention to the byte
+ sequence of CTEXT extended segment, and retain those bytes as is.
+
+2003-05-28 Kenichi Handa <handa@m17n.org>
+
+ * coding.c (ENCODE_UNSAFE_CHARACTER): Adjusted for the name change
+ of CODING_REPLACEMENT_CHARACTER.
+ (decode_coding_iso2022): If CODING_FLAG_ISO_SAFE, set
+ CODING_MODE_INHIBIT_UNENCODABLE_CHAR flag in coding->mode, and
+ check this flag on encoding.
+ (encode_coding_sjis_big5): Check
+ CODING_MODE_INHIBIT_UNENCODABLE_CHAR flag of coding->mode.
+ (Fset_terminal_coding_system_internal): Set
+ CODING_MODE_INHIBIT_UNENCODABLE_CHAR flag in terminal_coding.mode
+ instead of setting CODING_FLAG_ISO_SAFE flag in
+ terminal_coding.flags.
+
+ * coding.h (CODING_REPLACEMENT_CHARACTER): Renamed from
+ CODING_INHIBIT_CHARACTER_SUBSTITUTION.
+ (CODING_MODE_INHIBIT_UNENCODABLE_CHAR): New macro.
+
+2003-05-28 Richard M. Stallman <rms@gnu.org>
+
+ * print.c (syms_of_print) <print-escape-nonascii>: Doc fix.
+
+ * eval.c (unbind_to): Move init of this_binding to separate statement.
+
+2003-05-28 Kim F. Storm <storm@cua.dk>
+
+ * xdisp.c (expose_window): Fix error in calculation of
+ window relative coordinates of area to redisplay.
+
+2003-05-27 Jason Rumney <jasonr@gnu.org>
+
+ * w32term.c (GET_WHEEL_DELTA_WPARAM): New macro.
+
+2003-05-27 David Ponce <david@dponce.com>
+
+ Handle W32 mouse wheel events as mouse click events, like in X.
+
+ * keyboard.c (make_lispy_event) [WINDOWSNT]: Don't handle
+ MOUSE_WHEEL_EVENT anymore.
+
+ * w32term.c (construct_mouse_wheel): Result is a MOUSE_CLICK_EVENT.
+ Scrolling down/up the mouse wheel is respectively mapped to mouse
+ button 4 and 5.
+ (w32_read_socket): Map w32 WM_MOUSEWHEEL events to Emacs
+ MOUSE_CLICK_EVENT events. Forward w32 MSH_MOUSEWHEEL events as
+ WM_MOUSEWHEEL events.
+
2003-05-27 Andreas Schwab <schwab@suse.de>
* buffer.c (syms_of_buffer) <default-direction-reversed>: Doc fix.