2002-03-10  Jan D.  <Jan.Djarv@mbox200.swipnet.se>

	* xterm.h: Extern declare x_session_check_input () and
 	x_session_initialize ().

	* xterm.c: Added calls to x_session_check_input () and
 	x_session_initialize ().

	* termhooks.h (enum event_kind): Added save_session_event.

	* keyboard.c: Added Emacs event save_session_event.

	* emacs.c (main): Added call to syms_of_xsmfns ().

	* lisp.h: Extern declare syms_of_xsmfns ().

	* config.in: Added HAVE_X_SM

	* Makefile.in: Added test for HAVE_X_SM and added new file xsmfns.c

	* xsmfns.c: New file for X session management.

2002-03-09  Jason Rumney  <jasonr@gnu.org>

	* fileio.c (Fcopy_file) [WINDOWS_NT]: Ensure file is not
	read-only when setting modified time.

2002-03-08  Gerd Moellmann  <gerd@gnu.org>

	* xdisp.c (move_it_vertically_backward): At the end of the
	function, when moving forward by lines, treat terminal frames
	specially.

	* keyboard.c (echo_char): Make sure to add a separator between
	keys even if echo_dash hasn't been called.

	* xdisp.c: Use new string macros.
	(update_echo_area): Pass number of bytes to message3 instead of
	number of chars.
	(set_message_1): Don't access a string's size_byte directly.
	(decode_mode_spec_coding): Use number of bytes of eoltype string
	instead number of chars.

	* lisp.h (SREF, SDATA, SCHARS, SBYTES, SMBP): New macros.

2002-03-08  Juanma Barranquero  <lektu@terra.es>

	* w32fns.c (Fx_display_color_cells): Force 24+ bit color depths to
	24-bit.

2002-03-06  Jason Rumney  <jasonr@gnu.org>

	* w32term.c (x_draw_hollow_cursor): Draw same size as block cursor.

2002-03-06  Gerd Moellmann  <gerd@gnu.org>

	* keyboard.c (echo_prompt, echo_char, echo_dash, echo_now)
	(cancel_echoing, echo_length, echo_truncate): Changed to
	work with new kboard definition.
	(echo_now): Use message3_nolog instead of message2_nolog.

	* alloc.c (mark_kboards): Mark echo_string.

	* keyboard.h (ECHOBUFSIZE): Removed.
	(struct kboard): Member echoptr removed, member echobuf renamed
	to echo_string.

	* xdisp.c (message_with_string): Use Fformat instead of doprnt and
	message3 instead of message2 to display the message using STRING's
	text properties.

2002-03-05  Andreas Schwab  <schwab@suse.de>

	* xdisp.c (hscroll_margin): Change to EMACS_INT.

2002-03-05  Per Abrahamsen  <abraham@dina.kvl.dk>

	* frame.c (default-frame-alist): Explain that setting it doesn't
	affect existing frames.

2002-03-05  Stefan Monnier  <monnier@cs.yale.edu>

	* indent.c (skip_invisible): Fix my brain fart.

	* dispnew.c (sit_for): Don't wait if executing a kbd macro.

2002-03-04  Stefan Monnier  <monnier@cs.yale.edu>

	* dosfns.c, dosfns.h, dispnew.c, dispextern.h, commands.h, charset.c,
	* alloc.c, abbrev.c, emacs.c, eval.c, keyboard.c, keyboard.h,
	* lisp.h, lread.c, sysdep.c, termcap.c, termchar.h, w32term.c,
	* window.c, xdisp.c, xselect.c, xterm.c: Change defvar_int definition
	and variables to use EMACS_INT instead of just int.

	* buffer.c (syms_of_buffer): Allow non-string `mode-name'.

2002-03-04  Eli Zaretskii  <eliz@is.elta.co.il>

	* sysdep.c (sys_subshell) [MSDOS]: If PWD is set in the
	environment, pass it down with corrected value.

2002-03-04  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>

	* lread.c (read_filtered_event): Do not call start_hourglass
	before returning.

2002-03-04  Juanma Barranquero  <lektu@terra.es>

	* w32term.c (x_display_and_set_cursor): Fix typo.

2002-03-03  Richard M. Stallman  <rms@gnu.org>

	* fileio.c (Fmake_temp_name): Doc fix.

2002-03-03  Gary Wong  <gtw@gnu.org>

	* termcap.c [!emacs]: Replace ospeed for building standalone
	libtermcap, for binary compatibility.

	* tparam.c [!emacs]: Move #define of bcopy to after string.h.

2002-03-03  Richard M. Stallman  <rms@gnu.org>

	* xrdb.c (file_p): Rename arg `path' to `filename'.

	* abbrev.c (Fexpand_abbrev): Increment plist as use count
	only if it is an integer.

	* xfns.c (png_load): Set screen_gamma based on f->gamma.
	If png_get_sRGB gives an answer, call png_set_gamma
	using the default image gamma value.

	* lread.c (read1): When reading from a file, default string to
	multibyte only if it has some multibyte characters.

	* print.c (print_object): Output multibyte chars 128...255
	using \x even if ! print_escape_multibyte.

	* xdisp.c (display_mode_element): Move the places where
	bytepos, charpos, this, and lisp_string are set.
	Use lisp_string to set bytepos.

	* xdisp.c (redisplay_internal):
	Call clear_image_cache only if HAVE_WINDOW_SYSTEM.

	* xdisp.c (display_mode_element): Merge properties specified with
	:propertize onto those that come with the string.

2002-03-03  Eli Zaretskii  <eliz@is.elta.co.il>

	* xdisp.c (syms_of_xdisp) <auto-hscroll-mode>: Renamed from
	automatic-hscrolling.  Users changed.
	<hscroll-margin>: Renamed from automatic-hscroll-margin.
	Users changed.
	<hscroll-step>: Renamed from automatic-hscroll-step.  Users changed.

2002-03-02  Eli Zaretskii  <eliz@is.elta.co.il>

	* buffer.c (syms_of_buffer) <buffer-file-coding-system>: Doc fix.

2002-03-02  Kim F. Storm  <storm@cua.dk>

	* window.c (Fminibuffer_selected_window): New function.
	(syms_of_window): Defsubr it.

2002-03-01  Kim F. Storm  <storm@cua.dk>

	* window.h (struct window): New member phys_cursor_width.

	* window.c (make_window, replace_window): Init phys_cursor_width.

	* xterm.c (x_display_and_set_cursor): Blink box cursor using
	hollow box cursor.  Blink bar cursor using 1 pixel wide bar.

	* w32term.c (x_display_and_set_cursor): Blink box cursor using
	hollow box cursor.  Blink bar cursor using 1 pixel wide bar.

	* lisp.h (GCPRO6): New macro.

	* process.c (Fopen_network_stream): Use GCPRO6.

2002-03-01  Kim F. Storm  <storm@cua.dk>

	* process.c (Qconnect, Qfailed): New variables.
	(syms_of_process): Intern and staticpro them.
	(Fprocess_status): Document connect and failed return values.
	[NON_BLOCKING_CONNECT]: New conditional.
	(connect_wait_mask, num_pending_connects): New variables.
	(status_message): Convert Qfailed status.
	(Fopen_network_stream): Added support for non-blocking connect.
	New optional args: filter, sentinel, non_blocking.  Doc updated.
	[HAVE_GETADDRINFO, !HAVE_GETADDRINFO]:  Merged common code.
	(deactivate_process): Handle pending non-blocking connect.
	(wait_reading_process_input): Poll for status of non-blocking
	connects.  Exec sentinel directly when connect succeeds.
	(status_notify): Don't read process output if not yet connected.

2002-02-28  Kim F. Storm  <storm@cua.dk>

	* window.c: (minibuf_selected_window): Renamed from
	Vminibuf_selected_window.  Users changed.
	(syms_of_window): Staticpro it.

2002-02-26  Kim F. Storm  <storm@cua.dk>

	The following changes add a new Vminibuf_selected_window variable
	which is similar to Vminibuf_scroll_window, but which is only set
	on entry to the minibuffer (from a non-minibuffer window):

	* window.c: (Vminibuf_selected_window): New variable.
	(struct save_window_data): New member minibuf_selected_window.
	(Fset_window_configuration): Restore Vminibuf_selected_window.
	(Fcurrent_window_configuration): Save Vminibuf_selected_window.
	Set minibuf_scroll_window member to nil if minibuf_level is 0.
	(compare_window_configurations): Compare minibuf_selected_window.

	* window.h: (Vminibuf_selected_window): Declare extern.

	* minibuf.c (read_minibuf): Set Vminibuf_selected_window on first
	entry to minibuffer or on entry from a non-minibuffer window.

	* dispextern.h (CURRENT_MODE_LINE_FACE_ID_3): Compare with
	Vminibuf_selected_window instead of Vminibuf_scroll_window.

	* xdisp.c (init_iterator): Compare with Vminibuf_selected_window
	instead of Vminibuf_scroll_window when deciding in which window
	the region should be highlighted.  Consequently, the region remains
	highlighteded even when a completion buffer is also displayed.

2002-02-26  Eli Zaretskii  <eliz@is.elta.co.il>

	* fileio.c (Fsubstitute_in_file_name): Fix the change from
	2002-02-08.

	* xselect.c (Qcompound_text_with_extensions): Renamed from
	Qcompound_text_no_extensions.
	(lisp_data_to_selection_data, syms_of_xselect): Use the new name.

2002-02-26  Juanma Barranquero  <lektu@terra.es>

	* w32proc.c (syms_of_ntproc): Doc fix.

2002-02-24  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>

	* intervals.h: Include "dispextern.h" unconditionally.

2002-02-24  Jason Rumney  <jasonr@gnu.org>

	* Makefile.in (WINNT_SUPPORT) [WINDOWSNT]: Add w32-vars.elc
	and disp-table.elc.
	(lisp): Add emacs-lisp/backquote.elc.

