2005-02-06 Richard M. Stallman * Version 21.4 released. 2003-03-18 Francesco Potort,Al(B * Version 21.3 released. 2003-03-08 Jan Dj,Ad(Brv * keyboard.c (cancel_hourglass_unwind): New function. (command_loop_1): Cancel hourglass with unwind-protect. * lread.c (read_filtered_event): Remove call to start_hourglass. 2003-03-07 Kenichi Handa * coding.c (CODING_ADD_COMPOSITION_COMPONENT): If the number of composition components reaches the limit, terminate composing. (COMPOSITION_OK): New macro. (detect_coding_iso2022): Use it if an escapse sequence for composition is found. (coding_restore_composition): Adjust the number of composition components if it is not sane. 2003-02-23 Jan Dj,Ad(Brv * process.c (emacs_get_tty_pgrp): New function. (Fprocess_running_child_p, process_send_signal): Call emacs_get_tty_pgrp instead of ioctl. (process_send_signal): Call EMACS_KILLPG if ioctl TIOCSIGSEND fails. 2003-02-19 Juanma Barranquero * s/hpux10.h (HPUX10): Define it just once. 2003-02-17 Klaus Zeitler * s/hpux10.h (POLL_INTERRUPTED_SYS_CALL): Defined. * s/hpux11.h: Include hpux10-20.h instead of hpux10.h. * s/hpux10-20.h: New file. * process.c (wait_reading_process_input): Make the 2 patches in wait_reading_process_input for HP-UX 10.10 from AlainF invalid for HP-UX 10.20 and higher. Nevertheless add the stop_polling call to AlainF's patch in wait_reading_process_input so that the code can work under 10.10. 2003-02-04 Juanma Barranquero * window.c (Fdisplay_buffer): Fix docstring. 2003-02-01 Jason Rumney * fileio.c (Fcopy_file) [WINDOWS_NT]: Reverse logic for setting timestamp. 2003-01-30 Harald Maier (tiny change) * w32heap.c: Don't redefine _heap_init and _heap_term on MSVC 7 build environments. 2003-01-24 Andreas Schwab * minibuf.c (Fminibuffer_message): Verify type of parameter. 2003-01-21 Richard Dawe (tiny change) * Makefile.in (ALL_CFLAGS): Include MYCPPFLAGS, not MYCPPFLAG. 2003-01-20 Kenichi Handa * editfns.c (Fformat): Update thissize from field_width based on the actual width, in the string case (back-porting of the 2002-01-02 change in HEAD). 2003-01-16 Kenichi Handa * regex.c (GET_CHAR_BEFORE_2): Fix for the case that the previous char is eight-bit-graphic. (re_search_2): Likewise. 2003-01-15 Kenichi Handa * xdisp.c (message_dolog): Fix bug of the case that *Message* buffer is unibyte. 2003-01-13 Francesco Potort,Al(B * fileio.c (Fdelete_directory, Fdelete_file): Document the behaviour in front of symlinks. (Fdelete_file): Raise an error on directories. (Fdo_auto_save): Add gcpros around Ffile_name_directory. 2003-01-10 Andreas Schwab * alloc.c (pure_alloc): Correct alignment for Lisp_Floats. Reported by Berthold Gunreben . 2002-12-09 Dave Love * s/sol2-8.h: Removed. (Not necessary.) 2002-12-08 Dave Love * m/ibms390.h: New file. * m/mips.h (WORDS_BIG_ENDIAN): Don't define if little endian. 2002-12-06 Francesco Potorti` * xfns.c (png_load): Avoid double gamma correction for PNG images. 2002-11-29 Dave Love * fns.c (Frequire): Don't call LOADHIST_ATTACH if feature was already provided. 2002-11-14 Francesco Potorti` * s/sol2-8.h: New file. 2002-11-08 Juanma Barranquero * dispextern.h [!HAVE_X_WINDOWS]: Define XColor. * w32fns.c: * xfaces.c: Remove definition of XColor. * w32term.c (w32_term_init): Pass XColor to w32_define_color, not COLORREF. 2002-11-08 Kenichi Handa * s/sol2-5.h (BROKEN_SIGIO): Turn off the #undef (back-porting of the 2002-11-05 change in HEAD). 2002-10-30 John Paul Wallington * xdisp.c (message_with_string): Error if STRING is not a string. 2002-10-25 Kenichi Handa * xfns.c (x_set_name): Encode by Qcompound_text unconditionally. (x_set_title): Likewise. 2002-10-23 Richard M. Stallman * w32fns.c (syms_of_w32fns ): Get rid of string token concatenation that doesn't work right. * process.c (wait_reading_process_input): Call stop_polling along with turn_on_atimers. * coding.c (run_pre_post_conversion_on_str): Save and restore Vdeactivate_mark. 2002-10-16 Richard M. Stallman * fileio.c (Fcopy_file): Fix backward test of KEEP_TIME. 2002-10-15 Eli Zaretskii * sysdep.c [MSDOS] (request_sigio, unrequest_sigio): Don't define them, they are defined in msdos.c. 2002-10-15 Dave Love * unexelf.c (unexec): Deal with .got on Irix 6.5. 2002-10-14 Juanma Barranquero * xselect.c (syms_of_xselect): Fix docstring for `selection-coding-system'. * w16select.c (syms_of_win16select): Likewise. * w32select.c (syms_of_w32select): Likewise. 2002-10-09 Jan Dj,Ad(Brv * xterm.c (XTread_socket): Pass ReparentNotify to Xt. The shell widget interprets ConfigureNotify differently depending on if it has been reparented or not. This fixes the bug that Motif-menus are misplaced under some windowmanagers (CDE an WindowMaker at least). 2002-10-08 Kenichi Handa * 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-01 Kenichi Handa * Makefile.in (lisp, shortlisp): Add utf-16.elc * xterm.c (x_encode_char): For DIM=1 charset, set ccl->reg[2] to -1 before calling ccl_driver. 2002-09-30 Francesco Potorti` * regex.h (__restrict_arr): Do not redefine it if already defined. 2002-09-29 Richard M. Stallman * xdisp.c (STOP_POLLING, RESUME_POLLING): New macros. (redisplay_internal): Use them. Do RESUME_POLLING at end of function. * keyboard.c (STOP_POLLING, RESUME_POLLING): New macros. (read_char): Use them. Do all exits thru the end of the function. 2002-09-06 Juanma Barranquero * coding.c (syms_of_coding): Fix spacing. * data.c (Flsh): Likewise. * fns.c (Fchar_table_subtype, Fdefine_hash_table_test): Likewise. * fontset.c (Fset_fontset_font): Likewise. * w16select.c (syms_of_win16select): Likewise. * w32select.c (syms_of_w32select): Likewise. * xselect.c (syms_of_xselect): Likewise. * composite.c (Fcompose_region_internal) (Fcompose_string_internal): Fix typo and spacing. 2001-09-02 Richard M. Stallman * indent.c (current_column_1, Fmove_to_column): Separate the code for display-table glyphs from the code for buffer text, to fix bugs in the former. 2002-08-30 Stefan Monnier * xdisp.c (get_next_display_element): Remove spurious extra open-paren. 2002-08-30 Kenichi Handa * xdisp.c (get_next_display_element): Fix previous change. 2002-08-29 Richard M. Stallman * sysdep.c [!VMS]: Include sys/file.h. (sys_signal): Test BROKEN_SA_RESTART. * s/hpux11.h (USG_SUBTTY_WORKS): Defined. (BROKEN_SA_RESTART): Defined. * process.c (create_process): Test USG_SUBTTY_WORKS. * emacs.c (decode_env_path): Don't add /: if file name handler has a `safe-magic' property. * s/sol2-5.h (BROKEN_SIGIO): Add #undef. 2002-08-27 Kenichi Handa * xdisp.c (get_next_display_element): In unibyte case, don't use octal form for such eight-bit characters that can be converted to multibyte char. 2002-08-26 Kim F. Storm * frame.c (make_terminal_frame) [CANNOT_DUMP]: Initialize foreground and background colors. From Joe Buehler (tiny change). 2002-08-20 Kenichi Handa * abbrev.c (Fexpand_abbrev): Fix for the multibyte case. 2002-08-19 Kenichi Handa * composite.c (run_composition_function): Call FUNC if it is fboundp. * composite.h (COMPOSITION_MODIFICATION_FUNC): If PROP is not a cons, return Qnil. 2002-08-18 Andreas Schwab * puresize.h (BASE_PURESIZE): Increase to 720000. 2002-08-15 Richard M. Stallman * Makefile.in (lisp): Add ucs-tables.elc. * s/hpux10.h (C_SWITCH_SYSTEM): #undef it. 2002-08-15 Stefan Monnier * coding.c (Ffind_operation_coding_system): Lisp_Object/int mixup. 2002-08-09 Gerd Moellmann * xdisp.c (forward_to_next_line_start): Return 0 when reaching the end of the buffer. 2002-08-08 Kenichi Handa * coding.c (Ffind_operation_coding_system): For write-region, if VISIT is a filename, make it the target. 2002-08-03 Gerd Moellmann * xdisp.c (forward_to_next_line_start): Fix a condition that lead to a newline being skipped. 2002-08-02 Henrik Enberg * lread.c (init_lread): Move the installed-lisp dirs later in the path. 2002-08-01 Richard M. Stallman * Makefile.in (SOME_MACHINE_OBJECTS): Add fontset.o. 2002-07-28 Eli Zaretskii * fileio.c (Fexpand_file_name) [DOS_NT]: Use the root directory of the current drive as the fallback for default_directory. * w32.c (emacs_root_dir): New function. * msdos.c (emacs_root_dir): New function. 2002-07-23 Kenichi Handa * xdisp.c (face_before_or_after_it_pos): Call FETCH_MULTIBYTE_CHAR with byte postion, not char position. 2002-07-22 Juanma Barranquero * fileio.c (file_name_as_directory): Use literal '/' instead of DIRECTORY_SEP. 2002-07-19 Juanma Barranquero * fileio.c (Ffile_name_as_directory): Fix argument name in docstring. 2002-07-12 Stefan Monnier * xterm.c (XTread_socket): Return a non_ascii_keystroke for unknown keysyms. 2002-07-09 Kenichi Handa * 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): Disable composition handling. * w32fns.c (w32_to_x_font): Disable composition handling. * w32select.c (Fw32_get_clipboard_data): Disable composition handling. * xselect.c (selection_data_to_lisp_data): Disable composition handling. * xterm.c (XTread_socket): Disable composition handling. 2002-07-06 Eli Zaretskii * xselect.c (syms_of_xselect): The default value of selection-coding-system is now compound-text-with-extensions. 2002-07-06 Richard M. Stallman * xterm.c (x_term_init): Turn off polling around XtOpenDisplay. 2002-07-02 Juanma Barranquero * keymap.c (syms_of_keymap): Fix typo. 2002-06-18 Kim F. Storm * 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-16 Eli Zaretskii * strftime.c: [__hpux]: Include sys/_mbstate_t.h. 2002-06-13 Stefan Monnier * xterm.c (XTread_socket): Always decode X*LookupString's output. 2002-06-05 Eli Zaretskii * window.c (Fset_window_hscroll): Doc fix. 2002-05-31 Gerd Moellmann * xterm.c (x_get_char_face_and_encoding): Add parameter DISPLAY_P. Callers changed. 2002-05-31 Eli Zaretskii * s/netbsd.h: Include /usr/pkg in the run time shared library path. 2002-05-25 Eli Zaretskii * emacs.c (main): Update copyright year. 2002-05-25 Eli Zaretskii * xdisp.c (display_mode_element): New argument RISKY; all callers changed. If non-zero, don't use values of variables which are not marked as risky-local-variables, and remove text properties from string values of such variables. 2002-05-13 Richard M. Stallman * search.c (search_buffer): Give up boyer moore search if inverse translation change charset_base. 2002-05-12 Eli Zaretskii * coding.c (decode_coding) : If a lone CR characters is carried over from the previous block of text, adjust coding->produced to account for the extra character. 2002-05-10 Jason Rumney * w32fns.c (enum_font_cb2): Don't use DBCS raster fonts. 2002-05-10 Eli Zaretskii * coding.c (encode_coding_sjis_big5): Enclose bitwise AND in parens, to ensure correct evaluation order. 2002-05-07 Eli Zaretskii * fileio.c (read_non_regular): Remove an extraneous call to Fsignal. 2002-05-06 Jason Rumney * w32bdf.c (w32_load_bdf_font): Set fonts_changed_p. 2002-05-03 Gerd Moellmann * indent.c (Fvertical_motion): Move to the start of the line containing PT before moving up or down. 2002-04-19 Eli Zaretskii * s/sol2-5.h (bcopy, bzero, bcmp): Define only if HAVE_BCOPY is not defined. 2002-04-17 Jason Rumney * w32fns.c (Fx_file_dialog): Decode file name before using. * w32term.c (construct_drag_n_drop): Likewise. 2002-04-16 Gerd Moellmann * buffer.c (MMAP_ALLOCATED_P): New macro to be set from system configuration files. (mmap_enlarge): Enlarge mapped regions only if MMAP_ALLOCATED_P returns 0. 2002-04-13 Eli Zaretskii * unexelf.c (unexec) [__sgi]: Undo the change from 2002-01-20. 2002-04-12 Gerd Moellmann * xdisp.c (sync_frame_with_window_matrix_rows): Don't give frame rows marginal areas. (Fdump_frame_glyph_matrix) [GLYPH_DEBUG]: New function. (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it. 2002-04-01 Stefan Monnier * xterm.c (x_set_toolkit_scroll_bar_thumb) : 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. 2002-03-31 Gerd Moellmann * dispnew.c (direct_output_for_insert): Call mark_window_display_accurate. 2002-03-16 Eli Zaretskii * Version 21.2 released. 2002-03-15 Stefan Monnier * xterm.c (x_set_toolkit_scroll_bar_thumb, xm_scroll_callback) (XTread_socket): Undo last change: too late for this release. 2002-03-13 Stefan Monnier * xterm.c (x_set_toolkit_scroll_bar_thumb) : 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. 2002-03-12 Juanma Barranquero * editfns.c (syms_of_editfns): Fix typo. 2002-03-09 Jason Rumney * fileio.c (Fcopy_file) [WINDOWS_NT]: Ensure file is not read-only when setting modified time. 2002-03-08 Juanma Barranquero * w32fns.c (Fx_display_color_cells): Force 24+ bit color depths to 24-bit. 2002-03-08 Gerd Moellmann * xdisp.c (move_it_vertically_backward): At the end of the function, when moving forward by lines, treat terminal frames specially. 2002-02-23 Eli Zaretskii * coding.h (run_pre_post_conversion_on_str): Add prototype. * xselect.c (selection_data_to_lisp_data): Fix last change. 2002-02-22 Eli Zaretskii * puresize.h (BASE_PURESIZE): Increase to 710000. 2002-02-22 Eli Zaretskii Support for ICCCM Extended Segments in X selections: * xselect.c : New variable. (syms_of_xselect): Intern and staticpro it. (selection_data_to_lisp_data): Run post-read-conversion on decoded selection text. (lisp_data_to_selection_data): If next-selection-coding-system is compound-text-with-extensions, set the type of selection to be compound-text. * xterm.h (x_encode_text): Update prototype. * xfns.c (x_encode_text): Accept additional arg SELECTIONP; all callers changed. If SELECTIONP is non-zero, run the pre-write-conversion function before encoding the selection text. 2002-02-20 Pavel Jan,Bm(Bk * xfns.c (gif_load): Use correct width and height for GIF images. 2002-02-18 Jason Rumney * w32term.c (glyph_rect): Determine the row and glyph more precisely. 2002-02-11 Jason Rumney * w32term.c (show_mouse_face): Fix bug setting a row's mouse_face_p flag unconditionally. (x_scroll_run): Revert to BitBlt. 2002-02-09 Jason Rumney * w32fns.c (enum_font_cb2): Don't let charsets unknown to Windows match each other. (w32_load_system_font): Prevent Cleartype fonts from loading. 2002-02-08 Eli Zaretskii * floatfns.c (Fround): Doc fix. 2002-02-07 Stefan Monnier * lisp.h (Fx_file_dialog): Export (for Motif code in fileio.c). 2002-02-06 Jason Rumney * w32term.c (w32_native_per_char_metric): Disable 2002-01-20 change. 2002-02-06 Eli Zaretskii * charset.c (get_charset_id): Use if-else instead of ?:. 2001-02-06 Richard M. Stallman * coding.c (code_convert_region): Update coding->cmp_data->char_offset before calling decode_coding. * charset.c (Fdefine_charset): Call Fupdate_coding_systems_internal. 2002-02-05 Stefan Monnier * keymap.c (current_minor_maps): `override' only shadows its correspondent in minor-mode-map-alist, not the whole tail. 2002-02-02 Richard M. Stallman * window.c (enlarge_window): Fix last change. 2002-02-01 Kim F. Storm * 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-02-01 Eli Zaretskii * coding.c (decode_composition_emacs_mule): Give up if NCOMPONENT gets too large to index `component'. 2002-01-28 Richard M. Stallman * 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 Jason Rumney * w32term.c (note_mouse_highlight): Reset help_echo. 2002-01-24 Jason Rumney * 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) : Initialize update_rect. Combine the regions returned by BeginPaint and GetUpdateRect. 2002-01-20 Eli Zaretskii * unexelf.c (unexec) [__sgi]: Support the .got sections. 2002-01-20 Jason Rumney * 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): Exclude vertical fonts. (w32_enable_synthesized_fonts): Change to a boolean. (Fw32_send_sys_command): Doc fix. 2002-01-19 Jason Rumney * w32fns.c (Fx_create_frame): Bind redisplay-dont-pause around call to face-set-after-frame-default. 2002-01-17 Richard M. Stallman * window.c (enlarge_window): When exceeding size of parent, directly delete all the siblings instead of trying to resize it. 2002-01-15 Eli Zaretskii * xdisp.c (display_mode_element): When computing charpos, depend on multibyteness of elt, not the text in field. 2002-01-14 Andreas Schwab * unexelf.c [!defined MAP_ANON]: Define MAP_ANON to MAP_ANONYMOUS if defined, 0 otherwise. (MAP_FAILED): Define if not defined and use it to test mmap failure. (unexec) [!MAP_ANON]: Use /dev/zero as file to map. 2002-01-14 Pavel Jan,Bm(Bk * sound.c (Fplay_sound): Initialize header_size also for :data case. 2002-01-13 Andreas Schwab * xterm.c (x_load_font): Never set fonts_changed_p to zero. 2002-01-07 Eli Zaretskii * process.c (send_process): Set src_multibyte to 1 after the call top setup_coding_system, not before the call. 2002-01-05 Jason Rumney * w32term.c (x_draw_glyphs): Don't call notice_overwritten_cursor if OVERLAPS_P. 2001-12-30 Richard M. Stallman * s/sco5.h (sigprocmask_set): Conditionalize decl on ! NOT_C_CODE. 2001-12-30 Eli Zaretskii * s/sco5.h (sigprocmask_set): Declare as extern SIGMASKTYPE. (SIGMASKTYPE): Define. * syssignal.h (sigunblock): Don't define if already defined. 2001-12-29 Richard M. Stallman * s/sco5.h (LIBX11_SYSTEM) [MOTIF]: Add -lgen. 2001-12-28 Gerd Moellmann * xdisp.c (try_scrolling) : Add the height of the cursor line to the amount to scroll. 2001-12-21 Eli Zaretskii * coding.c (DECODE_COMPOSITION_END): Fix last change. 2001-12-17 Richard M. Stallman * coding.c (DECODE_COMPOSITION_END): Check for ! COMPOSING (coding) instead of only for COMPOSITION_DISABLED. * Makefile.in (xmenu.o, xterm.o, fontset.o): Depend on buffer.h. 2001-12-12 Gerd Moellmann * xdisp.c (move_it_vertically_backward): Change heuristic for the case that we didn't move far enough initially. * window.c (Frecenter): Simplify computation in the case of window system frames and ARG < 0; use window_box_height. 2001-12-09 Eli Zaretskii * s/hpux10.h (random): Undefine. (srand48): Don't undefine. 2001-12-09 Andreas Schwab * xdisp.c (display_mode_element): Don't read past end of string if it ends with '%'. 2001-12-06 Eli Zaretskii * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]: Remove all the scroll bars of the frame before deleting the frame itself. 2001-12-05 Eli Zaretskii * s/sol2-5.h (HAVE_VFORK): Define if undefined. 2001-11-29 Dave Love * coding.c (syms_of_coding) : Give it an extra extra slot. 2001-11-28 Gerd Moellmann * xterm.c (x_draw_glyphs): Don't call notice_overwritten_cursor if OVERLAPS_P. 2001-11-25 Richard M. Stallman * unexelf.c (unexec): Index by n, not nn, when checking for ".sbss". 2001-11-25 Richard M. Stallman * callproc.c (Fcall_process): When we make a bigger buffer for bufptr, don't lose the data in it. 2001-11-25 Eli Zaretskii * window.c (Fset_window_vscroll): Doc fix. From Kalle Olavi Niemitalo . 2001-11-23 Eli Zaretskii * msdos.c (IT_clear_screen): If the frame's faces are not yet realized, use the initial screen colors to clear the screen. 2001-11-19 Richard M. Stallman * sysdep.c (child_setup_tty): Don't clear ICRNL or INLCR. 2001-11-18 Jason Rumney * w32term.c (x_draw_bar_cursor): Get glyph's face. (note_mouse_highlight): Fix type of variable `ignore'. 2001-11-17 Andreas Schwab * xterm.c (note_mouse_highlight): Fix type of variable `ignore'. 2001-11-17 Jason Rumney * xterm.c (notice_overwritten_cursor): Take care of end < 0 case. * w32fns.c (x_set_internal_border_width): Set frame garbaged when X window doesn't exist yet. * w32term.c (x_draw_bar_cursor): If the background color of the glyph under the cursor equals the frame's cursor color, use the glyph's foreground color for drawing the bar cursor. (x_after_update_window_line): Clear internal border in different circumstances. (w32_set_vertical_scroll_bar): Check for width and height > 0. (w32_draw_relief_rect): Correct relief by 1 pixel. (x_set_glyph_string_background_width): Set extends_to_end_of_line_p if the row's fill_line_p is set and drawing the last glyph with DRAW_IMAGE_{RAISED,SUNKEN}. (x_display_and_set_cursor): If cursor_in_echo_area, use NO_CURSOR if cursor_in_non_selected_windows is false. (show_mouse_face): Clean up. Recognize overwritten cursor differently. (x_draw_glyphs): Remove parameters READ_START and REAL_END. Notice if cursor gets overwritten. (notice_overwritten_cursor): Renamed from note_overwritten_text_cursor. Rewritten to take glyph widths into account, and to take X positions as parameters. (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p around call to x_draw_glyphs. 2001-11-17 Gerd Moellmann * xdisp.c (tool_bar_item_info): Avoid calling Fget_text_property with invalid position. 2001-11-16 Eli Zaretskii * syswait.h (HAVE_SYS_WAIT_H): Undef for ISC 4.1. Reported by Andrew Wiseman . * unexec.c (coff.h): Don't include on ISC 4.1. 2001-11-15 Jason Rumney * w32menu.c (add_menu_item): Make help_echo and radio buttons work for most menu items. From David Ponce . 2001-11-15 Gerd Moellmann * xterm.c (x_draw_bar_cursor): If the background color of the glyph under the cursor equals the frame's cursor color, use the glyph's foreground color for drawing the bar cursor. * dispnew.c (direct_output_forward_char): Fix character/byte position comparison. 2001-11-12 Jason Rumney * w32fns.c (Fx_open_connection): Only execute once. 2001-11-12 Richard M. Stallman * xterm.c (XTread_socket): Don't update focus for EnterNotify or LeaveNotify events. Only FocusIn and FocusOut do that now. (x_display_and_set_cursor): Do display hollow cursors in active minibuffer windows when they are not selected. 2001-11-10 Jason Rumney * w32fns.c (Fx_file_dialog): Pass a filter to GetOpenFileName. (enum_font_cb2): Ignore fonts starting with @, unless explicitly specified. * 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 (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. (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_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. (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. * w32fns.c (x_set_foreground_color): Set frame's cursor_pixel. (x_set_font): Handle case of x_new_fontset returning the same name as before, although there was a change in fontsets. * 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. 2001-11-10 Gerd Moellmann * unexelf.c (unexec): Use mmap/munmap to allocate buffers instead of malloc/free. 2001-11-05 Richard M. Stallman * m/news-risc.h (BROKEN_PROTOTYPES): Defined. * buffer.c (Fkill_buffer): Don't delete auto save file if buffer is modified. 2001-11-05 Andreas Schwab * sound.c (sound_perror): Save errno from being clobbered. 2001-11-05 Dale Hagglund * unexelf.c (unexec): Don't use `mmap'. Instead, read and write the program image directly. 2001-11-04 Richard M. Stallman * gmalloc.c: Test BROKEN_PROTOTYPES. * xfns.c: Include unistd.h, if it exists. * editfns.c: Move the include of ctype.h after unistd.h. 2001-11-03 Richard M. Stallman * data.c (Fmake_local_variable): Doc fix. * eval.c (Frun_hooks, Frun_hook_with_args_until_failure): Doc fix. (Frun_hook_with_args_until_success, Frun_hook_with_args): Doc fix. 2001-11-02 Stefan Monnier * regex.c (regcomp, regexec): Don't forget the __restrict. 2001-11-01 Gerd Moellmann * xterm.c (x_scroll_bar_create): Check for width and height > 0. (XTset_vertical_scroll_bar): Likewise. * buffer.c (Fset_buffer_major_mode): Use initial-major-mode for *scratch*. * xfaces.c (Finternal_set_lisp_face_attribute_from_resource): Handle :box so that it is possible to specify sexprs. 2001-10-31 Eli Zaretskii * s/hpux11.h: New file. 2001-10-31 Gerd Moellmann * 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) : New member. * window.c (grow_mini_window): Handle case that the root window is already smaller than the nominal mininum height. 2001-10-31 Pavel Jan,Bm(Bk * keyboard.c (Freset_this_command_lengths): Doc fix. (timer-list): Doc fix. (timer-idle-list): Doc fix. (disable-point-adjustment): Doc fix. 2001-10-30 Jason Rumney * w32fns.c (w32_to_x_charset): Increase size of XLFD charset buffer. (enum_font_cb2): Ignore fonts with vertical orientation. 2001-10-30 Gerd Moellmann * 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) : 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. * 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 Eli Zaretskii * 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 Gerd Moellmann * 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. 2001-10-29 Eli Zaretskii * emacs.c (Finvocation_directory): Doc fix. (USAGE2): Fix typos; from Pavel Janik . 2001-10-29 Gerd Moellmann * 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) : Don't use STRING_CHAR_AND_LENGTH if nchars == nbytes. From Kenichi Handa . 2001-10-28 Gerd Moellmann * 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-27 Gerd Moellmann * 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 * dispnew.c (syms_of_display) : Add a reference to ring-bell-function. Suggested by Alf-Ivar Holm 2001-10-26 Gerd Moellmann * 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. * xfns.c (XScreenNumberOfScreen): Fix struct to pointer comparison. 2001-10-25 Eli Zaretskii * frame.c (Fframe_parameter): Fix last change. 2001-10-25 Gerd Moellmann * 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-24 Gerd Moellmann * 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. * 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 (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-23 Gerd Moellmann * 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): Raise to 50. * 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. * xdisp.c (display_line): For a tab continued to the next line, set row's ends_in_middle_of_char_p. 2001-10-23 Andreas Schwab * m/macppc.h [LINUX]: Undef LD_SWITCH_SYSTEM_TEMACS and override LD_SWITCH_MACHINE_TEMACS with "-Xlinker -znocombreloc". 2001-10-22 Gerd Moellmann * xdisp.c (display_line): Fix computation of continuation lines width for TABs. 2001-10-20 Gerd Moellmann * Version 21.1 released. 2001-10-19 Richard M. Stallman * eval.c (syms_of_eval): Doc fixes. 2001-10-19 Miles Bader * cmds.c (Fbeginning_of_line, Fend_of_line): Clarify interaction with fields and suggest using `forward-line' to avoid them. * editfns.c (Fline_beginning_position, Fline_end_position): Clarify documentation. 2001-10-19 Gerd Moellmann * xdisp.c (redisplay_internal): Don't clear echo area if the mini-window is selected. 2001-10-18 Ken Raeburn * config.in (HAVE_LIBHESIOD, HAVE_LIBK5CRYPTO): Undef these. 2001-10-18 Andrew Innes * fontset.c (fs_load_font) [WINDOWSNT && _MSC_VER]: Disable optimization. The fontp->encoding array was not being initialized correctly when compiled with optimizations by MSVC. * fontset.h (struct font_info) [WINDOWSNT]: Add codepage field. * w32fns.c (w32_load_system_font): Cache codepage in font_info. * w32term.c (w32_encode_char): Get cached codepage from font_info, rather than working it out by calling w32_codepage_for_font for every glyph. 2001-10-18 Gerd Moellmann * xdisp.c (display_line): Indicate empty lines in active mini-window. 2001-10-17 Andrew Innes * w32term.c (w32_read_socket): Determine clipping rectangle for the entire frame, including areas covered by scrollbars and the menubar. This avoids internal arguments about whether a frame is fully obscured or not. 2001-10-17 Gerd Moellmann * xdisp.c (try_window_id): Undo last change. Give up if window ends in strings. * xdisp.c (try_window_id): Don't display lines after the window end if the rest of the window after the window end was already blank. * xdisp.c (display_line): Don't indicate empty lines in mini-windows. 2001-10-15 Pavel Jan,Bm(Bk * editfns.c (Fchar_to_string): Make the doc string consistent with arguments. 2001-10-15 Gerd Moellmann * window.c (select_window_1): Unfreeze window start. Remove a doubled test for WINDOW being live. * xterm.c (x_draw_glyph_string): Restore clipping after drawing box. 2001-10-12 Gerd Moellmann * xterm.c (notice_overwritten_cursor): Renamed from note_overwritten_text_cursor. Rewritten to take glyph widths into account. 2001-10-10 Gerd Moellmann * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Add `-nointrinsics' options. From Dave Love . 2001-10-08 Eli Zaretskii * Makefile.in (lisp, shortlisp): Replace bindings.el with bindings.elc, since otherwise doc strings in bindings.el get wrong offsets in etc/DOC. 2001-10-08 Gerd Moellmann * sysdep.c (child_setup_tty) [HAVE_TERMIO || HAVE_TERMIOS]: Clear ICRNL and INLCR. From Daiki Ueno . 2001-10-04 Andrew Innes * w32fns.c (x_to_w32_color): Fix argument to alloca. (w32_load_system_font): Don't believe what GetLanguageFontInfo says; query codepage info directly to determine if font is double byte. (x_to_w32_charset): Handle private format for unknown charsets. Handle wildcards in charset spec, by ignoring them. (w32_codepage_for_font): Fix argument to alloca. Don't remove "*-" prefix from charset. (x_to_w32_font): Enlarge remainder array for safety. Specifically handle the truncated font spec form constructed by font_list_1, so that we correctly identify the charset fields. Don't remove "*-" prefix from charset. (w32_list_synthesized_fonts): Fix argument to alloca. 2001-10-03 Miles Bader * callproc.c (syms_of_callproc): Explicitly state in the documentation for `process-environment' that earlier entries take precedence over later ones. 2001-10-02 Miles Bader * textprop.c (Fnext_char_property_change) (Fprevious_char_property_change): Remove reference to non-existant argument OBJECT from doc-string. 2001-10-01 Gerd Moellmann * xdisp.c (display_line): Set row's ends_in_newline_from_string_p. (try_window_id): Skip back over lines ending in a newline from a string. * dispextern.h (struct glyph_row) : New bit flag 2001-10-01 Richard M. Stallman * search.c (Freplace_match): Doc fix. 2001-09-28 Andrew Innes * w32menu.c (set_frame_menubar): Take into account that f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn . 2001-09-30 Eli Zaretskii * frame.c (syms_of_frame) : Doc fix. 2001-09-28 Pavel Jan,Bm(Bk * s/gnu-linux.h: Fix a typo in comment. 2001-09-28 Andreas Schwab * s/gnu-linux.h (LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z nocombreloc, in case -z combreloc is the default. 2001-09-28 Gerd Moellmann * m/macppc.h [DATA_SEG_BITS]: Put in #if 0 until we know what's really going on here. 2001-09-27 Stefan Monnier * search.c (trivial_regexp_p): Catch \{N,M\} as well. 2001-09-27 Eli Zaretskii * Makefile.in (shortlisp): Resync with loadup.el: add backquote, utf-8, menu-bar, and latin-N. (SOME_MACHINE_LISP): Remove menu-bar, since it's loaded unconditionally now. (lisp): Add latin-N, since they are preloaded. 2001-09-27 Gerd Moellmann * xterm.c (x_draw_relief_rect): Draw bottom relief 1 pixel more to the left. Some cleanup. * xdisp.c (display_mode_element): One more case where a string's multibyteness should be used for display. 2001-09-26 Gerd Moellmann * fileio.c (Finsert_file_contents): If REPLACE is non-nil, stop reading at EOF. * xdisp.c (with_echo_area_buffer): Use echo_kboard instead of the only temporarily set echoing flag for deciding when the cancel echoing. * keyboard.c (echo_kboard): Make externally visible. * lisp.h (echo_kboard): Declare extern. * xdisp.c (make_cursor_line_fully_visible): Return 0 and set fonts_changed_p if we need larger matrices due to vscrolling. (try_scrolling, try_cursor_movement, redisplay_window): Give up on this round of redisplay if make_cursor_line_fully_visible fails. (CURSOR_MOVEMENT_*, SCROLLING_*): New enumerators. (try_cursor_movement, try_scrolling): Use them instead of integers. * dispextern.h (required_matrix_width, required_matrix_height): Add prototypes. * dispnew.c (required_matrix_width, required_matrix_height): New functions. (allocate_matrices_for_window_redisplay) (allocate_matrices_for_frame_redisplay: Use them. Remove parameters CH_DIM. * xdisp.c (display_mode_lines): Temporarily set selected_frame and selected_window to the frame of the window whose mode-lines are displayed, and to the window itself. (redisplay_window, redisplay_mode_lines): Don't set selected_frame here. 2001-09-25 Gerd Moellmann * xfns.c (x_kill_gs_process): Recognize if someone has cleared the image cache under us. * xdisp.c (display_mode_element): If the mode element is a symbol with a string value, use that string's multibyteness for displaying. * keyboard.c (read_char): Don't clear a message for a switch-frame event. From Stefan Monnier . * xterm.c (fast_find_position) [0]: Add a presumably more correct version for after 21.1. * xdisp.c (row_containing_pos): Make externally visible. * dispextern.h (row_containing_pos): Add prototype. * process.c (send_process): Disable composition if from_byte < 0. From Kenichi Handa . 2001-09-24 Gerd Moellmann * xterm.c (refreshicon): Function removed. * Makefile.in (xterm.o): Remove references to sink.h and sinkmask.h. * sink11.h, sink11mask.h, sink.h, sinkmask.h: Removed. * xterm.c (toplevel): Remove includes in #if 0. * process.c (sigchld_handler) [LINUX]: Don't return from the signal handler at the end of the loop. 2001-09-21 Gerd Moellmann * sysdep.c (wait_for_termination) [POSIX_SIGNALS]: Terminate only if kill returns -1, and errno is ESRCH. 2001-09-21 Markus Rost * Makefile.in (shortlisp): Add ../lisp/env.elc. 2001-09-20 Gerd Moellmann * process.c (sigchld_handler): Use GC_CONSP, GC_INTEGERP, GC_EQ since this function can be called during GC. * callproc.c (Fcall_process): Handle errors from pipe(2). (child_setup): Delete code in #ifdef vipc. 2001-09-19 Gerd Moellmann * xdisp.c (decode_mode_spec): Add parameter MULTIBYTE. (display_mode_element): Display the string from decode_mode_spec depending on its multibyteness. * s/netbsd.h (LD_SWITCH_SYSTEM, C_SWITCH_SYSTEM): Add /usr/pkg. * m/macppc.h (DATA_SEG_BITS): Also define for GCC 3. 2001-09-18 Gerd Moellmann * keyboard.c (Frecursive_edit): Pass (BUFFER . SINGLE-KBOARD) to recursive_edit_unwind. (recursive_edit_unwind): Set kboard state according to SINGLE-KBOARD. * buffer.c (modify_overlay): Don't do nothing if START == END; This can still be a modification, for example when an overlay has a before-string or after-string. (Fdelete_overlay): Prevent redisplay optimizations when deleting an overlay with before-string or after-string. * s/netbsd.h (C_SWITCH_SYSTEM): Add. (LD_SWITCH_SYSTEM): Include /usr/local/lib. * xdisp.c (try_window_id) [!GLYPH_DEBUG]: Give up if first_unchanged_at_end_row is in front of last_unchanged_at_beg_row. This code should be removed after the release of 21.1. 2001-09-17 Gerd Moellmann * buffer.h (BUF_COMPUTE_UNCHANGED): Use BUF_MODIFF and BUF_OVERLAY_MODIFF instead of MODIFF and OVERLAY_MODIFF. * m/macppc.h (DATA_SEG_BITS) [__linux__]: Define for GCC versions >= 2.95. 2001-09-14 Eli Zaretskii * dired.c (Ffile_attributes): Doc fix. 2001-09-14 Gerd Moellmann * fileio.c (Ffile_symlink_p): Fix last change. * filelock.c (current_lock_owner): Fix last change. 2001-09-13 Gerd Moellmann * filelock.c (current_lock_owner): If readlink returns ERANGE, take that to mean that the buffer is too small. * fileio.c (Ffile_symlink_p): If readlink returns ERANGE, take that to mean that the buffer is too small. * xdisp.c (reseat_1): Set IT's multibyte_p flag according to the current buffer's multibyteness when discarding the iterator's stack. * xfns.c (Fx_window_property): Handle case that property gets deleted between the two calls to XGetWindowProperty. 2001-09-11 Gerd Moellmann * minibuf.c (read_minibuf_unwind): Bind inhibit-modification-hooks. * minibuf.c (read_minibuf): Bind inhibit-modification-hooks to t, in addition to read-only. * xdisp.c (with_echo_area_buffer): Bind inhibit-modification-hooks to t in addition to read-only. * lisp.h (Qinhibit_modification_hooks): Declare. * insdel.c (Qinhibit_modification_hooks): New variable. (syms_of_insdel): Initialize and staticpro it. * textprop.c (verify_interval_modification): Don't run modification-hooks if inhibit_modification_hooks. * dispnew.c (set_window_cursor_after_update): Fix code finding glyph row containing cursor when cursor_in_echo_area is >= 0. * xdisp.c (init_from_display_pos): Put some code in #if 0. (add_to_log): Use bcopy instead of strcpy. (init_from_display_pos): Use an explicit loop over bytes in overlay strings instead of calling index. 2001-09-10 Gerd Moellmann * alloc.c (allocate_buffer): Call VALIDATE_LISP_STORAGE. * dispnew.c (direct_output_for_insert): Don't change IT's stop_charpos to something in front of its current position. * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: Take args like `format'. 2001-09-10 Richard M. Stallman * frame.c (Fmouse_position): Doc fix. 2001-09-07 Gerd Moellmann * xdisp.c (init_from_display_pos): Don't compare the result of calling index with NULL. 2001-09-06 Gerd Moellmann * xfns.c (x_set_background_color): Don't change the colors of the X window of scroll bar widgets. 2001-09-05 Andrew Innes * w32fns.c (w32_createwindow): Undo last change. 2001-09-05 Gerd Moellmann * macros.c (store_kbd_macro_char): Fix computation of kbd_macro_end. * xdisp.c (string_buffer_position): Use *single_char_property* functions instead of the *single_property* functions. 2001-09-04 Andrew Innes * w32term.c (w32_read_socket): Add more information to debugging output. * w32fns.c (w32_createwindow): Remove the WS_CLIPCHILDREN style from Emacs frames, so that calls to GetClipBox in w32term.c correctly report when part of a frame is visible (including scrollbars, etc). This prevents repeated redrawing of frames when only a scrollbar is visible. (w32_wnd_proc): Add more frame information to debugging output. 2001-09-03 Stefan Monnier * xdisp.c (handle_single_display_prop): Fix for int/Lisp_Object mixup. 2001-09-03 Gerd Moellmann * xterm.c (note_mouse_highlight) : When looking for help-echo for a string which doesn't have help-echo itself, use get-char-property to obtain the help-echo from the string's buffer (note_mouse_highlight) : When on a string that doesn't have mouse-face, look ``under'' the string for mouse-face from an overlay. (fast_find_position): Add parameter STOP. In the final row, stop before glyphs having STOP as object. Don't consider glyphs that are not from a buffer. * buffer.c (syms_of_buffer) : Doc fix. 2001-09-01 Eli Zaretskii * fns.c (Fmd5): Doc fix. 2001-08-31 Gerd Moellmann * composite.c (update_compositions): Do nothing if inhibit-modification-hooks is set. 2001-08-30 Gerd Moellmann * emacs.c (shut_down_emacs): Don't call check_glyph_memory and check_message_stack if terminating abnormally. We want glyph matrices etc. in a core dump. * xdisp.c (Qbuffer_position, Qposition, Qobject): New variables. (syms_of_xdisp): Initialize them. (handle_single_display_prop): Don't change point, bind `object', `position', and `buffer-position' instead to the object having the `display' property, position in the object and position in the buffer. * fileio.c (Finsert_file_contents): Don't change the multibyteness of the buffer if REPLACE is non-nil. 2001-08-29 Gerd Moellmann * fileio.c (Finsert_file_contents): Undo change of 2001-08-27. 2001-08-28 Eli Zaretskii * w32term.c (x_set_glyph_string_background_width) (show_mouse_face): Track the last changes in xterm.c. 2001-08-28 Gerd Moellmann * xterm.c (x_set_glyph_string_background_width): Set the glyph string's background width so that multi-line mouse-face is drawn to the right edge of the window. (show_mouse_face): Set the row's mouse_face_p flag after drawing glyphs. * dispnew.c (direct_output_for_insert): Set updated_area before inserting/writing glyphs. * xdisp.c (display_mode_element): Use string_byte_to_char to determine character positions in strings, use chars_in_text instead of strwidth. (dump_glyph_row) [GLYPH_DEBUG]: Take a glyph row instead of a matrix as parameter; this is easier to use from GDB. 2001-08-28 Miles Bader * textprop.c (Fprevious_single_char_property_change) (Fnext_single_char_property_change): Doc fixes. 2001-08-27 Gerd Moellmann * fileio.c (Finsert_file_contents): Allocate, restore, and free composition data in the case of REPLACE not being nil. * xdisp.c (init_from_display_pos, init_to_row_end): Return 0 if there exist overlay strings with newlines at POS. (text_outside_line_unchanged_p): Return 0 if changes start at START and overlays exist at START. Likewise for END. (try_window_id): Give up if init_to_row_end returns 0. * fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte unconditionally. 2001-08-24 Gerd Moellmann * keymap.c (access_keymap): Return the cdr of the binding of a generic character instead of its definition (KEY . BINDING). * fileio.c (Finsert_file_contents): Set coding's dest_multibyte to 0 also in the REPLACE case. 2001-08-24 Andrew Choi * fileio.c (Ffile_readable_p) [macintosh]: Call access instead of open to determine whether file is readable (as for DOS_NT). 2001-08-23 Gerd Moellmann * fileio.c (Finsert_file_contents): If VISIT is non-nil, and coding.type is coding_type_no_conversion or coding_type_raw_text, use Fset_buffer_multibyte to make the buffer unibyte if REPLACE is non-nil instead of just setting enable_multibyte_characters in the buffer to nil. 2001-08-22 Gerd Moellmann * dispextern.h (struct face_cache): Add member menu_face_changed_p. * xfaces.c (menu_face_changed_default): New variable. (menu_face_changed_count): Variable removed. (Finternal_set_lisp_face_attribute): Doc fix. If FRAME is t, set the menu_face_changed_default flag, otherwise set the FRAME's menu_face_changed_p flag if the `menu' face has been changed. Prevent calling set_font_frame_param if FRAME is t. (make_face_cache): Initialize cache's menu_face_changed_p from menu_face_changed_default. (realize_basic_faces): Look into the frame's face cache to determine if the menu appearance needs updating. * keymap.c (access_keymap): Fix last change to not consider IDX when it has modifiers. 2001-08-21 Gerd Moellmann * keymap.c (access_keymap): If a binding of the form (GENERIC-CHAR . BINDING) exists, where GENERIC-CHAR is the generic character of the charset of IDX, return BINDING unless there exists a binding for IDX itself. 2001-08-16 Gerd Moellmann * xrdb.c (SYSV): Don't define on Solaris 2. From Rainer Orth . * xdisp.c (move_it_by_lines) : Start at the beginning of the screen line, not text line, containing IT's current position. 2001-08-15 Gerd Moellmann * window.c (window_scroll_pixel_based): Don't recenter if PT is partially visible in the window. * xterm.c (expose_window_tree, expose_window, expose_line): Return 1 when overwriting mouse-face. (expose_frame): If mouse-face was overwritten, redo it. * xfaces.c (x_update_menu_appearance): Don't call set_frame_menubar, let the next redisplay do it. 2001-08-14 Andrew Innes * w32term.c (x_draw_glyph_string): Draw relief (if any) before drawing glyph string. 2001-08-14 Eli Zaretskii * s/hiuxwe2.h: New file, for the HITACHI SR2001/SR2201 series running HI-UX/MPP. 2001-08-14 Gerd Moellmann * xfaces.c (x_update_menu_appearance): Save and restore value of interrupt_input_blocked. 2001-08-13 Gerd Moellmann * xdisp.c (move_it_by_lines) : If not already on a line start, move back to the line start. * xdisp.c (resize_echo_area_exactly): Don't resize the mini-window exactly when a mini-buffer is active. * keyboard.c (make_lispy_event): Interpret double_click_fuzz in units of 1/8 character on non window-system frames. (syms_of_keyboard) : Doc fix. 2001-08-10 Eli Zaretskii * keyboard.c (syms_of_keyboard) : Fix a typo in a doc string. 2001-08-09 Gerd Moellmann * keyboard.c (Vpre_help_message): New variable. (syms_of_keyboard): Initialize and staticpro it. (show_help_echo): Record current message before displaying a help-echo, and restore that message when clearing the help. * xfns.c (x_create_im): Remove prototype. * xdisp.c (mark_window_display_accurate_1): Remove an assertion. * dispnew.c (adjust_glyph_matrix): Undo last change. 2001-08-08 Gerd Moellmann * dispnew.c (adjust_glyph_matrix): In the optimization for windows whose height has changed, disable partially visible lines. 2001-08-07 Gerd Moellmann * window.c (Frecenter): If ARG < 0, and on a window system frame, count in some empty lines when we can't move -ARG lines down. * xdisp.c (start_display): Don't try to determine the continuation lines width if lines are truncated. It's superfluous and leads to incorrect results if POS is not visible in the window after reseating the iterator at the previous line start. 2001-08-06 Gerd Moellmann * xterm.c (x_dump_glyph_string): Put in #if GLYPH_DEBUG. 2001-08-06 Pavel Jan,Bm(Bk * alloc.c (init_stack): Remove declaration. 2001-08-03 Gerd Moellmann * keyboard.c (read_key_sequence): Check that key is an integer before comparing it with quit_char. (add_command_key): Use larger_vector. (read_char_x_menu_prompt): Instead of converting symbol and integer events into conses (EVENT . nil), use (EVENT . disabled) which cannot be confused with valid events. (read_char): When reading from Vunread_command_events, check for events of the form (EVENT . disabled) instead of (EVENT . nil). * xdisp.c (resize_mini_window): If Vmax_mini_window_height is a float, determine the max height from the frame's height. 2001-08-02 Gerd Moellmann * xdisp.c (redisplay_internal): Take message_cleared_p into account only if minibuf_level == 0. 2001-08-01 Gerd Moellmann * xdisp.c (redisplay_internal): Add a check for the last displayed message. * xdisp.c (message_cleared_p): New variable. (clear_message): Set message_cleared_p when clearing the current message. (redisplay_internal): Look at message_cleared_p to capture the case that the echo area should be cleared. * keyboard.c (command_loop_1): Fix spelling of resize_echo_area_exactly. * dispextern.h (resize_echo_area_exactly): Fix typo in function name. * xdisp.c (resize_echo_area_exactly): Fix typo in function name. * xfns.c (x_set_tool_bar_lines): Clear the tool bar window's current matrix when the window gets smaller. 2001-08-01 Eli Zaretskii * print.c (strout): Cast the character passed to insert_char to unsigned char, to avoid sign extension when it is promoted to int. 2001-07-31 Gerd Moellmann * fileio.c (Finsert_file_contents): Don't treat a return value of 0 from emacs_read as an IO error. 2001-07-30 Gerd Moellmann * keyboard.c (abs): New macro. (double_click_fuzz): New variable. (make_lispy_event): Use it to determine what makes a double-click. (syms_of_keyboard): DEFVAR_INT it. * xmenu.c (set_frame_menubar): Take into account that f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn . 2001-07-27 Gerd Moellmann * xterm.c (x_get_glyph_string_clip_rect): Minor cleanup. * dispnew.c (shift_glyph_matrix, blank_row): Fix computation of row's visible height. * xdisp.c (init_from_display_pos): If POS is in an overlay string, deal with the first overlay string having an image `display' property. (try_window_reusing_current_matrix, compute_line_metrics): Fix computation of row's visible height for the case that part of the row is invisible above and part of the row is at the same time invisible below the window. 2001-07-26 Gerd Moellmann * xfns.c (x-show-tip): Doc fix. * xfns.c (Vx_max_tooltip_size): New variable. (syms_of_xfns): DEFVAR_LISP it. (Fx_show_tip): Set frame's window_width to the width of the window. Use a maximum tooltip size specified by Vx_max_tooltip_size, if that has valid contents. (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil. 2001-07-26 Andrew Innes * w32term.c (x_display_list): New variable. (w32_term_init): Set it. * w32term.h (x_display_list): New extern. 2001-07-26 Gerd Moellmann * xdisp.c (resize_mini_window): Give up when inhibit-redisplay is non-nil, instead of when redisplaying_p is non-zero. See comment there. (mark_window_display_accurate_1): Add an assertion. 2001-07-25 Gerd Moellmann * dispextern.h (struct it): Increase size of ctl_chars to 16. * xfns.c (Fx_file_dialog): Block/unblock input while processing events so that we get a chance of processing expose events. * xdisp.c (resize_mini_window): Don't resize while redisplaying. 2001-07-24 Gerd Moellmann * xfns.c (valid_image_p): Protect better against invalid image specifications. Previous code could signal an error. 2001-07-23 Gerd Moellmann * indent.c (current_column): Fix column computation in the presence of display table entries. (current_column_1, Fmove_to_column, compute_motion): Likewise. * dispnew.c (adjust_glyph_matrix): In the optimization for windows whose height has changed, use the new window height to compute which rows to invalidate. * editfns.c (toplevel) [STDC_HEADERS]: Include float.h. (MAX_10_EXP): New macro. (Fformat): Use it. * coding.c (code_convert_region): Handle the multibyte case if decoding ends with CODING_FINISH_INSUFFICIENT_SRC. 2001-07-20 Gerd Moellmann * dispextern.h (struct face): Change type of `stipple' to int; it's an ID. * xterm.c (x_fill_stretch_glyph_string): Remove an assertion. 2001-07-19 Gerd Moellmann * dispnew.c (update_window): Don't set the cursor at the end of the update if display update has been paused. * composite.h (syms_of_composite): Renamed from syms_of_composition. 2001-07-18 Ken Raeburn * fns.c (Fset_char_table_default): Check that a charset is defined before checking its dimension. 2001-07-17 Ken Raeburn * coding.c (setup_coding_system): Don't do any designation based on reg_bits if charset is not yet defined. * lisp.h (XVECTOR): Verify correct object type before returning a pointer, using eassert. 2001-07-17 Gerd Moellmann * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]: Increase to 4096 because of paste problems reported on GNU/Linux. 2001-07-17 Jan Nieuwenhuizen * emacs.c (USAGE1): Add +LINE:COLUMN option help. 2001-07-16 Gerd Moellmann * fileio.c (unwind_read): Function removed. (read_non_regular, read_non_regular_quit): New functions. (Finsert_file_contents): When reading from non-regular files, arrange to catch a `quit' and terminate the loop. Rearrange code so that a `quit' when reading from a regular file doesn't insert text in the buffer. * xfaces.c (clear_face_cache): Clear fonts on a display basis. Clear faces afterwards. (clear_font_table): Take a x_display_info parameter. Don't free fonts being the default font of any frame on the given display. 2001-07-13 Gerd Moellmann * xdisp.c (get_next_display_element): Use CHAR_STRING_NO_SIGNAL instead of CHAR_STRING which can signal an error. * charset.c (char_to_string_1): Extracted from char_to_string. Return -1 instead of signaling an error. (char_to_string): Use it. * charset.h (CHAR_STRING_NO_SIGNAL): New macro. 2001-07-12 Stefan Monnier * coding.c (Ffind_coding_systems_region_internal): If safe_codings is t, don't try to append anything to it. 2001-07-12 Eli Zaretskii * dired.c (file_name_completion): Pass dp->d_name to Fstring_match, not elt, which is always nil here. 2001-07-12 Gerd Moellmann * xselect.c (x_decline_selection_request): Handle errors caused by receivers that have vanished. * xterm.c (XTread_socket) : Put the code ignoring events on foreign windows in #if 0. Always dispatch the event after checking it with x_handle_property_notify. * xselect.c (TRACE0, TRACE1, TRACE2): New macros, defined depending on TRACE_SELECTION. Replace fprintfs in #if 0 with TRACE macros to facilitate debugging. Add additional trace statements. (toplevel): Add prototypes for file-local functions. (x_atom_to_symbol): Remove DPYINFO parameter. 2001-07-11 Stefan Monnier * w32menu.c (menubar_selection_callback, w32_menu_show): Initialize `entry' to nil. (w32_dialog_show): Remove unused `save_wv' variable. (name_is_separator): Recognize "--:foo" and "--foo-bar". 2001-07-11 Gerd Moellmann * xdisp.c (try_cursor_movement): Prevent a warning from GCC 3.0. * fileio.c (unwind_read): Print a message when discarding inserted text or switching the buffer to unibyte. Change parameter. (Finsert_file_contents): Don't pass VISIT to unwind_read. * fileio.c (unwind_read): New function. (Finsert_file_contents): Record it as unwind-function for the case that reading is interrupted by C-g. 2001-07-10 Gerd Moellmann * dispnew.c (update_window): Don't skip the header-line update when scrolling_window returns 0. * xfaces.c (unload_color): Do nothing if PIXEL is -1. * xfns.c (Fx_create_frame): Initialize frame colors to -1, for the case that x_decode_color signals an error. * xdisp.c (add_to_log): Do nothing if called asynchronously. 2001-07-09 Gerd Moellmann * sound.c (toplevel): Include and "syssignal.h". (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO around ioctls. 2001-07-06 Eli Zaretskii * dosfns.c (syms_of_dosfns): Add \n\ at the end of a line in the doc string line for dos-timezone-offset. * msdos.c (do_visible_bell): Add \n\ at the end of each line of inline assembly, to avoid compiler warnings. (syms_of_msdos): Add \n\ at the end of a line in the doc string line for dos-unsupported-char-glyph. * buffer.c (syms_of_buffer) [if 0]: Avoid a warning from GCC 3.0. 2001-07-05 Gerd Moellmann * sound.c: Include Emacs' header files with #include "...". * eval.c (specbind): Additionally record the buffer that was current when a buffer-local or frame-local variable was bound. 2001-07-04 Gerd Moellmann * xterm.c (x_produce_glyphs): Don't convert multibyte characters to unibyte characters in unibyte buffers. 2001-07-03 Gerd Moellmann * eval.c (specbind): If SYMBOL has a frame-local binding, record the frame on the binding stack. Change format of entries for local bindings on the binding stack to '(SYMBOL . WHERE)'. (unbind_to): Handle unbinding a frame-local variable. * xdisp.c (compute_line_metrics): On ttys, subtract continuation glyphs and truncation glyphs at the end of a row from its pixel width. (dump_glyph_row): Print row's continuation_lines_width. (try_window_id): Take the shortcut if ZV is visible in the window, but there are actually no changes at ZV. 2001-07-02 Gerd Moellmann * xterm.h (x_free_dpy_colors): Add prototype. * xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the right number of arguments. * Makefile.in (tags): Depend on $(lwlibdir)/TAGS. ($(lwlibdir)TAGS): New target. (TAGS): Fix dependency list. * xterm.c (x_list_fonts): Make sure XFreeFont is called with input blocked. 2001-06-30 Gerd Moellmann * emacs.c (main): Remove extern declaration for sys_nerr, which isn't used and causes a compilation error with GCC 3.0 on FreeBSD 4.3. 2001-06-27 Gerd Moellmann * widget.c (EmacsFrameSetCharSize): Turn off atimers and block SIGIO around the code where Xt might wait for a ConfigureNotifyEvent. (toplevel): Include and syssignal.h. * sound.c (vox_configure, vox_close): Turn off atimers around ioctls. 2001-06-26 Gerd Moellmann * keyboard.c (read_char) : Record the previous idle start time before calling timer_stop_idle. (read_char) : After processing a help-echo event, restore the previous idle start time. * xdisp.c (handle_invisible_prop): Deal with overlay strings at the start of invisible text. (setup_for_ellipsis): New function. (next_overlay_string): After all overlay strings have been processed, display an ellipsis if necessary. (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS. (push_it): Initialize display_ellipsis_p on the iterator's stack. * dispextern.h (struct iterator_stack_entry): Add member display_ellipsis_p. 2001-06-25 Gerd Moellmann * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending on the value of the wait-for-wm frame parameter. * xterm.h (struct x_output): Add member wait_for_wm. * xfns.c (Qwait_for_wm): New variable. (x_frame_parms): Add entry for `wait-for-wm". (x_set_wait_for_wm): New function. (Fx_create_frame): Call x_default_parameter for wait-for-wm. (syms_of_xfns): Initialize and staticpro Qwait_for_wm. * xdisp.c (try_window_id) : Don't take this shortcut if ZV is visible in the window. (try_window_id): When checking for window start being in changed text, don't check that the buffer's size has changed. 2001-06-23 Richard M. Stallman * minibuf.c (Fcompleting_read): Doc fix. 2001-06-19 Gerd Moellmann * composite.c (Ffind_composition_internal): Accept ZV and a string's end position as POS. 2001-06-18 Gerd Moellmann * composite.c (Ffind_composition_internal): Check POS for validity. 2001-06-15 Eli Zaretskii * editfns.c (Fmessage_box): If the frame is not under a window system, output the message in the echo area. 2001-06-14 Richard M. Stallman * xdisp.c (try_window_id): When EOB is visible, don't treat insertion at EOB as if it were "off the bottom of the screen." 2001-06-11 Andrew Innes * w32proc.c (create_child): Add new parameter is_gui_app. (w32_executable_type): Add new parameter is_gui_app. (sys_spawnve): Use it. (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for SIGQUIT. This matches better how the signals are interpreted by MSVC compiled programs. (syms_of_ntproc): Update docstring. 2001-06-02 Stefan Monnier * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as well otherwise note_mouse_highlight might optimize away highlighting if we pass over that same overlay again. 2001-06-02 Eli Zaretskii * lread.c (Fload): Document that the argument is run via substitute-in-file-name. 2001-05-31 Gerd Moellmann * Makefile.in (bootstrap-doc): New target. (bootstrap-emacs): Depend on it. * fileio.c (Fdo_auto_save): Don't try to create the directory of auto-save-list-file-name when shutting down Emacs, because creating the directory might signal an error, and leaves Emacs in a strange state. * term.c: (tty_cursor_hidden): New variable. (update_begin): Don't call tty_hide_cursor. Clean up. (update_end, set_terminal_window, set_scroll_region): Clean up. (ring_bell, reset_terminal_modes): Clean up. (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending on tty_cursor_hidden. (write_glyphs): Call tty_hide_cursor. 2001-05-30 Stefan Monnier * buffer.c (copy_overlays): Make ENABLE_CHECKING happy. 2001-05-30 Gerd Moellmann * xfns.c (enum image_value_type): New enumerator IMAGE_STRING_OR_NIL_VALUE. (parse_image_spec): Handle it. (xbm_format, pbm_format): Use it for :foreground and :background. (xbm_load, pbm_load): Check for nil color names. * xterm.c (note_mouse_highlight): If an overlapping overlay exists, but we find that we highlight the same overlay as before, don't do the highlighting again. 2001-05-29 Gerd Moellmann * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Protect unibyte strings created by replacing their multibyte equivalents in menu_items. * keymap.c (Fsingle_key_description): NUL-terminate the string buffer before calling build_string. * callproc.c (Fcall_process): Deal with decode_coding returning CODING_FINISH_INCONSISTENT_EOL. 2001-05-28 Gerd Moellmann * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite an item's name with its key description in case the description is a multibyte string. * keymap.c (Fsingle_key_description): Create a multibyte string only if necessary. * macros.c (Fstart_kbd_macro): Doc fix. * xterm.c (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. * editfns.c (char_property_eq): Put in #if 0. * indent.c (string_display_width): Put in #if 0. * lread.c (Fload): Remove unused label. * termcap.c (speeds): Put in #if 0. 2001-05-18 Gerd Moellmann * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay. * xfaces.c (xlfd_point_size): Don't divide pixel size from transformation matrix by 10. 2001-05-16 Gerd Moellmann * xfns.c (x_set_foreground_color): Change frame's cursor_pixel only if it's equal to the former foreground pixel color. (x_set_foreground_color, x_set_background_color) (x_set_mouse_color, x_set_cursor_color): Cleaned up. 2001-05-16 Dave Love * insdel.c (signal_before_change, signal_after_change): Consider a local change hook which changes the buffer. * process.c (read_process_output): Don't call signal_after_change and update_compositions after insert_from_string_before_markers. 2001-05-16 Gerd Moellmann * xfaces.c (split_font_name): Use the right field when checking for `[...]' syntax. * buffer.c (copy_overlays): New function. (clone_per_buffer_values): Use it. * buffer.h (OVERLAY_PLIST): New macro. * keymap.c (Fsingle_key_description): Replace a build_string with a make_multibyte_string. From Kenichi Handa . * fontset.c (Ffontset_info): Check that face is non-null before accessing its fields. 2001-05-15 Gerd Moellmann * keyboard.c (read_key_sequence): Prevent generating a fake prefix key twice. * xfaces.c (split_font_name): Handle `[...]' for the right font name fields. * ccl.c (ccl_driver): Don't copy remaining bytes in case of CCL_STAT_INVALID_CMD. 2001-05-14 Stefan Monnier * eval.c (Fdefvar): Only record (defvar ) in the load-history in has no default value yet. * xfaces.c (try_alternative_families): First try the FAMILY. And if nothing is found in the end, try again with scalable fonts. (try_font_list): Let try_alternative_families do a bit more of the work. Only use FAMILY if it is not nil. (syms_of_xfaces) : Fix docstring. 2001-05-14 Gerd Moellmann * xterm.c (note_mouse_highlight): Avoid changing the mouse pointer shape when show_mouse_face has already done it. * xterm.c (x_draw_glyphs): Fix computation of rightmost x for full-width rows. * xfaces.c (split_font_name): Make sure to leave the loop with the right value of `i'. * xfaces.c (split_font_name): Handle matrix transformations in the pixel and point size fields of XLFD font names. (xlfd_point_size): Likewise. 2001-05-12 Eli Zaretskii * w32fns.c (w32_to_x_font): Change prototype to fit the declaration. (x_to_w32_font): Add prototype. * regex.c (malloc, realloc, free) [emacs]: Undefine before redefining, to avoid compiler warnings. * w32proc.c: Include syssignal.h, to avoid compiler warnings. * w32bdf.c (search_file_line, set_bdf_font_info, seek_char) (w32_get_bdf_glyph): Cast between unsigned char and char when passing arguments to subroutines, to shut up compiler warnings. (w32_get_bdf_glyph): Don't mix signed and unsigned when calling GET_HEX_VAL. * xfaces.c: Include keyboard.h before frame.h, not after it. * widget.c: Include keyboard.h before frame.h. * w32term.h (struct image, struct face): Forward declaration, to avoid compiler warnings. 2001-05-11 Gerd Moellmann * keyboard.c (read_key_sequence): Don't modify events when generating fake prefix keys (mode-line, scroll-bar, ...) since this prevents proper processing of such events when pushed back into unread-command-events. * xterm.c (clear_mouse_face): Return 1 if text with mouse face was actually redrawn. Make the function static. (note_mouse_highlight): Fix a case where the mouse cursor was changed back to the text cursor. * xterm.h (clear_mouse_face): Remove prototype. * xdisp.c (try_window_id): Fix the fix and set the right window_end_vpos. * xdisp.c (try_window_id): Fix computation of window end in the case that lines were deleted at the end of the window. Add some more debug_method_adds. * xfaces.c (try_alternative_families): New function. (try_font_list): Use it. If ATTRS specifies a family, check fonts from that family first. (choose_face_font): Remove code setting the family part of the pattern to nil. 2001-05-10 Gerd Moellmann * xdisp.c (try_window_id): Fix case of all changes before the window start. * xdisp.c (try_window_id): Add some xasserts. 2001-05-09 Gerd Moellmann * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P. 2001-05-09 Dave Love * xdisp.c (GIVE_UP): Fix for K&R C. 2001-05-09 Gerd Moellmann * print.c (syms_of_print) : Doc fix. * xterm.c (note_mouse_highlight): Don't change the mouse cursor back to the text cursor shape without need. 2001-05-07 Gerd Moellmann * xfns.c (x_set_foreground_color): Set frame's cursor_pixel. * dispextern.h (inverse_video): Declare extern. * keyboard.c (delete_kboard): Handle the case that selected_frame has been deleted in the course of x_connection_closed. 2001-05-03 Eli Zaretskii * xterm.c (XTread_socket) [!USE_TOOLKIT_SCROLL_BARS]: Fix the change from 2001-04-30. 2001-05-03 Gerd Moellmann * xfns.c (file_dialog_unmap_cb): New function. (Fx_file_dialog): Use it as XmNunmapCallback to capture the case where a dialog is closed via the window manager. * xdisp.c (try_window_id): Cases of changes all in front of the window start or all below the window end mostly rewritten. (redisplay_window): Move the tests if try_window_id is applicable to try_window_id. (GIVE_UP): New macro. 2001-05-02 Gerd Moellmann * xterm.c (expose_window): Return int. If W is the window currently being updated, mark the frame garbaged. Fix computation of rows intersecting the exposed rectangle. (expose_window_tree): Stop when expose_window returns 0. * xterm.c (x_draw_stretch_glyph_string): Don't draw background again if it has already been drawn. 2001-05-01 Stefan Monnier * syntax.c (update_syntax_table): Check that oldi has the same properties as old_prop before deciding not to invalidate. 2001-04-30 Gerd Moellmann * undo.c (Fprimitive_undo): In a writable buffer, enable undoing read-only text that is so because of text properties. * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function. (XTread_socket) [USE_LUCID]: Handle events for windows that are components of a Lucid menu bar. 2001-04-27 Gerd Moellmann * term.c (turn_on_face): Fix reverse video handling on terminals that don't support colors. 2001-04-26 Gerd Moellmann * editfns.c (save_excursion_restore): Don't use XBUFFER on a non-buffer. 2001-04-25 Gerd Moellmann * term.c (toggle_highlight): New function. (turn_on_face): Change handling of reverse video. * process.c (wait_reading_process_input): Call record_asynch_buffer_change only if a timer really changed buffers. * buffer.c (mouse_face_overlay_overlaps): Fix the computation of the number of overlays to check. * keyboard.c (command_loop_1): Redo change of 2001-03-12. * xdisp.c (try_window_id): Fix a case where window_end_pos and window_end_bytepos were not adjusted. 2001-04-23 Gerd Moellmann * xfaces.c (compute_char_face): If buffer is unibyte, set CH to zero instead of -1. 2001-04-21 Eli Zaretskii * process.c (wait_reading_process_input) [!subprocesses]: Don't reference waiting_for_user_input_p, it's not defined in the branch without async subprocesses support. 2001-04-19 Gerd Moellmann * keyboard.c (delete_kboard): Prevent a dangling reference from current_kboard to KB, which is freed. * process.c (wait_reading_process_input): Call record_asynch_buffer_change after running timers, to make read_key_sequence aware of buffer changes from under it. 2001-04-18 Gerd Moellmann * xfaces.c (Qscalable_fonts_allowed): New variable. (realizing_basic_faces_p): Removed. (x_face_list_fonts): Special handling for realizing_basic_faces_p removed. (realize_basic_faces): Specbind Qscalable_fonts_allowed to t. (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default for scalable-fonts-allowed to t. * fileio.c (Finsert_file_contents): If the file size returned from stat is zero, set END to READ_BUF_SIZE. This makes sure we can read from files on a procfs whose contents are generated dynamically. 2001-04-18 Eli Zaretskii * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not defined, include stddef.h and use __SIZE_TYPE__ instead of size_t. (__memalign_hook): Make the two prototypes consistent. 2001-04-17 Gerd Moellmann * xdisp.c (redisplay_window): Make sure to clear the desired glyph matrix of mini-windows. 2001-04-12 Stefan Monnier * intervals.c (find_interval): Don't rebalance during signal handling. 2001-04-11 Gerd Moellmann * fns.c: Include blockinput.h. * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked. 2001-04-10 Gerd Moellmann * fns.c (Fcompare_strings): Fix return values. * window.c (window_scroll): Change the meaning of N to mean N screen-fulls or N lines. (window_scroll_pixel_based, window_scroll_line_based) (scroll_command, Fscroll_other_window): Change accordingly. * window.c (window_scroll_pixel_based, Frecenter): Call window_box_height instead of using it.last_visible_y for the height of the window. * xdisp.c (redisplay_window) : Call window_box_height instead of using it.last_visible_y for the height of the window. * w32proc.c (sys_spawnve): Quote more chars for Cygwin. From Dan Holmsand . * w32.c (sys_open): Try to open file without _O_CREAT first, to be able to write to hidden and system files. From Dan Holmsand . * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan Holmsand . 2001-04-09 Gerd Moellmann * fns.c (Fplist_get, Fplist_put): Add QUITs. * window.c (window_internal_height): Return 1 less if the window has a header line. * xdisp.c (try_window_id): When scrolling on a terminal, take the change of window_internal_height into account. 2001-04-09 Eli Zaretskii * gmalloc.c (align): If the argument SIZE would overflow __malloc_ptrdiff_t, fail right away. 2001-04-06 Gerd Moellmann * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT. Make sure the tooltip is completely visible. (x_make_gc): Use FRAME_X_SCREEN_NUMBER. * xterm.h (FRAME_X_SCREEN_NUMBER): New macro. * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER. 2001-04-06 Dave Love * composite.c (update_compositions) : Fix test of `from'. 2001-04-06 Gerd Moellmann * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP. * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object. 2001-04-05 Gerd Moellmann * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning. * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names. * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable. (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING. * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the shell widget's position only if it is non-null. * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]: Set f->output_data.x->widget to null after destroying it. * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to FILENAME to bring it in synch with the documentation. * xfaces.c (realizing_basic_faces_p): Renamed from realize_default_face_p. (realize_basic_faces): Set/clear realizing_basic_faces_p. (realize_default_face): Don't set the flag. 2001-04-04 Gerd Moellmann * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare. * keyboard.c (echoing, echo_message_buffer): Make externally visible. * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing the buffer that was used for echoing. * xfaces.c (best_matching_font): Remove unused parameter PATTERN. (first_font_matching): Removed unused function. (x_face_list_fonts): Remove unused parameter SCALABLE_P. (may_use_scalable_font_p): Remove parameter FONT; rename parameter NAME to FONT. (x_face_list_fonts): Fix missing bounds check. (realizing_default_face_p): New variable. (realize_default_face): Set and clear that flag. (x_face_list_fonts): When called during the realization of the default face, and no matching fonts are found when ignoring scalable fonts and fonts matching a regexp from face-ignored-fonts, try without ignoring fonts. 2001-04-03 Gerd Moellmann * xfns.c (postprocess_image): New function. (lookup_image): Call it for all image types except PostScript. (x_kill_gs_process): Call postprocess_image. * xterm.c (x_use_underline_position_properties): New variable. (x_draw_glyph_string): Use it. (syms_of_xterm): DEFVAR_BOOL it. 2001-04-02 Gerd Moellmann * xterm.c (x_alloc_nearest_color_1): New function. (x_alloc_nearest_color): Use it. (x_color_cells): Take a Display as argument, instead of a frame. (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables. (cvt_string_to_pixel, cvt_pixel_dtor): New functions. (x_initialize): Register cvt_string_to_pixel as resource converter string -> Pixel and cvt_pixel_dtor as pixel resource destructor. 2001-03-30 Gerd Moellmann * xdisp.c (get_overlay_strings): Set iterator's end_charpos. (set_iterator_to_next): If a string from a display property ends, consider the case that this might also be the end of an overlay string having the display property. * xdisp.c (handle_display_prop): Fix recognition of subproperty lists. * xdisp.c (reseat_to_string): Undo last change. * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current matrix of a window when the header line changes, when new rows are allocated, or when the width changes. 2001-03-30 Eli Zaretskii * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change. 2001-03-29 Eli Zaretskii * fileio.c (syms_of_fileio) : Warn that it is deprecated. 2001-03-29 Gerd Moellmann * data.c (Fsubr_interactive_form): New function. (syms_of_data): Defsubr it. * alloc.c (live_string_p, live_cons_p, live_symbol_p) (live_float_p, live_misc_p): Return 1 only if the offset of the pointer in its block is >= 0. 2001-03-28 Paul Eggert * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the microseconds calcuation. Avoid double-rounding problem. In doc string, warn that the result is approximate. 2001-03-28 Gerd Moellmann * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and bind `inhibit-eval-during-redisplay' to t. * lisp.h (Qinhibit_eval_during_redisplay): Declare extern. * xdisp.c (inhibit_eval_during_redisplay) (Qinhibit_eval_during_redisplay): New variables. (safe_eval, safe_call): If inhibit_eval_during_redisplay is set, don't eval, return nil instead. (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay. Initialize Qinhibit_eval_during_redisplay. * xdisp.c (reseat_to_string): If STRING is multibyte, set the iterator's multibyte_p flag. * xfaces.c (realize_basic_faces): Decrement menu_face_change_count instead of setting it to zero; it's incremented for each frame where the menu face is changed. * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom; change bottom shadow accordingly. * xterm.c (expose_window_tree, expose_frame): Don't compute intersections here. (expose_window): Do it here instead. (x_draw_glyph_string): Fix a computation of the underline position. * bytecode.c (BYTE_CODE_QUIT): New macro. (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT. 2001-03-27 Gerd Moellmann * xdisp.c (try_window_reusing_current_matrix) : Give up if matrix starts in an ellipsis. (init_from_display_pos): Do nothing if POS doesn't specify a dpvec_index but the iterator has such a position. * xdisp.c (init_from_display_pos): Remove unwarranted assertion. * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's x/y position is (0, 0) after destroying the menu bar, restore its original position. * xdisp.c (in_ellipses_for_invisible_text_p): New function. (init_from_display_pos): Use it. (try_window_reusing_current_matrix): Don't use cursor_row_p. 2001-03-26 Gerd Moellmann * xdisp.c (try_window_id): Undo last change. 2001-03-26 Eli Zaretskii * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix. * buffer.c (syms_of_buffer): Doc fix. 2001-03-26 Gerd Moellmann * xfaces.c (x_update_menu_appearance): Use local variable popup_path for setting font resources. 2001-03-25 Eli Zaretskii * frame.c (Fframe_list): Don't reference tip_frame if HAVE_WINDOW_SYSTEM is not defined. * emacs.c (main): Update the copyright year. From Werner LEMBERG . 2001-03-25 Gerd Moellmann * xdisp.c (init_from_display_pos): Test invisible property with TEXT_PROP_MEANS_INVISIBLE instead of NILP. * xdisp.c (redisplay_internal) : Make sure last_arrow_position and last_arrow_string are set. * frame.c (Fframe_list): Don't return a tooltip frame. 2001-03-23 Gerd Moellmann * xdisp.c (mark_window_display_accurate_1): New function, extracted from mark_window_display_accurate. Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED, BUF_BEG_UNCHANGED, BUF_END_UNCHANGED. (mark_window_display_accurate): Use it. (redisplay_internal): Use it for the selected window. (redisplay_internal): Avoid duplicate mark_window_display_accurate for the selected frame. * xdisp.c Use make_number, for readability. (try_window_id): Disable rows below the window end. (try_window_reusing_current_matrix): Use cursor_row_p. (try_window_reusing_current_matrix) : Fix disabling of rows. (init_from_display_pos): If POS specifies a position in a display vector, maybe get the iterator set up for that ellipsis. * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2. 2001-03-23 Eli Zaretskii * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined. 2001-03-23 Gerd Moellmann * xfaces.c (x_update_menu_appearance): Use a different path for Lucid popup menus. 2001-03-22 Stefan Monnier * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object. * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW. (string_buffer_position): Use `make_number'. 2001-03-22 Gerd Moellmann * xfaces.c (x_update_menu_appearance): Renamed from x_set_menu_face_resources. Use different resources for popups. * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern. (GC_CHECK_STRING_BYTES): Don't define. * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]: Removed, together with subroutines. (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function. (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources. * dispextern.h (x_set_menu_resources_from_menu_face): Remove prototype. * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show): Remove calls to x_set_menu_resources_from_menu_face. * xfaces.c (xm_set_menu_resources_from_menu_face): Remove #ifndef LESSTIF_VERSION. * xmenu.c: Include widget.h. (single_submenu): Return int. Some cleanup. (set_frame_menubar): Call x_set_menu_resources_from_menu_face. 2001-03-21 Gerd Moellmann * xterm.c (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. 2001-03-20 Gerd Moellmann * print.c (syms_of_print): Doc fixes. * fns.c (Fmd5): Doc fix. 2001-03-19 Gerd Moellmann * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]: Clear area of the frame not occupied by the scroll bar. * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the tip frame's root window buffer to *tip* right after creating the frame. * xdisp.c (highlight_trailing_whitespace): Glyphs whose object is an integer don't have to be for space characters. 2001-03-16 Gerd Moellmann * indent.c (current_column, current_column_1, Fmove_to_column) (compute_motion): Handle characters from display vectors differently. 2001-03-15 Kenichi Handa * xterm.c (x_draw_glyph_string): Draw relief (if any) before drawing glyph string. 2001-03-15 Gerd Moellmann * keyboard.c (timer_check): Preserve the value of deactivate-mark. (command_loop_1): Undo last change. * xterm.c (fast_find_position): Return the correct vpos. * data.c (store_symval_forwarding): Add parameter BUF. If BUF is non-null, set a per-buffer value in BUF instead of the current buffer. (swap_in_global_binding, swap_in_symval_forwarding, Fset_default): Call store_symval_forwarding with BUF null. (set_internal): Call store_symval_forwarding with the BUF parameter passed to set_internal. Formerly, the value was always set in the current buffer; the buffer recorded in specbind for this case wasn't used. (arith_driver): Reindent. * buffer.c (swap_out_buffer_local_variables): Call store_symval_forwarding with BUF null. * lisp.h (store_symval_forwarding): Change prototype. * eval.c (specbind): Call store_symval_forwarding with BUF null. 2001-03-14 Gerd Moellmann * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add FOR_DELETION. Avoid resizing the mini-window of the selected frame if FOR_DELETION is set. (Fselect_frame, Fhandle_switch_frame, Fdelete_frame) (Fmake_frame_invisible): Change calls to do_switch_frame for new signature. * window.c (Fset_window_configuration): Change call to do_switch_frame to new format. * keyboard.c (quit_throw_to_read_char): Change call to do_switch_frame to new format. * lisp.h (do_switch_frame): Change prototype. * frame.c (Fframe_parameters): In the `buffer-list' frame parameter, store the buffer list of FRAME, not the list of the selected frame. * xterm.c (x_draw_glyph_string_box): Don't draw a full-width box just because the glyph row's full_width_p flag is set. 2001-03-14 Eli Zaretskii * xdisp.c (highlight_trailing_whitespace): On character terminals, skip the padding blanks inserted in extend_face_to_end_of_line, before checking for trailing whitespace. 2001-03-13 Gerd Moellmann * xmenu.c (popup_activate_callback, popup_deactivate_callback): Remove special handling for LessTif/Motif. (toplevel): Don't include Xm/Xm.h. * xterm.c (XTread_socket) : Remove workaround code for LessTif; it doesn't work anymore. * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include Xm/ScrollBarP.h. * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]: Don't access private scroll bar data; it's no longer necessary with contemporary LessTif. * xfaces.c (xm_set_menu_resources_from_menu_face): Change #if 0 to #ifndef LESSTIF_VERSION. * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code removing button grabs. 2001-03-13 Kenichi Handa * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font and clip-large-size-font as obsolete. * lread.c (read_multibyte): Check the validity of multibyte sequence. If invalid, return the first byte. 2001-03-12 Gerd Moellmann * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil before running the command; timer functions or process filters may have set it. 2001-03-12 Eli Zaretskii * keyboard.c (syms_of_keyboard) : Doc fix. 2001-03-12 Gerd Moellmann * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg to sprintf. 2001-03-09 Gerd Moellmann * dispextern.h (string_buffer_position): Add prototype. * xdisp.c (string_buffer_position, display_prop_string_p) (single_display_prop_string_p): New functions. * xterm.c (note_mouse_highlight): If there's no help-echo on a string, look at the buffer text ``under'' it. * keyboard.c (make_lispy_event): Add string info to the event, analogous to what's done on mode lines. (read_key_sequence): For a click on a string, consider `local-map' and `keymap' of that string. * keyboard.c (make_lispy_event, make_lispy_movement): Adjust calls to buffer_posn_from_coords to new format. * dispextern.h (buffer_posn_from_coords): Adjust prototype. * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and POS; return void. * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open flags argument to emacs_open; it seems to conflict with O_EXCL. 2001-03-09 Kenichi Handa * composite.h (struct composition): Change types of members; glyph_len to unsigned, width to unsigned short. 2001-03-08 Andrew Innes * w32menu.c (add_menu_item): Fix problems with using ownerdraw for menu titles. 2001-03-08 Gerd Moellmann * xdisp.c (handle_display_prop): Use it->w->buffer as object, instead of nil. * xterm.c (note_mouse_highlight): Handle mouse-face and help-echo in strings. (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P. (fast_find_string_pos): New function. * xdisp.c (handle_face_prop, face_before_or_after_it_pos) (display_string): Call face_at_string_position with new parameter. * xfaces.c (face_at_string_position): Add parameter MOUSE_P. Handle `mouse-face'. * dispextern.h (face_at_string_position): Change prototype. * dired.c (directory_files_internal): Handle EAGAIN more efficiently. * keyboard.c (make_lispy_event): Avoid generating drag events if the mouse hasn't actually moved to another buffer position. 2001-03-08 Dave Love * eval.c (syms_of_eval) : Doc fix. 2001-03-08 Gerd Moellmann * process.c (Fset_process_window_size): Fix a typo. 2001-03-08 Kenichi Handa * coding.c (detect_coding_sjis): Do more rigid check. (detect_coding_big5): Likewise. (decode_coding_sjis_big5): Likewise. (Fdetect_coding_region): Call detect_coding_system with tailing anchor byte `\0' for more rigid detection. (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP. (Fdetect_coding_string): Likewise. 2001-03-07 Stefan Monnier * bytecode.c (Fbyte_code) : Check the arg is a string before extracting its data. 2001-03-07 Gerd Moellmann * window.c (Frecenter): Rewrite code handling negative values of ARG on graphical frames. 2001-03-07 Eli Zaretskii * window.c (displayed_window_lines): If W->start is outside the accessible portion of the buffer, call start_display with BEGV or ZV instead of W->start. 2001-03-07 Gerd Moellmann * buffer.c (syms_of_buffer) : Doc fix. * process.c (Fset_process_filter): Don't crash if the input file descriptor of PROCESS is closed. (Fset_process_window_size): Likewise. 2001-03-06 Kenichi Handa * xterm.c (XTflash): Make the timeout of select shorter, and call select repeatedly until the desired time expires. 2001-03-06 Gerd Moellmann * w32fns.c (Fx_create_frame): Clear Vwindow_list. * xfns.c (Fx_create_frame): Clear Vwindow_list. * lisp.h (Vwindow_list): Declare extern. 2001-03-06 Eli Zaretskii * dispnew.c (syms_of_display) : Doc fix. 2001-03-06 Gerd Moellmann * xterm.c (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. (x_term_init): Initialize the x_display_info's mouse_face_overlay. * xterm.h (struct x_display_info): Add mouse_face_overlay. * buffer.c (mouse_face_overlay_overlaps): New function. * lisp.h (mouse_face_overlay_overlaps): Add prototype. (Qmouse_face): Declare extern. * xdisp.c (redisplay_internal): Set windows_or_buffers_changed if face_change_count is non-zero. 2001-03-06 Kenichi Handa * ccl.c (ccl_driver) : Fix for the case that the source is unibyte. 2001-03-05 Dave Love * xterm.c (XTmouse_position): Fix typo. 2001-03-05 Gerd Moellmann * minibuf.c (read_minibuf): Clean up the binding stack if called noninteractively. 2001-03-05 Kenichi Handa * coding.c (syms_of_coding): Docstring modified. 2001-03-05 Kenichi Handa * charset.c (char_to_string): If a single byte char has modifier bits that can't be reflected to the character code, ignore them instead of signaling an error. 2001-03-04 Eli Zaretskii * s/msdos.h: Update copyright notice. * dosfns.h: Update copyright notice. * dosfns.c: Update copyright notice. * msdos.c: Update copyright notice. 2001-03-02 Gerd Moellmann * xterm.c (glyph_rect): New function. (XTmouse_position): Use it to raise the threshold for mouse movement event generation. 2001-03-02 Eli Zaretskii * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist specifies (reverse . t), reverse the initial screen colors. (IT_set_frame_parameters): If the property is foreground-color, but we are reversing the colors, set bg_set, not fg_set. Likewise for setting background-color and reversing: set fg_set. Set unspecified-fg and unspecified-bg correctly when (reverse . t) is in effect. * xfaces.c (Finternal_set_lisp_face_attribute) [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's parameters alist. 2001-03-02 Gerd Moellmann * fileio.c (Fexpand_file_name): Collapse sequences of slashes to a single slash in the middle of file names. * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]: Accept only alphanumeric time zone names. * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height or width area. (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure a widget to zero height. 2001-03-01 Gerd Moellmann * window.c (Fwindow_end): Call move_it_past_eol only if ending up on a partially visible line. 2001-03-01 Dave Love * ccl.c (Fccl_execute): Doc fix. 2001-03-01 Gerd Moellmann * xfns.c (Fx_create_frame): Adjust the frame's height for presence of the tool bar before calling x_figure_window_size. * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to NULL after destroying it, otherwise XTread_socket can access a destroyed widget when input is unblocked. * xfns.c (x_set_foreground_color): Set the background of the cursor GC. * xfns.c (x_set_font): Handle case of x_new_fontset returning the same name as before, although there was a change in fontsets. 2001-02-28 Ken Raeburn * lisp.h (Fframe_parameter): Declare. * window.c (set_window_buffer): Field vscroll is an int, not a Lisp_Object. 2001-02-28 Gerd Moellmann * xterm.c (x_set_window_size): Don't use `None' with widgets; use NULL instead. * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use NULL instead. * alloc.c (toplevel): Include process.h. (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE, MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators. (allocate_vectorlike): Make it a static function. Add parameter TYPE. (allocate_vector, allocate_hash_table, allocate_window) (allocate_frame, allocate_process, allocate_other_vector): New functions. (Fmake_vector): Call allocate_vector instead of allocate_vectorlike. (mark_maybe_pointer): New function. (mark_memory): Also mark Lisp data to which only pointers remain and not Lisp_Objects. (min_heap_address, max_heap_address): New variables. (mem_find): Return MEM_NIL if START is below min_heap_address or above max_heap_address. (mem_insert): Compute min_heap_address and max_heap_address. * process.c (make_process): Use allocate_process. * frame.c (make_frame): Use allocate_frame. * window.c (make_window, make_dummy_parent): Use allocate_window. (Fcurrent_window_configuration): Use allocate_other_vector. * lisp.h (allocate_vectorlike): Remove prototype. (allocate_vector, allocate_other_vector, allocate_frame) (allocate_window, allocate_process, allocate_hash_table): Add prototypes. * fns.c (Fdelete, larger_vector): Use allocate_vector. (make_hash_table, copy_hash_table): Use allocate_hash_table. 2001-02-27 Kenichi Handa * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero, treat the produced bytes as a valid multibyte sequence. * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro. (ccl_driver) : Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR. : Set ccl->eight_bit_control properly. * ccl.h (struct ccl_program): New member eight_bit_control. 2001-02-26 Stefan Monnier * keymap.c (Faccessible_keymaps): Pass `is_metized' to accessible_keymaps_char_table. (accessible_keymaps_char_table): Obey `is_metized'. (where_is_internal, Fwhere_is_internal): Don't confuse int and Lisp_Object. 2001-02-26 Gerd Moellmann * dispnew.c: Check HAVE_TERM_H before including term.h. 2001-02-24 Andrew Innes * makefile.w32-in: Update copyright notice. 2001-02-24 Stefan Monnier * keymap.c (where_is_internal): Accept non-ascii integer prefixes. 2001-02-24 Kenichi Handa * Makefile.in (lisp): Add international/utf-8.elc. * fontset.c (Fnew_fontset): Fix handling of the case that an element of FONTLIST is a cons of family and registry. 2001-02-23 Jason Rumney * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES to height unconditionally. * w32term.c (x_set_glyph_string_background_width): Extend the background face to the end of the drawing area in the text area, only. (x_insert_glyphs): Call window_box_left to obtain the left x-coordinate of the area to shift. * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with safe_run_hooks. 2001-02-22 Andrew Innes * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files. ($(BLD)\dispnew.obj): ($(BLD)\editfns.obj): ($(BLD)\fileio.obj): ($(BLD)\filelock.obj): ($(BLD)\keyboard.obj): ($(BLD)\w32proc.obj): ($(BLD)\process.obj): ($(BLD)\sysdep.obj): Ditto. * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS header files. ($(BLD)/dispnew.$(O)): ($(BLD)/editfns.$(O)): ($(BLD)/fileio.$(O)): ($(BLD)/filelock.$(O)): ($(BLD)/keyboard.$(O)): ($(BLD)/w32proc.$(O)): ($(BLD)/process.$(O)): ($(BLD)/sysdep.$(O)): Ditto. 2001-02-22 Gerd Moellmann * xdisp.c (forward_to_next_line_start): When taking the shortcut at the start of the function, check that the \n in it->c is from the iterator's current position. * xdisp.c (handle_single_display_prop): Add parameter DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display properties which replace the display of text with something else. (handle_display_prop): Call handle_single_display_prop with additional argument saying if we already replaced text display with something else. Use AREF. (with_echo_area_buffer_unwind_data, display_menu_bar) (decode_mode_spec_coding): Use AREF and ASIZE. * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c, * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c, * vmstime.h: Files removed. * unexencap.c, unexfx2800.c: Files removed. * dispnew.c (direct_output_for_insert): Give up if we are showing a message or just cleared the message because we might need to resize the echo area window or display an empty echo area. 2001-02-21 Gerd Moellmann * xdisp.c (redisplay_internal): Do the mark_window_display_accurate after all windows have been redisplayed because this call resets flags in buffers which are needed for proper redisplay. * keyboard.c, minibuf.c, lread.c, fns.c, eval.c: Use display_hourglass_p, start_hourglass, cancel_hourglass instead of the old names. * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor, busy_window to hourglass_window, busy_p to hourglass_p. * msdos.h (struct x_output): Rename busy_window to hourglass_window, busy_p to hourglass_p. * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor, busy_window to hourglass_window, busy_p to hourglass_p. * xfns.c: Rename everything containing *busy_cursor* and similar to *hourglass*. (syms_of_w32fns): Rename x-busy-pointer-shape to x-hourglass-pointer-shape, display-busy-cursor to display-hourglass, busy-cursor-delay to hourglass-delay. * w32fns.c: Rename everything containing *busy_cursor* and similar to *hourglass*. (syms_of_w32fns): Rename x-busy-pointer-shape to x-hourglass-pointer-shape, display-busy-cursor to display-hourglass, busy-cursor-delay to hourglass-delay. * xterm.c (XTread_socket): Test x_output's hourglass_p instead of its busy_p flag. * dispextern.h (start_hourglass, cancel_hourglass) (display_hourglass_p): Renamed from *busy_cursor*. 2001-02-20 Gerd Moellmann * keyboard.c (read_char): When an event from unread-command-events is from the tool or menu bar, set *USE_MOUSE_MENU to 1. * window.c (Fwindow_end): Handle case that WINDOW's buffer is not equal to the current buffer. * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to nil, otherwise we're left with truncate_lines t when a message is printed with message-truncate-lines bound to t. 2001-02-19 Gerd Moellmann * window.c (Fmove_to_window_line): Undo last change. (displayed_window_lines): Call line_bottom_y to determine the line's bottom position. * dispextern.h (line_bottom_y): Add prototype. * xdisp.c (line_bottom_y): New function extracted from pos_visible_p. (pos_visible_p): Use it. * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and set redisplaying_p to 0 here instead of in Frecursive_edit. (Frecursive_edit): Don't bind `inhibit-redisplay' and don't set redisplaying_p. * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update): New variables. (syms_of_xdisp): Initialize new variables. (update_menu_bar): Do nothing if inhibit_menubar_update is set. Specbind `inhibit-menubar-update' when updating the menu bar. * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with safe_run_hooks. * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with safe_run_hooks. * emacs.c (malloc_initialize_hook): Handle case thet `environ' is null. * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration to the start of the file. 2001-02-16 Gerd Moellmann * window.c (set_window_buffer): Fix last change. * window.c (set_window_buffer): Set window's vscroll to 0. * window.c (coordinates_in_window): Increase width of area where the vertical line can be dragged. * xterm.c (x_set_glyph_string_background_width): Extend the background face to the end of the drawing area in the text area, only. * xdisp.c (handle_single_display_prop): Set iterator's position to where the `display' property starts, like for images. (dump_glyph): New function. (dump_glyph_row): Use it. Dump info about marginal areas. * dispnew.c (direct_output_for_insert): Recognize more cases where glyphs can be written instead of being inserted. * xterm.c (x_insert_glyphs): Call window_box_left to obtain the left x-coordinate of the area to shift. * dired.c (directory_files_internal): Set result list to nil before retrying. 2001-02-15 Kenichi Handa * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an invalid multibyte sequence, treat *SRC as a character of eight-bit-graphic. 2001-02-15 Eli Zaretskii * textprop.c (Fset_text_properties): Doc fix. 2001-02-15 Gerd Moellmann * dispnew.c (update_text_area): Undo change of 2001-01-12. 2001-02-14 Dave Love * coding.c: Doc and message fixes. 2001-02-14 Andrew Innes * w32fns.c (w32_wnd_proc) : Allow resizing the Emacs frame above the screen size. 2001-02-14 Gerd Moellmann * xdisp.c (reseat_1): Set iterator's end_charpos to ZV. 2001-02-13 Gerd Moellmann * insdel.c (del_range_1, del_range_byte, del_range_both): Handle case that TO ends up beyond ZV after running before-change-functions. * window.c (window_loop) : Prefer to return the selected window if it is showing the buffer in question. * dired.c (directory_files_internal): Initialize errno. (toplevel): Include errno.h. 2001-02-13 Kenichi Handa * xfaces.c (best_matching_font): New parameter width_ratio. Multiply avgwidth by width_ratio. (choose_face_font): Call best_matching_font with width_ratio calculated from the column width of C. 2001-02-12 Andrew Innes The following changes are to draw box lines inside characters area if line-width is negative. * w32term.c (x_produce_image_glyph): Pay attention to the case that face->box_line_width is negative. (x_produce_stretch_glyph): Likewise. (x_produce_glyphs): Likewise. (x_estimate_mode_line_height): Likewise. (x_draw_glyph_string_background): Likewise. (x_draw_glyph_string_foreground): Likewise. (x_draw_composite_glyph_string_foreground): Likewise. (x_draw_glyph_string_box): Likewise. (x_draw_image_foreground): Likewise. (x_draw_image_relief): Likewise. (x_draw_image_foreground_1): Likewise. (x_draw_image_glyph_string): Likewise. 2001-02-09 Kenichi Handa The following changes are to draw box lines inside characters area if line-width is negative. * xterm.c (x_produce_image_glyph): Pay attention to the case that face->box_line_width is negative. (x_produce_stretch_glyph): Likewise. (x_produce_glyphs): Likewise. (x_estimate_mode_line_height): Likewise. (x_draw_glyph_string_background): Likewise. (x_draw_glyph_string_foreground): Likewise. (x_draw_composite_glyph_string_foreground): Likewise. (x_draw_glyph_string_box): Likewise. (x_draw_image_foreground): Likewise. (x_draw_image_relief): Likewise. (x_draw_image_foreground_1): Likewise. (x_draw_image_glyph_string): Likewise. * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box and :line-width can be negative. (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative. 2001-02-09 Jason Rumney * w32term.c (w32_encode_char): Treat eight bit graphic and control characters the same as ASCII and latin-1. (x_display_and_set_cursor): Check for the focus frame's selected window instead of selected_window. (x_after_update_window_line): Don't clear if frame's internal border width is zero. (x_new_font): Don't change a tooltip's size. (w32_initialize): Set char_ins_del_ok to 1. * w32fns.c (Fx_show_tip): Fix calls to make_number. (x_set_font): If font hasn't changed, avoid recomputing faces and other things. (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only, (Fx_create_frame): Add the tool bar height to the frame height. (x_create_tip_frame): Prevent changing the tooltip's background color by specifying a color for the default font in .Xdefaults. (Qcancel_timer): New variable. (syms_of_w32fns): Initialize and staticpro it. (Fx_hide_tip, Fx_show_tip): Use it. (Fx_show_tip): Make sure to set tip_timer to nil when canceling the timer. (toplevel): Lisp code for generating parts of syms_of_w32fns removed. * w32.c (init_environment): Duplicate local string before putenv. 2001-02-09 ShengHuo ZHU * charset.c (Fstring): A typo. 2001-02-09 Kenichi Handa * charset.c (Fstring): If all arguments are less than 256, return a unibyte string. * editfns.c (Fchar_to_string): If CHARACTER is less than 256, return a unibyte string. * coding.c (code_convert_region): After detecting a coding, if nothing found, set coding->composing to COMPOSITION_NO. (decode_coding_string): Likewise. 2001-02-08 Stefan Monnier * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range' to avoid overflow. 2001-02-07 Kenichi Handa * charset.c (parse_str_to_multibyte): New function. * charset.h (parse_str_to_multibyte): Extern it. * print.c (print_string): If we are going to print a unibyte string into a multibyte buffer, convert the string to multibyte by str_to_multibyte. 2001-02-06 Andrew Innes * w32xfns.c (select_palette): Do nothing if palette hasn't yet been created. It seems we can get sent window messages such as WM_ERASEBKGND before we properly update a frame. 2001-02-06 Gerd Moellmann * dispnew.c (update_frame_line): Rename parameter FRAME to F. Avoid some unnecessary cursor positioning. 2001-02-05 Gerd Moellmann * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH. (LFACE_AVGWIDTH): New macro. (LFACEP): Use AREF. (check_lface_attrs): Check LFACE_AVGWIDTH. (lface_fully_specified_p): Don't check LFACE_AVGWIDTH. (set_lface_from_font_name): Set LFACE_AVGWIDTH. (merge_face_vectors): Check LFACE_AVGWIDTH. (Finternal_make_lisp_face): Use AREF. (xm_set_menu_resources_from_menu_face) (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH. (Finternal_lisp_face_empty_p): Use AREF. (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH. (better_font_p, exact_face_match_p): Add parameter AVGWIDTH. Compare average widths.. (best_matching_font): Arrange for comparing average widths. * dispextern.h (enum lface_attribute_index): Add LFACE_AVGWIDTH_INDEX (invisible from Lisp). 2001-02-05 Dave Love * puresize.h: Revert last change following loadup.el change. 2001-02-05 Andrew Innes * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in invocation of temacs, to work with Windows 2000. (bootstrap-emacs): Ditto. 2001-02-05 Gerd Moellmann * xterm.c (x_display_and_set_cursor): Check for the focus frame's selected window instead of selected_window. * xdisp.c (try_scrolling): If point is in the line below the window, make sure to move the iterator at least a canonical char height down. * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled. 2001-02-05 Kenichi Handa * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not. If invalid, execute CCL_INVALID_CMD. (ccl_driver): If the CCL program is terminated because of CCL_STAT_INVALID_CMD, copy the remaining source data to the destination instead of throwing them away. 2001-02-02 Gerd Moellmann * xfns.c (x_set_font): If font hasn't changed, avoid recomputing faces and other things. * xdisp.c (get_next_display_element): Fix case of empty display table entry. 2001-02-02 Eli Zaretskii * editfns.c (Fconstrain_to_field): Doc fix. * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument into `thoroughly', to make it consistent with the doc string. * window.c (Fenlarge_window, Fshrink_window): Doc fix. 2001-02-01 Gerd Moellmann * search.c (search_buffer): Call set_search_regs with a byte position, not a character position. * xfns.c (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only, 2001-02-01 Eli Zaretskii * frame.c (Fmodify_frame_parameters): Doc fix. 2001-01-31 Gerd Moellmann * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker identifier which is not reserved by Standard C. * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define. * window.c (enum window_part): New enumeration. (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and Qright_bitmap_area. (coordinates_in_window): Return an enumerator from enum window_part. Fix handling of right scroll bar. (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and `right-fringe' instead of `left-bitmap-area' and `right-bitmap-area'. Use enumerators from enum window_part instead of hard-coded integers. (check_window_containing, window_from_coordinates): Use enumerators from enum window_part instead of hard-coded integers. (syms_of_window): Replace Qleft_bitmap_area and Qright_bitmap_area.with Qleft_fringe and Qright_fringe. 2001-01-31 Eli Zaretskii * editfns.c (Fformat_time_string): Doc fix. 2001-01-31 Stefan Monnier * keymap.c (Fwhere_is_internal): Use the first valid binding if no ascii binding is found (when firstonly is t). 2001-01-31 Gerd Moellmann * window.c (Fscroll_right, Fscroll_left): Use interactive_p instead of Finteractive_p. * lisp.h (interactive_p): Add prototype. * eval.c (interactive_p): New function. (Finteractive_p): Use it. * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop. 2001-01-31 Dave Love * .gdbinit (hook-run): Define to run xreload. * textprop.c (Fset_text_properties): Fix newline in doc string. 2001-01-30 Gerd Moellmann * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp): Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF. * dispextern.h (Vtool_bar_button_margin:): Declare extern. (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF) (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines. * xfns.c (Fx_create_frame): Add the tool bar height to the frame height. 2001-01-30 Dave Love * bytecode.c (Fbyte_code) : Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC. 2001-01-29 Gerd Moellmann * bytecode.c (Fbyte_code) : Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC. 2001-01-29 Eli Zaretskii * textprop.c (Fset_text_properties): Doc fix. 2001-01-29 Gerd Moellmann * xdisp.c (forward_to_next_line_start): Remove xassert. 2001-01-29 Jason Rumney * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid returning without releasing it. 2001-01-29 Kenichi Handa * w32fns.c (w32_font_match): Allocate three more bytes to regex for '^', '$', and '\0'. 2001-01-28 Andrew Choi * fontset.c (fontset_pattern_regexp): Allocate three more bytes to regex for '^', '$', and '\0'. * alloc.c (allocate_string) [macintosh]: Call check_string_bytes only if current_sblock has been initialized. * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial terminal frame even if it is the only visible frame. 2001-01-28 Kenichi Handa * fontset.c (font_family_registry): Even if FONTNAME conform to XLFD, if it specifies other fields than family and registry, return FONTANME. New argument FORCE if nonzero cancel that feature. (fontset_font_pattern): Call font_family_registry with FORCE 1 for a signle byte character. Don't set FAMILY part to nil here. It is handled by the caller choose_face_font. (Fnew_fontset): Call font_family_registry with FORCE 0. (Fset_fontset_font): Likewise. 2001-01-27 Gerd Moellmann * xdisp.c (display_line): Don't treat a newline as fitting on the line. 2001-01-26 Gerd Moellmann * window.c (size_window): Set the window's orig_top to nil when changing heights, so that a future shrink_mini_window won't restore a bogus height. * frame.c (do_switch_frame): If selected frame has a mini-window, resize that to exact size. * dispnew.c (adjust_glyph_matrix): Always clear desired matrices. * xdisp.c (display_line): Simplify check for glyphs fitting entirely in the line. * xfns.c (xic_style): New variable. (create_frame_xic): Move static variable to global scope for the case that `static' gets defined away. 2001-01-26 Kenichi Handa * coding.c (decode_coding): Set a flag for inhibiting inconsistent eol. (code_convert_region): Always set saved_coding_symbol. (decode_coding_string): Likewise. Update coding->symbol when we encounter a inconsistent eol by the same way as code_convert_region. 2001-01-25 Gerd Moellmann * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of XClearArea. * xterm.c (x_after_update_window_line): Don't clear if frame's internal border width is zero. (x_clear_area): New function. (x_after_update_window_line, x_clear_end_of_line) (x_scroll_bar_create, x_scroll_bar_set_handle) (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area instead of XClearArea. * xterm.h (x_clear_area): Add prototype. * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif which doesn't seem necessary anymore with Lesstif 0.92. 2001-01-25 Dave Love * puresize.h (BASE_PURESIZE): Up to 720000. * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4. 2001-01-25 Gerd Moellmann * xdisp.c (echo_area_display): Don't call redisplay_internal when Emacs is shutting down. We can't run hooks etc. that would be necessary to do a redisplay. * lread.c (read_integer): Use type EMACS_INT instead of int. 2001-01-25 Eli Zaretskii * ccl.c (ccl_driver): Fix last change. 2001-01-25 Kenichi Handa * ccl.h (sturct ccl_program): New member suppress_error. * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't insert error message to the output. (setup_ccl_program): Initialize ccl->suppress_error to 0. * coding.h (struct coding_system): New member suppress_error. * coding.c (ccl_coding_driver): Setup ccl->suppress_error. (Fset_terminal_coding_system_internal): Set the member suppress_error to 1. (Fset_safe_terminal_coding_system_internal): Likewise. 2001-01-24 Stefan Monnier * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not' as if it was a `charset'. 2001-01-24 Gerd Moellmann * keymap.c (Fwhere_is_internal): Don't nreverse the cached value in where_is_cache; the next lookup in the cache returns something bogus if we do. 2001-01-24 Eli Zaretskii * xdisp.c (syms_of_xdisp) : Don't defsubr if HAVE_WINDOW_SYSTEM isn't defined. 2001-01-24 Gerd Moellmann * fns.c (sweep_weak_table): Fix code taking items out of the hash collision chain. Some cleanup. * xterm.c (x_new_font): Don't change a tooltip's size. * xfns.c (x_create_tip_frame): Prevent changing the tooltip's background color by specifying a color for the default font in .Xdefaults. 2001-01-24 Kenichi Handa * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as a workaround for SunOS 4's cc. (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...". (CCL_SUCCESS, CCL_