+2000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
+
+ * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
+ argument is outside the range [2..3].
+
+2000-12-14 Andrew Innes <andrewi@gnu.org>
+
+ * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
+ nothing to do. Bind inhibit-quit.
+ (tip_frame): Make it a Lisp_Object.
+ (x_create_tip_frame): Set tip_frame after it has been added to
+ Vframe_list.
+ (Fx_show_tip): Don't set tip_frame here.
+ (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New
+ variables.
+ (unwind_create_frame, unwind_create_tip_frame): New functions.
+ (Fx_create_frame, x_create_tip_frame): Handle errors signaled
+ while a frame is only partially constructed.
+
+ * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
+ (x_free_frame_resources): New function.
+ (x_destroy_window): Use it.
+
+2000-12-14 Gerd Moellmann <gerd@gnu.org>
+
+ * xfns.c (Fx_backspace_delete_keys_p): New function.
+ (syms_of_xfns): Defsubr it.
+
+ * config.in (HAVE_XKBGETKEYBOARD): Add.
+
+2000-12-14 Kenichi Handa <handa@etl.go.jp>
+
+ * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
+ Always store string in multibyte representation in echobuf.
+ (echo_char): Always store string in multibyte representation in
+ echobuf.
+ (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
+ (read_key_sequence): Adjusted for the change of echo_prompt.
+
+ * fns.c (Fmd5): Docstring improved.
+
+ * lisp.h (detect_coding_system): Prototype adjusted.
+
+ * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
+ (detect_coding_emacs_mule, detect_coding_iso2022,)
+ (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
+ (detect_coding_utf_16, detect_coding_ccl): Make them static. New
+ argument MULTIBYTEP. Callers changed.
+ (detect_coding_mask, detect_coding_system): New argument
+ MULTIBYTEP. Callers changed.
+ (decode_coding_string): Set coding->src_multibyte and
+ coding->dst_multibyte before calling detect_coding and detect_eol.
+ Update them after some coding system is detected.
+
+2000-12-13 Stefan Monnier <monnier@cs.yale.edu>
+
+ * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
+
+ * keyboard.c (menu_bar_items, tool_bar_items):
+ Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
+
+2000-12-13 Gerd Moellmann <gerd@gnu.org>
+
+ * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
+ New variables.
+ (unwind_create_frame, unwind_create_tip_frame): New functions.
+ (Fx_create_frame, x_create_tip_frame): Handle errors signaled
+ while a frame is only partially constructed.
+
+ * xterm.h (x_free_frame_resources): Declare.
+
+ * xterm.c (x_free_frame_resources): New function.
+ (x_destroy_window): Use it.
+
+ * dispnew.c (update_window): If do_mouse_tracking is non-nil,
+ don't interrupt the update for pending input initially, i.e.
+ update at least some lines.
+
+ * keyboard.c (do_mouse_tracking): Make externally visible.
+
+ * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
+
+ * xfns.c (gray_bitmap_bits): Declare `char *'.
+
+2000-12-12 Gerd Moellmann <gerd@gnu.org>
+
+ * xdisp.c (display_tool_bar_line): Make sure that tool bar
+ lines start with a relief line.
+
+2000-12-12 Dave Love <fx@gnu.org>
+
+ * window.c (Fdisplay_buffer): Doc fix.
+ (Fwindow_list): Remove unused var.
+
+ * buffer.h (mmap_set_vars): Declare.
+
+ * window.h (Fset_window_point): Declare.
+
+2000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
+
+ * msdos.c (fast_find_position): Don't overstep the last window row.
+ (IT_note_mouse_highlight): Initialize portion to -1. Remove
+ unused variable `area'. When looking for a row under (X,Y), give
+ up if some of the previous rows is not enabled.
+
+2000-12-12 Gerd Moellmann <gerd@gnu.org>
+
+ * window.c (Fset_window_point): If displaying cursors in windows
+ other than the selected window, make sure redisplay updates
+ other windows to show the new value of point in the window.
+
+ * dispextern.h (cursor_in_non_selected_windows): Declare extern.
+
+ * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
+ the buffer is the sole visible buffer when in the mini-buffer.
+
+ * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
+ Bind `inhibit-read-only' to t.
+ (unwind_with_echo_area_buffer): Use AREF.
+
+ * xfns.c (Fx_hide_tip): Simplified.
+
+ * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use
+ GC_MAKE_GCPROS_NOOPS instead of `1'.
+
+ * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
+
+2000-12-11 Gerd Moellmann <gerd@gnu.org>
+
+ * xfns.c (Fx_hide_tip): Fix last change.
+
+ * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
+ nothing to do. Bind inhibit-quit.
+ (tip_frame): Make it a Lisp_Object.
+ (x_create_tip_frame): Set tip_frame after it has been added to
+ Vframe_list.
+ (Fx_show_tip): Don't set tip_frame here.
+
+ * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
+
+ * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
+ Lisp_Object.
+
+ * dispextern.h: Change external declaration of tip_frame.
+
+ * keymap.c (Fkey_description): If KEYS is an empty key sequence,
+ return an empty string.
+
+ * xdisp.c (try_cursor_movement): Check update_mode_lines instead
+ of the window's update_mode_line flag, since the former is set by
+ force-mode-line-update, not the latter. This makes
+ column-number-mode slightly faster.
+
+ * xdisp.c (try_window_id) <all changes above window start>:
+ Set the cursor.
+
+2000-12-11 Paul Eggert <eggert@twinsun.com>
+
+ * config.in (HAVE_FTELLO): Remove.
+ (HAVE_FSEEKO): Add.
+ (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
+ * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
+ HAVE_FTELLO.
+ * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
+ * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
+
+2000-12-11 Miles Bader <miles@gnu.org>
+
+ * window.c (displayed_window_lines): Don't round up when
+ converting empty space at bottom to lines.
+ Handle non-newline-terminated final lines properly.
+ (Fwindow_text_height): New function (used to be in lisp).
+ (syms_of_window): Initialize it.
+
+2000-12-09 Stefan Monnier <monnier@cs.yale.edu>
+
+ * syntax.c (scan_lists): Check that the right quote char has the
+ right Sstring syntax when jumping over strings.
+ (init_syntax_once): Use Smax rather than 13.
+
+2000-12-09 Miles Bader <miles@gnu.org>
+
+ * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
+ with PARTIALLY, inverting the sense.
+ (window_scroll_pixel_based): Scroll partially visible lines into
+ place if we hit the beginning or end of the buffer.
+ (displayed_window_lines): Don't include partially visible lines.
+ (Fmove_to_window_line): Skip past any partially visible first line.
+
+2000-12-08 Gerd Moellmann <gerd@gnu.org>
+
+ * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
+
+ * tparam.c (tparam1): Change the way buffers are reallocated to be
+ portable and less obfuscated.
+
+ * termcap.c (tgetent): Change the way buffers are reallocated to
+ be portable and less obfuscated.
+
+ * macros.c (store_kbd_macro_char): Change the way buffers are
+ reallocated to be portable and less obfuscated.
+
+ * lread.c (read1): Change the way buffers are reallocated to be
+ portable and less obfuscated.
+
+ * doc.c (Fsubstitute_command_keys): Change the way buffers
+ are reallocated so that it is portable.
+
+2000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
+
+ * dosfns.c (Ffile_system_info): New function.
+ (syms_of_dosfns): Defsubr it.
+
+2000-12-07 Stefan Monnier <monnier@cs.yale.edu>
+
+ * alloc.c (gc_sweep): Add comment.
+
+2000-12-07 Gerd Moellmann <gerd@gnu.org>
+
+ * sound.c (vox_configure): Change order of ioctls. Don't
+ set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
+ Ignore errors when changing volume.
+ (vox_close): Don't reset the device.
+
+ * process.c (read_process_output): Make sure the process marker's
+ position is valid when the process buffer is changed in
+ after-change functions. W3 does that.
+
+ * xfns.c (x_free_gcs): New function.
+
+ * xterm.h (x_free_gcs): Add prototype.
+
+ * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
+ freeing GCs here.
+
+ * xterm.c (x_destroy_window): Call x_free_gcs so that
+ resources of non-toolkit X windows will be freed.
+
+2000-12-07 Andrew Innes <andrewi@gnu.org>
+
+ * w32fns.c (xlfd_charset_of_font): Fix last change.
+
+2000-12-06 Dave Love <fx@gnu.org>
+
+ * md5.h (__P): Don't define -- it comes from config.h.
+
+ * strftime.c: Change some #if foo to #ifdef foo.
+
+2000-12-06 Andrew Innes <andrewi@gnu.org>
+
+ * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
+
+ * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname
+ argument.
+ (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
+ (w32_list_fonts): Don't choke if pattern doesn't specify a
+ codepage.
+
+2000-12-06 Gerd Moellmann <gerd@gnu.org>
+
+ * alloc.c (gc_sweep): Prevent symbols read during loadup
+ from being freed.
+
+ * xdisp.c (underlying_face_id): New function.
+ (handle_face_prop, face_before_or_after_it_pos): Use it
+ to determine the face ``under'' a string. Let strings inherit
+ the face of the buffer under them.
+
+ * xfaces.c (face_at_string_position): Update function comment.
+
+ * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
+ matrix if the window's left position has changed; we need to
+ redraw it in this case.
+
+ * dispextern.h (struct glyph_matrix): Add member window_left_x.
+
+ * window.c (coordinates_in_window): Check mouse on mode-line or
+ header-line first.
+
+ * alloc.c (Fgarbage_collect): Dox fix. Return a list as
+ advertized by the function documentation.
+
+ * window.c (syms_of_window): Doc fix.
+
+ * sound.c (vox_configure): Set volume for left and right channel.
+ (sound_cleanup): Return nil.
+
+ * xdisp.c (move_it_by_lines): Fix paren typo.
+
+ * xterm.c (x_load_font): Don't use the font's max_bounds for
+ computing the height of the font. If max_bounds' ascent or
+ descent are greater than the font's ascent or descent, this means
+ glyphs overlap, which should be handled now by redisplay.
+
+ * window.c (Veven_window_heights): New variable.
+ (syms_of_window): DEFVAR_LISP it.
+ (Fdisplay_buffer): Check Veven_window_heights before evening the
+ window heights.
+
+2000-12-06 Miles Bader <miles@gnu.org>
+
+ * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
+ update `default-frame-alist' instead of setting no frame parameters.
+
+2000-12-06 Kenichi Handa <handa@etl.go.jp>
+
+ * composite.c (update_compositions): Fix typo (use the correct
+ variable).
+
+2000-12-05 Jason Rumney <jasonr@gnu.org>
+
+ * md5.h: Remove underscores from function declarations.
+ (__attribute__, __alignof__) [!__GNUC__]: Define.
+
+ * md5.c: Delay include of md5.h until after namespace cleaning.
+
+ * makefile.w32-in (fns.o): Depend on md5.h
+ (md5.o): New target.
+ (sunfns.o): Remove.
+
+ * makefile.nt: Likewise.
+
+2000-12-05 Jason Rumney <jasonr@altavista.net>
+
+ * w32term.c (expose_area): Complete last change.
+
+2000-12-05 Ken Raeburn <raeburn@gnu.org>
+
+ * minibuf.c: Include intervals.h.
+
+2000-12-05 Jason Rumney <jasonr@gnu.org>
+
+ * w32term.c (x_produce_glyphs): If a font for a component of
+ a composition is not found, use 1 pixel dot ascent and 0 dot
+ descent value to avoid displaying terribly tall empty boxes.
+ (expose_area): Pass x-coordinate relative to the exposed
+ area to x_draw_glyphs instead of a window-relative coordinate.
+
2000-12-05 Gerd Moellmann <gerd@gnu.org>
+ * xdisp.c (next_element_from_ellipsis): Save face before selective
+ display in saved_face_id, and set face_before_selective_p.
+ (reseat_1): Reset face_before_selective_p.
+ (append_space, extend_face_to_end_of_line): If iterator's
+ face_before_selective_p is set, use the face from saved_face_id.
+ (extend_face_to_end_of_line): For tty frames, make sure to
+ use the right face id when producing spaces at the end of
+ the line.
+
+ * dispextern.h (struct it): Add face_before_selective_p.
+
+ * keyboard.c (record_char): Don't record identical help-echo
+ events in recent_keys.
+
* xterm.c [USE_X_TOOLKIT]: Close the display.
(xim_close_dpy): Handle case that the display has been closed.