2002-02-24  Kim F. Storm  <storm@cua.dk>

	* keymap.c (Flookup_key): Fixed problem in 2001-12-28 patch:
	The validation of the event type was too strict as it didn't
	allow string events; buffer names are used in bindings for
	menu-bar-select-buffer (see `menu-bar-update-buffers').

2002-02-23  Kim F. Storm  <storm@cua.dk>

	The following changes rework my patch of 2002-02-06 which
	added command remapping by entering the commands directly into
	the keymaps.  Now, command remapping uses an explicit `remap'
	prefix in the keymaps, i.e. [remap COMMAND].

	* keymap.c (Qremap, remap_command_vector): New variables.
	(is_command_symbol): Removed function.
	(Fdefine_key): No longer accept a symbol for KEY.
	Added validation of [remap COMMAND] argument for KEY.
	The DEF is no longer required to be a symbol when remapping a command.
	(Fremap_command): New function to remap command through keymaps.
	(Flookup_key): Perform command remapping initiated by
	Fremap_command directly for speed.
	(Fkey_binding): Use Fremap_command for command remapping.
	(where_is_internal): Handle new command remapping representation.
	(syms_of_keymap): Intern Qremap, initialize remap_command_vector,
	staticpro them.  Defsubr Fremap_command.

	* keymap.h (Fremap_command): Declare extern.
	(is_command_symbol): Remove extern.

	* keyboard.c (command_loop_1): Use Fremap_command for command
	remapping; now try command remapping for all symbols.

2002-02-23  Eli Zaretskii  <eliz@is.elta.co.il>

	* coding.h (run_pre_post_conversion_on_str): Add prototype.

2002-02-23  Jason Rumney  <jasonr@gnu.org>

	* w32select.c (Fw32_set_clipboard_data): Run pre-write-conversion
	on the string before encoding it.
	(Fw32_get_clipboard_data): Run post-read-conversion on the string
	after decoding it.

	* w32fns.c (w32_wnd_proc) <WM_TIMER>: Fix last change.

2002-02-23  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>

	* w32term.c (enter_timestamp): Remove unused static variable to
	prevent warning.

	* xterm.c (enter_timestamp): Put in #if 0 to prevent warning.

2002-02-23  Eli Zaretskii  <eliz@is.elta.co.il>

	* w16select.c (Fw16_get_clipboard_data): Fix last change.

	* xselect.c (selection_data_to_lisp_data): Fix last change.

2002-02-22  Jason Rumney  <jasonr@gnu.org>

	* w32term.h (struct w32_output): New member menu_command_in_progress.

	* w32menu.c (menubar_selection_callback): Free the menu and
	clear the menu_command_in_progress flag.

	* w32fns.c (mouse_move_timer, mouse_button_timer): Initialize.
	(menu_free_timer): New variable.
	(MENU_FREE_ID, MENU_FREE_DELAY): New constants.
	(w32_wnd_proc) <WM_TIMER>: Handle menu_free_timer.
	<WM_EXITMENULOOP>: Delay before freeing menu.  Do nothing if a
	menu command is in progress.
	<WM_COMMAND>: Set the menu_command_in_progress flag.
	Kill any menu_free_timer that is running.

	* w32term.c (w32_text_out): Renamed from W32_TEXTOUT.
	Call ExtTextOutA rather than ExtTextOut.

2002-02-22  Eli Zaretskii  <eliz@gnu.org>

	* puresize.h (BASE_PURESIZE): Increase to 755000.

2002-02-22  Eli Zaretskii  <eliz@is.elta.co.il>

	* w16select.c (Fw16_set_clipboard_data): Run pre-write-conversion
	on the string before encoding it.
	(Fw16_get_clipboard_data): Run post-read-conversion on the string
	after decoding it.

2002-02-22  Eli Zaretskii  <eliz@is.elta.co.il>

	Support for ICCCM  Extended Segments in X selections:

	* xselect.c <Qcompound_text_no_extensions>: New variable.
	(syms_of_xselect): Intern and staticpro it.
	(selection_data_to_lisp_data): Run post-read-conversion on decoded
	selection text.
	(lisp_data_to_selection_data): If next-selection-coding-system is
	compound-text-no-extensions, set the type of selection to be
	compound-text.

	* xterm.h (x_encode_text): Update prototype.

	* xfns.c (x_encode_text): Accept additional arg SELECTIONP; all
	callers changed.  If SELECTIONP is non-zero, run the
	pre-write-conversion function before encoding the selection text.

2002-02-21  Kim F. Storm  <storm@cua.dk>

	* frame.c (syms_of_frame): Change mouse-highlight default to t.

	* keyboard.c (kbd_buffer_get_event) [WINDOWSNT]:
	Correct composing of language-change event.

2002-02-20  Kim F. Storm  <storm@cua.dk>

	* keyboard.c (menu_bar_items): Don't include keymap or local-map
	bindings at PT when building menu (the menu is not updated often
	enough for this to work reliable).
	(tool_bar_items): Likewise.
	(current_active_maps): Removed unused (and buggy) function.

2002-02-20  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>

	* xfns.c (gif_load): Use correct width and height for GIF images.

2002-02-19  Eli Zaretskii  <eliz@is.elta.co.il>

	* floatfns.c (Fatan): Accept an optional second arg and call
	atan2 if passed 2 args.

2002-02-18  Jason Rumney  <jasonr@gnu.org>

	* w32term.c (glyph_rect): Determine the row and glyph more precisely.

2002-02-17  Jason Rumney  <jasonr@gnu.org>

	* w32term.c (x_autoselect_window_p): New variable.
	(syms_of_w32term): DEFVAR_BOOL and initialize it.
	(note_mouse_movement): Use it.

	* w32fns.c (w32_load_system_font): Never set fonts_changed_p to zero.

	* w32bdf.c (w32_load_bdf_font): Maybe set fonts_changed_p.

	* w32fns.c (Qfullscreen, Qfullwidth, Qfullheight, Qfullboth):
	New variables.
	(syms_of_w32fns): Intern and staticpro them.
	(x_frame_parms) <"fullscreen">: New parameter.
	(x_fullscreen_move, x_set_fullscreen): New functions.
	(x_set_frame_parameters): Support Qfullscreen.
	(x_real_positions): Save x/y_pixels_diff frame params.
	(x_figure_window_size): Support full-screen frames.
	(Fx_create_frame): Default the fullscreen parameter.

	* w32term.c (x_check_fullscreen, x_check_fullscreen_move)
	(x_fullscreen_adjust): New functions.
	(w32_read_socket) <WM_WINDOWPOSCHANGED>:  Don't	resize to
	fullscreen.  Call x_check_fullscreen_move, and set the
	want_fullscreen member of output_data.w32
	<WM_ACTIVATE, WM_ACTIVATEAPP>: Call x_check_fullscreen.

	* w32term.h: New enum for FULLSCREEN_* constants.
	(struct w32_output): New members want_fullscreen, x_pixels_diff,
	y_pixels_diff, x_pixels_outer_diff, and y_pixels_outer_diff.
	(x-fullscreen-adjust): New prototype.

2002-02-17  Kim F. Storm  <storm@cua.dk>

	* frame.c: (Vmouse_highlight): New variable.
	(syms_of_frame): DEFVAR_LISP it.

	* frame.h: (Vmouse_highlight): Declare extern.

	* xterm.h (struct x_display_info): Add mouse_face_hidden.

	* xterm.c (disable_mouse_highlight): Removed variable.
	(note_mouse_highlight): Don't highlight if Vmouse_highlight is nil.
	(show_mouse_face): Don't show highlight if mouse_face_hidden is	set.
	(XTread_socket): Turn mouse_face_hidden off after mouse movement,
	and on after keyboard input.
	(x_term_init): Initialize mouse_face_hidden.

	* msdos.h (struct display_info): Add mouse_face_hidden.

	* msdos.c (disable_mouse_highlight): Removed variable.
	(show_mouse_face): Don't show highlight if mouse_face_hidden is	set.
	(IT_note_mouse_highlight): Don't highlight if Vmouse_highlight is nil.
	(internal_terminal_init): Initialize mouse_face_hidden.
	(dos_rawgetc): Turn mouse_face_hidden off after mouse movement,
	and on after keyboard input.

	* w32term.h (struct w32_display_info): Add mouse_face_hidden.

	* w32term.c (disable_mouse_highlight): Removed variable.
	(note_mouse_highlight): Disable highlight if Vmouse_highlight is nil.
	(show_mouse_face): Don't show highlight if mouse_face_hidden is	set.
	(w32_read_socket): Turn mouse_face_hidden off after mouse movement,
	and on after keyboard input.
	(w32_initialize_display_info): Initialize mouse_face_hidden.

2002-02-16  Eli Zaretskii  <eliz@is.elta.co.il>

	* msdos.c (last_mouse_window): New variable.
	(dos_rawgetc): Fix last change--if the mouse is in the same window
	as recorded in last_mouse_window, don't select this window.

	* Makefile.in (lisp, shortlisp): Use cus-start.elc, not cus-start.el.

	* msdos.c (x_autoselect_window_p): New variable.
	(syms_of_msdos): Defvar it.
	(dos_rawgetc): If x_autoselect_window_p is set, select the window
	in which the last mouse movement occured, unless it is already
	selected.

	* xdisp.c (automatic_hscroll_margin, Vautomatic_hscroll_step):
	New variables.
	(syms_of_xdisp): DEVFAR them.
	(hscroll_window_tree): Use automatic_hscroll_margin and
	Vautomatic_hscroll_step to compute the amount of window scrolling.

2002-02-16  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>

	* xterm.c (x-autoselect-window): New variable.
	(note_mouse_movement): Use it.

	* keyboard.c: Do not include "systime.h" twice.

2002-02-15  Andreas Schwab  <schwab@suse.de>

	* puresize.h (BASE_PURESIZE): Increase to 9/5.

	* alloc.c (NSTATICS): Increase to 1280.

2002-02-15  Kai Gro,A_(Bjohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* alloc.c (NSTATICS): Bump to 1026.

	* xterm.c (Vx_alt_keysym, Vx_hyper_keysym, Vx_meta_keysym)
	(Vx_super_keysym): New variables.
	(syms_of_xterm): DEFVAR_LISP them.
	(x_x_to_emacs_modifiers, x_emacs_to_x_modifiers): Use the
	variables to determine which keys to use for the various modifiers.

2002-02-13  Kim F. Storm  <storm@cua.dk>

	* window.c: (Vmode_line_in_non_selected_windows): Removed.
	(mode_line_in_non_selected_windows): New variable.
	(syms_of_window): DEFVAR_BOOL it.

	* dispextern.h (CURRENT_MODE_LINE_FACE_ID_3):
	Use mode_line_in_non_selected_windows.
	(mode_line_in_non_selected_windows): Declare extern.
	(Vmode_line_in_non_selected_windows): Removed extern.

2002-02-13  Richard M. Stallman  <rms@gnu.org>

	* keyboard.c (Fthis_command_keys, Fthis_command_keys_vector)
	(Fthis_single_command_keys, Fthis_single_command_raw_keys)
	(Fclear_this_command_keys): Doc fixes.

	* xfaces.c (Finternal_make_lisp_face, Finternal_copy_lisp_face)
	(update_face_from_frame_parameter): Increment face_change_count
	and windows_or_buffers_changed to force redisplay using changed faces.

	* xdisp.c (QCpropertize): New variable.
	(mode_line_proptrans_alist): New variable.
	(display_mode_element): New arg PROPS; all calls changed.
	Implement this, for strings.
	Handle literal output of strings by sharing the
	main-line code for strings, using local var `literal'.
	Handle :propertize feature.
	(syms_of_xdisp): Initialze and staticpro QCpropertize and
	mode_line_proptrans_alist.

2002-02-11  Kim F. Storm  <storm@cua.dk>

	* window.c: (Vmode_line_in_non_selected_windows): New variable.
	(syms_of_window): DEFVAR_LISP it.

	* dispextern.h (CURRENT_MODE_LINE_FACE_ID_3): New macro.
	(CURRENT_MODE_LINE_FACE_ID): Use it.
	(Vmode_line_in_non_selected_windows): Declare extern.

	* xdisp.c (display_mode_lines): Use CURRENT_MODE_LINE_FACE_ID_3
	to get mode line face.

2002-02-11  Eli Zaretskii  <eliz@is.elta.co.il>

	* msdos.c (Vx_bitmap_file_path, x_stretch_cursor_p): Remove these
	variables; cus-start.el doesn't need them anymore.

2002-02-09  Kim F. Storm  <storm@cua.dk>

	* insdel.c (make_gap_smaller): Preserve BEG_UNCHANGED during gap
	reduction.  This fixes a display problem where stray newlines were
	inserted in the window (corrected by C-l).  Clarified code (IMHO).

2002-02-09  Eli Zaretskii  <eliz@is.elta.co.il>

	* dispextern.h (CURRENT_MODE_LINE_FACE_ID): Fix last change.

	* xdisp.c (display_mode_lines): Fix last change.

2002-02-09  Jason Rumney  <jasonr@gnu.org>

	* w32fns.c (enum_font_cb2): Don't let charsets unknown to Windows
	match each other.
	(w32_load_system_font): Prevent Cleartype fonts from loading.
	(Fx_show_tip): Ensure tip frames are above other topmost windows.

2002-02-09  Kim F. Storm  <storm@cua.dk>

	* dispextern.h (CURRENT_MODE_LINE_FACE_ID): New macro.
	(CURRENT_MODE_LINE_HEIGHT): Use it.
	(enum face_id): Add MODE_LINE_INACTIVE_FACE_ID.

	* xdisp.c (window_box_height): Use CURRENT_MODE_LINE_FACE_ID.
	(pos_visible_p, handle_face_prop): Likewise.
	(display_mode_lines): Likewise, but for the real selected window.
	(init_iterator) [row == NULL]: Handle MODE_LINE_INACTIVE_FACE_ID.

	* xfaces.c (Qmode_line_inactive): New face variable for mode-line
	in non-selected windows.
	(realize_basic_faces): Realize it.
	(syms_of_term): Intern and staticpro it.

2002-02-08  Kim F. Storm  <storm@cua.dk>

	* alloc.c (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK):
	Changed mail addresses to emacs-devel@gnu.org.

2002-02-08  Eli Zaretskii  <eliz@is.elta.co.il>

	* fileio.c (Fsubstitute_in_file_name): If the file name includes
	~user, and there's no such user, don't discard everything before ~user.

	* floatfns.c (Fround): Doc fix.

2002-02-08  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>

	* sysdep.c (init_system_name): Put unused variable `p' in #if 0.

2002-02-07  Stefan Monnier  <monnier@cs.yale.edu>

	* lisp.h (Fx_file_dialog): Add extern decl (used in fileio.c).

2002-02-07  Kim F. Storm  <storm@cua.dk>

	* keymap.c (where_is_internal): Only check whether definition is
	remapped if it fulfills is_command_symbol.

2002-02-07  Andreas Schwab  <schwab@suse.de>

	* s/gnu-linux.h (GC_LISP_OBJECT_ALIGNMENT): Define to 2 for m68k.

	* alloc.c (mark_stack): Don't assume sizeof (Lisp_Object) is 4.

2002-02-06  Kim F. Storm  <storm@cua.dk>

	* keymap.c (Fdefine_key): Allow symbol as KEY argument for
	defining command remapping.  Doc updated.
	(Flookup_key): Remap command through keymap if KEY is a symbol.
	(is_command_symbol): New function.
	(Fkey_binding): Use it.  New optional argument NO-REMAP.
	Doc updated.  Callers changed.  Perform command remapping via
	recursive call unless that arg is non-nil.
	(where_is_internal): New argument no_remap.  Callers changed.
	Call recursively to find original key bindings for a remapped
	comand unless that arg is non-nil.
	(Fwhere_is_internal): New optional argument NO-REMAP.
	Doc updated.  Callers changed.  Pass arg to where_is_internal.

	* keymap.h (Fkey_binding, Fwhere_is_internal): Update prototype.
	(is_command_symbol): Added prototype.

	* keyboard.c (Vthis_original_command): New variable.
	(syms_of_keyboard): DEFVAR_LISP it.
	(command_loop_1): Set it, and perform command remapping.

2002-02-06  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>

	* keyboard.c (recursive_edit_1): Call cancel_hourglass unconditionally.

2002-02-06  Jason Rumney  <jasonr@gnu.org>

	* w32term.c (w32_native_per_char_metric): Disable 2002-01-20 change.

2002-02-06  Eli Zaretskii  <eliz@is.elta.co.il>

	* charset.c (get_charset_id): Use if-else instead of ?:.

2002-02-06  Richard M. Stallman  <rms@gnu.org>

	* filelock.c (S_ISLNK): Define if not defined.

2002-02-03  Richard M. Stallman  <rms@gnu.org>

	* fileio.c (Fdo_auto_save): Improve "auto save disabled" msg.

	* lread.c (read1): Redesign strategy for force_multibyte and
	force_singlebyte.  Now is_multibyte records whether read_buffer
	is multibyte.  Encountering any multibyte character makes it so.

2002-02-02  Stefan Monnier  <monnier@cs.yale.edu>

	* term.c (term_get_fkeys_1): If `k0' and `k;' are both specified and
	with the same sequence, map that sequence to f10 rather than f0.

2002-02-03  Andreas Schwab  <schwab@suse.de>

	* s/gnu-linux.h: Check for __mc68000__ instead of __m68k__, the
	latter never being defined on GNU/Linux.

2002-02-02  Eli Zaretskii  <eliz@is.elta.co.il>

	* xfaces.c (realize_default_face): Don't set the weight and slant
	of the default face to Qnormal, unless these attributes are
	unspecified.

2002-02-02  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>

	* keyboard.c (command_loop_1) [HAVE_X_WINDOWS]:
	Call cancel_hourglass unconditionally.

	* eval.c (Fsignal): Remove duplicated declaration of
	the variable `display_hourglass_p'.

2002-01-31  Richard M. Stallman  <rms@gnu.org>

	* editfns.c (region_limit): Nicer error message.

	* coding.c (decode_composition_emacs_mule):
	Give up if NCOMPONENT gets too large to index `component'.

	* callint.c (check_mark): New arg to specify clearer error message.
	Callers changed.

2002-01-27  Richard M. Stallman  <rms@gnu.org>

	* minibuf.c (Fcompleting_read): Doc fix.

2002-01-27  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>

	* minibuf.c (Fread_from_minibuffer, Fread_command, Fread_function)
	(Fread_variable, Fread_buffer, minibuffer-completion-confirm):
	Fix doc-strings.

2002-01-26  Richard M. Stallman  <rms@gnu.org>

	* buffer.c (syms_of_buffer): Doc fixes for scroll-...-aggressively.

	* xdisp.c (try_scrolling): Exchange uses of scroll_down_aggressively
	and scroll_up_aggressively.

2002-01-26  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>

	* keyboard.c (parse_tool_bar_item): Remove duplicated prototypes.

2002-01-25  Stefan Monnier  <monnier@cs.yale.edu>

	* textprop.c (Fnext_property_change, Fnext_single_property_change)
	(Fprevious_property_change, Fprevious_single_property_change):
	Stay within the narrowed-buffer boundaries.

2002-01-25  Eli Zaretskii  <eliz@is.elta.co.il>

	* term.c (Ftty_display_color_cells): New function.
	(syms_of_term): Defsubr it.
	(Ftty_display_color_cells, Ftty_display_color_p): Change the
	argument name to DISPLAY.  Doc fix.

	* dispextern.h: Add prototype for set_tty_color_mode and
	tty_setup_colors.

2002-01-24  Jason Rumney  <jasonr@gnu.org>

	* w32term.c (x_scroll_run): Use ScrollWindowEx in place of BitBlt.
	If region left to draw is not what was expected, mark the frame as
	garbaged.

	* w32fns.c (w32_wnd_proc) <WM_PAINT>: Initialize update_rect.
	Combine the regions returned by BeginPaint and GetUpdateRect.

2002-01-23  Jason Rumney  <jasonr@gnu.org>

	* w32term.c (x_update_window_begin): Only hide caret if
	w32_use_visible_system_caret is set.
	(x_update_window_end): Only show caret if
	w32_use_visible_system_caret is set.
	(syms_of_w32term): Handle SystemParametersInfo call failing.

	* w32fns.c (syms_of_w32fns): Initialize w32_visible_system_caret_hwnd.

2002-01-22  Richard M. Stallman  <rms@gnu.org>

	* unexelf.c (unexec): Define n so as to cause compilation error
	for the code where people have often written n instead of nn.

	* .gdbinit (hookpost-run): Defined.

2002-01-22  Jan D.  <Jan.Djarv@mbox200.swipnet.se>

	* xfns.c (x_set_frame_parameters): Typo in previous fix corrected.

2002-01-21  Jan D.  <Jan.Djarv@mbox200.swipnet.se>

	* xfns.c (x_set_frame_parameters): Just call x_fullscreen_adjust
	if fullscreen is being set.

2002-01-21  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>

	* minibuf.c (Fminibuffer_contents)
	(Fminibuffer_contents_no_properties, Fread_from_minibuffer)
	(Fread_string, Fread_no_blanks_input, Fcompleting_read): Doc fixes.

2002-01-21  Richard M. Stallman  <rms@gnu.org>

	* window.c (check_frame_size): Fix minimum height calculation.

2002-01-20  Ken Raeburn  <raeburn@gnu.org>

	* dispextern.h (WINDOW_WANTS_MODELINE_P): Use XFASTINT on window
	height before comparison.
	(WINDOW_WANTS_HEADER_LINE_P): Likewise.

2002-01-20  Jason Rumney  <jasonr@gnu.org>

	* w32term.c (w32_system_caret_width): Remove.
	(w32_use_visible_system_caret): New user flag.
	(syms_of_w32term): DEFVAR_BOOL it.  Initialize based on whether
	Windows reports a screen reader running.
	(x_update_window_begin): Hide the system caret.
	(x_update_window_end): Show the system caret.
	(x_display_and_set_cursor): Don't draw a cursor when
	w32_use_visible_system_caret is set.  Do not adjust width.

	* w32fns.c (w32_visible_system_caret_hwnd): New static variable.
	(w32_wnd_proc) <WM_KILL_FOCUS, WM_EMACS_DESTROY_CARET>: Set it.
	<WM_EMACS_TRACK_CARET>: Arrange for system caret to be visible if
	the user requests it.  Use system default width when creating.
	<WM_EMACS_HIDE_CARET, WM_EMACS_SHOW_CARET>: Handle new messages.

	* w32term.h (WM_EMACS_SHOW_CARET, WM_EMACS_HIDE_CARET):
	New window messages.

2002-01-20  Richard M. Stallman  <rms@gnu.org>

	* window.c (MIN_SAFE_WINDOW_HEIGHT): Value now 1.

2002-01-20  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>

	* doprnt.c (doprnt1): Fix typos in error call.

2002-01-20  Eli Zaretskii  <eliz@is.elta.co.il>

	* unexelf.c (unexec) [__sgi]: Support the .got sections.

2002-01-20  Jason Rumney  <jasonr@gnu.org>

	* w32term.c (w32_native_per_char_metric): Don't trust the metrics
	that Windows returns.  If a double check fails, try to guess how
	ExtTextOut is going to act.

	* w32fns.c (w32_load_system_font, w32_to_x_charset): Use strnicmp
	in place of stricmp.
	(w32_list_synthesized_fonts): Removed.
	(w32_to_all_x_charsets, enum_font_maybe_add_to_list): New functions.
	(struct enumfont_t): New element; list.
	(enum_font_cb2): List all style and charset variations of a font.
	(Fw32_select_font): New optional argument; include_proportional.
	Exclude vertical fonts.  Exclude proportional fonts unless
	include_proportional is non-nil.
	(w32_enable_synthesized_fonts): Change to a boolean.
	(Fw32_send_sys_command): Doc fix.

2002-01-19  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>

	* dispnew.c (update_frame): Move the variable `tem' to the block
	where it is used.

2002-01-19  Jason Rumney  <jasonr@gnu.org>

	* w32fns.c (Fx_create_frame): Bind redisplay-dont-pause around
	call to face-set-after-frame-default.

2002-01-18  Richard M. Stallman  <rms@gnu.org>

	* dispextern.h (WINDOW_WANTS_MODELINE_P): Check window height > 1.
	(WINDOW_WANTS_HEADER_LINE_P): Check window height provides room.

2002-01-17  Richard M. Stallman  <rms@gnu.org>

	* window.c (enlarge_window): When exceeding size of parent,
	directly delete all the siblings instead of trying to resize it.

2002-01-17  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>

	* term.c (set_tty_color_mode): Remove unused variable `tem'.

2002-01-16  Henrik Enberg  <henrik@enberg.org>

	* lread.c (init_lread): Move the installed-lisp dirs later in the path.

2002-01-16  Kim F. Storm  <storm@cua.dk>

	* xterm.c (x_erase_phys_cursor): Don't erase cursor if cursor row
	is invisible.  This can happen if cursor is on top line of a
	window, and we switch to a buffer with a header line.

	* w32term.c (x_erase_phys_cursor): Ditto.

2002-01-16  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>

	* xterm.c (XTread_socket) [!USE_X_TOOLKIT]: Compute the value of
	`dont_resize' only when used.

	* xdisp.c: Remove forgotten extern declaration of `Qimage'.

2002-01-15  Eli Zaretskii  <eliz@is.elta.co.il>

	* xdisp.c (display_mode_element): When computing charpos, depend
	on multibyteness of elt, not the text in field.

2002-01-15  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>

	* buffer.c (Fkill_all_local_variables):
	Increment `update_mode_lines' only once.

2002-01-14  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>

	* lisp.h (adjust_after_replace_noundo)
	(Fupdate_coding_systems_internal): Add prototypes.

	* sound.c (Fplay_sound): Initialize header_size also for :data case.

2002-01-14  Eli Zaretskii  <eliz@is.elta.co.il>

	Support for the --color command-line argument and tty-color-mode
	frame parameter:

	* term.c (tty_default_color_capabilities, tty_setup_colors)
	(set_tty_color_mode): New functions.
	(term_init): Call tty_default_color_capabilities.
	(Qtty_color_mode_alist): New variable.
	(syms_of_term): Intern and staticpro it.

	* frame.c (store_frame_param): Call set_tty_color_mode for termcap
	frames.
	(do_switch_frame): For termcap frames, switch the tty
	color mode as specified by the frame's parameters.
	(Qtty_color_mode): New variable.
	(syms_of_frame): Intern and staticpro it.

	* emacs.c (USAGE2): Add the --color option.
	(standard_args): Ditto.

2002-01-13  Jan Djarv  <Jan.Djarv@mbox200.swipnet.se>

	* xterm.h (struct x_output): New members want_fullscreen,
	x_pixels_diff, y_pixels_diff, x_pixels_outer_diff, and
	y_pixels_outer_diff.
	New enum for FULLSCREEN_* constants.
	(FRAME_OUTER_WINDOW): Handle the case where output_data.x->widget
	is NULL.
	(x_fullscreen_adjust): Add prototype.

	* emacs.c (USAGE2): Add the new full-screen arguments.
	(standard_args): Ditto.

	* xfns.c (Qfullscreen, Qfullwidth, Qfullheight, Qfullboth):
	New variables.
	(syms_of_xfns): Intern and staticpro them.
	(x_frame_parms) <"fullscreen">: New parameter.
	(x_fullscreen_move, x_set_fullscreen): New functions.
	(x_set_frame_parameters): Support for Qfullscreen.
	(x_real_positions): More accurate computation of the frame position.
	(x_figure_window_size): Support full-screen frames.
	(Fx_create_frame): Default the fullscreen parameter.

	* xterm.c (x_check_fullscreen, x_fullscreen_adjust): New functions.
	(XTread_socket) <Expose>: Call x_check_fullscreen.
	<ConfigureNotify>: Don't resize to fullscreen.
	Call x_check_fullscreen_move, and set the want_fullscreen member of
	output_data.x.

2002-01-13  Jason Rumney  <jasonr@gnu.org>

	* w32term.h (WM_XBUTTONDOWN, WM_XBUTTONUP): New window messages
	for mice with more than 3 buttons.

	* w32term.c (parse_button): New parameter xbutton.  Callers changed.
	(w32_read_socket): Handle new "XBUTTON" messages.

	* w32fns.c (w32_pass_extra_mouse_buttons_to_system): New user option.
	(syms_of_w32fns): DEFVAR_BOOL it.
	(w32_wnd_proc): Handle new "XBUTTON" messages.

2002-01-13  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>

	* keyboard.c (read_key_sequence): Remove unused variable `extra_maps'.

2002-01-13  Andreas Schwab  <schwab@suse.de>

	* xterm.c (x_load_font): Never set fonts_changed_p to zero.

2002-01-12  Andreas Schwab  <schwab@suse.de>

	* .gdbinit (xbuffer): Remove address operator since data is now a
	pointer.

2002-01-11  Richard M. Stallman  <rms@gnu.org>

	* insdel.c (adjust_after_replace_noundo): New function.

	* coding.c (code_convert_region): Don't copy old text if undo disabled.

2002-01-09  Jason Rumney  <jasonr@gnu.org>

	* xdisp.c (x_consider_frame_title): Don't count the tooltip frame
	when checking for multiple frames.

2002-01-08  Richard M. Stallman  <rms@gnu.org>

	* window.c (delete_window): Rewrite the code for changing the
	selected window to handle the case where WINDOW is not a leaf.

2002-01-07  Eli Zaretskii  <eliz@is.elta.co.il>

	* process.c (send_process): Set src_multibyte to 1 after the call
	top setup_coding_system, not before the call.

2002-01-07  Jason Rumney  <jasonr@gnu.org>

	* xmenu.c (set_frame_menubar, xmenu_show):
	(xdialog_show):	Initialize wv->help to Qnil.

	* w32menu.c (single_submenu, set_frame_menubar, w32_menu_show):
	(w32_dialog_show): Initialize wv->help to Qnil.

2002-01-06  Jason Rumney  <jasonr@gnu.org>

	* xmenu.c (single_submenu): Initialize wv->help to Qnil.

	* w32menu.c (w32_menu_display_help): Revert last change.

	* xmenu.c (menu_highlight_callback): Revert last change.

2002-01-06  Andreas Schwab  <schwab@suse.de>

	* insdel.c (make_gap_larger): Make sure buffer size does not
	overflow range of int.

2002-01-05  Jason Rumney  <jasonr@gnu.org>

	* w32term.c (x_draw_glyphs): Don't call notice_overwritten_cursor if
	OVERLAPS_P.

	* w32menu.c (w32_menu_display_help): Hide any tooltip window.

	* w32fns.c (compute_tip_xy): If tooltip won't fit on the screen
	to the left or to the right of the pointer, put it against
	the left screen edge.
	(x_frame_parms): Add missing braces around initializer.

	* w32term.c (x_setup_relief_colors): Don't compute an image's
	background color if it doesn't have a Pixmap.
	(notice_overwritten_cursor): Don't depend on
	output_cursor and updated_area.  Compare pixel coordinates with
	window's cursor pixel coordinates.
	(x_draw_glyphs, x_clear_end_of_line, show_mouse_face):
	Call notice_overwritten_cursor with new arg list.
	(show_mouse_face): Fix bug setting a row's mouse_face_p flag
	unconditionally.
	(x_draw_image_relief): Use predefined macro instead of
	constant when the value of `tool_bar_button_relief' is negative.

	* w32term.c (x_display_and_set_cursor): Fix PostMessage arg types.

2002-01-04  Richard M. Stallman  <rms@gnu.org>

	* xmenu.c (menu_highlight_callback): Hide any tooltip window.

2002-01-03  Richard M. Stallman  <rms@gnu.org>

	* keymap.c (Fcurrent_active_maps): Put the `keymap' property map first.
	(Fkey_binding): Try the `keymap' property map first.
	(Fdescribe_buffer_bindings): Show `keymap' property bindings before
	minor mode bindings.

2002-01-03  Kim F. Storm  <storm@cua.dk>

	* keyboard.c (read_key_sequence): Fixed cast of submaps arg to bcopy.

2002-01-02  Richard M. Stallman  <rms@gnu.org>

	* keyboard.c (read_key_sequence): Handle the keymap property
	before minor mode maps.

	* editfns.c (Fformat): Update thissize from field_width
	based on the actual width, in the string case.

2002-01-01  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>

	* charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Parenthesize assignment
	when used as truth value to prevent gcc warnings.

	* sysdep.c, unexapollo.c, w32.c, w32bdf.c, w32heap.c, w32inevt.c,
	* w32proc.c: Include <config.h>.

2002-01-01  Andreas Schwab  <schwab@suse.de>

	* eval.c (max_specpdl_size, max_lisp_eval_depth): Define as int,
	not EMACS_INT, to make them compatible with DEFVAR_INT.
	* lisp.h (max_specpdl_size): Adjust declaration.

2002-01-01  Richard M. Stallman  <rms@gnu.org>

	* print.c (print_object): Test print_escape_nonascii only for
	unibyte strings.
	(PRINTPREPARE): Once again bind Qprint_escape_nonascii
	when outputting to a multibyte buffer.

2001-12-29  Richard M. Stallman  <rms@gnu.org>

	* print.c (print_object): In multibyte string, use hex escapes.
	Use octal only for unibyte strings.
	(PRINTPREPARE): Don't ever set Qprint_escape_nonascii.

	* lread.c (read_escape): New arg BYTEREP for reporting whether
	escape forces unibyte or multibyte.
	(read1): When reading a string, take note of that info.

2001-12-29  Ken Raeburn  <raeburn@gnu.org>

	* abbrev.c (Fexpand_abbrev): Use NILP instead of implicit zero
	comparison to test lisp value returned by Fget.

2001-12-29  Richard M. Stallman  <rms@gnu.org>

	* lisp.h (max_specpdl_size): Add declaration.

	* fileio.c (Fdo_auto_save): If NO_MESSAGE, don't call push_message.

	* keymap.c (silly_event_symbol_error): New subrtn, from Fdefine_key.
	Handle modifier bits.  Correct typo in error message.

2001-12-28  Richard M. Stallman  <rms@gnu.org>

	* abbrev.c: Use the plist of an abbrev for multiple params if nec.
	(Fdefine_abbrev): New arg SYSTEM-FLAG for a system abbrev.
	(Fdefine_global_abbrev, Fdefine_mode_abbrev):
	Update calls to Fdefine_abbrev.
	(write_abbrev): Update for changed data format.
	Don't list "system" abbrevs.
	(Fexpand_abbrev): Update use count with new data format.
	(describe_abbrev): Update for changed data format.
	(Fdefine_abbrev_table): Handle the new SYSTEM-FLAG.

	* config.in (HAVE_MBSINIT): Add #undef.

	* strftime.c (mbsinit): Define as no-op if not available.

	* s/sco5.h (LIBX11_SYSTEM) [MOTIF]: Add -lgen.
	(sigprocmask_set): Conditionalize decl on ! NOT_C_CODE.

	* keymap.c (Flookup_key): Error message if key has wrong data type.
	(Fdefine_key): Add error message for trying to bind [DEL], [RET], etc.
	(exclude_key): New variable.

2001-12-28  Gerd Moellmann  <gerd@gnu.org>

	* xterm.c (x_setup_relief_colors): Don't compute an image's
	background color if it doesn't have a Pixmap.

	* xterm.c (notice_overwritten_cursor): Don't depend on
	output_cursor and updated_area.  Compare pixel coordinates with
	window's cursor pixel coordinates.
	(x_draw_glyphs, x_clear_end_of_line, show_mouse_face):
	Call notice_overwritten_cursor with new arg list.
	(show_mouse_face): Fix bug setting a row's mouse_face_p flag
	unconditionally.

	* xdisp.c (try_scrolling) <PT below scroll margin>: Add the
	height of the cursor line to the amount to scroll.

2001-12-27  Richard M. Stallman  <rms@gnu.org>

	* intervals.c (set_point_both): The position after an invisible,
	intangible character is not an acceptable stopping point.

2001-12-27  Ken Raeburn  <raeburn@gnu.org>

	* window.c (enlarge_window): In new preserve_before code, convert
	CURBEG from lisp object to integer before doing arithmetic.

2001-12-27  Richard M. Stallman  <rms@gnu.org>

	* bytecode.c (Fbyte_code): Undo previous change.

2001-12-26  Kim F. Storm  <storm@cua.dk>

	* keyboard.c (record_char): Ignore duplicate help-echo events only
	separated by mouse-movement.  When tracking mouse, only record
	first and last mouse-movement event in same window.
	Don't record mouse-movement events in keyboard macros.

2001-12-25  Richard M. Stallman  <rms@gnu.org>

	* window.c (enlarge_window): New arg PRESERVE_BEFORE.  Callers changed.
	(Fenlarge_window): New arg PRESERVE_BEFORE.

	* bytecode.c (Fbyte_code): Use Fstring_make_unibyte
	instead of Fstring_as_unibyte.

2001-12-22  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>

	The following changes remove mocklisp support:

	* mocklisp.h, mocklisp.c: Files removed.

	* lisp.h: Remove declarations of variables `Vmocklisp_arguments',
	`Qmocklisp' and `Qmocklisp_arguments'.
	Remove prototype of syms_of_mocklisp.

	* makefile.nt, makefile.w32-in, Makefile.in: Remove mocklisp files.

	* callint.c: Do not include mocklisp.h.
	(Fcall_interactively): Do not test for mocklisp case.

	* eval.c: Remove variables `Qmocklisp_arguments',
	`Vmocklisp_arguments' and `Qmocklisp'.  Remove prototype of ml_apply.
	(Fprogn, Fwhile, Fcommandp, Feval, Ffuncall, funcall_lambda):
	Do not test for mocklisp case.
	(Fwhile): Remove unused variable `tem'.
	(syms_of_eval): Remove variable `moclisp-arguments'.

	* data.c (wrong_type_argument): Remove mocklisp case.

	* doc.c (Fdocumentation): Remove mocklisp case.

	* emacs.c (main): Do not call syms_of_mocklisp.

2001-12-21  Richard M. Stallman  <rms@gnu.org>

	* xfns.c (compute_tip_xy): If tooltip won't fit on the screen
	to the left or to the right of the pointer, put it against
	the left screen edge.

2001-12-21  Eli Zaretskii  <eliz@is.elta.co.il>

	* Makefile.in (distclean): Remove .gdbinit if we are building
	outside the source tree.

2001-12-19  Eli Zaretskii  <eliz@is.elta.co.il>

	* w32.c (emacs_root_dir): New function.

	* msdos.c (emacs_root_dir): New function.

	* fileio.c (Fexpand_file_name) [DOS_NT]: Use the root directory
	of the current drive as the fallback for default_directory.

	* dired.c (file_name_completion): Run the elements of
	completion-ignored-extensions through ENCODE_FILE.

	* lisp.h (scmp): Remove prototype, since it's now a static
	function private to dired.c.

2001-12-18  Richard M. Stallman  <rms@gnu.org>

	* dired.c (scmp): Function moved from minibuf.c.
	Delete multibyte handling--used only on encoded strings.

	* minibuf.c (scmp): Function moved to dired.c.

	* fns.c (merge): Add QUIT call.

2001-12-18  Dave Love  <fx@gnu.org>

	* Makefile.in (lisp, shortlisp): Add language/utf-8-lang.el,
	language/georgian.el.

2001-12-18  Eli Zaretskii  <eliz@is.elta.co.il>

	* Makefile.in (lisp, shortlisp): Synchronize with changes to
	lisp/Makefile.in:DONTCOMPILE.

2001-12-18  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>

	* xdisp.c (window_box_height): Do not return negative values.
	From Gerd Moellmann <gerd@gnu.org>.

	* keyboard.c (head_table): Add missing braces around initializer.

	* term.c (keys): Likewise.

	* xfns.c (x_frame_parms, visual_classes): Likewise.

2001-12-17  Sam Steingold  <sds@gnu.org>

	* coding.c (DECODE_COMPOSITION_END): Fixed a typo in the last
	patch (COMPOSING_P, not COMPOSING).

2001-12-17  Richard M. Stallman  <rms@gnu.org>

	* editfns.c (Fcompare_buffer_substrings): Add QUIT to main loop.

	* coding.c (code_convert_region): Update coding->cmp_data->char_offset
	before calling decode_coding.

	* charset.c (Fdefine_charset): Call Fupdate_coding_systems_internal.

	* coding.c (DECODE_COMPOSITION_END): Check for ! COMPOSING_P (coding)
	instead of only for COMPOSITION_DISABLED.

2001-12-16  Richard M. Stallman  <rms@gnu.org>

	* alloc.c (pure_alloc): After overflow, allocate just a small block.

	* Makefile.in (xmenu.o, xterm.o, fontset.o): Depend on buffer.h.

	* buffer.h (struct buffer): New field `display_error_modiff'.
	* buffer.c (reset_buffer): Initialize `display_error_modiff'.

	* window.c (Frecenter): Clear display_error_modiff field.

	* xdisp.c (redisplay_window_0, redisplay_window_1): New functions.
	Call redisplay_window, but not if display_error_modiff field says no.
	(redisplay_window_error): New function.
	(displayed_buffer): New variable.
	(redisplay_internal, redisplay_windows): Call the new functions
	instead of redisplay_window directly.

2001-12-15  Richard M. Stallman  <rms@gnu.org>

	* keyboard.c (syms_of_keyboard) <double-click-fuzz>: Doc fix.

2001-12-14  Andrew Innes  <andrewi@gnu.org>

	* makefile.w32-in (EMACSLOADPATH): Define.
	($(EMACS)): Run `list-load-path-shadows' after dumping emacs.
	(bootstrap-temacs): Remove dependency on bootstrap-clean.

2001-12-13  Eli Zaretskii  <eliz@is.elta.co.il>

	* xfns.c (x_report_frame_params): Make the scroll-bar-width frame
	parameter have a numeric value all the time.

	* w32fns.c (x_report_frame_params): Likewise.

2001-12-12  Richard M. Stallman  <rms@gnu.org>

	* fileio.c (Fwrite_region): Doc fix.

	* xdisp.c (CLEAR_FACE_CACHE_COUNT): Redefine as 500.
	(redisplay_internal): Call clear_image_cache only for window terminals.

2001-12-12  Gerd Moellmann  <gerd@gnu.org>

	* xdisp.c (move_it_vertically_backward): Change heuristic
	for the case that we didn't move far enough initially.

	* window.c (Frecenter): Simplify computation in the case of window
	system frames and ARG < 0; use window_box_height.

2001-12-11  Richard M. Stallman  <rms@gnu.org>

	* Makefile.in, mem-limits.h, dispnew.c, emacs.c, fileio.c:
	* process.c, sysdep.c, unexec.c: Test GNU_LINUX, not LINUX.

2001-12-11  Andrew Innes  <andrewi@gnu.org>

	* insdel.c (make_gap) [DOUG_LEA_MALLOC]: Call make_gap_smaller if
	arg is negative.

2001-12-11  Richard M. Stallman  <rms@gnu.org>

	* m/hp800.h: Split the __hpux conditional into the parts
	that are right for GNU/Linux too and the parts that are not.
	Use the former if GNU_LINUX.
	(HAVE_ALLOCA, LOAD_AVE_TYPE, LOAD_AVE_CVT): New defs for GNU/Linux.

	* s/gnu-linux.h (GNU_LINUX): Defined.

2001-12-11  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>

	* macros.c, msdos.c, w16select.c: Change doc-string comments to
	`new style' [w/`doc:' keyword].

2001-12-10  Jason Rumney  <jasonr@gnu.org>

	* w32menu.c (w32_free_submenu_strings): Clear menu item struct
	before using.

2001-12-09  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>

	* dosfns.c: Change doc-string comments to `new style' [w/`doc:'
	keyword].

