(mh-recenter): Call recenter with arg `(4)'.
[bpt/emacs.git] / src / ChangeLog
index 3931c39..185cb03 100644 (file)
@@ -1,3 +1,353 @@
+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>