+2000-12-06 Gerd Moellmann <gerd@gnu.org>
+
+ * 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.
+
+ * w32xfns.c (get_frame_dc): Avoid changing the palette on an
+ invalid frame.
+
+2000-12-01 Gerd Moellmann <gerd@gnu.org>
+
+ * window.c (struct saved_window): Add members orig_top and
+ orig_height.
+ (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
+ (save_window_save, Fset_window_configuration): Save/restore
+ window's orig_top and orig_height.
+
+2000-12-01 Jason Rumney <jasonr@gnu.org>
+
+ * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
+
+ * w32fns.c (x_set_cursor_color): Fix last change.
+
+2000-11-30 Gerd Moellmann <gerd@gnu.org>
+
+ * xdisp.c (echo_area_display): If cursor is in the echo area, make
+ sure that the next redisplay displays the minibuffer, so that
+ the cursor will be replaced with what the minibuffer wants.
+
+ * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
+ #ifndef instead of using #if.
+ (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
+ USE_TOOLKIT_SCROLL_BARS is defined.
+
+2000-11-30 Jason Rumney <jasonr@gnu.org>
+
+ * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
+ x_display_cursor.
+
+2000-11-30 Gerd Moellmann <gerd@gnu.org>
+
+ * fns.c (Fmd5): Doc fix.
+
+2000-11-30 Simon Josefsson <simon@josefsson.org>
+
+ * fns.c (Fmd5): New function.
+ (syms_of_fns): Defsubr md5.
+
+ * Makefile.in (obj): Add md5.o
+
+2000-11-30 Gerd Moellmann <gerd@gnu.org>
+
+ * md5.h, md5.c: New files, taken from glibc.
+
+ * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
+
+ * xterm.c (x_estimate_mode_line_height): If `mode-line' face
+ hasn't a font, use that of the frame, as drawing glyphs
+ does.
+
+2000-11-29 Stefan Monnier <monnier@cs.yale.edu>
+
+ * eval.c (Frun_hooks): Allow 0 arguments.
+
+2000-11-29 Gerd Moellmann <gerd@gnu.org>
+
+ * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
+ is over the menu bar widget, say it's not on the frame.
+
+ * xfns.c (Fx_create_frame): Reintroduce the call to
+ face-set-after-frame-defaults.
+
+ * eval.c (Fsignal): Reset handling_signal.
+
+2000-11-28 Jason Rumney <jasonr@gnu.org>
+
+ * w32menu.c (add_menu_item): Reset menu item text when changing
+ type to radio button.
+
+2000-11-28 Gerd Moellmann <gerd@gnu.org>
+
+ * xselect.c: Update copyright.
+
+ * window.c (coordinates_in_window): If on a mode or header line,
+ but sufficiently close to its start, return ``on vertical
+ border''. This gives us a way to drag windows horizontally when
+ using toolkit scroll bars.
+
+ * xterm.c (note_mouse_highlight): Change the cursor shape
+ on the vertical border between windows.
+
+ * xterm.h (struct x_output): Add member horizontal_drag_cursor.
+
+ * xfns.c (Vx_window_horizontal_drag_shape): New variable.
+ (syms_of_xfns): DEFVAR_LISP it.
+ (x_set_mouse_color): Create frame's horizontal_drag_cursor.
+
+ * textprop.c (text_read_only): New function.
+ (verify_interval_modification): Use it instead of signaling
+ `text-read-only'. This makes it easier to catch this error
+ with a breakpoint.:
+
+ * xdisp.c (forward_to_next_line_start): Check for newlines,
+ not end of line, which includes CR.
+
+2000-11-28 Kenichi Handa <handa@etl.go.jp>
+
+ * coding.c (Ffind_coding_systems_region_internal): Be sure to
+ include no-conversion.
+
+2000-11-27 Jason Rumney <jasonr@gnu.org>
+
+ * w32fns.c (w32_load_system_font): Always mark font as double byte
+ if codepage is unicode.
+
+2000-11-27 Gerd Moellmann <gerd@gnu.org>
+
+ * xdisp.c (forward_to_next_line_start): If already on a newline,
+ just consume it to avoid unintended skipping over invisible text
+ below.
+
+ * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
+ `vertical-line', `mode-line' and `header-line' events.
+
+ * xdisp.c (try_window_id): Avoid starting to display in the middle
+ of a character, a TAB for instance. This is easier than to set
+ up the iterator exactly, and it's not a frequent case, so the
+ additional effort wouldn't really pay off.
+
+2000-11-26 Andrew Choi <akochoi@i-cable.com>
+
+ * emacs.c (main) [macintosh]: Call syms_of_frame before calling
+ init_window_once.
+
+2000-11-25 Jason Rumney <jasonr@gnu.org>
+
+ * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]: Args
+ to window_from_coordinates should be pixel coordinates.
+
+ * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
+ redisplay handles them properly.
+
+2000-11-25 Miles Bader <miles@gnu.org>
+
+ * indent.c (compute_motion): Keep pos_byte in sync with pos.
+
+2000-11-24 Jason Rumney <jasonr@gnu.org>
+
+ * w32.c (init_environment): Set LANG environment variable based on
+ locale settings, if not set.
+
+ * w32fns.c (x_set_tool_bar_lines): Clear internal border when
+ making tool bar smaller. When clearing the frame, also
+ clear current matrices. Clear frame when tool bar disappears.
+ Don't use more lines for the tool-bar than is available.
+ (x_change_window_heights): New function.
+
+2000-11-24 Gerd Moellmann <gerd@gnu.org>
+
+ * xdisp.c (init_from_display_pos): If POS says we're already after
+ an overlay string ending at POS, make sure to pop the iterator
+ because it will be in front of that overlay string. When POS is
+ ZV, we've thereby also ``processed'' overlay strings at ZV.
+
+ * xfaces.c (lface_from_face_name): Function comment fix.
+
+2000-11-24 Miles Bader <miles@gnu.org>
+
+ * xdisp.c (display_menu_bar, display_mode_line): Change the way we
+ apply `mode-line-inverse-video' -- zero means force display using
+ the default face, non-zero means display using the specialized face.
+ (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
+
+2000-11-23 Kenichi Handa <handa@etl.go.jp>
+
+ * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
+ hard coded `4'.
+
+2000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
+
+ * coding.c (decode_coding_emacs_mule): Fix the case of
+ CODING_EOL_LF, which used uninitialized value of c.
+
+2000-11-23 Stefan Monnier <monnier@cs.yale.edu>
+
+ * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
+
+2000-11-22 Gerd Moellmann <gerd@gnu.org>
+
+ * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
+ buffer object.
+
+ * frame.h (struct frame): Replace desired_tool_bar_items,
+ current_tool_bar_items, n_desired_tool_bar_items,
+ n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
+
+ * frame.c (make_frame): Change initialization of tool bar
+ items accordingly.
+
+ * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
+ Change references to members deleted from struct frame to use the
+ new ones.
+
+ * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
+ references to members deleted from struct frame to use the new
+ ones.
+
+ * dispnew.c (update_frame): Do nothing with frame's tool bar
+ items.
+
+ * alloc.c (mark_object) <frame>: Mark tool bar items differently.
+
+ * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
+ (note_tool_bar_highlight): Change references to members deleted
+ from struct frame to use the new ones.
+
+2000-11-23 Miles Bader <miles@gnu.org>
+
+ * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
+ the face's inverse-video attribute, rather than overriding it.
+
+2000-11-22 Gerd Moellmann <gerd@gnu.org>
+
+ * xfns.c (x_set_tool_bar_lines): Clear internal border when
+ making tool bar smaller.
+
+2000-11-22 Dave Love <fx@gnu.org>
+
+ * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
+
+2000-11-22 Miles Bader <miles@gnu.org>
+
+ * keyboard.c (Vminibuffer_message_timeout): New variable.
+ (command_loop_1): Use it to determine message timeout.
+ (syms_of_keyboard): Initialize it.
+
+ * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
+
+2000-11-22 Kenichi Handa <handa@etl.go.jp>
+
+ * sysdep.c: Move the code for declaring h_errno after #include
+ <netdb.h>.
+
+2000-11-21 Gerd Moellmann <gerd@gnu.org>
+
+ * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
+ the menu bar when the tooltip is unmapped.
+
+ * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
+ sole visible buffer when we're currently in the mini-buffer, and
+ give up if so.
+
+2000-11-21 Jason Rumney <jasonr@gnu.org>
+
+ * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
+ put on the clipboard.
+ (Fw32_get_clipboard_data): Compare data on clipboard with saved
+ copy of what Emacs last put there. If they are the same, do not
+ use the clipboard copy to avoid losing data due to coding
+ conversions.
+
+2000-11-22 Miles Bader <miles@gnu.org>
+
+ * minibuf.c (Vminibuffer_prompt_properties): New variable.
+ (syms_of_minibuf): Initialize it.
+ (read_minibuf): Add properties from Vminibuffer_prompt_properties
+ to prompt, don't make read-only.
+
+2000-11-21 Gerd Moellmann <gerd@gnu.org>
+
+ * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>: Add
+ BEFORE/AFTER_POTENTIAL_GC.
+
+ * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
+
+ * buffer.c (mmap_free_1): Avoid a compiler warning.
+
+ * term.c, cm.c: Don't try to include termcap.h; see comment there.
+
+2000-11-21 Kenichi Handa <handa@etl.go.jp>
+
+ * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
+ ... #endif scope.
+
+2000-11-20 Gerd Moellmann <gerd@gnu.org>
+
+ * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
+ screen supports it.
+
+ * s/gnu-linux.h: Don't use `#cpu'.
+
+ * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
+ not defined in mman.h.
+
+ * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New
+ variables.
+ (x_send_scroll_bar_event): Store the window in scroll_bar_windows
+ and store an index in the XClientMessageEvent. Storing a
+ Lisp_Object or pointer can fail on a 64 bit system, since X only
+ transfers 32 bits.
+ (x_scroll_bar_to_input_event): Get the window from
+ scroll_bar_windows.
+
2000-11-20 Dave Love <fx@gnu.org>
* Makefile.in (LIBX): Reorder for -lX11 after -lXpm.