2001-12-09  Eli Zaretskii  <eliz@is.elta.co.il>

	* dosfns.c (dos-display-scancodes, dos-decimal): Doc fix.

	* s/hpux10.h (srand48): Don't undefine.

2001-12-09  Jason Rumney  <jasonr@gnu.org>

	* w32menu.c (_widget_value): Make `help' field a Lisp_Object.
	Add	comment to explain where the struct came from.
	(single_submenu, w32_menu_show): Set `help' field as Lisp_Object.
	(add_menu_item): Process pop-up menus first to avoid memory leak.
	(add_menu_item, w32_menu_display_help): Use `help' field as
	Lisp_Object.
	(w32_free_submenu_strings): Only free owner-drawn strings.

2001-12-09  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>

	* COPYING: Moved back.

	* charset.c (char_to_string_1, translate_char, Fdefine_charset):
	Add parentheses around && within ||.

	* indent.c (compute_motion): Likewise.

	* intervals.c (merge_properties_sticky): Likewise.

	* coding.c (setup_coding_system, shrink_encoding_region)
	(Fdecode_sjis_char): Likewise.

2001-12-07  Andreas Schwab  <schwab@suse.de>

	* xdisp.c (display_mode_element): Don't read past end of string if
	it ends with '%'.

	* alloc.c (inhibit_garbage_collection): Don't exceed value an int
	can hold.

	* data.c (Vmost_positive_fixnum, Vmost_negative_fixnum): Rename
	from most_positive_fixnum and most_negative_fixnum, resp., and
	type changed to Lisp_Object.
	(syms_of_data): DEFVAR_LISP them.

2001-12-07  Richard M. Stallman  <rms@gnu.org>

	* callproc.c (init_callproc): Set Vdata_directory based on the source
	location whenever Emacs was run uninstalled.

2001-12-06  Paul Eggert  <eggert@twinsun.com>

	* config.in (HAVE_WORKING_VFORK): New #undefs.
	* process.c (create_process):
	Use HAVE_WORKING_VFORK, not HAVE_VFORK.
	* m/cnvrgnt.h (HAVE_VFORK): Remove #define.
	* m/ibm370aix.h (HAVE_VFORK): Remove #undef.
	* m/ibmps2-aix.h (HAVE_VFORK): Remove #define.
	* m/intel386.h (HAVE_VFORK): Likewise.
	* m/mips-siemens.h (HAVE_VFORK): Likewise.
	* m/mips.h (HAVE_VFORK): Likewise.
	* s/freebsd.h (vfork): Remove #define.
	* s/lynxos.h (HAVE_VFORK): Remove #undef.
	* s/usg5-4-2.h: Fix comment about vfork.

2001-12-06  Richard M. Stallman  <rms@gnu.org>

	* s/hpux10.h (random): Add undef.
	(HAVE_RANDOM): Define it just once.

2001-12-06  Stefan Monnier  <monnier@cs.yale.edu>

	* eval.c: Undo last change: the standard syntax is not wanted.

2001-12-06  Eli Zaretskii  <eliz@is.elta.co.il>

	* xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]: Remove all the
	scroll bars of the frame before deleting the frame itself.  If the
	frame has a widget, delete the frame with XtDestroyWidget, and do
	not call XDestroyWindow before that.

2001-12-06  Kim F. Storm  <storm@cua.dk>

	* xfns.c (x_report_frame_params): Return actual fringe widths.

	* w32fns.c (x_report_frame_params): Return actual fringe widths.

2001-12-05  Andrew Innes  <andrewi@gnu.org>

	* alloc.c (Fgarbage_collect): Shrink buffer gaps that are
	excessively large.

	* insdel.c (make_gap_larger): New function.
	(make_gap_smaller): New function.
	(make_gap) [USE_MMAP_FOR_BUFFERS || REL_ALLOC]: Call
	make_gap_smaller if arg is negative.

2001-12-04  Stefan Monnier  <monnier@cs.yale.edu>

	* keyboard.c (kbd_buffer_store_event): Fix interrupt_signal prototype.
	Pass a dummy argument when calling interrupt_signal.
	(parse_menu_item): Mark disabled items before checking for empty def.
	(read_char_minibuf_menu_prompt): Make safety more visible.
	(read_key_sequence): Add a `first_unbound' variable.
	Use it to detect C-c ESC ESC ESC ESC ... cases and drop the
	unbound prefix as soon as we can detect it.

	* doc.c (Fsnarf_documentation): Add prototype.
	(get_doc_string): Handle negative arguments.
	(Fdocumentation): Use AREF and ASIZE.
	Move the calls to get_doc_string to a single place.
	Don't confuse an interactive-spec for a docstring reference.
	(Fdocumentation_property): Take advantage of the fact that
	get_doc_string now ignores the sign of the docstring position.

	* eval.c: Use standard syntax for usage in docstrings.

