view src/ChangeLog @ 49890:8dc6bd2f4977

*** empty log message ***
author Juanma Barranquero <lekktu@gmail.com>
date Thu, 20 Feb 2003 21:11:16 +0000
parents 4fb79f65681e
children 28d840845e33
line wrap: on
line source

2003-02-20  Kenichi Handa  <handa@m17n.org>

	* fontset.c (check_fontset_name): If NAME is nil, return the
	default fontset.
	(override_font_info): New function.
	(Fset_fontset_font): Document that NAME nil means the default
	fontset.
	(Ffontset_info): If FONTSET is not the default fontset, merge
	FONTSET onto the copy of the default fontset, and work on that
	copy.  Document that NAME nil means the default fontset.
	(Ffontset_font): Document that NAME nil means the default fontset.

	* process.c (setup_process_coding_systems): If the process's
	in/out descriptor is -1, do nothing.

2003-02-19  Andreas Schwab  <schwab@suse.de>

	* lisp.h (Fcancel_kbd_macro_events, Fstring_to_multibyte): Add
	prototypes.

2003-02-19  Kenichi Handa  <handa@m17n.org>

	* xfaces.c (try_alternative_families): Try all scalable fonts if
	Vscalable_fonts_allowed is not Qt.

2003-02-19  Jan Dj,Ad(Brv  <jan.h.d@swipnet.se>

	* xfaces.c (x_face_list_fonts): Set *pfonts to 0 if no fonts found.

2003-02-18  Jan Dj,Ad(Brv  <jan.h.d@swipnet.se>

	* xterm.c (x_list_fonts): If maxnames is less than 0, get all font
	names.

	* xfaces.c (x_face_list_fonts): Allocate struct font_name here.
	(sorted_font_list): Moved allocation of struct font_name to
	x_face_list_fonts.
	(Fx_font_family_list): Set font-list-limit to -1 to get all font names.
	(Fx_list_fonts): Set maxnames to -1 to get all font names.

2003-02-18  Kim F. Storm  <storm@cua.dk>

	* lread.c (read1): Fix last change.
	"`" is not always special.  Allow "?" after a character constant.

2003-02-18  Andrew Choi  <akochoi@shaw.ca>

	* unexmacosx.c (copy_data_segment): Also copy __cfstring section.

2003-02-18  Andreas Schwab  <schwab@suse.de>

	* window.c (window_scroll_pixel_based): Move outside a
	multi-glyph character before setting new window start.

	* xdisp.c (in_display_vector_p): New function.
	* dispextern.h (in_display_vector_p): Declare.

2003-02-18  Kim F. Storm  <storm@cua.dk>

	* lread.c (read1): Fix and relax read syntax.
	Recognize "[", ";", "#", and "?" after a dotted-pair dot.
	Only recognize "," after dotted-pair dot if inside backquote.
	Never include "`" or "," (inside backquote) in a symbol.
	Allow dotted-pair dot after a character constant.
	Allow "`" and "," (inside backquote) after a character constant.
	
2003-02-17  Jan Dj,Ad(Brv  <jan.h.d@swipnet.se>

	* gtkutil.c (xg_tool_bar_expose_callback): New function.
	(xg_create_tool_bar): Force style of tool bar to be horizontal with
	icons.	Set name of tool bar to emacs-toolbar.
	(update_frame_tool_bar): Connect expose event to
	xg_tool_bar_expose_callback.

2003-02-17  Richard M. Stallman  <rms@gnu.org>

	* keyboard.c (this_command_key_count_reset): New variable.
	Initiatize to 0 where this_command_key_count is set.
	(read_char): Save and restore this_command_key_count_reset
	around input method code.
	(read_char): If this_command_key_count_reset, echo reread commands.
	(Freset_this_command_lengths): Set this_command_key_count_reset to 1.

2003-02-17  Kenichi Handa  <handa@m17n.org>

	* fns.c (string_to_multibyte): Always return a multibyte string.

2003-02-16  Jason Rumney  <jasonr@gnu.org>

	* w32fns.c (w32_list_bdf_fonts, w32_list_fonts): Negative
	max_fonts parameter means list all.

2003-02-14  Dave Love  <fx@gnu.org>

	* fns.c (Flanginfo): Doc fix.

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

	* lread.c (read_escape): Interpret \s as a SPACE character, except
	for \s-X in a character constant which still is the super modifier.
	(read1): Signal an `invalid read syntax' error if a character
	constant is immediately followed by a digit or symbol character.

	* search.c (Fmatch_data): Doc fix.  Explicitly state that
	match-data is undefined if last search failed.

	* keymap.c (Fcommand_remapping): Renamed from Fremap_command.
	All uses changed.

2003-02-12  Juanma Barranquero  <lektu@terra.es>

	* eval.c (Fdefmacro): Fix typo.

2003-02-12  Kim F. Storm  <storm@cua.dk>

	* macros.c (Fstart_kbd_macro): If appending, and last keyboard
	macro is a string, convert meta modifiers in string when copying
	the string into a vector.

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

	* keymap.c (Fremap_command): Return nil if arg is not a symbol.

2003-02-11  Kenichi Handa  <handa@m17n.org>

	* Makefile.in (lisp, shortlisp): Add malayalam.el and tamil.el.

2003-02-10  Kim F. Storm  <storm@cua.dk>

	* process.c: Doc fixes.
	(syms_of_process): Add `:' prefix to QCfilter_multibyte.

2003-02-10  Kenichi Handa  <handa@m17n.org>

	* fns.c (Fstring_to_multibyte): Fix typo in the docstring.

	* process.c (QCfilter_multibyte): New variable.
	(setup_process_coding_systems): New function.
	(Fset_process_buffer, Fset_process_filter): Call
	setup_process_coding_systems.
	(Fstart_process): Initialize the member `filter_multibyte' of
	struct Lisp_Process.
	(create_process): Call setup_process_coding_systems.
	(Fmake_network_process): New keyward `:filter-multibyte'.
	Initialize the member `filter_multibyte' of struct Lisp_Process.
	Call setup_process_coding_systems.
	(server_accept_connection): Call setup_process_coding_systems.
	(read_process_output): If the process has a filter, decide the
	multibyteness of a string to given to the filter by
	`filter_multibyte' member of the process.  If the process doesn't
	have a filter and the result of conversion is unibyte, use
	Fstring_to_multibyte (not Fstring_make_multibyte) to get the
	multibyte form.
	(Fset_process_coding_system): Call setup_process_coding_systems.
	(Fset_process_filter_multibyte): New function.
	(Fprocess_filter_multibyte_p): New function.
	(syms_of_process): Intern and staticpro QCfilter_multibyte.
	Defsubr Sset_process_filter_multibyte and
	Sprocess_filter_multibyte_p.

	* process.h (struct Lisp_Process): New member filter_multibyte.

	* lisp.h (setup_process_coding_systems): Add prototype.

	* buffer.c (Fset_buffer_multibyte): If the current buffer has a
	process, update coding systems for the process.

2003-02-09  Kenichi Handa  <handa@m17n.org>

	* fns.c (string_to_multibyte): New function.
	(Fstring_to_multibyte): New function.
	(syms_of_fns): Defsubr it.

2003-02-08  Andreas Schwab  <schwab@suse.de>

	* Makefile.in (EXEEXT): Define to @EXEEXT@ and use this variable
	instead of the substitution.

2003-02-08  Jan Dj,Ad(Brv  <jan.h.d@swipnet.se>

	* xterm.c (x_make_frame_visible): Call gtk_window_deiconify.

	* xmenu.c (menu_position_func): Adjust menu popup position so that
	the menu is fully visible.
	

2003-02-07  Jan Dj,Ad(Brv  <jan.h.d@swipnet.se>

	* xterm.c (x_text_icon, x_raise_frame, x_lower_frame)
	(x_make_frame_invisible, x_wm_set_icon_position): Use
	FRAME_OUTER_WINDOW instead of ifdef X_TOOLKIT/else/endif.

	* xfns.c (x_set_name, x_set_title): Ditto.

2003-02-04  Richard M. Stallman  <rms@gnu.org>

	* keyboard.c (echo_now): Update before_command_echo_length.
	(Freset_this_command_lengths): Reset this_command_key_count etc.
	immediately rather than arranging to do it later.
	(before_command_key_count_1, before_command_echo_length_1)
	(before_command_restore_flag): Vars deleted.
	(add_command_key): Don't handle before_command_restore_flag.
	(read_char, record_menu_key): Don't update before_command_key_count or
	before_command_echo_length.
	(read_char): Don't handle before_command_restore_flag.

	* keyboard.c (command_loop_1): Don't call adjust_point_for_property
	in direct-output clauses if it wouldn't be called in the ordinary case.

2003-02-04  Kim F. Storm  <storm@cua.dk>

	* keyboard.c (syms_of_keyboard) <this-original-command>: Doc fix.

2003-02-02  Jan Dj,Ad(Brv  <jan.h.d@swipnet.se>

	* gtkutil.c (remove_from_container): Copying list is not needed.
	(xg_update_menubar, xg_update_menu_item, xg_update_submenu)
	(xg_modify_menubar_widgets, update_frame_tool_bar): Call g_list_free
	on list returned from gtk_container_get_children to avoid memory leak.

2003-02-01  Jason Rumney  <jasonr@gnu.org>

	* w32fns.c (w32_create_pixmap_from_bitmap_data): Use alloca for
	local malloc.
	[HAVE_XPM]: Avoid clashes with XColor, XImage and Pixel
	definitions in xpm.h.
	(init_xpm_functions): New function.
	(xpm_load): Sync with xfns.c. Adapt for Windows version of libXpm.
	(init_external_image_libraries): Try to load libXpm.dll.

	* fileio.c (Fcopy_file) [WINDOWSNT]: Reverse logic for setting
	timestamp.

2003-01-31  Dave Love  <fx@gnu.org>

	* syntax.c (Fskip_chars_forward)
	(open-paren-in-column-0-is-defun-start): Doc fix.

2003-01-31  Joe Buehler  <jhpb@draco.hekimian.com>

	* fileio.c: Support // at start of name for Cygwin (just added proper
	preprocessor tests).

	* keyboard.c: Port to Cygwin (just added proper preprocessor tests).

	* Makefile.in: Use @EXEEXT@ for Cygwin.

	* mem-limits.h: Added ifdef to define BSD4_2 for Cygwin.

	* s/cygwin.h: Added for Cygwin port.

2003-01-31  Juanma Barranquero  <lektu@terra.es>

	* w32fns.c (DrawText): Kludge to avoid a redefinition on Windows
	when including gif_lib.h.
	(init_gif_functions, init_tiff_functions): New functions.
	(gif_load, tiff_load): Sync with xfns.c version. Adjust colors for
	Windows. Disable color table lookups. Call library functions
	through pointers determined at runtime.
	(init_external_image_libraries): Try to load libungif.dll and
	libtiff.dll.

2003-01-31  Kenichi Handa  <handa@m17n.org>

	* xdisp.c (SKIP_GLYPHS): New macro.
	(set_cursor_from_row): Skip all glyphs that comes from overlay
	string.

2003-01-30  Jan Dj,Ad(Brv  <jan.h.d@swipnet.se>

	* gtkutil.c (free_frame_tool_bar): Removed debug printf.

2003-01-30  Dave Love  <fx@gnu.org>

	* alloc.c (Vgc_elapsed, gcs_done): New variables.
	(Fgarbage_collect): Use them.
	(init_alloc, syms_of_alloc): Set them up.

2003-01-30  Juanma Barranquero  <lektu@terra.es>

	* w32fns.c (init_external_image_libraries): Add missing operator.

2003-01-29  Jason Rumney  <jasonr@gnu.org>

	* w32fns.c (init_external_image_libraries): Allow jpeg-62.dll as
	an alternative name for jpeg.dll.

2003-01-29  Kenichi Handa  <handa@m17n.org>

	* xdisp.c (set_cursor_from_row): Pay attention to string display
	properties.

2003-01-28  Benjamin Riefenstahl  <Benjamin.Riefenstahl@epost.de>

	* macterm.c (keycode_to_xkeysym_table): Add <tab>, <backspace>,
	<escape>.
	(keycode_to_xkeysym_table): Reformat and add more comments.
	(XTread_socket): Drop special case for backspace.

2003-01-28  Andrew Choi  <akochoi@shaw.ca>

	* macfns.c (x_to_mac_color): Correct the order for parsing the RGB
	values in old-style RGB specs.

2003-01-27  Juanma Barranquero  <lektu@terra.es>

	* w32fns.c (init_external_image_libraries): Try alternate names for the
	jpeg dll.

2003-01-27  Jan Dj,Ad(Brv  <jan.h.d@swipnet.se>

	* gtkutil.c (create_dialog, xg_separator_p)
	(xg_item_label_same_p, xg_update_menu_item): Check for NULL string
	before calling strcmp or strlen.

2003-01-26  Jan Dj,Ad(Brv  <jan.h.d@swipnet.se>

	* gtkutil.c (update_frame_tool_bar): Call prepare_image_for_display
	and handle image load failure.

2003-01-26  Jason Rumney  <jasonr@gnu.org>

	* w32fns.c (init_jpeg_functions, jpeg_resync_to_restart_wrapper):
	New functions.
	(jpeg_load): Sync with xfns.c version. Adjust colors for Windows.
	Disable color table lookups. Call jpeg library functions
	through pointers determined at runtime.
	(init_external_image_libraries): Try to load jpeg.dll.

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

	* lisp.h: Declare format2 instead of format1.

	* fileio.c (barf_or_query_if_file_exists):
	Call format2 instead of format1.

	* editfns.c (format2): New function, replaces format1
	but takes exactly two Lisp Objects as format args.

	* buffer.c (Fkill_buffer): Call format2 instead of format1.

2003-01-25  Jan Dj,Ad(Brv  <jan.h.d@swipnet.se>

	* xterm.h: Change to return value of x_dispatch_event to int.

	* xterm.c (x_filter_event): New function.
	(event_handler_gdk, XTread_socket): Call x_filter_event.
	(x_dispatch_event): Change to return value of finish.
	(event_handler_gdk): Use return value from x_dispatch_event.

	* xfns.c (x_window): Call create_frame_xic for GTK version to
	initialize input methods.

	* gtkutil.h: Add (void) prototypes.

	* gtkutil.c (create_menus): Remove code that puts the help menu to
	the right.

2003-01-25  Jason Rumney  <jasonr@gnu.org>

	* w32fns.c (XPutPixel): Handle monochrome images; used for masks.
	[HAVE_PNG]: Sync with xfns.c version.
	(png_load): Adjust colors for Windows. Use Windows
	bitmaps. Disable color table lookups.
	(DEF_IMGLIB_FN, LOAD_IMGLIB_FN): New macros.
	(init_png_functions): New function.
	(png_read_from_memory, png_load): Call png library functions
	through pointers determined at runtime.
	(QCloader, QCbounding_box, QCpt_width, QCpt_height): Declare.
	(init_external_image_libraries): New function.
	(init_xfns): Call it.

2003-01-24  Andreas Schwab  <schwab@suse.de>

	* minibuf.c (Fminibuffer_message): Verify type of parameter.

2003-01-24  Jan Dj,Ad(Brv  <jan.h.d@swipnet.se>

	* gtkutil.c (xg_initialize): Initialize id_to_widget here instead
	of static initializer.

2003-01-24  Dave Love  <fx@gnu.org>

	* s/gnu-linux.h (GC_SETJMP_WORKS, GC_MARK_STACK): Define for more
	architectures.

	* alloc.c (mark_stack) [!GC_LISP_OBJECT_ALIGNMENT && __GNUC__]:
	Use __alignof__.

2003-01-24  Kenichi Handa  <handa@m17n.org>

	* keyboard.c (adjust_point_for_property): New second arg MODIFIED.
	It it is nonzero, don't pretend that an invisible area doesn't
	exist.
	(command_loop_1): Call adjust_point_for_property with proper
	second arg.

2003-01-22  Jason Rumney  <jasonr@gnu.org>

	Sync changes with xterm.c and xfns.c.

	* w32term.c (x_draw_glyph_string_foreground)
	(x_draw_composite_glyph_string_foreground): Implement overstriking.

	* w32term.c (x_write_glyphs): Clear phys_cursor_on_p if current
	phys_cursor's hpos is overwritten.  This is still not completely
	correct, as it doesn't really make sense to use hpos at all to
	get the cursor glyph (as that is relative to the width of the
	characters on the line, which may have changed during the update).

	* w32term.c (notice_overwritten_cursor): Handle the special case
	of the cursor being in the first blank non-text line at the
	end of a window.

	* w32term.c (x_draw_hollow_cursor, x_draw_bar_cursor)
	(x_draw_phys_cursor_glyph): Set phys_cursor_width here.
	Compute from the x position returned by x_draw_glyphs.

	(x_display_and_set_cursor): Don't set phys_cursor_width here,
	except for NO_CURSOR and system caret, to make phys_cursor_width
	contain what its name suggests.
	(notice_overwritten_cursor): Consider the cursor image erased if
	the output area intersects the cursor image in y-direction.

	* w32term.c (note_mode_line_or_margin_highlight): Renamed from
	note_mode_line_highlight and extended.

	* w32term.c (last_window): New variable.
	(w32_read_socket) <WM_MOUSEMOVE>: Generate SELECT_WINDOW_EVENTs.
	(note_mouse_movement): Remove reimplemented code in #if 0.

	* w32fns.c (x_set_cursor_type): Set cursor_type_changed,
	not update_mode_lines, and always set it to 1.

2003-01-21  Jason Rumney  <jasonr@gnu.org>

	* w32fns.c (IDC_HAND): Define it if system headers don't.

2003-01-21  KOBAYASHI Yasuhiro  <kobayays@otsukakj.co.jp>

	* w32term.h (struct w32_output): New member hand_cursor.
	(WM_EMACS_SETCURSOR): New message definition.

	* w32term.c (note_mode_line_highlight): Delete #if 0 to enable
	function w32_define_cursor.
	(note_mouse_highlight): Initialize, setup cursor accoding to mouse
	position, change member name output_data.x to output_data.w32 and
	add function w32_define_cursor.
	(show_mouse_face): Delete #if 0 to enable function w32_define_cursor
	and change member name output_data.x to output_data.w32.
	(w32_initialize_display_info): Setup
	dpyinfo->vertical_scroll_bar_cursor.

	* w32fns.c (Vx_hand_shape): New variable.
	(w32_wnd_proc): Add message entries for WM_SETCURSOR and
	WM_EMACS_SETCURSOR.
	(x-create-frame): Setup Cursor types.

2003-01-21  David Ponce  <david@dponce.com>

	* w32term.c (w32_encode_char): For DIM=1 charset, set
	ccl->reg[2] to -1 before calling ccl_driver. (Sync. with xterm.c
	x_encode_char change by Kenichi Handa <handa@m17n.org> on
	2002-09-30.)
	(w32_draw_relief_rect): Declare all args.
	(w32_define_cursor): New.

	* w32fns.c (w32_load_cursor): New function.
	(w32_init_class): Use it.
	(x_put_x_image): Declare all args.

2003-01-21  Richard Dawe  <rich@phekda.freeserve.co.uk>  (tiny change)

	* Makefile.in (ALL_CFLAGS): Include MYCPPFLAGS, not MYCPPFLAG.

2003-01-21  Jan Dj,Ad(Brv  <jan.h.d@swipnet.se>

	* gtkutil.c: Must include stdio.h before termhooks.h

2003-01-21  Dave Love  <fx@gnu.org>

	* alloc.c (Fgc_status): Print zombie list.
	(mark_maybe_object) [GC_MARK_STACK==GC_USE_GCPROS_CHECK_ZOMBIES]:
	Fix assignment of zombies.
	(Fgarbage_collect) [GC_MARK_STACK==GC_USE_GCPROS_CHECK_ZOMBIES]:
	Don't take car of non-cons.

	* s/sol2-5.h (GC_SETJMP_WORKS, GC_MARK_STACK): Define.

	* s/sunos4-0.h (GC_SETJMP_WORKS, GC_MARK_STACK): Define.

2003-01-20  David Ponce  <david@dponce.com>

	* w32menu.c (digest_single_submenu): Declare all args.

	Sync with 2002-12-23  Richard M. Stallman  <rms@gnu.org>
	changes in xmenu.c:

	(parse_single_submenu): Use individual keymap's prompt
	string as pane name, if there is one.
	(set_frame_menubar): Save menu_items_n_panes from each call to
	parse_single_submenu and use it when calling digest_single_submenu.

2003-01-20  Steven Tamm  <steventamm@mac.com>

	* macterm.c (XTread_socket): Checks for valid, visible window
	before sending a scroll-wheel event.

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

	* xdisp.c (redisplay_window): If mini window's buffer is not
	a minibuffer, then redisplay it like other windows.

2003-01-20  Jan Dj,Ad(Brv  <jan.h.d@swipnet.se>

	* gtkutil.c (xg_create_frame_widgets): Check if there is an
	external tool bar before setting tool bar height.

2003-01-19  Ja

	* w32fns.c (w32_defined_color): Adjust RGB values for Emacs.
	(x_from_xcolors): Adjust RGB values for W32.
	(image_background, image_background_transparent)
	(postprocess_image, x_to_xcolors, x_disable_image)
	(x_build_heuristic_mask): Adapt for W32 and enable.
	(x_create_x_image_and_pixmap): Mark images with palettes as such.
	(xbm_load): Remove unused variable.

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

	* buffer.c (syms_of_buffer): Doc fix.

2002-11-14  Dave Love  <fx@gnu.org>

	* alloc.c (SETJMP_WILL_NOT_WORK): Add note.

	* xterm.c (x_draw_relief_rect, x_draw_box_rect, x_update_cursor):
	* xmenu.c (unuse_menu_items, digest_single_submenu):
	* xfns.c (x_put_x_image):
	* xdisp.c (message2_nolog, set_message):
	* undo.c (record_point):
	* terminfo.c (tparam):
	* syntax.c (scan_sexps_forward):
	* scroll.c (calculate_scrolling, calculate_direct_scrolling):
	* composite.c (update_compositions):
	* cm.c (calccost, cmgoto):
	* charset.c (c_string_width): Declare all args (per C99).

	* frame.h (get_specified_cursor_type, get_window_cursor_type): Declare.

	* lisp.h (get_specified_cursor_type, get_window_cursor_type):
	Don't declare.

	* emacs.c (main) [!VMS]: Avoid third arg.

	* fns.c (Fcopy_sequence): Doc fix.
	(Fmap_char_table): Cast `call2'.

2002-11-14  Francesco Potorti`  <pot@gnu.org>

	* s/sol2-8.h: New file.

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

	* buffer.c (syms_of_buffer) <mode-line-format>: Document symbol
	dependency on `risky-local-variable' and the :propertize form.

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

	* fns.c (Fmap_char_table): Don't use map_char_table's function arg.

	* syntax.c (scan_sexps_forward): Undo last patch.
	Use a more obvious fix: check eob before updating the syntax table.

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

	* syntax.c (scan_sexps_forward): Update syntax table before reading
	a char rather than after so we don't update the table past eob.

2002-11-09  Dave Love  <fx@gnu.org>

	* buffer.c (Fset_buffer_major_mode): Fix last change.

	* regex.c (regexec): Fix pmatch declaration.

	* cmds.c (Fself_insert_command): Apply Vtranslation_table_for_input.

	* keyboard.c (command_loop_1): Apply Vtranslation_table_for_input
	to self-inserting characters.
	(syms_of_keyboard) <keyboard-translate-table>: Doc fix.

	* coding.c (Vtranslation_table_for_input): New.
	(syms_of_coding): DEFVAR it.

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

	* w32term.c (w32_draw_fringe_bitmap): Remove unused local variable
	window.

2002-11-08  Pavel Jan,Am(Bk  <Pavel@Janik.cz>

	* process.c (Fformat_network_address): Removed unused locals p,
	cp, and i.

2002-11-06  Dave Love  <fx@gnu.org>

	* buffer.c (Qset_buffer_major_mode_hook): New.
	(Fset_buffer_major_mode): Use it.

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

	* xterm.c (x_term_init): Use turn_on_atimers, not start_polling
	and stop_polling.

	* process.c (wait_reading_process_input):
	Test POLLING_PROBLEM_IN_SELECT, not hpux.
	Avoid initialization for auto Lisp_Object var.

	* s/hpux11.h (POLLING_PROBLEM_IN_SELECT): Add #undef.

	* s/hpux10.h (POLLING_PROBLEM_IN_SELECT): Defined.

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

	* s/sol2-5.h (BROKEN_SIGIO): Turn off the #undef.

	* callint.c (Fcall_interactively): New local filter_specs.
	(Fcall_interactively): Check for progn as well as let.
	Add a gcpro.
	(Qprogn): New variable.
	(syms_of_callint): Staticpro and init Qprogn.

2002-11-04  John Paul Wallington  <jpw@shootybangbang.com>

	* lread.c (Feval_buffer): Doc fix.

2002-11-04  Dave Love  <fx@gnu.org>

	* keyboard.c (read_char): Always translate iff
	Vkeyboard_translate_table is a char table and c is valid.

	* xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
	and fix C types.

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

	* xdisp.c (single_display_prop_intangible_p): Strings are intangible.

	* editfns.c (get_pos_property): Don't hardcode Qfield.

	* keyboard.c (adjust_point_for_property): Handle `display' prop on
	overlays.  Also handle `invisible' prop.

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

	* coding.c (decode_coding_emacs_mule, decode_coding_iso2022)
	(decode_coding_sjis_big5, decode_eol): Allow lone \r in DOS EOL.

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

	* editfns.c (Fmessage): Revert last change to properly handle %%.

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

	* xmenu.c (unuse_menu_items): New fun.
	(menu_items_inuse): New var.
	(syms_of_xmenu): Initialize it.
	(init_menu_items): Use it to detect re-entrance.
	(Fx_popup_menu, Fx_popup_dialog, set_frame_menubar): Reset when done.
	(Fx_popup_menu): Remove spurious XSETFRAME.

	* editfns.c (find_field): Make an exception for nil fields.

2002-11-01  Dave Love  <fx@gnu.org>

	* m/gec63.h: Deleted.

2002-10-31  Dave Love  <fx@gnu.org>

	* xterm.c (XTread_socket): Fix last change.
	(xaw_scroll_callback): Cast call_data to long to avoid warning.

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

	* process.c (Fformat_network_address): Fix int/Lisp_Object mixup.

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

	* editfns.c (overlays_around, get_pos_property): New funs.
	(find_field): Use them.
	Also be careful not to modify POS before its last use.
	(Fmessage): Don't Fformat if there's nothing to format.

2002-10-30  Dave Love  <fx@gnu.org>

	* process.c [HAVE_SYS_WAIT]: Include sys/wait.h.
	[HAVE_PTY_H]; Include pty.h.

	* lread.c (Fload) <!load_dangerous_libraries>: Close fd.

	* xterm.c (Qeql): Declare.
	(Vx_keysym_table): New.
	(syms_of_xterm): Initialize it.
	(XTread_socket): Use it.  Deal with ASCII keysyms.
	(XSetIMValues) [HAVE_X11R6]: Prototype.

	* keyboard.c (lispy_accent_codes, lispy_accent_keys): Extended.
	(lispy_kana_keys): Comment out.
	(make_lispy_event) [XK_kana_A]: Comment out.
	(modify_event_symbol) <sizeof (long) == sizeof (EMACS_INT)>:
	Fix sprintf call.

	* s/osf5-0.h (C_SWITCH_SYSTEM): Revert last change (fixed by
	regexp.h change).
	(TERMINFO, LIBS_TERMCAP): Define.

	* s/usg5-4.h (bcopy, bzero): Define conditional on HAVE_BCOPY.
	(bcmp): Define conditional on HAVE_BCMP.
	(NO_SIOCTL_H): Don't define.
	(TIOCSIGSEND): Don't make conditional on IRIX6.

	* s/sol2-5.h: Don't include strings.h.
	(bcopy, bzero, bcmp) [HAVE_BCOPY]: Don't undef.

	* s/irix6-0.h (IRIX6): Don't define.
	(bcopy, bcmp, bzero): Don't undef.

	* s/irix6-5.h: Don't include strings.h.
	(IRIX6): Don't define.
	(bcopy, bcmp, bzero): Don't undef.

	* syntax.c (Fforward_comment): Doc fix.

2002-10-29  Kim F. Storm  <storm@cua.dk>

	* process.c (Fsignal_process): Allow PROCESS to be specified by
	name in addition to pid (as integer or string).

2002-10-28  Harald Maier  <Harald.Maier.BW@t-online.de>  (tiny change)

	* w32heap.c: Don't redefine _heap_init and _heap_term on MSVC 7 build
	environments.

2002-10-27  Kim F. Storm  <storm@cua.dk>

	* xterm.c (note_mouse_highlight): Don't use mouse-face if hidden.

	* w32term.c (note_mouse_highlight): Don't use mouse-face if hidden.

	* msdos.c (IT_note_mouse_highlight): Don't use mouse-face if hidden.

	* macterm.c (note_mouse_highlight): Don't use mouse-face if hidden.

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

	* editfns.c (Fformat): Detect invalid format letters for floats.

2002-10-25  Kenichi Handa  <handa@m17n.org>

	* xfns.c (x_set_name): Encode by Qcompound_text unconditionally.
	(x_set_title): Likewise.

2002-10-25  Juanma Barranquero  <lektu@terra.es>

	* macgui.h:
	* w32gui.h: Remove definition of XColor.

	* dispextern.h [!HAVE_X_WINDOWS]: Define XColor.

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

	* xdisp.c (get_window_cursor_type): New arg ACTIVE_CURSOR.
	Callers changed (supply dummy arg).

	* lisp.h (get_window_cursor_type): Update prototype.

	* w32term.c (x_display_and_set_cursor): Get active_cursor from
	get_window_cursor_type to track system caret.

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

	* process.c (Fformat_network_address): New function.
	(syms_of_process): Defsubr it.
	(list_processes_1): Use it to format :local/:remote address if
	service/host is not set; before emacs would crash in that case.
	(Fmake_network_process): Don't use Ffind_operation_coding_system
	to setup coding system if host or service is not set.

2002-10-23  Juanma Barranquero  <lektu@terra.es>

	Patch suggested by Jay Finger <jay_finger@hotmail.com>.

	* w32term.c (w32_term_init): Pass XColor to w32_define_color, not
	COLORREF.

	* macgui.h:
	* w32gui.h: Add definition of XColor.

	* macfns.c:
	* w32fns.c:
	* xfaces.c: Remove definition of XColor.

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

	* xfns.c (x_set_name, x_set_title): `icon.value' has unsigned char.

	* window.c (window_loop): For GET_LRU_WINDOW and GET_LARGEST_WINDOW>,
	Only ignore truly dedicated windows.  For UNSHOW_BUFFER, delete the
	window if it is dedicated.
	(Fshrink_window): Add preserve_before as was done for enlarge_window.
	(Vspecial_display_function): Update docstring.

	* buffer.c (assoc_ignore_text_properties, Fother_buffer, Fkill_buffer)
	(call_overlay_mod_hooks): Use CONSP and XCAR/XCDR.
	(Fget_buffer_create, advance_to_char_boundary): Use BEG and BEG_BYTE;

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

	* casefiddle.c (casify_region): Don't treat a prefix char as part
	of a word when at the beginning.

2002-10-17  Juanma Barranquero  <lektu@terra.es>

	* lread.c (syms_of_lread): Fix typos.

2002-10-17  Dave Love  <fx@gnu.org>

	* Makefile.in (TEMACS_LDFLAGS): Add trailing comment.

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

	* fileio.c (Fcopy_file): Fix backward test of KEEP_TIME.

2002-10-14  Juanma Barranquero  <lektu@terra.es>

	* w16select.c (syms_of_win16select): Fix docstring for
	`selection-coding-system'.

	* w32select.c (syms_of_w32select): Likewise.

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

	* syntax.c (scan_lists): Don't get fooled by a symbol ending with
	a backslash-quoted char.
	(scan_lists, scan_sexps_forward): Pacify the compiler.

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

	* window.c (window_scroll): Set immediate_quit.

	* print.c (print): When backquote form is the car of a list,
	output in old style.  Use old_backquote_output to output all
	comma forms inside it in old style too.

	* buffer.h (struct buffer): Move `undo_list' down below `name'.

2002-10-11  Markus Rost  <rost@math.ohio-state.edu>

	* emacs.c (syms_of_emacs) <kill-emacs-hook>: Doc fix (not run in
	batch mode).

	* lread.c (Fload): Doc fix (load-suffixes).

2002-10-10  Steven Tamm  <steventamm@mac.com>

	* macterm.c (syms_of_macterm, mac_get_mouse_btn):
	Reverse functionality of mac-wheel-button-is-mouse-2 to be correct.
	Also switch the default to Qnil from Qt.

2002-10-08  Kenichi Handa  <handa@m17n.org>

	* coding.c (code_convert_region): When we need more GAP for
	conversion, pay attention to the case that coding->produced is not
	greater than coding->consumed.

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

	* unexelf.c (unexec): Redo 9/16 change, but only if IRIX6_5.

2002-10-06  Andrew Choi  <akochoi@shaw.ca>

	* macmenu.c (mac_menu_show): Add j to count menu items; match
	menu_item_selection to it to find selected item.

2002-10-06  Jan Dj,Ad(Brv  <jan.h.d@swipnet.se>

	* xterm.c (XTread_socket): Fix from 2002-10-03 didn't cover all
	cases.  The correct fix is to pass ReparentNotify to Xt.
	The shell widget interprets ConfigureNotify differently depending
	on if it has been reparented or not.

2002-10-05  Markus Rost  <rost@math.ohio-state.edu>

	* editfns.c (Fformat_time_string): Doc fix.

2002-10-05  John Paul Wallington  <jpw@shootybangbang.com>

	* fns.c (Flength): Doc fix.

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

	* keyboard.c (keyremap): New struct.
	(read_key_sequence): Use it: globally replace keytran_foo with
	keytran.foo and fkey_foo with fkey.foo.  Rename temp vars
	keytran_next and fkey_next to just `next'.

2002-10-04  Steven Tamm  <steventamm@mac.com>

	* macterm.c (keycode_to_xkeysym_table): Change return to be
	treated like an X keysym.

2002-10-03  Jan Dj,Ad(Brv  <jan.h.d@swipnet.se>

	* xterm.c (XTread_socket): For ConfigureNotify, with x and y == 0,
	and USE_MOTIF, call XTranslateCoordinates to get the real x and y.
	This is to also handle x/y changes that occur because of a resize.

2002-10-02  John Paul Wallington  <jpw@shootybangbang.com>

	* frame.c (Vdelete_frame_functions): New variable.
	(syms_of_frame): Initialize and defvar it.
	(Fdelete_frame): Use it instead of delete-frame-hook.  Don't run
	it when frame's `tooltip' parameter is non-nil.

	* xfns.c (x_create_tip_frame): Set `tooltip' frame parameter to t.

	* w32fns.c (x_create_tip_frame): Likewise.

	* macfns.c (x_create_tip_frame): Likewise.

2002-09-30  Kenichi Handa  <handa@m17n.org>

	* xterm.c (x_encode_char): For DIM=1 charset, set ccl->reg[2] to
	-1 before calling ccl_driver.

	* coding.c (decode_coding_emacs_mule): Check coding->cmp_data.
	Only when it is non-nil, handle composition sequence.
	(setup_coding_system) <0>: Don't force composition handling.

	* Makefile.in (lisp, shortlisp): Add utf-16.elc

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

	* search.c (Freplace_match): Adjust match data for the substitution
	just made in the buffer.

	* xdisp.c (STOP_POLLING, RESUME_POLLING): New macros.
	(redisplay_internal): Use them.  Do RESUME_POLLING at end of function.

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

	* keyboard.c (STOP_POLLING, RESUME_POLLING): New macros.
	(read_char): Use them.  Do all exits thru the end of the function.

2002-09-27  Kenichi Handa  <handa@etl.go.jp>

	* xfaces.c (try_font_list): Pay attention to the case that FAMILY
	is nil.

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

	* regex.h (__restrict_arr): Don't define if already defined.

	* coding.c (run_pre_post_conversion_on_str):
	Save and restore Vdeactivate_mark.

2002-09-26  John Paul Wallington  <jpw@shootybangbang.com>

	* minibuf.c (Fminibufferp): Add an optional `buffer' argument.

2002-09-26  Kenichi Handa  <handa@etl.go.jp>

	* xfaces.c (try_font_list): New arg PREFER_FACE_FAMILY.  If it is
	nonzero, try face's family at first.  Otherwise try FAMILY at first.
	(choose_face_font): If C is a single byte char or latin-1, call
	try_font_list with PREFER_FACE_FAMILY 1.

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

	* window.c (select_window_1): Don't select frame.
	Set frame's selected window only when frame itself is selected.
	(Fselect_window): Doc fix.

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

	* process.c (make-network-process): Doc fix (there is no
	network-server-log-function hook).

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

	* print.c (print): Clear out the unused parts of Vprint_number_table.
	(syms_of_print): Doc fix for `print-number-table'.

	* unexelf.c (unexec): Undo previous change.

2002-09-17  Andreas Schwab  <schwab@suse.de>

	* m/alpha.h [LINUX]: Don't define DATA_START.

2002-09-16  Dave Love  <fx@gnu.org>

	* unexelf.c (unexec): Deal with .got, reinstating change from
	25-08-1999.

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

	* s/sol2-6.h (UNEXEC): Comment out definition.

	* unexsol.c (unexec): Don't downcase first letter of error msg.

	* xfaces.c (Fcolor_supported_p): Just one arg is required.

2002-09-12  Markus Rost  <rost@math.ohio-state.edu>

	* unexsol.c: Include buffer.h, charset.h, coding.h.

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

	* unexsol.c: Don't use report_file_error; do it by hand
	using dlerror.

	* process.c (wait_reading_process_input, both versions):
	Before calling turn_on_atimers, call stop_polling.

	* emacs.c (syms_of_emacs) <command-line-args>: Doc fix.

	* xdisp.c (try_scrolling): If after make_cursor_line_fully_visible
	we go to too_near_end, call clear_glyph_matrix.
	(redisplay_window): After make_cursor_line_fully_visible,
	call clear_glyph_matrix and bypass `goto done'.

	* xfns.c (x_report_frame_params): If FRAME_SCROLL_BAR_PIXEL_WIDTH is 0
	and we have non-toolkit scroll bars, return nil for scroll-bar-width.

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

	* fileio.c (Fdo_auto_save): Catch error making directory.
	Only call push_message if we need to.
	At the same time, make an unwind-protect to pop it.
	Rename local message_p to old_message_p.
	(do_auto_save_make_dir, do_auto_save_eh): New functions.
	(do_auto_save_unwind): Don't call pop_message.

	local_request 1.
	(syms_of_xselect): Intern and staticpro QUTF8_STRING.

	* xterm.c (x_term_init): Initialize dpyinfo->Xatom_UTF8_STRING.

	* xterm.h (struct x_display_info): New member Xatom_UTF8_STRING.

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

	* minibuf.c (Fminibufferp): New function.
	(syms_of_minibuf): Defsubr it.
	(Fminibuffer_prompt_end): Handle non-minibuffers specially.

2002-08-13  Gerd Moellmann  <gerd.moellmann@t-online.de>

	* coding.c (Funencodable_char_position): Lisp_Object/int mixup.

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

	* syswait.h: Only the include of sys/wait.h tests HAVE_SYS_WAIT_H.
	[!VMS] (WCOREDUMP, WEXITSTATUS, WIFEXITED, WIFSTOPPED, WIFSIGNALED)
	(WSTOPSIG, WTERMSIG): Define each one independently if not defined
	already.

	* buffer.c (syms_of_buffer) <fill-column>: Doc fix.

2002-08-11  Andrew Choi  <akochoi@shaw.ca>

	* macterm.c (XTmouse_position): Check wp with is_emacs_window.
	(Vmac_pass_command_to_system): New variable.
	(Vmac_pass_control_to_system): New variable.
	(do_mouse_moved): Check wp with is_emacs_window.
	(XTread_socket): Check window_ptr with is_emacs_window.
	Call FrontNonFloatingWindow instead of FrontWindow.  Send keydown
	events back to Mac Toolbox for processing, depending on values of
	Vmac_pass_command_to_system and Vmac_pass_control_to_system.
	(syms_of_macterm): DEFVAR_LISP Vmac_pass_command_to_system and
	Vmac_pass_control_to_system.

2002-08-10  Kenichi Handa  <handa@etl.go.jp>

	* coding.c (unencodable_char_position): New function.
	(Funencodable_char_position): New function.
	(syms_of_coding): Defsubr Funencodable_char_position.

2002-08-10  Andrew Choi  <akochoi@shaw.ca>

	* mac.c (sys_select) [MAC_OSX]: New function.

	* macterm.c (MakeMeTheFrontProcess): New function.
	(mac_initialize): Call MakeMeTheFrontProcess.

	* s/darwin.h: Define select to sys_select.

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

	* keyboard.c (make_lispy_event): Test WINDOWSNT, not WINDOWS_NT.

2002-08-09  Gerd Moellmann  <gerd.moellmann@t-online.de>

	* xdisp.c (forward_to_next_line_start): Return 0 when reaching the
	end of the buffer.

2002-08-08  Ken Raeburn  <raeburn@mit.edu>

	* coding.c (Ffind_operation_coding_system): Fix Lisp_Object/int mixup.

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

2002-08-08  Kenichi Handa  <handa@etl.go.jp>

	* coding.c (Ffind_operation_coding_system): For write-region, if
	VISIT is a filename, make it the target.

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

	* alloc.c (mark_object): Detect long lists for debugging.
	(mark_object_loop_halt): New variable.

	* s/hpux10.h (C_SWITCH_SYSTEM): #undef it.

	* data.c (Fmake_variable_frame_local): Doc fix.

2002-08-01  David Ponce  <david@dponce.com>

	* w32menu.c (local_heap, local_alloc, local_free): New macros.
	(malloc_widget_value, free_widget_value)
	(w32_free_submenu_strings): Use them.

	(push_submenu_start, push_submenu_end, push_left_right_boundary)
	(push_menu_pane, push_menu_item, single_keymap_panes)
	(single_menu_item, Fx_popup_menu, menubar_selection_callback)
	(single_submenu, set_frame_menubar)
	(w32_menu_show, w32_dialog_show): Use AREF, ASET, ASIZE.

	(Fx_popup_menu): Don't show pop up menu until preceding one is
	actually cleaned up.  Moved UNGCPRO outside #ifdef HAVE_MENUS block.

	* w32menu.c: Changes adapted from xmenu.c
	(set_frame_menubar): First parse all submenus,
	then make widget_value trees from them.
	Don't allocate any widget_value objects
	until we are done with the parsing.
	(parse_single_submenu): New function.
	(digest_single_submenu): New function.
	(single_submenu): Function deleted, replaced by those two.

2002-08-04  Andrew Choi  <akochoi@shaw.ca>

	* macterm.c (XTread_socket): Check that FrontNonFloatingWindow
	returns a valid window pointer before proceeding for keyDown and
	autoKey events.

2002-08-03  Andrew Choi  <akochoi@shaw.ca>

	* macterm.c (USE_CARBON_EVENTS): New macro.
	(macCtrlKey, macShiftKey, macMetaKey, macAltKey): New macros.
	(x_iconify_frame): Call CollapseWindow.
	(Vmac_reverse_ctrl_meta): New variable.
	(Vmac_wheel_button_is_mouse_2): New variable.
	(init_mac_drag_n_drop): New function.
	(mac_do_receive_drag): New function.
	(mac_handle_service_event): New function.
	(init_service_handler): New function.
	(mac_to_emacs_modifiers): New function.
	(mac_event_to_emacs_modifiers): New function.
	(mac_get_mouse_btn): New function.
	(mac_convert_event_ref): New function.
	(XTread_socket) [USE_CARBON_EVENTS]: Call ReceiveNextEvent,
	SendEventToEventTarget, mac_event_to_emacs_modifiers, and
	mac_get_mouse_btn.
	(mac_initialize): Call init_mac_drag_n_drop and init_service_handler.

	* keyboard.c: Define Qmouse_wheel, mouse_wheel_syms, and
	lispy_mouse_wheel_names for MAC_OSX as well as for WINDOWS_NT.
	(kbd_buffer_get_event): Set used_mouse_menu for MENU_BAR_EVENT and
	TOOL_BAR_EVENT for MAC_OS as well.
	(make_lispy_event): Handle MOUSE_WHEEL_EVENT for MAC_OSX as well
	as for WINDOWS_NT.
	(syms_of_keyboard): Initialize Qmouse_wheel for MAC_OSX.

	* termhooks.h (event_kind): Define MOUSE_WHEEL_EVENT also for MAC_OSX.

2002-08-03  Gerd Moellmann  <gerd.moellmann@t-online.de>

	* xdisp.c (forward_to_next_line_start): Fix a condition that
	lead to a newline being skipped.

2002-08-02  Andrew Choi  <akochoi@shaw.ca>

	* mac.c (syms_of_mac): Defsubr Sx_selection_exists_p.

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

	* Makefile.in (SOME_MACHINE_OBJECTS): Add fontset.o.

2002-07-31  Andrew Choi  <akochoi@shaw.ca>

	* macfns.c: #undef init_process before #define-ing it.

	* s/darwin.h: Define MAC_OS, SYMS_SYSTEM, and OTHER_FILES only if
	HAVE_CARBON is defined.

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

	* xmenu.c (set_frame_menubar): First parse all submenus,
	then make widget_value trees from them.
	Don't allocate any widget_value objects
	until we are done with the parsing.
	(parse_single_submenu): New function.
	(digest_single_submenu): New function.
	(single_submenu): Function deleted, replaced by those two.

2002-07-30  Juanma Barranquero  <lektu@terra.es>

	* w32proc.c (syms_of_ntproc): Fix docstring of
	`w32-get-true-file-attributes'.

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

	* s/hpux8.h (HPUX8): Define this before including hpux.h.
	(HAVE_SYS_WAIT_H): #define deleted; we let Autoconf decide.

	* s/hpux.h (HAVE_SYS_WAIT_H): The #undef is conditional on HPUX8.

	* keyboard.c (make_lispy_event):
	Use #ifdef to test USE_TOOLKIT_SCROLL_BARS.
	Explicitly clear up_modifier in event->modifiers.

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

	* xterm.h (FRAME_CURSOR_WIDTH): New macro.

	* xterm.c (x_display_and_set_cursor): Check FRAME_CURSOR_WIDTH
	for bar cursor.

2002-07-26  Kenichi Handa  <handa@etl.go.jp>

	* coding.c (detect_coding_iso2022): While checking a byte sequence
	for CODING_CATEGORY_MASK_ISO_8_2, if we read one extra byte, check
	it in the normal loop.

2002-07-24  Gerd Moellmann  <gerd.moellmann@t-online.de>

	* xterm.c (expose_overlaps): New function.
	(expose_window): Use it to fix the display of overlapping rows.

	* xdisp.c (unwind_redisplay): Clear redisplay_updating_p.

2002-07-23  Ken Raeburn  <raeburn@gnu.org>

	* lisp.h (XPNTR): Use NO_UNION_TYPE version for union as well,
	since it only depends on XUINT.

	* m/alpha.h (BITS_PER_LONG, BITS_PER_EMACS_INT, EMACS_INT,
	EMACS_UINT, SPECIAL_EMACS_INT, DATA_SEG_BITS,
	PNTR_COMPARISON_TYPE, VALBITS, MARKBIT, XINT, XUINT, XPNTR):
	Macros deleted.

	* mem-limits.h (start_of_data): If DATA_START is defined, prefer
	its value over other approaches.
	* sysdep.c (start_of_data): Don't define the function if a macro
	form has been defined.

2002-07-23  Gerd Moellmann  <gerd.moellmann@t-online.de>

	* xdisp.c (redisplay_updating_p): New variable.
	(init_iterator): Don't free realized faces when
	redisplay_updating_p is set.
	(redisplay_internal): Set redisplay_updating_p while updating
	the display.

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

	* editfns.c (Fmessage): Treat "" like nil.

2002-07-23  Kenichi Handa  <handa@etl.go.jp>

	* xdisp.c (face_before_or_after_it_pos):
	Call FETCH_MULTIBYTE_CHAR with byte postion, not char position.

2002-07-22  Juanma Barranquero  <lektu@terra.es>

	* callproc.c (init_callproc) [DOS_NT]:
	Initialize Vshared_game_score_directory to nil.
	(syms_of_callproc) [DOS_NT]: Likewise.

2002-07-22  Gerd Moellmann  <gerd.moellmann@t-online.de>

	* xdisp.c (display_line): Replace an abort with xassert.

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

	* xdisp.c (redisplay_window): Don't test BEG_UNCHANGED
	and END_UNCHANGED when setting buffer_unchanged_p.
	Use current_matrix_up_to_date_p to decide whether to use
	try_cursor_movement.

	* config.in (HAVE_SHARED_GAME_DIR): Undef deleted.

	* epaths.in (PATH_GAME): New macro, edited by ../Makefile.in.

	* callproc.c (init_callproc): Set up Vshared_game_score_directory.
	Set to nil if dir does not exist.
	(syms_of_callproc): Init unconditionally and simply.

	* buffer.c (Fbuffer_list): Doc fix.

2002-07-21  Ken Raeburn  <raeburn@gnu.org>

	* sysdep.c (end_of_text, end_of_data): Unused functions deleted.

	* buffer.c (mmap_realloc): When shrinking, make sure number of
	pages to unmap is rounded towards zero.

	* m/mips-siemens.h (XSETUINT, XSETPNTR): Unused macros deleted.
	(XSETINT): Deleted.

	* m/att3b.h (XINT): Don't define.
	(VALBITS, VALMASK, XTYPE): Deleted.
	(DATA_SEG_BITS): Define.
	* m/gec63.h (VALBITS, VALAMASK, XTYPE, XSETTYPE, XPNTR, XSET,
	ARRAY_MARK_FLAG): Deleted.
	(DATA_SEG_BITS): Define.
	* m/pfa50.h (VALBITS, VALMASK, XTYPE): Deleted.
	(DATA_SEG_BITS): Define.

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

	* print.c (print_error_message): New args CONTEXT and CALLER.
	Calls changed.

	* lisp.h (print_error_message): Declare new args.

	* keyboard.c (cmd_error_internal): Pass Vsignaling_function
	and CONTEXT to print_error_message, don't print them here.
	For a Quit, don't use Vsignaling_function.
	Call message_log_maybe_newline.

	* Makefile.in (xsmfns.o): Don't depend on lisp.h.

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

	* xdisp.c (redisplay_window): Test MODIFF to set buffer_unchanged_p.

2002-07-19  Ken Raeburn  <raeburn@gnu.org>

	* bytecode.c (struct byte_stack): Pointers into byte string now
	point to const.
	* callproc.c (Fcall_process): Make NEW_ARGV array hold pointer to
	const.
	* charset.h (BCOPY_SHORT): Source pointer now points to const.
	* coding.c (encode_eol, detect_coding, detect_eol):
	(decode_coding, encode_coding, detect_coding_system):
	Source strings now treated as const.
	(decode_coding_string, encode_coding_string): Use STRING_COPYIN to
	modify Lisp string contents.
	* coding.h (decode_coding, encode_coding, detect_coding,
	detect_eol): Declarations updated.
	* composite.c (compose_chars_in_text): Treat Lisp string contents
	as const.
	* dispnew.c (safe_bcopy): Source pointer now points to const.
	* lisp.h (STRING_COPYIN): New macro.
	(detect_coding_system, safe_bcopy, temp_output_buffer_setup):
	(internal_with_output_to_temp_buffer): Declarations updated.
	* print.c (temp_output_buffer_setup):
	(internal_with_output_to_temp_buffer): Buffer name argument is now
	pointer to const.
	* sound.c (struct sound_device): Function pointer field "write"
	buffer argument now points to const.
	(vox_write): Buffer argument points to const.
	* syntax.c (Fstring_to_syntax, skip_chars): Treat Lisp string
	contents as const.
	* sysdep.c (emacs_write): Buffer pointer now const.
	* term.c (encode_terminal_code): Buffer pointer now const.
	* xfaces.c (may_use_scalable_font_p): Argument now points to const.
	(x_face_list_fonts, x_update_menu_appearance):
	(hash_string_case_insensitive): Treat Lisp string contents as const.

2002-07-19  Juanma Barranquero  <lektu@terra.es>

	* fileio.c (Ffile_name_as_directory): Fix argument name in docstring.
	(file_name_as_directory): Use literal '/' instead of DIRECTORY_SEP.

	* xdisp.c (syms_of_xdisp): Remove redundant deprecation info.

	* fileio.c (syms_of_fileio): Likewise.

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

	* data.c (Fdefalias): Doc fix.

2002-07-17  Dave Love  <fx@gnu.org>

	* intervals.h (text_property_stickiness): Use P_.

	* ccl.c: Remove `emacs' conditionals.
	(ccl_backtrace_table): Fix size spec.
	(ccl_driver): Fix type errors.

2002-07-16  Ken Raeburn  <raeburn@gnu.org>

	* alloc.c (xstrdup, make_string, make_unibyte_string)
	(make_multibyte_string, build_string): String pointer args now
	point to const.
	* charset.c (find_charset_in_text, c_string_width):
	(chars_in_text, multibyte_chars_in_text, parse_str_as_multibyte):
	* fileio.c (report_file_error):
	* insdel.c (copy_text, count_size_as_multibyte, insert_1):
	(count_combining_before, count_combining_after, insert_1_both):
	(insert, insert_and_inherit, insert_string):
	(insert_before_markers, insert_before_markers_and_inherit):
	* lread.c (intern, oblookup, hash_string):
	* minibuf.c (temp_echo_area_glyphs):
	* search.c (fast_c_string_match_ignore_case):
	* sysdep.c (emacs_open, set_file_times):
	* xfaces.c (xstricmp):
	* xdisp.c (store_frame_title, string_char_and_length):
	(message_dolog, message2, message2_nolog, set_message): Likewise.
	(set_message_1): Cast message string argument to const pointer.
	* editfns.c (general_insert_function): Insertion function now
	takes pointer to const for input data.
	* charset.h (find_charset_in_text, c_string_width):
	(parse_str_as_multibyte): Declarations updated.
	* dispextern.h (xstricmp): Declaration updated.
	* lisp.h (chars_in_text, multibyte_chars_in_text, copy_text):
	(count_size_as_multibyte, count_combining_before):
	(count_combining_after, insert_1, insert_1_both, message_dolog):
	(insert, insert_and_inherit, insert_before_markers)
	(insert_before_markers_and_inherit, set_message, message2):
	(message2_dolog, build_string, make_string, make_unibyte_string):
	(make_multibyte_string, intern, oblookup, report_file_error):
	(fast_c_string_match_ignore_case, temp_echo_area_glyphs):
	(emacs_open, xstrdup): Declarations updated.
	* systime.h (set_file_times): Declaration updated.

	* charset.c (find_charset_in_text, lisp_string_width): Use const
	for pointer to lisp string data.
	* charset.h (FETCH_STRING_CHAR_ADVANCE):
	(FETCH_STRING_CHAR_ADVANCE_NO_CHECK):
	* coding.c (Ffind_coding_systems_region_interval):
	* fileio.c (Ffile_name_directory, Ffile_name_nondirectory):
	(Fmake_directory_internal, Fdelete_directory):
	(Ffile_name_absolute_p, Fwrite_region, double_dollars):
	* fontset.c (font_family_registry, fs_query_fontset):
	(list_fontsets):
	* frame.c (Fframe_parameter):
	* keyboard.c (cmd_error_internal):
	* keymap.c (Fdescribe_buffer_bindings):
	* lread.c (complete_filename_p, openp):
	* minibuf.c (Fminibuffer_complete_word):
	* xdisp.c (string_pos_nchars_ahead, init_from_display_pos):
	(face_before_or_after_it_pos, next_element_from_string):
	(get_overlay_arrow_glyph_row, display_mode_element):
	(decode_mode_spec_coding):
	* xterm.c (same_x_server): Likewise.

	* buffer.c (reset_buffer_local_variables): Delete "#if 0"
	settings of non-existent fields.

	* editfns.c (Fstring_to_char): Don't use XSTRING/XSETSTRING to
	copy a lisp value.

	* lread.c (Fintern_soft): Use string macros instead of
	Lisp_String fields.
	* keyboard.c (echo_char, parse_modifiers_uncached):
	(parse_solitary_modifier, Fexecute_extended_command): Likewise.
	* textprop.c (validate_interval_range, interval_of): Likewise.

	* fontset.c (Fset_fontset_font): Use SDATA instead of XSTRING()->data.

	* charset.h (FETCH_STRING_CHAR_ADVANCE)
	(FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SBYTES instead of
	XSTRING()->size_byte.

	* lisp.h (SDATA, SREF): Produce rvalue.
	(SSET): New macro.
	* alloc.c (make_event_array): Use SSET for storing into a string.
	* buffer.c (Fother_buffer): Use SREF when retrieving a byte from
	a string.
	* casefiddle.c (casify_object): Use SSET.
	* charset.h (FETCH_STRING_CHAR_ADVANCE)
	(FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA when getting
	address of string contents.
	* data.c (Faref): Use SDATA.
	(Faset): Use SDATA, SSET.
	* dired.c (directory_files_internal): Use SSET.
	* fileio.c (Fmake_symbolic_link, Fexpand_file_name): Use SSET.
	(Fread_file_name): Use SREF, SSET.
	* fns.c (concat): Use SSET.
	(concat, Fdelete): Use SDATA.
	* insdel.c (insert_from_string_1): Use SDATA.
	* keyboard.c (Fevent_convert_list): Use SREF.
	* lread.c (Fload): Use SDATA, SSET.
	* macfns.c (validate_x_resource_name): Use SSET.
	* process.c (status_message): Use SSET.
	* search.c (wordify): Use SDATA.
	(Freplace_match): Use SREF.
	* w32fns.c (validate_x_resource_name): Use SSET.
	* xfns.c (validate_x_resource_name): Use SSET.
	* xterm.c (x_catch_errors, x_clear_errors): Use SSET.

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

	* s/hpux11.h (USG_SUBTTY_WORKS): Defined.

	* xdisp.c (reconsider_clip_changes):
	Don't test prevent_redisplay_optimizations_p.
	(redisplay_internal): Test prevent_redisplay_optimizations_p
	along with clip_changed in some cases.
	(try_window_id): Likewise.
	(redisplay_window): New local var buffer_unchanged_p.

	* keyboard.c (cmd_error) [HAVE_X_WINDOWS]: Maybe call cancel_houglass.

	* process.c (create_process): Test USG_SUBTTY_WORKS.
	(process_send_signal): Clean up handling of GID.
	Detect errors in ioctls meant to set GID.

	* window.c (temp_output_buffer_show):
	Don't set prevent_redisplay_optimizations_p.

2002-07-15  Juanma Barranquero  <lektu@terra.es>

	* eval.c (Fdefvaralias): Add docstring argument.

2002-07-15  Ken Raeburn  <raeburn@gnu.org>

	* lisp.h (STRING_INTERVALS): Produce rvalue.
	(STRING_SET_INTERVALS): New macro.
	* buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use it.
	* fns.c (Fstring_as_multibyte): Likewise.
	* intervals.c (balance_possible_root_interval, delete_interval)
	(create_root_interval, copy_intervals_to_string): Likewise.
	* textprop.c (set_text_properties): Likewise.  Use NULL_INTERVAL
	instead of 0.

2002-07-14  Ken Raeburn  <raeburn@gnu.org>

	* lisp.h (STRING_SET_CHARS): New macro.
	(SCHARS, SBYTES): Produce rvalues.
	* dired.c (directory_files_internal): Use STRING_SET_CHARS.
	* fns.c (concat): Likewise.
	* lread.c (read_vector): Likewise.

	* lisp.h (SMBP): Deleted.  All uses changed to STRING_MULTIBYTE.
	(STRING_SET_UNIBYTE): New macro.
	(SET_STRING_BYTES): Deleted.  Callers (all of which supplied a
	length of -1) changed to use STRING_SET_UNIBYTE.
	* abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c,
	casefiddle.c, category.c, ccl.c, charset.c, charset.h, coding.c,
	composite.c, data.c, dired.c, dispnew.c, disptab.h, doc.c,
	dosfns.c, editfns.c, emacs.c, eval.c, fileio.c, filelock.c, fn.c,
	fontset.c, frame.c, indent.c, insdel.c, intervals.c, keyboard.c,
	keymap.c, lread.c, mac.c, macfns.c, macmenu.c, macterm.c,
	minibuf.c, msdos.c, print.c, process.c, search.c, sound.c,
	sunfns.c, syntax.c, syntax.h, sysdep.c, textprop.c, undo.c,
	w16select.c, w32.c, w32fns.c, w32menu.c, w32proc.c, w32select.c,
	w32term.c, window.c, xdisp.c, xfaces.c, xfns.c, xmenu.c,
	xselect.c, xsmfns.c, xterm.c: Most uses of XSTRING combined with
	STRING_BYTES or indirection changed to SCHARS, SBYTES,
	STRING_INTERVALS, SREF, SDATA; explicit size_byte references left
	unchanged for now.

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

	* keyboard.c (command_loop_1): Invert check on Vmemory_full.

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

	* fileio.c (Fwrite_region): Doc fix.

	* print.c (print_error_message): Don't handle Vsignaling_function here.

	* keyboard.c (cmd_error_internal): Handle Vsignaling_function here.
	(command_loop_1): Avoid certain actions after memory-full error.

	* eval.c (Fsignal): Don't call cancel_hourglass.
	For a memory-full error, don't call Vsignal_hook_function
	and don't set Vsignaling_function.

	* process.c (process_send_signal): Add abort call.

2002-07-11  Markus Rost  <rost@math.ohio-state.edu>

	* keymap.c (Fkey_binding): Fix typo.

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

	* alloc.c (Vmemory_full): New variable.
	(Vmemory_signal_data): Renamed from memory_signal_data.
	Uses changed.
	(syms_of_alloc): Defvar them.
	(memory_full, buffer_memory_full): Set Vmemory_full.

	* lisp.h (Vmemory_full): Add declaration.
	(current_column, indented_beyond_p): Change declaration.

	* indent.c (last_known_column): Declare as double, not float.
	(current_column, current_column_1, string_display_width)
	(position_indentation): Return `double'.
	(indented_beyond_p): Arg `column' is `double'.  Callers changed.

	* xdisp.c (message_dolog): Do nothing if Vmemory_full is non-nil.
	(back_to_previous_visible_line_start)
	(reseat_at_next_visible_line_start, next_element_from_buffer):
	Use `double', not `float', when calling indented_beyond_p.

	* s/hpux11.h (BROKEN_SA_RESTART): Defined.

	* sysdep.c (sys_signal): Test BROKEN_SA_RESTART.

2002-07-11  Juanma Barranquero  <lektu@terra.es>

	* alloc.c, buffer.c, bytecode.c, callint.c, callproc.c, coding.c,
	* composite.c, dired.c, dispnew.c, editfns.c, emacs.c, eval.c,
	* fileio.c, fns.c, insdel.c, keyboard.c, keymap.c, lread.c, macfns.c,
	* macmenu.c, macros.c, minibuf.c, print.c, process.c, sound.c,
	* textprop.c, w32fns.c, w32menu.c, window.c, xfaces.c, xfns.c,
	* xmenu.c, xselect.c, xterm.c: Use SPECPDL_INDEX wherever makes sense.

2002-07-10  Juanma Barranquero  <lektu@terra.es>

	* lisp.h (SPECPDL_INDEX): Rename from BINDING_STACK_SIZE. All callers
	changed.

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

	* data.c (Fdefalias): Add an optional `docstring' argument.
	(set_internal, Fsetq_default): Use XCAR/XCDR.

	* composite.c (HASH_VALUE, HASH_KEY):
	* ccl.c (HASH_VALUE): Remove (it's in lisp.h now).

2002-07-09  Kenichi Handa  <handa@etl.go.jp>

	* callproc.c (Fcall_process): Fix previous change.

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

	* minibuf.c (Ftry_completion, Fall_completions, Ftest_completion):
	Add support for hash-tables.
	(Ftry_completion): Return t even if the string appears multiple times.

	* fns.c (Fnconc): Use XCDR.
	(Fprovide): Use CONSP and XCDR.
	(HASH_KEY, HASH_VALUE, HASH_NEXT, HASH_HASH, HASH_INDEX)
	(HASH_TABLE_SIZE): Delete: moved to lisp.h.
	(Fmake_hash_table): Accept `:size nil'.
	(Fmakehash): Delete: moved to subr.el.
	(syms_of_fns): Don't defsubr makehash.

	* lisp.h (HASH_KEY, HASH_VALUE, HASH_NEXT, HASH_HASH, HASH_INDEX)
	(HASH_TABLE_SIZE): Move from fns.c.

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

	* xdisp.c (make_cursor_line_fully_visible): Don't try short scrolls.
	Instead just return 0 when there is something to be done.
	(try_scrolling): If make_cursor_line_fully_visible returns 0,
	retry scrolling as if cursor were off the bottom.
	(try_cursor_movement): If make_cursor_line_fully_visible returns 0,
	return CURSOR_MOVEMENT_MUST_SCROLL.
	(redisplay_window): If make_cursor_line_fully_visible returns 0,
	go to try_to_scroll.

	* buffer.c (Fbuffer_local_value): Store current value into its binding
	so we get the up-to-date value for the binding that is loaded.

	* eval.c (Fdefmacro): Doc fix.

2002-07-05  Dave Love  <fx@gnu.org>

	* keyboard.c (read_key_sequence): Set initial_idleness_start_time
	correctly.

	* ccl.c (Vtranslation_hash_table_vector, GET_HASH_TABLE)
	(HASH_VALUE, CCL_LookupIntConstTbl, CCL_LookupCharConstTbl): New.
	(ccl_driver): Add cases for CCL_LookupIntConstTbl,
	CCL_LookupCharConstTbl.
	(syms_of_ccl): Defvar translation-hash-table-vector.

2002-07-05  Pavel Jan,Am(Bk  <Pavel@Janik.cz>

	* xdisp.c: Remove unused variable `face'.

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

	* keyboard.c (post_command_idle_hook): Remove redundant (and inexact)
	obsolescence information.

2002-07-03  Andrew Choi  <akochoi@shaw.ca>

	* macterm.c (x_list_fonts): Fix comment.  Cache fonts matching
	pattern.  Search cache first.
	(init_font_name_table): Also add entry for jisx0201.1976-0 coding
	for Japanese font.
	(XLoadQueryFont): Use it.

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

	* keymap.c (Fdefine_key): Doc fix.

	* xterm.c (x_term_init): Turn off polling around XtOpenDisplay.

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

	* keymap.c (syms_of_keymap): Fix typo.

2002-07-01  Andrew Choi  <akochoi@shaw.ca>

	* s/darwin.h: Define POSIX_SIGNALS.

	* macterm.c (do_ae_open_documents) [MAC_OSX]: Call FSpMakeFSRef
	and FSRefMakePath to convert FSSpec returned with Apple Event to
	Posix pathname.
	(mac_initialize) [TARGET_API_MAC_CARBON]:
	Call init_required_apple_events and disable the `Quit' menu item
	provided automatically by the Carbon Toolbox.

2002-07-01  Dave Love  <fx@gnu.org>

	* keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
	for K&R.

	* xterm.c: Fix prototype for K&R.

	* term.c (costs_set): Declare static, non-initialized for pcc.

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

	* keyboard.c (timer_last_idleness_start_time): New variable.
	(timer_start_idle): Set that.
	(read_key_sequence): Use that to reset timer_idleness_start_time
	to previous value.

	* window.c (Frecenter): With arg, set optional_new_start.

	* xdisp.c (redisplay_internal): Make optional_new_start really work.

	* minibuf.c (Fminibuffer_complete_and_exit): Move to end of
	buffer for completion.

2002-06-29  Ken Raeburn  <raeburn@gnu.org>

	* xdisp.c (store_mode_line_string): Lisp_Object/int mixup.

2002-06-28  Jan Dj,Ad(Brv  <jan.h.d@swipnet.se>

	* keyboard.c (readable_filtered_events): New function that filters
	FOCUS_IN_EVENT depending on parameter.
	(readable_events): Calls readable_filtered_events, not filtering
	FOCUS_IN_EVENT.
	(get_filtered_input_pending): New function, filtering parameter passed
	to readable_filtered_events.
	(get_input_pending): Calls get_filtered_input_pending, not filtering
	FOCUS_IN_EVENT.
	(Finput_pending_p): Calls get_filtered_input_pending, DO filter
	FOCUS_IN_EVENT.

	* xterm.h (struct x_output): Add focus_state.

	* xterm.c (x_focus_changed): New function.
	(x_detect_focus_change): New function.
	(XTread_socket): Call x_detect_focus_change for FocusIn/FocusOut
	EnterNotify and LeaveNotify to track X focus changes.

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

	* lisp.h: Remove duplicate declaration of code_convert_string_norecord.

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

	* xdisp.c: (mode_line_string_list, mode_line_string_face)
	(mode_line_string_face_prop): New variables.
	(store_mode_line_string): New function.
	(display_mode_element): Use store_mode_line_string to
	add mode-line string elements to mode_line_string_list
	when mode_line_string_list is non-nil.
	(Fformat_mode_line): Now returns propertized string by
	default.  New arg NO-PROPS to ignore properties.
	(decode_mode_spec): Only add two dashes for %- in propertized
	mode-line string.
	(syms_of_xdisp): Init and staticpro mode_line_string_list.

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

	* minibuf.c (minibuffer_completion_contents): Add return type.

2002-06-27  Juanma Barranquero  <lektu@terra.es>

	* charset.c (Fchar_bytes): Remove obsolescence info from docstring.

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

	* fileio.c (read_file_name_cleanup): Add missing return.

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

	* window.c (Frecenter): Don't set force_start flag.

	* minibuf.c (do_completion, Fminibuffer_complete_word)
	(Fminibuffer_completion_help): Complete just the text before point.
	(minibuffer_completion_contents): New function.

	* buffer.c (Fbury_buffer): Use frames_discard_buffer.

	* frame.c (frames_bury_buffer): Function deleted.

2002-06-25  Miles Bader  <miles@gnu.org>

	* callint.c (Fcall_interactively): When checking to see if doprnt hit
	the end of callint_message, allow for a terminating '\0'.

2002-06-24  Juanma Barranquero  <lektu@terra.es>

	* w32select.c: Include composite.h

	* w16select.c: Likewise.

2002-06-24  Kenichi Handa  <handa@etl.go.jp>

	* callproc.c (Fcall_process): If code detection is necessary,
	call detect_coding directly here.

	* coding.c (detect_eol): Preserve coding->cmp_data.

	* w16select.c (Fw16_get_clipboard_data):
	* w32fns.c (w32_to_x_font):
	* w32select.c (Fw32_get_clipboard_data):
	* xselect.c (selection_data_to_lisp_data):
	* xterm.c (XTread_socket): Disable composition handling.

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

	* print.c (temp_output_buffer_setup): Kill all local variables.

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

	* lread.c (Fread): Remove redundant and imprecise declaration.

	* xfns.c (check_x_display_info): Use check_x_frame.

	* .gdbinit (xprintsym): Use the new `xname' field.
	(xsymbol): Use it.

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

	* w32fns.c (file_dialog_callback): New function.
	(Fx_file_dialog): Allow selecting directories as well as files.

2002-06-21  Pavel Jan,Am(Bk  <Pavel@Janik.cz>

	* m/pmax.h (START_FILES): Define START_FILES for NetBSD and
	OpenBSD. Add support for mipseb-*-netbsd* machines.

2002-06-17  Andrew Choi  <akochoi@shaw.ca>

	* macterm.c (mac_scroll_area): Set foreground and backcolor to
	black and white before scrolling.  Restore frame background and
	foreground color after scrolling.
	(do_window_update): Call XClearWindow before calling expose_frame.
	(make_mac_frame): Don't set FRAME_BACKGROUND_PIXEL and
	FRAME_FOREGROUND_PIXEL of frame.

	* macterm.c (XTread_socket): If Vmac_command_key_is_meta is nil,
	test Mac command key as <ALT> key.

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

	* window.c (Fset_window_configuration): Lisp_Object/int mixup.

	* keyboard.c (read_key_sequence): Be more careful with first_unbound.
	Lookup keys in function-key-map immediately so that key-translation-map
	can be applied earlier.
	Remove function_key_possible and key_translation_possible, replaced
	by checking `keytran_start < t'.

	* .gdbinit (xsymbol): Use the new `xname' field.

2002-06-17  Andrew Choi  <akochoi@shaw.ca>

	* macterm.c (XTread_socket): If Vmac_command_key_is_meta is nil,
	test Mac command key as <ALT> key.

	* mac.c (do_applescript): Call initialize_applescript if necessary
	when first called.  Dispose of result_desc only when there is no error.
	(Fdo_applescript): Use %d format specifier instead of %ld.

2002-06-16  Andrew Choi  <akochoi@shaw.ca>

	* macterm.c (XTread_socket): Call FrontNonFloatingWindow instead
	of FrontWindow for cases keyDown and autoKey.

	* fontset.c (syms_of_fontset) [MAC_OS]: Set ASCII font of
	Vdefault_fontset to Monaco with mac-roman coding.

	* mac.c, macfns.c, macmenu.c, macterm.c: Undefine and redefine
	init_process before and after inclusion of Carbon/Carbon.h, resp.

	* macterm.c (x_new_font): Set font for normal_gc, reverse_gc, and
	cursor_gc.
	(add_font_name_table_entry): New function.
	(init_font_name_table): Use add_font_name_table_entry; add italic,
	bold, and bold-italic entries for truetype fonts.

	* xfaces.c (init_frame_faces) [MAC_OS]: Call realize_basic_faces
	for Mac too.
	(try_font_list) [MAC_OS]: If no font matches given registry, try
	fonts with any registry matching face_family.
	(realize_x_face) [MAC_OS]: Remove old ad-hoc fix to load font here.

	* s/darwin.h: If autoconf detects the Ncurses library, define
	LIBS_TERMCAP to -lncurses to use it.

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

	* strftime.c [__hpux]: Include sys/_mbstate_t.h.

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

	* window.c (Fset_window_configuration): Explicitly preserve
	the point value that new_current_buffer had at the start.

2002-06-14  Juanma Barranquero  <lektu@terra.es>

	* composite.c (Fcompose_region_internal, Fcompose_string_internal):
	Fix typos.

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

	* insdel.c (insert_1_both, insert_from_string_1)
	(insert_from_buffer_1): Recalculate END_UNCHANGED in case the
	insert happened in the end_unchanged region.  Otherwise, the
	redisplay may be confused and duplicate the last line in the
	buffer [seen after save-buffer when require-final-newline==t].

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

	* w32.c (init_environment): Remove EMACSLOCKDIR.
	(stat): Swap _S_IFDIR and _S_IFREG.

2002-06-13  Pavel Jan,Am(Bk  <Pavel@Janik.cz>

	* keyboard.c, macterm.c, macmenu.c, msdos.c, sysdep.c
	* termhooks.h, xmenu.c, xsmfns.c, xterm.h, xterm.c, w32term.c,
	* w32menu.c, w32inevt.c: Rename enum event_kind as follows:
	ascii_keystroke to ASCII_KEYSTROKE_EVENT, multibyte_char_keystroke
	to MULTIBYTE_CHAR_KEYSTROKE_EVENT, non_ascii_keystroke to
	NON_ASCII_KEYSTROKE_EVENT, timer_event to TIMER_EVENT, mouse_click
	to MOUSE_CLICK_EVENT, mouse_wheel to MOUSE_WHEEL_EVENT,
	language_change_event to LANGUAGE_CHANGE_EVENT, scroll_bar_click
	to SCROLL_BAR_CLICK_EVENT, w32_scroll_bar_click to
	W32_SCROLL_BAR_CLICK_EVENT, selection_request_event to
	SELECTION_REQUEST_EVENT, selection_clear_event to
	SELECTION_CLEAR_EVENT, buffer_sw

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

	* region-cache.c (new_region_cache): Use BEG.

	* marker.c (buf_charpos_to_bytepos, buf_bytepos_to_charpos):
	Use BEG and BEG_BYTE.

	* doc.c (get_doc_string): Return nil if the location is wrong.
	(reread_doc_file): New fun.
	(Fdocumentation, Fdocumentation_property):
	Call it if get_doc_string fails.
	(Fsnarf_documentation): Make it work for a dumped Emacs.

	* charset.h (DEC_POS, BUF_DEC_POS): Use BEG_BYTE.
	Bound the search with MAX_MULTIBYTE_LENGTH to avoid pathological case.

	* charset.c (Fstring): Allow 0 arguments.

	* xterm.c (XTread_socket): Fix int/Lisp_Object confusion.

	* process.c (DATAGRAM_CONN_P, list_processes_1)
	(Fprocess_datagram_address, Fset_process_datagram_address)
	(Fset_network_process_options, server_accept_connection):
	Fix some int/Lisp_Object confusions (thank you union types).

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

	* msdos.c: Rename x_autoselect_window_p to autoselect_window_p.

	* w32term.c: Likewise.
	(note_mouse_movement): Put code for x_autoselect_window_p in #if 0.

	* keyboard.c (Qselect_window): New symbol.
	(head_table): Use it.
	(keys_of_keyboard): Bound select-window event to handle-select-window.
	(kbd_buffer_get_event): Make a Lisp event from SELECT_WINDOW_EVENT.

	* xterm.c: Rename x_autoselect_window_p to autoselect_window_p.
	(last_window): New variable.
	(XTread_socket): Generate SELECT_WINDOW_EVENTs.
	(note_mouse_movement): Remove reimplemented code in #if 0.
	(XTread_socket): Generate SELECT_WINDOW_EVENTs only for
	Emacs windows.

	* termhooks.h (enum event_kind): New event type `SELECT_WINDOW_EVENT'.

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

	* xterm.c (x_get_char_face_and_encoding): Add parameter DISPLAY_P.
	Callers changed.

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

	* window.c (window_scroll_pixel_based): Exit the move_it_by_lines
	loop whenever it stops making progress.

	* widget.c (set_frame_size): Don't call change_frame_size.

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

	* dispnew.c (direct_output_for_insert):
	Call mark_window_display_accurate.

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

	* w32term.c (w32_draw_relief_rect): Fix calculations of line lengths.

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

	* Makefile.in (lread.o): Depend on coding.h.

	* lread.c (openp, Fload): Encode the file name before passing it
	to `stat', `access', and `emacs_open'.
	(openp): GCPRO the encoded file name.  Don't recompute Lisp
	strings unnecessarily.

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

	* fns.c (Flax_plist_put): Doc fix.

2002-03-28  Miles Bader  <miles@gnu.org>

	* process.c (DATAGRAM_CONN_P): Make sure PROC is really a process.

2002-03-27  Pavel Jan,Am(Bk  <Pavel@Janik.cz>

	* process.c (set-network-process-options): Add usage.
	(make-network-process): Doc fix.

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

	* emacs.c (Fdump_emacs): Fix a typo in "command-line-processed".

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

	* fns.c (Fsubstring_no_properties): New function.
	(Flax_plist_get, Flax_plist_put): New functions.
	(syms_of_fns): defsubr them.

	* xdisp.c (update_menu_bar): Test only update_mode_lines;
	don't test or alter w->update_mode_line.

	* window.c (Fdisplay_buffer): Doc fix.

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

	* regex.c (GET_UNSIGNED_NUMBER): Give proper error for spaces.

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

	* eval.c (Qdeclare, Vmacro_declaration_function): New variables.
	(Fdefmacro): Handle `(declare ...)'.
	(syms_of_eval) <Qdeclare>: Initialize and staticpro.
	(syms_of_eval) <Vmacro_declaration_function>: DEFVAR_LISP.

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

	* w32fns.c (xbm_scan, xbm_load_image, xbm_read_bitmap_data)
	(xbm_file_p): Add prototypes.
	(xbm_format, xbm_image_p): Sync with xfns.c.
	(reflect_byte): New function.
	(xbm_read_bitmap_data): Sync with xfns.c, adapt for Windows.
	(xbm_load_image): Create bitmaps with a depth of 1.
	(init_xfns): Enable XBM images.

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

	* w32term.c (w32_handle_tool_bar_click): Detect up and down events
	correctly.  Do not pass up_modifier to keyboard buffer.

	* w32fns.c [HAVE_IMAGES, HAVE_PBM]: Remove conditionals.

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

	* Makefile.in (bootstrapclean): New target.
	(bootstrap-temacs, bootstrap-doc): Remove.
	(bootstrap-emacs): Use a bog-standard `temacs'.
	Don't bother to build a DOC file.

	* sysdep.c (wait_for_termination): Use sigsuspend rather than sigpause.

	* emacs.c (main): Handle --unibyte, --multibyte, and --no-loadup
	in temacs even if !CANNOT_DUMP.
	(standard_args): Keep --no-loadup even if !CANNOT_DUMP.

	* alloc.c (check_pure_size): Only output a warning.

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

	* w32fns.c (Fx_create_frame): Enable tool-bar when images are
	supported.

	* w32term.c (zv_bits): Declare as short, for word alignment.
	(w32_read_socket) <WM_XBUTTONUP>: Fix last change.
	(syms_of_w32term): Define x-use-underline-position-properties.

	* w32fns.c (x_set_cursor_color): Set cursor_gc as well.
	(clear_image_cache): Block input, fix logic, clear matrices in
	all frames that share this cache.

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

	* emacs.c (main): Update the Copyright year in the blurb printed
	by "emacs --version".

	* xdisp.c (message_with_string): Fix syntax of a call to GCPRO2.

	* xterm.c (XTread_socket): If XK_ISO_Lock and
	XK_ISO_Last_Group_Lock are defined, handle keysyms between
	XK_ISO_Lock and XK_ISO_Last_Group_Lock similarly to Mode_switch.

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

	* keyboard.c (menu_bar_items): Mostly undo 2002-02-20 patch, so
	menu-bar bindings in keymap and local-map properties _are_ used.
	But try keymap property first in accordance with 2002-01-03 patch.
	Added comment describing why this is not always reliable.
	(tool_bar_items): Ditto for tool-bar.

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

	* w32fns.c (x_clear_image_1): Disable color table code.

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

	* lisp.h (DEFUN) [USE_NONANSI_DEFUN]: The 2001-10-17 patch
	removed the wrong version of the DEFUN macro; fixed it.

	* fns.c (Ffeaturep): Allow subfeature to be a list (test using
	Fmember rather than Fmemq).
	(Fprovide): Check that subfeatures is a list.

	* process.c (QCfeature, QCdatagram): Removed variables.
	(QCtype, Qdatagram): New variables.
	(network_process_featurep): Removed function.
	(Fmake_network_process): Removed :feature check.
	Use :type 'datagram instead of :datagram t to create a datagram
	socket.  This allows us to add other connection types (e.g. raw
	sockets) later in a consistent manner.
	(init_process) [subprocess, HAVE_SOCKETS]: Provide list of
	supported subfeatures for feature make-network-process.
	(syms_of_process) [subprocess]: Remove QCfeature and QCdatagram.
	Intern and staticpro QCtype and Qdatagram.
	(syms_of_process) [!subprocess]: Intern and staticpro QCtype.

	* xfns.c: (QCtype): Remove duplicate declaration and
	initialization (is now declared in process.c).

	* w32fns.c: (QCtype): Remove duplicate declaration and
	initialization (is now declared in process.c).

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

	* regex.c (DISCARD_FAILURE_REG_OR_COUNT): New macro.
	(CHECK_INFINITE_LOOP): Use DISCARD_FAILURE_REG_OR_COUNT
	when jumping to `fail' to avoid undoing reg changes in the
	last iteration of the loop.
	(GET_UNSIGNED_NUMBER): Skip spaces around the number.

	* Makefile.in (dispnew.o, sysdep.o, xdisp.o, xselect.o, alloc.o):
	Depend on process.h.

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

	Most of the following changes are still conditional on HAVE_IMAGES
	which is not set by default on Windows.

	* emacs.c (main) [WINDOWSNT]: Call init_xfns.

	* w32fns.c (x_set_cursor_color): Set foreground of cursor, not frame.
	(Fimage_size, Fimage_mask_p, XPutPixel): New functions.
	(four_corners_best, x_clear_image_1, x_clear_image)
	(x_alloc_image_color, postprocess_image)
	(x_create_x_image_and_pixmap, x_destroy_x_image, xbm_load_image)
	(x_from_x_colors, x_disable_image, pbm_load): Adapt for Windows.
	(init_xfns, syms_of_w32fns): Initialize image functions and constants.

	* w32gui.h (struct XImage): Define.

	* w32term.c (w32_read_socket) <WM_XBUTTONUP>: Use XFASTINT to
	extract mouse co-ordinates.

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

	* w32.c (init_winsock): Dynamically load new server and UDP
	socket functions.
	(socket_to_fd): New function.
	(sys_socket): Use it.
	(sys_setsockopt, sys_listen, sys_getsockname, sys_accept)
	(sys_recvfrom, sys_sendto): New wrapper functions.

	* process.c (QCfamily, QCfilter): Remove duplicate declaration
	and initialization.

	* makefile.w32-in (LIBS): Remove $(WSOCK32).

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

	* process.c (conv_sockaddr_to_lisp, conv_lisp_to_sockaddr):
	Don't use "sun" as a variable, it's a predefined constant on Sun
	machines.

2002-03-20  Pavel Jan,Am(Bk  <Pavel@Janik.cz>

	* bytecode.c (Fbyte_code): Revert last change.

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

	* makefile.w32-in (LIBS): Add $(WSOCK32).
	From David Ponce <dponce@voila.fr>.

2002-03-18  Pavel Jan,Am(Bk  <Pavel@Janik.cz>

	* process.c (wait_reading_process_input): Move variables `pname'
	and `pnamelen' down where they are used.

	* bytecode.c (Fbyte_code): Discard unused computed value to
	prevent gcc warning.

	* lisp.h (Fplist_member): Add prototype.

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

	* config.in: Add HAVE_SENDTO, HAVE_RECVFROM, HAVE_SETSOCKOPT,
	HAVE_GETSOCKOPT, HAVE_GETPEERNAME, HAVE_GETSOCKNAME, and HAVE_SYS_UN_H.

	* process.c: Define HAVE_LOCAL_SOCKETS based on HAVE_SYS_UN_H.
	Remove explicit GNU_LINUX settings for datagram support.

2002-03-18  Pavel Jan,Am(Bk  <Pavel@Janik.cz>

	* process.c (Fmake_network_process): Remove unused variable `sa'.
	Doc fix.  Add usage:.
	(set_socket_options): Remove unused variables `optnum' and `opttype'.

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

	* xdisp.c (cursor_type_changed): New variable.
	(redisplay_internal): Redisplay all windows if cursor_type_changed.
	Clear it when clearing windows_or_buffers_changed.
	(try_cursor_movement, redisplay_window, try_window_id)
	(try_window_reusing_current_matrix): Test cursor_type_changed
	along with windows_or_buffers_changed.

	* window.h (cursor_type_changed): New variable.

	* xfns.c (x_set_cursor_type): Set cursor_type_changed,
	not update_mode_lines, and always set it to 1.

	* xdisp.c (clear_garbaged_frames): Don't set windows_or_buffers_changed
	if no frames needed redrawing.

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

	The following changes add support for network server processes,
	datagram connections, and local (unix) sockets.

	* process.h (struct Lisp_Process): New member log.
	Doc fix: Member command used to indicate stopped network process.
	Doc fix: Member childp contains plist for network process.
	Doc fix: Member kill_without_query is inverse of query-on-exit flag.

	* process.c (Qlocal, QCname, QCbuffer, QChost, QCservice, QCfamily)
	(QClocal, QCremote, QCserver, QCdatagram, QCnowait, QCnoquery,QCstop)
	(QCcoding, QCoptions, QCfilter, QCsentinel, QClog, QCfeature):
	New variables.
	(NETCONN1_P): New macro.
	(DATAGRAM_SOCKETS): New conditional symbol.
	(datagram_address): New array.
	(DATAGRAM_CONN_P, DATAGRAM_CHAN_P): New macros.
	(status_message): Use concat3.
	(Fprocess_status): Add `listen' status to doc string.  Return `stop'
	for a stopped network process.
	(Fset_process_buffer): Update contact plist for network process.
	(Fset_process_filter): Ditto.  Don't enable input for stopped
	network processes.  Server must listen, even if filter is t.
	(Fset_process_query_on_exit_flag, Fprocess_query_on_exit_flag):
	New functions.
	(Fprocess_kill_without_query): Removed.  Now defined in simple.el.
	(Fprocess_contact): Added KEY argument.  Handle datagrams.
	(list_processes_1): Optionally show only processes with the query
	on exit flag set.  Dynamically adjust column widths.  Omit tty
	column if not needed.  Report stopped network processes.
	Identify server and datagram network processes.
	(Flist_processes): New optional arg `query-only'.
	(conv_sockaddr_to_lisp, get_lisp_to_sockaddr_size)
	(conv_lisp_to_sockaddr, set_socket_options)
	(network_process_featurep, unwind_request_sigio): New helper functions.
	(Fprocess_datagram_address, Fset_process_datagram_address):
	(Fset_network_process_options): New lisp functions.
	(Fopen_network_stream): Removed.  Now defined in simple.el.
	(Fmake_network_process): New lisp function.  Code is based on previous
	Fopen_network_stream, but heavily reworked with new property list based
	argument list, support for datagrams, server processes, and local
	sockets in addition to old client-only functionality.
	(server_accept_connection): New function.
	(wait_reading_process_input): Use it to handle incoming connects.
	Do not enable input on a new connection if process is stopped.
	(read_process_output): Handle datagram sockets. Use 2k buffer for them.
	(send_process): Handle datagram sockets.
	(Fstop_process, Fcontinue_process): Apply to network processes.  A stopped
	network process is indicated by setting command field to t .
	(Fprocess_send_eof): No-op if datagram connection.
	(Fstatus_notify): Don't read input for a stream server socket or a
	stopped network process.
	(init_process): Initialize datagram_address array.
	(syms_of_process): Intern and staticpro new variables, defsubr new
	functions.

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

	* w32fns.c (w32_to_all_x_charsets): Return correct type in
	startup case.

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

	* xdisp.c (redisplay_internal, redisplay_windows):
	Use list_of_error to call internal_condition_case_1.
	(safe_eval, safe_call): Pass Qt to internal_condition_case_{1,2}
	so as to catch all errors with no possibility of debugger redisplay.
	(list_of_error): New variable.
	(syms_of_xdisp): Init and staticpro it.

	* print.c (print_object): Delete `\ ' from printed rep of frame.

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

	* msdos.c (dos_rawgetc): Disable the x-autoselect-window feature,
	until its implementation is fixed.

2002-03-14  Pavel Jan,Am(Bk  <Pavel@Janik.cz>

	* xfns.c (png_load): Remove unused variable `gamma_str'.

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

	* xfns.c (x_real_positions): Handle failure in XQueryTree.

2002-03-14  Miles Bader  <miles@gnu.org>

	* intervals.c (adjust_for_invis_intang): New function.
	(set_point_both): Use `adjust_for_invis_intang' to do most of the
	work for dealing with invisible+intangible regions.  Do so before
	and after both forward and backward movements, to handle both
	front-sticky and rear-sticky cases.
	* textprop.c (text_property_stickiness): Function moved here from
	`editfns.c'.
	* intervals.h (text_property_stickiness): New declaration.
	* editfns.c (char_property_eq): Function removed.
	(text_property_stickiness): Function moved to `textprop.c'.

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

	* config.in: Add STRFTIME_NO_POSIX2.

	* strftime.c (my_strftime) [STRFTIME_NO_POSIX2]: Handle %h, %EX
	and %OX when underlying strftime does not.

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

	* xterm.c (x_set_toolkit_scroll_bar_thumb) <USE_MOTIF>:
	Use a fixed-size thumb (based on an ad-hoc estimate of 30 chars per
	line) to avoid annoying flicker.
	(xm_scroll_callback): Get rid of the now unnecessary kludge.
	(XTread_socket): Mark it static.

	* xdisp.c (display_mode_element): Fix int/Lisp_Object mixup.

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

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

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

	* editfns.c (syms_of_editfns): Fix typo.

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

	* xsmfns.c: Include stdio.h because termhooks.h needs it.
	Include termopt.h for interrupt_input.

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

	* coding.c (syms_of_coding) <file-coding-system-alist>: Doc fix.

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

	* xterm.c (note_mouse_movement): Put code for
	x_autoselect_window_p in #if 0.

	* lread.c (Fload): Don't assume that message_with_string uses the
	string it is given like a C string.

2002-03-10  Jan Dj,Ad(Brv  <jan.h.d@swipnet.se>

	* xterm.h (x_session_check_input, x_sess

	* 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,Am(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,Am(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,Am(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,Am(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,Am(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,Am(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 Dj,Ad(Brv  <jan.h.d@swipnet.se>

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

2002-01-21  Jan Dj,Ad(Brv  <jan.h.d@swipnet.se>

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

2002-01-21  Pavel Jan,Am(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,Am(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,Am(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,Am(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,Am(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,Am(Bk  <Pavel@Janik.cz>

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

2002-01-14  Pavel Jan,Am(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 Dj,Ad(Brv  <jan.h.d@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.
	bindings along with or instead of the buffer local map.
	Make the overriding maps override what they should.

2001-11-01  Pavel Jan,Am(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-10-31  Eli Zaretskii  <eliz@is.elta.co.il>

	* s/hpux11.h: New file.

2001-10-31  Pavel Jan,Am(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,Am(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,Am(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,Am(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,Am(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,Am(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,Am(Bk  <Pavel@Janik.cz>

	* dispnew.c (sync_window_with_frame_matrix_rows): Remove unused
	variable `area'.

2001-10-25  Pavel Jan,Am(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,Am(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,Am(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,Am(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,Am(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,Am(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,Am(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.