+2000-12-15 Gerd Moellmann <gerd@gnu.org>
+
+ * lread.c (read1): Recognize end of file after `\\'.
+
+ * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
+ not unwind_create_frame.
+
+2000-12-15 Kenichi Handa <handa@etl.go.jp>
+
+ * coding.c (setup_coding_system): Clear all members of the struct
+ coding_system at first.
+ (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
+ argument.
+ (code_convert_region): Don't override coding->src_multibyte and
+ coding->dst_multibyte.
+
+ * fns.c (Fmd5): Docstring improved.
+
+2000-12-15 Miles Bader <miles@gnu.org>
+
+ * xdisp.c (window_box_height): Only use mode-line glyph-rows that
+ are actually marked as mode-lines; otherwise use
+ estimate_mode_line_height.
+
+2000-12-14 Gerd Moellmann <gerd@gnu.org>
+
+ * editfns.c (Fformat): Prevent a buffer overrun when the format
+ specifies a precision.
+
+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.
+
+ * xterm.c (x_destroy_window): Reset the frame's X window after
+ destroying it.
+
+ * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
+ variable window_width.
+ (line_draw_cost): Fix code skipping over spaces at the end of the
+ line when must_write_spaces is not set.
+ (scrolling_window): Fix code inserting runs in list of all runs.
+
+2000-12-05 Kenichi Handa <handa@etl.go.jp>
+
+ * coding.c (setup_coding_system): Be sure to initialize
+ coding->category_idx.
+
+2000-12-04 Gerd Moellmann <gerd@gnu.org>
+
+ * xterm.c (PER_CHAR_METRIC): Removed because not used.
+
+ * xterm.c (expose_area): Pass x-coordinate relative to the exposed
+ area to x_draw_glyphs instead of a window-relative coordinate.
+
+ * fileio.c (auto_save_error): Add parameter ERROR. Show the
+ error in the message.
+
+ * keyboard.c (Fread_key_sequence): Don't start the busy cursor
+ timer after having read a key. It's not good for code reading
+ several keys in a loop, like an input method.
+
+ * fileio.c (Finsert_file_contents): When VISIT is t, don't
+ record undo information for format-decode.
+
+ * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
+ current buffer is read-only, not if it isn't.
+
+ * keyboard.c (record_char): Record `help-echo' input events
+ in recent_keys only if they display some help. Don't record
+ `help-echo' events as macro char.
+
+2000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
+
+ * editfns.c (save_excursion_restore): Don't move point
+ in another window if it is showing the wrong buffer.
+ Avoid the call to Fwindow_live_p, for speed.
+
+2000-12-04 Kenichi Handa <handa@etl.go.jp>
+
+ * xfaces.c (struct font_name): New member registry_priority.
+ (split_font_name): Initialize the above member to zero.
+ (concat_font_list): New function.
+ (font_list): Include fonts of all alternative registries.
+ (FONT_POINT_SIZE_QUANTUM): New macro.
+ (better_font_p): Ignore point size difference less than
+ FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
+
+ * xterm.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.
+
+ * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
+
+2000-12-03 Ken Raeburn <raeburn@gnu.org>
+
+ * coding.h (code_convert_string1): Declare.
+
+ * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
+
+ * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name):
+ Declare.
+
+2000-12-02 Jason Rumney <jasonr@gnu.org>
+
+ * w32term.c (w32_bdf_per_char_metric): Dereference pointer
+ correctly for single byte character case.
+ (w32_per_char_metric): Do not try to make any assumptions about
+ the metrics of BDF fonts.
+ (x_estimate_mode_line_height): If `mode-line' face
+ hasn't a font, use that of the frame, as drawing glyphs
+ does.
+ (note_mouse_highlight): Change the cursor shape on the vertical
+ border between windows [not enabled].
+
+ * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
+
+ * w32fns.c (Fx_create_frame): Reintroduce the call to
+ face-set-after-frame-defaults.
+ (Vx_window_horizontal_drag_shape): New variable.
+ (syms_of_xfns): DEFVAR_LISP it.
+ (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
+ enabled].
+
+2000-12-02 Simon Josefsson <simon@josefsson.org>
+
+ * fns.c (Fmd5): Use a different logic to decide the coding system
+ to use.
+
+ * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
+
+2000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
+
+ * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is
+ NULL.
+
+2000-12-01 Gerd Moellmann <gerd@gnu.org>
+
+ * xterm.c (x_calc_absolute_position): Don't subtract menubar's
+ height for YNegative.
+ (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
+ height; also see comment there.
+
+ * window.c (coordinates_in_window): Handle computations for
+ positions on the vertical bar and fringes differently for
+ window-system frames. Consider some pixels near the vertical bar
+ as on the bar if the frame doesn't have vertical scroll bars.
+ Associate positions between mode or header lines with the
+ right window, the left one.
+
2000-12-01 Jason Rumney <jasonr@gnu.org>
* w32term.c (w32_clear_window): Avoid clearing an invalid frame.
* fns.c (Fmd5): Doc fix.
-2000-10-07 Simon Josefsson <simon@josefsson.org>
+2000-11-30 Simon Josefsson <simon@josefsson.org>
* fns.c (Fmd5): New function.
(syms_of_fns): Defsubr md5.