2001-12-03  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>

	* xdisp.c (syms_of_xdisp): Make `tool-bar-button-relief` an option.

2001-12-02  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>

	* xterm.c (x_draw_image_relief): Use predefined macro instead of
	constant when the value of `tool_bar_button_relief' is negative.

2001-12-02  Richard M. Stallman  <rms@gnu.org>

	* xmenu.c (menu_highlight_callback): Use `help' field as Lisp_Object.
	(single_submenu, xmenu_show): Set `help' field as Lisp_Object.

	* fileio.c (read_non_regular): Delete Fsignal call.

2001-12-01  Stefan Monnier  <monnier@cs.yale.edu>

	* lisp.h (run_hook_list_with_args): Undo last change.

2001-12-01  Gerd Moellmann  <gerd@gnu.org>

	* xterm.c (x_draw_fringe_bitmap): Always undo clipping.

2001-12-01  Jason Rumney  <jasonr@gnu.org>

	* window.c (Qleft_fringe, Qright_fringe): Remove. Now in frame.c.

	* w32term.h (WM_MOUSELEAVE, TME_LEAVE, TRACKMOUSEEVENT)
	[!WM_MOUSELEAVE]: Define.

	* w32menu.c (current_popup_menu, get_menu_item_info):
	(set_menu_item_info): New vars.
	(set_frame_menubar): Doc fix clarifying GC interaction with menus.
	(w32_menu_show): Set current_popup_menu.
	(add_menu_item): Allocate new strings for owner-drawn menu items
	and help strings.
	Use owner-draw for disabled menu items again.
	(w32_menu_display_help): Ignore owner-drawn items and popup menus.
	(w32_free_submenu_strings, w32_free_menu_strings): New functions.

	* w32fns.c (trackmouse_window, track_mouse_event_fn): New vars.
	(w32_wnd_proc) <WM_MOUSEMOVE>: Notice when mouse enters frame.
	<WM_EXITMENULOOP>: Free menu strings.
	<WM_MOUSELEAVE>: Stop tracking mouse.
	(x_create_tip_frame): Specify no minibuffer, modeline or fringes.

	* w32term.c (w32_read_socket) <WM_MOUSELEAVE>: Cancel help echo
	and mouse face.

2001-12-01  Kim F. Storm  <storm@cua.dk>

	The following changes add left-fringe and right-fringe
	frame parameters to adjust fringe widths, or remove one or
	both fringes.

	* frame.h (struct frame): Remove trunc_area_pixel_width and
	trunc_area_cols fields.
	(Qleft_fringe, Qright_fringe): Declare.
	(FRAME_RIGHT_FRINGE_WIDTH): New macro.

	* frame.c (Qleft_fringe, Qright_fringe): New vars.
	(syms_of_frame): Initialize them.

	* window.c (coordinates_in_window): Handle separate left and right
	fringe widths.

	* xterm.h (struct x_output): Add left_fringe_width, right_fringe_width,
	and fringe_cols fields.
	(FRAME_FRINGE_BITMAP_WIDTH, FRAME_FRINGE_BITMAP_HEIGHT): Remove macros.
	(FRAME_X_FRINGE_COLS): Use fringe_cols field.
	(FRAME_X_FRINGE_WIDTH): Use fringes_extra field.
	(FRAME_X_LEFT_FRINGE_WIDTH): Use left_fringe_width field.
	(FRAME_X_RIGHT_FRINGE_WIDTH): Use right_fringe_width field.
	(x_compute_fringe_widths): Add prototype.

	* xterm.c (zv_height, zv_bits, zv_period): Changed zv bitmap to
	fill fringe evenly with small dashes.
	(x_draw_fringe_bitmap): Clear background if necessary. Align and
	clip the new ZV bitmap to avoid jitter between rows.
	(x_draw_row_fringe_bitmaps): Rely on x_draw_fringe_bitmap to clear
	background.  Don't draw fringe bitmaps if fringe width is zero.
	(x_compute_fringe_widths): New function.
	(x_new_font, x_set_window_size_1): Use it.

	* xfns.c (x_frame_parms): Add `left-fringe' and `right-fringe' parms.
	(x_set_frame_parameters): Process `font' parameter before other
	parameters as fringe widths depend on it.
	(x_set_fringe_width): New function.
	(x_figure_window_size): Use x_compute_fringe_widths.
	(Fx_create_frame): Process `left-fringe' and `right-fringe' frame
	parameters.

	* widget.c (set_frame_size): Use x_compute_fringe_widths.
	(EmacsFrameSetCharSize): Ditto.

	* w32term.h: Merged changes from xterm.h.
	* w32term.c: Merged changes from xterm.c.
	* w32fns.c: Merged changes from xfns.c.

