+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\e,Bm\e(Bk <Pavel@Janik.cz>
+
+ * dispnew.c (sync_window_with_frame_matrix_rows): Remove unused
+ variable `area'.
+
+2001-10-25 Pavel Jan\e,Bm\e(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\e,Bm\e(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\e,Bm\e(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\e,Bm\e(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\e,Bm\e(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\e,Bm\e(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\e,Bm\e(Bk <Pavel@Janik.cz>
* buffer.c: Reindent DEFUNs and DEFVARs with doc: keywords.
2001-10-20 Gerd Moellmann <gerd@gnu.org>
- * Version 21.1 released.
+ * (Version 21.1 released.)
2001-10-20 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>