2001-11-29  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>

	* COPYING: Removed.

2001-11-29  Dave Love  <fx@gnu.org>

	* coding.c (syms_of_coding) <Qchar_coding_system>: Give it an
	extra extra slot.
	(detect_coding_mask): Fix call of detect_coding_iso2022.

2001-11-29  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>

	* fileio.c (file-name-coding-system)
	(default-file-name-coding-system): Doc fix (links to referenced
	variables added).

2001-11-28  Stefan Monnier  <monnier@cs.yale.edu>

	* lisp.h (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5):
	Add dummy uses of gcproN variables.

	* category.c (describe_category, describe_category_1)
	(Fdescribe_categories): Remove.  (Moved to lisp/help-fns.el.)
	(syms_of_category): Don't defsubr Sdescribe_categories.

2001-11-28  Richard M. Stallman  <rms@gnu.org>

	* fileio.c (Ffind_file_name_handler): Avoid initializer for `result'.

	* Makefile.in (lispdir): New variable, referring to build dir.
	(TAGS-LISP): Find Makefile in $(lispdir), not $(lispsource).

2001-11-28  Andrew Innes  <andrewi@gnu.org>

	* w32menu.c (w32_menu_display_help): Actually add the new argument
	OWNER.

2001-11-28  Jason Rumney  <jasonr@gnu.org>

	* w32menu.c (add_menu_item): Do not use owner-draw for disabled
	menu items.  From David Ponce <dponce@wanadoo.fr>.
	(w32_dialog_show) [HAVE_DIALOGS]: Compile whole function
	conditionally.
	(w32_menu_display_help): New argument OWNER. Rewritten to store a
	help event in the owner frame's keyboard buffer.

	* w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Display help directly.
	(Fx_show_tip): Don't subtract last width from row width.

	* w32term.c (w32_read_socket) <WM_MENUSELECT>: Remove.
	(w32_read_socket): Use EQ to compare frames.

2001-11-28  Gerd Moellmann  <gerd@gnu.org>

	* xterm.c (x_draw_glyphs): Don't call notice_overwritten_cursor if
	OVERLAPS_P.

2001-11-28  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>

	* xdisp.c (message_dolog): Remove unused variables `gcpro2',
	`gcpro3' and `gcpro4'.

	* coding.c (decode_coding_string): Remove unused variable `gcpro1'.

2001-11-28  Stefan Monnier  <monnier@cs.yale.edu>

	* ccl.c: Use AREF and ASIZE.

2001-11-27  Stefan Monnier  <monnier@cs.yale.edu>

	* lisp.h (run_hook_list_with_args): Remove.
	(LIST_END_P): Fix call to wrong_type_argument.
	(make_fixnum_or_float): Use EMACS_INT rather than int.

2001-11-26  Stefan Monnier  <monnier@cs.yale.edu>

	* syntax.c (syms_of_syntax): Remove defsubr of Sdescribe_syntax.
	(describe_syntax, describe_syntax_1, Fdescribe_syntax): Remove.

	* eval.c: Use AREF and ASIZE.
	(Ffetch_bytecode): Add the file name to the error message.

	* fileio.c (Ffind_file_name_handler): Give precedence to handlers
	which match the end of the file-name.
	(Fsubstitute_in_file_name): Don't signal an error if $ENVVAR
	is not a valid env var, but leave it as is instead.

	* keymap.c (access_keymap): Handle t bindings like nil bindings.
	Make nil bindings in char-tables transparent.
	(store_in_keymap): Turn a nil binding into a t binding for char-tables.

2001-11-26  Richard M. Stallman  <rms@gnu.org>

	* textprop.c (set_text_properties_1): Allow START, END in either order.
	Do nothing if range is empty.

	* Makefile.in (mallocobj): Simplify logic using auxiliary vars.

	* Makefile.in (mostlyclean): Delete bootstrap-emacs here.
	(clean): Not here.

2001-11-25  Stefan Monnier  <monnier@cs.yale.edu>

	* textprop.c (set_text_properties_1): Clearly mark that the
	interval should not be empty.

	* intervals.c (graft_intervals_into_buffer):
	Don't call set_text_properties_1 on an empty interval.

2001-11-25  Richard M. Stallman  <rms@gnu.org>

	* unexelf.c (unexec): Index by n, not nn, when checking for ".sbss".

	* callproc.c (Fcall_process): When we make a bigger buffer for bufptr,
	don't lose the data in it.

2001-11-25  Juanma Barranquero  <lektu@terra.es>

	* abbrev.c (Fexpand_abbrev): Use Frun_hooks instead of Vrun_hooks.

	* buffer.c (Fkill_buffer): Use Frun_hooks, not Vrun_hooks.

	* print.c (temp_output_buffer_setup): Use Frun_hooks, not Vrun_hooks.

2001-11-25  Stefan Monnier  <monnier@cs.yale.edu>

	* xfaces.c (merge_face_heights): Coerce back to int explicitly.

2001-11-25  Eli Zaretskii  <eliz@is.elta.co.il>

	* window.c (Fset_window_vscroll): Doc fix.  From Kalle Olavi
	Niemitalo <kon@iki.fi>.

2001-11-25  Jason Rumney  <jasonr@gnu.org>

	* w32term.h (FRAME_X_FRINGE_COLS): No fringe on tip frames.

	* w32fns.c (x_create_tip_frame): Set frame's fringes_extra to 0.
	(Fx_show_tip): Block input during frame creation.
	(Fx_show_tip, Fx_hide_tip): Enable.

2001-11-24  Richard M. Stallman  <rms@gnu.org>

	* lread.c (Fload): Detect recursive load error for more than 3
	nestings of the same file.
	(Vrecursive_load_depth_limit): Variable deleted.
	(syms_of_lread) <recursive-load-depth-limit>: Variable deleted.

2001-11-24  Jason Rumney  <jasonr@gnu.org>

	* xfns.c (compute_tip_xy): Initialize root_x and root_y from
	mouse position if either left or top is not specified.

	* w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Revert last change.
	<WM_WINDOWPOSCHANGING>: Let tip frames resize without restriction.
	(my_create_tip_window, Fx_show_tip): Adjust size for external border.
	(my_create_tip_window): Assign tip_window.
	(x_create_tip_frame): Use same defaults as X.
	(compute_tip_xy): Remove unused variable.  Use full screen width.
	(Fx_show_tip): Do not double height. Call ShowWindow directly.

	* w32term.c (x_after_update_window_line): Doc fix.
	(w32_read_socket): Doc fix.  Avoid SET_FRAME_GARBAGED for tip
	frames.
	<WM_SHOWWINDOW>: Redo mouse highlight when hiding tip frame.

	* xdisp.c (prepare_menu_bars) [HAVE_WINDOW_SYSTEM]: Use tip_frame
	for all Windowed systems.

2001-11-23  Eli Zaretskii  <eliz@is.elta.co.il>

	* msdos.c (IT_clear_screen): If the frame's faces are not yet
	realized, use the initial screen colors to clear the screen.

2001-11-23  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>

	* textprop.c (Fset_text_properties): Remove unused variables
	`unchanged', `prev_changed', `s' and `len'.

	* search.c (Freplace_match): Remove unused variable `inslen'.

	* keymap.c (access_keymap): Remove unused variables `c1' and `c2'.

2001-11-22  Jason Rumney  <jasonr@gnu.org>

	* w32fns.c (x_window_to_frame): Remove irrelevant TODO comment.
	(w32_wnd_proc) <WM_MENUSELECT>: Show help echo directly.
	(my_create_tip_window): New function.
	(x_create_tip_frame, compute_tip_xy): Adapt for Windows.
	(Fx_show_tip, Fx_hide_tip) [TEST_TOOLTIPS]: Adapt for Windows.

2001-11-20  Jason Rumney  <jasonr@gnu.org>

	* coding.h (Vw32_system_coding_system) [WINDOWSNT]: Remove.
	(ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: Use Vlocale_coding_system.

	* w32fns.c (Vw32_system_coding_system): Remove.
	(w32_to_x_font, x_to_w32_font): Use Vlocale_coding_system.

2001-11-19  Stefan Monnier  <monnier@cs.yale.edu>

	* fileio.c (Fwrite_region): Move choose_write_coding_system to
	after build_annotations.

	* syntax.c (describe_syntax): Add dummy arg.
	(describe_syntax_1): Update call to describe_vector.

	* category.c (describe_category): Add dummy arg.
	(describe_category_1): Update call to describe_vector.

	* keymap.c (Fdescribe_vector): Add `describer' parameter.
	(describe_command, describe_translation): Add dummy second param.
	(describe_map): Call elt_describer with two arguments.
	(describe_vector_princ): Add `fun' parameter.
	Call it instead of the hardcoded `princ'.
	(describe_vector): Add arg `args'.
	Pass it as a new second argument to elt_describer.

	* keymap.h (describe_vector): Update prototype.

	* frame.c: Don't include keymap.h any more.
	(keys_of_frame): Remove.

	* lisp.h (keys_of_frame): Remove declaration.

	* emacs.c (main): Don't call `keys_of_frame' any more.

2001-11-14  Andreas Schwab  <schwab@suse.de>

	* unexelf.c [!defined MAP_ANON]: Define MAP_ANON to MAP_ANONYMOUS
	if defined, 0 otherwise.
	(MAP_FAILED): Define if not defined and use it to test mmap failure.
	(unexec) [!MAP_ANON]: Use /dev/zero as file to map.

2001-11-19  Richard M. Stallman  <rms@gnu.org>

	* indent.c (current_column_1): Fix handling of scan_bytes for mb chars.

2001-11-18  Jason Rumney  <jasonr@gnu.org>

	* w32term.c (note_mouse_highlight): Fix type of variable `ignore'.
	(x_draw_bar_cursor): If the background color of the glyph under
	the cursor equals the frame's cursor color, use the glyph's
	foreground color for drawing the bar cursor.
	(x_after_update_window_line): Clear internal border in different
	circumstances.
	(w32_set_vertical_scroll_bar): Check for width and height > 0.
	(w32_draw_relief_rect): Correct relief by 1 pixel.
	(x_set_glyph_string_background_width):
	Set extends_to_end_of_line_p if the row's fill_line_p is set and
	drawing the last glyph with DRAW_IMAGE_{RAISED,SUNKEN}.
	(x_display_and_set_cursor): If cursor_in_echo_area, use NO_CURSOR
	if cursor_in_non_selected_windows is false.
	(show_mouse_face): Clean up.  Recognize overwritten cursor differently.
	(x_draw_glyphs): Remove parameters REAL_START and REAL_END.
	Notice if cursor gets overwritten.
	(notice_overwritten_cursor): Renamed from
	note_overwritten_text_cursor.  Rewritten to take glyph widths
	into account, and to take X positions as parameters.
	(x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
	around call to x_draw_glyphs.
	(x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
	`IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
	color to use for image glyph reliefs.
	(x_draw_image_relief): Accept zero tool_bar_button_relief.
	(glyph_rect): Remove unused variable `area'.

	* w32fns.c (x_set_frame_parameters): Avoid infinite recursion for
	some items.
	(x_set_internal_border_width): Set frame garbaged when window
	doesn't exist yet.
	(Fx_create_frame): Accept zero tool_bar_button_relief.
	(x_clear_image_1, four_corners_best, image_background)
	(image_background_transparent): New functions.
	(xpm_format, png_format, jpeg_format, tiff_format, gif_format)
	(gs_format): Add `:background' entry.
	(lookup_image): Set IMG's background color if specified.
	(pbm_load, xbm_load_image, png_load): Set IMG's background field
	when appropriate.
	(x_clear_image_1): Reset `background_valid' and
	`background_transparent_valid' fields.
	(x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
	calculating it here.  Set IMG's background_transparent field.
	(enum xpm_keyword_index): Add XPM_BACKGROUND.
	(enum png_keyword_index): Add PNG_BACKGROUND.
	(enum jpeg_keyword_index): Add JPEG_BACKGROUND.
	(enum tiff_keyword_index): Add TIFF_BACKGROUND.
	(enum gif_keyword_index): Add GIF_BACKGROUND.
	(enum gs_keyword_index): Add GS_BACKGROUND.
	(pbm_load, png_load, jpeg_load, tiff_load, gif_load):
	Pre-calculate image background color where necessary.
	(x_create_x_image_and_pixmap, xbm_load, gs_load):
	Use display info's n_cbits entry for screen depth.
	(Fx_show_tip): Remove unused variables `buffer', `top',
	`left', `max_width' and `max_height'.

	* w32menu.c (w32_menu_show, push_menu_pane): Doc fixes.

2001-11-18  Gerd Moellmann  <gerd@gnu.org>

	* puresize.h (BASE_PURESIZE): Increase to 750000.

2001-11-18  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>

	* frame.c (Fframe_live_p): Doc fix.

2001-11-18  Richard M. Stallman  <rms@gnu.org>

	* xdisp.c (message_dolog_marker1, message_dolog_marker2)
	(message_dolog_marker3): New static variables hold three markers.
	(syms_of_xdisp): Initialize and staticpro them.
	(message_dolog): Use message_dolog_marker1..3 instead of
	allocating markers each time.  Unchain them when done.

2001-11-17  Richard M. Stallman  <rms@gnu.org>

	* doc.c (Fsnarf_documentation): Doc fix.

2001-11-17  Andreas Schwab  <schwab@suse.de>

	* xterm.c (note_mouse_highlight): Fix type of variable `ignore'.

2001-11-17  Richard M. Stallman  <rms@gnu.org>

	* fileio.c (Fwrite_region): Avoid initializer for Lisp_Object.

2001-11-17  Jason Rumney  <jasonr@gnu.org>

	* xterm.c (notice_overwritten_cursor): Take care of end < 0 case.

2001-11-17  Gerd Moellmann  <gerd@gnu.org>

	* xdisp.c (tool_bar_item_info): Avoid calling Fget_text_property
	with invalid position.

2001-11-16  Richard M. Stallman  <rms@gnu.org>

	* syswait.h: Delete conditionals for HPUX7, ISC 4.1, and convex.

	* s/isc4-1.h (HAVE_SYS_WAIT_H): Add #undef.
	* s/hpux.h (HAVE_SYS_WAIT_H): Add #undef.
	* s/hpux8.h (HAVE_SYS_WAIT_H): Define it.

	* m/convex.h (HAVE_SYS_WAIT_H): Add #undef.

2001-11-16  Stefan Monnier  <monnier@cs.yale.edu>

	* fileio.c (build_annotations): Split off the tail.
	(build_annotations_2): New fun.  Extracted from build_annotations.
	(Fwrite_region): Split the call to build_annotations into two
	calls to build_annotations and build_annotations_2.

2001-11-16  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>

	* sysdep.c (wait_for_kbd_input) [VMS]: Do not call
	clear_waiting_for_input with argument.

	* xterm.h (x_update_cursor): Remove duplicated prototype.

	* keyboard.h (clear_waiting_for_input): Remove duplicated prototype.

	* xterm.c (waiting_for_input): Remove unnecessary declaration.

	* data.c (Ftimes, Fquo, Frem, Fmod): Doc fix.

2001-11-16  Stefan Monnier  <monnier@cs.yale.edu>

	* fileio.c (choose_write_coding_system): New fun, extracted
	from Fwrite_region.
	(Fwrite_region): Use it.

	* eval.c (max_specpdl_size, max_lisp_eval_depth): Use EMACS_INT.
	(funcall_lambda, run_hook_with_args): Make static and add prototype.
	(ml_apply, find_handler_clause): Add prototype.

2001-11-16  Eli Zaretskii  <eliz@gnu.org>

	* config.in: Add #undef HAVE_COFF_H.

	* unexec.c (coff.h): Don't include unless HAVE_COFF_H is defined.
	Required for ISC 4.1.

2001-11-16  Eli Zaretskii  <eliz@is.elta.co.il>

	* syswait.h: (HAVE_SYS_WAIT_H): Undef for ISC 4.1.  Reported by
	Andrew Wiseman <a.wiseman@btclick.com>.

2001-11-16  Kim F. Storm  <storm@cua.dk>

	The following changes are made to clean up the various internal
	references to the fringes to actually use the term `fringe' for
	them.  Previously, they were called `flags areas', `bitmap areas',
	`left/right side of windows', or implicitly as `flags' or
	`bitmaps':

	* dispextern.h (FRINGE_FACE_ID): Renamed from BITMAP_AREA_FACE_ID.
	Comments fixed. Use renamed symbols.

	* dispnew.c: Comment fix. Use renamed symbols.

	* frame.h (FRAME_FRINGE_COLS): Renamed from FRAME_FLAGS_AREA_COLS.
	(FRAME_FRINGE_WIDTH): Renamed from FRAME_FLAGS_AREA_WIDTH.
	(FRAME_LEFT_FRINGE_WIDTH): Renamed from FRAME_LEFT_FLAGS_AREA_WIDTH.

	* msdos.c: Comment fix.

	* w32fns.c: Use renamed symbols.

	* w32term.c: Comment fixes. Use renamed symbols.
	(fringe_bitmap_type): Renamed from bitmap_type.
	(NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
	(w32_draw_fringe_bitmap): Renamed from w32_draw_bitmap.
	(x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.

	* w32term.h: Comment fixes. Use renamed symbols.
	(fringes_extra): Renamed from flags_areas_extra.
	(FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
	(FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
	(FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
	(FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
	(FRAME_X_LEFT_FRINGE_WIDTH):
	Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
	(FRAME_X_RIGHT_FRINGE_WIDTH):
	Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.

	* widget.c: Use renamed symbols.

	* window.c: Comment fixes. Use renamed symbols.
	(coordinates-in-window-p): Doc fix.

	* xdisp.c: Comment fixes. Use renamed symbols.

	* xfaces.c (realize_basic_faces): Use FRINGE_FACE_ID.

	* xfns.c: Use renamed symbols.

	* xterm.c: Comment fixes. Use renamed symbols.
	(fringe_bitmap_type): Renamed from bitmap_type.
	(NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
	(x_draw_fringe_bitmap): Renamed from x_draw_bitmap.
	(x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.

	* xterm.h: Comment fixes. Use renamed symbols.
	(fringes_extra): Renamed from flags_areas_extra.
	(FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
	(FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
	(FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
	(FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
	(FRAME_X_LEFT_FRINGE_WIDTH):
	Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
	(FRAME_X_RIGHT_FRINGE_WIDTH):
	Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.

2001-11-15  Jason Rumney  <jasonr@gnu.org>

	* w32menu.c (add-menu-item): Make help_echo and radio buttons
	work for most menu items.  From David Ponce
	<david.ponce@wanadoo.fr>.

2001-11-15  Gerd Moellmann  <gerd@gnu.org>

	* xfns.c (x_set_frame_parameters): Revert change of 2001-11-07.
	Some x_set_* function expect to be called even if old and new
	value are equal.

	* xdisp.c (build_desired_tool_bar_string): Accept zero
	tool_bar_button_relief.

	* xfns.c (Fx_create_frame): Accept zero tool_bar_button_relief.

	* xterm.c (x_draw_image_relief): Accept zero tool_bar_button_relief.

	* xterm.c (x_draw_bar_cursor): If the background color of the
	glyph under the cursor equals the frame's cursor color, use
	the glyph's foreground color for drawing the bar cursor.

	* dispnew.c (direct_output_forward_char): Fix character/byte
	position comparison.

2001-11-15  Miles Bader  <miles@gnu.org>

	* editfns.c (find_field): Add BEG_LIMIT and END_LIMIT parameters.
	(Fdelete_field, Ffield_string, Ffield_string_no_properties):
	Update arguments to find_field.
	(Ffield_beginning, Ffield_end): Add LIMIT param, pass to find_field.
	(Fconstrain_to_field): Use LIMIT arg to shorten search time.
	* lisp.h (Ffield_beginning, Ffield_end): Update EXFUN decl.
	* minibuf.c (Fminibuffer_prompt_end): Update args to Ffield_end.

2001-11-14  Richard M. Stallman  <rms@gnu.org>

	* editfns.c (Fpropertize): Allow call with 1 arg.

	* dispextern.h (image_background, image_background_transparent):
	Conditionalize on HAVE_X_WINDOWS.

2001-11-13  Richard M. Stallman  <rms@gnu.org>

	* print.c (Fprin1_to_string): Doc fix.

	* sunfns.c (Fsun_change_cursor_icon): Doc fix.

	* floatfns.c (Fceiling, Ffloor): Doc fixes.

	* filelock.c (Funlock_buffer, Ffile_locked_p): Doc fixes.

	* fileio.c (Ffile_accessible_directory_p): Doc fix.

	* eval.c (syms_of_eval): Doc fix.

	* coding.c (syms_of_coding): Doc fix.

	* doc.c (Fsnarf_documentation): Doc fix.

	* dispnew.c (syms_of_display): Doc fix.

	* category.c (Fget_unused_category): Doc fix.

	* buffer.c (syms_of_buffer): Doc fixes.

2001-11-14  Eli Zaretskii  <eliz@is.elta.co.il>

	* print.c (prin1, print): Doc fix.

2001-11-14  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>

	* fontset.h: Remove declarations of variables
	`Vhighlight_wrong_size_font' and `Vclip_large_size_font'.

	* fontset.c: Remove variables `Vhighlight_wrong_size_font' and
	`Vclip_large_size_font'.

2001-11-13  Jason Rumney  <jasonr@gnu.org>

	* w32fns.c: Doc fix.

2001-11-13  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>

	* xfaces.c (Fface_attributes_as_vector): Doc fix.

	* w32fns.c (Fx_synchronize): Reindent.

	* fns.c: Doc fix.

	* emacs.c: Doc fix.

	* coding.c: Doc fix.

	* cmds.c, composite.c, dired.c, doc.c, filelock.c, floatfns.c,
	* fontset.c, insdel.c, keymap.c: Change doc-string comments to
	`new style' [w/`doc:' keyword].

	* xmenu.c (x-popup-menu): Reindent.
	(x-popup-dialog): Likewise.

	* xfaces.c (Finternal_set_alternative_font_family_alist): Reindent.

	* xdisp.c (Fdump_tool_bar_row): Reindent.

	* minibuf.c (Fminibuffer_complete_word): Reindent.
	(Fminibuffer_complete_and_exit): Likewise.
	(Fminibuffer_completion_help): Likewise.
	(Fminibuffer_message): Likewise.

	* fns.c (Freverse): Reindent.

	* eval.c (Fif): Reindent.
	(Fand): Likewise.

	* editfns.c (Fuser_real_login_name): Reindent.
	(Finsert_buffer_substring): Likewise.
	(Fcompare_buffer_substrings): Likewise.
	(Fsubst_char_in_region): Likewise.

	* dispnew.c (Fsit_for): Reindent.
	(Fframe_or_buffer_changed_p): Likewise.
	(Finternal_show_cursor_p): Likewise.
	(syms_of_display): Likewise.

	* alloc.c (Flist): Reindent.
	(Fvector): Likewise.

2001-11-12  Richard M. Stallman  <rms@gnu.org>

	* xterm.c (XTread_socket): Don't update focus for EnterNotify or
	LeaveNotify events.  Only FocusIn and FocusOut do that now.
	(x_display_and_set_cursor): Do display hollow cursors in active
	minibuffer windows when they are not selected.

2001-11-12  Jason Rumney  <jasonr@gnu.org>

	* w32console.c, w32fns.c, w32menu.c, w32proc.c, w32select.c,
	* w32term.c: Change doc-string comments to `new style'.
	[w/`doc:' keyword]. Doc fixes.

	* w32fns.c: Don't define max.
	(Fx_open_connection): Only execute once.

2001-11-12  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>

	* ccl.c: Change macros to use do-while block instead of if-else.
	Use braces to follow GNU Coding Standards.

2001-11-11  Richard M. Stallman  <rms@gnu.org>

	* sysdep.c (child_setup_tty): Don't clear ICRNL or INLCR.

	* lread.c (read_escape): Use end_of_file_error for reporting eof.

	* insdel.c (replace_range): Use adjust_markers_for_replace
	instead of adjust_markers_for_delete and adjust_markers_for_insert.

	* intervals.h: Declare set_text_properties and set_text_properties_1.

	* textprop.c (set_text_properties_1): New subroutine
	broken out of set_text_properties.
	(set_text_properties): Use set_text_properties_1.

	* intervals.c (graft_intervals_into_buffer):
	Use set_text_properties_1 to clear out properties.

	* search.c (Freplace_match): Use replace_range to insert
	and delete.  Don't request property inheritance from
	surrounding text.

2001-11-10  Jason Rumney  <jasonr@gnu.org>

	* w32fns.c (enum_font_cb2): Use leading @ on face name to detect
	vertical fonts. Allow them if face name is explicitly specified.
	Do not give up if we find a font that cannot be converted to an xlfd.

2001-11-10  Gerd Moellmann  <gerd@gnu.org>

	* unexelf.c (unexec): Use mmap/munmap to allocate buffers
	instead of malloc/free.

2001-11-09  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>

	* xfaces.c (merge_face_vectors): Use braces to follow GNU
	Coding Standards.
	(Finternal_set_lisp_face_attribute): Likewise.

	* buffer.c (Fbury_buffer): Likewise.

	* indent.c (current_column_1): Remove unused variable `prev_col'.

	* coding.c (encode_coding): Use precomputed value of `src'.
	(encode_coding): Remove unused variable `src_end'.
	(code_convert_region): Remove unused variables `count'.

2001-11-07  Jason Rumney  <jasonr@gnu.org>

	* w32term.c (x_display_and_set_cursor): Do not move system caret
	if cursor_glyph is NULL.

2001-11-07  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>

	* keymap.c (access_keymap): Fix compilation error.

2001-11-07  Miles Bader  <miles@gnu.org>

	* xfns.c (x_set_frame_parameters): Avoid infinite recursion.

2001-11-07  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>

	* intervals.c (graft_intervals_into_buffer):
	Remove #ifdef'd-out code.
	(graft_intervals_into_buffer): Remove unused variable `middle'.

	* lread.c (Feval_region): Remove obsolete #ifdef'd-out
	code (eval-current-buffer).
	Change doc-string comments to `new style' [w/`doc:' keyword].

2001-11-06  Richard M. Stallman  <rms@gnu.org>

	* keymap.c (access_keymap): Don't use initializers on Lisp_Object.

2001-11-06  Stefan Monnier  <monnier@cs.yale.edu>

	* lread.c (read1): Fix behavior with nested backquoting.

	* keyboard.c (make_lispy_event): Check integerness and fix
	Lisp_Object/int mixup.

2001-11-06  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>

	* fns.c (copy_hash_table): Remove unused variable `v'.

	* fontset.c (fontset_font_pattern): Remove unused variable
	`family_registry'.

	* indent.c (current_column_1): Remove unused variable `prev_col'.

2001-11-05  Richard M. Stallman  <rms@gnu.org>

	* m/news-risc.h (BROKEN_PROTOTYPES): Defined.

	* buffer.c (Fkill_buffer): Don't delete auto save file
	if buffer is modified.

2001-11-05  Andrew Innes  <andrewi@gnu.org>

	* w32proc.c (Fw32_set_keyboard_layout): Use CHECK_NUMBER_CAR and
	CHECK_NUMBER_CDR.

2001-11-05  Richard M. Stallman  <rms@gnu.org>

	* unexelf.c (unexec): Minor changes; clean up comments.

2001-11-05  Sam Steingold  <sds@gnu.org>

	* w32term.c (x_display_and_set_cursor): Fix w32 compilation error.

2001-11-05  Andreas Schwab  <schwab@suse.de>

	* sound.c (sound_perror): Save errno from being clobbered.

2001-11-05  Dale Hagglund  <rdh@yottayotta.com>

	* unexelf.c (unexec): Don't use `mmap'.  Instead, read and write
	the program image directly.

2001-11-05  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>

	* buffer.h (Fbuffer_local_value): Add prototype.

2001-11-04  Richard M. Stallman  <rms@gnu.org>

	* buffer.c (Fbuffer_local_value): Remove extra args from CHECK_SYMBOL
	and CHECK_BUFFER.

	* keyboard.c (read_char): Use Fcar and Fcdr, not Fnth.
	(record_char): Likewise.

	* keyboard.c (make_lispy_event): Don't insist a drag event must
	move to a different buffer position.  Instead, check for moving at
	least double_click_fuzz.

	* fns.c (Fmake_hash_table): Use XCAR and XCDR, not Fnth and Flength.

	* keyboard.c (echo-area-clear-hook): Undo Oct 29 change.

	* indent.c (current_column_1, Fmove_to_column): Separate the code
	for display-table glyphs from the code buffer text, to fix
	bugs in the former.

2001-11-04  Michael Welsh Duggan  <md5i@cs.cmu.edu>

	* buffer.c (Fbuffer_local_value): New function.
	(syms_of_buffer): Defsubr it.

	* xterm.c, w32term.c (x_display_and_set_cursor): Use buffer-local
	value of `cursor-in-non-selected-windows'.

	* lisp.h (Qcursor_in_non_selected_windows): New declaration.
	* xdisp.c (Qcursor_in_non_selected_windows): New variable.
	(syms_of_xdisp): Initialize it.

2001-11-04  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>

	* xfns.c (Fx_create_frame): Doc fix.

	* coding.c: Change doc-string comments to `new style' [w/`doc:'
	keyword].

	* eval.c (top_level_value, top_level_set): Remove commented and
	#ifdef'd-out code.
	(Fdefvar): Fix usage in doc-string.

2001-11-03  Richard M. Stallman  <rms@gnu.org>

	* xfns.c: Include unistd.h, if it exists.

	* editfns.c: Move the include of ctype.h after unistd.h.

	* gmalloc.c: Test BROKEN_PROTOTYPES.

2001-11-03  Ken Raeburn  <raeburn@gnu.org>

	* lisp.h (CHECK_STRING_CAR): New macro.
	* lread.c (Fload): Use XSETCARFASTINT, XSETCDRFASTINT instead of
	treating XCAR and XCDR as lvalues.
	(openp): Use CHECK_STRING_CAR.
	(read_list): Use XSETCDR instead of treating XCDR as lvalue.

2001-11-03  Eli Zaretskii  <eliz@is.elta.co.il>

	* s/sco5.h (sigprocmask_set): Declare as extern SIGMASKTYPE.
	(SIGMASKTYPE): Define.

	* syssignal.h (sigunblock): Don't define if already defined.

2001-11-02  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>

	* eval.c (debugger_may_continue, Vdebug_ignored_errors)
	(call_debugger, Fcondition_case, skip_debugger, unbind_to):
	Fix typos in comments.

	* mocklisp.c (Fml_defun, Fml_while, Fml_substr): Remove commented
	and #ifdef'd-out code.
	Fix and reindent comments.

	* mocklisp.h: Remove comment which is a copy of comment in mocklisp.c.

	* category.h (CHECK_CATEGORY, CHECK_CATEGORY_SET): Remove unused
	argument `i' in macros.

	* frame.h (CHECK_FRAME, CHECK_LIVE_FRAME): Remove unused argument
	`i' in macros.

	* lisp.h (CHECK_STRING_OR_BUFFER, CHECK_HASH_TABLE, CHECK_LIST)
	(CHECK_STRING, CHECK_CONS, CHECK_SYMBOL, CHECK_CHAR_TABLE)
	(CHECK_VECTOR, CHECK_VECTOR_OR_CHAR_TABLE, CHECK_BUFFER)
	(CHECK_WINDOW, CHECK_LIVE_WINDOW, CHECK_PROCESS, CHECK_NUMBER)
	(CHECK_NATNUM, CHECK_MARKER, CHECK_NUMBER_COERCE_MARKER)
	(CHECK_FLOAT, CHECK_NUMBER_OR_FLOAT)
	(CHECK_NUMBER_OR_FLOAT_COERCE_MARKER, CHECK_OVERLAY)
	(CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): Remove unused argument `i'
	in macros.

	* abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c,
	* casefiddle.c, category.c, ccl.c, charset.c, cmds.c, coding.c,
	* composite.c, data.c, dired.c, dispnew.c, doc.c, dosfns.c, emacs.c,
	* eval.c, fileio.c, filelock.c, fns.c, fontset.c, frame.c, frame.h,
	* indent.c, keyboard.c, keymap.c, lread.c, macros.c, marker.c,
	* minibuf.c, mocklisp.c, msdos.c, print.c, process.c, search.c,
	* sunfns.c, syntax.c, textprop.c, undo.c, w16select.c, w32console.c,
	* w32fns.c, w32menu.c, w32proc.c, w32select.c, window.c, xdisp.c,
	* xfaces.c, xmenu.c, xselect.c: Update usage of CHECK_ macros
	(remove unused second argument).

2001-11-02  Stefan Monnier  <monnier@cs.yale.edu>

	* syntax.c (describe_syntax): New wrapper.
	(Finternal_describe_syntax_value): Rename from describe_syntax.
	Don't insert space at front and \n at the end.
	(syms_of_syntax): Defsubr Sinternal_describe_syntax_value.

	* regex.c (re_wctype): Try to fix some warnings.
	(regcomp, regexec): Don't forget the __restrict.

2001-11-02  Richard M. Stallman  <rms@gnu.org>

	* textprop.c (Fget_char_property): Doc fix.

2001-11-02  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>

	* process.c (Fstart_process): Add usage to doc-string.

	* data.c (Fsetq_default): Ditto.

	* callint.c (Finteractive): Ditto.

2001-11-01  Stefan Monnier  <monnier@cs.yale.edu>

	* macros.c: Don't include keymap.h any more.

2001-11-01  Richard M. Stallman  <rms@gnu.org>

	* data.c (Fmake_local_variable): Doc fix.

	* eval.c (Frun_hooks, Frun_hook_with_args_until_failure): Doc fix.
	(Frun_hook_with_args_until_success, Frun_hook_with_args): Doc fix.

	* keymap.c (Fdescribe_buffer_bindings): Print character property
	bindings along with or instead of the buffer local map.
	Make the overriding maps override what they should.

2001-11-01  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>

	* window.c (grow_mini_window): Fix typo in comment.

2001-11-01  Gerd Moellmann  <gerd@gnu.org>

	* xterm.c (x_scroll_bar_create): Check for width and height > 0.
	(XTset_vertical_scroll_bar): Likewise.

	* xfns.c (x_build_heuristic_mask): Use four_corners_best
	instead of IMAGE_BACKGROUND.

	* xfns.c (four_corners_best): Reindent.

	* xfaces.c (Finternal_set_lisp_face_attribute_from_resource):
	Handle :box so that it is possible to specify sexprs.

2001-11-01  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>

	* xfaces.c (Finternal_merge_in_global_face): Reindent.
	(Fface_font): Ditto.
	(Finternal_set_alternative_font_registry_alist): Ditto.
	(Ftty_suppress_bold_inverse_default_colors): Ditto.

	* xfns.c (x-get-resource): Reindent.

2001-10-31  Eli Zaretskii  <eliz@is.elta.co.il>

	* s/hpux11.h: New file.

2001-10-31  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>

	* emacs.c (USAGE1): Show command line option --no-window-system
	instead of --no-windows in usage.
	(standard_args): Rename --no-windows to --no-window-system.
	(bug_reporting_address): Follow Emacs coding conventions.

	* eval.c (Fcommandp): Doc fix.
	Change doc-string comments to `new style' [w/`doc:' keyword].

	* frame.c (Fframe_live_p): Doc fix.

	* buffer.c (selective-display-ellipses): Doc fix.

2001-10-31  Gerd Moellmann  <gerd@gnu.org>

	* lread.c (to_multibyte): Fix computation of new read_buffer_size.

	* xfaces.c (realize_x_face): If C is not a single-byte character,
	set the face's colors_copied_bitwise_p instead of the defaulted_p
	members which have a different meaning.
	(free_face_colors): Do nothing for a face whose colors have been
	copied bitwise.

	* dispextern.h (struct face) <colors_copied_bitwise_p>: New member.

2001-10-31  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>

	* marker.c, mocklisp.c: Change doc-string comments to `new style'
	[w/`doc:' keyword].

2001-10-31  Gerd Moellmann  <gerd@gnu.org>

	* fns.c (require_unwind): Return Lisp_Object.

2001-10-31  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>

	* keyboard.c (lucid-menu-bar-dirty-flag): Doc fix.
	(last-input-char): Revert doc-string to be the same as the
	doc-string of `last-input-event'.

	* xdisp.c:  Fix typos in comments.

2001-10-31  Gerd Moellmann  <gerd@gnu.org>

	* window.c (grow_mini_window): Handle case that the root
	window is already smaller than the nominal mininum height.

2001-10-30  Stefan Monnier  <monnier@cs.yale.edu>

	* emacs.c (main): Don't call keys_of_macros any more.

	* lisp.h (keys_of_macros): Remove.

	* macros.c (keys_of_macros): Remove.

	* xfaces.c (Fface_attribute_relative_p): Declare args.

2001-10-30  Jason Rumney  <jasonr@gnu.org>

	* w32fns.c (w32_to_x_charset): Increase size of XLFD charset buffer.
	(enum_font_cb2): Ignore fonts with vertical orientation.

2001-10-30  Richard M. Stallman  <rms@gnu.org>

	* keyboard.c (Finput_pending_p): Doc fix.

2001-10-30  Gerd Moellmann  <gerd@gnu.org>

	* xterm.c (x_after_update_window_line): Don't run the code
	clearing in borders for rows whose visible height is 0.

	* xdisp.c (clear_garbaged_frames): Redraw the frame only if its
	resized_p flag is set.  If not set, use the much less flickering
	method previously used.

	* dispnew.c (change_frame_size_1): Set frame's resized_p.

	* frame.h (struct frame) <resized_p>: New member.

	* lread.c (to_multibyte): Ensure read_buffer is at least twice
	as large as the number of bytes to convert.

	* lread.c (to_multibyte): New function.
	(read1): Use it.

2001-10-30  Eli Zaretskii  <eliz@is.elta.co.il>

	* msdos.h (FRAME_LINE_HEIGHT): Define (it's used by xmenu.c).

2001-10-30  Gerd Moellmann  <gerd@gnu.org>

	* xterm.c (x_draw_relief_rect): Correct bottom relief by 1 pixel.
	(x_set_glyph_string_background_width): Set extends_to_end_of_line_p
	if the row's fill_line_p is set and drawing the last glyph with
	DRAW_IMAGE_{RAISED,SUNKEN}.

	* xdisp.c (clear_garbaged_frames): Call Fredraw_frame.

2001-10-29  Stefan Monnier  <monnier@cs.yale.edu>

	* xmenu.c: Include coding.h and charset.h.
	(Fx_popup_menu): Use FRAME_PTR and FRAME_FONT and FRAME_LINE_HEIGHT.
	(Fx_popup_dialog): Use FRAME_PTR and enum scroll_bar_part.
	(single_submenu, xmenu_show): Use ENCODE_SYSTEM.
	Explicitly set wv->help.  Use `TRUE' rather than `True'.
	(menu_help_callback): Use empty_string.

	* w32menu.c (Fx_popup_menu): Explicitly init f, xpos, and ypos.
	(Fx_popup_dialog): Explicitly init f.
	(w32_menu_display_help): Use empty_string.

2001-10-29  Richard M. Stallman  <rms@gnu.org>

	* fns.c (Frequire): Detect recursive try to require the same
	feature 3 or more levels deep, and get error.
	(require_unwind): New subroutine.
	(require_nesting_list): New variable.
	(syms_of_fns): Init and staticpro it.

	* print.c (print_object): Clarify indication of insertion type.

2001-10-29  Eli Zaretskii  <eliz@is.elta.co.il>

	* coding.c (syms_of_coding): Document that locale-coding-system is
	used for decoding input on X.

	* window.c (Fscroll_left, Fscroll_right): Doc fix.

2001-10-29  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>

	* keyboard.c (Finput_pending_p): Fix typo in doc-string.
	(echo-area-clear-hook): Properly DEFVAR_LISP and staticpro it.

2001-10-29  Gerd Moellmann  <gerd@gnu.org>

	* xterm.c (x_display_and_set_cursor): If cursor_in_echo_area,
	use NO_CURSOR if cursor_in_non_selected_windows is false.

	* xfaces.c (Fface_font): Use UNSPECIFIEDP instead of NILP for
	the slant attribute if FRAME is t.

	* xfns.c (x_set_internal_border_width): Set frame garbaged
	when X window doesn't exist yet.

	* xterm.c (x_after_update_window_line): Clear internal border
	in different circumstances.

	* xterm.c (XTread_socket) <KeyPress>: Don't use
	STRING_CHAR_AND_LENGTH if nchars == nbytes.  From Kenichi Handa
	<handa@etl.go.jp>.

2001-10-28  Eli Zaretskii  <eliz@is.elta.co.il>

	* m/ibms390.h: New file.  From Adam Thornton
	<athornton@sinenomine.net>.

2001-10-28  Gerd Moellmann  <gerd@gnu.org>

	* xfns.c (x_build_heuristic_mask): Use x_alloc_image_color.

	* xfns.c (x_build_heuristic_mask): Fix a bug not incrementing
	a loop counter.

2001-10-28  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>

	* emacs.c: Use argv[0] instead of emacs when -t was specified.

	* keyboard.c: Change doc-string comments to `new style' [w/`doc:'
	keyword].
	Fix typos in comments.

	* emacs.c (bug_reporting_address): New function.
	Use it when displaying usage message.

	* minibuf.c (read_minibuf): Remove unused external declaration of
	variable `Qread_only'.

	* keymap.c (access_keymap): Remove unused variable `charset'.

2001-10-28  Miles Bader  <miles@gnu.org>

	* xfaces.c (merge_face_heights): Handle TO being relative as well.
	Remove #ifdef'd-out code.
	(Fface_attribute_relative_p, Fmerge_face_attribute): New functions.
	(syms_of_xfaces): Initialize them.

2001-10-27  Jason Rumney  <jasonr@gnu.org>

	* w32fns.c (w32_wnd_proc) <WM_KILLFOCUS>: Destroy the system caret.
	<WM_EMACS_DESTROY_CARET, WM_EMACS_TRACK_CARET>: Track cursor
	position using the system caret.

	* w32term.c (w32_system_caret_hwnd, w32_system_caret_width)
	(w32_system_caret_height, w32_system_caret_x)
	(w32_system_caret_y): New variables for tracking system caret.
	(w32_initialize): Initialize them.
	(x_display_and_set_cursor): Make system caret follow the active cursor.

	* w32term.h (WM_EMACS_TRACK_CARET, WM_EMACS_DESTROY_CARET):
	New messages types.

	* w32term.c (note_mouse_highlight): Clear old help_echo.

2001-10-27  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>

	* xterm.c: Fix typo in a comment.

	* emacs.c: Fix typos in comments.
	Remove unnecessary spaces.
	Change doc-string comments to `new style' [w/`doc:' keyword].
	(USAGE2): Fix typos in usage string.

	* xterm.c: Fix typo in a comment.

	* lisp.h: (gdb_lisp_params): Remove code in #if 0 which is now in
	emacs.c.

2001-10-27  Gerd Moellmann  <gerd@gnu.org>

	* xdisp.c (move_it_vertically_backward): Use 2/3 line_height
	instead of 1/2 line_height in the heuristic for skipping
	farther backward when target_y was not reached.

	* sound.c (sound_perror): Unblock SIGIO, turn on atimers.
	Display errno only if non-zero.
	(sound_warning): New function.
	(vox_configure): Don't treat failing to set sample rate as error.
	(various places): Improve error messages.

2001-10-26  Eli Zaretskii  <eliz@is.elta.co.il>

	* fileio.c (Faccess_file): Run the argument filename through
	Fexpand_file_name, before using it.

	* dispnew.c (syms_of_display) <visible-bell>: Add a reference to
	ring-bell-function.  Suggested by Alf-Ivar Holm <alfh@ifi.uio.no>

2001-10-26  Gerd Moellmann  <gerd@gnu.org>

	* insdel.c (insert_1_both): Do nothing if NCHARS == 0.

	* xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
	Fix clearing in the case of scroll bars on the right.

2001-10-26  Juanma Barranquero <lektu@terra.es>

	* w32gui.h (XImage): Add a dummy typedef.

2001-10-26  Gerd Moellmann  <gerd@gnu.org>

	* xfns.c (XScreenNumberOfScreen): Fix struct to pointer comparison.

2001-10-25  Eli Zaretskii  <eliz@is.elta.co.il>

	* frame.c (Fframe_parameter): Fix last change.

	* fileio.c: Revert last change (which removed old commented-out
	version of expand-file-name).  Add a comment that explains why
	this old version should not be removed.

2001-10-25  Gerd Moellmann  <gerd@gnu.org>

	* frame.c (Fframe_parameter): Fix a bug whereby some
	``artificial'' frame parameters, like `minibuffer' were not
	obtained by calling Fframe_parameters.

	* xterm.c (show_mouse_face): Clean up.  Recognize overwritten
	cursor differently.

	* xdisp.c (move_it_vertically_backward): Compute line height
	differently.  Add heuristic to try to be more compatible to 20.x.

2001-10-25  Stefan Monnier  <monnier@cs.yale.edu>

	* lisp.h (make_fixnum_or_float): Coerce double to int explicitly.

	* editfns.c (text_property_stickiness): Fix Lisp_Object used as
	boolean.

2001-10-25  Miles Bader  <miles@gnu.org>

	* xfns.c (png_load): Make sure SPECIFIED_BG is a string.
	BG is a pointer to a structure, not a structure.
	(gif_format, png_format): Add missing commas.

2001-10-24  Richard M. Stallman  <rms@gnu.org>

	* xfaces.c (Fface_attributes_as_vector): New function.
	(syms_of_xfaces): Defsubr it.

2001-10-24  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>

	* dispnew.c (sync_window_with_frame_matrix_rows): Remove unused
	variable `area'.

2001-10-25  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>

	* search.c (scan_newline): Remove unused variable `selective_display'.

2001-10-25  Miles Bader  <miles@gnu.org>

	* dispextern.h (struct image): Add `background',
	`background_valid', and `background_transparent' fields.
	(image_background, image_background_transparent): New declarations.
	(IMAGE_BACKGROUND, IMAGE_BACKGROUND_TRANSPARENT): New macros.
	* xfns.c (image_background, image_background_transparent)
	(four_corners_best): New functions.
	(xpm_format, png_format, jpeg_format, tiff_format, gif_format)
	(gs_format): Add `:background' entry.
	(lookup_image): Set IMG's background color if specified.
	(pbm_load, xbm_load_image, png_load): Set IMG's background field
	when appropriate.
	(x_clear_image_1): Reset `background_valid' and
	`background_transparent_valid' fields.
	(x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
	calculating it here.  Set IMG's background_transparent field.
	(enum xpm_keyword_index): Add XPM_BACKGROUND.
	(enum png_keyword_index): Add PNG_BACKGROUND.
	(enum jpeg_keyword_index): Add JPEG_BACKGROUND.
	(enum tiff_keyword_index): Add TIFF_BACKGROUND.
	(enum gif_keyword_index): Add GIF_BACKGROUND.
	(enum gs_keyword_index): Add GS_BACKGROUND.
	(pbm_load, png_load, jpeg_load, tiff_load, gif_load):
	Pre-calculate image background color where necessary.
	* xterm.c (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
	`IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
	color to use for image glyph reliefs.

2001-10-24  Gerd Moellmann  <gerd@gnu.org>

	* xterm.c (x_draw_glyphs): Don't check for cursor overwriting
	in full-width rows.

	* xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
	Fix clearing of area not covered by scroll bar.

2001-10-24  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>

	* xterm.c: (x_insert_glyphs): Remove unused variables `real_end'
	and `real_start'.
	(x_draw_image_foreground): Remove unused variables `mask' and `xgcv'.
	(glyph_rect): Remove unused variable `area'.

2001-10-24  Gerd Moellmann  <gerd@gnu.org>

	* xdisp.c: Change #ifdef GLYPH_DEBUG to #if.

	* xdisp.c (try_window_reusing_current_matrix): Use row_containing_pos.
	(row_containing_pos): Take additional argument DY.
	Treat rows ending in middle of char differently.
	(display_line): Handle tabs on window systems differently.

	* xterm.c, w32term.c (fast_find_position): Call row_containing_pos
	with additional argument.

	* dispextern.h (row_containing_pos): Adjust prototype.

	* xdisp.c (inhibit_try_window_id, inhibit_try_window_reusing)
	(inhibit_try_cursor_movement) [GLYPH_DEBUG]: New variables.
	(try_window_id, try_window_reusing_current_matrix)
	(try_cursor_movement) [GLYPH_DEBUG]: Don't run if inhibited.
	(syms_of_xdisp) [GLYPH_DEBUG]:  DEFVAR_BOOL the variables.

2001-10-24  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>

	* xmenu.c: Spell the name of Emacs properly (GNU Emacs instead of
	gnuemacs).
	(HAVE_BOXES): Fix typo in comment.
	(push_menu_pane): Fix typo in comment.

	* xdisp.c: (display_prop_string_p): Remove unused local declaration
	of `Qwhen'.
	(single_display_prop_string_p): Remove unused local declarations
	of `Qwhen' and `Qmargin'.
	(string_buffer_position): Remove unused variable `around'.
	(store_frame_title): Remove unused variable `width'.

	* window.c: Don't define max.
	(coordinates_in_window): Remove unused variable `uy'.

	* widget.c: Don't define max.

	* process.c: Don't define max.
	(create_process): Remove unused variable `buffer'.

2001-10-23  Gerd Moellmann  <gerd@gnu.org>

	* xfaces.c (Finternal_set_lisp_face_attribute): Fix compilation error.

2001-10-23  Eli Zaretskii  <eliz@is.elta.co.il>

	* xfaces.c (Finternal_set_lisp_face_attribute)
	[HAVE_WINDOW_SYSTEM]: Don't do anything for QCfont unless the
	frame is on a windowed display.

2001-10-23  Gerd Moellmann  <gerd@gnu.org>

	* dispnew.c (sync_window_with_frame_matrix_rows):
	Fix handling of windows which aren't full-width, fix handling
	of marginal areas.

	* lread.c (syms_of_lread) <recursive-load-depth-limit>: Raise to 50.

2001-10-23  Andreas Schwab  <schwab@suse.de>

	* m/macppc.h [LINUX]: Undef LD_SWITCH_SYSTEM_TEMACS and override
	LD_SWITCH_MACHINE_TEMACS with "-Xlinker -znocombreloc".

2001-10-23  Gerd Moellmann  <gerd@gnu.org>

	* xterm.c (x_draw_glyphs): Remove parameters READ_START and
	REAL_END.  Notice if cursor gets overwritten.
	(notice_overwritten_cursor): Take X positions as parameters.
	(x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
	around call to x_draw_glyphs.

2001-10-23  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>

	* syntax.c (modify-syntax-entry): Fix argument names (use CHAR
	instead of C) and usage.

	* editfns.c (char-to-string): Fix argument names (use CHAR instead
	of C) and usage.

	* xfns.c (Fx_show_tip): Remove unused variables `buffer', `top',
	`left', `max_width' and `max_height'.

2001-10-23  Gerd Moellmann  <gerd@gnu.org>

	* xdisp.c (display_line): For a tab continued to the next line,
	set row's ends_in_middle_of_char_p.

2001-10-22  Gerd Moellmann  <gerd@gnu.org>

	* xdisp.c (display_line): Fix computation of continuation lines
	width for TABs.

2001-10-22  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>

	* xdisp.c (build_desired_tool_bar_string): Remove unused variable
	`Qlaplace'.

	* fileio.c: Remove unused code.

2001-10-22  Miles Bader  <miles@gnu.org>

	* lisp.h (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL)
	(DEFVAR_INT, DEFVAR_PER_BUFFER, DEFVAR_KBOARD):
	Remove `DOC_STRINGS_IN_COMMENTS' cases.

2001-10-21  Jason Rumney  <jasonr@gnu.org>

	* w32term.c (x_erase_phys_cursor): Remove inverse_p again.

2001-10-21  Eli Zaretskii  <eliz@is.elta.co.il>

	* mocklisp.c (Fml_if, Fml_provide_prefix_argument)
	(Finsert_string): Avoid the multi-line string literals warning.

2001-10-22  Miles Bader  <miles@gnu.org>

	* doc.c (Vhelp_manyarg_func_alist): Variable removed.
	(Fdocumentation): Don't use it.
	(syms_of_doc): Don't initialize it.

	* keyboard.c (Ftrack_mouse): Add usage: string to doc string.
	* print.c (Fwith_output_to_temp_buffer): Likewise.
	* window.c (Fsave_window_excursion): Likewise.
	* editfns.c (Fsave_excursion, Fsave_current_buffer)
	(Fsave_restriction): Likewise.
	* eval.c (Frun_hooks, Frun_hook_with_args)
	(Frun_hook_with_args_until_failure)
	(Frun_hook_with_args_until_success, Ffuncall, For, Fand, Fif)
	(Fcond, Fprogn, Fprog1, Fprog2, Fsetq, Fquote, Ffunction, Fdefun)
	(Fdefmacro, Fdefvar, Fdefconst, FletX, Flet, Fwhile, Fcatch)
	(Funwind_protect, Fcondition_case): Likewise.
	* coding.c (Ffind_operation_coding_system): Likewise.
	* keyboard.c (Ftrack_mouse): Likewise.

2001-10-21  Miles Bader  <miles@gnu.org>

	* fns.c (Fappend, Fconcat, Fvconcat, Fnconc, Fwidget_apply)
	(Fmake_hash_table): Add usage: string to doc string.
	* editfns.c (Finsert, Finsert_and_inherit, Finsert_before_markers)
	(Fmessage, Fmessage_box, Fmessage_or_box, Fpropertize, Fformat)
	(Fencode_time, Finsert_and_inherit_before_markers): Likewise.
	* mocklisp.c (Finsert_string, Fml_if, Fml_provide_prefix_argument)
	(Fml_prefix_argument_loop): Likewise.

2001-10-21  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>

	* fileio.c (Finsert_file_contents): Remove unused variable `gap_size'.

	* sysdep.c (init_sys_modes): Change doc-string comments to `new
	style' [w/`doc:' keyword].

	* data.c, fileio.c, indent.c, print.c, search.c, sound.c,
	* sunfns.c, textprop.c, undo.c, xselect.c: Change doc-string
	comments to `new style' [w/`doc:' keyword].

2001-10-21  Jason Rumney  <jasonr@gnu.org>

	* w32fns.c (Fx_file_dialog): Pass a filter to GetOpenFileName.

	* w32term.c (remember_mouse_glyph): New function.
	(w32_mouse_position): Use it.
	(note_mouse_movement): If the mouse moved off the glyph, remember
	its new position.

	* w32term.h (struct w32_output): Correct spelling of x_compatible.
	(w32_display_info): Add mouse_face_overlay.

	* w32term.c (notice_overwritten_cursor): Renamed from
	note_overwritten_text_cursor.  Rewritten to take glyph widths into
	account.
	(x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
	(fast_find_string_pos): New function.
	(fast_find_position): Return the correct vpos.  Add parameter
	STOP.  In the final row, stop before glyphs having STOP as object.
	Don't consider glyphs that are not from a buffer.
	(fast_find_position) [0]: Add a presumably more correct version
	for after 21.1.
	(expose_window_tree, expose_frame): Don't compute intersections here.
	(expose_window): Do it here instead.
	(expose_window_tree, expose_window, expose_line): Return 1 when
	overwriting mouse-face.
	(expose_window): If W is the window currently being updated, mark
	the frame garbaged.
	(expose_frame): If mouse-face was overwritten, redo it.
	(x_use_underline_position_properties): New variable.
	(syms_of_xterm): DEFVAR_BOOL it.
	(x_draw_glyph_string): Add comment to use it in future.
	(x_draw_glyph_string): Restore clipping after drawing box.
	Fix a computation of the underline position.
	(w32_get_glyph_string_clip_rect): Minor cleanup.
	(x_fill_stretch_glyph_string): Remove an assertion.
	(x_produce_glyphs): Don't convert multibyte characters
	to unibyte characters in unibyte buffers.
	(cursor_in_mouse_face_p): New function.
	(x_draw_stretch_glyph_string): Use it to choose a different GC
	when drawing a cursor within highlighted text.  Don't draw
	background again if it has already been drawn.
	(x_draw_glyph_string_box): Don't draw a full-width
	box just because the glyph row's full_width_p flag is set.
	(x_draw_glyphs): Fix computation of rightmost x for
	full-width rows.
	(x_dump_glyph_string): Put in #if GLYPH_DEBUG.
	(w32_draw_relief_rect): Extend left shadow to the bottom and left;
	change bottom shadow accordingly. Some cleanup.
	(x_update_window_end): Handle overwritten mouse face
	also for tool bar windows.
	(show_mouse_face): Set the glyph row's mouse_face_p flag also when
	DRAW is DRAW_IMAGE_RAISED.
	(clear_mouse_face): Return 1 if text with mouse face was
	actually redrawn.  Make the function static.  Reset
	dpyinfo->mouse_face_overlay otherwise note_mouse_highlight might
	optimize away highlighting if we pass over that same overlay again.
	(note_mouse_highlight): Call mouse_face_overlay_overlaps
	to detect a case where we have to highlight a different region
	despite not having left the currently highlighted region.
	Set mouse_face_overlay in the x_display_info.  Avoid changing the
	mouse pointer shape when show_mouse_face has already done it, or
	there is no need.  Handle mouse-face and help-echo in strings.
	(glyph_rect): New function.
	(w32_mouse_position): Use it to raise the threshold for mouse
	movement event generation.
	(w32_initialize_display_info): Initialize the x_display_info's
	mouse_face_overlay.
	(w32_set_vertical_scroll_bar): Don't clear a zero height
	or width area.
	(w32_set_vertical_scroll_bar, x_scroll_bar_create): Don't configure
	a widget to zero height.

	* w32menu.c (single_submenu, w32_menu_show) [!HAVE_MULTILINGUAL_MENU]:
	Protect unibyte strings created by replacing their multibyte
	equivalents in menu_items.
	(w32_menu_show): Don't overwrite an item's name with its key
	description in case the description is a multibyte string.
	(single_submenu): Some cleanup.

	* w32fns.c (x_laplace_read_row, x_laplace_write_row): Removed.
	(postprocess_image): New function.
	(lookup_image): Call it for all image types except PostScript.
	(x_kill_gs_process): Call postprocess_image.
	(tiff_error_handler, tiff_warning_handler): New functions.
	(tiff_load): Install them as handlers.
	(x_kill_gs_process): Recognize if someone has cleared the image
	cache under us.
	(valid_image_p): Protect better against invalid image
	specifications.  Previous code could signal an error.
	(Fx_hide_tip, Fshow_tip): Doc fix.
	(Fv_max_tooltip_size): New variable.
	(syns_of_xfns): DEFVAR_LISP it.
	(Fx_show_tip): Add parameter TEXT.  Set the tip frame's root
	window buffer to *tip* right after creating the frame. Set frame's
	window_width.  Use a maximum tooltip size specified by
	Vx_max_tooltip_size, if that has valid contents.
	(compute_tip_xy): Add parameters WIDTH and HEIGHT.
	Make sure the tooltip is completely visible.
	(x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
	(Fx_create_frame): Adjust the frame's height for presence
	of the tool bar before calling x_figure_window_size.
	(x_set_tool_bar_lines): Clear the tool bar window's current matrix
	when the window gets smaller.
	(x_set_foreground_color): Set frame's cursor_pixel.
	(x_set_foreground_color, x_set_background_color): Cleaned up.
	(x_set_font): Handle case of x_new_fontset returning the same name
	as before, although there was a change in fontsets.

2001-10-21  Miles Bader  <miles@gnu.org>

	* data.c (Fplus, Fminus, Fmax, Ftimes, Fquo, Flogand, Flogior)
	(Flogxor): Add usage: string to doc string.
	* charset.c (Fstring): Likewise.
	* callproc.c (Fcall_process_region, Fcall_process): Likewise.
	* alloc.c (Fmake_byte_code, Fvector, Flist): Likewise.

2001-10-21  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>

	* buffer.c: Reindent DEFUNs and DEFVARs with doc: keywords.

	* alloc.c: Reindent DEFUNs with doc: keywords.

	* abbrev.c (Finsert_abbrev_table_description): Reindent.

	* frame.c: Change doc-string comments to `new style' [w/`doc:'
	keyword].

See ChangeLog.9 for earlier changes.

;; Local Variables:
;; coding: iso-2022-7bit
;; End:

    Copyright (C) 2001, 2002 Free Software Foundation, Inc.
  Copying and distribution of this file, with or without modification,
  are permitted provided the copyright notice and this notice are preserved.
