Mercurial > emacs
changeset 43798:ff7e1d919ec0
Split pre-21.1 changes into ChangeLog.9.
author | Eli Zaretskii <eliz@gnu.org> |
---|---|
date | Sat, 09 Mar 2002 09:30:18 +0000 |
parents | 2265148ac4b2 |
children | b1abfedc2e1d |
files | src/ChangeLog src/ChangeLog.9 |
diffstat | 2 files changed, 13301 insertions(+), 13292 deletions(-) [+] |
line wrap: on
line diff
--- a/src/ChangeLog Sat Mar 09 09:26:56 2002 +0000 +++ b/src/ChangeLog Sat Mar 09 09:30:18 2002 +0000 @@ -3070,13302 +3070,12 @@ * frame.c: Change doc-string comments to `new style' [w/`doc:' keyword]. -2001-10-20 Gerd Moellmann <gerd@gnu.org> - - * (Version 21.1 released.) - -2001-10-20 Pavel Jan,Bm(Bk <Pavel@Janik.cz> - - * xfns.c (x_laplace_read_row, x_laplace_write_row): Prototypes removed. - - * xdisp.c (invisible_text_between_p): Put prototype inside #if - 0 because unused. - - * bytecode.c, callint.c, callproc.c, casefiddle.c, casetab.c - * category.c, ccl.c, charset.c, process.c, syntax.c, window.c: - Change doc-string comments to `new style' [w/`doc:' keyword]. - -2001-10-20 Miles Bader <miles@gnu.org> - - The following changes remove the glyph_row `inverse_p' field, - which is never set anymore, due to other changes: - - * dispextern.h (struct glyph_row): Remove `inverse_p' field. - (reassert_line_highlight, change_line_highlight): Declarations removed. - * dispnew.c (update_frame_line): Don't call reassert_line_highlight. - (line_hash_code, row_equal_p, fake_current_matrices) - (build_frame_matrix_from_leaf_window, update_frame_line) - (update_frame_line, update_frame_line, update_frame_line): - Don't use `inverse_p' field. - * xterm.c (x_initialize): Don't set reassert_line_highlight_hook or - change_line_highlight_hook. - (XTreassert_line_highlight, x_change_line_highlight): - Functions removed. - (x_fix_overlapping_area, x_write_glyphs, expose_area) - (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field. - * xdisp.c (dump_glyph_row, display_mode_line): Don't use - `inverse_p' field. - * w32term.c (x_fix_overlapping_area, x_write_glyphs, expose_area) - (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field. - (w32_reassert_line_highlight, x_change_line_highlight): - Functions removed. - * w32console.c (reassert_line_highlight, change_line_highlight): - Functions removed. - (initialize_w32_display): Don't set reassert_line_highlight_hook - or change_line_highlight_hook. - (hl_mode): Function removed. - (reset_terminal_modes, set_terminal_modes, update_begin) - (update_end, w32_face_attributes, initialize_w32_display): - (clear_frame, ins_del_lines): Don't call it. - * termhooks.h (reassert_line_highlight_hook) - (change_line_highlight_hook): Declarations removed. - * term.c (reassert_line_highlight_hook) - (change_line_highlight_hook): Variables removed. - (reassert_line_highlight, change_line_highlight): Functions removed. - * msdos.c (IT_reassert_line_highlight) - (IT_change_line_highlight): Functions removed. - (internal_terminal_init): Don't set reassert_line_highlight_hook - or change_line_highlight_hook. - (highlight): Variable removed. - (IT_set_face, IT_update_begin, IT_update_end) - (IT_set_terminal_modes): Don't set or use it. - - The following changes remove inverse-video support for terminals - that use a `magic cookie' standout mode. Due to changes in the - way mode-lines are displayed, such support no longer works - anyway, and it's probable that almost no one uses such terminals - anymore: - - * term.c (standout_requested): Variable removed. - (update_end, highlight_if_desired): Don't use it. - (chars_wasted, copybuf): Variables removed. - (write_standout_marker): Function removed. - (cursor_to, clear_to_end, clear_frame, clear_end_of_line_raw) - (clear_end_of_line_raw, write_glyphs, ins_del_lines): - Don't use `chars_wasted' or `copybuf'. - (calculate_costs): Don't allocate `chars_wasted' or `copybuf'. - Set `costs_set' to true. - (cursor_to, clear_end_of_line): Test `costs_set' instead of - `chars_wasted'. - (clear_end_of_line): Function removed. - (clear_end_of_line_raw): Renamed to `clear_end_of_line'. - (clear_to_end): Call `clear_end_of_line' instead of - `clear_end_of_line_raw'. - (TN_standout_width, TF_xs, TN_magic_cookie_glitch_ul): Vars removed. - (term_init): Don't set them. - Turn off any standout/underline modes that require magic cookies. - (ins_del_lines, highlight_if_desired, background_highlight) - (turn_on_highlight, turn_off_highlight, reset_terminal_modes): - Remove special processing for magic-cookie standout modes. - (turn_off_face, turn_on_face): Remove special processing for - underline magic-cookie glitch. - -2001-10-19 Richard M. Stallman <rms@gnu.org> - - * eval.c (syms_of_eval): Doc fixes. - -2001-10-19 Gerd Moellmann <gerd@gnu.org> - - * xdisp.c (redisplay_internal): Don't clear echo area if the - mini-window is selected. - -2001-10-19 Miles Bader <miles@gnu.org> - - * editfns.c (text_property_stickiness): Non-rear-non-stickiness - doesn't take precedence if the affected property's value is nil. - - * editfns.c (Fencode_time): Escape a BOL paren in the doc-string. - - * 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-18 Stefan Monnier <monnier@cs.yale.edu> - - * keymap.c (current_minor_maps): `override' only shadows its - correspondent in minor-mode-map-alist, not the whole tail. - -2001-10-18 Andrew Innes <andrewi@gnu.org> - - * 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. - -2001-10-18 Gerd Moellmann <gerd@gnu.org> - - * xdisp.c (display_line): Indicate empty lines in active mini-window. - -2001-10-17 Andrew Innes <andrewi@gnu.org> - - * fontset.h (struct font_info) [WINDOWSNT]: Add codepage field. - - * w32fns.c (w32_load_system_font): Cache codepage for font, in - font_info.charset field. - - * 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-17 Andrew Innes <andrewi@gnu.org> - - * 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 <gerd@gnu.org> - - * 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 (try_window_id): Remove code that was only there - for the release of 21.1. - - * xdisp.c (display_line): Don't indicate empty lines in mini-windows. - -2001-10-17 Miles Bader <miles@gnu.org> - - * lisp.h (DEFUN): Remove `DOC_STRINGS_IN_COMMENTS' case. - * xmenu.c, xdisp.c, term.c, dispnew.c, abbrev.c, editfns.c, buffer.c - * xfns.c, alloc.c, minibuf.c, xterm.c, xfaces.c: - Change doc-string comments to `new style' [w/`doc:' keyword]. - (DOC_STRINGS_IN_COMMENTS): Macro removed. - * minibuf.c: Remove old commented-out-DEFUN that was used to fake - out make-docfile. - -2001-10-16 Miles Bader <miles@gnu.org> - - * fns.c: Change doc-string comments to `new style' [w/`doc:' keyword]. - -2001-10-16 Gerd Moellmann <gerd@gnu.org> - - * buffer.c (Fset_buffer_major_mode): Use initial-major-mode for - *scratch*. - -2001-10-16 Ken Raeburn <raeburn@gnu.org> - - Avoid the assumption that car and cdr slots of cons cells are - addressable lvalues; this allows for easier experimentation with - other lisp implementations that may not permit such accesses for - various reasons. Not quite complete -- buffer.c still needs some - work, and w32/mac files need rechecking -- so compile-time - enforcement is left disabled for now. - - * lisp.h (LISP_MAKE_RVALUE): New macro, or function in the case of - gcc with a union-based Lisp object rep. Redefine as no-op for now. - (XCAR_AS_LVALUE, XCDR_AS_LVALUE): Rename from old XCAR, XCDR. - (XCAR, XCDR): Apply LISP_MAKE_RVALUE to the _AS_LVALUE versions. - (XSETCAR, XSETCDR): New macros. - (XSETCARFASTINT, XSETCDRFASTINT): New macros. - (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): New macros. - * keyboard.h (POSN_BUFFER_SET_POSN): New macro. - * alloc.c (Fcons, pure_cons, Fgarbage_collect): Use XSETCAR and - XSETCDR. - (mark_buffer): Use XCAR_AS_LVALUE, XCDR_AS_LVALUE. - * buffer.c (record_buffer, Fbury_buffer) - (swap_out_buffer_local_variables, recenter_overlay_lists) - (Foverlay_put): Use XSETCAR and XSETCDR to set the car and cdr - fields of a cons cell respectively. - * callint.c (quotify_args, Fcall_interactively): Likewise. - * ccl.c (Fregister_code_conversion_map): Likewise. - * coding.c (detect_coding_system): Likewise. - * composite.c (get_composition_id, make_composition_value_copy): - Likewise. - * data.c (Fsetcar, Fsetcdr, swap_in_global_binding) - (swap_in_symval_forwarding, set_internal, Fset_default) - (Fmake_variable_buffer_local, Fmake_local_variable) - (Fmake_variable_frame_local): Likewise. - * fns.c (concat, Fcopy_alist, Fwidget_put): Likewise. - * keymap.c (Fset_keymap_parent, store_in_keymap) - (accessible_keymaps_1, where_is_internal_2, Fcopy_keymap): Likewise. - * minibuf.c (get_minibuffer): Likewise. - * search.c (Fmatch_data): Likewise. - * textprop.c (extend_property_ranges): Likewise. - * undo.c (record_insert, Fundo_boundary, truncate_undo_list): Likewise. - * w32fns.c (w32_msg_pump, Fw32_register_hot_key, w32_list_fonts): - Likewise. - * w32term.c (x_delete_display): Likewise. - * xfaces.c (remove_duplicates, Finternal_set_lisp_face_attribute): - Likewise. - * xterm.c (x_list_fonts, x_load_font, x_delete_display): Likewise. - * doc.c (store_function_docstring): Use XSETCARFASTINT. - * fileio.c (Fdo_auto_save): Use XSETCARFASTINT and XSETCDRFASTINT. - (Fread_file_name): Use XSETCAR. - * fontset.c (Fset_fontset_font): Use CHECK_NUMBER_CAR and - CHECK_NUMBER_CDR. - (accumulate_font_info, Ffontset_info): Use XSETCAR and XSETCDR. - * frame.c (Fmake_terminal_frame): Use XSETCDR. - * indent.c (Fcompute_motion): Use CHECK_NUMBER_CAR and - CHECK_NUMBER_CDR. - * keyboard.c (read_char): Alter list traversal to avoid taking the - address of cons cell slots. Use POSN_BUFFER_SET_POSN. - (parse_menu_item): Use XSETCAR and XSETCDR. - (reach_char_x_menu_prompt): Use XSETCAR. - (read_key_sequence): Use POSN_BUFFER_SET_POSN. - (Fcommand_execute): Use XSETCDR. - * lread.c (Fload): Use XSETCARFASTINT and XSETCDRFASTINT. - (openp): Change list traversal to avoid using XCAR as lvalue. - (read_list): Use XSETCDR. - * process.c (wait_reading_process_input): Change wait_for_cell - handling to avoid taking addresses of cons cell slots. - * xselect.c (x_own_selection, x_handle_selection_clear) - (x_clear_frame_selections): Use XSETCDR. - (wait_for_property_change): Use XSETCARFASTINT and XSETCDRFASTINT. - (x_handle_property_notify, x_get_foreign_selection) - (x_handle_selection_notify): Use XSETCAR. - -2001-10-15 Pavel Jan,Bm(Bk <Pavel@Janik.cz> - - * buffer.c: Put doc strings in comments. - - * sound.c: Include <sys/ioctl.h> also on systems without <soundcard.h>. - -2001-10-15 Sam Steingold <sds@gnu.org> - - * fns.c (Vafter_load_alist): Declare extern (w32 build problem). - -2001-10-15 Pavel Jan,Bm(Bk <Pavel@Janik.cz> - - * process.c (process-inherit-coding-system-flag) - (get-buffer-process): Do not confuse make-docfile with doc strings - in comment. - - * editfns.c (Fchar_to_string): Make doc string consistent with - arguments. Put doc strings in comments. - - * abbrev.c, minibuf.c: Put doc strings in comments. - -2001-10-15 Gerd Moellmann <gerd@gnu.org> - - * window.c (window_loop): Don't check for Fother_buffer returning nil. - - * window.c (select_window_1): Unfreeze window start. Remove a - doubled test for WINDOW being live. - -2001-10-15 Pavel Jan,Bm(Bk <Pavel@Janik.cz> - - * fns.c (Fmapconcat): Fix typo in a doc string. - - * dispnew.c (Fsleep_for): Fix typo in a doc string. - -2001-10-15 Gerd Moellmann <gerd@gnu.org> - - * xterm.c (x_draw_glyph_string): Restore clipping after - drawing box. - -2001-10-15 Pavel Jan,Bm(Bk <Pavel@Janik.cz> - - * callint.c (prefix-arg, current-prefix-arg): Fix typo in a doc string. - -2001-10-14 Stefan Monnier <monnier@cs.yale.edu> - - * indent.c (skip_invisible): Use new retval of - TEXT_PROP_MEANS_INVISIBLE. - - * keymap.c (access_keymap): Unify handling of `t' and generic-char. - If a parent is reached and noinherit is set, exit immediately. - Use AREF and ASIZE macros. Call get_keyelt before checking KEYMAPP. - - * s/ms-w32.h (EXEC_SUFFIXES): - * s/msdos.h (EXEC_SUFFIXES): - * process.h (EXEC_SUFFIXES): Remove. - - * callproc.c (syms_of_callproc): Init Vexec_suffixes to Qnil. - (decode_suffixes): Remove. - - * intervals.h (TEXT_PROP_MEANS_INVISIBLE_WITH_ELLIPSIS) - (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS, invisible_noellipsis_p) - (invisible_ellipsis_p): Remove. - - * xdisp.c (DOLIST, LOOP_PROPVAL): Remove. - (invisible_p): Return 1 or 2 depending on whether an ellipsis is used. - (invisible_ellipsis_p, invisible_noellipsis_p): Remove. - (in_ellipses_for_invisible_text_p, handle_invisible_prop): - Use new retval of TEXT_PROP_MEANS_INVISIBLE. - -2001-10-14 Pavel Jan,Bm(Bk <Pavel@Janik.cz> - - * lisp.h (Ftop_level): Add prototype. - - * xterm.c: (xlwmenu_window_p, xlwmenu_redisplay): Add prototypes. - (XTread_socket): Improve style of comments to follow other - comments. - - * keyboard.c (Fcommand_execute): Remove unnecessary prototype (it - is already prototyped in included lisp.h). - - * frame.c (Fset_mouse_position): Improve style of comment to - follow other comments. - (Fset_mouse_pixel_position): Improve style of comment to follow - other comments. - (Fmake_frame_visible): Doc fix and typo in comment. - (Fmake_frame_invisible): Doc fix and typo in comment. - (Ficonify_frame): Fix typo in comment. - -2001-10-14 Gerd Moellmann <gerd@gnu.org> - - * xfns.c, dispnew.c, xterm.c, xdisp.c, xfaces.c, xmenu.c - * term.c, alloc.c: Put doc strings in comments. - -2001-10-13 Gerd Moellmann <gerd@gnu.org> - - * lisp.h (DEFUN, DEFVAR_LISP, ...) [DOC_STRINGS_IN_COMMENTS]: - Provide definitions for doc strings in comments. - - * fns.c: Put doc strings in comments. - -2001-10-13 Eli Zaretskii <eliz@is.elta.co.il> - - * dired.c (file_name_completion): Ignore a candidate directory if - it matches an element in completion-ignored-extensions that ends - in a slash. - (syms_of_dired) <completion-ignored-extensions>: Mention the above - feature in the doc string. - (Ffile_name_completion): Ditto. - -2001-10-12 Stefan Monnier <monnier@cs.yale.edu> - - * indent.c (skip_invisible): Don't skip "ellipsisized" text. - - * xfns.c (syms_of_xfns): Update calls to Fprovide. - - * lisp.h (Fprovide): Update prototype. - (Ffeaturep, invisible_p): Remove. - - * xdisp.c (init_iterator): Be more strict with bytepos and charpos. - (DOLIST, LOOP_PROPVAL): New macros. - (invisible_p, invisible_ellipsis_p): Use them. - (invisible_noellipsis_p): New function. - (syms_of_xdisp): Use empty_string. - - * alloc.c (mark_interval_tree): Use traverse_intervals_noorder. - - * lread.c (substitute_object_recurse): Use traverse_intervals_noorder. - (syms_of_lread) <Vafter_load_alist>: Update docstring. - - * print.c (Fwith_output_to_temp_buffer): Align with - internal_with_output_to_temp_buffer. - (print_preprocess): Use traverse_intervals_noorder. - (print_object): Update call to traverse_intervals. - - * intervals.h (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS): New macro. - (traverse_intervals_noorder, invisible_noellipsis_p): New funs. - - * intervals.c (traverse_intervals_noorder): New function. - (search_for_interval, count_intervals): Use it. - (traverse_intervals): Use less stack space and drop `depth' arg. - - * fns.c (Ffeaturep): Add new `subfeature' arg. - (Fprovide): Add new `subfeatures' arg. Use `after-load-alist'. - (Qsubfeatures): New var. - (syms_of_fns): Initialize it. - - * keymap.c (Fkey_description): Use empty_string. - (Fdescribe_bindings_internal, describe_buffer_bindings): Remove. - (syms_of_keymap): Setup inheritance between maps. - Don't export Sdescribe_bindings_internal any more. - - * minibuf.c (keys_of_minibuf): Eliminate redundant bindings. - -2001-10-12 Gerd Moellmann <gerd@gnu.org> - - * xterm.c (notice_overwritten_cursor): Renamed from - note_overwritten_text_cursor. Rewritten to take glyph widths into - account. - -2001-10-12 Eli Zaretskii <eliz@is.elta.co.il> - - * lread.c (syms_of_lread) <load-suffixes>: Fix last change: - multi-line strings without a trailing "\n\". - -2001-10-12 Pavel Jan,Bm(Bk <Pavel@Janik.cz> - - * floatfns.c: float_error() is defined iff FLOAT_CATCH_SIGILL is - defined. - -2001-10-11 Stefan Monnier <monnier@cs.yale.edu> - - * callint.c (Fcall_interactively): Remove unused code. Use XCAR. - - * xfns.c (x_create_bitmap_from_file, x_find_image_file): - * w32proc.c (sys_spawnve): - * w32fns.c (x_create_bitmap_from_file, x_find_image_file): - * w32.c (check_windows_init_file): - * sound.c (Fplay_sound): - * emacs.c (init_cmdargs): - * process.c (Fstart_process): Update calls to openp. - - * callproc.c (Vexec_suffixes): New var. - (Fcall_process): Update call to openp. - (decode_suffixes): New function. - (syms_of_callproc): Init exec-suffixes. - - * lread.c (Vload_suffixes, default_suffixes): New vars. - (openp): Take a lisp list of suffixes. - Check for file-name-handlers even if the file was absolute already. - (syms_of_lread): Declare load-suffixes. - (Fload): Fix up call to openp. - Don't bother checking for file-name-handler at the very beginning. - - * keymap.h (Fcopy_keymap): Don't export. - - * lisp.h (empty_string): Declare. - (Vload_suffixes, Vexec_suffixes): Declare. - (openp): Update prototype. - - * emacs.c (empty_string): New var. - (syms_of_emacs): Initialize it. - - * search.c (wordify): Use it. - - * buffer.c (Fbury_buffer): Don't try to remove the buffer from the - selected window if it's not displayed there. Handle the case - when the window is dedicated. - (syms_of_buffer): Fix docstrings not to mention "buffer-local" anymore. - - * undo.c (Fprimitive_undo): Use XCAR/XCDR. - - * syntax.h (struct gl_state_s): Change the meaning of b_property. - Remove left_ok and right_ok. - (UPDATE_SYNTAX_TABLE_BACKWARD, UPDATE_SYNTAX_TABLE) - (SETUP_SYNTAX_TABLE, SETUP_SYNTAX_TABLE_FOR_OBJECT): Update to the - new meaning of b_property. - - * syntax.c (update_syntax_table): Simplify. - (Fforward_comment): Don't skip quoted chars when going backward. - -2001-10-11 Gerd Moellmann <gerd@gnu.org> - - * lisp.h (FIXNUM_OVERFLOW_P): Cast I to EMACS_INT in comparisons - in case I is of some unsigned type, in which case - MOST_NEGATIVE_FIXNUM will be converted to unsigned, and the - comparison becomes bogus. - - * editfns.c (Fuser_uid, Fuser_real_uid): Use make_fixnum_or_float. - (Fuser_full_name): Fix bug treating a float as a fixnum. - - * data.c (Fstring_to_number): Use make_fixnum_or_float. - - * lisp.h (make_fixnum_or_float): New macro. - - * lisp.h (circular_list_error): Add prototype. - - * data.c (Qcircular_list): New variable. - (circular_list_error): New function. - (syms_of_data): Initialize it Qcircular_list. - -2001-10-10 Stefan Monnier <monnier@cs.yale.edu> - - * window.c, syntax.c, macros.c, frame.c, emacs.c, cmds.c, category.c - * casefiddle.c, buffer.c: Include keymap.h. - -2001-10-10 Gerd Moellmann <gerd@gnu.org> - - * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Add `-nointrinsics' - options. From Dave Love <d.love@dl.ac.uk>. - -2001-10-09 Gerd Moellmann <gerd@gnu.org> - - * regex.c (WIDE_CHAR_SUPPORT): Do not use defined() in macro. - From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>. - - * editfns.c (Fcurrent_time_zone): Cast isalnum() argument to - unsigned char. - From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>. - -2001-10-08 Andrew Innes <andrewi@gnu.org> - - * lisp.h [max]: Undef min and max before redefining them. - - * w32gui.h: Do not undef min and max. - - * w32heap.h: Do not undef min and max. - - * s/ms-w32.h: Do not undef min and max. - -2001-10-08 Stefan Monnier <monnier@cs.yale.edu> - - * xdisp.c (handle_fontified_prop): Don't bind after-change-functions. - -2001-10-08 Sam Steingold <sds@gnu.org> - - * keymap.c (current-active-maps): Quote newlines (compilation error). - -2001-10-08 Eli Zaretskii <eliz@is.elta.co.il> - - * 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 Stefan Monnier <monnier@cs.yale.edu> - - * lisp.h: Remove the entries for keymap.c (moved to keymap.h). - - * keyboard.h (map_prompt): Remove. - - * xterm.c, w32term.c, term.c, minibuf.c, keymap.c, - * intervals.c, fns.c, doc.c, callint.c: Include keymap.h. - - * xmenu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt. - - * w32menu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt. - - * keyboard.c (map_prompt): Remove. - (read_char_x_menu_prompt, read_char_minibuf_menu_prompt): - Use Fkeymap_prompt. - - * keymap.h: New file. Extracted from lisp.h. - - * keymap.c (Fkeymap_prompt, Fcurrent_active_maps): New funs. - (accessible_keymaps_1): New function. - (Faccessible_keymaps, accessible_keymaps_char_table): Use it. - (Fwhere_is_internal): Use Fcurrent_active_maps. - (Fdescribe_buffer_bindings): Renamed from describe_buffer_bindings. - Insert in current buffer rather than standard-output. - Don't call `help-mode'. Export to elisp. - (describe_buffer_bindings): New wrapper. - (syms_of_keymap): Defsubr Skeymap_prompt, Scurrent_active_maps - and Sdescribe_buffer_bindings. - -2001-10-08 Gerd Moellmann <gerd@gnu.org> - - * atimer.c (alarm_signal_handler) [USG && !POSIX_SIGNALS]: - Remove code setting signal handler. - - * sysdep.c (child_setup_tty) [HAVE_TERMIO || HAVE_TERMIOS]: - Clear ICRNL and INLCR. From Daiki Ueno <ueno@unixuser.org>. - -2001-10-08 Pavel Jan,Bm(Bk <Pavel@Janik.cz> - - * keyboard.c: Don't define min/max. - -2001-10-08 Gerd Moellmann <gerd@gnu.org> - - * xterm.c, xmenu.c, xfns.c, xdisp.c, window.c: - * w32term.c, w32menu.c, w32console.c, w32bdf.c, w32.c, term.c - * sysdep.c, sound.c, search.c, scroll.c, minibuf.c, keymap.c - * intervals.c, insdel.c, indent.c, fns.c, fileio.c, editfns.c - * dispnew.c, dired.c, charset.c, xfaces.c, alloc.c, atimer.c: - Don't define min/max. - - * lisp.h (min, max): New macros. - - * puresize.h (BASE_PURESIZE): Increase to 725000. - -2001-10-08 Pavel Jan,Bm(Bk <Pavel@Janik.cz> - - * xfaces.c (free_frame_menubar): Add prototype. - - * lisp.h (init_window): Add prototype. - - * editfns.c: Include ctype.h. - - * xterm.c: USE_LUCID can be defined iff USE_X_TOOLKIT is defined. - (xm_scroll_callback) [USE_MOTIF]: Remove unused variable `percent'. - (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]: Remove unused - variable `sb'. - - * xfns.c (Fx_hide_tip): Fix typo in a doc string. - (Fx_file_dialog) [USE_MOTIF]: Remove unused variables - `popup_activated_flag' and `title'. - - * doc.c (Fdocumentation_property): Fix typo in a doc string. - - * emacs.c (main): Remove extra `;'. - - * atimer.h (struct atimer): Fix typos in a comment. - - * atimer.c: Fix typo. - - * Makefile.in: Fix typo. - - * README: Remove obsolete part mentioning removed VMS file. - -2001-10-07 Miles Bader <miles@gnu.org> - - * Makefile.in (lisp, shortlisp): Add `button.elc'. - -2001-10-07 Ken Raeburn <raeburn@gnu.org> - - * minibuf.c (Fminibuffer_prompt_end): Don't apply make_number to a - Lisp_Object. - - * lisp.h (Ffield_end): Declare. - -2001-10-07 Gerd Moellmann <gerd@gnu.org> - - * keyboard.c (parse_modifiers, apply_modifiers): Use VALMASK. - - * insdel.c (make_gap): Use MOST_POSITIVE_FIXNUM. - - * floatfns.c (FLOAT_TO_INT2, FLOAT_TO_INT): Use FIXNUM_OVERFLOW_P. - - * dired.c (Ffile_attributes): Use FIXNUM_OVERFLOW_P. - - * bytecode.c (syms_of_bytecode) [BYTE_CODE_METER]: Doc fix. - (METER_CODE, Fbyte_code): Use MOST_POSITIVE_FIXNUM. - - * alloc.c (inhibit_garbage_collection): Simplify. - (Fmemory_use_counts): Ditto. - - * data.c (most_positive_fixnum, most_negative_fixnum): New variables. - (syms_of_data): DEFVAR_INT most-positive-fixnum and - most-negative-fixnum. - - * lisp.h (MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM) - (FIXNUM_OVERFLOW_P): New macros. - -2001-10-06 Miles Bader <miles@gnu.org> - - * xterm.h (struct x_output): Add scroll_bar_top_shadow_pixel and - scroll_bar_bottom_shadow_pixel fields. - * xterm.c (x_create_toolkit_scroll_bar): Try to allocate colors - for the shadows, and tell the toolkit about them if we succeed. - (x_destroy_window) [USE_TOOLKIT_SCROLL_BARS]: - Free scroll-bar shadow colors. - * xfns.c (x_set_scroll_bar_background) [USE_TOOLKIT_SCROLL_BARS]: - Free scroll-bar shadow colors when the background color changes. - (Fx_create_frame, x_create_tip_frame) [USE_TOOLKIT_SCROLL_BARS]: - Initialize scroll-bar shadow-color fields. - -2001-10-05 Gerd Moellmann <gerd@gnu.org> - - * fileio.c (Fcopy_file): If NEWNAME is a directory copy FILE there. - -2001-10-05 Miles Bader <miles@gnu.org> - - * minibuf.c (Fminibuffer_prompt_end, Fminibuffer_contents) - (Fminibuffer_contents_no_properties, Fdelete_minibuffer_contents): - New functions (were in simple.el). - (Fminibuffer_complete_and_exit, Fminibuffer_complete_word) - (read_minibuf, do_completion, Fminibuffer_completion_help): Use them. - (syms_of_minibuf): Initialize them. - -2001-10-05 Gerd Moellmann <gerd@gnu.org> - - * xfns.c (tiff_error_handler, tiff_warning_handler): New functions. - (tiff_load): Install them as error and warning handler. - -2001-10-04 Andrew Innes <andrewi@gnu.org> - - * 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-04 Stefan Monnier <monnier@cs.yale.edu> - - * window.h (MINI_WINDOW_P): Use NILP. - - * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM): Define also for non-NT. - - * termhooks.h (struct input_event): Use proper type for `kind'. - -2001-10-04 Gerd Moellmann <gerd@gnu.org> - - This handles unknown keysyms better than before. For example, - after `xmodmap -e 'keysym F5 = ccaron' in a Latin-1 environment, - Emacs formerly completely ignored F5. With the change, it derives - a key symbol from the name of the X keysym, `ccaron' in this case. - Reported by Martin Buchholz. - - * xterm.c (XTread_socket): Return a non_ascii_keystroke for - unknown keysyms. - - * keyboard.c (make_lispy_event) [HAVE_X_WINDOWS]: If we know - that EVENT->code isn't a function key, use the keysym's name. - -2001-10-04 Gerd Moellmann <gerd@gnu.org> - - FOREACH is a macro that should make it easier to loop over Lisp - lists with checks for cycles and proper lists. - - * lisp.h (LIST_END_P, FOREACH): New macros. - -2001-10-04 Gerd Moellmann <gerd@gnu.org> - - On some systems, XtCloseDisplay seems to cause a SIGSEGV when - called for a lost connection. Prevent dumping core in this case. - Instead print the X error, and exit. On user request. - - * xterm.c (error_msg): New variable. - (x_fatal_error_signal): New function. - (x_connection_closed): Set error_msg. Install x_fatal_error_signal - as fatal_error_signal_hook around the call to XtCloseDisplay. - - * emacs.c (fatal_error_signal_hook): New variable. - (fatal_error_signal): Call that function. - -2001-10-04 Gerd Moellmann <gerd@gnu.org> - - With this, Emacs prints how much pure storage it will - approximately need in case pure storage overflows while dumping. - - * alloc.c (purebeg, pure_size, pure_bytes_used_before_overflow): - New variables. - (init_alloc_once): Initialize new variables. - (PURE_POINTER_P): Use new variables. - (pure_alloc): If pure storage overflows, allocate from the heap. - (check_pure_size): New function. - (Fgarbage_collect): Don't GC if pure storage has overflowed. - - * lisp.h (pure_size) [HAVE_SHM]: Declare extern size_t. - (check_pure_size): Add prototype. - - * emacs.c (Fdump_emacs_data, Fdump_emacs): Call check_pure_size. - -2001-10-04 Gerd Moellmann <gerd@gnu.org> - - This adds a post-gc-hook that's run with GC inhibited. - Requested by Francois Pinard. XEmacs has it. Added to NEWS. - - * alloc.c (Vpost_gc_hook, Qpost_gc_hook): New variables. - (syms_of_alloc): DEFVAR_LISP post-gc-hook, initialize Qpost_gc_hook. - (Fgarbage_collect): Run post-gc-hook. - -2001-10-04 Gerd Moellmann <gerd@gnu.org> - - This adds `defvaralias' and `indirect-variable'. Changes not - directly related to this feature are there to gain the same - performance again as before variable aliases. - - You must use the SYMBOL_VALUE and SET_SYMBOL_VALUE macros in C - code to get and set symbol values, to take defvaralias into account. - - (Note: the new `constant' bit-flag in symbols would make it - possible to define arbitrary read-only variables, e.g. with - `defconst'.) - - Documentation is in lispref/variables.texi. Added to NEWS. - - * lisp.h (enum symbol_interned): New enumeration. - (struct Lisp_Symbol): Remove member `obarray', add - `indirect_variable', `constant', and `interned'. - (SYMBOL_INTERNED_P, SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P) - (SYMBOL_CONSTANT_P, SYMBOL_VALUE, SET_SYMBOL_VALUE): New macros. - (indirect_variable): Add prototype. - - * print.c (print_preprocess, print_object): Test internedness of - symbols differently. - - * lread.c (Fintern, Funintern): Set symbol's interned and constant - bit-fields. - (init_obarray): Likewise for t and nil. - - * eval.c Use SYMBOL_VALUE/SET_SYMBOL_VALUE. - (Fdefvaralias): New function. - (specbind): Simplify the test if symbol is a constant. - (syms_of_eval): Defsubr Fdefvaralias. - - * data.c: Use SYMBOL_VALUE/SET_SYMBOL_VALUE. - (Qcyclic_variable_indirection): New variable. - (Fkeywordp): Check for internedness differently. - (Fmakunbound): Simplify the test if symbol is a constant. - (indirect_variable, Findirect_variable): New functions. - (swap_in_symval_forwarding): If SYMBOL is an alias, use the - aliased symbol. - (let_shadows_buffer_binding_p): Check for variable aliases. - (set_internal): Simplify the test if SYMBOL is a constant. - If SYMBOL has a buffer-local value and is an alias, use the aliased - symbol instead. - (syms_of_data): Initialize Qcyclic_variable_indirection and defsubr - Sindirect_variable. - - * bytecode.c (Fbyte_code) <varref>: Use SYMBOL_VALUE. - (Fbyte_code) <varset>: Simplify the test if symbol's value can be - set directly. - - * alloc.c (Fmake_symbol): Adapt to changes of struct Lisp_Symbol. - - * abbrev.c, buffer.c, coding.c, fns.c, frame.c, keyboard.c: - * minibuf.c, sunfns.c, w16select.c: Use SYMBOL_VALUE/ - SET_SYMBOL_VALUE macros instead of accessing symbol values directly. - -2001-10-04 Gerd Moellmann <gerd@gnu.org> - - * Branch for 21.1. - -2001-10-03 Miles Bader <miles@gnu.org> - - * 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 <miles@gnu.org> - - * 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 <gerd@gnu.org> - - * 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) <ends_in_newline_from_string_p>: - New bit flag - -2001-10-01 Richard M. Stallman <rms@gnu.org> - - * search.c (Freplace_match): Doc fix. - -2001-09-28 Andrew Innes <andrewi@gnu.org> - - * w32menu.c (set_frame_menubar): Take into account that - f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn - <raeburn@gnu.org>. - -2001-09-30 Eli Zaretskii <eliz@is.elta.co.il> - - * frame.c (syms_of_frame) <default-minibuffer-frame>: Doc fix. - -2001-09-28 Pavel Jan,Bm(Bk <Pavel@Janik.cz> - - * s/gnu-linux.h: Fix a typo in comment. - -2001-09-28 Andreas Schwab <schwab@suse.de> - - * 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 <gerd@gnu.org> - - * m/macppc.h [DATA_SEG_BITS]: Put in #if 0 until we know what's - really going on here. - -2001-09-27 Stefan Monnier <monnier@cs.yale.edu> - - * search.c (trivial_regexp_p): Catch \{N,M\} as well. - -2001-09-27 Eli Zaretskii <eliz@is.elta.co.il> - - * 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 <gerd@gnu.org> - - * 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 <gerd@gnu.org> - - * 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 <gerd@gnu.org> - - * 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 <monnier@cs.yale.edu>. - - * 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 <handa@etl.go.jp>. - -2001-09-24 Gerd Moellmann <gerd@gnu.org> - - * 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 <gerd@gnu.org> - - * sysdep.c (wait_for_termination) [POSIX_SIGNALS]: - Terminate only if kill returns -1, and errno is ESRCH. - -2001-09-21 Markus Rost <rost@math.ohio-state.edu> - - * Makefile.in (shortlisp): Add ../lisp/env.elc. - -2001-09-20 Gerd Moellmann <gerd@gnu.org> - - * 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 <gerd@gnu.org> - - * 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 <gerd@gnu.org> - - * 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 <gerd@gnu.org> - - * 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 <eliz@is.elta.co.il> - - * dired.c (Ffile_attributes): Doc fix. - -2001-09-14 Gerd Moellmann <gerd@gnu.org> - - * fileio.c (Ffile_symlink_p): Fix last change. - - * filelock.c (current_lock_owner): Fix last change. - -2001-09-13 Gerd Moellmann <gerd@gnu.org> - - * 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 <gerd@gnu.org> - - * 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 <gerd@gnu.org> - - * 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 <rms@gnu.org> - - * frame.c (Fmouse_position): Doc fix. - -2001-09-07 Gerd Moellmann <gerd@gnu.org> - - * xdisp.c (init_from_display_pos): Don't compare the result - of calling index with NULL. - -2001-09-06 Gerd Moellmann <gerd@gnu.org> - - * xfns.c (x_set_background_color): Don't change the colors - of the X window of scroll bar widgets. - -2001-09-05 Andrew Innes <andrewi@gnu.org> - - * w32fns.c (w32_createwindow): Undo last change. - -2001-09-05 Gerd Moellmann <gerd@gnu.org> - - * 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 <andrewi@gnu.org> - - * 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 <monnier@cs.yale.edu> - - * xdisp.c (handle_single_display_prop): Fix for int/Lisp_Object mixup. - -2001-09-03 Gerd Moellmann <gerd@gnu.org> - - * xterm.c (note_mouse_highlight) <help-echo>: 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) <mouse-face>: 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) <default-directory>: Doc fix. - -2001-09-01 Eli Zaretskii <eliz@is.elta.co.il> - - * fns.c (Fmd5): Doc fix. - -2001-08-31 Gerd Moellmann <gerd@gnu.org> - - * composite.c (update_compositions): Do nothing if - inhibit-modification-hooks is set. - -2001-08-30 Gerd Moellmann <gerd@gnu.org> - - * 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 <gerd@gnu.org> - - * fileio.c (Finsert_file_contents): Undo change of 2001-08-27. - -2001-08-28 Eli Zaretskii <eliz@is.elta.co.il> - - * w32term.c (x_set_glyph_string_background_width) - (show_mouse_face): Track the last changes in xterm.c. - -2001-08-28 Gerd Moellmann <gerd@gnu.org> - - * 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 <miles@gnu.org> - - * textprop.c (Fprevious_single_char_property_change) - (Fnext_single_char_property_change): Doc fixes. - -2001-08-27 Gerd Moellmann <gerd@gnu.org> - - * 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 <gerd@gnu.org> - - * 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 <akochoi@cse.cuhk.edu.hk> - - * 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 <gerd@gnu.org> - - * 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 <gerd@gnu.org> - - * 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 <gerd@gnu.org> - - * 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 <gerd@gnu.org> - - * xrdb.c (SYSV): Don't define on Solaris 2. - From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>. - - * xdisp.c (move_it_by_lines) <DVPOS < 0>: Start at the beginning - of the screen line, not text line, containing IT's current position. - -2001-08-15 Gerd Moellmann <gerd@gnu.org> - - * 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 <andrewi@gnu.org> - - * w32term.c (x_draw_glyph_string): Draw relief (if any) before - drawing glyph string. - -2001-08-14 Eli Zaretskii <eliz@is.elta.co.il> - - * s/hiuxwe2.h: New file, for the HITACHI SR2001/SR2201 series - running HI-UX/MPP. - -2001-08-14 Gerd Moellmann <gerd@gnu.org> - - * xfaces.c (x_update_menu_appearance): Save and restore value of - interrupt_input_blocked. - -2001-08-13 Gerd Moellmann <gerd@gnu.org> - - * xdisp.c (move_it_by_lines) <DVPOS < 0>: 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) <double-click-fuzz>: Doc fix. - -2001-08-10 Eli Zaretskii <eliz@is.elta.co.il> - - * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Fix a typo in - a doc string. - -2001-08-09 Gerd Moellmann <gerd@gnu.org> - - * 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 <gerd@gnu.org> - - * dispnew.c (adjust_glyph_matrix): In the optimization for - windows whose height has changed, disable partially visible lines. - -2001-08-07 Gerd Moellmann <gerd@gnu.org> - - * 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 <gerd@gnu.org> - - * xterm.c (x_dump_glyph_string): Put in #if GLYPH_DEBUG. - -2001-08-06 Pavel Jan,Bm(Bk <Pavel@Janik.cz> - - * alloc.c (init_stack): Remove declaration. - -2001-08-03 Gerd Moellmann <gerd@gnu.org> - - * 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 <gerd@gnu.org> - - * xdisp.c (redisplay_internal): Take message_cleared_p into - account only if minibuf_level == 0. - -2001-08-01 Gerd Moellmann <gerd@gnu.org> - - * 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 <eliz@is.elta.co.il> - - * 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 <gerd@gnu.org> - - * 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 <gerd@gnu.org> - - * 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 - <raeburn@gnu.org>. - -2001-07-27 Gerd Moellmann <gerd@gnu.org> - - * 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 <gerd@gnu.org> - - * 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 <andrewi@gnu.org> - - * w32term.c (x_display_list): New variable. - (w32_term_init): Set it. - - * w32term.h (x_display_list): New extern. - -2001-07-26 Gerd Moellmann <gerd@gnu.org> - - * 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 <gerd@gnu.org> - - * 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 <gerd@gnu.org> - - * xfns.c (valid_image_p): Protect better against invalid image - specifications. Previous code could signal an error. - -2001-07-23 Gerd Moellmann <gerd@gnu.org> - - * 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 <gerd@gnu.org> - - * 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 <gerd@gnu.org> - - * 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 <raeburn@gnu.org> - - * fns.c (Fset_char_table_default): Check that a charset is defined - before checking its dimension. - -2001-07-17 Ken Raeburn <raeburn@gnu.org> - - * 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 <gerd@gnu.org> - - * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]: - Increase to 4096 because of paste problems reported on GNU/Linux. - -2001-07-17 Jan Nieuwenhuizen <janneke@gnu.org> - - * emacs.c (USAGE1): Add +LINE:COLUMN option help. - -2001-07-16 Gerd Moellmann <gerd@gnu.org> - - * 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 <gerd@gnu.org> - - * 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 <monnier@cs.yale.edu> - - * 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 <eliz@is.elta.co.il> - - * dired.c (file_name_completion): Pass dp->d_name to - Fstring_match, not elt, which is always nil here. - -2001-07-12 Gerd Moellmann <gerd@gnu.org> - - * xselect.c (x_decline_selection_request): Handle errors - caused by receivers that have vanished. - - * xterm.c (XTread_socket) <PropertyNotify>: 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 <monnier@cs.yale.edu> - - * 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 <gerd@gnu.org> - - * 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 <gerd@gnu.org> - - * 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 <gerd@gnu.org> - - * sound.c (toplevel): Include <signal.h> and "syssignal.h". - (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO - around ioctls. - -2001-07-06 Eli Zaretskii <eliz@is.elta.co.il> - - * 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 <gerd@gnu.org> - - * 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 <gerd@gnu.org> - - * xterm.c (x_produce_glyphs): Don't convert multibyte characters - to unibyte characters in unibyte buffers. - -2001-07-03 Gerd Moellmann <gerd@gnu.org> - - * 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 <gerd@gnu.org> - - * 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 <gerd@gnu.org> - - * 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 <gerd@gnu.org> - - * widget.c (EmacsFrameSetCharSize): Turn off atimers and block - SIGIO around the code where Xt might wait for a ConfigureNotifyEvent. - (toplevel): Include <signal.h> and syssignal.h. - - * sound.c (vox_configure, vox_close): Turn off atimers - around ioctls. - -2001-06-26 Gerd Moellmann <gerd@gnu.org> - - * keyboard.c (read_char) <non_reread>: Record the previous idle - start time before calling timer_stop_idle. - (read_char) <reread_first>: 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 <gerd@gnu.org> - - * 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) <all changes below window end>: 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 <rms@gnu.org> - - * minibuf.c (Fcompleting_read): Doc fix. - -2001-06-19 Gerd Moellmann <gerd@gnu.org> - - * composite.c (Ffind_composition_internal): Accept ZV - and a string's end position as POS. - -2001-06-18 Gerd Moellmann <gerd@gnu.org> - - * composite.c (Ffind_composition_internal): Check POS - for validity. - -2001-06-15 Eli Zaretskii <eliz@is.elta.co.il> - - * 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 <rms@gnu.org> - - * 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 <andrewi@gnu.org> - - * 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 <monnier@cs.yale.edu> - - * 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 <eliz@is.elta.co.il> - - * lread.c (Fload): Document that the argument is run via - substitute-in-file-name. - -2001-05-31 Gerd Moellmann <gerd@gnu.org> - - * 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 <monnier@cs.yale.edu> - - * buffer.c (copy_overlays): Make ENABLE_CHECKING happy. - -2001-05-30 Gerd Moellmann <gerd@gnu.org> - - * 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 <gerd@gnu.org> - - * 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 <gerd@gnu.org> - - * 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 <gerd@gnu.org> - - * 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 <gerd@gnu.org> - - * 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 <fx@gnu.org> - - * 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 <gerd@gnu.org> - - * 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 <handa@etl.go.jp>. - - * fontset.c (Ffontset_info): Check that face is non-null - before accessing its fields. - -2001-05-15 Gerd Moellmann <gerd@gnu.org> - - * 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 <monnier@cs.yale.edu> - - * eval.c (Fdefvar): Only record (defvar <var>) in the load-history - in <var> 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) <scalable-fonts-allowed>: Fix docstring. - -2001-05-14 Gerd Moellmann <gerd@gnu.org> - - * 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 <eliz@is.elta.co.il> - - * 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 <gerd@gnu.org> - - * 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 <gerd@gnu.org> - - * 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 <gerd@gnu.org> - - * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P. - -2001-05-09 Dave Love <fx@gnu.org> - - * xdisp.c (GIVE_UP): Fix for K&R C. - -2001-05-09 Gerd Moellmann <gerd@gnu.org> - - * print.c (syms_of_print) <print-length, print-level>: 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 <gerd@gnu.org> - - * 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 <eliz@is.elta.co.il> - - * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]: - Fix the change from 2001-04-30. - -2001-05-03 Gerd Moellmann <gerd@gnu.org> - - * 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 <gerd@gnu.org> - - * 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 <monnier@cs.yale.edu> - - * 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 <gerd@gnu.org> - - * 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) <Expose> [USE_LUCID]: Handle events for - windows that are components of a Lucid menu bar. - -2001-04-27 Gerd Moellmann <gerd@gnu.org> - - * term.c (turn_on_face): Fix reverse video handling on terminals - that don't support colors. - -2001-04-26 Gerd Moellmann <gerd@gnu.org> - - * editfns.c (save_excursion_restore): Don't use XBUFFER on - a non-buffer. - -2001-04-25 Gerd Moellmann <gerd@gnu.org> - - * 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 <gerd@gnu.org> - - * xfaces.c (compute_char_face): If buffer is unibyte, set CH to - zero instead of -1. - -2001-04-21 Eli Zaretskii <eliz@is.elta.co.il> - - * 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 <gerd@gnu.org> - - * 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 <gerd@gnu.org> - - * 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 <eliz@is.elta.co.il> - - * 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 <gerd@gnu.org> - - * xdisp.c (redisplay_window): Make sure to clear the desired glyph - matrix of mini-windows. - -2001-04-12 Stefan Monnier <monnier@cs.yale.edu> - - * intervals.c (find_interval): Don't rebalance during signal handling. - -2001-04-11 Gerd Moellmann <gerd@gnu.org> - - * fns.c: Include blockinput.h. - - * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked. - -2001-04-10 Gerd Moellmann <gerd@gnu.org> - - * 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) <recenter>: 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 <dan@eyebee.com>. - - * 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 - <dan@eyebee.com>. - - * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan - Holmsand <dan@eyebee.com>. - -2001-04-09 Gerd Moellmann <gerd@gnu.org> - - * 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 <eliz@is.elta.co.il> - - * gmalloc.c (align): If the argument SIZE would overflow - __malloc_ptrdiff_t, fail right away. - -2001-04-06 Gerd Moellmann <gerd@gnu.org> - - * 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 <fx@gnu.org> - - * composite.c (update_compositions) <check_mask & CHECK_HEAD>: - Fix test of `from'. - -2001-04-06 Gerd Moellmann <gerd@gnu.org> - - * 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 <gerd@gnu.org> - - * 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 <gerd@gnu.org> - - * 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 <gerd@gnu.org> - - * 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 <gerd@gnu.org> - - * 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 <gerd@gnu.org> - - * 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 <eliz@is.elta.co.il> - - * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change. - -2001-03-29 Eli Zaretskii <eliz@is.elta.co.il> - - * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is - deprecated. - -2001-03-29 Gerd Moellmann <gerd@gnu.org> - - * 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 <eggert@twinsun.com> - - * 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 <gerd@gnu.org> - - * 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 <gerd@gnu.org> - - * xdisp.c (try_window_reusing_current_matrix) <scrolling up>: - 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 <gerd@gnu.org> - - * xdisp.c (try_window_id): Undo last change. - -2001-03-26 Eli Zaretskii <eliz@is.elta.co.il> - - * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix. - - * buffer.c (syms_of_buffer): Doc fix. - -2001-03-26 Gerd Moellmann <gerd@gnu.org> - - * xfaces.c (x_update_menu_appearance): Use local variable - popup_path for setting font resources. - -2001-03-25 Eli Zaretskii <eliz@is.elta.co.il> - - * 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 - <wl@gnu.org>. - -2001-03-25 Gerd Moellmann <gerd@gnu.org> - - * xdisp.c (init_from_display_pos): Test invisible property - with TEXT_PROP_MEANS_INVISIBLE instead of NILP. - - * xdisp.c (redisplay_internal) <update one window>: 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 <gerd@gnu.org> - - * 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) <scrolling up>: 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 <eliz@is.elta.co.il> - - * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined. - -2001-03-23 Gerd Moellmann <gerd@gnu.org> - - * xfaces.c (x_update_menu_appearance): Use a different path - for Lucid popup menus. - -2001-03-22 Stefan Monnier <monnier@cs.yale.edu> - - * 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 <gerd@gnu.org> - - * 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 <gerd@gnu.org> - - * 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 <gerd@gnu.org> - - * print.c (syms_of_print): Doc fixes. - - * fns.c (Fmd5): Doc fix. - -2001-03-19 Gerd Moellmann <gerd@gnu.org> - - * 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 <gerd@gnu.org> - - * indent.c (current_column, current_column_1, Fmove_to_column) - (compute_motion): Handle characters from display vectors differently. - -2001-03-15 Kenichi Handa <handa@etl.go.jp> - - * xterm.c (x_draw_glyph_string): Draw relief (if any) before - drawing glyph string. - -2001-03-15 Gerd Moellmann <gerd@gnu.org> - - * 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 <gerd@gnu.org> - - * 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 <eliz@is.elta.co.il> - - * 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 <gerd@gnu.org> - - * 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) <LeaveNotify, EnterNotify>: - 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 <handa@etl.go.jp> - - * 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 <gerd@gnu.org> - - * 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 <eliz@is.elta.co.il> - - * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>: - Doc fix. - -2001-03-12 Gerd Moellmann <gerd@gnu.org> - - * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg - to sprintf. - -2001-03-09 Gerd Moellmann <gerd@gnu.org> - - * 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 <handa@etl.go.jp> - - * composite.h (struct composition): Change types of members; - glyph_len to unsigned, width to unsigned short. - -2001-03-08 Andrew Innes <andrewi@gnu.org> - - * w32menu.c (add_menu_item): Fix problems with using ownerdraw for - menu titles. - -2001-03-08 Gerd Moellmann <gerd@gnu.org> - - * 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 <fx@gnu.org> - - * eval.c (syms_of_eval) <debug-on-error>: Doc fix. - -2001-03-08 Gerd Moellmann <gerd@gnu.org> - - * process.c (Fset_process_window_size): Fix a typo. - -2001-03-08 Kenichi Handa <handa@etl.go.jp> - - * 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 <monnier@cs.yale.edu> - - * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is - a string before extracting its data. - -2001-03-07 Gerd Moellmann <gerd@gnu.org> - - * window.c (Frecenter): Rewrite code handling negative values - of ARG on graphical frames. - -2001-03-07 Eli Zaretskii <a34785@is.elta.co.il> - - * 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 <gerd@gnu.org> - - * buffer.c (syms_of_buffer) <header-line-format>: 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 <handa@etl.go.jp> - - * xterm.c (XTflash): Make the timeout of select shorter, and call - select repeatedly until the desired time expires. - -2001-03-06 Gerd Moellmann <gerd@gnu.org> - - * 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 <eliz@is.elta.co.il> - - * dispnew.c (syms_of_display) <glyph-table>: Doc fix. - -2001-03-06 Gerd Moellmann <gerd@gnu.org> - - * 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 <handa@etl.go.jp> - - * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case - that the source is unibyte. - -2001-03-05 Dave Love <fx@gnu.org> - - * xterm.c (XTmouse_position): Fix typo. - -2001-03-05 Gerd Moellmann <gerd@gnu.org> - - * minibuf.c (read_minibuf): Clean up the binding stack if - called noninteractively. - -2001-03-05 Kenichi Handa <handa@etl.go.jp> - - * coding.c (syms_of_coding): Docstring modified. - -2001-03-05 Kenichi Handa <handa@etl.go.jp> - - * 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 <eliz@is.elta.co.il> - - * 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 <gerd@gnu.org> - - * xterm.c (glyph_rect): New function. - (XTmouse_position): Use it to raise the threshold for mouse - movement event generation. - -2001-03-02 Eli Zaretskii <eliz@is.elta.co.il> - - * 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 <gerd@gnu.org> - - * 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 <gerd@gnu.org> - - * window.c (Fwindow_end): Call move_it_past_eol only if - ending up on a partially visible line. - -2001-03-01 Dave Love <fx@gnu.org> - - * ccl.c (Fccl_execute): Doc fix. - -2001-03-01 Gerd Moellmann <gerd@gnu.org> - - * 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 <raeburn@gnu.org> - - * lisp.h (Fframe_parameter): Declare. - - * window.c (set_window_buffer): Field vscroll is an int, not a - Lisp_Object. - -2001-02-28 Gerd Moellmann <gerd@gnu.org> - - * 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 <handa@etl.go.jp> - - * 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) <CCL_WriteMultibyteChar2>: - Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR. - <ccl_finish>: Set ccl->eight_bit_control properly. - - * ccl.h (struct ccl_program): New member eight_bit_control. - -2001-02-26 Stefan Monnier <monnier@cs.yale.edu> - - * 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 <gerd@gnu.org> - - * dispnew.c: Check HAVE_TERM_H before including term.h. - -2001-02-24 Andrew Innes <andrewi@gnu.org> - - * makefile.w32-in: Update copyright notice. - -2001-02-24 Stefan Monnier <monnier@cs.yale.edu> - - * keymap.c (where_is_internal): Accept non-ascii integer prefixes. - -2001-02-24 Kenichi Handa <handa@etl.go.jp> - - * 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 <jasonr@gnu.org> - - * 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 <andrewi@gnu.org> - - * 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 <gerd@gnu.org> - - * 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 <gerd@gnu.org> - - * 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 <gerd@gnu.org> - - * 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 <gerd@gnu.org> - - * 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 <gerd@gnu.org> - - * 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 <handa@etl.go.jp> - - * 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 <eliz@is.elta.co.il> - - * textprop.c (Fset_text_properties): Doc fix. - -2001-02-15 Gerd Moellmann <gerd@gnu.org> - - * dispnew.c (update_text_area): Undo change of 2001-01-12. - -2001-02-14 Dave Love <fx@gnu.org> - - * coding.c: Doc and message fixes. - -2001-02-14 Andrew Innes <andrewi@gnu.org> - - * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the - Emacs frame above the screen size. - -2001-02-14 Gerd Moellmann <gerd@gnu.org> - - * xdisp.c (reseat_1): Set iterator's end_charpos to ZV. - -2001-02-13 Gerd Moellmann <gerd@gnu.org> - - * 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) <GET_BUFFER_WINDOW>: 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 <handa@etl.go.jp> - - * 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 <andrewi@gnu.org> - - 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 <handa@etl.go.jp> - - 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 <jasonr@gnu.org> - - * 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 <zsh@cs.rochester.edu> - - * charset.c (Fstring): A typo. - -2001-02-09 Kenichi Handa <handa@etl.go.jp> - - * 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 <monnier@cs.yale.edu> - - * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range' - to avoid overflow. - -2001-02-07 Kenichi Handa <handa@etl.go.jp> - - * 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 <andrewi@gnu.org> - - * 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 <gerd@gnu.org> - - * dispnew.c (update_frame_line): Rename parameter FRAME to F. - Avoid some unnecessary cursor positioning. - -2001-02-05 Gerd Moellmann <gerd@gnu.org> - - * 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 <fx@gnu.org> - - * puresize.h: Revert last change following loadup.el change. - -2001-02-05 Andrew Innes <andrewi@gnu.org> - - * 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 <gerd@gnu.org> - - * 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 <handa@etl.go.jp> - - * 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 <gerd@gnu.org> - - * 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 <eliz@is.elta.co.il> - - * 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 <gerd@gnu.org> - - * 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 <eliz@is.elta.co.il> - - * frame.c (Fmodify_frame_parameters): Doc fix. - -2001-01-31 Gerd Moellmann <gerd@gnu.org> - - * 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 <eliz@is.elta.co.il> - - * editfns.c (Fformat_time_string): Doc fix. - -2001-01-31 Stefan Monnier <monnier@cs.yale.edu> - - * 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 <gerd@gnu.org> - - * 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 <fx@gnu.org> - - * .gdbinit (hook-run): Define to run xreload. - - * textprop.c (Fset_text_properties): Fix newline in doc string. - -2001-01-30 Gerd Moellmann <gerd@gnu.org> - - * 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 <fx@gnu.org> - - * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and - AFTER_POTENTIAL_GC. - -2001-01-29 Gerd Moellmann <gerd@gnu.org> - - * bytecode.c (Fbyte_code) <Bcurrent_column>: - Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC. - -2001-01-29 Eli Zaretskii <eliz@is.elta.co.il> - - * textprop.c (Fset_text_properties): Doc fix. - -2001-01-29 Gerd Moellmann <gerd@gnu.org> - - * xdisp.c (forward_to_next_line_start): Remove xassert. - -2001-01-29 Jason Rumney <jasonr@gnu.org> - - * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid - returning without releasing it. - -2001-01-29 Kenichi Handa <handa@etl.go.jp> - - * w32fns.c (w32_font_match): Allocate three more bytes to regex - for '^', '$', and '\0'. - -2001-01-28 Andrew Choi <akochoi@i-cable.com> - - * 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 <handa@etl.go.jp> - - * 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 <gerd@gnu.org> - - * xdisp.c (display_line): Don't treat a newline as fitting - on the line. - -2001-01-26 Gerd Moellmann <gerd@gnu.org> - - * 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 <handa@etl.go.jp> - - * 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 <gerd@gnu.org> - - * 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 <fx@gnu.org> - - * puresize.h (BASE_PURESIZE): Up to 720000. - - * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4. - -2001-01-25 Gerd Moellmann <gerd@gnu.org> - - * 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 <eliz@is.elta.co.il> - - * ccl.c (ccl_driver): Fix last change. - -2001-01-25 Kenichi Handa <handa@etl.go.jp> - - * 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 <monnier@cs.yale.edu> - - * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not' - as if it was a `charset'. - -2001-01-24 Gerd Moellmann <gerd@gnu.org> - - * 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 <eliz@is.elta.co.il> - - * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr - if HAVE_WINDOW_SYSTEM isn't defined. - -2001-01-24 Gerd Moellmann <gerd@gnu.org> - - * 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 <handa@etl.go.jp> - - * 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_SUSPEND, CCL_INVALID_CMD): Likewise. - (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do" - statement. - -2001-01-23 Gerd Moellmann <gerd@gnu.org> - - * xterm.c (x_set_window_size_1): New function extracted from - x_set_window_size. - (x_set_window_size): Use it. - (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window - doesn't have a widget, like tooltips. - -2001-01-23 Eli Zaretskii <eliz@is.elta.co.il> - - * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix. - -2001-01-23 Kenichi Handa <handa@etl.go.jp> - - * fns.c (Fset_char_table_default): Fix to make sub char-table - correctly. - -2001-01-22 Gerd Moellmann <gerd@gnu.org> - - * xdisp.c (build_desired_tool_bar_string): Make sure we have - a desired tool bar string, even if there are no tool bar items. - - * xdisp.c (Ftool_bar_lines_needed): New function. - (syms_of_xdisp): Defsubr it. - - * editfns.c (Fformat): Don't extend text properties from arguments - to padding chars in the result. - -2001-01-20 Eli Zaretskii <eliz@is.elta.co.il> - - * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS. - -2001-01-20 Andrew Innes <andrewi@gnu.org> - - * w32term.c (w32_ring_bell): Only support visible bell on w32 frames. - (w32_initialize): Don't set term hooks that aren't actually needed - in windowed mode. - - * xfaces.c (realize_default_face): - (realize_face): - (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P. - - * xdisp.c (handle_single_display_prop): Remove references to - FRAME_W32_CONSOLE_P. - - * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P. - - * frame.h (output_method): Remove output_w32_console method. - (FRAME_W32_CONSOLE_P): Remove macro. - - * frame.c (Qw32_console): Remove variable. - (Fframep): Remove references to it. - (syms_of_frame): Ditto. - (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P. - - * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original - redefinition. - -2001-01-20 Kenichi Handa <handa@etl.go.jp> - - * editfns.c (Fformat): Use lisp_string_width instead of strwidth. - -2001-01-19 Andrew Innes <andrewi@gnu.org> - - * w32.c (init_environment): Add a version-independent site-lisp - directory to EMACSLOADPATH, after the version dependent one. - -2001-01-19 Gerd Moellmann <gerd@gnu.org> - - * editfns.c (Fbuffer_substring): Doc fix. - - * xdisp.c (message_dolog, message2, message2_nolog): - Rename parameter LEN to NBYTES. - -2001-01-19 Kenichi Handa <handa@etl.go.jp> - - * charset.c (strwidth): Use c_string_width. - (c_string_width): New function. - (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES. - Caller changed. - - * charset.h (c_string_width, lisp_string_width): Extern them. - - * doprnt.c (doprnt1): Get byte length of Lisp string correctly. - - * indent.c (check_composition): Check validity of composition. - - * xdisp.c (store_frame_title): Pay attention to width of non-ASCII - characters by calling c_string_width. - (x_consider_frame_title): Get byte length of frame tile string - correctly. - (display_mode_element): Pay attention to width of non-ASCII - characters by calling strwidth. - -2001-01-18 Gerd Moellmann <gerd@gnu.org> - - * xfns.c (Qcancel_timer): New variable. - (syms_of_xfns): 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_xfns removed. - - * window.c (Fwindow_live_p): Use WINDOW_LIVE_P. - - * window.h (WINDOW_LIVE_P): New macro. - - * window.c (window_size_fixed): New variable. - (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for - the doc string. - - * eval.c (specbind): If binding a per-buffer variable which - doesn't have a buffer-local value in the current buffer, change - the global value by changing the value of the symbol bound in all - buffers not having their own value, to make it consistent with - what happens with other buffer-local variables. - - * xterm.c (x_initialize): Set char_ins_del_ok to 1. - - * xdisp.c (forward_to_next_line_start): Stop at end of buffer - when searching for a newline. - -2001-01-18 Kenichi Handa <handa@etl.go.jp> - - * xdisp.c (display_string): Fix previous change. - -2001-01-18 Jason Rumney <jasonr@gnu.org> - - * w32term.c (x_produce_stretch_glyph): Only use Qspace when - GLYPH_DEBUG is defined. - (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't - true for images with `:ascent 100'. - (x_set_mouse_face_gc): If the last used mouse face has gone in the - meantime, use face MOUSE_FACE_ID. - If first glyph isn't a character glyph, use the ASCII NUL - character to determine the face. - (expose_area): Do not treat left margin specially. - (note_mode_line_highlight): If no local_map, check global keymap. - (note_mouse_highlight): Initialize overlay. - (clear_mouse_face): Don't return if tip_frame is non-nil. - (show_scroll_bars): Remove unused function. - (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil. - (x_draw_bar_cursor): Remove extra test for out of bounds cursor. - Clip to row. - (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil. - (x_free_frame_resources): Unload relief colors. - -2001-01-17 Gerd Moellmann <gerd@gnu.org> - - * xdisp.c (forward_to_next_line_start): Avoid calling - get_next_display_element when the newline is already found. - This may change the iterator's position, when its current position is - equal to the iterator's stop_charpos. - - * dispnew.c (direct_output_for_insert): If char_ins_del_ok is - zero, use this method only at the end of a line. - - * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the - call to x_list_fonts. Call x_list_fonts with SIZE -1 only - if SCALABLE_FONTS_P is set. - - * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1, - so that scalable fonts are included. - - * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0, - In the cache, use a key containing the information if scalable - fonts are included. - (x_load_font): Adapt to change of keys in the font cache. - -2001-01-17 Kim F. Storm <storm@filanet.dk> - - * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of - XListFonts to take advantage of font caching. - - * xterm.c (x_list_fonts): Ensure caching font information when - called for a null frame, which is the case frequently when Emacs - starts. - -2001-01-17 Gerd Moellmann <gerd@gnu.org> - - * xfns.c (QCconversion): Replaces QCalgorithm. - - * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright. - - * xdisp.c (build_desired_tool_bar_string): Use :conversion instead - of :algorithm. - - * xdisp.c (redisplay_tool_bar): Change tool bar's height when - not everything could be displayed. - - * line.h, x-list-font.c: Files removed because unused. - -2001-01-17 Andrew Innes <andrewi@gnu.org> - - * dired.c (directory_files_internal): Convert result from readdir - to a unibyte string initially, to avoid possible misinterpretation - of some bytes as the internal form of Emacs characters. - -2001-01-17 Kenichi Handa <handa@etl.go.jp> - - * fns.c (concat): Be sure to avoid putting the same `composition' - property on the adjacent regions. - -2001-01-16 Gerd Moellmann <gerd@gnu.org> - - * window.c (Fset_window_hscroll): Don't set window's min_hscroll here. - (Fscroll_right, Fscroll_left): Set it here instead, if called - interactively. - - * buffer.c (Fset_buffer_modified_p): Set buffer's - prevent_redisplay_optimizations_p flag. - - * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c, - * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area - with additional arg. - - * dispextern.h, lisp.h (redisplay_preserve_echo_area): - Change prototype. - - * xdisp.c (redisplay_preserve_echo_area): Add parameter - FROM_WHERE, for debugging. - -2001-01-16 Kenichi Handa <handa@etl.go.jp> - - * ccl.c (Fregister_ccl_program): Handle the return value of - resolve_symbol_ccl_program correctly. - (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed. - -2001-01-15 Gerd Moellmann <gerd@gnu.org> - - * xterm.c (x_set_mouse_face_gc): If the last used mouse face - has gone in the meantime, use face MOUSE_FACE_ID. - - * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: - If x_display_info_for_display returns null, don't try to close - the display; we didn't open it. - - * dispnew.c (save_or_restore_current_matrices): Function removed. - (save_current_matrix, restore_current_matrix): New functions. - (adjust_frame_glyphs_for_frame_redisplay): Use them to save and - restore the frame's current matrix. Due to the glyph pointer - setup done in adjust_glyph_matrix, there is no easy way to make - saving the current matrix in the desired matrix generally correct, - so don't try it. - -2001-01-15 Kenichi Handa <handa@etl.go.jp> - - * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by - truncation glyphs. - (display_line): Optimize for wide characters. - (display_string): Don't try to display a multi-column character - partially. On ttys, produce more than one truncation glyph for - multi-column characters that don't fit on the line. - -2001-01-13 Kenichi Handa <handa@etl.go.jp> - - * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]: - Define it instead of WORDS_BIGENDIAN. Caller changed. - -2001-01-13 Jason Rumney <jasonr@gnu.org> - - * w32fns.c (Fimage_size, image_ascent, lookup_image) - (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec) - (xbm_format, xpm_format, pbm_format, png_format, jpeg_format) - (tiff_format, gif_format, gs_format): Adapt to change of image margins. - - * w32term.c (x_produce_image_glyph, x_draw_image_foreground) - (x_draw_image_relief, x_draw_image_foreground_1) - (x_draw_image_glyph_string): Adapt to change of image margins. - - * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused - variables. - - * w32bdf.c (search_file_line, get_cached_font_char) - (cache_char_offset, create_offscreen_bitmap): Remove unused variables. - - * w32inevt.c (w32_console_toggle_lock_key): Add parentheses. - - * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height) - (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog) - (Fw32_send_sys_command): Remove unused variables. - (w32_msg_pump): Add parentheses. - - * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon) - (x_new_fontset, x_calc_absolute_position, x_iconify_frame): - Add parentheses. - -2001-01-12 Gerd Moellmann <gerd@gnu.org> - - * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin. - (build_desired_tool_bar_string): Handle Vtool_bar_button_margin - being a pair of margins. - (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins - to DEFVAR_LISP. Extend doc. - - * xfns.c (Fimage_size, image_ascent): Adapt to the change of image - margins. - (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a - pair of integers `(X . Y)', use X for the horizontal and Y for the - vertical margin. - (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator. - (parse_image_spec): Check it. - (xbm_format, xpm_format, pbm_format, png_format, jpeg_format) - (tiff_format, gif_format, gs_format): - Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin. - - * xterm.c (x_produce_image_glyph, x_draw_image_foreground) - (x_draw_image_relief, x_draw_image_foreground_1) - (x_draw_image_glyph_string): Adapt to the change of image margins. - - * dispextern.h (struct image): Replace member `margin' with - `hmargin' and `vmargin'. - - * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW - and GLYPHS. - - * dispnew.c (update_text_area): Put code which decrements the - stop position when the row's face extends to the end of the - line in #if 0. - - * xfns.c (x_set_mouse_color): Fix color allocation. - - * keyboard.c: Call get_local_map with new argument list. - - * intervals.c (get_local_map): Change TYPE to Lisp_Object. - - * intervals.h (enum map_property): Removed. - (get_local_map): Change prototype. - - * keymap.c: Call get_local_map with new argument list. - (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP. - -2001-01-11 Gerd Moellmann <gerd@gnu.org> - - * xdisp.c (build_desired_tool_bar_string): Correct the computation - of the size needed for the tool bar string. For the last image, - use a `display' property that reaches to the end of the string. - - * xselect.c (selection_request_dpyinfo): New variable. - (x_handle_selection_request): Set it. - (x_selection_request_lisp_error): Don't call - x_decline_selection_request if selection request's display has - been closed. - - * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]: - Do the unregister_colors before calling XFreeColors. - -2001-01-10 Dave Love <fx@gnu.org> - - * Makefile.in (${etc}DOC): Depend on ${shortlisp} and - ${SOME_MACHINE_LISP}, not ${lisp}. - -2001-01-10 Gerd Moellmann <gerd@gnu.org> - - * xdisp.c (display_line): On ttys, produce more than one truncation - glyph for multi-column characters that don't fit on the line. - - * xselect.c (x_reply_selection_request): Add a comment. - - * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and - XkbGetNames instead of XkbGetKeyboard. - -2001-01-10 Dave Love <fx@gnu.org> - - * sysdep.c (random): Revert the declaration. - -2001-01-09 Gerd Moellmann <gerd@gnu.org> - - * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]: - Call function string_bytes. - (GC_CHECK_STRING_BYTES): Moved here from alloc.c. - - * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro. - (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions. - (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P. - (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in - the current sblock. - (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES. - (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes - after sweeping strings, and at the end. - (GC_CHECK_STRING_BYTES): Moved to lisp.h. - - * alloc.c (Fgarbage_collect): Use a record_unwind_protect to - ensure that pop_message is called. - - * keyboard.c (Fexecute_extended_command): Use a - record_unwind_protect to ensure that pop_message is called. - - * lisp.h (push_message_unwind): Add prototype. - - * xdisp.c (push_message_unwind): New function. - - * fileio.c (do_auto_save_unwind): Do the pop_message here - instead of in Fdo_auto_save. - (Fdo_auto_save): Don't call pop_message. - -2001-01-08 Ken Raeburn <raeburn@gnu.org> - - * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I - in inner block. - -2001-01-08 Gerd Moellmann <gerd@gnu.org> - - * window.c (window_scroll_pixel_based): Adjust glyph matrices - when increasing window's vscroll. - - * macros.c (Qkbd_macro_termination_hook): New variable. - (syms_of_macros): Initialize and staticpro it. - (pop_kbd_macro): Run kbd-macro-termination-hook. - - * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil. - -2001-01-07 Dave Love <fx@gnu.org> - - * keyboard.c (Fread_key_sequence_vector): Avoid newline in - arglist, for documentation's sake. - -2001-01-06 Andrew Innes <andrewi@gnu.org> - - * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead - of *.pdb. - -2001-01-05 Andrew Innes <andrewi@gnu.org> - - * term.c (update_end): Don't check updating_frame; for some reason - this can be 0 sometimes, such as after dismissing a popup menu, - and isn't necessary given the explicit frame argument. - -2001-01-05 Gerd Moellmann <gerd@gnu.org> - - * sysdep.c: Don't prototype srandom; it takes an unsigned argument - on some systems, and an unsigned long on others, like FreeBSD 4.1. - -2001-01-04 Gerd Moellmann <gerd@gnu.org> - - * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil. - - * xfns.c (x_create_tip_frame): Preserve the value of - face_change_count around the creation of the tip frame. - - * xfns.c (last_show_tip_args): New variable. - (compute_tip_xy): New function. - (Fx_show_tip): Reuse an existing tip frame, if possible. - (syms_of_xfns): Initialize and staticpro last_show_tip_args. - -2001-01-04 Dave Love <fx@gnu.org> - - * editfns.c (Fformat): Doc fix. - - * systime.h (set_file_times): Prototype. - - * widget.h (EmacsFrameSetCharSize_): Prototype. - - * sysdep.c (random, srandom): Declare explicitly. - - * dispextern.h (move_it_vertically_backward): Declare. - -2001-01-04 Gerd Moellmann <gerd@gnu.org> - - * xfns.c (x_create_tip_frame): Call face-set-after-frame-default, - like in Fx_create_frame. - - * xfaces.c (set_font_frame_param): Don't do anything for - non-graphical frames. - - * window.c (Fdelete_other_windows): Set window's window_end_valid - to nil when changing the window's start. Don't change the - window's start when its top position hasn't changed. If we do, - this will set the window's optional_new_start, which act's like a - force_start during redisplay with C-x 1 M-> under particular - circumstances (see report from Per Starback to emacs-pretest-bug - from 2000-12-13.). - -2001-01-03 Gerd Moellmann <gerd@gnu.org> - - * xdisp.c (forward_to_next_line_start): Reset it->c if taking the - short cut at the start of the function. Add an assertion. - (reseat_at_next_visible_line_start): Add an assertion. - - * window.c (Frecenter): When changing the window start, set the - window's window_end_valid to nil. - (Fwindow_end): Fix window-end computation when UPDATE is non-nil. - - * dispextern.h (move_it_past_eol): Add prototype. - - * xdisp.c (move_it_past_eol): New function. - - * window.c (Fwindow_end): Doc fix. - -2001-01-03 Dave Love <fx@gnu.org> - - * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge. - -2001-01-03 Gerd Moellmann <gerd@gnu.org> - - * xdisp.c (try_window_reusing_current_matrix): Fix bug setting - the enabled_p flag of the glyph row at window_end_vpos to 0. - (handle_single_display_prop): Fix last change. - -2001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu> - - * window.c (Frecenter): Doc fix. - -2001-01-02 Andrew Innes <andrewi@gnu.org> - - * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition. - - * frame.h (output_method): Add output_w32_console method. - (FRAME_W32_CONSOLE_P): New macro. - - * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames - use output_w32_console method. - (Qw32_console): New Lisp_Object. - (Fframep): Return it. - (syms_of_frame): Init it. - (Fframe_parameters): Report w32console as font for w32_console frames. - - * xfaces.c (realize_default_face): Set face foreground and - background to unspecified for w32_console frames. - (realize_face): Realize face cache for w32_console frames. - (realize_tty_face): Accept w32_console frames. - - * xdisp.c (handle_single_display_prop): Return if frame is w32_console. - (init_iterator) [WINDOWSNT]: Initialize frame face cache if - necessary, even if running interactively. - - * dispnew.c (Fredraw_frame): Call set_terminal_modes for - w32_console frames. - - * w32term.c (x_update_begin): - (x_update_end): - (x_clear_frame): - (x_ins_del_lines): - (x_change_line_highlight): - (x_delete_glyphs): - (w32_ring_bell): - (x_update_begin): - (x_update_end): - (w32_reassert_line_highlight): - (w32_frame_rehighlight): - (w32_frame_raise_lower): Do nothing if not w32 frame. - - * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame. - - * w32fns.c (Fx_display_color_cells): Determine correct value, when - system doesn't tell us directly. - (Fx_display_visual_class): Implement properly. - -2001-01-02 Gerd Moellmann <gerd@gnu.org> - - * window.c (Frecenter): Handle centering in graphical frames - specially. Centering on the basis of line counts doesn't work - reliably with variable-height lines. - -2001-01-02 Eli Zaretskii <eliz@is.elta.co.il> - - * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac' - and al[]. - - * composite.c (run_composition_function): Remove unused var `val'. - (update_compositions): Remove unused variable `hook'. - - * intervals.c (get_local_map): Remove unused variable `tem'. - - * doprnt.c (doprnt1): Remove unused variable `size'. - - * fns.c (Flength): Remove unused variable `tail'. - (Fdelete): Remove unused variable `size'. - - * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1' - and `gcpro2'. - - * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'. - - * data.c (find_symbol_value): Remove extra 3rd argument in the - call to swap_in_symval_forwarding. - - * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'. - - * search.c (shrink_regexp_cache): Remove unused variable `cpp'. - (trivial_regexp_p): Remove unused variable `c'. - (boyer_moore): Remove unused variable `k'. - - * indent.c (current_column): Remove unused variable `stopchar'. - (Fcompute_motion): Remove unused variable `contin'. - - * casefiddle.c (casify_object): Remove unused variable `tolen'. - - * dired.c (directory_files_internal): Fix a typo in a comment. - Remove an unused variable `handler'. - (file_name_completion): Remove unused function-scope variable `dp'. - (Ffile_attributes) <dirname, sdir>: Make declarations conditioned - on BSD4_2. - - * fileio.c (e_write): Remove unused variable `require_encoding_p'. - - * marker.c (Fmarker_position): Remove unused variables `pos', `i', - and `buf'. - (Fmarker_insertion_type): Remove unused variable `buf'. - - * insdel.c (make_gap): Remove unused variable `result'. - - * keyboard.c (record_char): Remove unused function-scope var `help'. - (kbd_buffer_get_event): Remove unused block-scope variable `idx'. - (menu_bar_items): Remove unused function-scope variable `tem'. - - * fontset.c (fontset_ref): Remove unused variable `i'. - (fontset_set): Remove unused variables `j' and `tmp'. - (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'. - (make_fontset_for_ascii_face): Remove unused variable `name'. - (fs_load_font): Remove unused variable `font_idx'. - (fs_query_fontset): Remove unused function-local variable `fontset'. - (list_fontsets): Remove unused variable `tail'. - (Fnew_fontset): Remove unused variables `family' and `registry'. - (accumulate_font_info): Remove unused variable `tmp'. - (Ffontset_font): Remove unused variable `id'. - (syms_of_fontset): Remove unused variable `i'. - - * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call - to x_term_init. - (lookup_image): Remove unused variable `file'. - (xbm_load): Remove unused variables `bitmap_data', `height', and - `width'. Remove function-local variable `i', leave the - block-local one. - (gif_load): Remove unused variable `inc'. - - * xterm.c (XTread_socket): Remove unused variables `p' and `pend'. - (XTread_socket) <LeaveNotify>: Remove unused variable `frame', - leave only the one in the inner block. - - * xfaces.c (face_fontset, realize_default_face): Remove unused - variable `fontset'. - (face_at_buffer_position): Remove unused variable `multibyte_p'. - - * term.c (encode_terminal_code): Remove unused variable `c'. - - * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned - char *' instead of `char *'. - - * category.c (Fcategory_docstring): Remove unused variable `doc'. - (Fget_unused_category): Remove unused variable `docstring_vector'. - (Fchar_category_set): Remove unused variables `val', `charset', - `c1' and `c2'. - - * coding.c (detect_coding_iso2022, setup_coding_system): - Remove unused variable `i'. - (detect_coding_mask): Remove unused variable `idx'. - (detect_coding): Remove unused variable `i'. - (ccl_coding_driver): Remove unused variable `result'. - (run_pre_post_conversion_on_str): Remove unused variable `prev'. - (decode_coding_string): Remove unused variables `to' and `gcpro1'. - (encode_coding_string): Remove unused variables `gcpro1' and - `saved_coding_symbol'. - (Ffind_coding_systems_region_internal): Remove function-local - variable args[], leave only the block-local one. - (code_convert_region1): Remove unused variable `len'. - - * charset.c (char_printable_p): Remove unused variable `chars'. - (Fsplit_char, Fchar_bytes): Remove unused variable `val'. - (str_to_multibyte): Remove unused variable `c'. - - * window.c (size_window): Remove block-local variable `min_size'. - - * xdisp.c (make_cursor_line_fully_visible): Remove unused variable - `header_line_height'. - (append_space, extend_face_to_end_of_line): Declare `saved_what' - enum display_element_type. - -2001-01-02 Gerd Moellmann <gerd@gnu.org> - - * xterm.c (x_connection_closed): Catch X errors around all - statements that call X. Save away the error message in a local copy. - - * xterm.c (x_connection_closed): Set handling_signal to 0 at - the start. - - * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe - in or at the start of invisible text. - - * dispnew.c (update_window): Don't check_current_matrix_flags. - -2001-01-01 Jason Rumney <jasonr@gnu.org> - - * w32fns.c (x_figure_window_size): Do not allow new_height and - new_width of frame to override specified values. - -2000-12-30 Kenichi Handa <handa@etl.go.jp> - - * composite.c (find_composition): Fix a code for searching backward. - -2000-12-29 Gerd Moellmann <gerd@gnu.org> - - * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function. - (update_window) [GLYPH_DEBUG]: Call it. - (scrolling_window): Prevent including current rows which are below - what's displayed in the window. - - * xdisp.c (try_window_reusing_current_matrix) - <new start <= old start>: Disable rows in the current matrix - which are below the window after scrolling. - - * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P - is zero. It's not worth the complexity. - (invisible_text_between_p): Put in #if 0 because unused. - -2000-12-28 Gerd Moellmann <gerd@gnu.org> - - * xfns.c (Fx_backspace_delete_keys_p): Check library and server - XKB versions. Call XkbFreeKeyboard with 2nd arg 0. - - * keyboard.c (echo_char): If C is an integer, always call - push_key_description. Former code could signal an invalid - character error. - - * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE. - If set, print multibyte text. - (Fsingle_key_description): Call push_key_description with - FORCE_MULTIBYTE set. - (describe_buffer_bindings): Likewise. - - * lisp.h (push_key_description): Add prototype. - - * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t - around the call to redisplay_internal. - - * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG. - - * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG. - -2000-12-28 Kenichi Handa <handa@etl.go.jp> - - * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'. - (ccl_driver): New local variable `extra_bytes'. - - * ccl.h (struct ccl_spec): New member eight_bit_carryover. - - * coding.c (setup_coding_system): - Initialize coding->spec.ccl.eight_bit_carryover. - (ccl_coding_driver): Pay attention to carried over 8-bit bytes. - -2000-12-28 Kenichi Handa <handa@etl.go.jp> - - * coding.c (SAFE_ONE_MORE_BYTE): New macro. - (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro. - (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro. - (decode_composition_emacs_mule): New function. - (decode_coding_emacs_mule): Decode composition sequence by calling - decode_composition_emacs_mule. - (ENCODE_COMPOSITION_EMACS_MULE): New macro. - (encode_coding_emacs_mule): Changed from macro to function. - If a text contains compositions, encode them correctly. - (setup_coding_system): Set coding->commong_flags for emacs-mule so - that decoding and encoding are required. - -2000-12-27 Gerd Moellmann <gerd@gnu.org> - - * xfaces.c (PT_PER_INCH): New macro. - (xlfd_point_size): Compute real point size from font's pixel size. - (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH - instead of 72. - - * .gdbinit: Comment out the line pointing to the Lesstif source - directory. - - * window.c (Frecenter): Use displayed_window_lines instead - of window_internal_height. - - * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars - instead of x-toolkit-scroll-bars-p. - (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p. - - * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars - instead of x-toolkit-scroll-bars-p. - (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p. - - * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New. - (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro. - (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]: - New variables. - (add_window_display_history, add_frame_display_history) - (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions. - (build_frame_matrix_from_leaf_window): Remove unused code. - (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to - redisplay history. - (update_frame) [GLYPH_DEBUG]: Add to redisplay history. - (update_window) [GLYPH_DEBUG]: Likewise. - (syms_of_display): Defsubr dump-redisplay-history. - -2000-12-23 Gerd Moellmann <gerd@gnu.org> - - * keyboard.c (echo_prompt): Always set current_kboard->echoptr to - the end of the prompt. Set echo_after_prompt to the offset - of echoptr in echobuf. - - * xdisp.c (init_from_display_pos): Pop until the iterator's - stack is empty; there may be frames for stretch or images - on the stack. - - * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed. - (save_or_restore_current_matrix): New function for the same - purpose, but more efficient. - (adjust_frame_glyphs_for_frame_redisplay): Use it. - -2000-12-23 Eli Zaretskii <eliz@is.elta.co.il> - - * xdisp.c (syms_of_xdisp): Fix last change. - -2000-12-23 Gerd Moellmann <gerd@gnu.org> - - * xdisp.c (syms_of_xdisp): Doc fix. - - * xdisp.c (redisplay_window): Remove label restore_buffers; - use finish_scroll_bars instead to make sure that scroll bars - are redeemed. If we don't do this, flickering can result from - scroll bars being destroyed and recreated. - -2000-12-22 Jason Rumney <jasonr@gnu.org> - - * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear - in the wrong colors when the foreground is not black. - (expose_window): Don't redraw the window that's currently being - updated. - -2000-12-22 Gerd Moellmann <gerd@gnu.org> - - * window.c (size_window): When setting the window's too_small_ok - flag, compare old size with minimum size depending on WIDTH_P, - don't compare with window_min_width. - - * window.c (delete_window): Simplify somewhat. - (Fset_window_configuration): Don't SET_FRAME_GARBAGED after - freeing window matrices. The flag windows_or_buffers_changed is - set, so the next redisplay will consider all windows; this should - suffice. - -2000-12-22 Kenichi Handa <handa@etl.go.jp> - - * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed. - - * ccl.h (struct ccl_program): New member cr_consumed. - - * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here. - (CCL_READ_CHAR): Handle EOL conversion here. - (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise. - -2000-12-21 Gerd Moellmann <gerd@gnu.org> - - * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS. - - * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths, - otherwise tabs of different size compare equal. - - * callint.c (Fcall_interactively): Prevent a compiler warning. - - * print.c (print_unwind): Return nil. - (PRINTDECLARE): Initialize all local variables. - (print_preprocess): Add a default case. - - * lisp.h (Qinhibit_point_motion_hooks): Declare extern. - - * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t. - - * window.c (delete_window, Fsplit_window) - (Fset_window_configuration): Calls to ensure_frame_matrix removed. - - * dispextern.h (ensure_frame_matrix): Function declaration removed. - - * dispnew.c (ensure_frame_matrix): Removed. - (save_frame_matrix, restore_frame_matrix): New functions. - (adjust_frame_glyphs_for_frame_redisplay): Use them. - - * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix) - [GLYPH_DEBUG]: Extended to dump glyphs in short form. - -2000-12-21 Andrew Innes <andrewi@gnu.org> - - * w32term.c (x_update_begin): Regenerate the palette here, rather - than for each window. - - * w32xfns.c (select_palette): Avoid calling SelectPalette if - palette is NULL, since this corrupts memory! Also get - display_info reference from frame. - -2000-12-21 Jason Rumney <jasonr@gnu.org> - - * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap. - - * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC - to avoid returning without releasing it. - -2000-12-21 Kenichi Handa <handa@etl.go.jp> - - * keymap.c (push_key_description): Don't convert eight-bit-control - and eight-bit-graphic to multibyte character. - - * charset.c (Fmake_char_internal): If CHARSET doesn't have a - generic character and CODE1 is nil, return the smallest character - in CHARSET. - -2000-12-20 Dave Love <fx@gnu.org> - - * s/osf5-0.h (NSIG): Don't redefine. - -2000-12-20 Stefan Monnier <monnier@cs.yale.edu> - - * keymap.c (where_is_internal): Check ascii_sequence_p rather than - excluding menu-bar and tool-bar. - (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache. - (menu_item_p): Remove. - (where_is_internal_1): Don't ignore menu-items. - -2000-12-20 Gerd Moellmann <gerd@gnu.org> - - * xdisp.c (hscroll_window_tree): Take window's min_hscroll - into account. - - * window.c (make_window): Initialize window's min_hscroll. - (Fset_window_hscroll): Set window's hscroll and min_hscroll. - (set_window_buffer, temp_output_buffer_show): Set min_hscroll - to zero. - (struct saved_window): New member min_hscroll. - (SAVED_WINDOW_VECTOR_SIZE): Set to 17. - (Fset_window_configuration): Set window's min_hscroll. - (save_window_save): Save window's min_hscroll. - (compare_window_configurations): Compare min_hscroll values. - - * window.h (struct window): New member min_hscroll. - - * keyboard.c (echo_prompt): Prevent a compiler warning. - - * xdisp.c (try_cursor_movement): Fix last change. The real - condition is that PT is at the end of the row, and should - be displayed at the start of the next row. - - * xdisp.c (try_cursor_movement): If we end on a partially - visible line, end we already decided to scroll, return -1. - - * dispextern.h (ensure_frame_matrix): Add prototype. - - * window.c (delete_window, Fsplit_window) - (Fset_window_configuration): Call ensure_frame_matrix. - - * dispnew.c (fake_current_matrices, ensure_frame_matrix): - New functions. - (adjust_frame_glyphs_for_frame_redisplay): If display has been - completed, call fake_current_matrices instead of marking frame - garbaged. - -2000-12-20 Jason Rumney <jasonr@gnu.org> - - * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame. - -2000-12-19 Eli Zaretskii <eliz@is.elta.co.il> - - * fns.c (Frequire): Doc fix. - -2000-12-19 Gerd Moellmann <gerd@gnu.org> - - * window.c (window_scroll_pixel_based): Don't use move_it_vertically. - - * dispnew.c (direct_output_for_insert): Fix check for mini-window - currently displaying a message. - - * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and - xterm.h. - (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font. - -2000-12-18 Andrew Innes <andrewi@gnu.org> - - * w32.c (w32_strerror): New function. - - * w32.h (w32_strerror): New extern. - - * w32fns.c (Fw32_shell_execute): Use it. - -2000-12-18 Gerd Moellmann <gerd@gnu.org> - - * s/hpux10.h (_FILE_OFFSET_BITS): Undef again. - -2000-12-18 Eli Zaretskii <eliz@is.elta.co.il> - - * msdos.c (IT_set_face): Obey inverse_video. - -2000-12-18 Kenichi Handa <handa@etl.go.jp> - - * dired.c (directory_files_internal): Always return decoded filenames. - -2000-12-18 Gerd Moellmann <gerd@gnu.org> - - * xterm.c (x_connection_closed): Prevent being called recursively - because of an error condition in XtCloseDisplay. - - * xdisp.c (init_iterator): If noninteractive, and the frame's - face cache is null, make one. - - * xfns.c (show_busy_cursor): Check for live frames more thoroughly. - - * process.c (wait_reading_process_input): Check for pending - input when running timers. - -2000-12-18 Eli Zaretskii <eliz@is.elta.co.il> - - * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id. - -2000-12-18 Kenichi Handa <handa@etl.go.jp> - - * process.c (read_process_output): Don't run a filter if the code - decoder produces nothing but carryover. - -2000-12-17 Andrew Innes <andrewi@gnu.org> - - * w32.c (sys_rename): Only check errno against EEXIST, and not - EACCES, when determining whether rename failed because the target - exists. This was resulting in indefinite looping on Windows 9x if - the source file was locked by another process. - - * w32fns.c (Ffile_system_info): New function. - (syms_of_w32fns): Defsubr it. - -2000-12-17 Gerd Moellmann <gerd@gnu.org> - - * window.c (coordinates_in_window): Fix computation for - position on vertical line between mode lines. - - * xfns.c (unwind_create_frame): Return t if frame was deleted. - Don't alter tip_frame or tip_window. - (unwind_create_tip_frame): Set tip_frame to nil only if frame - was deleted. - - * w32fns.c (unwind_create_frame): Return t if frame was deleted. - Don't alter tip_frame or tip_window. - (unwind_create_tip_frame): Set tip_frame to nil only if frame - was deleted. - -2000-12-16 Eli Zaretskii <eliz@is.elta.co.il> - - * fileio.c (Fcopy_file): Rename the last argument to keep_time, to - be consistent with the doc string. Reported by NAKAJIMA Mikio - <minakaji@osaka.email.ne.jp>. - -2000-12-16 Kenichi Handa <handa@etl.go.jp> - - * xfaces.c (Vface_ignored_fonts): New variable. - (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts. - (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable. - -2000-12-15 Gerd Moellmann <gerd@gnu.org> - - * dispnew.c (update_window): Detect pending input every nth line - updated, i.e. do it depending on real work done, and not on the - vpos of the line. - - * xterm.c (expose_window): Don't redraw the window that's - currently being updated. - - * window.c (Fset_window_point): Remove test for - cursor_in_non_selected_windows. - - * lread.c (read1): Recognize end of file after `\\'. - - * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame, - not unwind_create_frame. - -2000-12-15 Dave Love <fx@gnu.org> - - * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of - bcopy & al. - - * s/irix6-5.h: #undef bcopy & al here. Include strings.h. - -2000-12-15 Kenichi Handa <handa@etl.go.jp> - - * coding.c (setup_coding_system): Clear all members of the struct - coding_system at first. - (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP - argument. - (code_convert_region): Don't override coding->src_multibyte and - coding->dst_multibyte. - - * fns.c (Fmd5): Docstring improved. - -2000-12-15 Miles Bader <miles@gnu.org> - - * xdisp.c (window_box_height): Only use mode-line glyph-rows that - are actually marked as mode-lines; otherwise use - estimate_mode_line_height. - -2000-12-14 Gerd Moellmann <gerd@gnu.org> - - * editfns.c (Fformat): Prevent a buffer overrun when the format - specifies a precision. - -2000-12-14 Eli Zaretskii <eliz@is.elta.co.il> - - * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the - argument is outside the range [2..3]. - -2000-12-14 Andrew Innes <andrewi@gnu.org> - - * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's - nothing to do. Bind inhibit-quit. - (tip_frame): Make it a Lisp_Object. - (x_create_tip_frame): Set tip_frame after it has been added to - Vframe_list. - (Fx_show_tip): Don't set tip_frame here. - (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables. - (unwind_create_frame, unwind_create_tip_frame): New functions. - (Fx_create_frame, x_create_tip_frame): Handle errors signaled - while a frame is only partially constructed. - - * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object. - (x_free_frame_resources): New function. - (x_destroy_window): Use it. - -2000-12-14 Gerd Moellmann <gerd@gnu.org> - - * xfns.c (Fx_backspace_delete_keys_p): New function. - (syms_of_xfns): Defsubr it. - - * config.in (HAVE_XKBGETKEYBOARD): Add. - -2000-12-14 Kenichi Handa <handa@etl.go.jp> - - * keyboard.c (echo_prompt): Argument type changed to Lisp_Object. - Always store string in multibyte representation in echobuf. - (echo_char): Always store string in multibyte representation in - echobuf. - (echo_now): Call message2_nolog with the arg MULTIBYTE 1. - (read_key_sequence): Adjusted for the change of echo_prompt. - - * fns.c (Fmd5): Docstring improved. - - * lisp.h (detect_coding_system): Prototype adjusted. - - * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro. - (detect_coding_emacs_mule, detect_coding_iso2022,) - (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8) - (detect_coding_utf_16, detect_coding_ccl): Make them static. - New argument MULTIBYTEP. Callers changed. - (detect_coding_mask, detect_coding_system): New argument - MULTIBYTEP. Callers changed. - (decode_coding_string): Set coding->src_multibyte and - coding->dst_multibyte before calling detect_coding and detect_eol. - Update them after some coding system is detected. - -2000-12-13 Stefan Monnier <monnier@cs.yale.edu> - - * keymap.c (get_keyelt): Only eval the filter if `autoload' is set. - - * keyboard.c (menu_bar_items, tool_bar_items): - Set `autoload' when looking up `tool-bar' or `menu-bar' submap. - -2000-12-13 Gerd Moellmann <gerd@gnu.org> - - * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: - New variables. - (unwind_create_frame, unwind_create_tip_frame): New functions. - (Fx_create_frame, x_create_tip_frame): Handle errors signaled - while a frame is only partially constructed. - - * xterm.h (x_free_frame_resources): Declare. - - * xterm.c (x_free_frame_resources): New function. - (x_destroy_window): Use it. - - * dispnew.c (update_window): If do_mouse_tracking is non-nil, - don't interrupt the update for pending input initially, i.e. - update at least some lines. - - * keyboard.c (do_mouse_tracking): Make externally visible. - - * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'. - - * xfns.c (gray_bitmap_bits): Declare `char *'. - -2000-12-12 Gerd Moellmann <gerd@gnu.org> - - * xdisp.c (display_tool_bar_line): Make sure that tool bar - lines start with a relief line. - -2000-12-12 Dave Love <fx@gnu.org> - - * window.c (Fdisplay_buffer): Doc fix. - (Fwindow_list): Remove unused var. - - * buffer.h (mmap_set_vars): Declare. - - * window.h (Fset_window_point): Declare. - -2000-12-12 Eli Zaretskii <eliz@is.elta.co.il> - - * msdos.c (fast_find_position): Don't overstep the last window row. - (IT_note_mouse_highlight): Initialize portion to -1. Remove unused - variable `area'. When looking for a row under (X,Y), give up if some - of the previous rows is not enabled. - -2000-12-12 Gerd Moellmann <gerd@gnu.org> - - * window.c (Fset_window_point): If displaying cursors in windows - other than the selected window, make sure redisplay updates - other windows to show the new value of point in the window. - - * dispextern.h (cursor_in_non_selected_windows): Declare extern. - - * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if - the buffer is the sole visible buffer when in the mini-buffer. - - * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer): - Bind `inhibit-read-only' to t. - (unwind_with_echo_area_buffer): Use AREF. - - * xfns.c (Fx_hide_tip): Simplified. - - * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS - instead of `1'. - - * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS. - -2000-12-11 Gerd Moellmann <gerd@gnu.org> - - * xfns.c (Fx_hide_tip): Fix last change. - - * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's - nothing to do. Bind inhibit-quit. - (tip_frame): Make it a Lisp_Object. - (x_create_tip_frame): Set tip_frame after it has been added to - Vframe_list. - (Fx_show_tip): Don't set tip_frame here. - - * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object. - - * xdisp.c (prepare_menu_bars): Changes for tip_frame being a - Lisp_Object. - - * dispextern.h: Change external declaration of tip_frame. - - * keymap.c (Fkey_description): If KEYS is an empty key sequence, - return an empty string. - - * xdisp.c (try_cursor_movement): Check update_mode_lines instead - of the window's update_mode_line flag, since the former is set by - force-mode-line-update, not the latter. This makes - column-number-mode slightly faster. - - * xdisp.c (try_window_id) <all changes above window start>: - Set the cursor. - -2000-12-11 Paul Eggert <eggert@twinsun.com> - - * config.in (HAVE_FTELLO): Remove. - (HAVE_FSEEKO): Add. - (_XOPEN_SOURCE): Remove; the large-file code no longer needs it. - * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not - HAVE_FTELLO. - * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef. - * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE. - -2000-12-11 Miles Bader <miles@gnu.org> - - * window.c (displayed_window_lines): Don't round up when - converting empty space at bottom to lines. - Handle non-newline-terminated final lines properly. - (Fwindow_text_height): New function (used to be in lisp). - (syms_of_window): Initialize it. - -2000-12-09 Stefan Monnier <monnier@cs.yale.edu> - - * syntax.c (scan_lists): Check that the right quote char has the - right Sstring syntax when jumping over strings. - (init_syntax_once): Use Smax rather than 13. - -2000-12-09 Miles Bader <miles@gnu.org> - - * window.c (Fpos_visible_in_window_p): Replace FULLY parameter - with PARTIALLY, inverting the sense. - (window_scroll_pixel_based): Scroll partially visible lines into - place if we hit the beginning or end of the buffer. - (displayed_window_lines): Don't include partially visible lines. - (Fmove_to_window_line): Skip past any partially visible first line. - -2000-12-08 Gerd Moellmann <gerd@gnu.org> - - * keymap.c (current_minor_maps): Use malloc. Prevent a leak. - - * tparam.c (tparam1): Change the way buffers are reallocated to be - portable and less obfuscated. - - * termcap.c (tgetent): Change the way buffers are reallocated to - be portable and less obfuscated. - - * macros.c (store_kbd_macro_char): Change the way buffers are - reallocated to be portable and less obfuscated. - - * lread.c (read1): Change the way buffers are reallocated to be - portable and less obfuscated. - - * doc.c (Fsubstitute_command_keys): Change the way buffers - are reallocated so that it is portable. - -2000-12-07 Eli Zaretskii <eliz@is.elta.co.il> - - * dosfns.c (Ffile_system_info): New function. - (syms_of_dosfns): Defsubr it. - -2000-12-07 Stefan Monnier <monnier@cs.yale.edu> - - * alloc.c (gc_sweep): Add comment. - -2000-12-07 Gerd Moellmann <gerd@gnu.org> - - * sound.c (vox_configure): Change order of ioctls. - Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE. - Ignore errors when changing volume. - (vox_close): Don't reset the device. - - * process.c (read_process_output): Make sure the process marker's - position is valid when the process buffer is changed in - after-change functions. W3 does that. - - * xfns.c (x_free_gcs): New function. - - * xterm.h (x_free_gcs): Add prototype. - - * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of - freeing GCs here. - - * xterm.c (x_destroy_window): Call x_free_gcs so that - resources of non-toolkit X windows will be freed. - -2000-12-07 Andrew Innes <andrewi@gnu.org> - - * w32fns.c (xlfd_charset_of_font): Fix last change. - -2000-12-06 Dave Love <fx@gnu.org> - - * md5.h (__P): Don't define -- it comes from config.h. - - * strftime.c: Change some #if foo to #ifdef foo. - -2000-12-06 Andrew Innes <andrewi@gnu.org> - - * w32term.h (CP_INVALID): Rename to CP_UNKNOWN. - - * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument. - (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN. - (w32_list_fonts): Don't choke if pattern doesn't specify a codepage. - -2000-12-06 Gerd Moellmann <gerd@gnu.org> - - * alloc.c (gc_sweep): Prevent symbols read during loadup - from being freed. - - * xdisp.c (underlying_face_id): New function. - (handle_face_prop, face_before_or_after_it_pos): Use it - to determine the face ``under'' a string. Let strings inherit - the face of the buffer under them. - - * xfaces.c (face_at_string_position): Update function comment. - - * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current - matrix if the window's left position has changed; we need to - redraw it in this case. - - * dispextern.h (struct glyph_matrix): Add member window_left_x. - - * window.c (coordinates_in_window): Check mouse on mode-line or - header-line first. - - * alloc.c (Fgarbage_collect): Dox fix. Return a list as - advertized by the function documentation. - - * window.c (syms_of_window): Doc fix. - - * sound.c (vox_configure): Set volume for left and right channel. - (sound_cleanup): Return nil. - - * xdisp.c (move_it_by_lines): Fix paren typo. - - * xterm.c (x_load_font): Don't use the font's max_bounds for - computing the height of the font. If max_bounds' ascent or - descent are greater than the font's ascent or descent, this means - glyphs overlap, which should be handled now by redisplay. - - * window.c (Veven_window_heights): New variable. - (syms_of_window): DEFVAR_LISP it. - (Fdisplay_buffer): Check Veven_window_heights before evening the - window heights. - -2000-12-06 Miles Bader <miles@gnu.org> - - * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t', - update `default-frame-alist' instead of setting no frame parameters. - -2000-12-06 Kenichi Handa <handa@etl.go.jp> - - * composite.c (update_compositions): Fix typo (use the correct - variable). - -2000-12-05 Jason Rumney <jasonr@gnu.org> - - * md5.h: Remove underscores from function declarations. - (__attribute__, __alignof__) [!__GNUC__]: Define. - - * md5.c: Delay include of md5.h until after namespace cleaning. - - * makefile.w32-in (fns.o): Depend on md5.h - (md5.o): New target. - (sunfns.o): Remove. - - * makefile.nt: Likewise. - -2000-12-05 Jason Rumney <jasonr@altavista.net> - - * w32term.c (expose_area): Complete last change. - -2000-12-05 Ken Raeburn <raeburn@gnu.org> - - * minibuf.c: Include intervals.h. - -2000-12-05 Jason Rumney <jasonr@gnu.org> - - * w32term.c (x_produce_glyphs): If a font for a component of - a composition is not found, use 1 pixel dot ascent and 0 dot - descent value to avoid displaying terribly tall empty boxes. - (expose_area): Pass x-coordinate relative to the exposed - area to x_draw_glyphs instead of a window-relative coordinate. - -2000-12-05 Gerd Moellmann <gerd@gnu.org> - - * xdisp.c (next_element_from_ellipsis): Save face before selective - display in saved_face_id, and set face_before_selective_p. - (reseat_1): Reset face_before_selective_p. - (append_space, extend_face_to_end_of_line): If iterator's - face_before_selective_p is set, use the face from saved_face_id. - (extend_face_to_end_of_line): For tty frames, make sure to - use the right face id when producing spaces at the end of - the line. - - * dispextern.h (struct it): Add face_before_selective_p. - - * keyboard.c (record_char): Don't record identical help-echo - events in recent_keys. - - * xterm.c [USE_X_TOOLKIT]: Close the display. - (xim_close_dpy): Handle case that the display has been closed. - - * xterm.c (x_destroy_window): Reset the frame's X window after - destroying it. - - * dispnew.c (adjust_glyph_matrix): Make sure to initialize local - variable window_width. - (line_draw_cost): Fix code skipping over spaces at the end of the - line when must_write_spaces is not set. - (scrolling_window): Fix code inserting runs in list of all runs. - -2000-12-05 Kenichi Handa <handa@etl.go.jp> - - * coding.c (setup_coding_system): Be sure to initialize - coding->category_idx. - -2000-12-04 Gerd Moellmann <gerd@gnu.org> - - * xterm.c (PER_CHAR_METRIC): Removed because not used. - - * xterm.c (expose_area): Pass x-coordinate relative to the exposed - area to x_draw_glyphs instead of a window-relative coordinate. - - * fileio.c (auto_save_error): Add parameter ERROR. Show the - error in the message. - - * keyboard.c (Fread_key_sequence): Don't start the busy cursor - timer after having read a key. It's not good for code reading - several keys in a loop, like an input method. - - * fileio.c (Finsert_file_contents): When VISIT is t, don't - record undo information for format-decode. - - * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if - current buffer is read-only, not if it isn't. - - * keyboard.c (record_char): Record `help-echo' input events - in recent_keys only if they display some help. Don't record - `help-echo' events as macro char. - -2000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu> - - * editfns.c (save_excursion_restore): Don't move point - in another window if it is showing the wrong buffer. - Avoid the call to Fwindow_live_p, for speed. - -2000-12-04 Kenichi Handa <handa@etl.go.jp> - - * xfaces.c (struct font_name): New member registry_priority. - (split_font_name): Initialize the above member to zero. - (concat_font_list): New function. - (font_list): Include fonts of all alternative registries. - (FONT_POINT_SIZE_QUANTUM): New macro. - (better_font_p): Ignore point size difference less than - FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort. - - * xterm.c (x_produce_glyphs): If a font for a component of - a composition is not found, use 1 pixel dot ascent and 0 dot - descent value to avoid displaying terribly tall empty boxes. - - * ccl.c (stack_idx_of_map_multiple): Don't use C initializier. - -2000-12-03 Ken Raeburn <raeburn@gnu.org> - - * coding.h (code_convert_string1): Declare. - - * fns.c (Fmd5): Pass lisp objects, not integers, to call3. - - * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare. - -2000-12-02 Jason Rumney <jasonr@gnu.org> - - * w32term.c (w32_bdf_per_char_metric): Dereference pointer - correctly for single byte character case. - (w32_per_char_metric): Do not try to make any assumptions about - the metrics of BDF fonts. - (x_estimate_mode_line_height): If `mode-line' face - hasn't a font, use that of the frame, as drawing glyphs does. - (note_mouse_highlight): Change the cursor shape on the vertical - border between windows [not enabled]. - - * w32term.h (struct w32_output): Add member horizontal_drag_cursor. - - * w32fns.c (Fx_create_frame): Reintroduce the call to - face-set-after-frame-defaults. - (Vx_window_horizontal_drag_shape): New variable. - (syms_of_xfns): DEFVAR_LISP it. - (x_set_mouse_color): Create frame's horizontal_drag_cursor [not - enabled]. - -2000-12-02 Simon Josefsson <simon@josefsson.org> - - * fns.c (Fmd5): Use a different logic to decide the coding system - to use. - - * coding.h (Qwrite_region, Qcoding_system_error): Declare extern. - -2000-12-02 Eli Zaretskii <eliz@is.elta.co.il> - - * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL. - -2000-12-01 Gerd Moellmann <gerd@gnu.org> - - * xterm.c (x_calc_absolute_position): Don't subtract menubar's - height for YNegative. - (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's - height; also see comment there. - - * window.c (coordinates_in_window): Handle computations for - positions on the vertical bar and fringes differently for - window-system frames. Consider some pixels near the vertical bar - as on the bar if the frame doesn't have vertical scroll bars. - Associate positions between mode or header lines with the - right window, the left one. - -2000-12-01 Jason Rumney <jasonr@gnu.org> - - * w32term.c (w32_clear_window): Avoid clearing an invalid frame. - - * w32xfns.c (get_frame_dc): Avoid changing the palette on an - invalid frame. - -2000-12-01 Gerd Moellmann <gerd@gnu.org> - - * window.c (struct saved_window): Add members orig_top and orig_height. - (SAVED_WINDOW_VECTOR_SIZE): Increment to 16. - (save_window_save, Fset_window_configuration): Save/restore - window's orig_top and orig_height. - -2000-12-01 Jason Rumney <jasonr@gnu.org> - - * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect. - - * w32fns.c (x_set_cursor_color): Fix last change. - -2000-11-30 Gerd Moellmann <gerd@gnu.org> - - * xdisp.c (echo_area_display): If cursor is in the echo area, make - sure that the next redisplay displays the minibuffer, so that - the cursor will be replaced with what the minibuffer wants. - - * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and - #ifndef instead of using #if. - (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if - USE_TOOLKIT_SCROLL_BARS is defined. - -2000-11-30 Jason Rumney <jasonr@gnu.org> - - * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of - x_display_cursor. - -2000-11-30 Gerd Moellmann <gerd@gnu.org> - - * fns.c (Fmd5): Doc fix. - -2000-11-30 Simon Josefsson <simon@josefsson.org> - - * fns.c (Fmd5): New function. - (syms_of_fns): Defsubr md5. - - * Makefile.in (obj): Add md5.o - -2000-11-30 Gerd Moellmann <gerd@gnu.org> - - * md5.h, md5.c: New files, taken from glibc. - - * xmenu.c (popup_get_selection): Use xmalloc instead of malloc. - - * xterm.c (x_estimate_mode_line_height): If `mode-line' face - hasn't a font, use that of the frame, as drawing glyphs does. - -2000-11-29 Stefan Monnier <monnier@cs.yale.edu> - - * eval.c (Frun_hooks): Allow 0 arguments. - -2000-11-29 Gerd Moellmann <gerd@gnu.org> - - * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse - is over the menu bar widget, say it's not on the frame. - - * xfns.c (Fx_create_frame): Reintroduce the call to - face-set-after-frame-defaults. - - * eval.c (Fsignal): Reset handling_signal. - -2000-11-28 Jason Rumney <jasonr@gnu.org> - - * w32menu.c (add_menu_item): Reset menu item text when changing - type to radio button. - -2000-11-28 Gerd Moellmann <gerd@gnu.org> - - * xselect.c: Update copyright. - - * window.c (coordinates_in_window): If on a mode or header line, - but sufficiently close to its start, return ``on vertical - border''. This gives us a way to drag windows horizontally when - using toolkit scroll bars. - - * xterm.c (note_mouse_highlight): Change the cursor shape - on the vertical border between windows. - - * xterm.h (struct x_output): Add member horizontal_drag_cursor. - - * xfns.c (Vx_window_horizontal_drag_shape): New variable. - (syms_of_xfns): DEFVAR_LISP it. - (x_set_mouse_color): Create frame's horizontal_drag_cursor. - - * textprop.c (text_read_only): New function. - (verify_interval_modification): Use it instead of signaling - `text-read-only'. This makes it easier to catch this error - with a breakpoint.: - - * xdisp.c (forward_to_next_line_start): Check for newlines, - not end of line, which includes CR. - -2000-11-28 Kenichi Handa <handa@etl.go.jp> - - * coding.c (Ffind_coding_systems_region_internal): Be sure to - include no-conversion. - -2000-11-27 Jason Rumney <jasonr@gnu.org> - - * w32fns.c (w32_load_system_font): Always mark font as double byte - if codepage is unicode. - -2000-11-27 Gerd Moellmann <gerd@gnu.org> - - * xdisp.c (forward_to_next_line_start): If already on a newline, - just consume it to avoid unintended skipping over invisible text below. - - * keyboard.c (lucid_event_type_list_p): Handle `help-echo', - `vertical-line', `mode-line' and `header-line' events. - - * xdisp.c (try_window_id): Avoid starting to display in the middle - of a character, a TAB for instance. This is easier than to set - up the iterator exactly, and it's not a frequent case, so the - additional effort wouldn't really pay off. - -2000-11-26 Andrew Choi <akochoi@i-cable.com> - - * emacs.c (main) [macintosh]: Call syms_of_frame before calling - init_window_once. - -2000-11-25 Jason Rumney <jasonr@gnu.org> - - * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]: - Args to window_from_coordinates should be pixel coordinates. - - * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new - redisplay handles them properly. - -2000-11-25 Miles Bader <miles@gnu.org> - - * indent.c (compute_motion): Keep pos_byte in sync with pos. - -2000-11-24 Jason Rumney <jasonr@gnu.org> - - * w32.c (init_environment): Set LANG environment variable based on - locale settings, if not set. - - * w32fns.c (x_set_tool_bar_lines): Clear internal border when - making tool bar smaller. When clearing the frame, also - clear current matrices. Clear frame when tool bar disappears. - Don't use more lines for the tool-bar than is available. - (x_change_window_heights): New function. - -2000-11-24 Gerd Moellmann <gerd@gnu.org> - - * xdisp.c (init_from_display_pos): If POS says we're already after - an overlay string ending at POS, make sure to pop the iterator - because it will be in front of that overlay string. When POS is - ZV, we've thereby also ``processed'' overlay strings at ZV. - - * xfaces.c (lface_from_face_name): Function comment fix. - -2000-11-24 Miles Bader <miles@gnu.org> - - * xdisp.c (display_menu_bar, display_mode_line): Change the way we - apply `mode-line-inverse-video' -- zero means force display using - the default face, non-zero means display using the specialized face. - (syms_of_xdisp): `mode-line-inverse-video' defaults to true again. - -2000-11-23 Kenichi Handa <handa@etl.go.jp> - - * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of - hard coded `4'. - -2000-11-23 Eli Zaretskii <eliz@is.elta.co.il> - - * coding.c (decode_coding_emacs_mule): Fix the case of - CODING_EOL_LF, which used uninitialized value of c. - -2000-11-23 Stefan Monnier <monnier@cs.yale.edu> - - * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local. - -2000-11-22 Gerd Moellmann <gerd@gnu.org> - - * buffer.c (Fmake_indirect_buffer): Don't treat nil as a - buffer object. - - * frame.h (struct frame): Replace desired_tool_bar_items, - current_tool_bar_items, n_desired_tool_bar_items, - n_current_tool_bar_items with tool_bar_items and n_tool_bar_items. - - * frame.c (make_frame): Change initialization of tool bar - items accordingly. - - * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight): - Change references to members deleted from struct frame to use the - new ones. - - * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change - references to members deleted from struct frame to use the new ones. - - * dispnew.c (update_frame): Do nothing with frame's tool bar items. - - * alloc.c (mark_object) <frame>: Mark tool bar items differently. - - * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click) - (note_tool_bar_highlight): Change references to members deleted - from struct frame to use the new ones. - -2000-11-23 Miles Bader <miles@gnu.org> - - * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with - the face's inverse-video attribute, rather than overriding it. - -2000-11-22 Gerd Moellmann <gerd@gnu.org> - - * xfns.c (x_set_tool_bar_lines): Clear internal border when - making tool bar smaller. - -2000-11-22 Dave Love <fx@gnu.org> - - * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define. - -2000-11-22 Miles Bader <miles@gnu.org> - - * keyboard.c (Vminibuffer_message_timeout): New variable. - (command_loop_1): Use it to determine message timeout. - (syms_of_keyboard): Initialize it. - - * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil. - -2000-11-22 Kenichi Handa <handa@etl.go.jp> - - * sysdep.c: Move the code for declaring h_errno after #include - <netdb.h>. - -2000-11-21 Gerd Moellmann <gerd@gnu.org> - - * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay - the menu bar when the tooltip is unmapped. - - * buffer.c (Fkill_buffer): Notice if the buffer to kill is the - sole visible buffer when we're currently in the mini-buffer, and - give up if so. - -2000-11-21 Jason Rumney <jasonr@gnu.org> - - * w32select.c (Fw32_set_clipboard_data): Save a copy of what is - put on the clipboard. - (Fw32_get_clipboard_data): Compare data on clipboard with saved - copy of what Emacs last put there. If they are the same, do not - use the clipboard copy to avoid losing data due to coding conversions. - -2000-11-22 Miles Bader <miles@gnu.org> - - * minibuf.c (Vminibuffer_prompt_properties): New variable. - (syms_of_minibuf): Initialize it. - (read_minibuf): Add properties from Vminibuffer_prompt_properties - to prompt, don't make read-only. - -2000-11-21 Gerd Moellmann <gerd@gnu.org> - - * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>: - Add BEFORE/AFTER_POTENTIAL_GC. - - * s/hpux10.h (_FILE_OFFSET_BITS): Undef. - - * buffer.c (mmap_free_1): Avoid a compiler warning. - - * term.c, cm.c: Don't try to include termcap.h; see comment there. - -2000-11-21 Kenichi Handa <handa@etl.go.jp> - - * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0 - ... #endif scope. - -2000-11-20 Gerd Moellmann <gerd@gnu.org> - - * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the - screen supports it. - - * s/gnu-linux.h: Don't use `#cpu'. - - * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's - not defined in mman.h. - - * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables. - (x_send_scroll_bar_event): Store the window in scroll_bar_windows - and store an index in the XClientMessageEvent. Storing a - Lisp_Object or pointer can fail on a 64 bit system, since X only - transfers 32 bits. - (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows. - -2000-11-20 Dave Love <fx@gnu.org> - - * Makefile.in (LIBX): Reorder for -lX11 after -lXpm. - -2000-11-20 Gerd Moellmann <gerd@gnu.org> - - * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine. - -2000-11-20 Kenichi Handa <handa@etl.go.jp> - - * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID - by WIDTH. - - * alloc.c (make_string): Fix previous change. Be sure to make - unibyte string correctly. - -2000-11-19 Gerd Moellmann <gerd@gnu.org> - - * window.c (Fwindow_list): Change parameter list to be XEmacs - compatible. - (window_list_1): New function. - (window_loop): Use it instead of Fwindow_list. - - * sysdep.c (emacs_ospeed): New variable. - (toplevel): Don't declare ospeed extern. - (init_baud_rate): Use emacs_ospeed instead of ospeed. - - * termcap.c (ospeed): Remove. - (tputs) [!emacs]: Remove unused code. - (tgetent): Avoid a compiler warning. - - * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create) - (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call - SCROLL_BAR_X_WIDGET with additional argument DPY. - - * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high - removed. - (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget. - Take the X display as additional argument. - (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since - `Widget' is a pointer type that's not easily stored in Lisp_Object - form in a portable way. - - * dispnew.c (update_text_area): Fix last change. - -2000-11-18 Gerd Moellmann <gerd@gnu.org> - - * xdisp.c: Use BINDING_STACK_SIZE throughout. - - * xfns.c (x_set_tool_bar_lines): When clearing the frame, also - clear current matrices. - - * buffer.c (mmap_enlarge): Don't print a message on stderr - if mapping new memory at the end of the existing region fails. - - * dispnew.c (update_text_area): Don't skip over equal glyphs - when the last current glyph overlaps the glyph to its right. - -2000-11-18 Miles Bader <miles@gnu.org> - - * xdisp.c (message_log_check_duplicate): Let "..."-detection match - lines that *end* with "..." too (that's the most common case!). - -2000-11-18 Gerd Moellmann <gerd@gnu.org> - - * xdisp.c (resize_mini_window): Temporarily change to the - mini-window's buffer if necessary. - - * xfns.c (Fx_show_tip): Use default y-offset of -10 so that - the tooltip obscures less text under it. - -2000-11-17 Gerd Moellmann <gerd@gnu.org> - - * puresize.h (BASE_PURESIZE): Increase to 700000. - -2000-11-18 Jason Rumney <jasonr@gnu.org> - - * w32term.c (w32_draw_bitmap): Use face to set colors. - -2000-11-17 Dave Love <fx@gnu.org> - - * lread.c (Fload): Fix #ifdef for pcc. - -2000-11-17 Gerd Moellmann <gerd@gnu.org> - - * xdisp.c (pos_visible_p): Compute the default character height - differently. - -2000-11-16 Gerd Moellmann <gerd@gnu.org> - - * xdisp.c (pos_visible_p): Handle case that we reach ZV without - knowing the line's height; use the default font's height in that case. - - * xfaces.c (weight_table): Add `demi' with the same meaning as - `demibold'. - -2000-11-16 Kenichi Handa <handa@etl.go.jp> - - * dispnew.c (null_row): New global static variable. - (clear_glyph_row): Delete local static variable null_row. - -2000-11-15 Jason Rumney <jasonr@gnu.org> - - * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant. - (w32_alloc_lighter_color): Use new brightness calculations from - xterm.c. Scale delta to be in the range expected by W32. - (w32_draw_relief_rect): Use frame relief colors. - -2000-11-15 Gerd Moellmann <gerd@gnu.org> - - * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame. - (Qinhibit_default_face_x_resources): New variable. - (syms_of_frame): Initialize it. - (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources. - - * xdisp.c (pos_visible_p): Improve function comment. - - * lisp.h (BINDING_STACK_SIZE): New macro. - - * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry - reading the directory if readdir returns null and errno is EAGAIN - or EINTR. - -2000-11-14 Stefan Monnier <monnier@cs.yale.edu> - - * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args - so setting scroll-step to 1 doesn't defeat scroll-conservatively. - Set amount_to_scroll to max of dx and scroll_step so that - scroll-conservatively doesn't defeat scroll-step>1. - (syms_of_xdisp): Add a hint in scroll-step's docstring to use - scroll-conservatively for line-at-a-time scrolling. - -2000-11-14 Gerd Moellmann <gerd@gnu.org> - - * window.c (Fpos_visible_in_window_p): Call pos_visible with - extra argument. - - * xdisp.c (current_mode_line_height, current_header_line_height): - New variables. - (init_xdisp): Initialize them. - (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute - and use exact mode line heights if it is set. - - * lisp.h (pos_visible_p): Change prototype. - - * dispextern.h (CURRENT_MODE_LINE_HEIGHT) - (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height - and current_header_line_height first. - (current_mode_line_height, current_header_line_height): - Declare extern. - -2000-11-14 Miles Bader <miles@lsi.nec.co.jp> - - * xterm.c (x_alloc_lighter_color): Use real brightness calculation. - Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST. - (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed. - -2000-11-14 Miles Bader <miles@gnu.org> - - * xterm.c (x_alloc_lighter_color): Include an additive component - too for dark colors, because FACTOR isn't enough. - (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): - New macros. - -2000-11-13 Gerd Moellmann <gerd@gnu.org> - - * keyboard.c (show_help_echo): Call message3_nolog with number of - bytes in the help string as 2nd parameter, instead of the number - of characters. - -2000-11-13 Miles Bader <miles@gnu.org> - - * lread.c (openp): Return -2 instead of 0 for the `remote file' case. - (Fload): Use new openp return protocol. - Don't try to use Vload_source_file_function to load .elc files. - * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new - openp return protocol. - * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise. - -2000-11-11 Kenichi Handa <handa@etl.go.jp> - - * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY. - - * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL): - Defined these macros. - (NLIST_STRUCT): Avoid re-defining it. - - * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and - -I/usr/contrib/X11R6/include. - (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6. - -2000-11-10 Jason Rumney <jasonr@gnu.org> - - * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages. - - * w32term.c (w32_encode_char): Handle CP_UNICODE specially. - (w32_use_unicode_for_codepage): Use new pseudo-codepages. - - * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers. - (Qw32_charset_vietnamese): New symbol. - (xlfd_charset_of_font): New function. - (w32_load_system_font): Use it. - (x_to_w32_charset): Use Fassoc to find charset info. Special case - when Vw32_charset_info_alist is nil to ensure default face always - has font. Use Fcar and Fcdr for safety. - (w32_to_x_charset): Use Vw32_charset_info_alist for mappings. - (w32_codepage_for_font): Use xlfd_charset_of_font. Use new - pseudo-codepages for special cases. - (w32_to_x_font): New parameter to allow charset portion to be - specified where there is many to one mapping. Callers changed. - (w32_list_fonts): Avoid listing fonts that won't display. - -2000-11-10 Gerd Moellmann <gerd@gnu.org> - - * xfaces.c (Vface_alternative_font_registry_alist): New variable. - (font_list_1): Renamed from font_list. - (font_list): New function, trying alternative registries from - Vface_alternative_font_registry_alist. - (Finternal_set_alternative_font_registry_alist): New function. - (syms_of_xfaces): Initialize and Staticpro - Vface_alternative_font_registry_alist. - Defsubr Finternal_set_alternative_font_registry_alist. - -2000-11-09 Ken Raeburn <raeburn@gnu.org> - - * lisp.h (Flooking_at): Declare. - -2000-11-09 Gerd Moellmann <gerd@gnu.org> - - * dired.c (directory_files_internal): Fix a braino. - - * dired.c (directory_files_internal): Add missing GCPRO's. - Some cleanup. - -2000-11-08 Gerd Moellmann <gerd@gnu.org> - - * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height. - (resize_mini_window): Return quickly if Vresize_mini_window is - nil. Don't return if Vmax_mini_window_height is nil. - - * xdisp.c (Vresize_mini_window, Qgrow_only): New variables. - (syms_of_xdisp): Initialize them. - (resize_mini_window): Act according to the setting of - Vresize_mini_window. - (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil. - - * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the - scroll bar widget after configuring it, so that it will appear at - the right position from the start. - (XTredeem_scroll_bar): Cleaned up. - -2000-11-08 Kenichi Handa <handa@etl.go.jp> - - * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the - font is taller than the frame line, we don't have to bias the - division by two. - - * w32term.c (VCENTER_BASELINE_OFFSET): Likewise. - -2000-11-07 Dave Love <fx@gnu.org> - - * config.in (HAVE_MKSTEMP): Add. - - * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it. - -2000-11-07 Gerd Moellmann <gerd@gnu.org> - - * window.c (Fset_window_configuration): Don't try to preserve - point in the current buffer, if that buffer is displayed in more - than one window. - - * xfaces.c (lookup_named_face): If default face isn't realized, - try to realize it. Return -1 if not successful. - (Fx_list_fonts): Handle case that face cannot be determined. - (Fface_font): Likewise. - -2000-11-06 Gerd Moellmann <gerd@gnu.org> - - * window.c (displayed_window_lines): Detect partially - visible lines at the bottom correctly. - -2000-11-06 Stefan Monnier <monnier@cs.yale.edu> - - * fileio.c (Fwrite_region): Use `visiting' rather than `visit' - when ensuring we don't do visit in indirect buffer. - -2000-11-06 Kenichi Handa <handa@etl.go.jp> - - * composite.h (compose_chars_in_text): Add prototype. - - * composite.c (Vcomposition_function_table): New variable. - (Qcomposition_function_table): New variable. - (run_composition_function): Call - Vcompose_chars_after_function with three arguments. - (compose_chars_in_text): New function. - (syms_of_composite): Modified the doc-string of - Vcompose_chars_after_function. Declare composition-function-table - as a lisp variable, and initialize it. - - * xfns.c (x_encode_text): Suppress producing escape sequences for - composition. - - * xselect.c: Include composite.h. - (selection_data_to_lisp_data): Call compose_chars_in_text on STR. - -2000-11-05 Andrew Innes <andrewi@gnu.org> - - * w32term.c (x_produce_glyphs): Fix typo in enum name. - - * sysdep.c (read_input_waiting): Remove extraneous argument to - read_socket_hook. - - * w32fns.c (Fx_server_version): Include w32_build_number in the - return list. - - * w32heap.c (w32_build_number): New variable. - (cache_system_info): Set it. - - * w32heap.h (w32_build_number): Add extern. - - * emacs.c (syms_of_emacs): Update docstring for - system-configuration, to reflect the actual usage on MS-Windows. - -2000-10-31 Gerd Moellmann <gerd@gnu.org> - - * keyboard.c (read_char) <wrong_kboard>: Make sure that we - process idle timers while waiting for another event. - - * dispnew.c (update_frame_line): Handle case where spaces in - the default face are colored. - - * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if - window height hasn't changed. - -2000-10-31 Jason Rumney <jasonr@gnu.org> - - * w32term.c (x_produce_glyphs): Handle composite characters. - (x_draw_glyph_string_foreground) - (x_draw_composite_glyph_string_foreground): Restore old font. - -2000-10-31 Miles Bader <miles@lsi.nec.co.jp> - - * minibuf.c (read_minibuf): Reset the undo history just before - starting the recursive-edit. - -2000-10-30 Gerd Moellmann <gerd@gnu.org> - - * xfaces.c (menu_face_change_count): New variable. - (Finternal_set_lisp_face_attribute): Increment it for changes - of the `menu' face. - (realize_basic_faces): Reflect changes in the `menu' faces - in menu bars. - - * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the - dy obtained from the iterator's y-position after moving from - scroll_margin_pos to PT; see comment there. - - * xdisp.c (safe_eval_handler): Call add_to_log. - - * xfaces.c (resolve_face_name): Handle case that FACE_NAME - is not a symbol or string. - - * xdisp.c (echo_area_display): Don't perform a display update from - inside redisplay. The update will happen anyway at the end of - redisplay, and it can confuse redisplay (GC messages while - redisplaying, for instance.) - -2000-10-30 Stefan Monnier <monnier@cs.yale.edu> - - * xrdb.c (x_load_resources): Use the class name in the defaults. - - * regex.c (re_iswctype, re_wctype_to_bit): Fix braino. - (regex_compile): Catch bogus \(\1\). - -2000-10-30 Gerd Moellmann <gerd@gnu.org> - - * xterm.c (x_alloc_nearest_color): Fix last change to compare - RGB values. - - * xterm.c (x_alloc_nearest_color): If allocation succeeds, and - we have a color cache, check that the cached color equals the - allocated color. If not, clear the color cache. - - * window.c (displayed_window_lines): Change buffers if necessary. - Fix computation of displayed lines. - - * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of - update_menu_bindings to DEFVAR_BOOL. - -2000-10-30 Kenichi Handa <handa@etl.go.jp> - - * search.c (Fset_match_data): Be sure to make search_regs always sane. - - * puresize.h (BASE_PURESIZE): Increase to 680000. - - * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION. - -2000-10-29 Jason Rumney <jasonr@gnu.org> - - * w32term.h (FONT_DESCENT): Negate descent of BDF fonts. - - * w32term.c (w32_bdf_per_char_metric): Negate descent. - (w32_cache_char_metrics): Handle possibility that 'x' does not - exist in a BDF font. - (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars. - - * w32bdf.h (bdffont): Add nchars. - - * w32bdf.c (set_bdf_font_info): Set it. - (w32_BDF_TextOut): Swap byte order of double byte characters. - (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars. - -2000-10-28 Eli Zaretskii <eliz@is.elta.co.il> - - * frame.c (Fframe_parameters): Fix the change from 2000-10-16: - don't override the colors in frame's param_alist, unless they are - unspecified. - - * term.c (reassert_line_highlight): If inverse_video is non-zero, - reverse the effect of the highlight flag. - -2000-10-27 Ken Raeburn <raeburn@gnu.org> - - * window.h (Fwindow_live_p): Declare. - - * undo.c (record_delete): Check that last_undo_buffer is really a - buffer before applying XBUFFER to it. - - * keymap.c (where_is_internal): Pass lisp object, not integer, to - Faref. - -2000-10-27 Stefan Monnier <monnier@cs.yale.edu> - - * lisp.h (KEYMAPP): New macro. - (get_keymap): Remove. - (get_keymap_1): Rename get_keymap. - - * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype. - - * xterm.c (note_mode_line_highlight): Use KEYMAPP. - - * xmenu.c (single_submenu): Use KEYMAPP. - (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp. - Use KEYMAPP rather than Fkeymapp. - - * w32term.c (note_mode_line_highlight): Use KEYMAPP. - - * w32menu.c (True, False): Remove (use TRUE and FALSE instead). - (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp. - Use KEYMAPP rather than Fkeymapp. - (single_submenu): Use KEYMAPP. - (w32_menu_show, w32_dialog_show): Use TRUE. - - * minibuf.c (Fread_from_minibuffer): Update call to get_keymap. - - * keymap.c (KEYMAPP): Remove (moved to lisp.h). - (Fkeymapp): Use KEYMAPP. - (get_keymap): Rename from get_keymap_1. Remove old def. - Return t when autoload=0 and error=0 and the keymap needs autoloading. - (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp. - (Fminor_mode_key_binding): Don't raise an error if the binding - is not a keymap. - (Fuse_global_map, Fuse_local_map): Allow autoloading. - (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp. - - * keyboard.c (read_char): get_keymap_1 -> get_keymap. - Allow Vspecial_event_map to be autoloaded. - (menu_bar_items): Fetch the keymap rather than using keymapp. - (menu_bar_one_keymap): No need to follow func-indirect any more. - (parse_menu_item): get_keymap_1 -> get_keymap. - (tool_bar_items): Fetch the keymap rather than using keymapp. - (read_key_sequence): Use KEYMAPP. - - * intervals.c (get_local_map): Use get_keymap rather than following - function-indirections explicitly. - - * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap. - -2000-10-27 Jason Rumney <jasonr@gnu.org> - - * w32fns.c (Fx_create_frame): Make default fontsize on w32 10 - point, as Windows has oversized fonts. - - * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise. - -2000-10-27 Gerd Moellmann <gerd@gnu.org> - - * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1. - (freehook, reallochook): Handle null pointer arguments. - (__malloc_initialize) [GC_MCHECK]: Call mcheck. - -2000-10-27 Stefan Monnier <monnier@cs.yale.edu> - - * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal) - (re_match_2_internal, re_match_2_internal, re_match_2_internal): - Giving in to popular pressure to shut up the compiler with casts. - -2000-10-27 Gerd Moellmann <gerd@gnu.org> - - * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a - signed value, and use a default value computed from the font's - maximum descent. - -2000-10-27 Miles Bader <miles@lsi.nec.co.jp> - - * xterm.c (x_draw_glyph_string): Add a workaround so that fonts - that specify a negative underline position can still use underlines. - - * window.c (Fpos_visible_in_window_p): Make POS default to - WINDOW's point, not the current buffer's point. - -2000-10-26 Dave Love <fx@gnu.org> - - * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out - when it's necessary. - -2000-10-26 Gerd Moellmann <gerd@gnu.org> - - * window.c (size_window): Compute size difference from sum of old - child window sizes instead of from parent's size. - - * xdisp.c (pos_visible_p): Change current buffer if necessary. - Handle obscured lines at the top of the window. - - * frame.c (Fdelete_frame): Doc fix. Move running the hook - down after the last error condition check. - - * frame.c (Fdelete_frame): Run delete-frame-hook. - -2000-10-26 Kenichi Handa <handa@etl.go.jp> - - * coding.c (decode_coding): Fix previous change (check also - CODING_MODE_LAST_BLOCK). - -2000-10-25 Stefan Monnier <monnier@cs.yale.edu> - - * regex.c: More `unsigned char' -> `re_char' changes. - Also change several `int' into `re_wchar_t'. - (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove. - (PUSH_FAILURE_POINTER): Don't cast any more. - (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'. - We want GCC to complain, since this piece of code makes - re_match non-reentrant, which *should* be fixed. - (GET_BUFFER_SPACE): Use size_t rather than unsigned long. - (EXTEND_BUFFER): Use RETALLOC. - (SET_LIST_BIT): Don't cast. - (re_wchar_t): New type. - (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC - that those two functions will always properly return. - (IMMEDIATE_QUIT_CHECK): Cast to void. - (analyse_first): Use recursion rather than an explicit stack. - (re_compile_fastmap): Can't fail anymore. - (re_search_2): Don't check re_compile_fastmap for failure. - (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT. - Now also sets the new value (passed in a new argument). - (re_match_2_internal): Use it. - Also, use a new var `reg' of type size_t when looping through regs - rather than reuse the inappropriate `mcnt'. - - * keymap.c (where_is_cache, where_is_cache_keymaps): New vars. - (Fset_keymap_parent, store_in_keymap): Flush the where-is cache. - (where_is_internal): Renamed from Fwhere_is_internal. - Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'. - (Fwhere_is_internal): New function wrapping where_is_internal. - (where_is_internal_1): Handle the case where we're filling the cache. - (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps). - -2000-10-25 Miles Bader <miles@gnu.org> - - * xdisp.c (pos_visible_p): Don't add `it.current_y' twice. - -2000-10-25 Gerd Moellmann <gerd@gnu.org> - - * window.c (pos_fully_visible_p): Removed. - (Fpos_visible_in_window_p): Use pos_visible_p to determine - if position is visible and/or fully visible. - - * lisp.h (pos_visible_p): Add prototype. - - * xdisp.c (pos_visible_p): New function. - -2000-10-25 Kenichi Handa <handa@etl.go.jp> - - * process.c (send_process): If OBJECT is t, it means that the data - is from C string, but we should encode it. Before calling - setup_raw_text_coding_system, be sure to flush out data by the - previous coding system. - -2000-10-25 Miles Bader <miles@lsi.nec.co.jp> - - * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an - assignment of startpos to prev when startpos == pos. - - * editfns.c (find_field): Set the field stickiness correctly from - overlay fields. Use renamed `text_property_stickiness'. - (text_property_stickiness): Renamed from `char_property_stickiness'. - Only check text properties, not overlays. - * textprop.c (get_char_property_and_overlay): New function. - (Fget_char_property): Use it. - * intervals.h (get_char_property_and_overlay): Add declaration. - -2000-10-25 Stefan Monnier <monnier@cs.yale.edu> - - * keymap.c: Use AREF, ASET and ASIZE macros. - (Fmake_sparse_keymap): Docstring fix. - (synkey): Remove. - (shadow_lookup): Move up. - Handle the case where lookup-key returns an integer. - (where_is_internal_1): Drop arg `keymap'. Don't check shadowing. - (where_is_internal_2): Adapt to fewer args for where_is_internal_1. - (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps. - Simplify/rewrite the keymap-finding code. - Add check for command shadowing, using shadow_lookup. - -2000-10-24 Stefan Monnier <monnier@cs.yale.edu> - - * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry - rather than KEYMAPP, to allow EQ to work correctly if parent_entry is - a symbol. - -2000-10-24 Andrew Innes <andrewi@gnu.org> - - * dired.c (directory_files_internal_unwind): New function. - (directory_files_internal): Use it to ensure closedir is called - even if expand-file-name or file-attributes throw, eg. because of - a user interrupt. Also enable immediate_quit while calling - re_search, so that matching can be interrupted as well. - -2000-10-24 Andrew Innes <andrewi@gnu.org> - - * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on - NT-Emacs only. - (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT, - so that re_search functions only quit when callers expect them to. - -2000-10-24 Kenichi Handa <handa@etl.go.jp> - - * regex.c (regex_compile): Change the way of handling a range from - a char less than 256 to a char not less than 256. - -2000-10-24 Gerd Moellmann <gerd@gnu.org> - - * window.c (size_window): Prevent setting window's width or - height to a negative value (esp. with XSETFASTINT). - - * gmalloc.c (state_protected_p, last_state_size, last_heapinfo) - [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables. - (protect_malloc_state) [GC_MALLOC_CHECK && - GC_PROTECT_MALLOC_STATE]: New function. - (PROTECT_MALLOC_STATE): New macro. - (__malloc_initialize, morecore, _malloc_internal) - (_free_internal) _realloc_internal): Use it to make _heapinfo - read-only outside of gmalloc. - - * keymap.c: Update copyright. - - * .gdbinit (xbacktrace): Handle case that $bt->function isn't - a symbol. - -2000-10-24 Colin Walters <walters@cis.ohio-state.edu> - - * filelock.c (unlock_all_files): Use unlock_file to expand each - buffer's file_truename before trying remove its lock file. - -2000-10-24 Eli Zaretskii <eliz@is.elta.co.il> - - * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR - or CRLF, decode EOLs. - -2000-10-24 Kenichi Handa <handa@etl.go.jp> - - * window.c (Fdisplay_buffer): Fix doc. - -2000-10-23 Jason Rumney <jasonr@gnu.org> - - * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for - ASCII font of default fontset on Windows. - - * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see - xterm.c comment below). - - * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy. - -2000-10-23 Gerd Moellmann <gerd@gnu.org> - - * xterm.c (x_connection_closed): Reset handling_signal. - - * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null. - -2000-10-23 Miles Bader <miles@gnu.org> - - * window.c (window_scroll_pixel_based, window_scroll_line_based): - Pass nil for FULLY argument to Fpos_visible_in_window_p to - maintain old behavior. - * minibuf.c (Fminibuffer_complete): Likewise. - -2000-10-23 Miles Bader <miles@lsi.nec.co.jp> - - * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so - that when a font can't be exactly centered, it errs up rather than - down. - -2000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu> - - * fns.c (Fbase64_decode_string): The decoded result should be unibyte. - -2000-10-23 Andrew Choi <akochoi@i-cable.com> - - * dispextern.h [macintosh]: Include macgui.h instead of macterm.h. - - * dispnew.c [macintosh]: Include macterm.h. - (init_display) [macintosh]: Initialization for window system. - - * emacs.c (main) [macintosh]: Call syms_of_textprop, - syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm, - syms_of_search, x_term_init, and init_keyboard before calling - init_window_once. Also, call syms_of_xmenu. - - * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of - default fontset to Monaco. - - * frame.c [macintosh]: Include macterm.h. Remove declarations of - NewMacWindow and DisposeMacWindow. - (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame - instead of calling NewMacWindow and setting fields of - f->output_data.mac directly. Call init_frame_faces. - (Fdelete_frame) [macintosh]: Remove unused code. - (Fmodify_frame_parameters) [macintosh]: Call - x_set_frame_parameters instead of mac_set_frame_parameters. - - * frame.h [macintosh]: Define menu_bar_lines field in struct - frame. Define FRAME_EXTERNAL_MENU_BAR macro. - - * keyboard.c [macintosh]: Include macterm.h. - (kbd_buffer_get_event) [macintosh]: Generate delete_window_event - and menu_bar_activate_event type events as for X and NT. - (make_lispy_event) [macintosh]: Construct lisp events of type - MENU_BAR_EVENT as for X and NT. - - * sysdep.c [macintosh]: Remove declaration for sys_signal. - Include stdlib.h. Remove definition of Vx_bitmap_file_path. - (sys_subshell) [macintosh]: Remove definition entirely. - (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and - Vwindow_system_version here. Remove initialization of - Vx_bitmap_file_path. - (read_input_waiting): Correct the number of parameters passed to - read_socket_hook. - Move all Macintosh functions to mac/mac.c. - - * term.c [macintosh]: Include macterm.h. - - * window.c [macintosh]: Include macterm.h. - - * xdisp.c [macintosh]: Include macterm.h. Declare - set_frame_menubar and pending_menu_activation. - (echo_area_display) [macintosh]: Do not return if terminal frame - is the selected frame. - (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f). - Allow only the selected frame to set menu bar. - (redisplay_window) [macintosh]: Obtain menu bar to redisplay by - calling FRAME_EXTERNAL_MENU_BAR (f). - (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f). - - * xfaces.c [macintosh]: Include macterm.h. Define x_display_info - and check_x. Declare XCreateGC. Define x_create_gc and - x_free_gc. Initialize font_sort_order. - (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT, - but call x_list_fonts instead of w32_list_fonts. - (Finternal_face_x_get_resource) [macintosh]: Do not call - display_x_get_resource. - (prepare_face_for_display) [macintosh]: Set xgcv.font. - (realize_x_face) [macintosh]: Load the font if it is specified in - ATTRS. - (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt. - -2000-10-22 Stefan Monnier <monnier@cs.yale.edu> - - * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry - is nil: since we go to the end of submap anyway, we'd end up - setting nil to nil. - (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP - doesn't obey autoload. - -2000-10-21 Eli Zaretskii <eliz@is.elta.co.il> - - * msdos.c (dos_set_window_size): Update screen dimension variables. - -2000-10-21 Jason Rumney <jasonr@gnu.org> - - * w32term.c (w32_cache_char_metrics): Double check that font is - really fixed pitch before trusting tmPitchAndFamily. - -2000-10-21 Andrew Innes <andrewi@gnu.org> - - * w32gui.h (w32_char_font_type): Move enum from w32term.c - - * w32term.h: Extern decl for w32_cache_char_metrics. - - * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics. - - * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics. - (w32_unload_font): Free per_char array if present. - - * w32term.c (w32_per_char_metric): Remove HDC argument. Use - cached information in emulated XFontStruct to handle common cases - quickly. Do not allocate XCharStruct for return. - (w32_native_per_char_metric): New function. - (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of - allocating one. - (x_produce_glyphs): Don't get an HDC. Change calls to - w32_per_char_metric to match arg change above. Remove calls to - free results. - (w32_get_glyph_overhangs): Ditto. - (w32_cache_char_metrics): New function. - - * makefile.w32-in: Change .obj to .$(O) in all dependencies. - ($(BLD)/casefiddle.$(O)): Remove compile command. - ($(BLD)/gmalloc.$(O)): Remove compile command. - ($(BLD)/dispnew.obj): - ($(BLD)/keyboard.obj): - ($(BLD)/w32inevt.obj): - ($(BLD)/w32bdf.obj): - ($(BLD)/alloc.obj): - ($(BLD)/buffer.obj): - ($(BLD)/editfns.obj): - ($(BLD)/emacs.obj): - ($(BLD)/fileio.obj): - ($(BLD)/fns.obj): - ($(BLD)/indent.obj): - ($(BLD)/insdel.obj): - ($(BLD)/intervals.obj): - ($(BLD)/minibuf.obj): - ($(BLD)/print.obj): - ($(BLD)/scroll.obj): - ($(BLD)/sysdep.obj): - ($(BLD)/textprop.obj): - ($(BLD)/widget.obj): - ($(BLD)/xdisp.obj): Add dependency on w32gui.h. - ($(BLD)/term.obj): Add dependency on dispextern.h. - - * makefile.nt ($(BLD)\dispnew.obj): - ($(BLD)\keyboard.obj): - ($(BLD)\w32inevt.obj): - ($(BLD)\w32bdf.obj): - ($(BLD)\alloc.obj): - ($(BLD)\buffer.obj): - ($(BLD)\editfns.obj): - ($(BLD)\emacs.obj): - ($(BLD)\fileio.obj): - ($(BLD)\fns.obj): - ($(BLD)\indent.obj): - ($(BLD)\insdel.obj): - ($(BLD)\intervals.obj): - ($(BLD)\minibuf.obj): - ($(BLD)\print.obj): - ($(BLD)\scroll.obj): - ($(BLD)\sysdep.obj): - ($(BLD)\textprop.obj): - ($(BLD)\widget.obj): - ($(BLD)\xdisp.obj): Add dependency on w32gui.h. - ($(BLD)\term.obj): Add dependency on dispextern.h - -2000-10-21 Eli Zaretskii <eliz@is.elta.co.il> - - * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p - with an additional argument of Qt. - -2000-10-21 Miles Bader <miles@gnu.org> - - * window.c (pos_fully_visible_in_window_p): New function. - (Fpos_visible_in_window_p): Add FULLY argument. - Use pos_fully_visible_in_window_p. - (window_scroll_pixel_based, window_scroll_line_based): Update - calls to Fpos_visible_in_window_p. - * lisp.h (Fpos_visible_in_window_p): Update prototype - -2000-10-20 Gerd Moellmann <gerd@gnu.org> - - * alloc.c (toplevel): Conditionalize compilation of mem_* - functions differently. - -2000-10-20 Jason Rumney <jasonr@gnu.org> - - * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above - mem_init where it used to be. mem_z etc not defined otherwise. - -2000-10-20 Gerd Moellmann <gerd@gnu.org> - - * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef - GC_MALLOC_CHECK. - (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node - structure definition and related variabled to the top of the file. - Include this code when GC_MALLOC_CHECK is defined. - (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't - register/unregister allocated region. - (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something - which isn't allocated. - (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning - something which is already in use. - (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise. - (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal. - (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal. - (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init. - - * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use - _malloc_internal instead of malloc. - (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead - of free. - -2000-10-20 Andrew Innes <andrewi@gnu.org> - - * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on - Windows. - (my_strftime) <macro>: Don't use macro arg list when redefining as - _strftime_copytm. - (my_strftime) <function>: Supply 0 as ut argument. - -2000-10-19 Jason Rumney <jasonr@altavista.net> - - * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before - including dispextern.h, as it stops faces from working. - - * w32fns.c (Fx_create_frame): Don't bother calling - face-set-after-frame-default since the caller does it for us - anyway. Clean up calls to x_get_arg to be consistent with X. - - * w32term.c (x_produce_glyphs): Handle - unibyte_display_via_language_environment correctly. - (w32_draw_box_rect): Fix the calculation of width and height. - - * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles, - as it has stopped working. - (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like - menu-bar. - -2000-10-19 Gerd Moellmann <gerd@gnu.org> - - * eval.c (skip_debugger): Prevent a compiler warning. - (Fcondition_case): Likewise. - (Fbacktrace_frame): Use a null interactive spec. - -2000-10-19 Kenichi Handa <handa@etl.go.jp> - - * xterm.c (x_find_ccl_program): Check also fontp->full_name. - -2000-10-18 Gerd Moellmann <gerd@gnu.org> - - * strftime.c: Sync with glibc, file version 1.78. - (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which - should no longer be used according to ISO 8601. - - * keymap.c (access_keymap): If IDX has a meta prefix, and there's - no map for meta_prefix_char, don't try to use it as a keymap. - Instead, if T_OK is non-zero, look up a default binding, if any, - otherwise, if T_OK is zero, return nil. - - * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color) - (x_to_xcolors, png_load): Use x_query_color. - - * xterm.c (x_color_cells, x_query_colors, x_query_color): - New functions. - (x_alloc_nearest_color): Use it to reduce calls to XQueryColors - which can be slow. - (x_copy_color, x_alloc_lighter_color): Likewise. - - * xterm.h (struct x_display_info): Add color_cells and ncolor_cells. - (x_query_color, x_query_colors): Add prototype. - - * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call - check_string_bytes only if not noninteractive, increase count to 50. - -2000-10-18 Miles Bader <miles@lsi.nec.co.jp> - - * insdel.c (adjust_markers_for_delete): Handle before-insertion - markers correctly. - -2000-10-17 Gerd Moellmann <gerd@gnu.org> - - * alloc.c (pure_bytes_used): Renamed from pureptr. - (ALIGN): New macro. - (pure_alloc): New function. - (make_pure_string, pure_cons, make_pure_float, make_pure_vector): - Use it. - (Fpurecopy): Use PURE_POINTER_P. - - * xdisp.c (try_cursor_movement): Use cursor_row_p also when - PT has moved backward. - - * xdisp.c (cursor_row_p): Take continued lines into account. - - * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of - string's size_byte. - (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function. - (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable. - (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th - string allocated. - - * xdisp.c (forward_to_next_line_start): Switch iterator's handling - of selective display off while searching for the next line start. - -2000-10-17 Kenichi Handa <handa@etl.go.jp> - - * Makefile.in (term.o): Depend on dispextern.h. - -2000-10-16 Stefan Monnier <monnier@cs.yale.edu> - - * keymap.c (keymap_memberp): Ensure that nil is not a member. - -2000-10-16 Gerd Moellmann <gerd@gnu.org> - - * xdisp.c (set_iterator_to_next): Reset box start and end flags of - the iterator at the beginning, so that they can be set later on, - for instance in reseat_at_next_visible_line_start, without being - overwritten. - - * xfns.c (pbm_format): Add :foreground and :background keywords. - (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators. - (xbm_load): Recognize foreground and background color specifications. - -2000-10-16 Eli Zaretskii <eliz@is.elta.co.il> - - * dispextern.h (unspecified_fg, unspecified_bg): Declare. - - * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration. - - * msdos.c (IT_set_face): Compare highlighted face with the default - face, and invert colors if these faces' colors are identical. - (Fmsdos_remember_default_colors): Don't swap foreground and - background colors in initial_colors[]. - (IT_set_frame_parameters): Don't swap frame's foreground and - background pixels. If ALIST includes "(reverse . t)", swap - foreground-color and background-color properties in frame's - param_alist. If the original frame's param_alist doesn't specify - the colors, store unspecified-fg and unspecified-bg, reversed if - required. - - * frame.c (Fframe_parameters): If a tty's frame's param_alist says - the colors are unspecified and reversed, reverse fore- and back- - ground in the returned value. - (Fframe_parameter): Ditto. - -2000-10-16 Gerd Moellmann <gerd@gnu.org> - - * xdisp.c (find_last_unchanged_at_beg_row): Renamed from - get_last_unchanged_at_beg_row. - (find_first_unchanged_at_end_row): Renamed from - get_first_unchanged_at_end_row. - (find_first_unchanged_at_end_row): Convert assertions to - unconditional tests which abort. When looking for a row in - unchanged text, don't go further back than first_text_row. - - * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>: - Don't add in the last line's height when deciding if the new - position is below the scroll margin. - -2000-10-16 Miles Bader <miles@gnu.org> - - * editfns.c (Fconstrain_to_field): Check carefully for field - boundaries if either OLD_POS or NEW_POS has a non-nil field - property, even if they're the same. - -2000-10-16 Kenichi Handa <handa@etl.go.jp> - - * xterm.c (x_draw_box_rect): Fix the calculation of width and - height for XFillRectangle. - -2000-10-15 Stefan Monnier <monnier@cs.yale.edu> - - * syntax.c (Fstring_to_syntax): New function extracted from - Fmodify_syntax_entry. - (Fmodify_syntax_entry): Use it and document the ! and | fences. - (skip_chars, Fforward_comment): Remove unused variables. - (syms_of_syntax): Add defsubr for string-to-syntax. - (describe_syntax): Add code for comment and string fences. - -2000-10-14 Stefan Monnier <monnier@cs.yale.edu> - - * keymap.c (access_keymap): Add AUTOLOAD parameter. - Do the meta->esc mapping. Call get_keyelt before returning. - Start scanning from the second element (the first is always `keymap') - to make it easier to detect when we reach a parent map. - Handle the case of inheriting from a symbol whose function is a map. - (Fkeymap_parent): Also handle the `inherit from symbol' case. - (fix_submap_inheritance, Fdefine_key): Update call to access_keymap. - (get_keyelt, Flookup_key): Update call to access_keymap. - Remove the meta->esc mappings. - (define_as_prefix): Delete old disabled code. - (menu_item_p): New function. - (where_is_internal_1): Skip over the few remaining menu items. - * lisp.h (access_keymap): Update prototype. - * keyboard.c (read_char, menu_bar_items, tool_bar_items): - Update call to access_keymap. - (follow_key, read_key_sequence): Update calls to access_keymap. - Remove the meta->esc mappings. - -2000-10-13 Gerd Moellmann <gerd@gnu.org> - - * dispnew.c (direct_output_for_insert): Call set_iterator_to_next - with additional argument. - - * xdisp.c (cursor_row_p): New function. - (try_cursor_movement, display_line): Use it. - - * xdisp.c (append_space): Also save/restore iterator's current - character and its length. - - * xdisp.c (init_from_display_pos): Add an assertion. - (handle_stop): Don't set iterator's add_overlay_start. - (handle_invisible_prop): Likewise. - (load_overlay_strings): If text under an overlay is invisible, - take both before- and after-strings into account when the iterator - is positioned either at the start or at the end of the overlay. - (forward_to_next_line_start): Rewritten. - (reseat_at_next_visible_line_start): Rewritten. - (set_iterator_to_next): Add parameter RESEAT_P. - - * dispextern.h (struct it): Remove member add_overlay_start. - (set_iterator_to_next): Change prototype. - -2000-10-13 Kenichi Handa <handa@etl.go.jp> - - * coding.c (code_convert_region): Be sure to initialize - coding->category_idx. - (decode_coding_string): Set coding->src_multibyte and - coding->dst_multibyte before using CODING_REQUIRE_DECODING. - (encode_coding_string): Set coding->src_multibyte and - coding->dst_multibyte before using CODING_REQUIRE_ENCODING. - -2000-10-12 Stefan Monnier <monnier@cs.yale.edu> - - * xfns.c (Fx_create_frame): Don't bother calling - face-set-after-frame-default since the caller does it for us anyway. - -2000-10-12 Eli Zaretskii <eliz@is.elta.co.il> - - * window.c (coordinates_in_window): Fix detection of vertical line - on character terminals. - -2000-10-12 Gerd Moellmann <gerd@gnu.org> - - * editfns.c (save_excursion_save): Additionally record the - selected window. - (save_excursion_restore): If buffer was visible in a window, and a - different window was selected, and the old selected window is - still live, restore point in that window. - -2000-10-12 Kenichi Handa <handa@etl.go.jp> - - * xterm.c (x_produce_glyphs): Handle - unibyte_display_via_language_environment correctly. - - * regex.c (regex_compile): Change the way of handling a range from - unibyte char to multibyte char. - - * syntax.c (skip_chars): Change the way of handling a range from - unibyte char to multibyte char. - - * process.c (read_process_output): Cancel previous change. - -2000-10-11 Eli Zaretskii <eliz@is.elta.co.il> - - * search.c (Fsearch_backward, Fsearch_forward): Doc fix. - - * charset.c (Ffind_charset_string): Doc fix. - (Ffind_charset_region): Doc fix. - -2000-10-11 Kenichi Handa <handa@mule.m17n.org> - - * process.c (read_process_output): Fix previous change. Adjust - multibyteness of text to insert in a buffer by - string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte. - -2000-10-10 Andreas Schwab <schwab@suse.de> - - * alloc.c (mark_object): Remove all workarounds installed on - 1993-08-08. - -2000-10-10 Kenichi Handa <handa@etl.go.jp> - - * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning. - (base64_encode_1): Make it work for a text of multibyte form. - (Fbase64_decode_region): Allocate sufficient memory for multibyte - case. Don't call str_to_multibyte because base64_decode_1 - produces correct multibyte form for eight-bit codes. - (Fbase64_decode_string): Adjusted for the change of base64_decode_1. - (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If - MULTIBYTE is nonzero, produce correct multibyte form for eight-bit - codes. - - * charset.h (CHAR_STRING): Optimized for single byte characters. - -2000-10-09 Andreas Schwab <schwab@suse.de> - - * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to - -1 after socket is closed, to fall through to error processing. - -2000-10-09 Eli Zaretskii <eliz@is.elta.co.il> - - * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object - variables. If ALIST includes foreground-color or - background-color, change also the colors of the default face for - this frame. - -2000-10-08 Eli Zaretskii <eliz@is.elta.co.il> - - * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make - them extern (they are defined on xfaces.c). - (syms_of_msdos): Don't intern and don't staticpro - Qbackground_color and Qforeground_color. - -2000-10-07 Eli Zaretskii <eliz@is.elta.co.il> - - * frame.c (Fframe_parameter): For non-windowed frames, if - f->param_alist says foreground or background color is unspecified, - call tty_color_name to return the color name computed from the - frame's current colors. - -2000-10-06 Dave Love <fx@gnu.org> - - * terminfo.c (ospeed): Don't declare. - - * sysdep.c: Don't include string.h. - (h_errno): Declare conditional also on TRY_AGAIN. - - * charset.c (Ffind_charset_string): Doc fix. - - * fns.c (Fbase64_encode_region, Fbase64_encode_string) - (Fbase64_decode_region, Fbase64_decode_string): More explicit - error messages. - -2000-10-05 Dave Love <fx@gnu.org> - - * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar - position like menu-bar. - -2000-10-05 Gerd Moellmann <gerd@gnu.org> - - * keyboard.c (Frecursive_edit): Make sure redisplay can happen. - - * xdisp.c (handle_single_display_prop): Use safe_call1. - (safe_call): Renamed from call_function. - (safe_call1): New function. - (handle_fontified_prop): Use safe_call1 instead of call1. - (safe_eval): Renamed from eval_form. - (safe_eval_handler): Renamed from eval_handler. - (handle_single_display_prop, display_mode_element): Use safe_eval - instead of eval_form. - - * xfaces.c (merge_face_heights): Use safe_call instead of - call_function. - - * keyboard.c (show_help_echo): Use safe_call instead of - call_function; use safe_eval instead of eval_form. - - * lisp.h (safe_call): Renamed from call_function. - (safe_eval): Renamed from eval_form. - (safe_call1): Add prototype. - -2000-10-05 Miles Bader <miles@lsi.nec.co.jp> - - * xfns.c (image_ascent): Rearrange ascent calculation for the - has-a-font case. - -2000-10-04 Stefan Monnier <monnier@cs.yale.edu> - - * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'. - (where_is_internal_1): Don't bother ignoring menu-items any more. - -2000-10-04 Gerd Moellmann <gerd@gnu.org> - - * keyboard.c (update_menu_bindings): New variable. - (parse_menu_item): Use AREF. If update_menu_bindings - is 0, don't update menu bindings. - (syms_of_keyboard): New Lisp variable `update-menu-bindings'. - -2000-10-03 Eli Zaretskii <eliz@is.elta.co.il> - - * alloc.c (Fgarbage_collect): Prevent compiler warning for a call - to `mark_object'. - -2000-10-02 Stefan Monnier <monnier@cs.yale.edu> - - * syntax.c (forw_comment): Match nestedness of ender/starter. - (Fforward_comment): Treat an unmatched \n comment-ender as whitespace. - (prev_char_comstart_first): Remove. - (back_comment): Check two-char comment markers more carefully - to better handle overlapping cases like *//* or /* */* */ ... - Match nestedness of ender/starter. - -2000-10-02 Dave Love <fx@gnu.org> - - * config.in (HAVE_GAI_STRERROR): Add undef. - - * process.c (Fopen_network_stream): Use it. - - * m/alpha.h (NO_REMAP): Don't define. - -2000-10-02 Gerd Moellmann <gerd@gnu.org> - - * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can - return with a string converted to an integer or vice versa when - Vmocklisp_arguments is t. - (Fsignal): Likewise. The function can return for `quit'. - (struct gcpro): Declare member `var' to point to a volatile - Lisp_Object. - - * eval.c (error): Prevent compiler warning. - -2000-09-30 Stefan Monnier <monnier@cs.yale.edu> - - * keymap.c (keymap_memberp): New function. - (Fset_keymap_parent): Use it. - (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP. - Use keymap_memberp to avoid creating cycles. - (access_keymap): Use KEYMAPP. - -2000-09-30 Gerd Moellmann <gerd@gnu.org> - - * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use - gai_strerror. Make sure xerrno is set if connect fails. Improve - error recovery. - -2000-09-29 Jason Rumney <jasonr@gnu.org> - - * w32term.c (w32_char_font_type, w32_encode_char) - (x_produce_glyphs): Distinguish single and multibyte BDF fonts. - (w32_bdf_per_char_metric): New function. - (w32_per_char_metric): Use it. - (x_draw_glyph_string_background): Always draw background for BDF - glyphs. - - * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not - GDI object which is a scarce resource. - - * w32bdf.c (search_file_line): Fix skipping of whitespace. - (get_quoted_string): Fix limit on memchr search. - (set_bdf_font_info): Use unsigned chars. Negate yoffset. - (w32_init_bdf_font): Initialize codepoint and bitmap heaps. - (w32_free_bdf_font): Free bitmaps and codepoints on heaps. - (get_cached_font_char, cache_char_offset): Use macro - BDF_CODEPOINT_RANGE_COVER_P. - (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap. - (clear_cached_bitmap_slots): New function. - (GET_HEX_VALUE): G-Z, g-z are not hex. - (w32_get_bdf_glyph): Convert to DIB format. Return bytes read. - (get_bitmap_with_cache): Use new cache implementation. - (create_offscreen_bitmap): New function. - (w32_BDF_TextOut): Use it. Draw glyphs as DIBs. - - * w32term.c (x_produce_glyphs): If the distance from the current - position to the next tab stop is less than a canonical character - width, use the tab stop after that. - (x_draw_glyphs): Handle case START and END are out of bounds more - carefully. - (x_clear_mouse_face): Block/unblock input. - (x_display_and_set_cursor): Don't show a hollow box cursor for - buffers whose cursor_type is nil. - -2000-09-29 Gerd Moellmann <gerd@gnu.org> - - * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears. - - * dispextern.h (updating_frame): Declare extern. - -2000-09-29 Andreas Schwab <schwab@suse.de> - - * m/ia64.h: Remove hack of not prototyping bcopy, etc. - -2000-09-29 Gerd Moellmann <gerd@gnu.org> - - * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol, - use its function definition. - (tool_bar_items): Likewise. - - * lisp.h (fatal): Declare NO_RETURN. - -2000-09-29 Kenichi Handa <handa@etl.go.jp> - - * keymap.c: Remove the line "#undef NULL". - -2000-09-28 Gerd Moellmann <gerd@gnu.org> - - * xterm.c (x_make_frame_visible): Try harder to make the frame visible. - -2000-09-28 Dave Love <fx@gnu.org> - - * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP. - - * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define. - - * .gdbinit (xreload): Note its need on GNU/Linux. - - * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare - r_alloc, r_alloc_free. - -2000-09-28 Kenichi Handa <handa@etl.go.jp> - - * syntax.c (skip_chars): Handle negation correctly. - -2000-09-27 Gerd Moellmann <gerd@gnu.org> - - * xfaces.c (realize_default_face): Call set_lface_from_font_name - with non-zero FORCE_P argument. - - * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows): - Add assertions. - - * xdisp.c (window_box_height): Add an assertion. - - * xfns.c (x_set_tool_bar_lines): Don't use more lines for the - tool-bar than is available. - (x_change_window_heights): Renamed from x_set_menu_bar_lines_1. - -2000-09-27 Dave Love <fx@gnu.org> - - * s/irix6-5.h: Now works 64-bit. Tidied. - -2000-09-26 Gerd Moellmann <gerd@gnu.org> - - * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT - instead of BITS_PER_INT. - (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and - EMACS_UINT, respectively. - (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine. - - * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define. - - * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64. - - * window.c (freeze_window_starts): Construct last argument for - foreach_window differently. - - * xfns.c (x_decode_color): Don't return a Lisp_Object. - - * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and - EMACS_UINT instead of `int' and `unsigned int'. - (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'. - - * frame.h (struct frame): Make the `nothing' member of union - output_data an EMACS_INT. - - * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting. - (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's - size in the sdata structure. - (SDATA_NBYTES, SDATA_DATA): New macros. - (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define - differently for the different layout of the sdata structure. - (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size - in sdata. - (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]: - Check that size recorded in the string size and size recorded in - the sdata structure agree. - -2000-09-25 Dave Love <fx@gnu.org> - - * buffer.c: Include stdio.h. - - Partly suggested by Eduardo Horvath <eeh@netbsd.org>. - - * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t. - - * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it. - (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t. - (__malloc_extra_blocks): Declare as __malloc_size_t. - -2000-09-25 Gerd Moellmann <gerd@gnu.org> - - * alloc.c (mark_image): Use GC_NILP instead of NILP. - - * keyboard.c (show_help_echo): Set help_echo_showing_p. - (read_char): If help-echo is showing, preserve the echo area - when redisplaying. - - * xdisp.c (help_echo_showing_p): New variable. - (set_message): Reset it to 0. - (init_xdisp): Initialize help_echo_showing_p. - - * dispextern.h (help_echo_showing_p): Declare extern. - - * config.in: Fix typo in __GNUC_MINOR__. - - * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN. - - * s/freebsd.h (POSIX_SIGNALS): Define. - - * xterm.c (x_clear_mouse_face): Block/unblock input. - -2000-09-24 Dave Love <fx@gnu.org> - - * fns.c (base64_encode_1): Fix last change. - -2000-09-22 Gerd Moellmann <gerd@gnu.org> - - * dispnew.c (enable_glyph_matrix_rows): Remove xasserts. - - * xdisp.c (try_window_reusing_current_matrix): More fixes - for the case window has a header-line. - -2000-09-22 Dave Love <fx@gnu.org> - - * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide - a doc string. - - * xterm.c [SOLARIS2]: Remove redundant include of string.h. - - * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix. - -2000-09-21 Gerd Moellmann <gerd@gnu.org> - - * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))' - for GCC >= 2.5. - - * lisp.h (wrong_type_argument, Fthrow, Fsignal, error): - Declare NO_RETURN. - - * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c, - * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c, - * indent.c, search.c, alloc.c, data.c: Avoid some more compiler - warnings. - - * marker.c (byte_char_debug_check): Return void. - - * xfns.c (Fx_create_frame): Set default frame parameter value - for tool-bar-lines to 1. - - * dispnew.c (scrolling_window): Compare y-positions of rows - equal at the start. Some simplification. - - * xdisp.c (try_window_reusing_current_matrix): Fix computation of - reused rows' y-position in the case window has a header-line, and - new window start is greater than old window start. - - * process.c (process_sent_to): New variable. - (send_process): Workaround for a crash on sparc-sun-solaris-2.6 - with GCC 2.95.2 caused by a parameter being clobbered by longjmp. - Declare more parameters volatile. - - * lread.c (Vrecursive_load_depth_limit): New variable. - (Fload): Check recursive loads whose recursion depth exceeds - Vrecursive_load_depth_limit. - (syms_of_lread): DERFAR_LISP recursive-load-depth-limit. - -2000-09-20 Gerd Moellmann <gerd@gnu.org> - - * fileio.c (Fread_file_name): Doc fix. - - * editfns.c (Fmessage_or_box): Doc fix. - - * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix. - - * xfns.c (xbm_scan): Allow C-style comments. - - * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color - symbols are specified, add color translations to the cache. - (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions. - (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and - xpm_cache_color. - (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes - structures to xpm_init_color_cache. - -2000-09-19 Gerd Moellmann <gerd@gnu.org> - - * dispnew.c (update_window_line): Make sure to always draw mode-lines. - -2000-09-19 Andrew Innes <andrewi@gnu.org> - - * makefile.nt (bootstrap-emacs): Don't change directory. - -2000-09-19 Kenichi Handa <handa@etl.go.jp> - - * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change. - - * ccl.c (Fccl_execute_on_string): Make multibyte string correctly. - If output buffer is too small, signal an appropriated error. - -2000-09-18 Dave Love <fx@gnu.org> - - * keyboard.c (menu_bar_items, tool_bar_items) - (current_active_maps): Remove redundant get_local_map call. - -2000-09-18 Gerd Moellmann <gerd@gnu.org> - - * xterm.c (x_display_and_set_cursor): Don't show a hollow box - cursor for buffers whose cursor_type is nil. - - * xterm.c (x_draw_image_glyph_string): Remove a comment describing - a feature to implement that is already implemented. - (note_mouse_highlight, x_find_ccl_program): Avoid some compiler - warnings. - - * xfns.c (x_clear_image_1): New function. - (x_clear_image): Use it. - (x_from_xcolors): Use x_clear_image_1; don't free the image's mask. - - * dispnew.c (update_window): Move test for invisible lines - at the top to update_window_line. - (update_window_line): Handle invisible lines here. - - * xfns.c (clear_image_cache): Clear current matrices of all - frames sharing an image cache. Block input while freeing - images. Fix timestamp comparison. - (x_clear_image): Also free the mask. - - * xfns.c (lookup_image): Block input while loading the image so - that we won't get interrupted in a state where the image isn't yet - set up completely. - (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color) - (lookup_pixel_color, x_to_xcolors, x_from_xcolors) - (x_disable_image, x_build_heuristic_mask, pbm_load, png_load) - (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input. - -2000-09-16 Gerd Moellmann <gerd@gnu.org> - - * dispnew.c (update_window): Make sure to make desired rows - current even if they are completely invisible at the top - of a window. - -2000-09-15 Gerd Moellmann <gerd@gnu.org> - - * xfns.c (lookup_image): Build mask before applying an algorithm. - Recognize algorithm `disabled'. - (cross_disabled_images): New variable. - (COLOR_INTENSITY): New macro. - (x_detect_edges): Use COLOR_INTENSITY. - (x_disable_image): New function. - (syms_of_xfns): DEFVAR_BOOL cross_disabled_images. - - * xdisp.c (build_desired_tool_bar_string): For a toolbar item in - disabled state, don't apply an image transformation algorithm if - the user specified an image for the disabled state. Use - `:algorithm disabled' for creating a disabled item's image if the - user hasn't specified an image. - - * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color - allocation functions with the XPM lib. - (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure. - (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro. - (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable. - (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color) - (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions. - (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation - functions, if possible, because these handle color allocation - failure more gracefully. - (Fimage_mask_p): New function. - - * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss) - (Qedge_detection, Qheuristic): New symbols. - (syms_of_xfns): Initialize new symbols. - (lookup_image): Handle `:mask X', `:algorithm emboss', and - `algorithm (edge-detection ...)'. - (xbm_format, xpm_format, pbm_format, png_format, jpeg_format): - (tiff_format, gif_format, gs_format): Add `:mask'. - (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK) - (GIF_MASK, GS_MASK): New enumerators. - (x_laplace_read_row, x_laplace_write_row): Functions removed. - (emboss_matrix, laplace_matrix): New variables. - (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss) - (x_edge_detection): New functions. - (x_laplace): Rewritten in terms of x_detect_edges. - (x_build_heuristic_mask): If image has a mask, free it. - -2000-09-14 Andrew Innes <andrewi@gnu.org> - - * makefile.w32-in: Revert to Unix line endings. - -2000-09-14 Andrew Innes <andrewi@gnu.org> - - * makefile.w32-in: Standardize indentation somewhat. - (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to - cater for differences between shells. - - * w32term.c (w32_per_char_metric): Handle non-TrueType fonts. - -2000-09-14 Gerd Moellmann <gerd@gnu.org> - - * xterm.c (x_produce_glyphs): If the distance from the current - position to the next tab stop is less than a canonical character - width, use the tab stop after that. - -2000-09-14 Dave Love <fx@gnu.org> - - * buffer.c (alloc_buffer_text): Fix xmalloc call. - -2000-09-14 Gerd Moellmann <gerd@gnu.org> - - * xdisp.c (handle_fontified_prop): While running fontification - functions, bind `fontification-functions' and - `after-change-functions' to nil. - - * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h - (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP. - - * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o. - - * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to - USE_MMAP_FOR_BUFFERS. - - * insdel.c (make_gap): Use enlarge_buffer_text. - - * buffer.c: Move allocation with mmap here, from ralloc.c. Change - conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS. - (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed - from former r_alloc_* functions in ralloc.c. - (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables. - (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro. - (mmap_init) [REL_ALLOC_MMAP]: New function. - (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New - functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and - BUFFER_FREE. - - * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed. - (enlarge_buffer_text): Add prototype. - - * ralloc.c: Remove everything having to do with the use of mmap. - -2000-09-13 Gerd Moellmann <gerd@gnu.org> - - * sound.c (Fplay_sound): Doc fix. - - * keyboard.c: Avoid some more compiler warnings. - (parse_tool_bar_item): Ignore cached key bindings. - - * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap - and allocation of Lisp data. - -2000-09-12 Gerd Moellmann <gerd@gnu.org> - - * xfaces.c: Remove conditional compilation on SCALABLE_FONTS. - (Finternal_set_lisp_face_attribute): If frame is 0, set new frame - defaults first. - - * lread.c (Fload): Put code checking for recursive loads in #if 0. - -2000-09-12 Miyashita Hisashi <himi@meadowy.org> - - * ccl.c: Comment fixed. - (MAX_MAP_SET_LEVEL): Increased to 30. - (PUSH_MAPPING_STACK): Enclose with do-while block. - (POP_MAPPING_STACK): Likewise. - (stack_idx_of_map_multiple): New variable. - (CCL_CALL_FOR_MAP_INSTRUCTION): New macro. - (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol, - call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION. - (ccl_driver) <CCL_MapSingle>: Likewise. - (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal - with the case where looking up process reaches to the end of - map-set, and call CCL programs as the above change. - -2000-09-11 Gerd Moellmann <gerd@gnu.org> - - * xfns.c (png_load, jpeg_load): Declare some variables volatile - that might be clobbered by longjmp. - (check_x_display_info, x_decode_color, create_frame_xic) - (Fx_display_backing_store, Fx_display_visual_class) - (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings. - - * lread.c (init_lread): Set Vloads_in_progress to nil. - (Fload): Show list of recursively loaded files, when signaling an - error. - - * lread.c (Vloads_in_progress): New variable. - (record_load_unwind): New function. - (Fload): Check for recursive loads. - (syms_of_lread): Initialize Vloads_in_progress. - (read_integer, read1): Avoid some compiler warnings. - - * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some - compiler warnings. - -2000-09-11 Miles Bader <miles@gnu.org> - - * editfns.c (Fbuffer_string): Doc fix. - -2000-09-10 Gerd Moellmann <gerd@gnu.org> - - * ralloc.c (mmap_enlarge): Don't return 0 if successful. - -2000-09-09 Ken Raeburn <raeburn@gnu.org> - - * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding - whether to include other header files. - -2000-09-09 Gerd Moellmann <gerd@gnu.org> - - * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned - by Fmemq as a boolean. - -2000-09-08 Stefan Monnier <monnier@cs.yale.edu> - - * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko. - -2000-09-08 Gerd Moellmann <gerd@gnu.org> - - * ralloc.c (mmap_fd): Remove initializer which can make it - read-only in a dumped Emacs. - (mmap_fd_1): New variable. - (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1, - restore it from there. - (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init - unconditionally so that mmap_fd can be initialized there. - (r_alloc_init_fd): Open-coded in r_alloc_init; function removed. - (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero. - (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1. - - * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object. - - * xdisp.c (dump_glyph_row): Fix printf format string. - (display_line, move_it_in_display_line_to): Avoid compiler warnings. - - * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define. - - * keymap.c (Fset_keymap_parent): Check for cycles in keymap - inheritance. - - * xdisp.c (try_window_id): When trying to locate cursor in - unchanged rows at the top, handle the case that we can't find it. - - * xterm.c (x_draw_glyphs): Handle case START and END are out - of bounds more carefully. - -2000-09-08 Dave Love <fx@gnu.org> - - * s/sol2.h (REL_ALLOC_MMAP): Define. - * s/irix5-0.h (REL_ALLOC_MMAP): Likewise. - - * ralloc.c: Don't include string.h (redundant). - (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined. - [!MAP_ANON]: Include fcntl.h. - (mmap_fd) [REL_ALLOC_MMAP]: New variable. - (r_alloc, r_re_alloc, r_alloc_free) - (mmap_enlarge, mmap_set_vars): Use it. - (r_alloc_init_fd): New function. - (__morecore) [SYSTEM_MALLOC]: Don't declare. - (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on - malloc type. - - * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: - Remove vm-limit.o. - - * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last - change to __NetBSD__. - -2000-09-08 Kenichi Handa <handa@etl.go.jp> - - * search.c (compile_pattern): Check the multibyteness of cached - string and PATTERN. - -2000-09-08 Miles Bader <miles@gnu.org> - - * xfaces.c (default_face_vector): Function removed. - (Finternal_merge_in_global_face): Restore old global/local - attribute override order. Use inline loop instead of calling - default_face_vector. - -2000-09-07 Gerd Moellmann <gerd@gnu.org> - - * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use) - (get_bloc, relocate_blocs, update_heap_bloc_correspondence) - (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *' - where necessary, in case POINTER_TYPE is `void'. - -2000-09-07 Eli Zaretskii <eliz@is.elta.co.il> - - * frame.c (make_terminal_frame): Initialize frame foreground and - background colors to unspecified, for the initial instance of an - MSDOS frame. - -2000-09-07 Gerd Moellmann <gerd@gnu.org> - - * ralloc.c (mmap_find): Fix overlap computation. - (mmap_enlarge): Compute nbytes before trying to find an - overlapping region. - - * xfaces.c (smaller_face): Compare font heights with `<' and `>' - instead of `!='. - - * lread.c (syms_of_lread): Change value of regexp - Vbytecomp_version_regexp to not match some XEmacs-compiled files. - - * xmenu.c (xdialog_show): When looking up the selection in - menu_items, take `quote' boundaries into account; this corresponds - to a nil ITEM in x-popup-dialog. - -2000-09-07 Kenichi Handa <handa@etl.go.jp> - - * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80, - not 0x81. - (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7). - - * coding.c (encode_coding_sjis_big5): Use translation table for - encoding, not decoding. Fix the handling of latin-jisx0201. - Check for the charset katakana-jisx0201 too. - (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1. - (detect_coding_sjis): Check the byte sequence more rigidly. - -2000-09-07 Gerd Moellmann <gerd@gnu.org> - - * xfaces.c (Vparam_value_alist): New variable. - (syms_of_xfaces): Initialize it. - (Finternal_set_lisp_face_attribute): Avoid more consing. - - * frame.c (Fframe_parameter): Handle `name' and `background-mode' - specially. - (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially. - (Qbackground_mode): New variable. - (syms_of_frame_1): Initialize Qbackground_mode. - - * lisp.h (Qdisplay): Declare extern. - - * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0, - change face on all frames, and change the default for new frames. - -2000-09-07 Dave Love <fx@gnu.org> - - * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj. - -2000-09-07 Kenichi Handa <handa@etl.go.jp> - - * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0. - - * charset.c: Include composite.h - (lisp_string_width): New function. - (Fstring_width): Call lisp_string_width instead of strwidth. - - * Makefile.in (charset.o): Depends on composite.h. - - * process.c (read_process_output): Before inserting the decoded - text in the buffer, adjust the multibyteness. - -2000-09-06 Gerd Moellmann <gerd@gnu.org> - - * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If - buffer's text buffer is null, map new memory. - - * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of - POINTER_TYPE and size_t. - (struct mmap_region) [REL_ALLOC_MMAP]: New structure. - (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables. - (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA) - [REL_ALLOC_MMAP]: New macros. - (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars) - (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free) - [REL_ALLOC_MMAP]: New functions. - - * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars - before and after unexec. - - * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer - text buffers if necessary. - - * buffer.h (R_ALLOC_DECLARE): Removed because unused. - (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t - in prototypes. - - * config.in (HAVE_MMAP): Add #undef. - -2000-09-05 Gerd Moellmann <gerd@gnu.org> - - * frame.c (Qdisplay_type): New variable. - (syms_of_frame_1): Initialize it. - (Fframe_parameter): New function that avoids consing. - (syms_of_frame): Defsubr it. - - * buffer.c (Fother_buffer): Consider buffers as invisible when - they are displayed in a window on an invisible frame. - - * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making - get-largest-window always return nil. - -2000-09-04 Gerd Moellmann <gerd@gnu.org> - - * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp - variable; recognize Emacs 19 elc files. - -2000-09-04 Miles Bader <miles@gnu.org> - - * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face - before initially popping up the menu, so the menu doesn't flash - when the face settings are significantly different from the defaults. - -2000-09-04 Stefan Monnier <monnier@cs.yale.edu> - - * regex.c (WIDE_CHAR_SUPPORT): New macro. - (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>. - (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT) - (BIT_UNIBYTE): Remove. - (re_match_2_internal): Delete corresponding code and streamline the - BIT_MULTIBYTE case to not bother checking ISUNIBYTE. - (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6. - (re_wctype_t): New type. - (re_wctype, re_iswctype, re_wctype_to_bit): New functions. - (regex_compile): Use them and fix handling of overly long char classes. - -2000-09-03 Andrew Innes <andrewi@gnu.org> - - * makefile.w32-in: Change to DOS line endings. - - * s/ms-w32.h (ORDINARY_LINK): New define. - - * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define - (_ANONYMOUS_STRUCT) [__GNUC__]: New define. - - * makefile.w32-in (clean): Don't delete config.h and epaths.h. - (distclean): Delete them here instead. - - * w32proc.c (compare_env): Convert to uppercase for comparison, - not lowercase, to match how the native Windows shell works. - -2000-09-03 Jason Rumney <jasonr@gnu.org> - - * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as - CVS changes the line-ends when checking in/out on DOS/Windows. - - * makefile.nt (emacs): Do not change directory to run temacs, as - the load-path is set relative to current directory. - -2000-09-03 Miles Bader <miles@gnu.org> - - * xterm.c (x_alloc_lighter_color_for_widget): New function. - -2000-09-02 Gerd Moellmann <gerd@gnu.org> - - * xdisp.c (redisplay_mode_lines): New function. - (display_mode_lines): Return number of mode lines displayed. - (echo_area_display): Use redisplay_mode_lines to draw garbaged - mode lines. Don't temporarily bind redisplay-dont-pause to t. - - * emacs.c, callint.c, doc.c, editfns.c: Remove includes of - string.h and strings.h. - (index) [HAVE_INDEX]: Add prototype. - - * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define. - (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define. - - * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>. - (GC_SETJMP_WORKS, GC_MARK_STACK): Define. - -2000-09-01 Gerd Moellmann <gerd@gnu.org> - - * lread.c (read1): Accept `?' as symbol constituent, for - compatiblity with XEmacs. - -2000-08-31 Stefan Monnier <monnier@cs.yale.edu> - - * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag. - (struct re_pattern_buffer): Remove newline_anchor. - * regex.c: Keep namespace clean for GNU libc by renaming <fun> - to __<fun> and using `weak_alias (__<fun>, <fun>)'. - (re_max_failures, fail_stack): Use size_t rather than unsigned. - (regex_compile): For ^ and $, choose between buffer and line (beg|end) - depending on the new RE_NO_NEWLINE_ANCHOR syntax flag. - (print_compiled_pattern, re_search_2, mutually_exclusive_p) - (re_match_2_internal, re_compile_pattern, re_comp, regcomp): - Get rid of references to newline_anchor. - (regcomp): Allocate and precompute a fastmap. - -2000-08-31 Gerd Moellmann <gerd@gnu.org> - - * lread.c (openp): GCPRO local variable `filename'. - -2000-08-30 Stefan Monnier <monnier@cs.yale.edu> - - * regex.h (struct re_pattern_buffer): Use size_t for used/allocated. - - * regex.c: Merge some changes from GNU libc. Add prototypes. - (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal): - Use memcmp and memcpy instead of bcopy and bcmp. - (init_syntax_once): Use ISALNUM. - (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id. - (REG_UNSET_VALUE): Remove. Use NULL instead. - (REG_UNSET, re_match_2_internal): Use NULL. - (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND): - New macros. - (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS). - (GET_UNSIGNED_NUMBER): Don't use ISDIGIT. - (regex_compile): In handle_interval, return an error rather than try to - unfetch the interval if we can't find the closing brace. - Obey the RE_NO_GNU_OPS syntax bit. - (TOLOWER): New macro. - (regcomp): Use it. - (regexec): Allocate regs.start and regs.end as one block. - -2000-08-30 Gerd Moellmann <gerd@gnu.org> - - * xdisp.c (echo_area_display): Check display_completed instead - of calling detect_input_pending. - - * dispnew.c (update_frame): Only set display_completed here; move - the update_begin and update_end calls here from update_frame_1. - (update_frame_1): Don't set display_completed here, don't call - update_begin/update_end. - - * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters - instead of store_frame_param. - -2000-08-29 Gerd Moellmann <gerd@gnu.org> - - * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a - desired window matrix hasn't been displayed, use the current row - instead. Make sure that only those frame rows are updated for - which there exists a corresponding enabled desired row. - -2000-08-29 Miles Bader <miles@gnu.org> - - * xfaces.c (default_face_vector): New function. - (Finternal_merge_in_global_face): Use it instead of merge_face_vectors. - -2000-08-29 Gerd Moellmann <gerd@gnu.org> - - * lread.c (openp): Prevent temporary string passed to - Ffile_readable_p from being garbage collected. - -2000-08-28 Dave Love <fx@gnu.org> - - * keymap.c (store_in_keymap): Add `static' to declaration. - -2000-08-28 Gerd Moellmann <gerd@gnu.org> - - * emacs.c, callint.c, doc.c, editfns.c - (toplevel) [HAVE_STRING_H]: Include string.h. - (toplevel) [HAVE_STRINGS_H]: Include strings.h. - (index): Remove prototypes which might conflict with non-standard - definitions of index/strchr. - - * s/usg5-3.h (index): Define only if not HAVE_INDEX. - (rindex): Define only if !HAVE_RINDEX. - - * s/sco5.h (bcopy, bzero, bcmp): Don't define. - - * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs. - -2000-08-28 Miles Bader <miles@gnu.org> - - * xfaces.c (merge_face_vectors): Clear TO's :font attribute if - made inconsistent by a font-related attribute in FROM. - (merge_face_inheritance): Add function comment. - -2000-08-28 Kenichi Handa <handa@etl.go.jp> - - * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with - the 4th arg (PREV_EVENT) Qt to suppress input method. - -2000-08-27 Stefan Monnier <monnier@cs.yale.edu> - - * regex.c: Indent cpp directives and remove parens after `defined'. - (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place. - (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition. - (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY. - (re_compile_pattern): Use size_t for length. - (init_syntax_once): Move to a better place. - * regex.h: Merge changes from GNU libc. Indent cpp directives. - (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning). - - * syntax.c (back_comment): Detect cases where a comment-starter is - actually inside another comment as in: /* a // b */ c // d \n. - Make it clear that `comstart_pos' is unused for nested comments. - - * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes. - (KEYMAPP): New macro. - (Fkeymap_parent, Fset_keymap_parent): Use it. - (fix_submap_inheritance): Mark it static. - (define_as_prefix, describe_buffer_bindings, describe_command) - (describe_translation, describe_map): Complete prototypes. - - * lisp.h (store_in_keymap, fix_submap_inheritance): Remove. - - * keyboard.c (menu_bar_item): Detect duplicate entries for all items - to better match the key-lookup behavior. - -2000-08-27 Gerd Moellmann <gerd@gnu.org> - - * xfaces.c (lface_fully_specified_p): Handle :inherit. - (Finternal_set_lisp_face_attribute): Fix typo in error message. - -2000-08-27 Eli Zaretskii <eliz@is.elta.co.il> - - * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o) - (process.o, scroll.o, sysdep.o): Depend on keyboard.h. - (xterm.o): Depend on coding.h - -2000-08-26 Kenichi Handa <handa@etl.go.jp> - - * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and - the corresponding '#endif'. - -2000-08-26 Miles Bader <miles@gnu.org> - - * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX. - * xfaces.c (QCinherit): New variable. - (syms_of_xfaces): Initialize it. - (LFACE_INHERIT): New macro. - (Finternal_get_lisp_face_attribute) - (merge_face_vector_with_property) - (Finternal_set_lisp_face_attribute): Deal with :inherit attribute. - (check_lface_attrs): Allow new types of face height. Check - inherit attribute. - (CYCLE_CHECK): New macro. - (merge_face_inheritance): New function. - (merge_face_vectors): Merge inherited faces too. Add F and - CYCLE_CHECK arguments. - (merge_face_vector_with_property, Finternal_merge_in_global_face) - (lookup_named_face, lookup_derived_face, realize_named_face) - (face_at_string_position, face_at_buffer_position): Supply - new F and CYCLE_CHECK arguments to merge_face_vectors. - (merge_face_heights): New function. - (merge_face_vectors, merge_face_vector_with_property) - (Finternal_set_lisp_face_attribute): Call merge_face_heights to - handle relative face heights. - (lface_same_font_attributes_p): Compare heights using EQ. - -2000-08-26 Kenichi Handa <handa@etl.go.jp> - - * charset.c (char_to_string): Check the character validity. - (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0. - -2000-08-25 Stefan Monnier <monnier@cs.yale.edu> - - * regex.c (PUSH_FAILURE_COUNT): New macro. - (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG. - Handle popping of a register's or a counter's data. - (POP_FAILURE_POINT): Use the new name. - (re_match_2_internal): Push counter data on the stack for succeed_n, - jump_n and set_number_at and remove misleading dead code in succeed_n. - -2000-08-25 Gerd Moellmann <gerd@gnu.org> - - * xdisp.c (redisplay_internal): If considering all windows on all - frames, update the display for each frame as soon as possible, - instead of first building all desired matrices for all frames, and - then updating them all. - (try_cursor_movement): Handle case that last_cursor.vpos is -1. - -2000-08-24 Gerd Moellmann <gerd@gnu.org> - - * bytecode.c (mark_byte_stack): Add a comment. - - * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH) - (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is - a graphical frame. - -2000-08-24 Kenichi Handa <handa@etl.go.jp> - - * minibuf.c (do_completion): Always use compare-string, not - string-equal because the latter doesn't pay attention to - multibyteness of strings. - - * process.c (create_process): Don't setup raw-text coding here. - (Fopen_network_stream): Don't set coding->src_multibyte and - coding->dst_multibyte here. - (read_process_output): For process filter, return unibyte string - if default-enable-multibyte-characters is nil. - (send_process): If OBJECT is multibyte text, be sure to encoded it - by the specified coding system for the process. Otherwise, setup - raw-text coding. - (init_process): Don't initialize default-process-coding-system here. - -2000-08-23 Eli Zaretskii <eliz@is.elta.co.il> - - * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix. - <scroll-down-aggressively>: Likewise. - -2000-08-23 Kenichi Handa <handa@etl.go.jp> - - * coding.c (encode_eol): Fix bug for the case of dst_bytes being - zero. Set coding->produced_char correctly. - -2000-08-22 Andrew Innes <andrewi@gnu.org> - - * makefile.w32-in: New file. - - * unexw32.c (unexec): Ignore old_name, and use the actual location - of the current executable instead. Base new_name on this. - - * w32proc.c (create_child): Remove reference to security - descriptor, which isn't needed and doesn't compile with mingw32. - - * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws - up dllimport attributes. - (x_update_window_end): Update prototype. - - * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary - extern, which screws up dllimport attributes. - - * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws - up dllimport attributes. - - * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which - screws up dllimport attributes. - - * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws - up dllimport attributes. - (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which - screws up dllimport attributes. - - * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws - up dllimport attributes. - - * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which - screws up dllimport attributes. - - * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which - screws up dllimport attributes. - - * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws - up dllimport attributes. - - * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove - unnecessary extern, which screws up dllimport attributes. - (main): Ditto. - - * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws - up dllimport attributes. - - * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove - unnecessary extern, which screws up dllimport attributes. - - * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which - screws up dllimport attributes. - - * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws - up dllimport attributes. - - * w32proc.c (IsValidLocale): Extern missing from mingw32 headers. - - * w32bdf.c (search_file_line): - (set_bdf_font_info): - (seek_char): - (w32_get_bdf_glyph): - (w32_BDF_to_x_font): Fix compile warnings. - - * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings. - - * w32select.c: Include keyboard.h before frame.h. - - * w32fns.c (max): Define macro. - (JOHAB_CHARSET): Define if not known. - (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known. - (Fx_show_tip): Synch with X version. - - * w32xfns.c: Include keyboard.h before frame.h. - - * w32fns.c: Include keyboard.h before frame.h. - - * w32term.c: Include keyboard.h before frame.h. - - * fontset.c: Include keyboard.h before frame.h. - - * w32inevt.c: Include keyboard.h before frame.h. - (MOUSE_MOVED): Define if not known. - - * minibuf.c: Include keyboard.h before frame.h. - - * keyboard.c: Include keyboard.h before frame.h. - - * indent.c: Include keyboard.h before frame.h. - - * dispnew.c: Include keyboard.h before frame.h. - - * buffer.c: Include keyboard.h before frame.h. - - * alloc.c: Include keyboard.h before frame.h. - - * print.c: Include keyboard.h before frame.h. - - * process.c: Include keyboard.h before frame.h. - - * scroll.c: Include keyboard.h before frame.h. - - * sysdep.c: Include keyboard.h before frame.h. - - * term.c: Include keyboard.h before frame.h. - - * window.c: Include keyboard.h before frame.h. - - * xdisp.c: Include keyboard.h before frame.h. - Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE. - - * frame.c: Include keyboard.h before frame.h. - - * w32heap.h: Undefine min, max. - - * w32gui.h: Undefine min, max. - - * unexw32.c: Change PUCHAR to PCHAR. - (PTR_TO_OFFSET): Cast ptr to unsigned char *. - (relocate_offset): - (get_section_info): - (copy_executable_and_dump_data): Remove unnecessary static defs. - (copy_executable_and_dump_data): Fix compile warnings. - - * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined. - - * w32console.c (min): Define macro. - (clear_frame, write_glyphs): Fix compile warning. - - * w32proc.c (compare_env): - (find_child_console): Fix compile warning. - - * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use - sys_errlist instead of _sys_errlist. - (get_emacs_configuration_options): New function. - - * s/ms-w32.h (sys_nerr): Provide default definition. - (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same - name with _ prepended. - (NSIG): Define if not known. - (get_emacs_configuration): Provide extern declaration. - (get_emacs_configuration_options): Provide extern declaration. - (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options. - - * w32.c (gettimeofday): Use struct timeb, not struct _timeb. - (map_w32_filename): - (read_unc_volume): Fix compile warning. - - * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock - definitions from being used. - - * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd. - - * w32.c (unc_volume_file_attributes): - (open_unc_volume): Make arg const. - - * sysdep.c [WINDOWSNT]: Remove extern decl of errno. - (read_input_waiting): Remove excess parameter. - - * w32.c (init_environment): Call _access. - (check_windows_init_file): Call _close. - (init_user_info): Call _putenv. - (init_environment): Call _putenv and _strdup. - (init_ntproc): Reset volume info cache on startup. - - * s/ms-w32.h (malloc, free, realloc, calloc): Rename if - USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it - cannot override the CRT malloc. - - * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested. - (LINK_FLAGS): Append to original value of LINK_FLAGS. - - * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term - unless we are linking with a static CRT. - (RVA_TO_PTR): Cast result to unsigned char*. - - * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup. - (add_volume_info): Use xstrdup. - -2000-08-22 Stefan Monnier <monnier@cs.yale.edu> - - * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'. - (do_completion, Fminibuffer_complete_word): Use it. - (syms_of_minibuf): Turn completion-auto-help into a proper Lisp - var so it can take non-boolean values. - -2000-08-21 Gerd Moellmann <gerd@gnu.org> - - * editfns.c (find_field): Formatting changes. - (toplevel): Some old-style function forward declarations - changed to prototypes, some new protypes added, some functions - made static. - - * lisp.h (set_time_zone_rule): Add prototype. - (use_dialog_box): External declaration. - - * keyboard.c (gen_help_event): Add parameter SIZE. - (kbd_buffer_events_waiting): Slightly rewritten. - (clear_event): New function. - (kbd_buffer_get_event): Use it, and clear the input_events of - HELP_EVENTs. - (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and - don't fill the newly created array with nils. - (toplevel): Convert some old-style function forward declarations - to prototypes. - - * keyboard.h (gen_help_event): Change prototype. - - * xterm.c (XTread_socket): Change calls to gen_help_event. - - * w32term.c (w32_read_socket): Change calls to gen_help_event. - - * eval.c (Fmacroexpand): Doc fix. - -2000-08-20 Jason Rumney <jasonr@gnu.org> - - * w32term.h (x_display_info_for_display): Remove as this function - does not exist on W32. - - * w32term.c (help_echo_window): New variable. - (syms_of_w32term): staticpro it. - (note_mode_line_highlight): Set it. - (XTextExtents16): Removed as there is no equivalent on W32. - (x_compute_glyph_string_overhangs): Incomplete body removed, as - the X way of doing this will not work for W32. - (w32_intersect_rectangles): Removed. Use IntersectRect API call. - (x_draw_image_foreground): Avoid drawing outside of the clip area - when image doesn't have a mask. - (note_mouse_highlight): Process overlays in the right order of - priority. Set help_echo_window. - (x_draw_bar_cursor): If cursor is on an image, draw a box cursor - because that's more visible for large images. - - * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane - name to single_keymap_panes. - (w32_menu_show): Set wv->title when dealing with titles. - (w32_menu_display_help): Call show_help_echo with OBJECT and POS. - -2000-08-21 Miles Bader <miles@gnu.org> - - * minibuf.c (do_completion): Try again if we rewrite the input - string, but no completion was done, so that any completion message - will be correct. - -2000-08-20 Gerd Moellmann <gerd@gnu.org> - - * xfaces.c (lface_equal_p): Compare strings differently. - (Qtty_color_alist, Vtty_defined_color_alist): New variables. - (realize_tty_face): Use them. - (syms_of_xfaces): Initialize new variables. - (map_tty_color): New function, extracted from realize_tty_face. - (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default - foreground or background color, store the new color name in the - realized face; previous code trying to do this had no effect. - (realize_tty_face): Use map_tty_color. - (Fclear_face_cache): Set face_change_count and ensure thorough - redisplay. - -2000-08-19 Gerd Moellmann <gerd@gnu.org> - - * undo.c (record_first_change, record_marker_adjustment): Don't - use XBUFFER on last_undo_buffer which might not be a buffer. - -2000-08-18 Kenichi Handa <handa@etl.go.jp> - - * coding.c (decode_coding_string): Set members consumed, - consumed_char, produced, produced_char of *coding correctly. If - decode_coding doesn't consume any byte, don't try anymore. - (encode_coding_string): Likewise. - -2000-08-18 Gerd Moellmann <gerd@gnu.org> - - * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the - conditional have void type, for Standard C compilers. - - * xdisp.c (redisplay_internal): Compare windows for equality with - EQ, instead of applying XWINDOW to something that might not - be a window. - -2000-08-18 Kenichi Handa <handa@etl.go.jp> - - * fontset.c (Finternal_char_font): Search only the selected frame - for a window of the current buffer. - -2000-08-18 Gerd Moellmann <gerd@gnu.org> - - * minibuf.c (do_completion): Use EQ instead of `!=' to compare - Lisp_Objects. - - * keyboard.c (kbd_buffer_get_event): Handle the case that the - second half of a HELP_EVENT is found at the start of kbd_buffer. - -2000-08-18 Miles Bader <miles@gnu.org> - - * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl. - - * editfns.c (save_restriction_save): Rewrite to use markers. - (save_restriction_restore): Rewrite to understand new form of data - saved by save_restriction_save. - (Fsave_restriction): Remove cautionary note in doc-string. - -2000-08-17 Gerd Moellmann <gerd@gnu.org> - - * fileio.c (build_annotations): Add a comment explaining the - return value of format-annotate-function. Replace a spurious call - to Flength with a CONSP test. Call format-annotate-function with - a fifth arg specifying how many times the function is been called - in a row, to let it choose temporary buffers appropriately. - -2000-08-17 Dave Love <fx@gnu.org> - - * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't - declare make_temp_name twice. - - * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind. - (unreadpure): Give it an arg. - - * unexalpha.c: Prototype fatal_unexec, mark_x, - update_dynamic_symbols. Declare unexec as void. - - * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>. - [!HAVE_TERMCAP_H]: Prototype tputs, tgoto. - - * alloc.c (lisp_malloc): Declare with POINTER_TYPE. - [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC. - - * alloca.c: Use #error. - [POINTER_TYPE]: Use it. - - * eval.c (Fdefvar): Doc fix. - - * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid - INITIALIZE_INTERVAL. - - * buffer.h: Avoid DECLARE_INTERVALS. - - * config.in: Add size_t. - -2000-08-17 Eli Zaretskii <eliz@is.elta.co.il> - - * w16select.c (set_clipboard_data): If there's not enough memory - to put text into clipboard, return 1, as Fw16_set_clipboard_data - expects. In case of other failures, return 3. - (system_error_msg): New error message. - (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print - system_error_msg. - -2000-08-16 Gerd Moellmann <gerd@gnu.org> - - * term.c (write_glyphs): Also turn off inverse video after turning - off other appearances in case TS_exit_attribute_mode is not equal - to TS_end_standout_mode. - (insert_glyphs): Turn inverse video on/off for each run of glyphs - with the same face. - (turn_off_face): Reset standout_mode only if - TS_exit_attribute_mode has been output and TS_exit_attribute_mode - is equal to TS_end_standout_mode. - -2000-08-16 Kenichi Handa <handa@etl.go.jp> - - * coding.c (encode_coding): Fix the bug of not flushing ISO escape - sequence at the end of the source block. - - * ccl.c (Fccl_program_p): Docstring modified. - (Fccl_execute): Likewise. - (Fccl_execute_on_string): Likewise. - -2000-08-16 Eli Zaretskii <eliz@is.elta.co.il> - - * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *. - -2000-08-16 Kenichi Handa <handa@etl.go.jp> - - The following changes are mainly to fix bugs of - encode/decode-coding-string failing if encoding/decoding return - CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global - variable conversion_buffer. - - * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char, - decrement dst_end to avoid buffer overflow in the later call of - string_as_multibyte - - * coding.h (conversion_buffer_size, conversion_buffer) - (get_conversion_buffer): Extern deleted. - - * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted. - (conversion_buffer, conversion_buffer_size): Variables deleted. - (get_conversion_buffer): Function deleted. - (struct conversion_buffer): New structure. - (MAX_ALLOCA): New macro. - (allocate_conversion_buffer): New macro. - (extend_conversion_buffer, free_conversion_buffer): New functions. - (ccl_coding_driver): Set coding->result. - (decode_coding): Set coding->result to CODING_FINISH_NORMAL if - this is the last block of source. - (encode_coding): Likewise. Handle the source block as the last - one only when the whole source text is consumed. - (decode_coding_string): Handle the case that the output buffer is - too small to decode the whole source text. Use - allocate_conversion_buffer, extend_conversion_buffer and - free_conversion_buffer, not get_conversion_buffer. - (encode_coding_string): Likewise. - (init_coding): Function deleted. - (init_coding_once): Delete code to initialize conversion_buffer_size. - - * emacs.c (main): Don't call init_coding. - - * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer. - - * term.c (write_glyphs): Use a locally declared conversion_buffer. - (insert_glyphs): Likewise. - - * w32console.c (write_glyphs): Use a locally declared - conversion_buffer. - -2000-08-15 Eli Zaretskii <eliz@is.elta.co.il> - - * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame - member of display_info is NULL. - -2000-08-15 Gerd Moellmann <gerd@gnu.org> - - * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion. - - * term.c (turn_off_face): Reset standout_mode when resetting - appearances with capability `me'. - (write_glyphs): Switch on inverse video before each face change. - -2000-08-14 Dave Love <fx@gnu.org> - - * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk. - [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk. - (lisp_free): Declare and make static. - - * window.c: Fix embedded comment. - (syms_of_window): Fix doc string. - -2000-08-14 Gerd Moellmann <gerd@gnu.org> - - * keymap.c (push_key_description): If C without modifiers is < 32, - make sure to print `C-' before `M-', like in the manual. - -2000-08-11 Gerd Moellmann <gerd@gnu.org> - - * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially - since they aren't relocated anymore. - (sxhash_string): Make sure returned hash code fits in a Lisp integer. - - * xdisp.c (try_cursor_movement): Fix handling of cursor in - partially visible line which is smaller than the window's height. - -2000-08-11 Kenichi Handa <handa@etl.go.jp> - - * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to - the multibyte form of eight-bit-control characters. - (Fccl_execute_on_string): Initialize ccl->multibyte. - - * ccl.h (struct ccl_program): New member multibyte. - - * coding.c (ccl_coding_driver): Initialize ccl->multibyte. - -2000-08-11 Kenichi Handa <handa@etl.go.jp> - - * regex.c (regex_compile) <normal_char>: Pay attention to - multibyteness. - (analyse_first) <exactn>: Setup fastmap correctly for - eight-bit-control characters. - -2000-08-11 Kenichi Handa <handa@etl.go.jp> - - * termhooks.h (enum event_kind): New member multibyte_char_keystroke. - - * keyboard.c (make_lispy_event): Handle the new event type - multibyte_char_keystroke. - - * xterm.c: Include coding.h. - (XTread_socket): Work around a bug of XmbLookupString. If the - input is from XIM, decode it according to the current locale. In - that case, generate multibyte_char_keystroke events. - -2000-08-11 Kenichi Handa <handa@etl.go.jp> - - * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon. - (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy. - -2000-08-10 Gerd Moellmann <gerd@gnu.org> - - * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable. - (TRACE_MOVE) [GLYPH_DEBUG]: New macro. - (move_it_in_display_line_to): Record iterator's ascent and descent - before producing glyphs, and restore them when we know the glyph - doesn't fit on the line. - (move_it_to): Restructured so that it's easier to debug. If - moving to a vpos, and not moving to an x or character position, - stop as soon as the specified vpos is reached; don't move further - into that line because that might change the computed line height. - (try_cursor_movement): New function, extracted from the cursor - movement branch of redisplay_window. If ending on a partially - visible line, don't try to scroll if the cursor line is taller - than the window. - (redisplay_window): Use try_cursor_movement. - - * window.c (Fwindow_end): Rewritten to not use Fvertical_motion, - because that function doesn't cope with variable-height lines. - - * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a - box cursor because that's better visible for large images. - -2000-08-10 Miles Bader <miles@gnu.org> - - * w32term.c (note_mouse_highlight): Update calls to overlays_at. - -2000-08-10 Gerd Moellmann <gerd@gnu.org> - - * xdisp.c (Vmessages_buffer_name): New variable. - (message_dolog): Use it. - (syms_of_xdisp): Initialize it. - -2000-08-10 Eli Zaretskii <eliz@is.elta.co.il> - - * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at. - (toplevel) <kbd_buffer_store_event>: Remove prototype, it's - redundant now that keyboard.h is included. - -2000-08-09 Eli Zaretskii <eliz@is.elta.co.il> - - * keyboard.c (kbd_buffer_events_waiting): New function. - - * keyboard.h (kbd_buffer_events_waiting): Add prototype. - - * msdos.c: Include keyboard.h. - (XMenuActivate): Empty no_event events from the event buffer. If - no events are left after that, call clear_input_pending. - (mouse_clear_clicks): New function, code moved from mouse_init. - (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the - mouse driver to ``forget'' any past clicks. - - * Makefile.in (msdos.o): Depend on keyboard.h. - -2000-08-09 Gerd Moellmann <gerd@gnu.org> - - * lisp.h (input_pending): External declaration. - - * dispextern.h (Qredisplay_dont_pause): Declare extern. - - * xdisp.c (echo_area_display): Display thoroughly if input is - pending. Bind redisplay-dont-pause to t during the redisplay. - in case input is pending. - - * dispnew.c (Qredisplay_dont_pause): New variable. - (syms_of_display): Initialize and staticpro it. - (update_frame_1): Don't interrupt the display for pending input if - redisplay_dont_pause is set. - - * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P. - - * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix. - -2000-08-09 Miles Bader <miles@lsi.nec.co.jp> - - * callproc.c (Fcall_process): Terminate the unwind-protect around - the post-read-conversion of coding system. - - * buffer.c (overlays_at): Add CHANGE_REQ parameter. - (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it. - * buffer.h (overlays_at): Update prototype. - * xdisp.c (next_overlay_change): Update call to overlays_at. - * xfaces.c (face_at_buffer_position): Likewise. - * textprop.c (Fget_char_property): Likewise. - * xterm.c (note_mouse_highlight): Likewise. - - * minibuf.c (do_completion): Don't consider a simple change of - case as `completion'. - -2000-08-08 Ken Raeburn <raeburn@gnu.org> - - * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer. - * undo.c (record_delete): Make sure last_point_position_buffer is - a buffer before comparing pointers. - - * coding.h (decode_coding_string): Declare. - - * intervals.h (Fprevious_single_char_property_change): Declare. - - * textprop.c (Fprevious_single_char_property_change): Don't do - arithmetic directly on lisp objects. - - * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects. - - * keyboard.h (menu_item_eval_property): Declare. - - * xdisp.c (message_dolog): Save and protect string "*Messages*" to - reuse as buffer name, instead of recreating (and discarding) every - time a message is logged. - (with_echo_area_buffer): Make callback arg A2 a lisp object. - (current_message_1, truncate_message_1, set_message_1) - (display_echo_area_1, resize_mini_window_1): Signatures changed. - (current_message, truncate_echo_area, display_echo_area) - (resize_echo_area_axactly): Changed calls. - - * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a - Lisp object. - (Ffind_coding_systems_region_internal): First argument to Fappend - must be an integer, not a Lisp object. - -2000-08-08 Kenichi Handa <handa@etl.go.jp> - - * charset.c (Fchar_width): Doc fix. - -2000-08-08 Gerd Moellmann <gerd@gnu.org> - - * charset.c (Fstring_width): Doc fix. - -2000-08-07 Gerd Moellmann <gerd@gnu.org> - - * xdisp.c (start_display): When starting display on a continuation - line, clear ascent and descent members of the iterator structure; - the height of the continued line does not affect the height of the - continuation line. - (make_cursor_line_fully_visible): Do nothing if cursor is on a - line taller than the window. - (redisplay_window) <forced window start>: Handle case that the - middle of the window is not found in any row. - (dump_glyph_row): Show more information. - (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the - first text line in a glyph matrix. - - * xterm.c (x_draw_image_foreground): Avoid drawing outside - of the clip area when image doesn't have a mask. - - * fns.c (sweep_weak_table): Fix survival conditions for - key-or-value and key-and-value weakness. - - * .gdbinit (xhashtable): New command. - - * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked - tables out of the list of all weak hash tables. - - * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and - a new buffer is created, make sure echo_area_buffer[] references - the new buffer. - -2000-08-07 Eli Zaretskii <eliz@is.elta.co.il> - - * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in - the doc string. - -2000-08-07 Kenichi Handa <handa@etl.go.jp> - - * syntax.c (skip_chars): Fix previous change. Make the handling - of unibyte string consistent with that of regex search. - -2000-08-05 Gerd Moellmann <gerd@gnu.org> - - * xmenu.c (popup_get_selection): Use xfree instead of free. - - * fileio.c (Finsert_file_contents): Use xfree instead of free. - - * editfns.c (Ftranspose_regions): Use xfree instead of free. - - * callproc.c (child_setup): Use xfree instead of free. - - * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc - instead of malloc. - (run_mac_command, closedir): Use `xfree' instead of `free'. - - * keymap.c (current_minor_maps): Use xmalloc instead of malloc. - - * eval.c (error): Use xfree instead of free. - - * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'. - - * fns.c: Replace `illegal' with `invalid'. - (Fmake_hash_table, make_hash_table): Allow table size of 0. - -2000-08-05 Kenichi Handa <handa@etl.go.jp> - - * syntax.c (skip_chars): Fix handling of multibyte<->unibyte - conversion. - -2000-08-04 Noah Friedman <friedman@splode.com> - - * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in - docstring. - -2000-08-04 Gerd Moellmann <gerd@gnu.org> - - * syntax.c (skip_chars): Fix typo in error message. - -2000-08-04 Andreas Schwab <schwab@suse.de> - - * m/ia64.h: Moved from s/ia64.h. - -2000-08-04 Kenichi Handa <handa@etl.go.jp> - - * process.c (read_process_output): Big simplification. Handle - composition and post-read-conversion of coding system correctly. - (send_process): Handle composition correctly. - - * callproc.c (Fcall_process): Handle post-read-conversion of - coding system if any. - - * coding.c (decode_coding_iso2022): More strict check for handling - single shifting. - (coding_restore_composition): Pay attention to the case that - cmp_data is not set properly (because of invalid code in the - source text). - (run_pre_post_conversion_on_str): Include text properties in the - resulting string. - (decode_coding_string): Set members of coding correctly. - -2000-08-03 Gerd Moellmann <gerd@gnu.org> - - * s/ia64.h: New file. - - * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues): - Use NULL instead of 0 at the end of variable argument list of - XtVaGetValues and XtVaSetValues, because 0 fails on systems where - sizeof (int) < sizeof (void *). - - * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end - of variable argument lists of XtVaGetValues and XtVaSetValues. - - * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of - variable argument lists of XtVaGetValues and XtVaSetValues. - -2000-08-02 Gerd Moellmann <gerd@gnu.org> - - * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE. - (xrealloc, xmalloc): Use size_t. Some callers adjusted. - - * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change - prototype. - - * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter - in call to Fsingle_key_description. - - * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES. - Callers changed. - -2000-08-02 Colin Walters <walters@cis.ohio-state.edu> - - * window.c (display_buffer_reuse_frames): New variable. - (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse - frames displaying BUFFER. - (syms_of_window): Define Lisp variable display-buffer-reuse-frames. - -2000-08-01 Miles Bader <miles@gnu.org> - - * editfns.c (Fconstrain_to_field): Fix the conditions for deciding - when to constrain NEW_POS (they were pretty screwed up before). - -2000-07-31 Eli Zaretskii <eliz@is.elta.co.il> - - * msdos.c (run_msdos_command): Save and restore the master - environment, for the case that child_setup signals an error. - When mirroring slashes in DOS shell commands, don't fail when - argv[2] has embedded blanks. - (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions. - (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons. - (dos_ttraw): Call mouse_setup_buttons. - - * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of - using alloca; free it after run_msdos_command returns. - -2000-07-27 Dave Love <fx@gnu.org> - - * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define. - [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working. - - * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define. - -2000-07-27 Eli Zaretskii <eliz@is.elta.co.il> - - * editfns.c (lisp_time_argument): Fix last change. - -2000-07-27 Gerd Moellmann <gerd@gnu.org> - - * fns.c (Fdelete): Make it work on vectors and strings in addition - to lists. - - * fns.c (Qkey_or_value, Qkey_and_value): New variables. - (syms_of_fns): Initialize new variables. - (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'. - (Fmake_hash_table): Recognize `key-and-value' and `key-or-value' - weakness, with t meaning the same as `key-and-value'. - -2000-07-27 Kenichi Handa <handa@etl.go.jp> - - * coding.h (struct coding_system): Member safe_charset deleted. - - * coding.c (Qsafe_charsets): This variable deleted. - (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system): - New variables. - (coding_safe_chars): New function. - (CODING_SAFE_CHAR_P): New macro. - (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of - checking safe_charsets member of the coding system. Caller changed. - (detect_coding_iso2022): New local variable safe_chars. - (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking - safe_charsets member of the coding system. - (decode_coding_iso2022): New local variable safe_chars. - (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here. - (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise. - (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed. - (ENCODE_UNSAFE_CHARACTER): New macro. - (encode_coding_iso2022): New local variable safe_chars. Check - unsafe chars. - (setup_coding_system): Delete the code to initialize - coding->safe_charses - (intersection, find_safe_codings): New functions. - (Ffind_coding_systems_region_internal): New function. - (syms_of_coding): Defsubr it. Initialize Qsafe_chars, - Qsafe_cding_system. Make Vchar_coding_system_table a Lisp - variable and initialize it. - - * fns.c (char_table_ref_and_index): New function. - - * lisp.h (char_table_ref_and_index): Add prototype. - -2000-07-26 Sam Steingold <sds@gnu.org> - - * editfns.c (lisp_time_argument): Added third argument `usec'. - (Ffloat_time): New built-in Lisp function. - -2000-07-26 Gerd Moellmann <gerd@gnu.org> - - * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits - for the character code. - - * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and - GNU/Linux. - - * xmenu.c (menu_highlight_callback): Call show_help_echo directly - if called for a popup menu. - (xmenu_show): Store help string in widget values. - -2000-07-26 Dave Love <fx@gnu.org> - - * syswait.h: Move some definitions. - (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex. - [!HAVE_SYS_WAIT_H]: Define things unconditionally. More - perspicuous definitions. - (WTERMSIG): Fix bit pattern used. - -2000-07-26 Kenichi Handa <handa@etl.go.jp> - - * print.c (print_object): If vector printing is truncated, print - "..." to indicate it as well as the case of list printing. - -2000-07-25 Gerd Moellmann <gerd@gnu.org> - - * xdisp.c (next_element_from_display_vector): Improve comments. - - * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits - for the character code, and the rest for the face id as in 20.x. - (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly. - - * window.c (window_display_table): Cleaned up. - - * syntax.c (Fforward_word): Add last arg nil in call of - Fconstrain_to_field. - -2000-07-25 Eli Zaretskii <eliz@is.elta.co.il> - - * fileio.c (Frename_file) [DOS_NT]: If the file names are - identical but for the letter-case, don't call - barf_or_query_if_file_exists. - -2000-07-25 Miles Bader <miles@gnu.org> - - * editfns.c (find_field): Honor special `boundary' fields. - (Qboundary): New variables. - (syms_of_editfns): Initialize Qboundary. - (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument. - Use scan_buffer instead of find_before_next_newline, because it - allows us to detect the boundary case where there's a newline at - the search limit. - * lisp.h (Fconstrain_to_field): Update external declaration. - -2000-07-24 Gerd Moellmann <gerd@gnu.org> - - * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks - if that is nil. - -2000-07-24 Dave Love <fx@gnu.org> - - * s/sunos4-0.h, s/sol2.h: - (LIBS_TERMCAP): Move from m/sparc.h. - - * m/sparc.h (TERMINFO): Moved to system files (probably only - relevant for sunos4 judging by its vintage). - (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on - __arch64__. - -2000-07-24 Eli Zaretskii <eliz@is.elta.co.il> - - * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane - name to single_keymap_panes. - -2000-07-24 Andreas Schwab <schwab@suse.de> - - * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil. - -2000-07-24 Gerd Moellmann <gerd@gnu.org> - - * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT - parameters instead of using int parameters. Expect FN to accept - EMACS_INT parameters. - (display_echo_area, resize_echo_area_axactly, current_message) - (truncate_echo_area, set_message_1): Call with_echo_area_buffer - with new argument list. - (resize_mini_window_1): New callback function. - (current_message_1, truncate_message_1, set_message_1): Change - parameter lists to the new format expected by with_echo_area_buffer. - -2000-07-24 Kenichi Handa <handa@etl.go.jp> - - * fontset.c (fontset_ref): Remove INLINE declaration. - (fontset_ref_via_base): Likewise. - (Fset_fontset_font): Convert FAMILY and REGISTRY specifications - to downcase. - -2000-07-23 Eli Zaretskii <eliz@is.elta.co.il> - - * msdos.c (IT_note_mouse_highlight): Process overlays in the - correct order of priority. If help echo was found in an overlay, - use that overlay as the object in which the help echo was found. - -2000-07-22 Miles Bader <miles@gnu.org> - - * textprop.c (Fprevious_single_char_property_change): The initial - property value should be from the position preceding POSITION, not - following it. - -2000-07-22 Eli Zaretskii <eliz@is.elta.co.il> - - * coding.c (syms_of_coding): Doc fix for - inhibit-iso-escape-detection. - -2000-07-21 Gerd Moellmann <gerd@gnu.org> - - * xterm.c (note_mouse_highlight): Process overlays in the right - order of priority. - - * keyboard.c (show_help_echo, gen_help_event): Extend comments. - - * xterm.c (note_mouse_highlight): If help-echo was found in an - overlay, use that overlay as the object in which the help was found. - - * window.c (foreach_window_1): Fix typo reversing an if-condition. - - * window.c (foreach_window): Instead of a fake variable argument - list, take one USER_DATA argument. - (foreach_window_1): Likewise, and call callback functions with two - args, the window and USER_DATA. - (struct check_window_data): New struct. - (check_window_containing): Use it. - (window_from_coordinates): Set up a struct check_window_data for - foreach_window. - (add_window_to_list, freeze_window_start): Change parameters - according to new calling convention. - - * window.h (foreach_window): Change prototype. - - * buffer.c (Fprevious_overlay_change): Avoid memory leak. - -2000-07-21 Eli Zaretskii <eliz@is.elta.co.il> - - * xmenu.c (menu_help_callback): Call show_help_echo with - additional arguments OBJECT and POS. - -2000-07-21 Kenichi Handa <handa@etl.go.jp> - - * data.c (Faset): Allow storing any multibyte character in a - string. Convert unibyte string to multibyte if necessary. - - * xfns.c (x_encode_text): New function. - (x_set_name): Use x_encode_text. - (x_set_title): Likewise. - - * xselect.c (lisp_data_to_selection_data): Use x_encode_text. - - * xterm.h (x_encode_text): Add prototype. - -2000-07-20 Dave Love <fx@gnu.org> - - * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use - xfree, not free. - -2000-07-20 Eli Zaretskii <eliz@is.elta.co.il> - - * msdos.c (help_echo_window): New variable. - (syms_of_msdos): Initialize and staticpro it. - (IT_note_mode_line_highlight): Set help_echo_window. - (IT_note_mouse_highlight): Ditto. - (dos_rawgetc): Store help_echo_window in the second event produced - for HELP_EVENTs. - - * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight): - Record the object that generated the help echo and the position of - that object in help_echo_object and help_echo_pos. Record that - some glyphs in a row are displayed in mouse-face. - (IT_update_begin): Don't clear mouse highlight unless one of the - enabled glyph rows is marked as being displayed in mouse-face. - (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object - and position recorded in help_echo_object and help_echo_pos to the - event queue. - (IT_menu_display): Accept a new argument PN: the pane number of - the current menu pane. Record the pane number and the item - number of the item which has associated help string. - (XMenuActivate): Update the prototype for help_callback in - function declaration. Call IT_menu_display with the current menu - pane number as an additional argument. Call help_callback with - two additional arguments: the pane number and the item number of - the menu item associated with the help text. - (help_echo_object, help_echo_pos): New variables. - (syms_of_msdos): Initialize them and staticpro help_echo_object. - - * msdos.h (XMenuActivate): Update prototype. - -2000-07-19 Gerd Moellmann <gerd@gnu.org> - - * xdisp.c (with_echo_area_buffer): Call FN with more arguments. - Add some more prototypes. - - * xterm.c, xterm.h: Add some more prototypes. - - * lisp.h (Fnext_single_char_property_change): Add prototype. - - * dispnew.c (direct_output_for_insert): Remove confusing - outer local variable mouse_face_overwritten_p. - (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG. - - * alloc.c (allocate_string_data): Don't copy old string contents. - -2000-07-19 Kenichi Handa <handa@etl.go.jp> - - * coding.c (code_convert_region): Delete text properties before - shrinking the conversion region. - -2000-07-18 Gerd Moellmann <gerd@gnu.org> - - * dispnew.c (update_text_area): Write the whole row if it - has mouse-face in it. - - * xfaces.c (face-alternative-font-family-alist): Remove - DEFVAR_LISP; staticpro instead. - - * xmenu.c (menu_help_callback): Call show_help_echo with - new arguments. - - * keyboard.c (show_help_echo): Add parameter WINDOW. - (read_char): Call show_help_echo with window extracted from Lisp - help event. - (gen_help_event): Add parameter WINDOW. - - * keyboard.h (show_help_echo, gen_help_event): Change prototypes. - - * xterm.c (help_echo_window): New variable. - (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window. - (XTread_socket): Pass help_echo_window to gen_help_event. - (syms_of_xterm): Initialize and staticpro help_echo_window. - -2000-07-18 Dave Love <fx@gnu.org> - - * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h. - -2000-07-18 Gerd Moellmann <gerd@gnu.org> - - * alloc.c (allocate_string_data): If string had already data - assigned, copy old contents to new string data. - - * coding.c (syms_of_coding): Fix typo in spelling of variable - `inhibit-iso-escape-detection'. - - * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE. - - * Makefile.in: Add dependencies on dispextern.h. - (alloca.o): Don't define malloc and define EMACS_FREE instead of - `free'; both can conflict with system header files. - -2000-07-18 Kenichi Handa <handa@etl.go.jp> - - * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is - undefined. - -2000-07-18 Dave Love <fx@gnu.org> - - * window.c (Fwindow_list): Declare arg `window'. - -2000-07-18 Kenichi Handa <handa@etl.go.jp> - - * coding.c (setup_coding_system): Don't override the explicitly - specified designations. - -2000-07-15 Miles Bader <miles@gnu.org> - - * editfns.c (char_property_eq, char_property_stickiness): Renamed - from `text_property_eq' and `text_property_stickiness', respectively. - (find_field, Fconstrain_to_field, char_property_eq) - (char_property_stickiness): Changed to call char-property functions - instead of text-property-only ones. - - * textprop.c (Fnext_single_char_property_change): Made a subr (was - `next_single_char_property_change'). Do more error checking, and - cleanup limit behavior. - (Fprevious_single_char_property_change): New function. - (syms_of_textprop): Initialize new subrs. - - * xdisp.c (display_prop_end, invisible_text_between_p): - Call Fnext_single_char_property_change instead of - next_single_char_property_change. - -2000-07-15 Jason Rumney <jasonr@gnu.org> - - * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree - after menu is finished with. - (add_menu_item): Only consider wv->title as a menu title. - (w32_menu_display_help): Add OBJECT and POS to show_help_echo. - - * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a - null title. - (FONT_REGEXP): Remove unused macro, and its sub-components. - (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts. - - * w32term.c (help_echo_object, help_echo_pos): New variables. - (note_mode_line_highlight): Store additional information about the - help-echo in help_echo_object and help_echo_pos. Check both - `local-map' and `keymap' properties for changing the cursor - (note_mouse_highlight): Store additional information about the - help-echo in help_echo_object and help_echo_pos. - (note_tool_bar_highlight): Set help_echo_object to nil and - help_echo_pos to -1. - (w32_read_socket): Use gen_help_event instead of filling - input_events manually. - (syms_of_w32term): Staticpro help_echo_object. - (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If - set, arrange for a mouse-highlight redisplay in XTframe_up_to_date. - (x_clear_mouse_face): New function. - (w32_redisplay_interface): Add pointer to x_clear_mouse_face. - (x_update_window_begin): No need to turn off the mouse - highlight here. - (show_mouse_face): Set the mouse_face_p flag of glyph rows - depending on whether they contain glyphs highlighted in mouse-face. - (x_fill_stretch_glyph_string): Consume runs of stretch - glyphs instead of a single one. - (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string - with new argument list. - (x_set_glyph_string_gc): Make sure the face's GC is valid. - (x_append_glyph, x_append_composite_glyph) - (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to - changes in struct glyph starting 1999-12-27. See comments for - xterm.c on 2000-07-05. - -2000-07-14 Sam Steingold <sds@gnu.org> - - * xfaces.c (realize_x_face): Fix the last patch: - check `default_face' before dereferencing. - -2000-07-14 Dave Love <fx@gnu.org> - - * syntax.c (back_comment): Add null default in switch (for pcc). - -2000-07-14 Kenichi Handa <handa@etl.go.jp> - - * xfaces.c (realize_x_face): Make fontset using the base of the - default_face's fontset, not using the default fontset. - - * coding.c (inhibit_iso_escape_detection): New variable. - (syms_of_coding): Make it a Lisp variable. - (detect_coding_iso2022): If inhibit_iso_escape_detection is - nonzero, ignore ISO2022's escape sequence. - -2000-07-14 Gerd Moellmann <gerd@gnu.org> - - * alloca.c (malloc) [emacs]: Define as xmalloc. - - * xfns.c (Fx_show_tip): If frame parameters contain a position, - use that instead of the mouse position. Add parameters DX and DY. - - * dispextern.h (Fx_show_tip): Adjust number of parameters - in prototype. - - * keyboard.c (show_help_echo): Add parameters OBJECT and POS. - if HELP is a function, call it with OBJECT and POS as parameters - to get the help to display. - (gen_help_event, kbd_buffer_store_help_event): New functions. - (kbd_buffer_get_event): Construct the Lisp help-event differently. - (read_char): Call show_help_echo with new parameters. - - * keyboard.h (gen_help_event, kbd_buffer_store_help_event): - Add prototypes. - - * xterm.c (help_echo_object, help_echo_pos): New variables. - (note_mode_line_highlight): Store additional information about the - help-echo in help_echo_object and help_echo_pos. Check both - `local-map' and `keymap' properties for changing the cursor - (note_mouse_highlight): Store additional information about the - help-echo in help_echo_object and help_echo_pos. - (note_tool_bar_highlight): Set help_echo_object to nil and - help_echo_pos to -1. - (XTread_socket): Use gen_help_event instead of filling - input_events manually. - (syms_of_xterm): Staticpro help_echo_object. - - * xmenu.c (menu_highlight_callback): Use - kbd_buffer_store_help_event instead of setting up and input_event - structure manually. - - * xdisp.c (eval_form): GCPRO argument sexpr. - (call_function): New function. - (handle_single_display_prop): Use call_function and FUNCTIONP - instead of checking whether if font_height is a symbol and - using eval_form. - - * eval.c (internal_condition_case_2): New function. - - * lisp.h (FUNCTIONP): New macro. - (internal_condition_case_2, call_function): Add prototypes. - - * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event) - (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket): - Always set `arg' member of input_events. - (construct_menu_click): Unused function removed. - - * msdos.c (dos_rawgetc): Always set `arg' member of input_events. - - * w32term.c (construct_mouse_click, construct_mouse_wheel) - (construct_drag_n_drop, x_scroll_bar_handle_click) - (w32_read_socket): Always set `arg' member of input_events. - - * keyboard.c (show_help_echo): Use eval_form. Add comment. - - * lisp.h (eval_form): Add prototype. - - * xdisp.c (eval_form): Make it externally visible. - -2000-07-13 Gerd Moellmann <gerd@gnu.org> - - * xterm.c (x_handle_tool_bar_click): Store the frame in the - frame_or_window slot of TOOL_BAR_EVENT input events instead of - consing. For prefix events, store the frame in the `arg' slot of - the event, otherwise store the key there. - (XTread_socket): Instead of consing, use the frame_or_window slot - of HELP_EVENTs for the frame, and the `arg' slot for the help string. - - * xmenu.c (menu_highlight_callback): Store help string in the - `arg' member of the input event; don't cons. - (menubar_selection_callback): Use the `arg' slot of input events - to queue additional information, instead of consing. - - * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs. - - * w32term.c (w32_handle_tool_bar_click): Adapt to changes in - TOOL_BAR_EVENTs. - (w32_read_socket): Adapt to changes in HELP_EVENTs. - - * w32menu.c (menubar_selection_callback): Use the `arg' slot of - input events to queue additional information, instead of consing. - - * keyboard.c (kbd_buffer_gcpro): Renamed from - kbd_buffer_frame_or_window. Now used for all Lisp objects - referenced from the input queue. - (kbd_buffer_store_event): Always use structure assignment for - copying input events. Record all Lisp objects referenced from - events in kbd_buffer_gcpro. - (kbd_buffer_get_event): Construct Lisp `help-echo' events - differently from input events. Test for prefix menu_bar_events - and TOOL_BAR_EVENTs differently. Reset all slots used by an input - event in kbd_buffer_gcpro to nil. - (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose - frame_or_window is equal to its arg member as prefix events. - (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro - used by an input event to nil. - (init_keyboard): Use two times the size of the input queue - for kbd_buffer_gcpro. - (syms_of_keyboard): Likewise. - - * emacs.c (handle_USR2_signal, handle_USR1_signal): - Use USER_SIGNAL_EVENT. - - * termhooks.h (struct input_event): Add member `arg'. - (MENU_BAR_EVENT): Renamed from menu_bar_event. - (USER_SIGNAL_EVENT): Renamed from user_signal. - - * xfaces.c (ASET): Remove definition. - - * lisp.h (AREF, ASET, ASIZE): New macros. - - * fontset.c (AREF, ASIZE): Remove definitions. - - * fns.c (AREF): Remove definition. - - * composite.c (AREF): Remove definition. - -2000-07-12 Gerd Moellmann <gerd@gnu.org> - - * dispnew.c (redraw_overlapped_rows): Add missing local. - (scrolling_window): Remove debug code. - - * xdisp.c (try_window_reusing_current_matrix, try_window_id): - Before scrolling, turn off a mouse-highlight in the window - being scrolled. - - * xterm.c (x_update_window_end): Add parameter - MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight - redisplay in XTframe_up_to_date. - (x_clear_mouse_face): New function. - (x_redisplay_interface): Add pointer to x_clear_mouse_face. - - * dispnew.c (make_current): Preserve the mouse_face_p flag of the - current glyph row. - (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set - it when any row is written to that contains glyphs highlighted in - mouse-face. - (update_window): Call the window update end hook with new - parameter MOUSE_FACE_OVERWRITTEN_P. - (direct_output_for_insert): Give up if row contains mouse-face. - - * dispextern.h (struct redisplay_interface): Add parameter - MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function. - (clear_mouse_face): New function pointer member. - -2000-07-11 Stefan Monnier <monnier@cs.yale.edu> - - * syntax.c (back_comment): Use one switch rather than a few `if's. - Obey open_paren_in_column_0_is_defun_start. - When reverting to the `slow' method, try to nicely handle the case - of nested comments by checking that the comment-starter we found - does indeed match the comment-ender. - (scan_sexps_forward, scan_sexps_forward): - Ignore excessive opening parenthesis rather than throwing an error. - -2000-07-11 Gerd Moellmann <gerd@gnu.org> - - * doc.c (Fsubstitute_command_keys): Handle case that a GC - in Fwhere_is_internal or get_keymap_1 relocates string contents. - - * dispnew.c (direct_output_forward_char): Give up if currently - displaying a message instead of the minibuffer contents. - - * xterm.c (x_update_window_begin): No need to turn off the mouse - highlight here. - (show_mouse_face): Set the mouse_face_p flag of glyph rows - depending on whether they contain glyphs highlighted in mouse-face. - - * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set, - compare the mouse_face_p flags of both rows. - - * dispextern.h (struct glyph_row): Add flag mouse_face_p. - -2000-07-11 Eli Zaretskii <eliz@is.elta.co.il> - - * keyboard.c (show_help_echo): Accept additional parameter - ok_to_overwrite_keystroke_echo. - (read_char): Call show_help_echo with a zero - ok_to_overwrite_keystroke_echo argument. - * keyboard.h (show_help_echo): Update prototype of show_help_echo. - * xmenu.c (menu_help_callback): Call show_help_echo with non-zero - ok_to_overwrite_keystroke_echo argument. - * w32menu.c (w32_menu_display_help): Call show_help_echo with - non-zero ok_to_overwrite_keystroke_echo argument. - -2000-07-10 Gerd Moellmann <gerd@gnu.org> - - * xdisp.c (try_window_id): If changes are all below what is - displayed in the window, and point is in the window, we still - might have to find point on the display. - - * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch - glyphs instead of a single one. - (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string - with new argument list. - (x_set_glyph_string_gc): Make sure the face's GC is valid. - - * keymap.c (get_keymap_1): Add comment that this function can GC. - (where_is_internal_2, where_is_internal_1): Add GCPROs, add - comment that functions can GC. - (Fset_keymap_parent): GCPRO arg KEYMAP. - -2000-07-10 Eli Zaretskii <eliz@is.elta.co.il> - - * msdos.c (XMenuActivate): After exiting the menu, restore the - echo area message and erase it. - -2000-07-10 Kenichi Handa <handa@etl.go.jp> - - * fontset.c (Ffontset_info): Make the return value more compatible - with that of Emacs 20. - -2000-07-07 Gerd Moellmann <gerd@gnu.org> - - * eval.c (Fsignal): Handle case that backtrace_list is null. - -2000-07-07 Kenichi Handa <handa@etl.go.jp> - - * ccl.c (Fccl_execute): Typo fixed. - -2000-07-06 Gerd Moellmann <gerd@gnu.org> - - * window.c (window_loop): Add missing gcpro1 local variable. - - * window.c (Fwindow_list): Reverse list at the end. - (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil - means allow windows on OWINDOW's frame, only. - (window_loop): Simplified; use Fwindow_list. - - * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make. - -2000-07-05 Gerd Moellmann <gerd@gnu.org> - - * xterm.c (XTread_socket): Increment handling_signal at the start, - decrement it at the end. - - * eval.c (handling_signal): New variable. - (Fsignal): Abort if handling_signal is non-zero. - - * lisp.h (handling_signal): External declaration. - - * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0. - -2000-07-05 Ken Raeburn <raeburn@gnu.org> - - Sound support for NetBSD through "Linux emulation" support: - * config.in (HAVE_SOUNDCARD_H): Undef. - (HAVE_SOUND): Define if HAVE_SOUNDCARD_H. - * Makefile.in (LIBSOUND): New variable. - (LIBES): Include it. - * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>. - (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere. - (vox_open): Use DEFAULT_SOUND_DEVICE. - * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio. - -2000-07-05 Gerd Moellmann <gerd@gnu.org> - - * print.c (print_error_message): If Vsignaling_function is set, - show it in *Messages*. - - * lisp.h (Vsignaling_function): External declaration. - - * eval.c (Vsignaling_function): New variable. - (Fsignal): Compute it. - (syms_of_eval): Staticpro it. - -2000-07-05 Dave Love <fx@gnu.org> - - * syswait.h: Use the autoconf recommended approach. Old code - #if'd out in case we need to revert. - - * config.in (HAVE_SYS_WAIT_H): Added. - -2000-07-05 Andrew Innes <andrewi@gnu.org> - - * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore - when non-NULL instead of __morecore, to take account of buffer - memory. This also solves a problem with spurious memory warnings - on Windows. - - * ralloc.c: Make real_morecore non-static. - - * eval.c (internal_condition_case): Comment out abort if - interrupt_input_blocked is not zero. - - * makefile.nt: Add support for `bootstrap' and related targets. - Include minimal debug info in emacs.exe in release build. - Remove all dependencies on lisp.h, and fixup some others. - - * w32.c (init_environment): Install code from 20.7 for providing - default values for environment variables, based on the - executable's own location. - (map_w32_filename): Handle filenames that are longer than MAX_PATH. - (sys_socket): Install socket inheritance bug fix from 20.7. - - * alloca.c [emacs]: Include lisp.h (needed by atimer.h included - here via blockinput.h). - -2000-07-05 Stefan Monnier <monnier@cs.yale.edu> - - * w32menu.c (w32_menu_display_help): - * xmenu.c (menu_help_callback): Use show_help_echo. - - * keyboard.h (show_help_echo): Declare. - - * keyboard.c (show_help_echo): New function, extracted from read_char. - Feval its `msg' argument if it's a cons cell. - (read_char): Use it. - (follow_key): Pass `autoload' to get_keyelt. - - * xterm.c (note_mode_line_highlight, note_mouse_highlight) - (note_tool_bar_highlight, XTread_socket): - * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight) - (dos_rawgetc): - * w32term.c (note_mode_line_highlight, note_mouse_highlight) - (note_tool_bar_highlight, w32_read_socket): - Do not gratuitously ignore non-string `help-echo' properties. - -2000-07-05 Gerd Moellmann <gerd@gnu.org> - - * eval.c (Feval): Put check for interrupt_input_block in #if 0. - - * window.c (delete_all_subwindows): Reset Vwindow_list. - - * xterm.c (x_append_glyph, x_append_composite_glyph) - (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to - changes in struct glyph starting 1999-12-27. Some bit-fields of - struct glyph were not set, which made glyphs unequal when compared - with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering - effects were the result. This also depended on the contents of - memory returned by xmalloc. If flickering happens again, activate - the code in clear_glyph_row that's in #if 0. If the flickering is - gone with that, chances are that it is caused by something similar. - - * dispnew.c (clear_glyph_row): Add debug code in #if 0. - - * dispextern.h: Add some comments. - - * window.c (add_window_to_list): Add parameter LIST. - (window_list): Order list so that, for each frame, windows are - in canonical order, and so that frames appear in the list in - the order given by Vframe_list. - (next_window): Reverse the handling of NEXT_P. - -2000-07-04 Gerd Moellmann <gerd@gnu.org> - - * window.c (Vwindow_list): New variable. - (make_window, delete_window): Set Vwindow_list to nil. - (check_window_containing): New function. - (window_from_coordinates): Rewritten. - (add_window_to_list, window_list, candidate_window_p) - (decode_next_window_args, next_window): New functions. - (Fnext_window, Fprevious_window): Rewritten in terms of next_window. - (Fwindow_list): New function. - (Fother_window): Cleaned up. - (foreach_window): Add a longer "variable argument list". Let - callback function return 0 to indicate that cycling over windows - should stop. - (foreach_window_1): Likewise. - (freeze_window_start): Return int. - (init_window): New function. - (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list. - - * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear - input_event with bzero. - (main): Call init_window. - - * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating - a menu filter. - -2000-07-04 Kenichi Handa <handa@etl.go.jp> - - * composite.h (make_composition_value_copy): Extern it. - - * composite.c (make_composition_value_copy): New function. - - * editfns.c (Fformat): While copying text properties, make each - composition property value a copy. - - * fns.c (concat): While copying text properties, make each - composition property value a copy. - -2000-07-03 Gerd Moellmann <gerd@gnu.org> - - * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define. - - * fns.c (sweep_weak_table): Mark only objects that are not - marked already. - - * frame.c (next_frame, prev_frame): If MINIBUF is a window, - include those frames as candidates which have their focus - redirected to the minibuffer frame. - -2000-07-03 Stefan Monnier <monnier@cs.yale.edu> - - * fns.c (Fputhash): Return `value' rather than nil. - -2000-06-30 Gerd Moellmann <gerd@gnu.org> - - * frame.c (next_frame): Don't check focus redirection in case - MINIBUF is a window. Doing so excludes frames using MINIBUF - unless their focus is redirected, which contradicts the - specification of next-frame, and leads to infinite loops in - certain situations when cycling through windows with next-window. - -2000-06-30 Kenichi Handa <handa@etl.go.jp> - - * coding.c (code_convert_region): Even if the length of text is - zero, try to convert it if coding->type is coding_type_ccl. - (decode_coding_string, encode_coding_string): Likewise. - -2000-06-28 Gerd Moellmann <gerd@gnu.org> - - * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse - the display if windows_or_buffers_changed. - - * dispnew.c (struct row_entry): New structure. - (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table) - (row_table_size, old_lines, new_lines, old_lines_size) - (new_lines_size, run_pool, runs_size, runs): New variables. - (add_row_entry): New function. - (scrolling_window): Use data structures allocated with xmalloc and - held in global variables, instead of allocating them with alloca and - holding them in local variables. Use a larger hash table whose - size depends on glyph matrix sizes. Don't use bzero to clear the - hash table; instead, clear used slots only. - - * fns.c (next_almost_prime): Make it externally visible. - - * lisp.h (next_almost_prime): Add prototype. - - * s/isc4-0.h (sigunblock): Define. - - * s/sco5.h (sigunblock): Define. - -2000-06-27 Dave Love <fx@gnu.org> - - * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change - (moved to osf5-0.h). - [!NOT_C_CODE]: Protect string.h stuff. - - * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED) - (sys_siglist, NSIG): Definitions moved here from osf1.h. - -2000-06-27 Gerd Moellmann <gerd@gnu.org> - - * xdisp.c (resize_mini_window): Subtract the extra line spacing - below the last line from the needed window height. - -2000-06-26 Stefan Monnier <monnier@cs.yale.edu> - - * fns.c (Fplist_member): Renamed from Fwidget_plist_member. - (Fwidget_get): Use it. - (syms_of_fns): Defsubr it. - -2000-06-26 Gerd Moellmann <gerd@gnu.org> - - * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the - display info for XIM. - (xim_open_dpy): Likewise. - (xim_close_dpy): Don't free the display info's XIM. - - * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic. - - * config.in (USE_XIM): New define. - - * keymap.c (get_keyelt): For menu-items containing a `:filter - FILTER', apply FILTER to the menu-item's definition to get the - real definition to use. - - * lisp.h (QCfilter): External declaration. - - * xfns.c (Fimage_size): New function. - (syms_of_xfns): Defsubr it. - -2000-06-26 Andreas Schwab <schwab@suse.de> - - * coding.c (decode_coding_string): Re-fetch STRING_BYTES after - Fstring_as_unibyte. - -2000-06-25 Dave Love <fx@gnu.org> - - * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum. - - * Makefile.in (blockinput.h): Depend on atimer.h. - (atimer.h): Depend on systime.h. - - * blockinput.h: Protect against multiple inclusion. Include atimer.h. - - * atimer.h: Protect against multiple inclusion. Include systime.h. - - * lisp.h (swap_in_global_binding): Declare. - -2000-06-24 Ken Raeburn <raeburn@gnu.org> - - * process.c (Fopen_network_stream): Turn off atimers for duration - of call to connect. (Patch from Gerd.) - -2000-06-23 Dave Love <fx@gnu.org> - - * ralloc.c: Maybe include unistd.h - - * emacs.c (setgrp): Undefine before defining. - (malloc_warning, set_time_zone_rule, index): Prototype. - - * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use - HAVE_STRUCT_TIMEZONE. - - * s/osf1.h: Move string.h hack here from alpha.h and make it - conditional. - (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with - _XOPEN_SOURCE. - (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define. - (SOCKLEN_TYPE): Don't define. - - * m/alpha.h: Remove string.h hack. - - * s/osf5-0.h: New file. - - * filelock.c: Use feature tests for fcntl.h, string.h. Don't - include time.h, done by systime.h. - [__FreeBSD__]: Remove redundant includes. - - * callproc.c (setpgrp): Undefine before defining. - (delete_temp_file): Return Qnil to avoid warning. - - * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add. - - * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not - HAVE_X_WINDOWS. - - * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset. - - * composite.h (compose_text): Declare. - - * xterm.c: Don't include sys/types.h unconditionally. Don't - protect its inclusion with !USG (following xmenu.c). - -2000-06-23 Gerd Moellmann <gerd@gnu.org> - - * xfns.c (x_create_tip_frame): Initialize frame's colors like - in x_create_frame. - -2000-06-23 Eli Zaretskii <eliz@is.elta.co.il> - - * coding.c (decode_eol_post_ccl): Special handling for undecided - and inconsistent EOL types. - -2000-06-22 Gerd Moellmann <gerd@gnu.org> - - * xrdb.c (x_load_resources): Add default resource for scroll bar's - trough color and main window's background color. - - * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently. - - * xterm.h (Xt_app_con): External declaration. - - * widget.c (EmacsFrameRealize): Fix typo. - - * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask. - - * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero. - (handle_invisible_prop): Record the start of invisible text in - it->add_overlay_start. - (struct overlay_entry): Add member `overlay'. - (handle_overlay_change): Simplify. - (next_overlay_string): After having processed overlay strings at the - end of the buffer, record that fact in - it->overlay_strings_at_end_processed_p. - (compare_overlay_entries): If before- and after-strings come - from the same overlay, let before-strings come first. - (RECORD_OVERLAY_STRING): Record the overlay that strings come from. - (load_overlay_strings): Take it->add_overlay_start into account - when adding overlay strings. - - * dispextern.h (struct it): Add member add_overlay_start. - -2000-06-22 Dave Love <fx@gnu.org> - - * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500. - - * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here. - -2000-06-22 Kenichi Handa <handa@etl.go.jp> - - * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it - is greater than 0. - -2000-06-21 Dave Love <fx@gnu.org> - - * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it. - -2000-06-21 Stefan Monnier <monnier@cs.yale.edu> - - * syntax.c (back_comment): Simplify string-parity counting (with - the added benefit of handling multiple string-styles as long as - they are not intertwined). - Jump to the slow code as soon as a comment starter is found in - a "string_lossage" position. Fixes the case: " /* " /* " */. - -2000-06-21 Dave Love <fx@gnu.org> - - * Makefile.in: Use GETLOADAVG_LIBS. - - * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS, - _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE. - -2000-06-20 Stefan Monnier <monnier@cs.yale.edu> - - * syntax.c (describe_syntax): Recognize the `n'estable bit. - (Fforward_comment, scan_lists): - Check the comstyle of single-char comment-starters. - (scan_sexps_forward): Don't try to recognize `half comment-enders' if - we're just at the beginning of the comment (f.ex with (*) ... (*)). - Check the comstyle of single-char comment-starters. - Clarify control-flow around the Scomment case. - -2000-06-20 Dave Love <fx@gnu.org> - - * fns.c (make_hash_table, maybe_resize_hash_table): - Cast arg of next_almost_prime. - - * tparam.c [emacs]: Include lisp.h. - - * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h - and unistd.h. - -2000-06-20 Gerd Moellmann <gerd@gnu.org> - - * keyboard.c (adjust_point_for_property): Check if display - property should be treated as intangible by looking at its value. - - * xdisp.c (single_display_prop_intangible_p) - (display_prop_intangible_p): New functions. - - * dispextern.h (display_prop_intangible_p): Add prototype. - - * xdisp.c (dump_glyph_row): Show type of glyph->object. - - * s/isc4-0.h (sigblock): Redefined to pass a pointer as second - argument to sigprocmask. - - * s/sco5.h (sigblock): Redefined to pass a pointer as second - argument to sigprocmask. - - * syssignal.h (sigblock, sigunblock) [USG5_4]: Set - sigprocmask_set, and pass a pointer to it to sigprocmask. - - * sysdep.c (sigprocmask_set): New variable. - - * fileio.c (make_temp_name): Don't use `%s' in string passed to - report_file_error. - -2000-06-20 Sam Steingold <sds@gnu.org> - - * xrdb.c: Don't declare xmalloc, xrealloc. - -2000-06-20 Stefan Monnier <monnier@cs.yale.edu> - - * regex.c (re_match, re_match_2): Protect calls to alloca (0). - (re_comp): Cast gettext return value to avoid complaints when - !HAVE_LIBINTL. - -2000-06-20 Dave Love <fx@gnu.org> - - * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY. - - * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK. - - * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD. - - * m/alpha.h: Don't declare xmalloc, xrealloc. - - * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT. - - * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE. - - * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY. - - * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare - HAVE_GETWD. - - * keyboard.h (poll_for_input_1): Declare. - - * getloadavg.c: Don't define NLIST_STRUCT (handled by configure). - - * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE. - - * doprnt.c: Don't declare xmalloc, xrealloc. - - * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text) - (getenv, ctime, getwd): Removed. - (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE. - - * xterm.h: Remove duplicate prototypes. Declare free_frame_xic, - x_set_tool_bar_lines. - - * config.in: Add HAVE_GETWD. Move some definitions above - machine/system includes. - -2000-06-20 Kenichi Handa <handa@etl.go.jp> - - * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1. - - * xfaces.c (font_list): Handle the case that REGISTRY doesn't - contain information about ENCODING. - - * fontset.c (FONTSET_ASCII): Use the first element of char table - for an ASCII font, not defalt slot. - (fontset_ref_via_base): If FONTSET doesn't contain information for - C, try the default fontset. - (make_fontset): Don't copy the default fontset. - (fontset_font_pattern): Likewise. - (accumulate_font_info): If ELT is nil, use the corresponding - element in the default fontset. - -2000-06-19 Dave Love <fx@gnu.org> - - * syntax.c (Fparse_partial_sexp): Doc fix. - - * regex.h: Test PROTOTYPES as well as __STDC__. - - * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare - errno, strerror. Put text after #endif in comment. - - * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc). - - * xterm.c (x_frame_of_widget): Likewise. - -2000-06-19 Gerd Moellmann <gerd@gnu.org> - - * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table - to Vfundamental_mode_abbrev_table. - - * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no - bogus objects are marked. This slows down GC by ~80 percent, but - it might be worth trying when debugging GC-related problems. - This feature requires conservative stack marking to be enabled. - - * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString - returns XLookupChars, reset `modifiers' to zero. - -2000-06-19 Dave Love <fx@gnu.org> - - * mktime.c: Unprotoized. - -2000-06-19 Richard Stallman <rms@gnu.org> - - * data.c (set_internal): If variable is frame-local, - store the new value immediately into the frame parameter alist. - -2000-06-19 Ken Raeburn <raeburn@gnu.org> - - * xfns.c (jpeg_load): Fetch error-handling data first, then fill - in the custom handler pointer. - - * keyboard.c (follow_key, read_key_sequence): Use XUINT on key - value, or checks for CHAR_META can fail when Lisp_Object is a - union type. - * keymap.c (get_keyelt): Likewise. - -2000-06-19 Kenichi Handa <handa@etl.go.jp> - - * ccl.h (struct ccl_program): New member eol_type. - (struct ccl_spec): New member cr_carryover. - - * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type. - (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF. - - * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'. - (ccl_coding_driver): On encoding, initialize ccl->eol_type. - (decode_eol_post_ccl): New function. - (decode_coding): Don't detect EOL format here for CCL based coding - systems. - (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call - decode_eol_post_ccl after running the CCL program. - (code_convert_region): Don't detect EOL format here for CCL based - coding systems. - (decode_coding_string): Likewise. - -2000-06-18 Ken Raeburn <raeburn@gnu.org> - - * charset.c (update_charset_table): Use XINT on "iso_final_char" - when treating it as an integer. - - * coding.h (encode_coding_string): Declare. - - * keyboard.c (read_key_sequence): Use XINT on "pos" when treating - it as an integer. - - * keymap.c (Fwhere_is_internal): Rename argument "keymap" to - "xkeymap" to avoid shadowing the "enum map_type" value that needs - to be passed to get_local_map. - - * sound.c (Fplay_sound): Don't call make_number on - Frun_hook_with_args count argument. - - * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer - for lisp objects in X event structure data field, when lisp - objects are represented with unions. - (x_scroll_bar_to_input_event): Ditto. - -2000-06-16 Ken Raeburn <raeburn@gnu.org> - - * xdisp.c (decode_mode_spec): In "no_value" case, do NUL - termination of string. Fix sense of test whether - Vline_number_display_limit is an integer. - -2000-06-16 Gerd Moellmann <gerd@gnu.org> - - * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors - only if HAVE_X_WINDOWS. - - * keymap.c (describe_buffer_bindings): Add `\f\n' in front - of titles. - - * dispnew.c (update_frame_1): Handle case that cursor vpos is - out of bounds. - -2000-06-15 Eli Zaretskii <eliz@is.elta.co.il> - - * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS - of its headers. - -2000-06-15 Kenichi Handa <handa@etl.go.jp> - - * coding.c (decode_coding_emacs_mule): Always set src_base at the - start of the while loop. - -2000-06-15 Gerd Moellmann <gerd@gnu.org> - - * atimer.c (alarm_signal_handler): Add forward declaration. - - * data.c (set_internal): Remove debug code. - -2000-06-14 Gerd Moellmann <gerd@gnu.org> - - * Makefile.in (bootstrap-temacs): Add `-I../src'. - - * unexec.c (toplevel) [COFF]: Include coff.h. - - * s/lynxos.h: New file. - - * keymap.c (Fsingle_key_description): Enclose function key and - event symbol names in angle brackets. - - * xdisp.c (setup_echo_area_for_printing): Call - message_log_maybe_newline if message_buf_print is not set. - - * print.c (printchar, strout): Don't check message_buf_print - before calling setup_echo_area_for_printing because that - function does something useful even when message_buf_print is - already set. - - * xdisp.c (message_truncate_lines, Qmessage_truncate_lines): - New variables. - (ensure_echo_area_buffers): Initialize echo buffer's - truncate lines setting to nil. - (with_echo_area_buffer): Don't set the echo buffer's truncate - lines setting here. - (set_message_1): Set it here instead, based on the value - of message_truncate_lines. - (resize_mini_window): Handle case that lines are truncated. - (syms_of_xdisp): Initialize Qmessage_truncate_lines. - DEFVAR_BOOL message-truncate-lines. - - * keyboard.c (read_char): Bind message-truncate-lines to t - while displaying a help-echo. - - * lisp.h (Qmessage_truncate_lines): External declaration. - -2000-06-13 Gerd Moellmann <gerd@gnu.org> - - * xdisp.c (Vline_number_display_limit): Renamed from - line_number_display_limit. - (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit. - Extend documentation string. Initialize - Vline_number_display_limit to nil meaning no limit. - (decode_mode_spec): Use Vline_number_display_limit with its new - meaning. - - * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype. - -2000-06-13 Richard Stallman <rms@gnu.org> - - * frame.c (Fmodify_frame_parameters): Doc fix. - - * xfns.c (x_set_frame_parameters): Comment fix. - - * frame.c (store_frame_param): Call swap_in_global_binding if the - variable's current binding was chosen based on this frame. - - * data.c (swap_in_global_binding): New function. - -2000-06-13 Eli Zaretskii <eliz@is.elta.co.il> - - * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING - macro, instead AND with CODING_REQUIRE_ENCODING_MASK. - -2000-06-13 Eli Zaretskii <eliz@is.elta.co.il> - - * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_. - -2000-06-12 Jason Rumney <jasonr@gnu.org> - - * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__ - - * w32.h (EMACS_W32_H): Renamed from _NT_H_ - - * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__ - - * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__ - -2000-06-12 Gerd Moellmann <gerd@gnu.org> - - * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function. - (syms_of_xfaces): Defsubr Sdump_colors. - (x_free_colors): Don't treat b&w specially on default visual. - (x_free_dpy_colors): New function. - (free_face_colors): Don't check visual class; it's done - in x_free_colors. - - * xterm.c (x_frame_of_widget): New function. - (x_alloc_nearest_color_for_widget): Use it. - (x_copy_dpy_color): New function. - (x_destroy_window): Free various colors. - -2000-06-12 Kenichi Handa <handa@etl.go.jp> - - * ccl.h (EMACS_CCL_H): Renamed from _CCL_H. - - * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H. - - * coding.h (EMASC_CODING_H): Renamed from _CODING_H. - - * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H. - - * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H. - -2000-06-11 Dave Love <fx@gnu.org> - - * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H. - -2000-06-11 Eli Zaretskii <eliz@is.elta.co.il> - - * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead. - -2000-06-11 Gerd Moellmann <gerd@gnu.org> - - * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu - to `XEvent *'. - -2000-06-10 Kenichi Handa <handa@etl.go.jp> - - * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env. - (regex_compile): Fix the code for handling the case of single byte - char and multibyte char being mixed in a range within [...]. - - * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte - and dst_multibyte members of coding. - - * charset.c (update_charset_table): Update the table - bytes_by_char_head. - (init_charset_once): Initialize elements of bytes_by_char_head to - 1 except for leading codes for private charases. - - * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80. - (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence. - -2000-06-09 Ken Raeburn <raeburn@gnu.org> - - * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to - access the data it doesn't point to. - -2000-06-08 Gerd Moellmann <gerd@gnu.org> - - * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which - will be translated to a switch-frame event when reading the - event queue. This is necessary because Emacs otherwise won't - perform a switch-frame to a new frame until some other event, for - example a keystroke event, forces it to do so. This has various - effects, one visible being that the cursor of a frame created with - C-x 5 2 or switched to with a window manager key binding like - A-TAB stays hollow because selected_window isn't on the newly - focused frame until the switch-frame is performed. - - * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by - generating a switch-frame event if necessary. - - * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT. - - * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos'; - it's an integer. - -2000-06-08 Kenichi Handa <handa@etl.go.jp> - - * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset. - -2000-06-07 Gerd Moellmann <gerd@gnu.org> - - * window.c (displayed_window_lines): Take empty lines at - the bottom of a window into account. - - * window.c (displayed_window_lines): New function. - (Fmove_to_window_line): Use displayed_window_lines to determine - the number of lines to move, instead of using the window's height. - - * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange - to stop reading, even if the form read sets point to a different - value when evaluated. - - * xdisp.c (display_line): Fix code deciding in which line to - put the cursor. - -2000-06-07 Kenichi Handa <handa@etl.go.jp> - - * fileio.c (e_write): Free composition data if stored in - coding->cmp_data. - -2000-06-06 Gerd Moellmann <gerd@gnu.org> - - * xdisp.c (display_line): Set row's and iterator's - starts_in_middle_of_char_p and ends_in_middle_of_char_p flags. - Set cursor even if row ends in the middle of a character. - (dump_glyph_row): Print values of new flags. - (redisplay_window) <cursor movement in unchanged window>: When - point has been moved forward, and PT is at the end of the cursor - row, don't place the cursor in the next row if the cursor row ends - in the middle of a character or at ZV. - - * dispextern.h (struct it): Add starts_in_middle_of_char_p. - (struct glyph_row): Add starts_in_middle_of_char_p and - ends_in_middle_of_char_p. - (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's - ends_in_middle_of_char_p flag. - (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise. - - * term.c (append_glyph): Revert change of 2000-06-06. - - * xdisp.c (display_line): Revert change of 2000-06-06. Treat - padding glyph not fitting on line as whole character not - fitting on line. - - * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0'; - this isn't true for images with `:ascent 100'. - -2000-06-06 Kenichi Handa <handa@etl.go.jp> - - * buffer.c (Fset_buffer_multibyte): Don't make the current buffer - as modified if it is originally unmodified. - - * term.c (encode_terminal_code): Change the way to check if - terminal coding does any conversion. - (append_glyph): Set glyph->pixel_width correctly. - - * xdisp.c (display_line): While checking line continuation, pay - attention to a padding glyph. - -2000-06-05 Gerd Moellmann <gerd@gnu.org> - - * xdisp.c (redisplay_window): Always use set_buffer_internal_1. - -2000-06-05 Dave Love <fx@gnu.org> - - * xdisp.c: Include fontset.h. - - * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned. - - * xterm.c (x_calc_absolute_position): Declare nchildren unsigned. - - * dispnew.c: Conditionally include term.h. - - * coding.h: Declare code_convert_string_norecord. - - * frame.h (struct frame): Use volatile unconditionally. - - * buffer.h: Remove Vbefore_change_function, Vafter_change_function. - - * xmenu.c (menu_item_selection): Declare volatile unconditionally. - - * systime.h: Protect against multiple inclusion. - (timezone) [USG5_4]: Define as time_t. - - * lisp.h (DEFUN, EXFUN): Test PROTOTYPES. - (Foptimize_char_table, make_temp_name): Declare. - - * Makefile.in (xdisp.o): Depend on fontset.h. - - * xterm.c (x_calc_absolute_position): Declare nchildren unsigned. - - * lisp.h (DEFUN, EXFUN): Test PROTOTYPES. - (Foptimize_char_table, make_temp_name): Declare. - - * s/irix4-0.h: - * s/irix5-0.h: - * s/netbsd.h: Don't define autoconfiscated MATHERR. - -2000-06-02 Dave Love <fx@gnu.org> - - * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define. - -2000-06-02 Gerd Moellmann <gerd@gnu.org> - - * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the - result face, set flags in that face indicating that colors may not - be freed. - - * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character - glyph, use the ASCII NUL character to determine the face. - -2000-06-02 Dave Love <fx@gnu.org> - - * sysdep.c: Conditionally include stdlib.h, unistd.h. - (VFORK_RETURN_TYPE): Remove. - - * config.in: Add NO_MATHERR. - -2000-06-01 Dave Love <fx@gnu.org> - - * cmds.c (internal_self_insert): Don't check - Vbefore_change_function, Vafter_change_function. - - * insdel.c (signal_before_change, signal_after_change): Likewise. - - * buffer.c (Vbefore_change_function, Vafter_change_function): - Variables and their initializations deleted. - - * callint.c (Fcall_interactively): Doc fix. - - * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern. - -2000-05-31 Dave Love <fx@gnu.org> - - * textprop.c: Revert last change -- duplicated. - -2000-05-31 Gerd Moellmann <gerd@gnu.org> - - * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put - in #if 0. - - * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'. - -2000-05-31 Jason Rumney <jasonr@gnu.org> - - * search.c (Fre_search_forward, Fre_search_backward) - (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs. - - * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil. - -2000-05-30 Jason Rumney <jasonr@gnu.org> - - * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros. - [WINDOWSNT]: Add extern for Vw32_system_coding_system. - - * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member. - - * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog. - (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to - expand a nil default_filename. - - * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window - pointer to glyph_to_pixel_coords, not a frame. - - * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and - coding.h to dependencies. - - * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p. - - * w32console.c (glyph_to_pixel_coords): Change first parameter to - window pointer to be consistent with w32term.c and xterm.c. - - * w32fns.c: Format and doc changes to bring closer to xfns.c. - (VIETNAMESE_CHARSET): Define if not defined in system headers. - (Qline_spacing, Qcenter): New variables. - (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c. - (x_set_line_spacing): New function. - (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros. - (x_specified_cursor_type): New function. - (x_set_cursor_type): Use it. - (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar - and icon strings. - (validate_x_resource_name, x_get_resource_string): Measure lengths - of external strings in bytes. - (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling - GetTextExtentPoint32 with NULL title. - (Fx_create_frame): Initialize Qline_spacing. - (w32_load_system_font): Initialize font->double_byte_p. - (x_to_w32_charset): Use Vw32_charset_info_alist. - (Image, busy cursor, tooltip functions): Merged changes from - xfns.c. Not yet functional on Windows. - - * w32gui.h (W32FontStruct): Add double_byte_p member. - - * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant. - (emacs_button_translation): Use it. - (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit - in `mask' to be set. - - * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on - menu strings. - - * w32term.c: Format and doc changes to bring closer to xterm.c. - (w32_char_font_type): New enum. - (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c. - (w32_per_char_metric): Use w32_char_font_type instead of unicode_p. - (w32_encode_char): New function. - (x_encode_char): Removed. - (x_get_glyph_and_face_encoding): Use w32_encode_char in place of - x_encode_char and w32_font_is_double_byte. - (x_produce_image_glyph): Use image_ascent. - (x_produce_glyphs): Use new version of w32_per_char_metric and - handle NULL return value. Allow extra line spacing. - (W32_TEXTOUT): Distinguish between Unicode and DBCS text. - (w32_get_glyph_overhangs): Remove unicode_p param. Use - w32_font_type member of glyph instead. - (x_draw_glyph_string): Draw underline and strike-out for BDF fonts. - (fast_find_position): Make sure not to consider rows not visible - in the window. - (w32_read_socket) [WM_MENUSELECT]: Cannot call - w32_menu_display_help with input blocked, as it can abort. - (x_display_and_set_cursor): Choose cursor depending - on buffer-local value of cursor_type. - (x_draw_bar_cursor): Add parameter WIDTH. - - * w32term.h (CP_DEFAULT): Define. - (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare. - -2000-05-30 Gerd Moellmann <gerd@gnu.org> - - * search.c (Fre_search_forward, Fre_search_backward) - (Fposix_search_backward, Fposix_search_forward): Doc fix. - -2000-05-30 Kenichi Handa <handa@etl.go.jp> - - * coding.c (detect_coding_iso2022): Fix code for checking - CODING_CATEGORY_MASK_ISO_8_2. - -2000-05-29 Stefan Monnier <monnier@cs.yale.edu> - - * regex.c (PREFETCH_NOLIMIT): New function. - (re_match_2_internal): Use it and adjust the end_match_2 logic. - -2000-05-29 Gerd Moellmann <gerd@gnu.org> - - * syntax.c (find_defun_start): Move test for - open_paren_in_column_0_is_defun_start outside of the loop. - - * xdisp.c (redisplay_window): Really switch buffers when - displaying mode lines, and temporarily set selected_frame to the - frame of the window that's redisplayed. - - * xfaces.c (free_realized_faces): Block/unblock input. - (free_realized_multibyte_face): Ditto. - -2000-05-29 Dave Love <fx@gnu.org> - - * textprop.c (Qkeymap): New variable. - (syms_of_textprop): Intern it. - - * keymap.c: Include intervals.h. - (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property. - - * Makefile.in (keymap.o): Depend on intervals.h. - - * keyboard.c (menu_bar_items, tool_bar_items) - (Fexecute_extended_command): Deal with `keymap' property. - (read_key_sequence): Track map from `keymap' property as well as - `local_map'. - - * intervals.c (get_local_map): Extra arg to allow looking for - `keymap' too. - - * intervals.h (map_property): New enum. - (get_local_map): Extra arg using it. - (Qkeymap): Declare. - - * lisp.h (get_local_map): Don't declare here. - -2000-05-29 Kenichi Handa <handa@etl.go.jp> - - * Makefile.in (callproc.o): Depend on composite.h. - - * callproc.c: Include composite.h. - (Fcall_process): Handle composition correctly. - - * coding.h (coding_allocate_composition_data): Extern it. - (coding_restore_composition): Likewise. - - * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not - yet allocated, finish decoding with result - CODING_FINISH_INSUFFICIENT_CMP. - (coding_allocate_composition_data): Make it non-static. - (coding_restore_composition): Likewise. - -2000-05-29 Eli Zaretskii <eliz@is.elta.co.il> - - * charset.c (syms_of_charset): Revert last change. - -2000-05-28 Eli Zaretskii <eliz@is.elta.co.il> - - * term.c (produce_glyphs): Treat characters from the eight-bit-* - charsets as unibyte, with 1-column screen width. Sent by Kenichi - Handa. - -2000-05-28 Eli Zaretskii <eliz@is.elta.co.il> - - * charset.c (syms_of_charset): Set width of character sets - eight-bit-control and eight-bit-graphic to 1 column. - -2000-05-26 Gerd Moellmann <gerd@gnu.org> - - * config.in (HAVE_SPEED_T): New define. - - * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as - `extern speed_t'. - -2000-05-26 Dave Love <fx@gnu.org> - - * coding.c (shrink_decoding_region): Initialize eol_conversion. - - * data.c (Qsubrp, Qmany, Qunevalled): New variables. - (Fsubr_arity): New function. - (syms_of_data): Install them. - -2000-05-26 Kenichi Handa <handa@etl.go.jp> - - * charset.c (init_charset_once): Set the table bytes_by_char_head - correctly. - - * fontset.c (syms_of_fontset): Adjust the font name for ascii of - the default fontset to what Emacs uses by default. - (check_registry_encoding): This function deleted. - (Fset_fontset_font): Remove the adhoc condition for the default - fontset. Allow cons in FONTNAME. - - * fns.c (map_char_table): Ignore char-table entries for - charsets eight-bit-control and eight-bit-graphic. - -2000-05-25 Ken Raeburn <raeburn@gnu.org> - - * emacs.c (main): Initialize keyboard syms before initializing - window code, so face names are available. - -2000-05-25 Stefan Monnier <monnier@cs.yale.edu> - - * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case - of an anchor at the beginning of a shy-group. - -2000-05-25 Gerd Moellmann <gerd@gnu.org> - - * xdisp.c (handle_invisible_prop): Don't try to skip over - invisible text if end of text is already reached. - -2000-05-25 Dave Love <fx@gnu.org> - - * xdisp.c (Fdump_glyph_matrix): Declare the arg. - - * coding.c (encode_eol): Add null statement after label. - -2000-05-25 Eli Zaretskii <eliz@is.elta.co.il> - - * w16select.c (Fw16_set_clipboard_data): Fix the change from - 2000-05-20. - -2000-05-25 Kenichi Handa <handa@etl.go.jp> - - * ccl.c (ccl_driver): Fix previous change. - -2000-05-25 Kenichi Handa <handa@etl.go.jp> - - * coding.c (run_pre_post_conversion_on_str): Set point to the - beginning of buffer before calling coding->post_read_conversion. - (decode_coding_string): Give correct args to - run_pre_post_conversion_on_str. - (encode_coding_string): Likewise. - - * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2> - <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and - eight-bit-graphic correctly. - -2000-05-24 Kenichi HANDA <handa@etl.go.jp> - - * fileio.c (Finsert_file_contents): Even if a file is not found, - execute codes for setting up coding system. Call - after-insert-file-functions unconditionally. - -2000-05-24 Gerd Moellmann <gerd@gnu.org> - - * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and - BSD_PGRPS are not defined. - -2000-05-24 Kenichi Handa <handa@etl.go.jp> - - * charset.c (update_charset_table): Accept nil in LONG_NAME and - DESCRIPTION. - (syms_of_charset): Avoid building same strings. - -2000-05-23 Gerd Moellmann <gerd@gnu.org> - - * lread.c (Fload): Add a comment about the meaning of - Vuser_init_file being t. - - * puresize.h (BASE_PURESIZE): Increase to 675000. - - * s/gnu-linux.h (setpgrp): Don't define it here because this - prevents compilation on GNU/Linux systems with glib 2.2. - - * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define - as setpgid. - -2000-05-23 Eli Zaretskii <eliz@is.elta.co.il> - - * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc, - dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS - version. - (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc. - -2000-05-23 Kenichi Handa <handa@etl.go.jp> - - * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally. - - * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1. - - * term.c (encode_terminal_code): Set coding->src_multibyte properly. - - * coding.c (encode_eol): Fix a bug of DOS style EOL encoding. - -2000-05-22 Kenichi Handa <handa@etl.go.jp> - - * keyboard.c (read_char): Allow character codes 128..255 to be - handled by input-method-function. - - * insdel.c (adjust_markers_for_replace): Fix previous change. - (adjust_after_replace): If PREV_TEXT is nil, call - adjust_markers_for_insert, not adjust_markers_for_replace. - -2000-05-20 NIIBE Yutaka <gniibe@mri.co.jp> - - * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define. - (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF) - [HAVE_GRANDPT]: Define. - (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE. - - * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined - like SYSV_PTYS. - - * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines. - - * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h. - -2000-05-20 Kenichi Handa <handa@etl.go.jp> - - The following changes are to handle 8-bit characters in a - multibyte buffer/string without facing with byte combining - problem. Two new charsets eight-bit-control (for 0x80..0x9F) and - eight-bit-graphic (for 0xA0..0xFF) are introduced. - - * Makefile.in (fns.o): Depend on charset.h. - - * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte, - convert it to unibyte. - (make_string): Use parse_str_as_multibyte, not chars_in_text. - - * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a - apparent char boundary. - (Fset_buffer_multibyte): Convert 8-bit characters in the range - 0x80..0x9F to/from multibyte form. - - * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it - to unibyte. - - * callproc.c (Fcall_process): Always encode an argument string if - it is multibyte. Setup src_multibyte and dst_multibyte members of - process_coding properly. - - * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not - SPLIT_NON_ASCII_CHAR. - - * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters - as is. - (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR. - - * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables. - (SPLIT_CHARACTER_SEQ): This macro deleted. - (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid. - (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control - and eight-bit-graphic. - (char_to_string): Likewise. Signal an error for too large - character code. - (char_printable_p): Return 0 for 8-bit characters. - (update_charset_table): Update iso_charset_table only when a final - character is non-negative. - (find_charset_in_text): Renamed from find_charset_in_str. - Arguments and return value changed. Callers changed. - (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can - be -1 if CHARSET is used only internally. - (Fmake_char_internal): Handle new charsets; eight-bit-control and - eight-bit-graphic. - (Fcharset_after): Simplified. - (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR. - (char_bytes): Return 2 for chars of the range 0xA0..0xFF. - (multibyte_chars_in_text): Simplified by assuming there's no - invalid multibyte sequence. - (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte) - (str_as_unibyte): New functions. - (Fstring): Simpified by assuming that byte combining never happens. - (init_charset_once): Initialization for - LEADING_CODE_8_BIT_CONTROL. - (syms_of_charset): Intern and staticpro Qeight_bit_control and - Qeight_bit_graphic. Include them in Vcharset_list. Make charsets - eight-bit-control and eight-bit-graphic. - - * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL) - (CHARSET_8_BIT_GRAPHIC): New macros. - (SINGLE_BYTE_CHAR_P): Make it faster by using casting. - (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT. - (CHARSET_REVERSE_CHARSET): Likewise. - (CHARSET_VALID_P): Handle new charsets; eight-bit-control and - eight-bit-graphic. - (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII. - (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise. - (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we - encounter an invalid multibyte sequence. - (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte - sequence is always valid. - (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted. - (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros. - (CHAR_STRING): For 8-bit characters, call char_to_string. - (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume - multibyte sequence is always valid. - (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise. - (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte) - (str_as_unibyte): Extern them. - (BCOPY_SHORT): Fix a bug. - (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES. - (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING. - (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro. - (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer. - - * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to - CODING_FINISH_INSUFFICIENT_SRC if there's not enough source. - (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE) - (EMIT_BYTES): New macros. - (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII) - (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These - macros deleted. - (CHECK_CODE_RANGE_A0_FF): This macro deleted. - (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to - check the validity of multibyte sequence. - (decode_coding_emacs_mule): New function. - (encode_coding_emacs_mule): New macro. - (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from - the source. - (DECODE_ISO_CHARACTER): Just return a character code. - (DECODE_COMPOSITION_START): Set coding->result instead of result. - (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use - EMIT_CHAR to produced decoded characters. Exit the loop only by - macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last - block here. - (ENCODE_ISO_CHARACTER): Don't translate character here. Produce - only position codes for an invalid character. - (encode_designation_at_bol): Return new destination pointer. 5th - arg DSTP is changed to DST. - (encode_coding_iso2022, decode_coding_sjis_big5): Get a character - from the source by ONE_MORE_CHAR. Don't handle the case of last - block here. - (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These - macros deleted. - (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8) - (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and - TWO_MORE_BYTES to fetch a byte from the source. - (encode_eol): Pay attention to coding->src_multibyte. - (detect_coding, detect_eol): Preserve members src_multibyte and - dst_multibyte. - (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text. - (encoding_buffer_size): Set magnification to 3 for all coding - systems that require encoding. - (ccl_coding_driver): For decoding, be sure that the result is - valid multibyte sequence. - (decode_coding): Initialize coding->errors and coding->result. - For emacs-mule, call decode_coding_emacs_mule. For no-conversion - and raw-text, always call decode_eol. Handle the case of last - block here. If not coding->dst_multibyte, convert the resulting - sequence to unibyte. - (encode_coding): Initialize coding->errors and coding->result. - For emacs-mule, call encode_coding_emacs_mule. For no-conversion - and raw-text, always call encode_eol. Handle the case of last - block here. - (shrink_decoding_region, shrink_encoding_region): Detect cases - that we can't skip data more rigidly. - (code_convert_region): Setup src_multibyte and dst_multibyte - members of coding. For decoding, if the buffer is multibyte, - convert the source sequence to unibyte in advance. For encoding, - if the buffer is multibyte, convert the resulting sequence to - multibyte afterward. - (run_pre_post_conversion_on_str): New function. - (code_convert_string): Deleted and divided into the following two. - (decode_coding_string, encode_coding_string): New functions. - (code_convert_string1, code_convert_string_norecord): Call one of - above. - (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of - MAKE_NON_ASCII_CHAR. - (Fset_terminal_coding_system_internal) - (Fset_safe_terminal_coding_system_internal): Setup src_multibyte - and dst_multibyte members. - (init_coding_once): Initialize iso_code_class with new enum - ISO_control_0 and ISO_control_1. - - * coding.h (enum iso_code_class_type): Member ISO_control_code is - devided into ISO_control_0 and ISO_control_1. - (struct coding_system): New members src_multibyte, dst_multibyte, - errors, and result. Delete member fake_multibyte. - (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is - nonzero. - (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is - nonzero. - - * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR. - (Faset): Likewise. - - * editfns.c (Fformat): Be sure to convert 8-bit characters to - multibyte form. - (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte - combining occurs. - (Ftranspose_region): Delete codes for handling byte combining. - - * fileio.c (Finsert_file_contents): Setup src_multibyte and - dst_multibyte members of coding. On handling REPLACE on unibyte - buffer, convert the result of decode_coding to unibyte. On - inserting into a mutibyte buffer, always call code_convert_region. - (e_write): Setup coding->src_multibyte according to the - multibyteness of the source (buffer or string). - - * fns.c (concat): Handle 8-bit characters correctly. - (Fstring_as_unibyte): Be sure to make all 8-bit characters in - unibyte in the result. - (Fstring_as_multibyte): Be sure to make all 8-bit characters in - valid multibyte form in the result. - (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR. - (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1 - return -1, signal an error. - (base64_encode_1): New arg MULTIBYTE. Get each character by - CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte - character is found, return -1. - (Fbase64_decode_region): Delete codes for handling byte-combining. - Treat each decoded byte as a unibyte character. - (Fbase64_decode_string): Return unibyte string. - (Fcompare_strings, concat, string_byte_to_char): Use - FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off - FETCH_STRING_CHAR_ADVANCE. - (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally. - (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE. - - * fontset.c (fontset_ref): Use SPLIT_CHAR instead of - SPLIT_NON_ASCII_CHAR. - (fontset_ref_via_base, fontset_set): Likewise - - * insdel.c (adjust_markers_for_record_delete): Deleted. - (adjust_markers_for_insert): Argument changed. Caller changed. - (adjust_markers_for_replace): Likewise. - (ADJUST_CHAR_POS, combine_bytes, byte_combining_error) - (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted. - (copy_text): Delete unused local varialbe c_save. For converting - to multibyte, be sure to make all 8-bit characters in valid - multibyte form. - (count_size_as_multibyte): Handle 8-bit characters correctly. - (insert_1_both, insert_from_string_1, insert_from_buffer_1) - (adjust_after_replace, replace_range, del_range_2) - [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs. - (insert_1_both, insert_from_string_1, insert_from_buffer_1) - (adjust_after_replace, replace_range, del_range_2) Delete codes for - handling byte combining. - (adjust_before_replace): Deleted. - - * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of - SPLIT_NON_ASCII_CHAR. - (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR. - (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally. - (Fkey_description): Likewise. - - * lread.c (read1): On reading multibyte string, be sure to make - all 8-bit chararacters in valid multibyte form. - (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally. - - * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE - unconditionally. - - * process.c (Fstart_process): GCPRO current_dir before calling - Ffind_operation_coding_system. Encode arguments here. - (create_process): Don't encode arguments here. Setup - src_multibyte and dst_multibyte members of struct coding. - (read_process_output): Setup src_multibyte and dst_multibyte - members of struct coding. If the output is to multibyte buffer, - always decode the output of the process. Adjust the - representation of 8-bit characters to the multibyteness of the output. - (send_process): Setup coding->src_multibyte according to the - multibyteness of the source. - - * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally. - (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and - FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately. - - * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN. - - * w16select.c (Fw16_set_clipboard_data): Setup members - src_multibyte and dst_multibyte of coding. Adjusted for the - change for find_charset_in_str. - (Fw16_get_clipboard_data): Likewise. - - * w32fns.c (w32_to_x_font): Setup members src_multibyte and - dst_multibyte of coding. - (x_to_w32_font): Likewise. - - * w32select.c (Fw32_set_clipboard_data): Setup members - src_multibyte and dst_multibyte of coding. Adjusted for the - change for find_charset_in_str. - (Fw32_get_clipboard_data): Likewise. - - * xdisp.c (get_next_display_element): Handle 8-bit characters - correctly. - (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN. - (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR. - - * xselect.c (selection_data_to_lisp_data): Setup members - src_multibyte and dst_multibyte of coding. Adjusted for the - change for find_charset_in_str. - (lisp_data_to_selection_data): Likewise. - -2000-05-19 Gerd Moellmann <gerd@gnu.org> - - * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer. - - * dispextern.h (Vimage_types): Add extern declaration. - - * xdisp.c (Vimage_types): Moved here from xfns.c. - (syms_of_xdisp): Move `image-types' variable here from xfns.c. - - * xfns.c (Vimages_types): Moved to xdisp.c. - (syms_of_xfns): Move `image-types' to xdisp.c. - - * w32fns.c (Vimage_types): Removed. - (syms_of_w32fns): Remove `image-types'. - -2000-05-18 Kenichi Handa <handa@etl.go.jp> - - * fns.c (map_char_table): Pay attention to character number of - charset. Check the validity of charset at the first level. For - leaf nodes that has nil value, call C_FUNCTION or FUNCTION with - the default value. - - * fontset.c: Include "buffer.h". - (fs_load_font): If the face has fontset, record the face ID in - that fontset. - (Finternal_char_font): New function. - (accumulate_font_info): New function. - (Ffontset_info): Rewritten for the new fontset implementation. - (syms_of_fontset): Register Vdefault_fontset in the first element - of Vfontset_table. Include Vdefault_fontset in - Vfontset_alias_alist. Declare `internal-char-font' as a Lisp - function. - -2000-05-16 Dave Love <fx@gnu.org> - - * m/iris5d.h: Deleted -- unused. - -2000-05-16 Gerd Moellmann <gerd@gnu.org> - - * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term - `invalid' instead of `illegal'. - - * indent.c (Fmove_to_column): When ending within a tab, insert - spaces first so that markers at the end of the tab get adjusted. - - * frame.c (frames_bury_buffer): Don't add a buffer to the frame's - buffer list that wasn't selected in that frame. - - * filelock.c (get_boot_time): To obtain an 8 char file name, which - is needed on mescaline, use a 2 char prefix, and call - make_temp_name with second arg non-zero. - - * fileio.c (make_temp_name): New function, extracted from - Fmake_temp_name. - (Fmake_temp_name): Use it. - -2000-05-15 Eli Zaretskii <eliz@is.elta.co.il> - - * window.c (coordinates_in_window): Subtract 1 when computing right_x. - -2000-05-15 Gerd Moellmann <gerd@gnu.org> - - * Makefile.in (lisp): Add env.elc. - - * callproc.c (Fgetenv_internal): Renamed from Fgetenv. - -2000-05-12 Gerd Moellmann <gerd@gnu.org> - - * search.c (Freplace_match): Handle case of `\N' in the - replacement when there's no group N. - -2000-05-11 Gerd Moellmann <gerd@gnu.org> - - * xdisp.c (add_to_log): Don't pass the terminating NUL byte - of the message to message_dolog. - - * keyboard.c (read_char): Don't clear current message for help - events; let the code handling help events handle this. Change - code detecting help events that should be ignored. - - * xdisp.c (handle_single_display_prop): Don't try to set PT if - we're interating over a string. - -2000-05-09 Dave Love <fx@gnu.org> - - * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to - that offset before writing. Move gcpro region past call of - Ffile_regular_p. - -2000-05-04 Dave Love <fx@gnu.org> - - * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix. - -2000-05-04 Gerd Moellmann <gerd@gnu.org> - - * insdel.c (insert_from_buffer_1): Adjust FROM position by number - of inserted characters when BUF equals the current buffer, and PT - is in front of or equal to FROM. - -2000-05-03 Gerd Moellmann <gerd@gnu.org> - - * xdisp.c (handle_single_display_prop): If display property value - is invalid, or something not supported on the frame, restore - iterator's position to what it was initially. Make sure to return - 0 for invalid and unsupported property values. - - * xterm.c (x_produce_glyphs) <composite chars>: Handle case - that x_per_char_metric returns null. - -2000-05-02 Gerd Moellmann <gerd@gnu.org> - - * xterm.h (struct face): Add forward declaration. - (struct image): Ditto. - (image_ascent): Add prototype. - - * xterm.c (x_produce_image_glyph, x_draw_image_foreground) - (x_draw_image_relief, x_draw_image_foreground_1): Call function - image_ascent instead of using IMAGE_ASCENT. - - * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro. - (IMAGE_ASCENT): Removed. - - * xfns.c (Qcenter): New variable. - (enum image_value_type): Add IMAGE_ASCENT_VALUE. - (parse_image_spec): Handle IMAGE_ASCENT_VALUE. - (image_ascent): New function. - (lookup_image): Recognize `:ascent center'. - (xbm_format, xpm_format, pbm_format, png_format, jpeg_format) - (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE. - (xbm_load): Don't set image's ascent here. - (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p) - (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't - check ascent values here. - (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed. - (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions. - (syms_of_xfns): Initialize Qcenter. - - * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near - to the limits, increase the limits. - -2000-05-01 Kenichi Handa <handa@etl.go.jp> - - * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII. - Check Vfont_encoding_alist against the full name of the opened font. - -2000-04-28 Gerd Moellmann <gerd@gnu.org> - - * xdisp.c (make_cursor_line_fully_visible): Handle case of rows - taller than the window. - -2000-04-28 Kenichi Handa <handa@etl.go.jp> - - * xfaces.c (realize_x_face): Fix the argument of the second - xassert. BASE_FACE may not be a face for ASCII. - -2000-04-27 Gerd Moellmann <gerd@gnu.org> - - * print.c (print_object): Treat print-length < 0 as nil. - - * Makefile.in (termcapobj): Don't use TERMCAP_OBJ. - - * s/freebsd.h (TERMCAP_OBJ): Removed. - (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000. - - * lread.c (read1): Don't treat period followed by certain - characters as symbol start. - - * xfns.c (slurp_file): New function. - (xbm_image_p): Handle case of in-memory XBM files. - (xbm_scan): Rewritten to work on memory buffers instead of files. - (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data. - Work on memory buffers instead of files. If DATA is null test - if buffer looks like an in-memory XBM file. - (xbm_load_image): Renamed from xbm_load_image_file. Work on - memory buffers instead of files. - (xbm_file_p): New function. - (xbm_load): Accept :data DATA where DATA is an in-memory XBM file. - - * lread.c (end_of_file_error): New function. - (read1): Call it instead of signaling `end-of-file' directly. - - * print.c (print_error_message): Print data of `end-of-file' - with Fprinc instead of Fprin1. - -2000-04-26 Ken Raeburn <raeburn@gnu.org> - - * window.c (freeze_window_start): Check that minibuffer scroll - window isn't nil before extracting the window structure pointer - from it. - - * undo.c (record_delete): If we hit the end of the undo list, stop - picking elements apart. - -2000-04-26 Gerd Moellmann <gerd@gnu.org> - - * xdisp.c (display_line): If lines are continued, restore - iterator's ascent/descent information to the values before the - first glyph not fitting on the line. - -2000-04-25 Gerd Moellmann <gerd@gnu.org> - - * xdisp.c (try_window_id) <all changes above window start>: Adjust - positions in glyph matrix. Don't compute new window end positions. - - * dispnew.c (increment_matrix_positions): Renamed from - increment_glyph_matrix_buffer_positions. - (increment_row_positions): Renamed from - increment_glyph_row_buffer_positions. - - * dispextern.h: Change names of renamed functions from dispnew.c - in prototypes. - -2000-04-24 Gerd Moellmann <gerd@gnu.org> - - * fileio.c (Fdo_auto_save): Create directories for auto-save - list file if necessary. - - * xdisp.c (init_iterator): Set iterator's extra_line_spacing - from buffer or frame. - (automatic_hscrolling_p): New variable. - (hscroll_windows): Scroll windows horizontally only if automatic - hscrolling is allowed. - (syms_of_xdisp): New variable `automatic-hscrolling'. - - * frame.h (struct frame): Add member extra_line_spacing. - - * xfns.c (x_set_line_spacing): New function. - (Fx_create_frame): Set line spacing from resources. - (Qline_spacing): New variable. - (syms_of_xfns): Initialize Qline_spacing. - - * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'. - - * buffer.c (init_buffer_once): Handle extra_line_spacing. - (syms_of_buffer): Add `default-line-spacing' and `line-spacing'. - (reset_buffer): Don't initialize extra2 and extra3. Initialize - extra_line_spacing from default value. - (init_buffer_once): Initialize default value of extra_line_spacing. - - * buffer.h (struct buffer): Add extra_line_spacing, remove extra2 - and extra3. - - * xterm.c (x_produce_glyphs): Remove reference to struct it's - prompt_width. Add extra line spacing. - - * term.c (produce_glyphs): Remove reference to struct it's - prompt_width. - - * dispextern.h (struct it): Remove member prompt_width, add - extra_line_spacing. - -2000-04-22 Gerd Moellmann <gerd@gnu.org> - - * dispnew.c (update_frame_line): When writing a whole line, make - sure cursor is in the right row afterwards, otherwise a use of - capability `ch' in cmgoto might leave the cursor in the row below. - -2000-04-21 Gerd Moellmann <gerd@gnu.org> - - * lisp.h (struct Lisp_Buffer_Cons): Remove. - - * keyboard.c (timer_check): Fix typo in comment. - -2000-04-21 Kenichi Handa <handa@etl.go.jp> - - * fontset.c (Fset_fontset_font): Fix docstring. Local variable - name change: ch -> character. - -2000-04-20 Gerd Moellmann <gerd@gnu.org> - - * keyboard.c (echo_message_buffer): New variable. - (echo_now): Set echo_message_buffer to the echo area buffer used - to display the echo. - (cancel_echoing): Reset echo_message_buffer to nil. - (read_char): Code rewritten that handles canceling an echo or - echoing a dash, respectively. - - * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent - directory doesn't exist. - -2000-04-19 Dave Love <fx@gnu.org> - - * fns.c (syms_of_fns): Defsubr mapc. - (concat): Don't allow numeric args. - (Fconcat): Doc change. - -2000-04-19 Stefan Monnier <monnier@cs.yale.edu> - - * regex.c (re_match_2_internal): Don't shorten the strings anymore, - instead define end_match(1|2) more carefully. - Use GET_CHAR_BEFORE_2 for `begline'. - -2000-04-19 Gerd Moellmann <gerd@gnu.org> - - * frame.h (SELECTED_FRAME): Change definition to compile cleanly - on 64-bit systems where NULL is defined as `0'. - - * xdisp.c (with_echo_area_buffer): Add more `int' parameters for - the `variable argument list' to make it work on Alpha. - - * m/alpha.h (_LP64) [!_LP64]: Define. - (ORDINARY_LINK): Define for NetBSD. - - * m/macppc.h (ORDINARY_LINK): Define for NetBSD. - -2000-04-19 Dave Love <fx@gnu.org> - - * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14 - change. - - * Makefile.in (LIBS): Don't use. - (GETLOADAVG_OBJ): Define again. - (otherobj): Add GETLOADAVG_OBJ. - - * buffer.c (Fmake_indirect_buffer): Escape newline in doc. - -2000-04-18 Gerd Moellmann <gerd@gnu.org> - - * lread.c (read_filtered_event): Cancel and start busy cursor. - - * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account - that the per-character metrics may be null. - -2000-04-17 Gerd Moellmann <gerd@gnu.org> - - * buffer.c (clone_per_buffer_values): New function. - (Fmake_indirect_buffer): Add optional argument CLONE. Call - clone_per_buffer_values if CLONE is not nil. - - * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix. - -2000-04-16 Dave Love <fx@gnu.org> - - * Makefile.in: Remove obsolete localcpp stuff. - (GETLOADAVG_OBJ): Don't define. - (obj): Move LIBOBJS... - (otherobj): ... to here. - (MSDOS_OBJ): Convert to make variable -- preprocessing zapped - whitespace-only lines after the continuation (Irix). - -2000-04-14 Gerd Moellmann <gerd@gnu.org> - - * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors. - - * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'. - -2000-04-14 Dave Love <fx@gnu.org> - - * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h: - * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h: - * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h: - * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated - NLIST_STRUCT. - - * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define - autoconfiscated HAVE_GETLOADAVG. - - * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated - BROKEN_MKTIME. - -2000-04-14 Gerd Moellmann <gerd@gnu.org> - - * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes. - (fill_in_lock_file_name): Avoid existing files that aren't links. - -2000-04-14 Dave Love <fx@gnu.org> - - * Makefile.in (LIBS, LIBOBJS): New variable. - (INTERVAL_SRC): Convert to make variable. - (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT) - (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove. - (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and - add LIBOBJS. - (SOME_MACHINE_OBJECTS): Remove interval stuff. - (lisp): Substitute FACE_SUPPORT, FLOAT_SUP. - (shortlisp): Add facemenu, float-sup, frame. - (SOME_MACHINE_LISP): Remove them from here. - (LIBES): Change unused LDLIBS to autoconf LIBS. - - * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION. - -2000-04-14 Kenichi Handa <handa@etl.go.jp> - - * composite.c (update_compositions): If FROM and TO are not in a - valid range, do nothing. - -2000-04-13 Gerd Moellmann <gerd@gnu.org> - - * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier. - - * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o. - - * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define - as TERMCAP_OBJ. - -2000-04-13 Eli Zaretskii <eliz@is.elta.co.il> - - * fileio.c (a_write): Remove redundant semi-colons. - (e_write): Return -1 if failed to write all the data. - This fixes the changes made at 1999-12-15. - -2000-04-12 Dave Love <fx@gnu.org> - - * fns.c (mapcar1): Test for null vals to support mapc. - (Fmapc): New function. - -2000-04-12 Eli Zaretskii <eliz@is.elta.co.il> - - * msdos.c (NUM_MOUSE_BUTTONS): Define. - (IT_frame_up_to_date): Support the buffer local value of - cursor-type, if defined. - -2000-04-10 Dave Love <fx@gnu.org> - - * editfns.c (preceding-char, following-char): Doc fix. - -2000-04-10 Ken Raeburn <raeburn@gnu.org> - - * Makefile.in (temacs): Revert 2000-03-12 change. - -2000-04-10 Jason Rumney <jasonr@gnu.org> - - * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P. - -2000-04-10 Gerd Moellmann <gerd@gnu.org> - - * xdisp.c (setup_echo_area_for_printing): Choose an echo - area buffer, if it's not set up yet. - - * indent.c (compute_motion): Set immediate_quit. - -2000-04-09 Gerd Moellmann <gerd@gnu.org> - - * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable. - (realize_tty_face): Suppress boldness if colors are the inverse of - the default colors, and tty_suppress_bold_inverse_default_colors_p - is set. - (Ftty_suppress_bold_inverse_default_colors): New function. - (syms_of_xfaces): Defsubr it. - - * buffer.c (Frestore_buffer_modified_p): New function. - (syms_of_buffer): Defsubr it. - -2000-04-08 Ken Raeburn <raeburn@gnu.org> - - * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a - charset id (int) argument, not a charset (Lisp_Object). - - * coding.h (code_convert_string): Declare. - * coding.c (code_convert_string_norecord): Pass an int, not a lisp - object, as the fourth argument to code_convert_string. - - * fontset.c (make_fontset_for_ascii_face): Use XINT on return value. - (Fset_fontset_font): Use EQ to compare lisp objects. - -2000-04-05 Ken Raeburn <raeburn@gnu.org> - - * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for - a pointer that looks like a lisp object. - (SET_INTERVAL_OBJECT): Don't explicitly compare the object with - zero, instead see whether it's an integer object, since they can't - have intervals. - (GET_INTERVAL_OBJECT): Simply assign to the destination. - - * dispnew.c (allocate_matrices_for_frame_redisplay) - (direct_output_forward_char): Use X(U)INT and make_number as needed - to convert between (unsigned) int values and lisp integers. - * keyboard.c (read_key_sequence): Likewise. - * lread.c (substitute_object_recurse): Likewise. - * fns.c (concat, hash_lookup, hash_remove): Likewise. - * minibuf.c (do_completion, Fminibuffer_complete_word) - (Fminibuffer_completion_help): Likewise. - * term.c (produce_special_glyphs): Likewise. - - * fileio.c (Fwrite_region): Use EQ when comparing lisp objects. - * print.c (print_preprocess, print_object): Likewise. - - * search.c (compile_pattern): Use NILP when checking for nil. - - * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 && - __OPTIMIZE__]: Provide a GNU C macro version that handles - lisp-object unions. - (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type - field, to better cope with ENABLE_CHECKING and calls that modify a - Lisp_Object using its old value. - -2000-04-04 Gerd Moellmann <gerd@gnu.org> - - * window.c (compare_window_configurations): Signal an error - if parameters C1 or C2 aren't window configurations. - - * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/ - AFTER_POTENTIAL_GC calls around calls to functions that can - signal an error and thus invoke the debugger. - -2000-04-03 Gerd Moellmann <gerd@gnu.org> - - * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal - an error if decoding fails. - - * keyboard.c (lispy_mouse_names): Variable removed. - (Vlispy_mouse_stem): New variable. - (syms_of_keyboard): Initialize Vlispy_mouse_stem. - (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort - for any mouse button number. Increase size of mouse_syms and - button_down_location as needed. Call modify_event_symbol with - different arguments. - (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]: - Call modify_event_symbol with different arguments. - (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort - for any button number. Call modify_event_symbol with different - arguments. - (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM. - Accept a string for NAME_ALIST_OR_STEM. - - * lisp.h (larger_vector): Add prototype. - - * fns.c (larger_vector): Make externally visible. - - * termhooks.h (NUM_MOUSE_BUTTONS): Removed. - -2000-04-02 Stefan Monnier <monnier@cs.yale.edu> - - * regex.c (PTR_TO_OFFSET) [!emacs]: Remove. - (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros. - (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when - we are between str1 and str2. - (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default. - (PATFETCH): Use `TRANSLATE'. - (PATFETCH_RAW): Fetch multibyte char if applicable. - (PATUNFETCH): Remove. - (regex_compile): Rely on PATFETCH to do most of the multibyte magic. - When writing a char, write it directly into the pattern buffer rather - than going needlessly through a temp char-array. - (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the - multibyte magic and remove the useless `#ifdef emacs'. - (bcmp_translate): Don't compare as multibyte chars when in a unibyte - buffer. - - * regex.h (struct re_pattern_buffer): Make field `multibyte' - conditional on `emacs'. - - * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c. - -2000-04-01 Ken Raeburn <raeburn@gnu.org> - - * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand - non-union-type versions of XMARK and friends here, because XMARK - and friends won't work on an integer field if NO_UNION_TYPE is not - defined. - (make_number): Define as a function if it's not defined as a macro. - - * composite.c (run_composite_function): Use NILP when checking for nil. - (syms_of_composite): Delete local var NARGS, pass an int as first - argument to Fmake_hash_table. - - * editfns.c (text_property_stickiness): Use NILP to test - Lisp_Object boolean value. - (Fmessage_or_box): Don't use NILP to test int variable. - (Fformat): Use a temporary variable to avoid ENABLE_CHECKING - problems reading from and changing the same lisp value in an - XSETSTRING call. - -2000-04-01 Gerd Moellmann <gerd@gnu.org> - - * term.c (TN_no_color_video): New variable. - (term_init): Intitialize TN_no_color_video. - (enum no_color_bit): New enumeration. - (MAY_USE_WITH_COLORS_P): New macro. - (turn_on_face): Use it to determine if attributes may be used - combined with colors. - -2000-04-01 Ken Raeburn <raeburn@gnu.org> - - * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues - with int lvalues via casts; instead, just yield lisp object lvalues. - (enlarge_window): Variable sizep now points to Lisp_Object. Use - proper accessor macros. - (shrink_window_lowest_first): w->top is Lisp_Object; use XINT. - (grow_mini_window): Fix typo getting int value of root->height. - - * xdisp.c (compute_string_pos): Fix order of arguments to - string_pos_nchars_ahead. - (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as - count arg to variable-arg routines like Frun_hook_with_args and - Fformat. - (back_to_previous_visible_line_start) - (build_desired_tool_bar_string): Pass Lisp_Object, not int, to - fixed-arg routines like Fget_char_property and Fmake_string. - (reconsider_clip_changes): Use XINT when comparing integer lisp - objects, or passing them as int arguments. - (mark_window_display_accurate, insert_left_trunc_glyphs) - (append_space, extend_face_to_end_of_line): Use make_number when - storing or passing integer values as lisp objects. - (set_cursor_from_row, highlight_trailing_whitespace): Use - INTEGERP, not implicit test against zero, for glyph object. - (try_window_id): Don't use make_number when we want an int value. - - * xfaces.c (xlfd_symbolic_value): Make last argument a - Lisp_Object, to be consistent with callers. - (Fbitmap_spec_p): Use XINT to get numeric value of height. - (lface_hash): Apply XFASTINT to lisp values before folding in. - - * xfns.c (Fx_show_tip): Use make_number to get lisp objects to - fill in window width and height. Pass an int, not a lisp object, - as first arg to Finsert. - -2000-04-01 Gerd Moellmann <gerd@gnu.org> - - * xfaces.c (realize_basic_faces): Block input while realizing - the faces. - - * keyboard.c (lispy_mouse_names): Add additional mouse names. - - * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15. - -2000-03-31 Gerd Moellmann <gerd@gnu.org> - - * xterm.c (x_produce_glyphs): When displaying unibyte text - or ASCII, handle case that per-char metric is null. - -2000-03-30 Ken Raeburn <raeburn@gnu.org> - - * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef. - - * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW) - (XSUBR, XBUFFER): Verify correct object type before returning - pointer, using eassert. - * frame.h (XFRAME): Likewise. - - * buffer.c (Frename_buffer, Fset_buffer_multibyte) - (swap_out_buffer_local_variables, Fmove_overlay): Don't apply - XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type. - * data.c (set_internal): Likewise. - * dispextern.h (WINDOW_WANTS_MODELINE_P) - (WINDOW_WANTS_HEADER_LINE_P): Likewise. - * fileio.c (auto_save_1): Likewise. - * insdel.c (check_markers): Likewise. - * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise. - * undo.c (record_insert): Likewise. - * vmsproc.c (child_sig): Likewise. - * window.c (unshow_buffer, window_loop): Likewise. - * xterm.c (x_erase_phys_cursor): Likewise. - -2000-03-30 Gerd Moellmann <gerd@gnu.org> - - * xfns.c (free_image_cache): Free the cache structure itself - last, after all its members have been freed. - - * lisp.h (xstrdup): Add prototype. - - * alloc.c (xstrdup): Moved here from xfaces.c. - (allocating_for_lisp): Variable removed. - (lisp_malloc): Block input around the calls to malloc and mem_insert. - - * xfaces.c (realize_tty_face): Use find_symbol_value instead - of Fsymbol_value. - (xstrdup): Moved to alloc.c. - -2000-03-29 Ken Raeburn <raeburn@gnu.org> - - * scroll.c (CHECK_BOUNDS): Renamed from CHECK. - - * emacs.c (main): Fix sense of no-loadup test. - - * config.in (ENABLE_CHECKING): Undef. - - * lisp.h (struct interval): Replace "parent" field with a union of - interval pointer and Lisp_Object; add new bitfield to use as - discriminant. Change other flag fields to bitfields. - (CHECK): New macro for consistency checking. If ENABLE_CHECKING - is defined and the supplied test fails, print a message and abort. - (eassert): New macro. Use CHECK to provide an assert-like facility. - - * intervals.h (NULL_INTERVAL_P): Now applies only to real interval - pointers; abort if the value looks like a lisp object. - (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT) - (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT): - Modify for new interval parent definition. - - * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE) - (UNMARK_BALANCE_INTERVALS): Update references that need an - addressable lisp object in the interval structure. - (die): New function. - (suppress_checking): New variable. - - * intervals.c (interval_start_pos): Just return 0 if there's no - parent object. - -2000-03-29 Gerd Moellmann <gerd@gnu.org> - - * lread.c (read1): Accept `.' (period) as symbol start like in CL - and earlier Emacs versions. - - * keyboard.c (Ftop_level): Cancel busy-cursor. - - * eval.c (call_debugger): Cancel busy-cursor. - -2000-03-29 Kenichi Handa <handa@etl.go.jp> - - * search.c (Freplace_match): Adjust multibyteness of the current - buffer and NEWTEXT. Free allocated memory before signaling an error. - -2000-03-28 Stefan Monnier <monnier@cs.yale.edu> - - * regex.c (analyse_first): New function obtained by ripping out most - of re_compile_fastmap and generalizing it a little bit so that it - can also just return whether a given (sub)pattern can match the empty - string or not. - (regex_compile): Use `analyse_first' to decide whether the loop-check - needs to be done or not for *, +, *? and +? (the loop check is costly - for non-greedy repetition). - (re_compile_fastmap): Delegate the actual work to `analyse_first'. - -2000-03-28 Dave Love <fx@gnu.org> - - * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha. - - * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__. - -2000-03-27 Stefan Monnier <monnier@cs.yale.edu> - - * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as - an expression. - (enum re_opcode_t): Update description of succeed_n. - (PATFETCH): Always define. - (regex_compile): Use lookahead rather than PATUNFETCH (for repetition - operators, char classes, shy-groups and intervals). - Optimize special cases of intervals so as to only use succeed_n and - jump_n when really needed. - (re_compile_fastmap): Simplify handling of jump_n and succeed_n now - that we don't have to handle the special cases any more. - Simplify on_failure_jump handling as well. - -2000-03-28 Jason Rumney <jasonr@gnu.org> - - * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT. - -2000-03-27 Gerd Moellmann <gerd@gnu.org> - - * s/freebsd.h (GC_SETJMP_WORKS): Define. - - * s/msdos.h (GC_SETJMP_WORKS): Define. - - * alloc.c (mark_maybe_object): New function. - (mark_memory): Use it. - (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros. - (setjmp_tested_p, longjmp_done): New variables. - (test_setjmp): New function. - (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp. - (init_alloc): Initialize setjmp_tested_p and longjmp_done. - - * xdisp.c (face_before_or_after_it_pos): Pass multibyteness - to DEC_TEXT_POS and INC_TEXT_POS. - - * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS - with parameter MULTIBYTE_P. - - * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P. - - * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte - buffers because it looks for multibyte character byte sequences - which don't exist in unibyte text. - - * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes. - - * xfaces.c (register_color, unregister_color, unregister_colors) - [DEBUG_X_COLORS]: New functions. - (x_free_colors) [DEBUG_X_COLORS]: Unregister colors. - - * xfns.c (x_set_cursor_color): Get color reference counts right. - - * xterm.c (x_copy_color): New function. - (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color. - - * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS. - (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET. - (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX. - (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P. - (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P. - (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX. - (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE. - (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE. - (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL. - (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE. - - * category.c, data.c, syntax.c, print.c, lread.c: Use new macro - names for handling per-buffer variables. - - * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS - instead of MAX_BUFFER_LOCAL_VARS. - (last_per_buffer_idx): Renamed from max_buffer_local_idx. - - * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P. - - * xfns.c (x_specified_cursor_type): New function. - (x_set_cursor_type): Use it. - - * buffer.h (struct buffer): Add cursor_type. - -2000-03-26 Stefan Monnier <monnier@cs.yale.edu> - - * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop. - (print_partial_compiled_pattern, re_compile_fastmap): - Handle new opcode. - (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops. - (re_match_2_internal): Add code for on_failure_jump_nastyloop when - executing it as well as when popping it off the stack to find infinite - loops in non-greedy repetition operators. - -2000-03-26 Gerd Moellmann <gerd@gnu.org> - - * doc.c (Qfunction_documentation): New variable. - (syms_of_doc): Initialize Qfunction_documentation. - (Fdocumentation): If FUNCTION is a symbol with non-nil - `function-documentation' property, return a documentation derived - from that. - - * buffer.c (syms_of_buffer): Add default-cursor-type. - (init_buffer_once): Don't let cursor_type have a local value - in every buffer. - - * xterm.c (x_display_and_set_cursor): Choose cursor depending - on buffer-local value of cursor_type. - (x_draw_bar_cursor): Add parameter WIDTH. - - * buffer.c (reset_buffer): Initialize buffer's cursor_type. - (init_buffer_once): Set default cursor_type value to t. - Mark cursor_type as local everywhere. - (syms_of_buffer): New per-buffer variable cursor-type. - - * buffer.h (struct buffer): Remove member local_var_flags, - add local_flags. - (MAX_BUFFER_LOCAL_VARS): New macro. - (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX) - (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P) - (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE) - (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros. - - * print.c (print_object): Use new macros for per-buffer variables. - - * category.c (Fset_category_table): Use new macros for per-buffer - variables. - - * buffer.c (buffer_permanent_local_flags): Make a char array. - (max_buffer_local_idx): New variable. - (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten - for new handling of per-buffer variables. - (buffer_slot_type_mismatch): Use new macros for per-buffer vars. - (init_buffer_once): Initialize per-buffer vars differently. - Set max_buffer_local_idx. - - * syntax.c (Fset_syntax_table): Use new macros for per-buffer - variables. - - * lread.c (defvar_per_buffer): Use new macros for per-buffer variables. - - * data.c (do_symval_forwarding, store_symval_forwarding) - (find_symbol_value, set_internal, default_value, Fset_default) - (Fkill_local_variable, Flocal_variable_p): Use new macros for - per-buffer variables. - - * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'. - -2000-03-24 Gerd Moellmann <gerd@gnu.org> - - * xterm.c (x_term_init): Unblock input around call1 of - Qvendor_specific_keysyms. - - * syntax.c (open_paren_in_column_0_is_defun_start): New variable. - (find_defun_start): Consider an open parenthesis in column 0 - a defun start only if open_paren_in_column_0_is_defun_start is set. - (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start. - -2000-03-24 Stefan Monnier <monnier@cs.yale.edu> - - * eval.c (Fautoload): Add entry in load-history (if after dump). - * lread.c (load-history): Update docstring. - -2000-03-24 Gerd Moellmann <gerd@gnu.org> - - * indent.c (Fvertical_motion): Always use the current buffer. - Temporarily change the window's buffer, if necessary. - -2000-03-23 Gerd Moellmann <gerd@gnu.org> - - * xterm.c (fast_find_position): Make sure not to consider rows - not visible in the window. - -2000-03-22 Stefan Monnier <monnier@cs.yale.edu> - - * regex.c (enum syntaxcode): Provide default for non-Emacs. - (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix. - -2000-03-22 Jason Rumney <jasonr@gnu.org> - - * w32menu.c (single_submenu): Set help string to NULL if none. - (w32_menu_show): Set help string correctly. - (add-menu-item): Set help string in MIIM_DATA for menu item. - Load SetMenuItemInfoA explicitly. - (w32_menu_display_help): New function. - - * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message. - (QCdata): Moved to xdisp.c. - - * w32term.c (w32_read_socket): Handle WM_MENUSELECT message. - (Vw32_charset_to_codepage_alist): Removed. - (Vw32_charset_info_alist): New variable. - (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312) - (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic) - (greek, hebrew, thai, johab, mac, unicode]): New symbols. - (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace - with TODO comment. - (w32_codepage_for_font): Use Vw32_charset_info_alist. - (syms_of_w32term): Remove Vw32_charset_to_codepage_alist. - Define Vw32_charset_info_alist and w32_charset symbols. - -2000-03-22 Jason Rumney <jasonr@gnu.org> - - * makefile.nt (w32bdf.obj): Update dependencies. - - * w32bdf.c: Include frame.h and dispextern.h before fontset.h. - - * w32fns.c: Include fontset.h after dispextern.h. - (Fx_create_frame): Do not create fontset. - (w32_load_system_font): Doc fix. - (Fx_close_connection): Free full_name if it is not shared. - - * w32term.c: Include fontset.h after dispextern.h. - (x_get_glyph_face_and_encoding): New parameter two_byte_p. - Callers updated. - (w32_per_char_metric): If PCM is invalid, delete and return NULL. - (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id. - (w32_font_is_double_byte): New function, needs body. - (x_append_glyph): Set glyph->glyph_not_available_p. - (x_produce_glyphs): Set it->glyph_not_available_p. Don't set - it->charset. If it->multibyte_p is zero and it->c is a multibyte - character, convert it to a unibyte character. - (struct glyph_string): Delete member `charset'. - (W32_TEXTOUT): Temporarily remove charset_dim until another way of - calculating it is found. - (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle - the case that per char metric is not available correctly. - (x_fill_glyph_string): Handle the case that the specific glyph is - not available correctly. - (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset. - (BUILD_COMPOSITE_GLYPH_STRING): Likewise. - (x_new_font): Call FS_LOAD_FONT, not fs_load_font. - (x_new_fontset): Call fontset_ascii to get ASCII font name of the - fontset. Don't call FS_LOAD_FONT. - -2000-03-22 Ken Raeburn <raeburn@gnu.org> - - * intervals.h (NULL_INTERVAL): Cast to INTERVAL type. - (INT_LISPLIKE): New macro. - (NULL_INTERVAL_P): Use it. - (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT) - (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT) - (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros. - - * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all - explicit references to "parent" field of struct interval and - associated unclean type conversions. - * intervals.c (create_root_interval, root_interval, rotate_right) - (rotate_left, balance_possible_root_interval, split_interval_right) - (split_interval_left, interval_start_pos, find_interval) - (next_interval, previous_interval, update_interval) - (adjust_intervals_for_insertion, delete_node, delete_interval) - (adjust_intervals_for_deletion, merge_interval_right) - (merge_interval_left, reproduce_tree, graft_intervals_into_buffer) - (copy_intervals_to_string): Likewise. - * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL): - Likewise. - * syntax.c (update_syntax_table): Likewise. - - * intervals.c (reproduce_tree_obj): New function, like - reproduce_tree but takes a Lisp_Object for the parent. Declare - with prototype. - (graft_intervals_into_buffer): Use it when appropriate. - (reproduce_tree): Declare with prototype. - (balance_possible_root_interval): Check that the parent is a lisp - object before trying to examine its type. - -2000-03-22 Gerd Moellmann <gerd@gnu.org> - - * xfaces.c (lface_same_font_attributes_p): Compare font attributes - as strings only if both are known to be strings. - - * s/openbsd.h (LIBS_TERMCAP): Undef. - -2000-03-21 Stefan Monnier <monnier@cs.yale.edu> - - * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default - definitions for non-Emacs compilation. - (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec - outside of `#ifdef emacs'. - (print_partial_compiled_pattern): Update. - (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar. - (re_compile_fastmap): Merge handling of charset and charset_not (for - emacs and non-emacs compilation as well). - Similarly for (not)categoryspec and (not)syntaxspec. - Don't use the fastmap when reaching `anychar' since the added - complexity is not justified. - (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs) - and (not)syntaxspec. Merge (not)categoryspec. - -2000-03-22 Kenichi Handa <handa@etl.go.jp> - - * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P) - (FACE_FOR_CHAR): Define them differently for the configuration of - --without-x. - -2000-03-21 Dave Love <fx@gnu.org> - - * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in - doc string. - -2000-03-21 Gerd Moellmann <gerd@gnu.org> - - * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error. - (lface_fully_specified_p): Don't check contents of - LFACE_FONT_INDEX because that attribute is optional. - (realize_x_face): Remove now unwarranted xassert. - -2000-03-21 Kenichi HANDA <handa@etl.go.jp> - - The following changes are to make font selection based on - characters, not charset. In addition, they recover fontset - facilities while utilizing the new font selection mechanism. - - * Makefile.in (fontset.o): Depend on dispextern.h. - - * alloc.c (mark_face_cache): Don't mark face->registry. - - * dispextern.h (struct glyph): New member glyph_not_available_p. - Use 22 bits for face_id. - (enum lface_attribute_index): Add LFACE_FONT_INDEX. - (struct face): Delete member registry, new member ascii_face. - (FACE_SUITABLE_FOR_CHAR_P): Renamed from - FACE_SUITABLE_FOR_CHARSET_P. Caller changed. - (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed. - (struct it): Delete member charset, new member glyph_not_available_p. - - * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed. - (struct fontset_info, struct fontset_data): Structs removed. - (allloc_fontset_data, free_fontset_data, fs_regiser_fontset) - (Vglobale_fontset_alist, font_idx_temp): Externs removed. - (fs_load_font, fs_query_fontset): Adjusted for new argument. - (fs_free_face_fontset, fontset_font_pattern) - (face_suitable_for_char_p, face_for_char) - (make_fontset_for_ascii_face): Extern them. - (FS_LOAD_FONT): Adjusted for the change of fontset implementation. - (FS_LOAD_FACE_FONT): New macro. - - * fontset.c: All codes rewritten or adjusted for the change of - fontset implementation. Now fontset is represented by char table. - (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl): - Variables removed. - (my_strcasecmp): Function removed. - (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables. - (AREF, ASIZE): New macros. - (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME) - (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF) - (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros. - (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset) - (fontset_id_valid_p, font_family_registry, fontset_name) - (fontset_ascii, free_face_fontset, face_suitable_for_char_p) - (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern): - New functions. - (fs_load_font): New arg FACE. Caller changed. - (fs_query_fontset): Argument changed. Caller changed. - (Fquery_fontset): call fs_query_fontset. - (fs_register_fontset, alloc_fontset_data, free_fontset_data): - Functions removed. - (clear_fontset_elements, check_registry_encoding) - (check_fontset_name): New functions. - (syms_of_fontset): Set char-table-extra-slots property of fontset - to 3. Staticpro and initialize Vfontset_table and - Vdefault_fontset. Defsubr fontset_font and fontset_list. - - * frame.h (struct frame): Member `fontset_data' removed. - (FRAME_FONTSET_DATA): Macro removed. - - * frame.c (make_frame): Don't allocate f->fontset_data. - (Fdelete_frame): Don't free f->fontset_data. - - * msdos.c (XMenuActivate): Args to lookup_derived_face changed. - - * xdisp.c (charset_at_position): Function removed. - (init_iterator): Don't set member charset of struct `it'. - (handle_face_prop, reseat_to_string, set_iterator_to_next) - (next_element_from_display_vector, insert_left_trunc_glyphs): - Likewise. - (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not - FACE_FOR_CHARSET. - (get_next_display_element, append_space) - (extend_face_to_end_of_line): Likewise. - - * xfaces.c (Qx_charset_registry, Vface_default_registry): - Variables removed. - (clear_font_table, frame_update_line_height, load_face_font): - Adjusted for the change of fontset implementation. - (load_face_fontset_font): Function removed. - (pixel_point_size): New function. - (font_list): Argument type changed. Caller changed. - (LFACE_FONT): New macro. - (check_lface_attrs): Check attr[LFACE_FONT_INDEX]. - (set_lface_from_font_name): Type of arg FONTNAME is changed to - Lisp_Object. Determine the font name by actually loading a font - by the specified pattern. Set LFACE_FONT (lface) to the specified - pattern. Even if a font is not found, don't try alternatives. - (Finternal_set_lisp_face_attribute): Handle `font' slot in lface. - (set_font_frame_param): If `font' is specified in lface, use it. - (Finternal_get_lisp_face_attribute): Handle `font' slot in lface. - (lface_same_font_attributes_p): Likewise. - (make_realized_face): Arguent changed. Caller changed. Set - face->ascii_face to face itself. - (free_realized_face): Free face->fontset if face is for ASCII. - (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p) - (deduce_unibyte_registry, x_charset_registry): Functions removed. - (free_realized_multibyte_face): New function. - (lookup_face, lookup_named_face, lookup_derived_face): Argument - changed. Caller changed. - (try_font_list): Argument type changed. - (face_fontset): Check `font' slot of ATTRS, not `family' slot. - (choose_face_font): Argument changed. Handle fontset properly. - (choose_face_fontset_font): Function removed. - (realize_default_face, realize_named_face): Don't remove the - former face here. - (realize_face): Argument changed. Caller changed. Remove face - with the arg former_face_id in advance. Load font for the new face. - (realize_x_face): Argument changed. Caller changed. For a - multibyte character, share fontset with base_face. For a single - byte character, make a new realized fontset. Don't load a font here. - (realize_tty_face): Argument changed. Caller changed. - (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET. - (face_at_buffer_position): Don't check multibyte_p for returning - DEFAULT_FACE_ID. - (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not - FACE_SUITABLE_FOR_CHARSET_P. - (syms_of_xfaces): Remove code for Qx_charset_registry and - Vface_default_registry. - - * xterm.c: Include fontset.h after dispextern.h. Undo the changes - related to PER_CHAR_METRIC done by Gerd on 2000-03-03. - (x_per_char_metric): Don't try FONT->default_char. Even if - pcm->width is zero, glyph bits may exist. - (x_encode_char): Always initialize char2b->byte1. - (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id. - (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed. - (x_append_glyph): Set glyph->glyph_not_available_p. - (x_produce_glyphs): Set it->glyph_not_available_p. Don't set - it->charset. Handle the case that per char metric is not - available. If it->multibyte_p is zero and it->c is a multibyte - character, convert it to a unibyte character. - (struct glyph_string): Delete member `charset'. - (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle - the case that per char metric is not available correctly. - (x_fill_glyph_string): Handle the case that the specific glyph is - not available correctly. - (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset. - (BUILD_COMPOSITE_GLYPH_STRING): Likewise. - (x_new_font): Call FS_LOAD_FONT, not fs_load_font. - (x_new_fontset): Call fontset_ascii to get ASCII font name of the - fontset. Don't call FS_LOAD_FONT. - - * xfns.c (Fx_create_frame): Don't cal fs_register_fontset. - (x_create_tip_frame): Likewise. - (Fx_close_connection): Free full_name of font_info. - - * fns.c (optimize_sub_char_table): New function. - (Foptimize_char_table): New function. - (syms_of_fns): Defsubr Soptimize_char_table. - -2000-03-20 Gerd Moellmann <gerd@gnu.org> - - * buffer.c (Fset_buffer_modified_p): Set update_mode_lines - only if buffer is displayed in some window. - - * xdisp.c (handle_single_display_prop): Initialize local `value'. - (try_window_reusing_current_matrix): Don't call scroll run - function if run's current and desired position are the same; - this prevents cursor flickering. - -2000-03-19 Stefan Monnier <monnier@cs.yale.edu> - - * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c. - - * regex.c (RE_STRING_CHAR): New macro. - (GET_CHAR_AFER_2): Remove. - (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h. - (enum re_opcode_t): Remove on_failure_jump_exclusive. - (print_partial_compiled_pattern, re_compile_fastmap) - (re_match_2_internal): Remove on_failure_jump_exclusive. - (regex_compile): Turn optimizable P+ loops into PP*, so that the - optimization only need to work for * (ie. can use of_keep_string_jump). - Remove the special case for .*\n since it is now covered by the general - optimization. - (re_search_2): Don't bother with `room'. - (skip_one_char): New function. - (skip_noops): Simplify since `memory' is not needed any more. - (mutually_exclusive_p): Restructure slightly to use `switch' and - add handling for "all" remaining cases. - (re_match_2_internal): Change on_failure_jump_smart to use - on_failure_keep_string_jump (and redirect the end-of-loop jump) - rather than on_failure_jump_exclusive. - -2000-03-19 Gerd Moellmann <gerd@gnu.org> - - * xfns.c (select_visual): Don't set dpyinfo->n_planes to the - number of bits per RGB because it's everywhere used as the depth - of the visual. - - * term.c (calculate_costs): Remove code dealing with X frames. - -2000-03-19 Richard M. Stallman <rms@gnu.org> - - * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte. - -2000-03-18 Gerd Moellmann <gerd@gnu.org> - - * lread.c (read_integer): Unread the last char not consumed. - -2000-03-17 Gerd Moellmann <gerd@gnu.org> - - * xterm.c (x_update_window_cursor): Don't update in frames - which are in the process of being deleted. - -2000-03-16 Gerd Moellmann <gerd@gnu.org> - - * Makefile.in (mostlyclean): Add `*.core'. - (clean): Add `bootstrap-emacs'. - - * lread.c (read_integer): New function. - (read1): Support read syntax #o, #x, #b, #r. - -2000-03-15 Stefan Monnier <monnier@cs.yale.edu> - - * regex.c (re_match_2): Fix string shortening (to fit `stop') to - make sure POINTER_TO_OFFSET gives the same value before and after - PREFETCH. Use `dfail' to guarantee "atomic" matching. - (PTR_TO_OFFSET): Use POINTER_TO_OFFSET. - (debug): Now only active if > 0 rather than if != 0. - (DEBUG_*): Update for the new meaning of `debug'. - (print_partial_compiled_pattern): Add missing `succeed' case. Use - CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs - in `succeed_n', `jump_n' and `set_number_at'. - (store_op1, store_op2, insert_op1, insert_op2) - (at_begline_loc_p, at_endline_loc_p): Add prototype. - (group_in_compile_stack): Move to after its arg's types are - declared and add a prototype. - (PATFETCH): Define in terms of PATFETCH_RAW. - (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper. - (QUIT): Redefine as a nop except for NTemacs. - (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix - indentation of the greedy-op and shy-group code. - (at_(beg|end)line_loc_p): Fix argument's types. - (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc. - (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation. - (MATCHING_IN_FIRST_STRING): Remove. - (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr - to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use - QUIT unconditionally. - -2000-03-15 Gerd Moellmann <gerd@gnu.org> - - * minibuf.c (Fminibuffer_complete): Set point to ZV if finding - a sole completion. - - * process.c (send_process): Add a hint that the function - can call Lisp code to its comment. - - * lread.c (load_dangerous_libraries): New variable. - (Vbytecomp_version_regexp): New variable. - (safe_to_load_p): New function. - (Fload): Handle files not compiled with Emacs specially. - (syms_of_lread): New Lisp variable load-dangerous-libraries. - -2000-03-14 Gerd Moellmann <gerd@gnu.org> - - * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon. - - * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM - support functions only if HAVE_X11R6_XIM is defined. - (xim_instantiate_callback): Define only if HAVE_X11R6_XIM. - - * s/sol2.h (INHIBIT_X11R6_XIM): Define. - - * xfns.c (X_I18N_INHIBITED): Don't define. - (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED. - (x_kill_gs_process, x_window): Use FRAME_X_VISUAL. - - * config.in (HAVE_X_I18N): Moved here from xterm.h. - (HAVE_X11R6_XIM): Define. - - * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in. - - * xterm.c (x_term_init): Add support for X resource `synchronous'. - If set, call XSynchronize. - -2000-03-13 Stefan Monnier <monnier@cs.yale.edu> - - * regex.c: Declare a new type `re_char' used throughout the code - for the string char type. It's `const unsigned char' to match the - rest of Emacs. Consistently make sure all pointers to strings use - it and make sure all pointers into the pattern use `unsigned char'. - (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of - GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce - code duplication. - - * charset.h (GET_CHAR_AFTER_2): Remove. - (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else. - -2000-03-12 Ken Raeburn <raeburn@gnu.org> - - * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary - variable before the invocation of YMF_PASS_LDFLAGS, in case both - of them try to use backquotes. - -2000-03-12 Dave Love <fx@gnu.org> - - * unexelf.c: Restore changes of 1999-10-19. - (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise - fix its type and alignment; copy it from current process. - -2000-03-12 Gerd Moellmann <gerd@gnu.org> - - * atimer.c (cancel_atimer): Break out of the loop as soon as timer - has been found. Fix bug not computing timer's predecessor. - - * fileio.c (Fread_file_name): Handle case that DIR contains a - file name. - - * window.c (Fsave_window_excursion): Doc fix. - - * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color. - -2000-03-12 Eli Zaretskii <eliz@is.elta.co.il> - - * msdos.c (vga_installed): New function, code moved from - dos_set_window_size. - (Qbar, Qcursor_type, outside_cursor): New variables. - (syms_of_msdos): Intern and staticpro them. - (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor - shape used outside Emacs when called for the first time. - (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the - cursor shape used outside Emacs. - (msdos_set_cursor_shape, IT_set_cursor_type): New functions. - (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor - type has changed. - (IT_set_frame_parameters): Call IT_set_cursor_type if the frame - parameters specify the cursor. Make qreverse a global - variable (renamed to Qreverse). - -2000-03-09 Gerd Moellmann <gerd@gnu.org> - - * fns.c (Fy_or_n_p): Cancel busy-cursor. - -2000-03-08 Stefan Monnier <monnier@cs.yale.edu> - - This is a big redesign of failure-stack and register handling, prompted - by bugs revealed when trying to add shy-groups. Overall, what happened - is that loops are now structured a little differently, groups can be - shy and the code is a little simpler. - - * regex.h: Update the copyright. - (RE_SHY_GROUPS): New value. - (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber. - (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS. - - * regex.c (enum re_opcode_t): Remove jump_past_alt, - maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add - on_failure_jump_(exclusive, loop and smart). Also fix the comment - for (start|stop)_memory since they now only take one argument (the - second has becomes unnecessary). - (print_partial_compiled_pattern): Adjust for changes in re_opcode_t. - (print_compiled_pattern): Use %ld to printf long ints and flush to - make debugging a little easier. - (union fail_stack_elt): Make the integer unsigned. - (struct fail_stack_type): Add a `frame' element. - (INIT_FAIL_STACK): Init `frame' as well. - (POP_PATTERN_OP): New macro for re_compile_fastmap. - (DEBUG_PUSH, DEBUG_POP): Remove. - (NUM_REG_ITEMS): Remove. - (NUM_NONREG_ITEMS): Adjust. - (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE) - (TOP_FAILURE_HANDLE): New macros for the cycle detection. - (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT). - (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP): - New macros. - (PUSH_FAILURE_POINT): Don't push registers any more. The pattern - address pushed is not the destination of the jump but the source - of it instead. - (NUM_FAILURE_ITEMS): Remove. - (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop - registers before the actual failure point). Don't hardcode any - meaning for str==NULL anymore. - (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE) - (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED): - Remove. - (REG_UNSET_VALUE): Use NULL (why not?). - (compile_range): Remove declaration since it doesn't exist. - (struct compile_stack_elt_t): Remove inner_group_offset. - (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove. - (regex_grow_registers): Remove dead code. - (FIXUP_ALT_JUMP): New macro. - (regex_compile): Add shy-groups Change loops to use - on_failure_jump_smart&jump instead of - on_failure_jump&maybe_pop_jump. Change + loops to eliminate the - initial (dummy_failure_)jump. Remove c1_base (looks like unused - variable to me). Use `jump' instead of `jump_past_alt' and don't - bother with push_dummy_failure in alternatives since it is now - unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef - emacs' for (re)allocating the stack. - (re_compile_fastmap): Remove dead variables i and num_regs. Exit - from loop when bufp->can_be_null rather than jumping to `done'. - Avoid jumping backwards so as to ensure termination. Use - PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of - backreferences. Remove dead code in handling of `anychar'. - (skip_noops, mutually_exclusive_p): New functions taken from the - handling of `maybe_pop_jump' in re_match_2_internal. Slightly - improve mutually_exclusive_p to handle ".+\n". - (lowest_active_reg, highest_active_reg) - (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove. - (re_match_2_internal): Use %p instead of 0x%x when printf'ing - ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead - variables. Push register (in `start_memory') on the stack rather - than storing it in old_reg(start|end). Remove the cycle detection - from `stop_memory', replaced by the use of on_failure_jump_loop - for greedy loops. Add code for the new on_failure_jump_<foo>. - Remove ad-hoc code in `on_failure_jump' to push more registers in - the case of a loop. Take out code from `maybe_pop_jump' into - separate functions and adapt it to the semantics of - `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump - and push_dummy_failure. Remove dummy_failure handling and - handling of `failures to jump to on_failure_jump' (this last one - was already dead code, it seems). - (group_match_null_string_p, alt_match_null_string_p) - (common_op_match_null_string_p): Remove. - -2000-03-08 Dave Love <fx@gnu.org> - - * config.in: Don't depend on __STDC__ for volatile. - Add POINTER_TYPE, PTR, PROTOTYPES. - - * hftctl.c, strftime.c: Use PROTOTYPES. - * eval.c (find_handler_clause): Likewise. - - * mem-limits.h: Use POINTER_TYPE. - - * lisp.h (P_): Define based on PROTOTYPES, not __STDC__. - (memory_warnings): Declare using POINTER_TYPE. - -2000-03-08 Gerd Moellmann <gerd@gnu.org> - - * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor. - - * xdisp.c (display_echo_area): Temporarily inhibit garbage collection. - - * xfns.c: Remove obsolete code in #if 0. - (Fx_focus_frame): New function. - -2000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp> - - * coding.c (coding_category_name): Add coding-category-utf-8, - coding-category-utf-16-be, coding-category-utf-16-le. - (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P, - UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P, - UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros. - (detect_coding_utf_8): New function. - (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P - UTF_16_LOW_SURROGATE_P): New macros. - (detect_coding_utf_16): New function - (detect_coding_mask): When priorities are specified, skip any - categories that have `nil' coding-system. Fix bug of returning - wrong mask when PRIORITIES is specified and detect_coding_XXX() - returns a mask not set in PRIORITIES. - (detect_eol_type_in_2_octet_form): New function. - (detect_eol): selects detect_eol_type_XXX to call according to - cooding->category_idx. - (detect_coding_system): Remove `nil' coding-system in the result. - (Fupdate_coding_systems_internal): Update all coding-categories. - - * coding.h (CODING_CATEGORY_IDX_UTF_8) - (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE): - New macros. - (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY) - (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros. - (CODING_CATEGORY_IDX_UTF_16_LE) - (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE) - (CODING_CATEGORY_MASK_UTF_16_LE): New macros. - (CODING_CATEGORY_MASK_ANY): Include the above macros. - (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro. - -2000-03-07 Gerd Moellmann <gerd@gnu.org> - - * doc.c (Fdocumentation_property): If value is not a string, - and doesn't refer to etc/DOC, evaluate it to obtain a string. - - * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to - close the display with XtCloseDisplay. This caused a bus error - on OpenWindows. - - * minibuf.c (Fminibuffer_complete): Move point to ZV when input is - complete but not unique. - -2000-03-06 Gerd Moellmann <gerd@gnu.org> - - * process.c (send_process): Remove local variable `procname' that - might become invalid when a GC happens. Instead, access the - process name slot directly. - - * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and - orig_height if set. - - * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and - orig_height if set. - -2000-03-06 Eli Zaretskii <eliz@is.elta.co.il> - - * msdos.c (IT_note_mouse_highlight): Return immediately if frame's - glyph matrices have been freed. - -2000-03-05 Gerd Moellmann <gerd@gnu.org> - - * Makefile.in (tags): Include ../lwlib/TAGS in TAGS. - (bootstrap-temacs): Set LC_ALL to C like for temacs. - - * xfns.c (QCdata): Moved to xdisp.c. - - * xdisp.c (QCdata): Moved here from xfns.c. - (syms_of_xdisp): Initialize QCdata. - - * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define. - - * window.c (coordinates_in_window): Use - FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of - FRAME_INTERNAL_BORDER_WIDTH. - - * xdisp.c (try_window_id): Recompute unchanged information if - it is obviously invalid. - - * xterm.c (x_term_init): Create a colormap if not using the - default visual. - - * xterm.h (select_visual): Change prototype. - - * xfns.c (select_visual): Rewritten. Recognize user-specified - visual classes. - (visual_classes): New variable. - -2000-03-04 Gerd Moellmann <gerd@gnu.org> - - * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color) - (lookup_pixel_color, x_laplace, x_build_heuristic_mask) - (png_load): Access colormap of frame using FRAME_X_COLORMAP. - (x_decode_color): Don't handle allocation of white and black specially. - (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and - XtNcolormap resources. - (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow. - (Fx_create_frame): Initialize color members of x_output structure. - (xpm_load): Pass colormap to XPM lib. - - * xfaces.c (x_free_colors): Access colormap of frame using - FRAME_X_COLORMAP. Be paranoid about freeing black and white - when default colormap is used. - - * xterm.c (x_term_init): Set Colormap member of x_display_info - structure. Copy colormap if resource `privateColormap' is - specified (PseudoColor only). - (x_setup_relief_color): Access colormap of frame using - FRAME_X_COLORMAP. - - * xterm.h (struct x_display_info): Add Colormap member `cmap'. - (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros. - -2000-03-04 Jason Rumney <jasonr@gnu.org> - - * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or - other non-platform-specific equivalents. - [WINDOWSNT]: Include w32term.h, fontset.h and define X - specific functions and macros as their w32 equivalents where - non-platform-specifics are not available. - [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM. - (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions. - (clear_font_table) [WINDOWSNT]: Call w32_unload_font. - (frame_update_line_height): Use macros to access f->output_data. - (defined_color): Remove FIXME comments; fixed. - (x_face_list_fonts, prepare_face_for_display): Put X specifics - into #ifdef blocks. Add WINDOWSNT blocks. - (Fx_list_fonts): Use macros for accessing font data. - (set_lface_from_font_name): Different default fonts for X and - WINDOWSNT. - (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as - scalable for backward compatibility. - (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT. - (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default. - - * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of - syms_of_w32faces. - - * makefile.nt (w32faces.obj): Remove. - (xfaces.obj): Add. - -2000-03-03 Jason Rumney <jasonr@gnu.org> - - * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with - correct parameters. - -2000-03-03 Ken Raeburn <raeburn@gnu.org> - - * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide - standard ELF definitions here if the system header does not. - -2000-03-03 Gerd Moellmann <gerd@gnu.org> - - * xterm.c (PER_CHAR_METRIC): Removed. - (x_per_char_metric_1, x_default_char): New functions. - (x_per_char_metric): If font's default char is invalid, return - metrics of a suitably chosen usable default char. - (x_draw_glyph_string_foreground): If font has an invalid default - char, replace occurrences of unprintable chars with a suitably - chosen usable default char. - -2000-03-02 Gerd Moellmann <gerd@gnu.org> - - * xterm.c (note_mouse_highlight): Return quickly if frame's - glyph matrices have been freed. - - * dispnew.c (free_glyphs): Block input while freeing matrices. - - * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors. - - * xterm.c (x_alloc_lighter_color, x_setup_relief_color): - Use x_free_colors. - - * dispextern.h (x_free_colors): Add prototype. - - * xfaces.c (x_free_colors): New function. - (unload_color, free_face_colors): Use it. - -2000-03-02 Eli Zaretskii <eliz@is.elta.co.il> - - * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero. - - * window.c [MSDOS]: Include msdos.h. - -2000-03-02 Dave Love <fx@gnu.org> - - * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH. - - * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't - set C_OPTIMIZE_SWITCH for gcc. - -2000-03-02 Kenichi Handa <handa@etl.go.jp> - - * coding.c (coding_save_composition): Be sure to allocate - composition data area in coding even if there's no composition in - the current run. - -2000-03-01 Jason Rumney <jasonr@gnu.org> - - * w32term.c: Equivalent changes to those made to xterm.c on - 2000-02-25 and 2000-02-24. - - * w32fns.c: Equivalent changes to those made to xfns.c on - 2000-02-25 and 2000-02-21. - - * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure - correct line-end convention is followed. - - * w32menu.c [HAVE_BOXES]: Remove #undef. - (single_keymap_panes): Remove code for simulating checkmarks. - (single_menu_item): Remove notbuttons_ptr argument. Callers changed. - Remove code for drawing simulated checkmarks. - (w32_menu_show): make unibyte help string correctly. - (add_menu_item): draw standard Windows checkmarks. Draw radio - buttons as radio buttons if possible. - -2000-03-01 Gerd Moellmann <gerd@gnu.org> - - * sysdep.c (start_of_text): Don't define this function for NetBSD - with ELF. - - * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]: - Don't define. - (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o. - (LINKER): Don't undef if __NetBSD__ is defined. - - * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define. - - * fileio.c [__NetBSD__]: Define `unix'. - - * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay. - -2000-02-29 Gerd Moellmann <gerd@gnu.org> - - * atimer.c (start_atimer): Don't abort when timers are stopped. - (append_atimer_lists): New function. - (cancel_atimer, stop_other_atimers, run_all_atimers): Handle - arbitrary lists of stopped and running atimers. - - * atimer.c (cancel_atimer): Handle canceling an atimer when - some timers are stopped. - - * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null - after canceling it. - - * fns.c (maybe_resize_hash_table): Handle case of new size - coming out as being the same as old size. - -2000-02-27 Jason Rumney <jasonr@gnu.org> - - * makefile.nt: Add atimer.h to dependencies. - * w32.c (init_environment): Set Vw32_num_mouse_buttons here. - * w32console.c: Only disable window system features for dispextern.h - (initialize_w32_display): Build a display info for the console. - * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17. - * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN, - WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice - as 2 button mice. - * w32gui.h (struct W32FontStruct): Revert last change after change - to xdisp.c. - * w32menu.c (single_submenu): Set up help string. - [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip. - (w32_dialog_show): Set up help string. - * w32term.c (w32_display_info_for_display): Remove unused function. - (w32_draw_bitmap): Use pre-built bitmaps. - (w32_initialize_display_info): New function to initialize parts of - display info that are common to both GUI and console frames. - (w32_term_init): Use w32_initialize_display_info. Do not set - Vw32_num_mouse_buttons here, as it is not called for console - frames. Build bitmaps for indicating truncated lines etc. - (x_delete_display): Destroy pre-built bitmaps. - * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro. - (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM. - -2000-02-27 Dave Love <fx@gnu.org> - - * lisp.h: Add a bunch of prototypes. - -2000-02-26 Kenichi Handa <handa@etl.go.jp> - - * keyboard.c (read_char): Set `usec' correctly. - -2000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp> - - * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is - `lambda', set reg[RRR] to the map index. - (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set - reg[RRR] to 0. Otherwise, set it to -1. - -2000-02-25 Gerd Moellmann <gerd@gnu.org> - - * emacs.c (main): Remove code snippet commented out with `//'. - -2000-02-25 Richard M. Stallman <rms@gnu.org> - - * fileio.c (Ffile_symlink_p): If result starts with a `/' - and contains a `:', prepend `/:'. - - * window.c (select_window_1): If selected_window is nil, - don't "swap out" the buffer's point. - (Fset_window_configuration): Set selected_window to nil - before calling Fselect_window. - (unshow_buffer): Don't set point in buffer from window's point - if another more recently selected window also shows the buffer. - -2000-02-25 Gerd Moellmann <gerd@gnu.org> - - * keyboard.c (recursive_edit_1): Cancel busy-cursor. - - * xfns.c (inhibit_busy_cursor, busy_count): Removed. - (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed. - (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay): - New variables. - (DEFAULT_BUSY_CURSOR_DELAY): New define. - (start_busy_cursor, cancel_busy_cursor, show_busy_cursor) - (hide_busy_cursor): New functions. - (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay. - - * minibuf.c (read_minibuf): Cancel busy-cursor. - - * keyboard.c (command_loop_1): Call start_busy_cursor before - Fcommand_execute and cancel_busy_cursor after it. - (timer_check): Remove busy-cursor code. - (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy - cursor timer. - - * process.c (wait_reading_process_input): Remove busy-cursor code. - - * eval.c (Fsignal): Call cancel_busy_cursor instead of - Fx_hide_busy_cursor. - - * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor): - Remove prototyoes. - (start_busy_cursor, cancel_busy_cursor): Add prototypes. - - * lisp.h (Fx_hide_busy_cursor): Remove prototype. - - * xterm.c (XTread_socket): Remove busy-cursor code. - - * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function. - (build_frame_matrix_from_leaf_window): Put code handling - glyph row's not being a slice of a frame row in #if 0. - (sync_window_with_frame_matrix_rows): New function. - (frame_row_to_window): New function. - (mirror_line_dance): Handle copies between windows. - - * lread.c (Fload): Use `xfree' instead of `free'. - (init_obarray): Use `xmalloc' instead of `malloc'. - - * window.c (Fset_window_buffer): Set WINDOW to the window - after decoding. - (coordinates_in_window): Take frame's internal border width - into account. - -2000-02-24 Gerd Moellmann <gerd@gnu.org> - - * xterm.c (x_display_and_set_cursor): Display cursor of - non-selected windows depending on the setting of - cursor_in_non_selected_windows. - - * xdisp.c (cursor_in_non_selected_windows): New variable. - (syms_of_xdisp): DEFVAR_BOOL it. - -2000-02-23 Gerd Moellmann <gerd@gnu.org> - - * data.c (Fstring_to_number): If number is greater than what - fits into an integer, return a float. - - * eval.c (specbind): Remove references to - keyword_symbols_constant_flag. - - * data.c (keyword_symbols_constant_flag): Removed. - (Fmakunbound, set_internal, syms_of_data): Remove references to - keyword_symbols_constant_flag. - - * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag. - -2000-02-23 Kenichi Handa <handa@etl.go.jp> - - * syntax.c (multibyte_syntax_as_symbol): New variable. - (syms_of_syntax): Declare it as a Lisp variable. - (SYNTAX_WITH_MULTIBYTE_CHECK): New macro. - (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are - nonzero, treat all multibyte characters as symbol. - (init_syntax_once): Give syntax `word' to all multibyte characters. - -2000-02-22 Eli Zaretskii <eliz@is.elta.co.il> - - * frame.c (Fdelete_frame): Don't let echo_area_window remain on - a deleted frame. - -2000-02-21 Gerd Moellmann <gerd@gnu.org> - - * frame.c (Fmouse_position): GCPRO retval instead of x and y. - - * xfns.c (x_window_to_frame, x_any_window_to_frame) - (x_non_menubar_window_to_frame): Check the busy-cursor window. - -2000-02-21 Dave Love <fx@gnu.org> - - * frame.c (Vmouse_position_function): New variable. - (Fmouse_position): Use it. - (syms_of_frame): Install it. - - * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'. - -2000-02-20 Gerd Moellmann <gerd@gnu.org> - - * fileio.c (Finsert_file_contents): Unbind the binding of - standard-output done by temp_output_buffer_setup. - - * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless - Vmocklisp_arguments is nil. Inline Fcar and Fcdr. - (specbind, unbind_to): Handle most common case of non-constant - symbol with trivial value specially. - - * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case. - -2000-02-20 Richard M. Stallman <rms@gnu.org> - - * data.c (Fmake_variable_buffer_local): Doc fix. - Init found_for_buffer to 0. - (Fmake_variable_frame_local): If the variable has already - been buffer-local, set the check_frame field. - -2000-02-20 Eli Zaretskii <eliz@is.elta.co.il> - - * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data - produced for CODING_MODE_LAST_BLOCK requires. - -2000-02-18 Dave Love <fx@gnu.org> - - * keyboard.c (echo_keystrokes): Remove declaration. - (Vecho_keystrokes) New variable. - (read_char, record_menu_key, read_key_sequence): Use it to allow - use of float value. - (syms_of_keyboard): Change Vecho_keystrokes declaration. - - * lread.c: Undef feature selection macros before defining. - -2000-02-18 Gerd Moellmann <gerd@gnu.org> - - * data.c (let_shadows_buffer_binding_p): Ignore specbindings - for symbols other than the symbol in question. - -2000-02-17 Dave Love <fx@gnu.org> - - * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization. - -2000-02-17 Gerd Moellmann <gerd@gnu.org> - - * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef. - - * alloc.c (enum mem_type): Compile unconditionally. - -2000-02-17 Eli Zaretskii <eliz@is.elta.co.il> - - * xfaces.c (tty_defined_color): Don't return faulire indication - for unspecified-fg and unspecified-bg pseudo-colors. - -2000-02-17 Gerd Moellmann <gerd@gnu.org> - - * alloc.c (mark_object): Don't mark symbol names in pure space. - (gc_sweep): Don't unmark symbol names in pure space. - - * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS) - (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES) - [GC_MARK_STACK]: New defines. - (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO) - [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops. - - * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base. - - * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use - allocate_buffer instead of xmalloc. - - * alloc.c (toplevel): Include setjmp.h. - (PURE_POINTER_P): New define. - (enum mem_type) [GC_MARK_STACK]: New enumeration. - (Vdead) [GC_MARK_STACK]: New variable. - (lisp_malloc): Add parameter TYPE, call mem_insert if - GC_MARK_STACK is defined. - (allocate_buffer): New function. - (lisp_free) [GC_MARK_STACK]: Call mem_delete. - (free_float) [GC_MARK_STACK]: Set type to Vdead. - (free_cons) [GC_MARK_STACK]: Set car to Vdead. - (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables. - (MEM_NIL) [GC_MARK_STACK]: New define. - (struct mem_node) [GC_MARK_STACK]: New structure. - (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup) - (mem_delete_fixup, mem_rotate_left, mem_rotate_right) - (live_string_p, live_cons_p, live_symbol_p, live_float_p) - (live_misc_p, live_vector_p, live_buffer_p, mark_memory) - (mark_stack) [GC_MARK_STACK]: New functions. - (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack. - (clear_marks): Removed. - (gc_sweep): Set free conses' car, free floats' type, free - symbols' function to Vdead. Use lisp_free to free buffers. - (init_alloc_once): Initialize Vdead. - (survives_gc_p): Return non-zero for pure objects. - - * alloc.c: Add comments throughout the file. - - * atimer.c (stop_other_atimers): Don't call cancel_atimer because - that unblocks alarms. - - * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c, - emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h, - Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'. - - * frame.c (make_frame): Set frame initiallly to `garbaged'. - -2000-02-17 Kenichi Handa <handa@etl.go.jp> - - * xdisp.c (decode_mode_spec_coding): Delete superfluous code to - avoid infinite error signaling. Allocate sufficient memory for - eol_str in the case that eoltype is Lisp_Int. - -2000-02-17 Stefan Monnier <monnier@cs.yale.edu> - - * syntax.c (Fforward_comment): Undo the previous change, since cc-mode - depends on the previous behavior. - -2000-02-16 Gerd Moellmann <gerd@gnu.org> - - * sysdep.c (vfork) [!HAVE_VFORK]: Removed. - -2000-02-15 Gerd Moellmann <gerd@gnu.org> - - * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define. - - * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]: - Workaround for FreeBSD bug. Clear output queue after EAGAIN in - write(2). - -2000-02-15 Richard M. Stallman <rms@gnu.org> - - * data.c (set_internal): Don't make variable buffer-local - if within a let-binding for the same buffer. - (let_shadows_buffer_binding_p): New function. - - * eval.c (specbind): For buffer-local value, - record the current buffer also. - (unbind_to): Cope with that change. - -2000-02-15 Gerd Moellmann <gerd@gnu.org> - - * window.c (Fsave_window_excursion): Doc fix. - -2000-02-15 Stefan Monnier <monnier@cs.yale.edu> - - * syntax.c (back_comment): Make sure we only consider comment-starters - of the relevant style and return -1 in case of a failure to find the - beginning of the comment. - (Fforward_comment): If back_comment fails, go back to the position just - after the comment-end. - (scan_lists): Add comment describing a very minor bug. - -2000-02-14 Stefan Monnier <monnier@cs.yale.edu> - - * minibuf.c (Ftry_completion, Fall_completions): Add a reference to - `completion-regexp-list' in the docstring. - -2000-02-14 Dave Love <fx@gnu.org> - - * xfaces.c (tty_defined_color): Declare color_idx unsigned long. - -2000-02-14 Stefan Monnier <monnier@cs.yale.edu> - - * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS - to Emacs' syntax. Also fix the comment about set/not-set meanings - since Emacs syntax is not the value 0 any more. - * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax - since it's now part of RE_SYNTAX_EMACS. - -2000-02-12 Dave Love <fx@gnu.org> - - * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha. - -2000-02-12 Gerd Moellmann <gerd@gnu.org> - - * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively. - -2000-02-12 Dave Love <fx@gnu.org> - - * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc. - - * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h: - * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h: - * s/hpux.h: Don't define HAVE_VFORK. - - * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST. - - * s/nextstep.h: Don't define HAVE_ALLOCA. - - * config.in: Add vfork bits. - -2000-02-12 Gerd Moellmann <gerd@gnu.org> - - * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register - unwind function to undo the effect of stopping atimers. - - * keyboard.c (bind_polling_period): Stop all timers except poll_timer. - - * atimer.c (stopped_atimers): New variable. - (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers): - New functions. - - * atimer.h (stop_other_atimers, run_all_atimers) - (unwind_stop_other_atimers): Add function prototypes. - - * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined. - -2000-02-11 Ken Raeburn <raeburn@gnu.org> - - * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff - library may depend on jpeg. - (atimer.o): Depends on atimer.c. - -2000-02-11 Kenichi Handa <handa@etl.go.jp> - - * insdel.c (del_range_1): Call update_compositions. - (del_range_both): Call update_compositions just once.. - -2000-02-10 Dave Love <fx@gnu.org> - - * xfns.c (create_frame_xic): Fix initialization of automatic - aggregates for pcc. - -2000-02-09 Kenichi Handa <handa@etl.go.jp> - - * ccl.c (CCL_MAKE_CHAR): New macro. - (ccl_driver) <CCL_TranslateCharacter>: Check the validity of - registers by CCL_MAKE_CHAR before calling translate_char. - <CCL_TranslateCharacterConstTbl> Likewise. - -2000-02-08 Dave Love <fx@gnu.org> - - * lread.c (__EXTENSIONS__): Define. - -2000-02-08 Gerd Moellmann <gerd@gnu.org> - - * puresize.h (BASE_PURESIZE): Increase to 650000. - -2000-02-07 Eli Zaretskii <eliz@is.elta.co.il> - - * msdos.c (XMenuActivate): Turn off the cursor after displaying - the help message. - -2000-02-07 Eli Zaretskii <eliz@is.elta.co.il> - - * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue, - md, mh, mb, mr, and me to the fake termcap entry. - -2000-02-06 Ken Raeburn <raeburn@gnu.org> - - * sound.c (sound_cleanup): Don't call device close routine if the - function pointer is null. - -2000-02-06 Andrew Innes <andrewi@gnu.org> - - * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM, - around image definitions and prototypes. - (gamma_correct) [WINDOWSNT]: New prototype. - - * w32term.c (x_make_frame_visible): Replace call to - input_poll_signal with poll_for_input. - - * window.c [WINDOWSNT]: Include w32term.h. - - * xdisp.c [WINDOWSNT]: Include w32term.h. - - * makefile.nt: Add dependencies on w32gui.h. - (OBJ1): Include atimer.obj. - ($(BLD)\atimer.obj): New dependency rule. - - * w32.c (sigmask): New function (does nothing). - (sigunblock): Ditto. - - * frame.c [WINDOWSNT]: Include w32term.h. - - * w32gui.h (struct W32FontStruct): Add ascent and descent slots. - - * lread.c (syms_of_lread): Fix literal newlines. - - * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around - the string constant limit (2048 bytes) in MSVC. - (main): Ditto. - -2000-02-05 INOUE Seiichiro <inoue@ainet.or.jp> - - * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area. - (x_display_cursor) [HAVE_X_I18N]: Don't set it here. - (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't - dispatch the event. - -2000-02-04 Dave Love <fx@gnu.org> - - * fileio.c: Remove some unused vars. - (_GNU_SOURCE): Define (for euidaccess). - - * lread.c (_XOPEN_SOURCE): Declare (for ftello). - - * minibuf.c (read_minibuf_noninteractive): Remove undeclared - gcpro1, gcpro2. - (read_minibuf): Deal with allow_props correctly. - -2000-02-03 Eli Zaretskii <eliz@is.elta.co.il> - - * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000. - -2000-02-03 Ken Raeburn <raeburn@gnu.org> - - * search.c (compile_pattern): If a cache entry has a nil regexp, - fill in that entry instead of clobbering a previously cached - string regexp. - -2000-02-02 Ken Raeburn <raeburn@gnu.org> - - * puresize.h (BASE_PURESIZE): Increase to 610000. - -2000-02-02 Gerd Moellmann <gerd@gnu.org> - - * frame.c (Fframe_parameters): Add GCPRO because tty_color_name - can GC. - -2000-02-02 Kenichi Handa <handa@etl.go.jp> - - * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address - instead of incrementing ic directly. - <CCL_WriteExprConst> Likewise. - <ccl_set_expr>: Set ic to jump_address. - - * fileio.c (e_write): Fix the handling of - CODING_FINISH_INSUFFICIENT_SRC. - -2000-02-01 Dave Love <fx@gnu.org> - - * editfns.c (Fpropertize): Doc fix. - - * process.c (Fstart_process): Doc fix. - - * eval.c: Fix various doc strings not to duplicate information - from help-manyarg-func-alist. - - * window.c (Fset_window_margins): Don't make interactive. Doc fix. - - * doc.c (Vhelp_manyarg_func_alist): New variable. - (Fdocumentation): Use it. - (syms_of_doc): Define it. - -2000-01-31 Gerd Moellmann <gerd@gnu.org> - - * xterm.c (xim_open_dpy): Remove unused local variable. - - * emacs.c (USAGE): Use term `display options' instead of `X options'. - - * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function. - (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it. - - * fns.c (sweep_weak_table): New function. - (sweep_weak_hash_tables): Use it. Keep on marking until there - is no more change. - -2000-01-30 Gerd Moellmann <gerd@gnu.org> - - * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure - that XTread_socket does not crash by trying to call XNoOp on a - closed display. - -2000-01-30 Jason Rumney <jasonr@gnu.org> - - * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to): - Change selected_frame to SELECTED_FRAME (). - (w32_console_mouse_position): Remove #ifndef MULE from around - `insist' parameter. - - * makefile.nt: Remove dosfns.obj. - - * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors. - - * w32fns.c (w32_defined_color): Check for valid frame before - applying gamma correction. Eliminate dependency on frame elsewhere. - (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH. - (w32_to_x_font): Use resx and resy not height_in and width_in. - (x_to_w32_font): Doc fix. - (xlfd_strip_height): New function to strip and return font height. - (w32_font_match): Compare height separately from rest of xlfd - spec, using xlfd_strip_height. - - * w32term.c (w32_term_init): Swap resx and height_in, resy and - width_in. Use w32_defined_color in place of defined_color. - - * w32faces.c: Merge more of DOS and X specifics in preparation for - merge with xfaces.c. - (defined_color): Remove FIXME comment. - (tty_color_name): Provide w32-specific function. - (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially. - - * w32console.c (turn_on_face, turn_off_face): Removed. - (w32_face_attributes): New function. - (Global_variables): Reduce scope where possible. - (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as - fill attribute. - (hl_mode): Don't modify text attributes. - (write_glyphs): Don't do anything if len <= 0. Use - w32_face_attributes to get attributes for drawing. Write - terminating codes using char_attr_normal. - (reset_terminal_modes, set_terminal_modes): Turn off highlight. - (update_begin, update_end): Likewise. - (vga_stdcolor_name): New function. - (initialize_w32_display): Remove char_attr_reverse and char_attr. - (Fset_screen_color): Remove char_attr_reverse. - -2000-01-29 Gerd Moellmann <gerd@gnu.org> - - * xfns.c (xic_set_preeditarea): Take window parameter and - window-relative pixel-positions. - - * xterm.c (x_display_cursor): Set XIC pre-edit area only if window - is its frame's selected window. - (xim_instantiate_callback): Likewise. - - * xfns.c (x_create_im): Removed. - (DEFAULT_STYLE, DEFAULT_FONT): Removed. - (supported_xim_styles): Renamed from supported_styles. - (best_xim_style): Renamed from best_style. - (create_frame_xic): Renamed from xic_create_frame. - (free_frame_xic): Renamed from xic_destroy_frame. - -2000-01-29 INOUE Seiichiro <inoue@ainet.or.jp> - - * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of - our frames, call XFilterEvent with 2nd parameter `None'. - (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString - returning XBufferOverflow. - (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area. - (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area. - (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset. - (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback) - (xim_initialize, xim_close) - [HAVE_X_I18N && HAVE_X11R6]: New functions. - (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame. - (x_term_init) [HAVE_X_I18N]: Call xim_initialize. - (x_delete_display) [HAVE_X_I18N]: Call xim_close. - - * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim' - and `xim_styles'. - (struct x_output) [HAVE_X_I18N]: Remove member `xim', add - `xic_style' and `xic_xfs'. - (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES) - (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros. - (FRAME_XIM): Removed. - - * xfns.c (supported_styles): New variable. - (DEFAULT_STYLE, DEFAULT_FONT): New macros - (xic_create_xfontset, best_style, xic_create_frame) - (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea) - (xic_set_xfontset): New functions. - -2000-01-28 Dave Love <fx@gnu.org> - - * s/irix6-5.h: Revert last change after change to irix5-0.h. - - * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0. - -2000-01-28 Gerd Moellmann <gerd@gnu.org> - - * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode - for *scratch* if it already existed. - - * emacs.c (USAGE): New macro. - (main): Use it to display usage information. - -2000-01-27 Eli Zaretskii <eliz@is.elta.co.il> - - Support for the menu-help feature: - - * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate. - - * msdos.c (IT_clear_end_of_line): Print the extent of the cleared - part of the line to the termscript file. - (IT_clear_to_end): Clear the entire line, not just its beginning. - (menu_help_message, prev_menu_help_message): New variables. - (IT_menu_make_room): Make room for the help_text member. - (IT_menu_display): New argument disp_help; all callers changed. - If disp_help is non-zero, store the help text of the active menu - item in menu_help_message. - (XMenuAddPane): Initialize the help_text member to NULL. - (XMenuAddSelection): New argument help_text. Store it in the - XMenu structure. - (XMenuActivate): New argument help_callback. If the value of - menu_help_message has changed since the last time, display the - menu help message text while waiting for the mouse to move. Clear - the echo area before exiting. - (XMenuDestroy): Free the help_text member. - -2000-01-27 Gerd Moellmann <gerd@gnu.org> - - * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to - XMenuAddSelection. Pass help callback to XMenuActivate. - (menu_help_callback) [!USE_X_TOOLKIT]: New function. - -2000-01-27 Eli Zaretskii <eliz@is.elta.co.il> - - * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS - and EMACS_SET_USECS. - -2000-01-26 Dave Love <fx@gnu.org> - - * editfns.c (Fchar_after, Fchar_before): Doc fix. - - * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where - an error may be signalled. - -2000-01-26 Gerd Moellmann <gerd@gnu.org> - - * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef - LD_SWITCH_SYSTEM inherited from irix5-0.h. - - * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo. - -2000-01-25 Gerd Moellmann <gerd@gnu.org> - - * charset.c (Fstring): If there is a multibyte char among - the args, always return a multibyte string. - -2000-01-25 Gerd Moellmann <gerd@gnu.org> - - * sysdep.c (sys_select): Turn atimers off and on instead of - recording and restoring old alarm handler - - * process.c (toplevel): Include atimer.h. - (create_process_1): Rewritten. - (create_process): Use atimers instead of alarm. - (wait_reading_process_input) [hpux]: Turn atimers off instead - of turning off SIGALRM. - (wait_reading_process_input): Turn off atimers instead off - calling stop_polling. - - * emacs.c (main): Call init_atimer. - - * keyboard.c (toplevel): Include systime.h and atimer.h. - (polling_for_input): Removed because unused. - (input_poll_signal) [POLL_FOR_INPUT]: Removed. - (poll_timer): New variable. - (poll_for_input, poll_for_input_1): New functions. - (start_polling, stop_polling): Rewritten. - - * keyboard.h (polling_for_input): Removed. - - * atimer.h, atimer.c: New files. - - * Makefile.in (obj): Add atimer.o. - (atimer.o): New target. - - * blockinput.h (pending_atimers): Add extern declaration. - (UNBLOCK_INPUT): Rewritten. Handle pending atimers. - - * lisp.h (popup_activated_flag): Add extern declaration. - - * xmenu.c (popup_activated_flag): Make externally visible. - (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag. - (popup_deactivate_callback) [USE_MOTIF]: Decrement it. - - * xterm.c (toplevel): Include atimer.h. - (toolkit_scroll_bar_interaction): New variable. - (Fxt_process_timeouts): Removed. - (x_process_timeouts): New function. - (xt_action_hook): Clear toolkit_scroll_bar_interaction. - (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction. - (x_make_frame_visible): Call poll_for_input_1 instead of - input_poll_signal. Don't call alarm. - (x_initialize): Install timer calling x_process_timeouts. - -2000-01-24 Dave Love <fx@gnu.org> - - * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now. - Don't use -cckr -- apparently not now necessary. - -2000-01-24 Eli Zaretskii <eliz@is.elta.co.il> - - * msdos.c (IT_menu_display): Truncate long menu lines at the right - screen boundary. - -2000-01-23 Jason Rumney <jasonr@gnu.org> - - * w32fns.c (w32_defined_color): Apply gamma correction before - trying to map to the palette. - (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame - to w32_clear_rect. - - * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc - here. Callers changed to always pass real device context. - (w32_draw_bitmap): Likewise. - (w32_get_glyph_overhangs): Likewise. - (w32_draw_box_rect): Make use of s->hdc rather than getting a new one. - (w32_set_vertical_scroll_bar): Pass correct HWND parameters to - pfnSetScrollInfo and SetScrollRange. - (x_get_char_face_and_encoding): Don't turn iso8859-1 characters - back into MULE characters after decoding them. - (x_get_glyph_face_and_encoding): Likewise. - (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when - GetCharABCWidthsW fails, since this is defined on Windows 9x. - (x_produce_glyphs): Calculate per char metrics for a character - that we know exists in default font when font_not_found_p is true. - -2000-01-22 Jason Rumney <jasonr@gnu.org> - - * makefile.nt (intervals.obj, composite.obj): New modules. - (composite.h): Added as dependency where appropriate. - - * w32gui.h (XGCValue): New struct for emulating X GCs. - - * w32term.h (XCharStruct): New struct for emulating X. - - * w32console.c (turn_on_face, turn_off_face): New functions. - (change_line_highlight): New prototype for new redisplay. - (write_glyphs): Support multibyte text. Support faces. - - * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c. - - * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame - throughout. struct frame * in place of FRAME_PTR. - Skeleton support for images, toolbars, tooltips from xfns.c. - (Fx_create_frame): Use system default for default scroll bar width. - (w32_get_arg): Renamed from x_get_arg. - (Fx_file_dialog): New function. - (w32_list_fonts): Check cache before asking system. - (Vw32_enable_synthesized_fonts): New variable. - (Vw32_enable_italics): Obsolete, removed. - - * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to): - Use SELECTED_FRAME macro. - - * w32menu.c: Add skeleton support for help strings on menus. - (add_menu_item): Native checkbox and radio support added, but not - yet enabled due to bugs. - (push_menu_item): Add parameters type, selection and help. - Callers updated. - Formatting changes to reduce unnecessary diffs with xmenu.c. - - * w32select.c (Fw32_set_clipboard_data): Update call to - find_charset_in_str. - - * w32term.c: Complete rewrite for new redisplay based on new - xterm.c with necessary sections merged back in from old w32term.c. - -2000-01-21 Richard M. Stallman <rms@gnu.org> - - * data.c (set_internal): Further fix in same criterion. - -2000-01-20 Richard M. Stallman <rms@gnu.org> - - * data.c (set_internal): Fix the criteria for whether - to swap out the old cached binding. - -2000-01-19 Dave Love <fx@gnu.org> - - * lread.c: (syms_of_lread) [user-init-file]: Doc change. - -2000-01-18 Kenichi Handa <handa@etl.go.jp> - - * regex.c (re_compile_fastmap): While checking a range table for - `charset', skip flag bits for a character class correctly. - -2000-01-17 Gerd Moellmann <gerd@gnu.org> - - * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC. - - * xfns.c (x_window): Call lw_create_widget with new parameter list. - - * widget.c (EmacsFrameSetCharSize): Change size of children first - because of problems with main window geometry management under Lesstif. - - * xmenu.c (enum menu_item_idx): New enumeration replacing defines - MENU_ITEMS_ITEM_.*. - (MENU_ITEMS_ITEM_HELP): New enumerator. - (push_menu_item): Add parameter HELP. Record help in menu_items. - (single_menu_item, single_submenu, list_of_items): Call - push_menu_item with new parameter. - (single_submenu): Set help string in widget value. - (menu_highlight_callback): New function. - (set_frame_menubar): Call lw_create_widget with new - parameter list. - (xmenu_show, xdialog_show): Ditto. - -2000-01-13 Gerd Moellmann <gerd@gnu.org> - - * sound.c (Fplay_sound): Improve doc string. - -2000-01-11 Richard M. Stallman <rms@gnu.org> - - * lisp.h (set_internal): Enter the new arg. - - * eval.c (specbind): Record buffer-local variables specially, - indicating which buffer's binding was saved. - (unbind_to): Restore buffer-local variables specially - in the proper buffer. - - * data.c (set_internal): New arg BUF. - - * eval.c (specbind, unbind_to): Pass new arg to set_internal. - * data.c (Fset): Pass new arg to set_internal. - * bytecode.c (Fbyte_code): Pass new arg to set_internal. - -2000-01-11 Gerd Moellmann <gerd@gnu.org> - - * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym. - -2000-01-11 Richard M. Stallman <rms@gnu.org> - - * minibuf.c (Ftry_completion): Doc fix. - -2000-01-11 Gerd Moellmann <gerd@gnu.org> - - * keyboard.c (Fclear_this_command_keys): Clear recent_keys - vector, too. - -2000-01-11 Andreas Schwab <schwab@suse.de> - - * coding.c (code_convert_region): Initialize total_skip. - -2000-01-08 Dave Love <fx@gnu.org> - - * eval.c (Fuser_variable_p): Check customizability too. - -2000-01-07 Gerd Moellmann <gerd@gnu.org> - - * minibuf.c (Fcompleting_read): Doc fix. - -2000-01-05 Gerd Moellmann <gerd@gnu.org> - - * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and - -L /usr/local/lib. - - * xfns.c (x_create_im): New function to set IM and IC of a frame. - Check that input style is supported before trying to create an - IC for it. - (x_window): Call x_create_im. - -2000-01-04 Gerd Moellmann <gerd@gnu.org> - - * xfns.c (current_gif_memory_src): New variable. - (gif_load): Record the address of the current memory source - in current_gif_memory_src. - (gif_read_from_memory): Use current_gif_memory_src. - - * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give - macros statement form. - - * sound.c (struct sound): Renamed from struct sound_file. - (struct sound): Add members `data' and `header_size'. - (enum sound_attr): Add SOUND_DATA. - (current_sound, current_sound_device): Variables renamed from - sound_file and sound_device. - (parse_sound): Parse :data. - (parse_sound): Handle sound data in strings. - (find_sound_type): Function renamed from find_sound_file_type. - (wav_init, au_init): Fail if sound's header_size is smaller than - needed header size. - (wav_play, au_play): Play sounds from string data. - - * puresize.h (BASE_PURE_SIZE): Increase to 600000. - - * lisp.h: Add prototype for allocate_string_data. - - * alloc.c (Fgarbage_collect): Return number of live and free strings. - - * alloc.c (mark_buffer): Remove code in #if 0. - (gc_sweep): Ditto. - (UNMARK_BALANCE_INTERVALS): Give the macro statement form. - (strings_consed): New variable. - (allocate_string): Set it. - (syms_of_alloc): Add DEFVAR_INT for strings_consed. - (Fmemory_use_counts): Return strings_consed. Use Flist. - - * alloc.c: General cleanup in comments etc. Remove conditional - compilation for `standalone'. - - * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'. - - * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): - (GC_STRING_BYTES, GC_STRING_CHARS): New macros. - (DONT_COPY_FLAG): Removed. - (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros. - (struct sdata, struct sblock): New - (struct string_block): Rewritten. - (STRINGS_IN_STRING_BLOCK): New macro. - (oldest_sblock, current_sblock, total_strings, total_free_strings) - (large_sblocks, string_blocks, string_free_list): New variables. - (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros. - (init_strings): Rewritten. - (allocate_string, allocate_string_data, compact_small_strings) - (free_large_strings, sweep_strings): New functions. - (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE) - (struct string_block_head, current_string_block) - (first_string_block, large_string_blocks, STRING_FULLSIZE) - (STRING_PAD): Removed. - (make_uninit_multibyte_string, make_pure_string): Rewritten. - (Fgarbage_collect): Don't set mark bit in large strings. - (mark_object): Mark strings differently. Mark symbol names - differently. - (survives_gc_p): Test marked strings differently. - (gc_sweep): Sweep strings differently, unmark strings in - symbol names. - (compact_strings): Removed. - -2000-01-04 Eli Zaretskii <eliz@is.elta.co.il> - - * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and - Scolor_supported_p even if HAVE_X_WINDOWS is not defined. - -2000-01-04 Kenichi Handa <handa@etl.go.jp> - - * fileio.c (Finsert_file_contents): Signal error if visiting file - in a non-empty buffer. - - * term.c (encode_terminal_code): Fix the previous change. - -2000-01-03 Gerd Moellmann <gerd@gnu.org> - - * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to - Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p. - - * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU. - -2000-01-03 Eli Zaretskii <eliz@is.elta.co.il> - - * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No - need to test for MSDOS frames. - -2000-01-03 Eli Zaretskii <eliz@is.elta.co.il> - - * dosfns.c (unspecified_colors): Remove. - (msdos_stdcolor_idx): Use global variables unspecified_fg and - unspecified_bg. - (msdos_stdcolor_name): Return strings for unspecified fore- and - back-ground colors. - - * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove. - (syms_of_xfaces): Remove their staticpro's. - (tty_color_name): Return Lisp strings for unspecified fore- and - back-ground colors. - (Finternal_set_lisp_face_attribute): Remove the special treatment - for Qunspecified_{f,b}g. - (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string. - -2000-01-03 Gerd Moellmann <gerd@gnu.org> - - * xdisp.c (reseat_at_next_visible_line_start): Position before - newline only if ending up on a newline. - (next_element_from_ellipsis): Return success. Handle case of - displaying no ellipsis. Fix case of ellipsis defined in display table. - (next_element_from_buffer): Return 0 if next_element_from_ellipsis - returns 0. - -2000-01-03 Eli Zaretskii <eliz@is.elta.co.il> - - * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p. - (Fcolor_supported_p): Renamed from face-color-supported-p. - -2000-01-02 Eli Zaretskii <eliz@is.elta.co.il> - - * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The - list of colors renamed to tty-defined-color-alist. - (tty_color_name): Pass the frame to tty-color-by-index. - (realize_tty_face): tty-color-alist is now a function which - accepts the frame as argument. - - * term.c (Ftty_display_color_p): Accept an optional argument FRAME. - -2000-01-02 Eli Zaretskii <eliz@is.elta.co.il> - - * term.c (insert_glyphs): Pass glyph, not &glyph, to - encode_terminal_code. - -2000-01-02 Eli Zaretskii <eliz@is.elta.co.il> - - * dispnew.c (mode_line_string): Support termcap frames as well. - -2000-01-01 Gerd Moellmann <gerd@gnu.org> - - * syntax.c (Fforward_word): Undo previous change. - - * editfns.c (Fconstrain_to_field): Don't constrain if - inhibit-field-text-motion is non-nil. - (Fline_beginning_position): Undo previous change. - (Fline_end_position): Ditto. - - * syntax.c (Fforward_word): Notice field boundaries only if - inhibit-field-text-motion is nil. - - * lisp.h: Add extern declaration for Vinhibit_field_text_motion. - - * editfns.c (Vinhibit_field_text_motion): New variable. - (inhibit-field-text-motion): New DEFVAR_LISP. - (Fline_beginning_position, Fline_end_position): Notice field - boundaries only if inhibit-field-text-motion is nil. - - * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE. - All calls adjusted. - (x_build_heuristic_mask): Likewise. - (xbm_load_image_from_file): Change error output. - (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load) - (gif_load, gs_load, x_kill_gs_process): Ditto. - - * xfns.c (gif_load): Avoid sign extension and thus out of bounds - color indices when accessing raster pixels. - (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only - one of :file or :data. - (enum pbm_keyword_index): Add PBM_DATA. - (pbm_format): Add :data. - (pbm_image_p): Allow either :file or :data. - (pbm_read_file): New function. - (pbm_scan_number): Rewritten to read from string. - (pbm_load): Support :data. - -See ChangeLog.8 for earlier changes. +See ChangeLog.9 for earlier changes. ;; Local Variables: ;; coding: iso-2022-7bit ;; End: - Copyright (C) 2001 Free Software Foundation, Inc. + Copyright (C) 2001, 2002 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted provided the copyright notice and this notice are preserved.
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/ChangeLog.9 Sat Mar 09 09:30:18 2002 +0000 @@ -0,0 +1,13299 @@ +2001-10-20 Gerd Moellmann <gerd@gnu.org> + + * (Version 21.1 released.) + +2001-10-20 Pavel Jan,Bm(Bk <Pavel@Janik.cz> + + * xfns.c (x_laplace_read_row, x_laplace_write_row): Prototypes removed. + + * xdisp.c (invisible_text_between_p): Put prototype inside #if + 0 because unused. + + * bytecode.c, callint.c, callproc.c, casefiddle.c, casetab.c + * category.c, ccl.c, charset.c, process.c, syntax.c, window.c: + Change doc-string comments to `new style' [w/`doc:' keyword]. + +2001-10-20 Miles Bader <miles@gnu.org> + + The following changes remove the glyph_row `inverse_p' field, + which is never set anymore, due to other changes: + + * dispextern.h (struct glyph_row): Remove `inverse_p' field. + (reassert_line_highlight, change_line_highlight): Declarations removed. + * dispnew.c (update_frame_line): Don't call reassert_line_highlight. + (line_hash_code, row_equal_p, fake_current_matrices) + (build_frame_matrix_from_leaf_window, update_frame_line) + (update_frame_line, update_frame_line, update_frame_line): + Don't use `inverse_p' field. + * xterm.c (x_initialize): Don't set reassert_line_highlight_hook or + change_line_highlight_hook. + (XTreassert_line_highlight, x_change_line_highlight): + Functions removed. + (x_fix_overlapping_area, x_write_glyphs, expose_area) + (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field. + * xdisp.c (dump_glyph_row, display_mode_line): Don't use + `inverse_p' field. + * w32term.c (x_fix_overlapping_area, x_write_glyphs, expose_area) + (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field. + (w32_reassert_line_highlight, x_change_line_highlight): + Functions removed. + * w32console.c (reassert_line_highlight, change_line_highlight): + Functions removed. + (initialize_w32_display): Don't set reassert_line_highlight_hook + or change_line_highlight_hook. + (hl_mode): Function removed. + (reset_terminal_modes, set_terminal_modes, update_begin) + (update_end, w32_face_attributes, initialize_w32_display): + (clear_frame, ins_del_lines): Don't call it. + * termhooks.h (reassert_line_highlight_hook) + (change_line_highlight_hook): Declarations removed. + * term.c (reassert_line_highlight_hook) + (change_line_highlight_hook): Variables removed. + (reassert_line_highlight, change_line_highlight): Functions removed. + * msdos.c (IT_reassert_line_highlight) + (IT_change_line_highlight): Functions removed. + (internal_terminal_init): Don't set reassert_line_highlight_hook + or change_line_highlight_hook. + (highlight): Variable removed. + (IT_set_face, IT_update_begin, IT_update_end) + (IT_set_terminal_modes): Don't set or use it. + + The following changes remove inverse-video support for terminals + that use a `magic cookie' standout mode. Due to changes in the + way mode-lines are displayed, such support no longer works + anyway, and it's probable that almost no one uses such terminals + anymore: + + * term.c (standout_requested): Variable removed. + (update_end, highlight_if_desired): Don't use it. + (chars_wasted, copybuf): Variables removed. + (write_standout_marker): Function removed. + (cursor_to, clear_to_end, clear_frame, clear_end_of_line_raw) + (clear_end_of_line_raw, write_glyphs, ins_del_lines): + Don't use `chars_wasted' or `copybuf'. + (calculate_costs): Don't allocate `chars_wasted' or `copybuf'. + Set `costs_set' to true. + (cursor_to, clear_end_of_line): Test `costs_set' instead of + `chars_wasted'. + (clear_end_of_line): Function removed. + (clear_end_of_line_raw): Renamed to `clear_end_of_line'. + (clear_to_end): Call `clear_end_of_line' instead of + `clear_end_of_line_raw'. + (TN_standout_width, TF_xs, TN_magic_cookie_glitch_ul): Vars removed. + (term_init): Don't set them. + Turn off any standout/underline modes that require magic cookies. + (ins_del_lines, highlight_if_desired, background_highlight) + (turn_on_highlight, turn_off_highlight, reset_terminal_modes): + Remove special processing for magic-cookie standout modes. + (turn_off_face, turn_on_face): Remove special processing for + underline magic-cookie glitch. + +2001-10-19 Richard M. Stallman <rms@gnu.org> + + * eval.c (syms_of_eval): Doc fixes. + +2001-10-19 Gerd Moellmann <gerd@gnu.org> + + * xdisp.c (redisplay_internal): Don't clear echo area if the + mini-window is selected. + +2001-10-19 Miles Bader <miles@gnu.org> + + * editfns.c (text_property_stickiness): Non-rear-non-stickiness + doesn't take precedence if the affected property's value is nil. + + * editfns.c (Fencode_time): Escape a BOL paren in the doc-string. + + * 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-18 Stefan Monnier <monnier@cs.yale.edu> + + * keymap.c (current_minor_maps): `override' only shadows its + correspondent in minor-mode-map-alist, not the whole tail. + +2001-10-18 Andrew Innes <andrewi@gnu.org> + + * 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. + +2001-10-18 Gerd Moellmann <gerd@gnu.org> + + * xdisp.c (display_line): Indicate empty lines in active mini-window. + +2001-10-17 Andrew Innes <andrewi@gnu.org> + + * fontset.h (struct font_info) [WINDOWSNT]: Add codepage field. + + * w32fns.c (w32_load_system_font): Cache codepage for font, in + font_info.charset field. + + * 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-17 Andrew Innes <andrewi@gnu.org> + + * 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 <gerd@gnu.org> + + * 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 (try_window_id): Remove code that was only there + for the release of 21.1. + + * xdisp.c (display_line): Don't indicate empty lines in mini-windows. + +2001-10-17 Miles Bader <miles@gnu.org> + + * lisp.h (DEFUN): Remove `DOC_STRINGS_IN_COMMENTS' case. + * xmenu.c, xdisp.c, term.c, dispnew.c, abbrev.c, editfns.c, buffer.c + * xfns.c, alloc.c, minibuf.c, xterm.c, xfaces.c: + Change doc-string comments to `new style' [w/`doc:' keyword]. + (DOC_STRINGS_IN_COMMENTS): Macro removed. + * minibuf.c: Remove old commented-out-DEFUN that was used to fake + out make-docfile. + +2001-10-16 Miles Bader <miles@gnu.org> + + * fns.c: Change doc-string comments to `new style' [w/`doc:' keyword]. + +2001-10-16 Gerd Moellmann <gerd@gnu.org> + + * buffer.c (Fset_buffer_major_mode): Use initial-major-mode for + *scratch*. + +2001-10-16 Ken Raeburn <raeburn@gnu.org> + + Avoid the assumption that car and cdr slots of cons cells are + addressable lvalues; this allows for easier experimentation with + other lisp implementations that may not permit such accesses for + various reasons. Not quite complete -- buffer.c still needs some + work, and w32/mac files need rechecking -- so compile-time + enforcement is left disabled for now. + + * lisp.h (LISP_MAKE_RVALUE): New macro, or function in the case of + gcc with a union-based Lisp object rep. Redefine as no-op for now. + (XCAR_AS_LVALUE, XCDR_AS_LVALUE): Rename from old XCAR, XCDR. + (XCAR, XCDR): Apply LISP_MAKE_RVALUE to the _AS_LVALUE versions. + (XSETCAR, XSETCDR): New macros. + (XSETCARFASTINT, XSETCDRFASTINT): New macros. + (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): New macros. + * keyboard.h (POSN_BUFFER_SET_POSN): New macro. + * alloc.c (Fcons, pure_cons, Fgarbage_collect): Use XSETCAR and + XSETCDR. + (mark_buffer): Use XCAR_AS_LVALUE, XCDR_AS_LVALUE. + * buffer.c (record_buffer, Fbury_buffer) + (swap_out_buffer_local_variables, recenter_overlay_lists) + (Foverlay_put): Use XSETCAR and XSETCDR to set the car and cdr + fields of a cons cell respectively. + * callint.c (quotify_args, Fcall_interactively): Likewise. + * ccl.c (Fregister_code_conversion_map): Likewise. + * coding.c (detect_coding_system): Likewise. + * composite.c (get_composition_id, make_composition_value_copy): + Likewise. + * data.c (Fsetcar, Fsetcdr, swap_in_global_binding) + (swap_in_symval_forwarding, set_internal, Fset_default) + (Fmake_variable_buffer_local, Fmake_local_variable) + (Fmake_variable_frame_local): Likewise. + * fns.c (concat, Fcopy_alist, Fwidget_put): Likewise. + * keymap.c (Fset_keymap_parent, store_in_keymap) + (accessible_keymaps_1, where_is_internal_2, Fcopy_keymap): Likewise. + * minibuf.c (get_minibuffer): Likewise. + * search.c (Fmatch_data): Likewise. + * textprop.c (extend_property_ranges): Likewise. + * undo.c (record_insert, Fundo_boundary, truncate_undo_list): Likewise. + * w32fns.c (w32_msg_pump, Fw32_register_hot_key, w32_list_fonts): + Likewise. + * w32term.c (x_delete_display): Likewise. + * xfaces.c (remove_duplicates, Finternal_set_lisp_face_attribute): + Likewise. + * xterm.c (x_list_fonts, x_load_font, x_delete_display): Likewise. + * doc.c (store_function_docstring): Use XSETCARFASTINT. + * fileio.c (Fdo_auto_save): Use XSETCARFASTINT and XSETCDRFASTINT. + (Fread_file_name): Use XSETCAR. + * fontset.c (Fset_fontset_font): Use CHECK_NUMBER_CAR and + CHECK_NUMBER_CDR. + (accumulate_font_info, Ffontset_info): Use XSETCAR and XSETCDR. + * frame.c (Fmake_terminal_frame): Use XSETCDR. + * indent.c (Fcompute_motion): Use CHECK_NUMBER_CAR and + CHECK_NUMBER_CDR. + * keyboard.c (read_char): Alter list traversal to avoid taking the + address of cons cell slots. Use POSN_BUFFER_SET_POSN. + (parse_menu_item): Use XSETCAR and XSETCDR. + (reach_char_x_menu_prompt): Use XSETCAR. + (read_key_sequence): Use POSN_BUFFER_SET_POSN. + (Fcommand_execute): Use XSETCDR. + * lread.c (Fload): Use XSETCARFASTINT and XSETCDRFASTINT. + (openp): Change list traversal to avoid using XCAR as lvalue. + (read_list): Use XSETCDR. + * process.c (wait_reading_process_input): Change wait_for_cell + handling to avoid taking addresses of cons cell slots. + * xselect.c (x_own_selection, x_handle_selection_clear) + (x_clear_frame_selections): Use XSETCDR. + (wait_for_property_change): Use XSETCARFASTINT and XSETCDRFASTINT. + (x_handle_property_notify, x_get_foreign_selection) + (x_handle_selection_notify): Use XSETCAR. + +2001-10-15 Pavel Jan,Bm(Bk <Pavel@Janik.cz> + + * buffer.c: Put doc strings in comments. + + * sound.c: Include <sys/ioctl.h> also on systems without <soundcard.h>. + +2001-10-15 Sam Steingold <sds@gnu.org> + + * fns.c (Vafter_load_alist): Declare extern (w32 build problem). + +2001-10-15 Pavel Jan,Bm(Bk <Pavel@Janik.cz> + + * process.c (process-inherit-coding-system-flag) + (get-buffer-process): Do not confuse make-docfile with doc strings + in comment. + + * editfns.c (Fchar_to_string): Make doc string consistent with + arguments. Put doc strings in comments. + + * abbrev.c, minibuf.c: Put doc strings in comments. + +2001-10-15 Gerd Moellmann <gerd@gnu.org> + + * window.c (window_loop): Don't check for Fother_buffer returning nil. + + * window.c (select_window_1): Unfreeze window start. Remove a + doubled test for WINDOW being live. + +2001-10-15 Pavel Jan,Bm(Bk <Pavel@Janik.cz> + + * fns.c (Fmapconcat): Fix typo in a doc string. + + * dispnew.c (Fsleep_for): Fix typo in a doc string. + +2001-10-15 Gerd Moellmann <gerd@gnu.org> + + * xterm.c (x_draw_glyph_string): Restore clipping after + drawing box. + +2001-10-15 Pavel Jan,Bm(Bk <Pavel@Janik.cz> + + * callint.c (prefix-arg, current-prefix-arg): Fix typo in a doc string. + +2001-10-14 Stefan Monnier <monnier@cs.yale.edu> + + * indent.c (skip_invisible): Use new retval of + TEXT_PROP_MEANS_INVISIBLE. + + * keymap.c (access_keymap): Unify handling of `t' and generic-char. + If a parent is reached and noinherit is set, exit immediately. + Use AREF and ASIZE macros. Call get_keyelt before checking KEYMAPP. + + * s/ms-w32.h (EXEC_SUFFIXES): + * s/msdos.h (EXEC_SUFFIXES): + * process.h (EXEC_SUFFIXES): Remove. + + * callproc.c (syms_of_callproc): Init Vexec_suffixes to Qnil. + (decode_suffixes): Remove. + + * intervals.h (TEXT_PROP_MEANS_INVISIBLE_WITH_ELLIPSIS) + (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS, invisible_noellipsis_p) + (invisible_ellipsis_p): Remove. + + * xdisp.c (DOLIST, LOOP_PROPVAL): Remove. + (invisible_p): Return 1 or 2 depending on whether an ellipsis is used. + (invisible_ellipsis_p, invisible_noellipsis_p): Remove. + (in_ellipses_for_invisible_text_p, handle_invisible_prop): + Use new retval of TEXT_PROP_MEANS_INVISIBLE. + +2001-10-14 Pavel Jan,Bm(Bk <Pavel@Janik.cz> + + * lisp.h (Ftop_level): Add prototype. + + * xterm.c: (xlwmenu_window_p, xlwmenu_redisplay): Add prototypes. + (XTread_socket): Improve style of comments to follow other + comments. + + * keyboard.c (Fcommand_execute): Remove unnecessary prototype (it + is already prototyped in included lisp.h). + + * frame.c (Fset_mouse_position): Improve style of comment to + follow other comments. + (Fset_mouse_pixel_position): Improve style of comment to follow + other comments. + (Fmake_frame_visible): Doc fix and typo in comment. + (Fmake_frame_invisible): Doc fix and typo in comment. + (Ficonify_frame): Fix typo in comment. + +2001-10-14 Gerd Moellmann <gerd@gnu.org> + + * xfns.c, dispnew.c, xterm.c, xdisp.c, xfaces.c, xmenu.c + * term.c, alloc.c: Put doc strings in comments. + +2001-10-13 Gerd Moellmann <gerd@gnu.org> + + * lisp.h (DEFUN, DEFVAR_LISP, ...) [DOC_STRINGS_IN_COMMENTS]: + Provide definitions for doc strings in comments. + + * fns.c: Put doc strings in comments. + +2001-10-13 Eli Zaretskii <eliz@is.elta.co.il> + + * dired.c (file_name_completion): Ignore a candidate directory if + it matches an element in completion-ignored-extensions that ends + in a slash. + (syms_of_dired) <completion-ignored-extensions>: Mention the above + feature in the doc string. + (Ffile_name_completion): Ditto. + +2001-10-12 Stefan Monnier <monnier@cs.yale.edu> + + * indent.c (skip_invisible): Don't skip "ellipsisized" text. + + * xfns.c (syms_of_xfns): Update calls to Fprovide. + + * lisp.h (Fprovide): Update prototype. + (Ffeaturep, invisible_p): Remove. + + * xdisp.c (init_iterator): Be more strict with bytepos and charpos. + (DOLIST, LOOP_PROPVAL): New macros. + (invisible_p, invisible_ellipsis_p): Use them. + (invisible_noellipsis_p): New function. + (syms_of_xdisp): Use empty_string. + + * alloc.c (mark_interval_tree): Use traverse_intervals_noorder. + + * lread.c (substitute_object_recurse): Use traverse_intervals_noorder. + (syms_of_lread) <Vafter_load_alist>: Update docstring. + + * print.c (Fwith_output_to_temp_buffer): Align with + internal_with_output_to_temp_buffer. + (print_preprocess): Use traverse_intervals_noorder. + (print_object): Update call to traverse_intervals. + + * intervals.h (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS): New macro. + (traverse_intervals_noorder, invisible_noellipsis_p): New funs. + + * intervals.c (traverse_intervals_noorder): New function. + (search_for_interval, count_intervals): Use it. + (traverse_intervals): Use less stack space and drop `depth' arg. + + * fns.c (Ffeaturep): Add new `subfeature' arg. + (Fprovide): Add new `subfeatures' arg. Use `after-load-alist'. + (Qsubfeatures): New var. + (syms_of_fns): Initialize it. + + * keymap.c (Fkey_description): Use empty_string. + (Fdescribe_bindings_internal, describe_buffer_bindings): Remove. + (syms_of_keymap): Setup inheritance between maps. + Don't export Sdescribe_bindings_internal any more. + + * minibuf.c (keys_of_minibuf): Eliminate redundant bindings. + +2001-10-12 Gerd Moellmann <gerd@gnu.org> + + * xterm.c (notice_overwritten_cursor): Renamed from + note_overwritten_text_cursor. Rewritten to take glyph widths into + account. + +2001-10-12 Eli Zaretskii <eliz@is.elta.co.il> + + * lread.c (syms_of_lread) <load-suffixes>: Fix last change: + multi-line strings without a trailing "\n\". + +2001-10-12 Pavel Jan,Bm(Bk <Pavel@Janik.cz> + + * floatfns.c: float_error() is defined iff FLOAT_CATCH_SIGILL is + defined. + +2001-10-11 Stefan Monnier <monnier@cs.yale.edu> + + * callint.c (Fcall_interactively): Remove unused code. Use XCAR. + + * xfns.c (x_create_bitmap_from_file, x_find_image_file): + * w32proc.c (sys_spawnve): + * w32fns.c (x_create_bitmap_from_file, x_find_image_file): + * w32.c (check_windows_init_file): + * sound.c (Fplay_sound): + * emacs.c (init_cmdargs): + * process.c (Fstart_process): Update calls to openp. + + * callproc.c (Vexec_suffixes): New var. + (Fcall_process): Update call to openp. + (decode_suffixes): New function. + (syms_of_callproc): Init exec-suffixes. + + * lread.c (Vload_suffixes, default_suffixes): New vars. + (openp): Take a lisp list of suffixes. + Check for file-name-handlers even if the file was absolute already. + (syms_of_lread): Declare load-suffixes. + (Fload): Fix up call to openp. + Don't bother checking for file-name-handler at the very beginning. + + * keymap.h (Fcopy_keymap): Don't export. + + * lisp.h (empty_string): Declare. + (Vload_suffixes, Vexec_suffixes): Declare. + (openp): Update prototype. + + * emacs.c (empty_string): New var. + (syms_of_emacs): Initialize it. + + * search.c (wordify): Use it. + + * buffer.c (Fbury_buffer): Don't try to remove the buffer from the + selected window if it's not displayed there. Handle the case + when the window is dedicated. + (syms_of_buffer): Fix docstrings not to mention "buffer-local" anymore. + + * undo.c (Fprimitive_undo): Use XCAR/XCDR. + + * syntax.h (struct gl_state_s): Change the meaning of b_property. + Remove left_ok and right_ok. + (UPDATE_SYNTAX_TABLE_BACKWARD, UPDATE_SYNTAX_TABLE) + (SETUP_SYNTAX_TABLE, SETUP_SYNTAX_TABLE_FOR_OBJECT): Update to the + new meaning of b_property. + + * syntax.c (update_syntax_table): Simplify. + (Fforward_comment): Don't skip quoted chars when going backward. + +2001-10-11 Gerd Moellmann <gerd@gnu.org> + + * lisp.h (FIXNUM_OVERFLOW_P): Cast I to EMACS_INT in comparisons + in case I is of some unsigned type, in which case + MOST_NEGATIVE_FIXNUM will be converted to unsigned, and the + comparison becomes bogus. + + * editfns.c (Fuser_uid, Fuser_real_uid): Use make_fixnum_or_float. + (Fuser_full_name): Fix bug treating a float as a fixnum. + + * data.c (Fstring_to_number): Use make_fixnum_or_float. + + * lisp.h (make_fixnum_or_float): New macro. + + * lisp.h (circular_list_error): Add prototype. + + * data.c (Qcircular_list): New variable. + (circular_list_error): New function. + (syms_of_data): Initialize it Qcircular_list. + +2001-10-10 Stefan Monnier <monnier@cs.yale.edu> + + * window.c, syntax.c, macros.c, frame.c, emacs.c, cmds.c, category.c + * casefiddle.c, buffer.c: Include keymap.h. + +2001-10-10 Gerd Moellmann <gerd@gnu.org> + + * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Add `-nointrinsics' + options. From Dave Love <d.love@dl.ac.uk>. + +2001-10-09 Gerd Moellmann <gerd@gnu.org> + + * regex.c (WIDE_CHAR_SUPPORT): Do not use defined() in macro. + From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>. + + * editfns.c (Fcurrent_time_zone): Cast isalnum() argument to + unsigned char. + From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>. + +2001-10-08 Andrew Innes <andrewi@gnu.org> + + * lisp.h [max]: Undef min and max before redefining them. + + * w32gui.h: Do not undef min and max. + + * w32heap.h: Do not undef min and max. + + * s/ms-w32.h: Do not undef min and max. + +2001-10-08 Stefan Monnier <monnier@cs.yale.edu> + + * xdisp.c (handle_fontified_prop): Don't bind after-change-functions. + +2001-10-08 Sam Steingold <sds@gnu.org> + + * keymap.c (current-active-maps): Quote newlines (compilation error). + +2001-10-08 Eli Zaretskii <eliz@is.elta.co.il> + + * 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 Stefan Monnier <monnier@cs.yale.edu> + + * lisp.h: Remove the entries for keymap.c (moved to keymap.h). + + * keyboard.h (map_prompt): Remove. + + * xterm.c, w32term.c, term.c, minibuf.c, keymap.c, + * intervals.c, fns.c, doc.c, callint.c: Include keymap.h. + + * xmenu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt. + + * w32menu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt. + + * keyboard.c (map_prompt): Remove. + (read_char_x_menu_prompt, read_char_minibuf_menu_prompt): + Use Fkeymap_prompt. + + * keymap.h: New file. Extracted from lisp.h. + + * keymap.c (Fkeymap_prompt, Fcurrent_active_maps): New funs. + (accessible_keymaps_1): New function. + (Faccessible_keymaps, accessible_keymaps_char_table): Use it. + (Fwhere_is_internal): Use Fcurrent_active_maps. + (Fdescribe_buffer_bindings): Renamed from describe_buffer_bindings. + Insert in current buffer rather than standard-output. + Don't call `help-mode'. Export to elisp. + (describe_buffer_bindings): New wrapper. + (syms_of_keymap): Defsubr Skeymap_prompt, Scurrent_active_maps + and Sdescribe_buffer_bindings. + +2001-10-08 Gerd Moellmann <gerd@gnu.org> + + * atimer.c (alarm_signal_handler) [USG && !POSIX_SIGNALS]: + Remove code setting signal handler. + + * sysdep.c (child_setup_tty) [HAVE_TERMIO || HAVE_TERMIOS]: + Clear ICRNL and INLCR. From Daiki Ueno <ueno@unixuser.org>. + +2001-10-08 Pavel Jan,Bm(Bk <Pavel@Janik.cz> + + * keyboard.c: Don't define min/max. + +2001-10-08 Gerd Moellmann <gerd@gnu.org> + + * xterm.c, xmenu.c, xfns.c, xdisp.c, window.c: + * w32term.c, w32menu.c, w32console.c, w32bdf.c, w32.c, term.c + * sysdep.c, sound.c, search.c, scroll.c, minibuf.c, keymap.c + * intervals.c, insdel.c, indent.c, fns.c, fileio.c, editfns.c + * dispnew.c, dired.c, charset.c, xfaces.c, alloc.c, atimer.c: + Don't define min/max. + + * lisp.h (min, max): New macros. + + * puresize.h (BASE_PURESIZE): Increase to 725000. + +2001-10-08 Pavel Jan,Bm(Bk <Pavel@Janik.cz> + + * xfaces.c (free_frame_menubar): Add prototype. + + * lisp.h (init_window): Add prototype. + + * editfns.c: Include ctype.h. + + * xterm.c: USE_LUCID can be defined iff USE_X_TOOLKIT is defined. + (xm_scroll_callback) [USE_MOTIF]: Remove unused variable `percent'. + (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]: Remove unused + variable `sb'. + + * xfns.c (Fx_hide_tip): Fix typo in a doc string. + (Fx_file_dialog) [USE_MOTIF]: Remove unused variables + `popup_activated_flag' and `title'. + + * doc.c (Fdocumentation_property): Fix typo in a doc string. + + * emacs.c (main): Remove extra `;'. + + * atimer.h (struct atimer): Fix typos in a comment. + + * atimer.c: Fix typo. + + * Makefile.in: Fix typo. + + * README: Remove obsolete part mentioning removed VMS file. + +2001-10-07 Miles Bader <miles@gnu.org> + + * Makefile.in (lisp, shortlisp): Add `button.elc'. + +2001-10-07 Ken Raeburn <raeburn@gnu.org> + + * minibuf.c (Fminibuffer_prompt_end): Don't apply make_number to a + Lisp_Object. + + * lisp.h (Ffield_end): Declare. + +2001-10-07 Gerd Moellmann <gerd@gnu.org> + + * keyboard.c (parse_modifiers, apply_modifiers): Use VALMASK. + + * insdel.c (make_gap): Use MOST_POSITIVE_FIXNUM. + + * floatfns.c (FLOAT_TO_INT2, FLOAT_TO_INT): Use FIXNUM_OVERFLOW_P. + + * dired.c (Ffile_attributes): Use FIXNUM_OVERFLOW_P. + + * bytecode.c (syms_of_bytecode) [BYTE_CODE_METER]: Doc fix. + (METER_CODE, Fbyte_code): Use MOST_POSITIVE_FIXNUM. + + * alloc.c (inhibit_garbage_collection): Simplify. + (Fmemory_use_counts): Ditto. + + * data.c (most_positive_fixnum, most_negative_fixnum): New variables. + (syms_of_data): DEFVAR_INT most-positive-fixnum and + most-negative-fixnum. + + * lisp.h (MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM) + (FIXNUM_OVERFLOW_P): New macros. + +2001-10-06 Miles Bader <miles@gnu.org> + + * xterm.h (struct x_output): Add scroll_bar_top_shadow_pixel and + scroll_bar_bottom_shadow_pixel fields. + * xterm.c (x_create_toolkit_scroll_bar): Try to allocate colors + for the shadows, and tell the toolkit about them if we succeed. + (x_destroy_window) [USE_TOOLKIT_SCROLL_BARS]: + Free scroll-bar shadow colors. + * xfns.c (x_set_scroll_bar_background) [USE_TOOLKIT_SCROLL_BARS]: + Free scroll-bar shadow colors when the background color changes. + (Fx_create_frame, x_create_tip_frame) [USE_TOOLKIT_SCROLL_BARS]: + Initialize scroll-bar shadow-color fields. + +2001-10-05 Gerd Moellmann <gerd@gnu.org> + + * fileio.c (Fcopy_file): If NEWNAME is a directory copy FILE there. + +2001-10-05 Miles Bader <miles@gnu.org> + + * minibuf.c (Fminibuffer_prompt_end, Fminibuffer_contents) + (Fminibuffer_contents_no_properties, Fdelete_minibuffer_contents): + New functions (were in simple.el). + (Fminibuffer_complete_and_exit, Fminibuffer_complete_word) + (read_minibuf, do_completion, Fminibuffer_completion_help): Use them. + (syms_of_minibuf): Initialize them. + +2001-10-05 Gerd Moellmann <gerd@gnu.org> + + * xfns.c (tiff_error_handler, tiff_warning_handler): New functions. + (tiff_load): Install them as error and warning handler. + +2001-10-04 Andrew Innes <andrewi@gnu.org> + + * 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-04 Stefan Monnier <monnier@cs.yale.edu> + + * window.h (MINI_WINDOW_P): Use NILP. + + * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM): Define also for non-NT. + + * termhooks.h (struct input_event): Use proper type for `kind'. + +2001-10-04 Gerd Moellmann <gerd@gnu.org> + + This handles unknown keysyms better than before. For example, + after `xmodmap -e 'keysym F5 = ccaron' in a Latin-1 environment, + Emacs formerly completely ignored F5. With the change, it derives + a key symbol from the name of the X keysym, `ccaron' in this case. + Reported by Martin Buchholz. + + * xterm.c (XTread_socket): Return a non_ascii_keystroke for + unknown keysyms. + + * keyboard.c (make_lispy_event) [HAVE_X_WINDOWS]: If we know + that EVENT->code isn't a function key, use the keysym's name. + +2001-10-04 Gerd Moellmann <gerd@gnu.org> + + FOREACH is a macro that should make it easier to loop over Lisp + lists with checks for cycles and proper lists. + + * lisp.h (LIST_END_P, FOREACH): New macros. + +2001-10-04 Gerd Moellmann <gerd@gnu.org> + + On some systems, XtCloseDisplay seems to cause a SIGSEGV when + called for a lost connection. Prevent dumping core in this case. + Instead print the X error, and exit. On user request. + + * xterm.c (error_msg): New variable. + (x_fatal_error_signal): New function. + (x_connection_closed): Set error_msg. Install x_fatal_error_signal + as fatal_error_signal_hook around the call to XtCloseDisplay. + + * emacs.c (fatal_error_signal_hook): New variable. + (fatal_error_signal): Call that function. + +2001-10-04 Gerd Moellmann <gerd@gnu.org> + + With this, Emacs prints how much pure storage it will + approximately need in case pure storage overflows while dumping. + + * alloc.c (purebeg, pure_size, pure_bytes_used_before_overflow): + New variables. + (init_alloc_once): Initialize new variables. + (PURE_POINTER_P): Use new variables. + (pure_alloc): If pure storage overflows, allocate from the heap. + (check_pure_size): New function. + (Fgarbage_collect): Don't GC if pure storage has overflowed. + + * lisp.h (pure_size) [HAVE_SHM]: Declare extern size_t. + (check_pure_size): Add prototype. + + * emacs.c (Fdump_emacs_data, Fdump_emacs): Call check_pure_size. + +2001-10-04 Gerd Moellmann <gerd@gnu.org> + + This adds a post-gc-hook that's run with GC inhibited. + Requested by Francois Pinard. XEmacs has it. Added to NEWS. + + * alloc.c (Vpost_gc_hook, Qpost_gc_hook): New variables. + (syms_of_alloc): DEFVAR_LISP post-gc-hook, initialize Qpost_gc_hook. + (Fgarbage_collect): Run post-gc-hook. + +2001-10-04 Gerd Moellmann <gerd@gnu.org> + + This adds `defvaralias' and `indirect-variable'. Changes not + directly related to this feature are there to gain the same + performance again as before variable aliases. + + You must use the SYMBOL_VALUE and SET_SYMBOL_VALUE macros in C + code to get and set symbol values, to take defvaralias into account. + + (Note: the new `constant' bit-flag in symbols would make it + possible to define arbitrary read-only variables, e.g. with + `defconst'.) + + Documentation is in lispref/variables.texi. Added to NEWS. + + * lisp.h (enum symbol_interned): New enumeration. + (struct Lisp_Symbol): Remove member `obarray', add + `indirect_variable', `constant', and `interned'. + (SYMBOL_INTERNED_P, SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P) + (SYMBOL_CONSTANT_P, SYMBOL_VALUE, SET_SYMBOL_VALUE): New macros. + (indirect_variable): Add prototype. + + * print.c (print_preprocess, print_object): Test internedness of + symbols differently. + + * lread.c (Fintern, Funintern): Set symbol's interned and constant + bit-fields. + (init_obarray): Likewise for t and nil. + + * eval.c Use SYMBOL_VALUE/SET_SYMBOL_VALUE. + (Fdefvaralias): New function. + (specbind): Simplify the test if symbol is a constant. + (syms_of_eval): Defsubr Fdefvaralias. + + * data.c: Use SYMBOL_VALUE/SET_SYMBOL_VALUE. + (Qcyclic_variable_indirection): New variable. + (Fkeywordp): Check for internedness differently. + (Fmakunbound): Simplify the test if symbol is a constant. + (indirect_variable, Findirect_variable): New functions. + (swap_in_symval_forwarding): If SYMBOL is an alias, use the + aliased symbol. + (let_shadows_buffer_binding_p): Check for variable aliases. + (set_internal): Simplify the test if SYMBOL is a constant. + If SYMBOL has a buffer-local value and is an alias, use the aliased + symbol instead. + (syms_of_data): Initialize Qcyclic_variable_indirection and defsubr + Sindirect_variable. + + * bytecode.c (Fbyte_code) <varref>: Use SYMBOL_VALUE. + (Fbyte_code) <varset>: Simplify the test if symbol's value can be + set directly. + + * alloc.c (Fmake_symbol): Adapt to changes of struct Lisp_Symbol. + + * abbrev.c, buffer.c, coding.c, fns.c, frame.c, keyboard.c: + * minibuf.c, sunfns.c, w16select.c: Use SYMBOL_VALUE/ + SET_SYMBOL_VALUE macros instead of accessing symbol values directly. + +2001-10-04 Gerd Moellmann <gerd@gnu.org> + + * Branch for 21.1. + +2001-10-03 Miles Bader <miles@gnu.org> + + * 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 <miles@gnu.org> + + * 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 <gerd@gnu.org> + + * 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) <ends_in_newline_from_string_p>: + New bit flag + +2001-10-01 Richard M. Stallman <rms@gnu.org> + + * search.c (Freplace_match): Doc fix. + +2001-09-28 Andrew Innes <andrewi@gnu.org> + + * w32menu.c (set_frame_menubar): Take into account that + f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn + <raeburn@gnu.org>. + +2001-09-30 Eli Zaretskii <eliz@is.elta.co.il> + + * frame.c (syms_of_frame) <default-minibuffer-frame>: Doc fix. + +2001-09-28 Pavel Jan,Bm(Bk <Pavel@Janik.cz> + + * s/gnu-linux.h: Fix a typo in comment. + +2001-09-28 Andreas Schwab <schwab@suse.de> + + * 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 <gerd@gnu.org> + + * m/macppc.h [DATA_SEG_BITS]: Put in #if 0 until we know what's + really going on here. + +2001-09-27 Stefan Monnier <monnier@cs.yale.edu> + + * search.c (trivial_regexp_p): Catch \{N,M\} as well. + +2001-09-27 Eli Zaretskii <eliz@is.elta.co.il> + + * 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 <gerd@gnu.org> + + * 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 <gerd@gnu.org> + + * 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 <gerd@gnu.org> + + * 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 <monnier@cs.yale.edu>. + + * 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 <handa@etl.go.jp>. + +2001-09-24 Gerd Moellmann <gerd@gnu.org> + + * 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 <gerd@gnu.org> + + * sysdep.c (wait_for_termination) [POSIX_SIGNALS]: + Terminate only if kill returns -1, and errno is ESRCH. + +2001-09-21 Markus Rost <rost@math.ohio-state.edu> + + * Makefile.in (shortlisp): Add ../lisp/env.elc. + +2001-09-20 Gerd Moellmann <gerd@gnu.org> + + * 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 <gerd@gnu.org> + + * 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 <gerd@gnu.org> + + * 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 <gerd@gnu.org> + + * 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 <eliz@is.elta.co.il> + + * dired.c (Ffile_attributes): Doc fix. + +2001-09-14 Gerd Moellmann <gerd@gnu.org> + + * fileio.c (Ffile_symlink_p): Fix last change. + + * filelock.c (current_lock_owner): Fix last change. + +2001-09-13 Gerd Moellmann <gerd@gnu.org> + + * 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 <gerd@gnu.org> + + * 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 <gerd@gnu.org> + + * 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 <rms@gnu.org> + + * frame.c (Fmouse_position): Doc fix. + +2001-09-07 Gerd Moellmann <gerd@gnu.org> + + * xdisp.c (init_from_display_pos): Don't compare the result + of calling index with NULL. + +2001-09-06 Gerd Moellmann <gerd@gnu.org> + + * xfns.c (x_set_background_color): Don't change the colors + of the X window of scroll bar widgets. + +2001-09-05 Andrew Innes <andrewi@gnu.org> + + * w32fns.c (w32_createwindow): Undo last change. + +2001-09-05 Gerd Moellmann <gerd@gnu.org> + + * 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 <andrewi@gnu.org> + + * 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 <monnier@cs.yale.edu> + + * xdisp.c (handle_single_display_prop): Fix for int/Lisp_Object mixup. + +2001-09-03 Gerd Moellmann <gerd@gnu.org> + + * xterm.c (note_mouse_highlight) <help-echo>: 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) <mouse-face>: 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) <default-directory>: Doc fix. + +2001-09-01 Eli Zaretskii <eliz@is.elta.co.il> + + * fns.c (Fmd5): Doc fix. + +2001-08-31 Gerd Moellmann <gerd@gnu.org> + + * composite.c (update_compositions): Do nothing if + inhibit-modification-hooks is set. + +2001-08-30 Gerd Moellmann <gerd@gnu.org> + + * 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 <gerd@gnu.org> + + * fileio.c (Finsert_file_contents): Undo change of 2001-08-27. + +2001-08-28 Eli Zaretskii <eliz@is.elta.co.il> + + * w32term.c (x_set_glyph_string_background_width) + (show_mouse_face): Track the last changes in xterm.c. + +2001-08-28 Gerd Moellmann <gerd@gnu.org> + + * 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 <miles@gnu.org> + + * textprop.c (Fprevious_single_char_property_change) + (Fnext_single_char_property_change): Doc fixes. + +2001-08-27 Gerd Moellmann <gerd@gnu.org> + + * 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 <gerd@gnu.org> + + * 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 <akochoi@cse.cuhk.edu.hk> + + * 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 <gerd@gnu.org> + + * 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 <gerd@gnu.org> + + * 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 <gerd@gnu.org> + + * 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 <gerd@gnu.org> + + * xrdb.c (SYSV): Don't define on Solaris 2. + From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>. + + * xdisp.c (move_it_by_lines) <DVPOS < 0>: Start at the beginning + of the screen line, not text line, containing IT's current position. + +2001-08-15 Gerd Moellmann <gerd@gnu.org> + + * 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 <andrewi@gnu.org> + + * w32term.c (x_draw_glyph_string): Draw relief (if any) before + drawing glyph string. + +2001-08-14 Eli Zaretskii <eliz@is.elta.co.il> + + * s/hiuxwe2.h: New file, for the HITACHI SR2001/SR2201 series + running HI-UX/MPP. + +2001-08-14 Gerd Moellmann <gerd@gnu.org> + + * xfaces.c (x_update_menu_appearance): Save and restore value of + interrupt_input_blocked. + +2001-08-13 Gerd Moellmann <gerd@gnu.org> + + * xdisp.c (move_it_by_lines) <DVPOS < 0>: 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) <double-click-fuzz>: Doc fix. + +2001-08-10 Eli Zaretskii <eliz@is.elta.co.il> + + * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Fix a typo in + a doc string. + +2001-08-09 Gerd Moellmann <gerd@gnu.org> + + * 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 <gerd@gnu.org> + + * dispnew.c (adjust_glyph_matrix): In the optimization for + windows whose height has changed, disable partially visible lines. + +2001-08-07 Gerd Moellmann <gerd@gnu.org> + + * 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 <gerd@gnu.org> + + * xterm.c (x_dump_glyph_string): Put in #if GLYPH_DEBUG. + +2001-08-06 Pavel Jan,Bm(Bk <Pavel@Janik.cz> + + * alloc.c (init_stack): Remove declaration. + +2001-08-03 Gerd Moellmann <gerd@gnu.org> + + * 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 <gerd@gnu.org> + + * xdisp.c (redisplay_internal): Take message_cleared_p into + account only if minibuf_level == 0. + +2001-08-01 Gerd Moellmann <gerd@gnu.org> + + * 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 <eliz@is.elta.co.il> + + * 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 <gerd@gnu.org> + + * 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 <gerd@gnu.org> + + * 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 + <raeburn@gnu.org>. + +2001-07-27 Gerd Moellmann <gerd@gnu.org> + + * 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 <gerd@gnu.org> + + * 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 <andrewi@gnu.org> + + * w32term.c (x_display_list): New variable. + (w32_term_init): Set it. + + * w32term.h (x_display_list): New extern. + +2001-07-26 Gerd Moellmann <gerd@gnu.org> + + * 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 <gerd@gnu.org> + + * 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 <gerd@gnu.org> + + * xfns.c (valid_image_p): Protect better against invalid image + specifications. Previous code could signal an error. + +2001-07-23 Gerd Moellmann <gerd@gnu.org> + + * 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 <gerd@gnu.org> + + * 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 <gerd@gnu.org> + + * 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 <raeburn@gnu.org> + + * fns.c (Fset_char_table_default): Check that a charset is defined + before checking its dimension. + +2001-07-17 Ken Raeburn <raeburn@gnu.org> + + * 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 <gerd@gnu.org> + + * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]: + Increase to 4096 because of paste problems reported on GNU/Linux. + +2001-07-17 Jan Nieuwenhuizen <janneke@gnu.org> + + * emacs.c (USAGE1): Add +LINE:COLUMN option help. + +2001-07-16 Gerd Moellmann <gerd@gnu.org> + + * 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 <gerd@gnu.org> + + * 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 <monnier@cs.yale.edu> + + * 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 <eliz@is.elta.co.il> + + * dired.c (file_name_completion): Pass dp->d_name to + Fstring_match, not elt, which is always nil here. + +2001-07-12 Gerd Moellmann <gerd@gnu.org> + + * xselect.c (x_decline_selection_request): Handle errors + caused by receivers that have vanished. + + * xterm.c (XTread_socket) <PropertyNotify>: 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 <monnier@cs.yale.edu> + + * 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 <gerd@gnu.org> + + * 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 <gerd@gnu.org> + + * 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 <gerd@gnu.org> + + * sound.c (toplevel): Include <signal.h> and "syssignal.h". + (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO + around ioctls. + +2001-07-06 Eli Zaretskii <eliz@is.elta.co.il> + + * 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 <gerd@gnu.org> + + * 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 <gerd@gnu.org> + + * xterm.c (x_produce_glyphs): Don't convert multibyte characters + to unibyte characters in unibyte buffers. + +2001-07-03 Gerd Moellmann <gerd@gnu.org> + + * 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 <gerd@gnu.org> + + * 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 <gerd@gnu.org> + + * 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 <gerd@gnu.org> + + * widget.c (EmacsFrameSetCharSize): Turn off atimers and block + SIGIO around the code where Xt might wait for a ConfigureNotifyEvent. + (toplevel): Include <signal.h> and syssignal.h. + + * sound.c (vox_configure, vox_close): Turn off atimers + around ioctls. + +2001-06-26 Gerd Moellmann <gerd@gnu.org> + + * keyboard.c (read_char) <non_reread>: Record the previous idle + start time before calling timer_stop_idle. + (read_char) <reread_first>: 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 <gerd@gnu.org> + + * 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) <all changes below window end>: 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 <rms@gnu.org> + + * minibuf.c (Fcompleting_read): Doc fix. + +2001-06-19 Gerd Moellmann <gerd@gnu.org> + + * composite.c (Ffind_composition_internal): Accept ZV + and a string's end position as POS. + +2001-06-18 Gerd Moellmann <gerd@gnu.org> + + * composite.c (Ffind_composition_internal): Check POS + for validity. + +2001-06-15 Eli Zaretskii <eliz@is.elta.co.il> + + * 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 <rms@gnu.org> + + * 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 <andrewi@gnu.org> + + * 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 <monnier@cs.yale.edu> + + * 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 <eliz@is.elta.co.il> + + * lread.c (Fload): Document that the argument is run via + substitute-in-file-name. + +2001-05-31 Gerd Moellmann <gerd@gnu.org> + + * 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 <monnier@cs.yale.edu> + + * buffer.c (copy_overlays): Make ENABLE_CHECKING happy. + +2001-05-30 Gerd Moellmann <gerd@gnu.org> + + * 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 <gerd@gnu.org> + + * 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 <gerd@gnu.org> + + * 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 <gerd@gnu.org> + + * 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 <gerd@gnu.org> + + * 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 <fx@gnu.org> + + * 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 <gerd@gnu.org> + + * 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 <handa@etl.go.jp>. + + * fontset.c (Ffontset_info): Check that face is non-null + before accessing its fields. + +2001-05-15 Gerd Moellmann <gerd@gnu.org> + + * 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 <monnier@cs.yale.edu> + + * eval.c (Fdefvar): Only record (defvar <var>) in the load-history + in <var> 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) <scalable-fonts-allowed>: Fix docstring. + +2001-05-14 Gerd Moellmann <gerd@gnu.org> + + * 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 <eliz@is.elta.co.il> + + * 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 <gerd@gnu.org> + + * 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 <gerd@gnu.org> + + * 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 <gerd@gnu.org> + + * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P. + +2001-05-09 Dave Love <fx@gnu.org> + + * xdisp.c (GIVE_UP): Fix for K&R C. + +2001-05-09 Gerd Moellmann <gerd@gnu.org> + + * print.c (syms_of_print) <print-length, print-level>: 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 <gerd@gnu.org> + + * 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 <eliz@is.elta.co.il> + + * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]: + Fix the change from 2001-04-30. + +2001-05-03 Gerd Moellmann <gerd@gnu.org> + + * 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 <gerd@gnu.org> + + * 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 <monnier@cs.yale.edu> + + * 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 <gerd@gnu.org> + + * 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) <Expose> [USE_LUCID]: Handle events for + windows that are components of a Lucid menu bar. + +2001-04-27 Gerd Moellmann <gerd@gnu.org> + + * term.c (turn_on_face): Fix reverse video handling on terminals + that don't support colors. + +2001-04-26 Gerd Moellmann <gerd@gnu.org> + + * editfns.c (save_excursion_restore): Don't use XBUFFER on + a non-buffer. + +2001-04-25 Gerd Moellmann <gerd@gnu.org> + + * 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 <gerd@gnu.org> + + * xfaces.c (compute_char_face): If buffer is unibyte, set CH to + zero instead of -1. + +2001-04-21 Eli Zaretskii <eliz@is.elta.co.il> + + * 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 <gerd@gnu.org> + + * 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 <gerd@gnu.org> + + * 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 <eliz@is.elta.co.il> + + * 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 <gerd@gnu.org> + + * xdisp.c (redisplay_window): Make sure to clear the desired glyph + matrix of mini-windows. + +2001-04-12 Stefan Monnier <monnier@cs.yale.edu> + + * intervals.c (find_interval): Don't rebalance during signal handling. + +2001-04-11 Gerd Moellmann <gerd@gnu.org> + + * fns.c: Include blockinput.h. + + * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked. + +2001-04-10 Gerd Moellmann <gerd@gnu.org> + + * 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) <recenter>: 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 <dan@eyebee.com>. + + * 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 + <dan@eyebee.com>. + + * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan + Holmsand <dan@eyebee.com>. + +2001-04-09 Gerd Moellmann <gerd@gnu.org> + + * 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 <eliz@is.elta.co.il> + + * gmalloc.c (align): If the argument SIZE would overflow + __malloc_ptrdiff_t, fail right away. + +2001-04-06 Gerd Moellmann <gerd@gnu.org> + + * 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 <fx@gnu.org> + + * composite.c (update_compositions) <check_mask & CHECK_HEAD>: + Fix test of `from'. + +2001-04-06 Gerd Moellmann <gerd@gnu.org> + + * 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 <gerd@gnu.org> + + * 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 <gerd@gnu.org> + + * 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 <gerd@gnu.org> + + * 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 <gerd@gnu.org> + + * 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 <gerd@gnu.org> + + * 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 <eliz@is.elta.co.il> + + * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change. + +2001-03-29 Eli Zaretskii <eliz@is.elta.co.il> + + * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is + deprecated. + +2001-03-29 Gerd Moellmann <gerd@gnu.org> + + * 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 <eggert@twinsun.com> + + * 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 <gerd@gnu.org> + + * 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 <gerd@gnu.org> + + * xdisp.c (try_window_reusing_current_matrix) <scrolling up>: + 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 <gerd@gnu.org> + + * xdisp.c (try_window_id): Undo last change. + +2001-03-26 Eli Zaretskii <eliz@is.elta.co.il> + + * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix. + + * buffer.c (syms_of_buffer): Doc fix. + +2001-03-26 Gerd Moellmann <gerd@gnu.org> + + * xfaces.c (x_update_menu_appearance): Use local variable + popup_path for setting font resources. + +2001-03-25 Eli Zaretskii <eliz@is.elta.co.il> + + * 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 + <wl@gnu.org>. + +2001-03-25 Gerd Moellmann <gerd@gnu.org> + + * xdisp.c (init_from_display_pos): Test invisible property + with TEXT_PROP_MEANS_INVISIBLE instead of NILP. + + * xdisp.c (redisplay_internal) <update one window>: 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 <gerd@gnu.org> + + * 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) <scrolling up>: 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 <eliz@is.elta.co.il> + + * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined. + +2001-03-23 Gerd Moellmann <gerd@gnu.org> + + * xfaces.c (x_update_menu_appearance): Use a different path + for Lucid popup menus. + +2001-03-22 Stefan Monnier <monnier@cs.yale.edu> + + * 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 <gerd@gnu.org> + + * 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 <gerd@gnu.org> + + * 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 <gerd@gnu.org> + + * print.c (syms_of_print): Doc fixes. + + * fns.c (Fmd5): Doc fix. + +2001-03-19 Gerd Moellmann <gerd@gnu.org> + + * 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 <gerd@gnu.org> + + * indent.c (current_column, current_column_1, Fmove_to_column) + (compute_motion): Handle characters from display vectors differently. + +2001-03-15 Kenichi Handa <handa@etl.go.jp> + + * xterm.c (x_draw_glyph_string): Draw relief (if any) before + drawing glyph string. + +2001-03-15 Gerd Moellmann <gerd@gnu.org> + + * 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 <gerd@gnu.org> + + * 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 <eliz@is.elta.co.il> + + * 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 <gerd@gnu.org> + + * 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) <LeaveNotify, EnterNotify>: + 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 <handa@etl.go.jp> + + * 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 <gerd@gnu.org> + + * 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 <eliz@is.elta.co.il> + + * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>: + Doc fix. + +2001-03-12 Gerd Moellmann <gerd@gnu.org> + + * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg + to sprintf. + +2001-03-09 Gerd Moellmann <gerd@gnu.org> + + * 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 <handa@etl.go.jp> + + * composite.h (struct composition): Change types of members; + glyph_len to unsigned, width to unsigned short. + +2001-03-08 Andrew Innes <andrewi@gnu.org> + + * w32menu.c (add_menu_item): Fix problems with using ownerdraw for + menu titles. + +2001-03-08 Gerd Moellmann <gerd@gnu.org> + + * 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 <fx@gnu.org> + + * eval.c (syms_of_eval) <debug-on-error>: Doc fix. + +2001-03-08 Gerd Moellmann <gerd@gnu.org> + + * process.c (Fset_process_window_size): Fix a typo. + +2001-03-08 Kenichi Handa <handa@etl.go.jp> + + * 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 <monnier@cs.yale.edu> + + * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is + a string before extracting its data. + +2001-03-07 Gerd Moellmann <gerd@gnu.org> + + * window.c (Frecenter): Rewrite code handling negative values + of ARG on graphical frames. + +2001-03-07 Eli Zaretskii <a34785@is.elta.co.il> + + * 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 <gerd@gnu.org> + + * buffer.c (syms_of_buffer) <header-line-format>: 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 <handa@etl.go.jp> + + * xterm.c (XTflash): Make the timeout of select shorter, and call + select repeatedly until the desired time expires. + +2001-03-06 Gerd Moellmann <gerd@gnu.org> + + * 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 <eliz@is.elta.co.il> + + * dispnew.c (syms_of_display) <glyph-table>: Doc fix. + +2001-03-06 Gerd Moellmann <gerd@gnu.org> + + * 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 <handa@etl.go.jp> + + * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case + that the source is unibyte. + +2001-03-05 Dave Love <fx@gnu.org> + + * xterm.c (XTmouse_position): Fix typo. + +2001-03-05 Gerd Moellmann <gerd@gnu.org> + + * minibuf.c (read_minibuf): Clean up the binding stack if + called noninteractively. + +2001-03-05 Kenichi Handa <handa@etl.go.jp> + + * coding.c (syms_of_coding): Docstring modified. + +2001-03-05 Kenichi Handa <handa@etl.go.jp> + + * 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 <eliz@is.elta.co.il> + + * 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 <gerd@gnu.org> + + * xterm.c (glyph_rect): New function. + (XTmouse_position): Use it to raise the threshold for mouse + movement event generation. + +2001-03-02 Eli Zaretskii <eliz@is.elta.co.il> + + * 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 <gerd@gnu.org> + + * 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 <gerd@gnu.org> + + * window.c (Fwindow_end): Call move_it_past_eol only if + ending up on a partially visible line. + +2001-03-01 Dave Love <fx@gnu.org> + + * ccl.c (Fccl_execute): Doc fix. + +2001-03-01 Gerd Moellmann <gerd@gnu.org> + + * 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 <raeburn@gnu.org> + + * lisp.h (Fframe_parameter): Declare. + + * window.c (set_window_buffer): Field vscroll is an int, not a + Lisp_Object. + +2001-02-28 Gerd Moellmann <gerd@gnu.org> + + * 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 <handa@etl.go.jp> + + * 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) <CCL_WriteMultibyteChar2>: + Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR. + <ccl_finish>: Set ccl->eight_bit_control properly. + + * ccl.h (struct ccl_program): New member eight_bit_control. + +2001-02-26 Stefan Monnier <monnier@cs.yale.edu> + + * 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 <gerd@gnu.org> + + * dispnew.c: Check HAVE_TERM_H before including term.h. + +2001-02-24 Andrew Innes <andrewi@gnu.org> + + * makefile.w32-in: Update copyright notice. + +2001-02-24 Stefan Monnier <monnier@cs.yale.edu> + + * keymap.c (where_is_internal): Accept non-ascii integer prefixes. + +2001-02-24 Kenichi Handa <handa@etl.go.jp> + + * 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 <jasonr@gnu.org> + + * 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 <andrewi@gnu.org> + + * 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 <gerd@gnu.org> + + * 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 <gerd@gnu.org> + + * 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 <gerd@gnu.org> + + * 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 <gerd@gnu.org> + + * 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 <gerd@gnu.org> + + * 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 <handa@etl.go.jp> + + * 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 <eliz@is.elta.co.il> + + * textprop.c (Fset_text_properties): Doc fix. + +2001-02-15 Gerd Moellmann <gerd@gnu.org> + + * dispnew.c (update_text_area): Undo change of 2001-01-12. + +2001-02-14 Dave Love <fx@gnu.org> + + * coding.c: Doc and message fixes. + +2001-02-14 Andrew Innes <andrewi@gnu.org> + + * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the + Emacs frame above the screen size. + +2001-02-14 Gerd Moellmann <gerd@gnu.org> + + * xdisp.c (reseat_1): Set iterator's end_charpos to ZV. + +2001-02-13 Gerd Moellmann <gerd@gnu.org> + + * 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) <GET_BUFFER_WINDOW>: 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 <handa@etl.go.jp> + + * 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 <andrewi@gnu.org> + + 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 <handa@etl.go.jp> + + 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 <jasonr@gnu.org> + + * 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 <zsh@cs.rochester.edu> + + * charset.c (Fstring): A typo. + +2001-02-09 Kenichi Handa <handa@etl.go.jp> + + * 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 <monnier@cs.yale.edu> + + * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range' + to avoid overflow. + +2001-02-07 Kenichi Handa <handa@etl.go.jp> + + * 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 <andrewi@gnu.org> + + * 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 <gerd@gnu.org> + + * dispnew.c (update_frame_line): Rename parameter FRAME to F. + Avoid some unnecessary cursor positioning. + +2001-02-05 Gerd Moellmann <gerd@gnu.org> + + * 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 <fx@gnu.org> + + * puresize.h: Revert last change following loadup.el change. + +2001-02-05 Andrew Innes <andrewi@gnu.org> + + * 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 <gerd@gnu.org> + + * 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 <handa@etl.go.jp> + + * 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 <gerd@gnu.org> + + * 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 <eliz@is.elta.co.il> + + * 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 <gerd@gnu.org> + + * 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 <eliz@is.elta.co.il> + + * frame.c (Fmodify_frame_parameters): Doc fix. + +2001-01-31 Gerd Moellmann <gerd@gnu.org> + + * 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 <eliz@is.elta.co.il> + + * editfns.c (Fformat_time_string): Doc fix. + +2001-01-31 Stefan Monnier <monnier@cs.yale.edu> + + * 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 <gerd@gnu.org> + + * 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 <fx@gnu.org> + + * .gdbinit (hook-run): Define to run xreload. + + * textprop.c (Fset_text_properties): Fix newline in doc string. + +2001-01-30 Gerd Moellmann <gerd@gnu.org> + + * 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 <fx@gnu.org> + + * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and + AFTER_POTENTIAL_GC. + +2001-01-29 Gerd Moellmann <gerd@gnu.org> + + * bytecode.c (Fbyte_code) <Bcurrent_column>: + Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC. + +2001-01-29 Eli Zaretskii <eliz@is.elta.co.il> + + * textprop.c (Fset_text_properties): Doc fix. + +2001-01-29 Gerd Moellmann <gerd@gnu.org> + + * xdisp.c (forward_to_next_line_start): Remove xassert. + +2001-01-29 Jason Rumney <jasonr@gnu.org> + + * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid + returning without releasing it. + +2001-01-29 Kenichi Handa <handa@etl.go.jp> + + * w32fns.c (w32_font_match): Allocate three more bytes to regex + for '^', '$', and '\0'. + +2001-01-28 Andrew Choi <akochoi@i-cable.com> + + * 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 <handa@etl.go.jp> + + * 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 <gerd@gnu.org> + + * xdisp.c (display_line): Don't treat a newline as fitting + on the line. + +2001-01-26 Gerd Moellmann <gerd@gnu.org> + + * 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 <handa@etl.go.jp> + + * 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 <gerd@gnu.org> + + * 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 <fx@gnu.org> + + * puresize.h (BASE_PURESIZE): Up to 720000. + + * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4. + +2001-01-25 Gerd Moellmann <gerd@gnu.org> + + * 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 <eliz@is.elta.co.il> + + * ccl.c (ccl_driver): Fix last change. + +2001-01-25 Kenichi Handa <handa@etl.go.jp> + + * 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 <monnier@cs.yale.edu> + + * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not' + as if it was a `charset'. + +2001-01-24 Gerd Moellmann <gerd@gnu.org> + + * 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 <eliz@is.elta.co.il> + + * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr + if HAVE_WINDOW_SYSTEM isn't defined. + +2001-01-24 Gerd Moellmann <gerd@gnu.org> + + * 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 <handa@etl.go.jp> + + * 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_SUSPEND, CCL_INVALID_CMD): Likewise. + (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do" + statement. + +2001-01-23 Gerd Moellmann <gerd@gnu.org> + + * xterm.c (x_set_window_size_1): New function extracted from + x_set_window_size. + (x_set_window_size): Use it. + (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window + doesn't have a widget, like tooltips. + +2001-01-23 Eli Zaretskii <eliz@is.elta.co.il> + + * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix. + +2001-01-23 Kenichi Handa <handa@etl.go.jp> + + * fns.c (Fset_char_table_default): Fix to make sub char-table + correctly. + +2001-01-22 Gerd Moellmann <gerd@gnu.org> + + * xdisp.c (build_desired_tool_bar_string): Make sure we have + a desired tool bar string, even if there are no tool bar items. + + * xdisp.c (Ftool_bar_lines_needed): New function. + (syms_of_xdisp): Defsubr it. + + * editfns.c (Fformat): Don't extend text properties from arguments + to padding chars in the result. + +2001-01-20 Eli Zaretskii <eliz@is.elta.co.il> + + * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS. + +2001-01-20 Andrew Innes <andrewi@gnu.org> + + * w32term.c (w32_ring_bell): Only support visible bell on w32 frames. + (w32_initialize): Don't set term hooks that aren't actually needed + in windowed mode. + + * xfaces.c (realize_default_face): + (realize_face): + (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P. + + * xdisp.c (handle_single_display_prop): Remove references to + FRAME_W32_CONSOLE_P. + + * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P. + + * frame.h (output_method): Remove output_w32_console method. + (FRAME_W32_CONSOLE_P): Remove macro. + + * frame.c (Qw32_console): Remove variable. + (Fframep): Remove references to it. + (syms_of_frame): Ditto. + (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P. + + * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original + redefinition. + +2001-01-20 Kenichi Handa <handa@etl.go.jp> + + * editfns.c (Fformat): Use lisp_string_width instead of strwidth. + +2001-01-19 Andrew Innes <andrewi@gnu.org> + + * w32.c (init_environment): Add a version-independent site-lisp + directory to EMACSLOADPATH, after the version dependent one. + +2001-01-19 Gerd Moellmann <gerd@gnu.org> + + * editfns.c (Fbuffer_substring): Doc fix. + + * xdisp.c (message_dolog, message2, message2_nolog): + Rename parameter LEN to NBYTES. + +2001-01-19 Kenichi Handa <handa@etl.go.jp> + + * charset.c (strwidth): Use c_string_width. + (c_string_width): New function. + (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES. + Caller changed. + + * charset.h (c_string_width, lisp_string_width): Extern them. + + * doprnt.c (doprnt1): Get byte length of Lisp string correctly. + + * indent.c (check_composition): Check validity of composition. + + * xdisp.c (store_frame_title): Pay attention to width of non-ASCII + characters by calling c_string_width. + (x_consider_frame_title): Get byte length of frame tile string + correctly. + (display_mode_element): Pay attention to width of non-ASCII + characters by calling strwidth. + +2001-01-18 Gerd Moellmann <gerd@gnu.org> + + * xfns.c (Qcancel_timer): New variable. + (syms_of_xfns): 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_xfns removed. + + * window.c (Fwindow_live_p): Use WINDOW_LIVE_P. + + * window.h (WINDOW_LIVE_P): New macro. + + * window.c (window_size_fixed): New variable. + (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for + the doc string. + + * eval.c (specbind): If binding a per-buffer variable which + doesn't have a buffer-local value in the current buffer, change + the global value by changing the value of the symbol bound in all + buffers not having their own value, to make it consistent with + what happens with other buffer-local variables. + + * xterm.c (x_initialize): Set char_ins_del_ok to 1. + + * xdisp.c (forward_to_next_line_start): Stop at end of buffer + when searching for a newline. + +2001-01-18 Kenichi Handa <handa@etl.go.jp> + + * xdisp.c (display_string): Fix previous change. + +2001-01-18 Jason Rumney <jasonr@gnu.org> + + * w32term.c (x_produce_stretch_glyph): Only use Qspace when + GLYPH_DEBUG is defined. + (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't + true for images with `:ascent 100'. + (x_set_mouse_face_gc): If the last used mouse face has gone in the + meantime, use face MOUSE_FACE_ID. + If first glyph isn't a character glyph, use the ASCII NUL + character to determine the face. + (expose_area): Do not treat left margin specially. + (note_mode_line_highlight): If no local_map, check global keymap. + (note_mouse_highlight): Initialize overlay. + (clear_mouse_face): Don't return if tip_frame is non-nil. + (show_scroll_bars): Remove unused function. + (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil. + (x_draw_bar_cursor): Remove extra test for out of bounds cursor. + Clip to row. + (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil. + (x_free_frame_resources): Unload relief colors. + +2001-01-17 Gerd Moellmann <gerd@gnu.org> + + * xdisp.c (forward_to_next_line_start): Avoid calling + get_next_display_element when the newline is already found. + This may change the iterator's position, when its current position is + equal to the iterator's stop_charpos. + + * dispnew.c (direct_output_for_insert): If char_ins_del_ok is + zero, use this method only at the end of a line. + + * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the + call to x_list_fonts. Call x_list_fonts with SIZE -1 only + if SCALABLE_FONTS_P is set. + + * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1, + so that scalable fonts are included. + + * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0, + In the cache, use a key containing the information if scalable + fonts are included. + (x_load_font): Adapt to change of keys in the font cache. + +2001-01-17 Kim F. Storm <storm@filanet.dk> + + * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of + XListFonts to take advantage of font caching. + + * xterm.c (x_list_fonts): Ensure caching font information when + called for a null frame, which is the case frequently when Emacs + starts. + +2001-01-17 Gerd Moellmann <gerd@gnu.org> + + * xfns.c (QCconversion): Replaces QCalgorithm. + + * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright. + + * xdisp.c (build_desired_tool_bar_string): Use :conversion instead + of :algorithm. + + * xdisp.c (redisplay_tool_bar): Change tool bar's height when + not everything could be displayed. + + * line.h, x-list-font.c: Files removed because unused. + +2001-01-17 Andrew Innes <andrewi@gnu.org> + + * dired.c (directory_files_internal): Convert result from readdir + to a unibyte string initially, to avoid possible misinterpretation + of some bytes as the internal form of Emacs characters. + +2001-01-17 Kenichi Handa <handa@etl.go.jp> + + * fns.c (concat): Be sure to avoid putting the same `composition' + property on the adjacent regions. + +2001-01-16 Gerd Moellmann <gerd@gnu.org> + + * window.c (Fset_window_hscroll): Don't set window's min_hscroll here. + (Fscroll_right, Fscroll_left): Set it here instead, if called + interactively. + + * buffer.c (Fset_buffer_modified_p): Set buffer's + prevent_redisplay_optimizations_p flag. + + * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c, + * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area + with additional arg. + + * dispextern.h, lisp.h (redisplay_preserve_echo_area): + Change prototype. + + * xdisp.c (redisplay_preserve_echo_area): Add parameter + FROM_WHERE, for debugging. + +2001-01-16 Kenichi Handa <handa@etl.go.jp> + + * ccl.c (Fregister_ccl_program): Handle the return value of + resolve_symbol_ccl_program correctly. + (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed. + +2001-01-15 Gerd Moellmann <gerd@gnu.org> + + * xterm.c (x_set_mouse_face_gc): If the last used mouse face + has gone in the meantime, use face MOUSE_FACE_ID. + + * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: + If x_display_info_for_display returns null, don't try to close + the display; we didn't open it. + + * dispnew.c (save_or_restore_current_matrices): Function removed. + (save_current_matrix, restore_current_matrix): New functions. + (adjust_frame_glyphs_for_frame_redisplay): Use them to save and + restore the frame's current matrix. Due to the glyph pointer + setup done in adjust_glyph_matrix, there is no easy way to make + saving the current matrix in the desired matrix generally correct, + so don't try it. + +2001-01-15 Kenichi Handa <handa@etl.go.jp> + + * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by + truncation glyphs. + (display_line): Optimize for wide characters. + (display_string): Don't try to display a multi-column character + partially. On ttys, produce more than one truncation glyph for + multi-column characters that don't fit on the line. + +2001-01-13 Kenichi Handa <handa@etl.go.jp> + + * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]: + Define it instead of WORDS_BIGENDIAN. Caller changed. + +2001-01-13 Jason Rumney <jasonr@gnu.org> + + * w32fns.c (Fimage_size, image_ascent, lookup_image) + (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec) + (xbm_format, xpm_format, pbm_format, png_format, jpeg_format) + (tiff_format, gif_format, gs_format): Adapt to change of image margins. + + * w32term.c (x_produce_image_glyph, x_draw_image_foreground) + (x_draw_image_relief, x_draw_image_foreground_1) + (x_draw_image_glyph_string): Adapt to change of image margins. + + * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused + variables. + + * w32bdf.c (search_file_line, get_cached_font_char) + (cache_char_offset, create_offscreen_bitmap): Remove unused variables. + + * w32inevt.c (w32_console_toggle_lock_key): Add parentheses. + + * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height) + (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog) + (Fw32_send_sys_command): Remove unused variables. + (w32_msg_pump): Add parentheses. + + * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon) + (x_new_fontset, x_calc_absolute_position, x_iconify_frame): + Add parentheses. + +2001-01-12 Gerd Moellmann <gerd@gnu.org> + + * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin. + (build_desired_tool_bar_string): Handle Vtool_bar_button_margin + being a pair of margins. + (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins + to DEFVAR_LISP. Extend doc. + + * xfns.c (Fimage_size, image_ascent): Adapt to the change of image + margins. + (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a + pair of integers `(X . Y)', use X for the horizontal and Y for the + vertical margin. + (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator. + (parse_image_spec): Check it. + (xbm_format, xpm_format, pbm_format, png_format, jpeg_format) + (tiff_format, gif_format, gs_format): + Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin. + + * xterm.c (x_produce_image_glyph, x_draw_image_foreground) + (x_draw_image_relief, x_draw_image_foreground_1) + (x_draw_image_glyph_string): Adapt to the change of image margins. + + * dispextern.h (struct image): Replace member `margin' with + `hmargin' and `vmargin'. + + * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW + and GLYPHS. + + * dispnew.c (update_text_area): Put code which decrements the + stop position when the row's face extends to the end of the + line in #if 0. + + * xfns.c (x_set_mouse_color): Fix color allocation. + + * keyboard.c: Call get_local_map with new argument list. + + * intervals.c (get_local_map): Change TYPE to Lisp_Object. + + * intervals.h (enum map_property): Removed. + (get_local_map): Change prototype. + + * keymap.c: Call get_local_map with new argument list. + (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP. + +2001-01-11 Gerd Moellmann <gerd@gnu.org> + + * xdisp.c (build_desired_tool_bar_string): Correct the computation + of the size needed for the tool bar string. For the last image, + use a `display' property that reaches to the end of the string. + + * xselect.c (selection_request_dpyinfo): New variable. + (x_handle_selection_request): Set it. + (x_selection_request_lisp_error): Don't call + x_decline_selection_request if selection request's display has + been closed. + + * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]: + Do the unregister_colors before calling XFreeColors. + +2001-01-10 Dave Love <fx@gnu.org> + + * Makefile.in (${etc}DOC): Depend on ${shortlisp} and + ${SOME_MACHINE_LISP}, not ${lisp}. + +2001-01-10 Gerd Moellmann <gerd@gnu.org> + + * xdisp.c (display_line): On ttys, produce more than one truncation + glyph for multi-column characters that don't fit on the line. + + * xselect.c (x_reply_selection_request): Add a comment. + + * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and + XkbGetNames instead of XkbGetKeyboard. + +2001-01-10 Dave Love <fx@gnu.org> + + * sysdep.c (random): Revert the declaration. + +2001-01-09 Gerd Moellmann <gerd@gnu.org> + + * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]: + Call function string_bytes. + (GC_CHECK_STRING_BYTES): Moved here from alloc.c. + + * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro. + (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions. + (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P. + (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in + the current sblock. + (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES. + (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes + after sweeping strings, and at the end. + (GC_CHECK_STRING_BYTES): Moved to lisp.h. + + * alloc.c (Fgarbage_collect): Use a record_unwind_protect to + ensure that pop_message is called. + + * keyboard.c (Fexecute_extended_command): Use a + record_unwind_protect to ensure that pop_message is called. + + * lisp.h (push_message_unwind): Add prototype. + + * xdisp.c (push_message_unwind): New function. + + * fileio.c (do_auto_save_unwind): Do the pop_message here + instead of in Fdo_auto_save. + (Fdo_auto_save): Don't call pop_message. + +2001-01-08 Ken Raeburn <raeburn@gnu.org> + + * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I + in inner block. + +2001-01-08 Gerd Moellmann <gerd@gnu.org> + + * window.c (window_scroll_pixel_based): Adjust glyph matrices + when increasing window's vscroll. + + * macros.c (Qkbd_macro_termination_hook): New variable. + (syms_of_macros): Initialize and staticpro it. + (pop_kbd_macro): Run kbd-macro-termination-hook. + + * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil. + +2001-01-07 Dave Love <fx@gnu.org> + + * keyboard.c (Fread_key_sequence_vector): Avoid newline in + arglist, for documentation's sake. + +2001-01-06 Andrew Innes <andrewi@gnu.org> + + * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead + of *.pdb. + +2001-01-05 Andrew Innes <andrewi@gnu.org> + + * term.c (update_end): Don't check updating_frame; for some reason + this can be 0 sometimes, such as after dismissing a popup menu, + and isn't necessary given the explicit frame argument. + +2001-01-05 Gerd Moellmann <gerd@gnu.org> + + * sysdep.c: Don't prototype srandom; it takes an unsigned argument + on some systems, and an unsigned long on others, like FreeBSD 4.1. + +2001-01-04 Gerd Moellmann <gerd@gnu.org> + + * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil. + + * xfns.c (x_create_tip_frame): Preserve the value of + face_change_count around the creation of the tip frame. + + * xfns.c (last_show_tip_args): New variable. + (compute_tip_xy): New function. + (Fx_show_tip): Reuse an existing tip frame, if possible. + (syms_of_xfns): Initialize and staticpro last_show_tip_args. + +2001-01-04 Dave Love <fx@gnu.org> + + * editfns.c (Fformat): Doc fix. + + * systime.h (set_file_times): Prototype. + + * widget.h (EmacsFrameSetCharSize_): Prototype. + + * sysdep.c (random, srandom): Declare explicitly. + + * dispextern.h (move_it_vertically_backward): Declare. + +2001-01-04 Gerd Moellmann <gerd@gnu.org> + + * xfns.c (x_create_tip_frame): Call face-set-after-frame-default, + like in Fx_create_frame. + + * xfaces.c (set_font_frame_param): Don't do anything for + non-graphical frames. + + * window.c (Fdelete_other_windows): Set window's window_end_valid + to nil when changing the window's start. Don't change the + window's start when its top position hasn't changed. If we do, + this will set the window's optional_new_start, which act's like a + force_start during redisplay with C-x 1 M-> under particular + circumstances (see report from Per Starback to emacs-pretest-bug + from 2000-12-13.). + +2001-01-03 Gerd Moellmann <gerd@gnu.org> + + * xdisp.c (forward_to_next_line_start): Reset it->c if taking the + short cut at the start of the function. Add an assertion. + (reseat_at_next_visible_line_start): Add an assertion. + + * window.c (Frecenter): When changing the window start, set the + window's window_end_valid to nil. + (Fwindow_end): Fix window-end computation when UPDATE is non-nil. + + * dispextern.h (move_it_past_eol): Add prototype. + + * xdisp.c (move_it_past_eol): New function. + + * window.c (Fwindow_end): Doc fix. + +2001-01-03 Dave Love <fx@gnu.org> + + * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge. + +2001-01-03 Gerd Moellmann <gerd@gnu.org> + + * xdisp.c (try_window_reusing_current_matrix): Fix bug setting + the enabled_p flag of the glyph row at window_end_vpos to 0. + (handle_single_display_prop): Fix last change. + +2001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu> + + * window.c (Frecenter): Doc fix. + +2001-01-02 Andrew Innes <andrewi@gnu.org> + + * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition. + + * frame.h (output_method): Add output_w32_console method. + (FRAME_W32_CONSOLE_P): New macro. + + * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames + use output_w32_console method. + (Qw32_console): New Lisp_Object. + (Fframep): Return it. + (syms_of_frame): Init it. + (Fframe_parameters): Report w32console as font for w32_console frames. + + * xfaces.c (realize_default_face): Set face foreground and + background to unspecified for w32_console frames. + (realize_face): Realize face cache for w32_console frames. + (realize_tty_face): Accept w32_console frames. + + * xdisp.c (handle_single_display_prop): Return if frame is w32_console. + (init_iterator) [WINDOWSNT]: Initialize frame face cache if + necessary, even if running interactively. + + * dispnew.c (Fredraw_frame): Call set_terminal_modes for + w32_console frames. + + * w32term.c (x_update_begin): + (x_update_end): + (x_clear_frame): + (x_ins_del_lines): + (x_change_line_highlight): + (x_delete_glyphs): + (w32_ring_bell): + (x_update_begin): + (x_update_end): + (w32_reassert_line_highlight): + (w32_frame_rehighlight): + (w32_frame_raise_lower): Do nothing if not w32 frame. + + * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame. + + * w32fns.c (Fx_display_color_cells): Determine correct value, when + system doesn't tell us directly. + (Fx_display_visual_class): Implement properly. + +2001-01-02 Gerd Moellmann <gerd@gnu.org> + + * window.c (Frecenter): Handle centering in graphical frames + specially. Centering on the basis of line counts doesn't work + reliably with variable-height lines. + +2001-01-02 Eli Zaretskii <eliz@is.elta.co.il> + + * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac' + and al[]. + + * composite.c (run_composition_function): Remove unused var `val'. + (update_compositions): Remove unused variable `hook'. + + * intervals.c (get_local_map): Remove unused variable `tem'. + + * doprnt.c (doprnt1): Remove unused variable `size'. + + * fns.c (Flength): Remove unused variable `tail'. + (Fdelete): Remove unused variable `size'. + + * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1' + and `gcpro2'. + + * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'. + + * data.c (find_symbol_value): Remove extra 3rd argument in the + call to swap_in_symval_forwarding. + + * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'. + + * search.c (shrink_regexp_cache): Remove unused variable `cpp'. + (trivial_regexp_p): Remove unused variable `c'. + (boyer_moore): Remove unused variable `k'. + + * indent.c (current_column): Remove unused variable `stopchar'. + (Fcompute_motion): Remove unused variable `contin'. + + * casefiddle.c (casify_object): Remove unused variable `tolen'. + + * dired.c (directory_files_internal): Fix a typo in a comment. + Remove an unused variable `handler'. + (file_name_completion): Remove unused function-scope variable `dp'. + (Ffile_attributes) <dirname, sdir>: Make declarations conditioned + on BSD4_2. + + * fileio.c (e_write): Remove unused variable `require_encoding_p'. + + * marker.c (Fmarker_position): Remove unused variables `pos', `i', + and `buf'. + (Fmarker_insertion_type): Remove unused variable `buf'. + + * insdel.c (make_gap): Remove unused variable `result'. + + * keyboard.c (record_char): Remove unused function-scope var `help'. + (kbd_buffer_get_event): Remove unused block-scope variable `idx'. + (menu_bar_items): Remove unused function-scope variable `tem'. + + * fontset.c (fontset_ref): Remove unused variable `i'. + (fontset_set): Remove unused variables `j' and `tmp'. + (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'. + (make_fontset_for_ascii_face): Remove unused variable `name'. + (fs_load_font): Remove unused variable `font_idx'. + (fs_query_fontset): Remove unused function-local variable `fontset'. + (list_fontsets): Remove unused variable `tail'. + (Fnew_fontset): Remove unused variables `family' and `registry'. + (accumulate_font_info): Remove unused variable `tmp'. + (Ffontset_font): Remove unused variable `id'. + (syms_of_fontset): Remove unused variable `i'. + + * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call + to x_term_init. + (lookup_image): Remove unused variable `file'. + (xbm_load): Remove unused variables `bitmap_data', `height', and + `width'. Remove function-local variable `i', leave the + block-local one. + (gif_load): Remove unused variable `inc'. + + * xterm.c (XTread_socket): Remove unused variables `p' and `pend'. + (XTread_socket) <LeaveNotify>: Remove unused variable `frame', + leave only the one in the inner block. + + * xfaces.c (face_fontset, realize_default_face): Remove unused + variable `fontset'. + (face_at_buffer_position): Remove unused variable `multibyte_p'. + + * term.c (encode_terminal_code): Remove unused variable `c'. + + * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned + char *' instead of `char *'. + + * category.c (Fcategory_docstring): Remove unused variable `doc'. + (Fget_unused_category): Remove unused variable `docstring_vector'. + (Fchar_category_set): Remove unused variables `val', `charset', + `c1' and `c2'. + + * coding.c (detect_coding_iso2022, setup_coding_system): + Remove unused variable `i'. + (detect_coding_mask): Remove unused variable `idx'. + (detect_coding): Remove unused variable `i'. + (ccl_coding_driver): Remove unused variable `result'. + (run_pre_post_conversion_on_str): Remove unused variable `prev'. + (decode_coding_string): Remove unused variables `to' and `gcpro1'. + (encode_coding_string): Remove unused variables `gcpro1' and + `saved_coding_symbol'. + (Ffind_coding_systems_region_internal): Remove function-local + variable args[], leave only the block-local one. + (code_convert_region1): Remove unused variable `len'. + + * charset.c (char_printable_p): Remove unused variable `chars'. + (Fsplit_char, Fchar_bytes): Remove unused variable `val'. + (str_to_multibyte): Remove unused variable `c'. + + * window.c (size_window): Remove block-local variable `min_size'. + + * xdisp.c (make_cursor_line_fully_visible): Remove unused variable + `header_line_height'. + (append_space, extend_face_to_end_of_line): Declare `saved_what' + enum display_element_type. + +2001-01-02 Gerd Moellmann <gerd@gnu.org> + + * xterm.c (x_connection_closed): Catch X errors around all + statements that call X. Save away the error message in a local copy. + + * xterm.c (x_connection_closed): Set handling_signal to 0 at + the start. + + * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe + in or at the start of invisible text. + + * dispnew.c (update_window): Don't check_current_matrix_flags. + +2001-01-01 Jason Rumney <jasonr@gnu.org> + + * w32fns.c (x_figure_window_size): Do not allow new_height and + new_width of frame to override specified values. + +2000-12-30 Kenichi Handa <handa@etl.go.jp> + + * composite.c (find_composition): Fix a code for searching backward. + +2000-12-29 Gerd Moellmann <gerd@gnu.org> + + * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function. + (update_window) [GLYPH_DEBUG]: Call it. + (scrolling_window): Prevent including current rows which are below + what's displayed in the window. + + * xdisp.c (try_window_reusing_current_matrix) + <new start <= old start>: Disable rows in the current matrix + which are below the window after scrolling. + + * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P + is zero. It's not worth the complexity. + (invisible_text_between_p): Put in #if 0 because unused. + +2000-12-28 Gerd Moellmann <gerd@gnu.org> + + * xfns.c (Fx_backspace_delete_keys_p): Check library and server + XKB versions. Call XkbFreeKeyboard with 2nd arg 0. + + * keyboard.c (echo_char): If C is an integer, always call + push_key_description. Former code could signal an invalid + character error. + + * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE. + If set, print multibyte text. + (Fsingle_key_description): Call push_key_description with + FORCE_MULTIBYTE set. + (describe_buffer_bindings): Likewise. + + * lisp.h (push_key_description): Add prototype. + + * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t + around the call to redisplay_internal. + + * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG. + + * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG. + +2000-12-28 Kenichi Handa <handa@etl.go.jp> + + * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'. + (ccl_driver): New local variable `extra_bytes'. + + * ccl.h (struct ccl_spec): New member eight_bit_carryover. + + * coding.c (setup_coding_system): + Initialize coding->spec.ccl.eight_bit_carryover. + (ccl_coding_driver): Pay attention to carried over 8-bit bytes. + +2000-12-28 Kenichi Handa <handa@etl.go.jp> + + * coding.c (SAFE_ONE_MORE_BYTE): New macro. + (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro. + (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro. + (decode_composition_emacs_mule): New function. + (decode_coding_emacs_mule): Decode composition sequence by calling + decode_composition_emacs_mule. + (ENCODE_COMPOSITION_EMACS_MULE): New macro. + (encode_coding_emacs_mule): Changed from macro to function. + If a text contains compositions, encode them correctly. + (setup_coding_system): Set coding->commong_flags for emacs-mule so + that decoding and encoding are required. + +2000-12-27 Gerd Moellmann <gerd@gnu.org> + + * xfaces.c (PT_PER_INCH): New macro. + (xlfd_point_size): Compute real point size from font's pixel size. + (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH + instead of 72. + + * .gdbinit: Comment out the line pointing to the Lesstif source + directory. + + * window.c (Frecenter): Use displayed_window_lines instead + of window_internal_height. + + * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars + instead of x-toolkit-scroll-bars-p. + (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p. + + * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars + instead of x-toolkit-scroll-bars-p. + (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p. + + * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New. + (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro. + (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]: + New variables. + (add_window_display_history, add_frame_display_history) + (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions. + (build_frame_matrix_from_leaf_window): Remove unused code. + (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to + redisplay history. + (update_frame) [GLYPH_DEBUG]: Add to redisplay history. + (update_window) [GLYPH_DEBUG]: Likewise. + (syms_of_display): Defsubr dump-redisplay-history. + +2000-12-23 Gerd Moellmann <gerd@gnu.org> + + * keyboard.c (echo_prompt): Always set current_kboard->echoptr to + the end of the prompt. Set echo_after_prompt to the offset + of echoptr in echobuf. + + * xdisp.c (init_from_display_pos): Pop until the iterator's + stack is empty; there may be frames for stretch or images + on the stack. + + * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed. + (save_or_restore_current_matrix): New function for the same + purpose, but more efficient. + (adjust_frame_glyphs_for_frame_redisplay): Use it. + +2000-12-23 Eli Zaretskii <eliz@is.elta.co.il> + + * xdisp.c (syms_of_xdisp): Fix last change. + +2000-12-23 Gerd Moellmann <gerd@gnu.org> + + * xdisp.c (syms_of_xdisp): Doc fix. + + * xdisp.c (redisplay_window): Remove label restore_buffers; + use finish_scroll_bars instead to make sure that scroll bars + are redeemed. If we don't do this, flickering can result from + scroll bars being destroyed and recreated. + +2000-12-22 Jason Rumney <jasonr@gnu.org> + + * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear + in the wrong colors when the foreground is not black. + (expose_window): Don't redraw the window that's currently being + updated. + +2000-12-22 Gerd Moellmann <gerd@gnu.org> + + * window.c (size_window): When setting the window's too_small_ok + flag, compare old size with minimum size depending on WIDTH_P, + don't compare with window_min_width. + + * window.c (delete_window): Simplify somewhat. + (Fset_window_configuration): Don't SET_FRAME_GARBAGED after + freeing window matrices. The flag windows_or_buffers_changed is + set, so the next redisplay will consider all windows; this should + suffice. + +2000-12-22 Kenichi Handa <handa@etl.go.jp> + + * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed. + + * ccl.h (struct ccl_program): New member cr_consumed. + + * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here. + (CCL_READ_CHAR): Handle EOL conversion here. + (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise. + +2000-12-21 Gerd Moellmann <gerd@gnu.org> + + * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS. + + * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths, + otherwise tabs of different size compare equal. + + * callint.c (Fcall_interactively): Prevent a compiler warning. + + * print.c (print_unwind): Return nil. + (PRINTDECLARE): Initialize all local variables. + (print_preprocess): Add a default case. + + * lisp.h (Qinhibit_point_motion_hooks): Declare extern. + + * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t. + + * window.c (delete_window, Fsplit_window) + (Fset_window_configuration): Calls to ensure_frame_matrix removed. + + * dispextern.h (ensure_frame_matrix): Function declaration removed. + + * dispnew.c (ensure_frame_matrix): Removed. + (save_frame_matrix, restore_frame_matrix): New functions. + (adjust_frame_glyphs_for_frame_redisplay): Use them. + + * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix) + [GLYPH_DEBUG]: Extended to dump glyphs in short form. + +2000-12-21 Andrew Innes <andrewi@gnu.org> + + * w32term.c (x_update_begin): Regenerate the palette here, rather + than for each window. + + * w32xfns.c (select_palette): Avoid calling SelectPalette if + palette is NULL, since this corrupts memory! Also get + display_info reference from frame. + +2000-12-21 Jason Rumney <jasonr@gnu.org> + + * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap. + + * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC + to avoid returning without releasing it. + +2000-12-21 Kenichi Handa <handa@etl.go.jp> + + * keymap.c (push_key_description): Don't convert eight-bit-control + and eight-bit-graphic to multibyte character. + + * charset.c (Fmake_char_internal): If CHARSET doesn't have a + generic character and CODE1 is nil, return the smallest character + in CHARSET. + +2000-12-20 Dave Love <fx@gnu.org> + + * s/osf5-0.h (NSIG): Don't redefine. + +2000-12-20 Stefan Monnier <monnier@cs.yale.edu> + + * keymap.c (where_is_internal): Check ascii_sequence_p rather than + excluding menu-bar and tool-bar. + (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache. + (menu_item_p): Remove. + (where_is_internal_1): Don't ignore menu-items. + +2000-12-20 Gerd Moellmann <gerd@gnu.org> + + * xdisp.c (hscroll_window_tree): Take window's min_hscroll + into account. + + * window.c (make_window): Initialize window's min_hscroll. + (Fset_window_hscroll): Set window's hscroll and min_hscroll. + (set_window_buffer, temp_output_buffer_show): Set min_hscroll + to zero. + (struct saved_window): New member min_hscroll. + (SAVED_WINDOW_VECTOR_SIZE): Set to 17. + (Fset_window_configuration): Set window's min_hscroll. + (save_window_save): Save window's min_hscroll. + (compare_window_configurations): Compare min_hscroll values. + + * window.h (struct window): New member min_hscroll. + + * keyboard.c (echo_prompt): Prevent a compiler warning. + + * xdisp.c (try_cursor_movement): Fix last change. The real + condition is that PT is at the end of the row, and should + be displayed at the start of the next row. + + * xdisp.c (try_cursor_movement): If we end on a partially + visible line, end we already decided to scroll, return -1. + + * dispextern.h (ensure_frame_matrix): Add prototype. + + * window.c (delete_window, Fsplit_window) + (Fset_window_configuration): Call ensure_frame_matrix. + + * dispnew.c (fake_current_matrices, ensure_frame_matrix): + New functions. + (adjust_frame_glyphs_for_frame_redisplay): If display has been + completed, call fake_current_matrices instead of marking frame + garbaged. + +2000-12-20 Jason Rumney <jasonr@gnu.org> + + * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame. + +2000-12-19 Eli Zaretskii <eliz@is.elta.co.il> + + * fns.c (Frequire): Doc fix. + +2000-12-19 Gerd Moellmann <gerd@gnu.org> + + * window.c (window_scroll_pixel_based): Don't use move_it_vertically. + + * dispnew.c (direct_output_for_insert): Fix check for mini-window + currently displaying a message. + + * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and + xterm.h. + (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font. + +2000-12-18 Andrew Innes <andrewi@gnu.org> + + * w32.c (w32_strerror): New function. + + * w32.h (w32_strerror): New extern. + + * w32fns.c (Fw32_shell_execute): Use it. + +2000-12-18 Gerd Moellmann <gerd@gnu.org> + + * s/hpux10.h (_FILE_OFFSET_BITS): Undef again. + +2000-12-18 Eli Zaretskii <eliz@is.elta.co.il> + + * msdos.c (IT_set_face): Obey inverse_video. + +2000-12-18 Kenichi Handa <handa@etl.go.jp> + + * dired.c (directory_files_internal): Always return decoded filenames. + +2000-12-18 Gerd Moellmann <gerd@gnu.org> + + * xterm.c (x_connection_closed): Prevent being called recursively + because of an error condition in XtCloseDisplay. + + * xdisp.c (init_iterator): If noninteractive, and the frame's + face cache is null, make one. + + * xfns.c (show_busy_cursor): Check for live frames more thoroughly. + + * process.c (wait_reading_process_input): Check for pending + input when running timers. + +2000-12-18 Eli Zaretskii <eliz@is.elta.co.il> + + * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id. + +2000-12-18 Kenichi Handa <handa@etl.go.jp> + + * process.c (read_process_output): Don't run a filter if the code + decoder produces nothing but carryover. + +2000-12-17 Andrew Innes <andrewi@gnu.org> + + * w32.c (sys_rename): Only check errno against EEXIST, and not + EACCES, when determining whether rename failed because the target + exists. This was resulting in indefinite looping on Windows 9x if + the source file was locked by another process. + + * w32fns.c (Ffile_system_info): New function. + (syms_of_w32fns): Defsubr it. + +2000-12-17 Gerd Moellmann <gerd@gnu.org> + + * window.c (coordinates_in_window): Fix computation for + position on vertical line between mode lines. + + * xfns.c (unwind_create_frame): Return t if frame was deleted. + Don't alter tip_frame or tip_window. + (unwind_create_tip_frame): Set tip_frame to nil only if frame + was deleted. + + * w32fns.c (unwind_create_frame): Return t if frame was deleted. + Don't alter tip_frame or tip_window. + (unwind_create_tip_frame): Set tip_frame to nil only if frame + was deleted. + +2000-12-16 Eli Zaretskii <eliz@is.elta.co.il> + + * fileio.c (Fcopy_file): Rename the last argument to keep_time, to + be consistent with the doc string. Reported by NAKAJIMA Mikio + <minakaji@osaka.email.ne.jp>. + +2000-12-16 Kenichi Handa <handa@etl.go.jp> + + * xfaces.c (Vface_ignored_fonts): New variable. + (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts. + (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable. + +2000-12-15 Gerd Moellmann <gerd@gnu.org> + + * dispnew.c (update_window): Detect pending input every nth line + updated, i.e. do it depending on real work done, and not on the + vpos of the line. + + * xterm.c (expose_window): Don't redraw the window that's + currently being updated. + + * window.c (Fset_window_point): Remove test for + cursor_in_non_selected_windows. + + * lread.c (read1): Recognize end of file after `\\'. + + * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame, + not unwind_create_frame. + +2000-12-15 Dave Love <fx@gnu.org> + + * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of + bcopy & al. + + * s/irix6-5.h: #undef bcopy & al here. Include strings.h. + +2000-12-15 Kenichi Handa <handa@etl.go.jp> + + * coding.c (setup_coding_system): Clear all members of the struct + coding_system at first. + (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP + argument. + (code_convert_region): Don't override coding->src_multibyte and + coding->dst_multibyte. + + * fns.c (Fmd5): Docstring improved. + +2000-12-15 Miles Bader <miles@gnu.org> + + * xdisp.c (window_box_height): Only use mode-line glyph-rows that + are actually marked as mode-lines; otherwise use + estimate_mode_line_height. + +2000-12-14 Gerd Moellmann <gerd@gnu.org> + + * editfns.c (Fformat): Prevent a buffer overrun when the format + specifies a precision. + +2000-12-14 Eli Zaretskii <eliz@is.elta.co.il> + + * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the + argument is outside the range [2..3]. + +2000-12-14 Andrew Innes <andrewi@gnu.org> + + * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's + nothing to do. Bind inhibit-quit. + (tip_frame): Make it a Lisp_Object. + (x_create_tip_frame): Set tip_frame after it has been added to + Vframe_list. + (Fx_show_tip): Don't set tip_frame here. + (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables. + (unwind_create_frame, unwind_create_tip_frame): New functions. + (Fx_create_frame, x_create_tip_frame): Handle errors signaled + while a frame is only partially constructed. + + * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object. + (x_free_frame_resources): New function. + (x_destroy_window): Use it. + +2000-12-14 Gerd Moellmann <gerd@gnu.org> + + * xfns.c (Fx_backspace_delete_keys_p): New function. + (syms_of_xfns): Defsubr it. + + * config.in (HAVE_XKBGETKEYBOARD): Add. + +2000-12-14 Kenichi Handa <handa@etl.go.jp> + + * keyboard.c (echo_prompt): Argument type changed to Lisp_Object. + Always store string in multibyte representation in echobuf. + (echo_char): Always store string in multibyte representation in + echobuf. + (echo_now): Call message2_nolog with the arg MULTIBYTE 1. + (read_key_sequence): Adjusted for the change of echo_prompt. + + * fns.c (Fmd5): Docstring improved. + + * lisp.h (detect_coding_system): Prototype adjusted. + + * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro. + (detect_coding_emacs_mule, detect_coding_iso2022,) + (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8) + (detect_coding_utf_16, detect_coding_ccl): Make them static. + New argument MULTIBYTEP. Callers changed. + (detect_coding_mask, detect_coding_system): New argument + MULTIBYTEP. Callers changed. + (decode_coding_string): Set coding->src_multibyte and + coding->dst_multibyte before calling detect_coding and detect_eol. + Update them after some coding system is detected. + +2000-12-13 Stefan Monnier <monnier@cs.yale.edu> + + * keymap.c (get_keyelt): Only eval the filter if `autoload' is set. + + * keyboard.c (menu_bar_items, tool_bar_items): + Set `autoload' when looking up `tool-bar' or `menu-bar' submap. + +2000-12-13 Gerd Moellmann <gerd@gnu.org> + + * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: + New variables. + (unwind_create_frame, unwind_create_tip_frame): New functions. + (Fx_create_frame, x_create_tip_frame): Handle errors signaled + while a frame is only partially constructed. + + * xterm.h (x_free_frame_resources): Declare. + + * xterm.c (x_free_frame_resources): New function. + (x_destroy_window): Use it. + + * dispnew.c (update_window): If do_mouse_tracking is non-nil, + don't interrupt the update for pending input initially, i.e. + update at least some lines. + + * keyboard.c (do_mouse_tracking): Make externally visible. + + * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'. + + * xfns.c (gray_bitmap_bits): Declare `char *'. + +2000-12-12 Gerd Moellmann <gerd@gnu.org> + + * xdisp.c (display_tool_bar_line): Make sure that tool bar + lines start with a relief line. + +2000-12-12 Dave Love <fx@gnu.org> + + * window.c (Fdisplay_buffer): Doc fix. + (Fwindow_list): Remove unused var. + + * buffer.h (mmap_set_vars): Declare. + + * window.h (Fset_window_point): Declare. + +2000-12-12 Eli Zaretskii <eliz@is.elta.co.il> + + * msdos.c (fast_find_position): Don't overstep the last window row. + (IT_note_mouse_highlight): Initialize portion to -1. Remove unused + variable `area'. When looking for a row under (X,Y), give up if some + of the previous rows is not enabled. + +2000-12-12 Gerd Moellmann <gerd@gnu.org> + + * window.c (Fset_window_point): If displaying cursors in windows + other than the selected window, make sure redisplay updates + other windows to show the new value of point in the window. + + * dispextern.h (cursor_in_non_selected_windows): Declare extern. + + * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if + the buffer is the sole visible buffer when in the mini-buffer. + + * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer): + Bind `inhibit-read-only' to t. + (unwind_with_echo_area_buffer): Use AREF. + + * xfns.c (Fx_hide_tip): Simplified. + + * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS + instead of `1'. + + * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS. + +2000-12-11 Gerd Moellmann <gerd@gnu.org> + + * xfns.c (Fx_hide_tip): Fix last change. + + * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's + nothing to do. Bind inhibit-quit. + (tip_frame): Make it a Lisp_Object. + (x_create_tip_frame): Set tip_frame after it has been added to + Vframe_list. + (Fx_show_tip): Don't set tip_frame here. + + * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object. + + * xdisp.c (prepare_menu_bars): Changes for tip_frame being a + Lisp_Object. + + * dispextern.h: Change external declaration of tip_frame. + + * keymap.c (Fkey_description): If KEYS is an empty key sequence, + return an empty string. + + * xdisp.c (try_cursor_movement): Check update_mode_lines instead + of the window's update_mode_line flag, since the former is set by + force-mode-line-update, not the latter. This makes + column-number-mode slightly faster. + + * xdisp.c (try_window_id) <all changes above window start>: + Set the cursor. + +2000-12-11 Paul Eggert <eggert@twinsun.com> + + * config.in (HAVE_FTELLO): Remove. + (HAVE_FSEEKO): Add. + (_XOPEN_SOURCE): Remove; the large-file code no longer needs it. + * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not + HAVE_FTELLO. + * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef. + * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE. + +2000-12-11 Miles Bader <miles@gnu.org> + + * window.c (displayed_window_lines): Don't round up when + converting empty space at bottom to lines. + Handle non-newline-terminated final lines properly. + (Fwindow_text_height): New function (used to be in lisp). + (syms_of_window): Initialize it. + +2000-12-09 Stefan Monnier <monnier@cs.yale.edu> + + * syntax.c (scan_lists): Check that the right quote char has the + right Sstring syntax when jumping over strings. + (init_syntax_once): Use Smax rather than 13. + +2000-12-09 Miles Bader <miles@gnu.org> + + * window.c (Fpos_visible_in_window_p): Replace FULLY parameter + with PARTIALLY, inverting the sense. + (window_scroll_pixel_based): Scroll partially visible lines into + place if we hit the beginning or end of the buffer. + (displayed_window_lines): Don't include partially visible lines. + (Fmove_to_window_line): Skip past any partially visible first line. + +2000-12-08 Gerd Moellmann <gerd@gnu.org> + + * keymap.c (current_minor_maps): Use malloc. Prevent a leak. + + * tparam.c (tparam1): Change the way buffers are reallocated to be + portable and less obfuscated. + + * termcap.c (tgetent): Change the way buffers are reallocated to + be portable and less obfuscated. + + * macros.c (store_kbd_macro_char): Change the way buffers are + reallocated to be portable and less obfuscated. + + * lread.c (read1): Change the way buffers are reallocated to be + portable and less obfuscated. + + * doc.c (Fsubstitute_command_keys): Change the way buffers + are reallocated so that it is portable. + +2000-12-07 Eli Zaretskii <eliz@is.elta.co.il> + + * dosfns.c (Ffile_system_info): New function. + (syms_of_dosfns): Defsubr it. + +2000-12-07 Stefan Monnier <monnier@cs.yale.edu> + + * alloc.c (gc_sweep): Add comment. + +2000-12-07 Gerd Moellmann <gerd@gnu.org> + + * sound.c (vox_configure): Change order of ioctls. + Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE. + Ignore errors when changing volume. + (vox_close): Don't reset the device. + + * process.c (read_process_output): Make sure the process marker's + position is valid when the process buffer is changed in + after-change functions. W3 does that. + + * xfns.c (x_free_gcs): New function. + + * xterm.h (x_free_gcs): Add prototype. + + * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of + freeing GCs here. + + * xterm.c (x_destroy_window): Call x_free_gcs so that + resources of non-toolkit X windows will be freed. + +2000-12-07 Andrew Innes <andrewi@gnu.org> + + * w32fns.c (xlfd_charset_of_font): Fix last change. + +2000-12-06 Dave Love <fx@gnu.org> + + * md5.h (__P): Don't define -- it comes from config.h. + + * strftime.c: Change some #if foo to #ifdef foo. + +2000-12-06 Andrew Innes <andrewi@gnu.org> + + * w32term.h (CP_INVALID): Rename to CP_UNKNOWN. + + * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument. + (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN. + (w32_list_fonts): Don't choke if pattern doesn't specify a codepage. + +2000-12-06 Gerd Moellmann <gerd@gnu.org> + + * alloc.c (gc_sweep): Prevent symbols read during loadup + from being freed. + + * xdisp.c (underlying_face_id): New function. + (handle_face_prop, face_before_or_after_it_pos): Use it + to determine the face ``under'' a string. Let strings inherit + the face of the buffer under them. + + * xfaces.c (face_at_string_position): Update function comment. + + * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current + matrix if the window's left position has changed; we need to + redraw it in this case. + + * dispextern.h (struct glyph_matrix): Add member window_left_x. + + * window.c (coordinates_in_window): Check mouse on mode-line or + header-line first. + + * alloc.c (Fgarbage_collect): Dox fix. Return a list as + advertized by the function documentation. + + * window.c (syms_of_window): Doc fix. + + * sound.c (vox_configure): Set volume for left and right channel. + (sound_cleanup): Return nil. + + * xdisp.c (move_it_by_lines): Fix paren typo. + + * xterm.c (x_load_font): Don't use the font's max_bounds for + computing the height of the font. If max_bounds' ascent or + descent are greater than the font's ascent or descent, this means + glyphs overlap, which should be handled now by redisplay. + + * window.c (Veven_window_heights): New variable. + (syms_of_window): DEFVAR_LISP it. + (Fdisplay_buffer): Check Veven_window_heights before evening the + window heights. + +2000-12-06 Miles Bader <miles@gnu.org> + + * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t', + update `default-frame-alist' instead of setting no frame parameters. + +2000-12-06 Kenichi Handa <handa@etl.go.jp> + + * composite.c (update_compositions): Fix typo (use the correct + variable). + +2000-12-05 Jason Rumney <jasonr@gnu.org> + + * md5.h: Remove underscores from function declarations. + (__attribute__, __alignof__) [!__GNUC__]: Define. + + * md5.c: Delay include of md5.h until after namespace cleaning. + + * makefile.w32-in (fns.o): Depend on md5.h + (md5.o): New target. + (sunfns.o): Remove. + + * makefile.nt: Likewise. + +2000-12-05 Jason Rumney <jasonr@altavista.net> + + * w32term.c (expose_area): Complete last change. + +2000-12-05 Ken Raeburn <raeburn@gnu.org> + + * minibuf.c: Include intervals.h. + +2000-12-05 Jason Rumney <jasonr@gnu.org> + + * w32term.c (x_produce_glyphs): If a font for a component of + a composition is not found, use 1 pixel dot ascent and 0 dot + descent value to avoid displaying terribly tall empty boxes. + (expose_area): Pass x-coordinate relative to the exposed + area to x_draw_glyphs instead of a window-relative coordinate. + +2000-12-05 Gerd Moellmann <gerd@gnu.org> + + * xdisp.c (next_element_from_ellipsis): Save face before selective + display in saved_face_id, and set face_before_selective_p. + (reseat_1): Reset face_before_selective_p. + (append_space, extend_face_to_end_of_line): If iterator's + face_before_selective_p is set, use the face from saved_face_id. + (extend_face_to_end_of_line): For tty frames, make sure to + use the right face id when producing spaces at the end of + the line. + + * dispextern.h (struct it): Add face_before_selective_p. + + * keyboard.c (record_char): Don't record identical help-echo + events in recent_keys. + + * xterm.c [USE_X_TOOLKIT]: Close the display. + (xim_close_dpy): Handle case that the display has been closed. + + * xterm.c (x_destroy_window): Reset the frame's X window after + destroying it. + + * dispnew.c (adjust_glyph_matrix): Make sure to initialize local + variable window_width. + (line_draw_cost): Fix code skipping over spaces at the end of the + line when must_write_spaces is not set. + (scrolling_window): Fix code inserting runs in list of all runs. + +2000-12-05 Kenichi Handa <handa@etl.go.jp> + + * coding.c (setup_coding_system): Be sure to initialize + coding->category_idx. + +2000-12-04 Gerd Moellmann <gerd@gnu.org> + + * xterm.c (PER_CHAR_METRIC): Removed because not used. + + * xterm.c (expose_area): Pass x-coordinate relative to the exposed + area to x_draw_glyphs instead of a window-relative coordinate. + + * fileio.c (auto_save_error): Add parameter ERROR. Show the + error in the message. + + * keyboard.c (Fread_key_sequence): Don't start the busy cursor + timer after having read a key. It's not good for code reading + several keys in a loop, like an input method. + + * fileio.c (Finsert_file_contents): When VISIT is t, don't + record undo information for format-decode. + + * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if + current buffer is read-only, not if it isn't. + + * keyboard.c (record_char): Record `help-echo' input events + in recent_keys only if they display some help. Don't record + `help-echo' events as macro char. + +2000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu> + + * editfns.c (save_excursion_restore): Don't move point + in another window if it is showing the wrong buffer. + Avoid the call to Fwindow_live_p, for speed. + +2000-12-04 Kenichi Handa <handa@etl.go.jp> + + * xfaces.c (struct font_name): New member registry_priority. + (split_font_name): Initialize the above member to zero. + (concat_font_list): New function. + (font_list): Include fonts of all alternative registries. + (FONT_POINT_SIZE_QUANTUM): New macro. + (better_font_p): Ignore point size difference less than + FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort. + + * xterm.c (x_produce_glyphs): If a font for a component of + a composition is not found, use 1 pixel dot ascent and 0 dot + descent value to avoid displaying terribly tall empty boxes. + + * ccl.c (stack_idx_of_map_multiple): Don't use C initializier. + +2000-12-03 Ken Raeburn <raeburn@gnu.org> + + * coding.h (code_convert_string1): Declare. + + * fns.c (Fmd5): Pass lisp objects, not integers, to call3. + + * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare. + +2000-12-02 Jason Rumney <jasonr@gnu.org> + + * w32term.c (w32_bdf_per_char_metric): Dereference pointer + correctly for single byte character case. + (w32_per_char_metric): Do not try to make any assumptions about + the metrics of BDF fonts. + (x_estimate_mode_line_height): If `mode-line' face + hasn't a font, use that of the frame, as drawing glyphs does. + (note_mouse_highlight): Change the cursor shape on the vertical + border between windows [not enabled]. + + * w32term.h (struct w32_output): Add member horizontal_drag_cursor. + + * w32fns.c (Fx_create_frame): Reintroduce the call to + face-set-after-frame-defaults. + (Vx_window_horizontal_drag_shape): New variable. + (syms_of_xfns): DEFVAR_LISP it. + (x_set_mouse_color): Create frame's horizontal_drag_cursor [not + enabled]. + +2000-12-02 Simon Josefsson <simon@josefsson.org> + + * fns.c (Fmd5): Use a different logic to decide the coding system + to use. + + * coding.h (Qwrite_region, Qcoding_system_error): Declare extern. + +2000-12-02 Eli Zaretskii <eliz@is.elta.co.il> + + * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL. + +2000-12-01 Gerd Moellmann <gerd@gnu.org> + + * xterm.c (x_calc_absolute_position): Don't subtract menubar's + height for YNegative. + (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's + height; also see comment there. + + * window.c (coordinates_in_window): Handle computations for + positions on the vertical bar and fringes differently for + window-system frames. Consider some pixels near the vertical bar + as on the bar if the frame doesn't have vertical scroll bars. + Associate positions between mode or header lines with the + right window, the left one. + +2000-12-01 Jason Rumney <jasonr@gnu.org> + + * w32term.c (w32_clear_window): Avoid clearing an invalid frame. + + * w32xfns.c (get_frame_dc): Avoid changing the palette on an + invalid frame. + +2000-12-01 Gerd Moellmann <gerd@gnu.org> + + * window.c (struct saved_window): Add members orig_top and orig_height. + (SAVED_WINDOW_VECTOR_SIZE): Increment to 16. + (save_window_save, Fset_window_configuration): Save/restore + window's orig_top and orig_height. + +2000-12-01 Jason Rumney <jasonr@gnu.org> + + * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect. + + * w32fns.c (x_set_cursor_color): Fix last change. + +2000-11-30 Gerd Moellmann <gerd@gnu.org> + + * xdisp.c (echo_area_display): If cursor is in the echo area, make + sure that the next redisplay displays the minibuffer, so that + the cursor will be replaced with what the minibuffer wants. + + * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and + #ifndef instead of using #if. + (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if + USE_TOOLKIT_SCROLL_BARS is defined. + +2000-11-30 Jason Rumney <jasonr@gnu.org> + + * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of + x_display_cursor. + +2000-11-30 Gerd Moellmann <gerd@gnu.org> + + * fns.c (Fmd5): Doc fix. + +2000-11-30 Simon Josefsson <simon@josefsson.org> + + * fns.c (Fmd5): New function. + (syms_of_fns): Defsubr md5. + + * Makefile.in (obj): Add md5.o + +2000-11-30 Gerd Moellmann <gerd@gnu.org> + + * md5.h, md5.c: New files, taken from glibc. + + * xmenu.c (popup_get_selection): Use xmalloc instead of malloc. + + * xterm.c (x_estimate_mode_line_height): If `mode-line' face + hasn't a font, use that of the frame, as drawing glyphs does. + +2000-11-29 Stefan Monnier <monnier@cs.yale.edu> + + * eval.c (Frun_hooks): Allow 0 arguments. + +2000-11-29 Gerd Moellmann <gerd@gnu.org> + + * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse + is over the menu bar widget, say it's not on the frame. + + * xfns.c (Fx_create_frame): Reintroduce the call to + face-set-after-frame-defaults. + + * eval.c (Fsignal): Reset handling_signal. + +2000-11-28 Jason Rumney <jasonr@gnu.org> + + * w32menu.c (add_menu_item): Reset menu item text when changing + type to radio button. + +2000-11-28 Gerd Moellmann <gerd@gnu.org> + + * xselect.c: Update copyright. + + * window.c (coordinates_in_window): If on a mode or header line, + but sufficiently close to its start, return ``on vertical + border''. This gives us a way to drag windows horizontally when + using toolkit scroll bars. + + * xterm.c (note_mouse_highlight): Change the cursor shape + on the vertical border between windows. + + * xterm.h (struct x_output): Add member horizontal_drag_cursor. + + * xfns.c (Vx_window_horizontal_drag_shape): New variable. + (syms_of_xfns): DEFVAR_LISP it. + (x_set_mouse_color): Create frame's horizontal_drag_cursor. + + * textprop.c (text_read_only): New function. + (verify_interval_modification): Use it instead of signaling + `text-read-only'. This makes it easier to catch this error + with a breakpoint.: + + * xdisp.c (forward_to_next_line_start): Check for newlines, + not end of line, which includes CR. + +2000-11-28 Kenichi Handa <handa@etl.go.jp> + + * coding.c (Ffind_coding_systems_region_internal): Be sure to + include no-conversion. + +2000-11-27 Jason Rumney <jasonr@gnu.org> + + * w32fns.c (w32_load_system_font): Always mark font as double byte + if codepage is unicode. + +2000-11-27 Gerd Moellmann <gerd@gnu.org> + + * xdisp.c (forward_to_next_line_start): If already on a newline, + just consume it to avoid unintended skipping over invisible text below. + + * keyboard.c (lucid_event_type_list_p): Handle `help-echo', + `vertical-line', `mode-line' and `header-line' events. + + * xdisp.c (try_window_id): Avoid starting to display in the middle + of a character, a TAB for instance. This is easier than to set + up the iterator exactly, and it's not a frequent case, so the + additional effort wouldn't really pay off. + +2000-11-26 Andrew Choi <akochoi@i-cable.com> + + * emacs.c (main) [macintosh]: Call syms_of_frame before calling + init_window_once. + +2000-11-25 Jason Rumney <jasonr@gnu.org> + + * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]: + Args to window_from_coordinates should be pixel coordinates. + + * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new + redisplay handles them properly. + +2000-11-25 Miles Bader <miles@gnu.org> + + * indent.c (compute_motion): Keep pos_byte in sync with pos. + +2000-11-24 Jason Rumney <jasonr@gnu.org> + + * w32.c (init_environment): Set LANG environment variable based on + locale settings, if not set. + + * w32fns.c (x_set_tool_bar_lines): Clear internal border when + making tool bar smaller. When clearing the frame, also + clear current matrices. Clear frame when tool bar disappears. + Don't use more lines for the tool-bar than is available. + (x_change_window_heights): New function. + +2000-11-24 Gerd Moellmann <gerd@gnu.org> + + * xdisp.c (init_from_display_pos): If POS says we're already after + an overlay string ending at POS, make sure to pop the iterator + because it will be in front of that overlay string. When POS is + ZV, we've thereby also ``processed'' overlay strings at ZV. + + * xfaces.c (lface_from_face_name): Function comment fix. + +2000-11-24 Miles Bader <miles@gnu.org> + + * xdisp.c (display_menu_bar, display_mode_line): Change the way we + apply `mode-line-inverse-video' -- zero means force display using + the default face, non-zero means display using the specialized face. + (syms_of_xdisp): `mode-line-inverse-video' defaults to true again. + +2000-11-23 Kenichi Handa <handa@etl.go.jp> + + * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of + hard coded `4'. + +2000-11-23 Eli Zaretskii <eliz@is.elta.co.il> + + * coding.c (decode_coding_emacs_mule): Fix the case of + CODING_EOL_LF, which used uninitialized value of c. + +2000-11-23 Stefan Monnier <monnier@cs.yale.edu> + + * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local. + +2000-11-22 Gerd Moellmann <gerd@gnu.org> + + * buffer.c (Fmake_indirect_buffer): Don't treat nil as a + buffer object. + + * frame.h (struct frame): Replace desired_tool_bar_items, + current_tool_bar_items, n_desired_tool_bar_items, + n_current_tool_bar_items with tool_bar_items and n_tool_bar_items. + + * frame.c (make_frame): Change initialization of tool bar + items accordingly. + + * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight): + Change references to members deleted from struct frame to use the + new ones. + + * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change + references to members deleted from struct frame to use the new ones. + + * dispnew.c (update_frame): Do nothing with frame's tool bar items. + + * alloc.c (mark_object) <frame>: Mark tool bar items differently. + + * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click) + (note_tool_bar_highlight): Change references to members deleted + from struct frame to use the new ones. + +2000-11-23 Miles Bader <miles@gnu.org> + + * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with + the face's inverse-video attribute, rather than overriding it. + +2000-11-22 Gerd Moellmann <gerd@gnu.org> + + * xfns.c (x_set_tool_bar_lines): Clear internal border when + making tool bar smaller. + +2000-11-22 Dave Love <fx@gnu.org> + + * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define. + +2000-11-22 Miles Bader <miles@gnu.org> + + * keyboard.c (Vminibuffer_message_timeout): New variable. + (command_loop_1): Use it to determine message timeout. + (syms_of_keyboard): Initialize it. + + * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil. + +2000-11-22 Kenichi Handa <handa@etl.go.jp> + + * sysdep.c: Move the code for declaring h_errno after #include + <netdb.h>. + +2000-11-21 Gerd Moellmann <gerd@gnu.org> + + * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay + the menu bar when the tooltip is unmapped. + + * buffer.c (Fkill_buffer): Notice if the buffer to kill is the + sole visible buffer when we're currently in the mini-buffer, and + give up if so. + +2000-11-21 Jason Rumney <jasonr@gnu.org> + + * w32select.c (Fw32_set_clipboard_data): Save a copy of what is + put on the clipboard. + (Fw32_get_clipboard_data): Compare data on clipboard with saved + copy of what Emacs last put there. If they are the same, do not + use the clipboard copy to avoid losing data due to coding conversions. + +2000-11-22 Miles Bader <miles@gnu.org> + + * minibuf.c (Vminibuffer_prompt_properties): New variable. + (syms_of_minibuf): Initialize it. + (read_minibuf): Add properties from Vminibuffer_prompt_properties + to prompt, don't make read-only. + +2000-11-21 Gerd Moellmann <gerd@gnu.org> + + * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>: + Add BEFORE/AFTER_POTENTIAL_GC. + + * s/hpux10.h (_FILE_OFFSET_BITS): Undef. + + * buffer.c (mmap_free_1): Avoid a compiler warning. + + * term.c, cm.c: Don't try to include termcap.h; see comment there. + +2000-11-21 Kenichi Handa <handa@etl.go.jp> + + * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0 + ... #endif scope. + +2000-11-20 Gerd Moellmann <gerd@gnu.org> + + * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the + screen supports it. + + * s/gnu-linux.h: Don't use `#cpu'. + + * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's + not defined in mman.h. + + * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables. + (x_send_scroll_bar_event): Store the window in scroll_bar_windows + and store an index in the XClientMessageEvent. Storing a + Lisp_Object or pointer can fail on a 64 bit system, since X only + transfers 32 bits. + (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows. + +2000-11-20 Dave Love <fx@gnu.org> + + * Makefile.in (LIBX): Reorder for -lX11 after -lXpm. + +2000-11-20 Gerd Moellmann <gerd@gnu.org> + + * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine. + +2000-11-20 Kenichi Handa <handa@etl.go.jp> + + * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID + by WIDTH. + + * alloc.c (make_string): Fix previous change. Be sure to make + unibyte string correctly. + +2000-11-19 Gerd Moellmann <gerd@gnu.org> + + * window.c (Fwindow_list): Change parameter list to be XEmacs + compatible. + (window_list_1): New function. + (window_loop): Use it instead of Fwindow_list. + + * sysdep.c (emacs_ospeed): New variable. + (toplevel): Don't declare ospeed extern. + (init_baud_rate): Use emacs_ospeed instead of ospeed. + + * termcap.c (ospeed): Remove. + (tputs) [!emacs]: Remove unused code. + (tgetent): Avoid a compiler warning. + + * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create) + (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call + SCROLL_BAR_X_WIDGET with additional argument DPY. + + * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high + removed. + (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget. + Take the X display as additional argument. + (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since + `Widget' is a pointer type that's not easily stored in Lisp_Object + form in a portable way. + + * dispnew.c (update_text_area): Fix last change. + +2000-11-18 Gerd Moellmann <gerd@gnu.org> + + * xdisp.c: Use BINDING_STACK_SIZE throughout. + + * xfns.c (x_set_tool_bar_lines): When clearing the frame, also + clear current matrices. + + * buffer.c (mmap_enlarge): Don't print a message on stderr + if mapping new memory at the end of the existing region fails. + + * dispnew.c (update_text_area): Don't skip over equal glyphs + when the last current glyph overlaps the glyph to its right. + +2000-11-18 Miles Bader <miles@gnu.org> + + * xdisp.c (message_log_check_duplicate): Let "..."-detection match + lines that *end* with "..." too (that's the most common case!). + +2000-11-18 Gerd Moellmann <gerd@gnu.org> + + * xdisp.c (resize_mini_window): Temporarily change to the + mini-window's buffer if necessary. + + * xfns.c (Fx_show_tip): Use default y-offset of -10 so that + the tooltip obscures less text under it. + +2000-11-17 Gerd Moellmann <gerd@gnu.org> + + * puresize.h (BASE_PURESIZE): Increase to 700000. + +2000-11-18 Jason Rumney <jasonr@gnu.org> + + * w32term.c (w32_draw_bitmap): Use face to set colors. + +2000-11-17 Dave Love <fx@gnu.org> + + * lread.c (Fload): Fix #ifdef for pcc. + +2000-11-17 Gerd Moellmann <gerd@gnu.org> + + * xdisp.c (pos_visible_p): Compute the default character height + differently. + +2000-11-16 Gerd Moellmann <gerd@gnu.org> + + * xdisp.c (pos_visible_p): Handle case that we reach ZV without + knowing the line's height; use the default font's height in that case. + + * xfaces.c (weight_table): Add `demi' with the same meaning as + `demibold'. + +2000-11-16 Kenichi Handa <handa@etl.go.jp> + + * dispnew.c (null_row): New global static variable. + (clear_glyph_row): Delete local static variable null_row. + +2000-11-15 Jason Rumney <jasonr@gnu.org> + + * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant. + (w32_alloc_lighter_color): Use new brightness calculations from + xterm.c. Scale delta to be in the range expected by W32. + (w32_draw_relief_rect): Use frame relief colors. + +2000-11-15 Gerd Moellmann <gerd@gnu.org> + + * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame. + (Qinhibit_default_face_x_resources): New variable. + (syms_of_frame): Initialize it. + (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources. + + * xdisp.c (pos_visible_p): Improve function comment. + + * lisp.h (BINDING_STACK_SIZE): New macro. + + * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry + reading the directory if readdir returns null and errno is EAGAIN + or EINTR. + +2000-11-14 Stefan Monnier <monnier@cs.yale.edu> + + * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args + so setting scroll-step to 1 doesn't defeat scroll-conservatively. + Set amount_to_scroll to max of dx and scroll_step so that + scroll-conservatively doesn't defeat scroll-step>1. + (syms_of_xdisp): Add a hint in scroll-step's docstring to use + scroll-conservatively for line-at-a-time scrolling. + +2000-11-14 Gerd Moellmann <gerd@gnu.org> + + * window.c (Fpos_visible_in_window_p): Call pos_visible with + extra argument. + + * xdisp.c (current_mode_line_height, current_header_line_height): + New variables. + (init_xdisp): Initialize them. + (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute + and use exact mode line heights if it is set. + + * lisp.h (pos_visible_p): Change prototype. + + * dispextern.h (CURRENT_MODE_LINE_HEIGHT) + (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height + and current_header_line_height first. + (current_mode_line_height, current_header_line_height): + Declare extern. + +2000-11-14 Miles Bader <miles@lsi.nec.co.jp> + + * xterm.c (x_alloc_lighter_color): Use real brightness calculation. + Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST. + (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed. + +2000-11-14 Miles Bader <miles@gnu.org> + + * xterm.c (x_alloc_lighter_color): Include an additive component + too for dark colors, because FACTOR isn't enough. + (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): + New macros. + +2000-11-13 Gerd Moellmann <gerd@gnu.org> + + * keyboard.c (show_help_echo): Call message3_nolog with number of + bytes in the help string as 2nd parameter, instead of the number + of characters. + +2000-11-13 Miles Bader <miles@gnu.org> + + * lread.c (openp): Return -2 instead of 0 for the `remote file' case. + (Fload): Use new openp return protocol. + Don't try to use Vload_source_file_function to load .elc files. + * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new + openp return protocol. + * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise. + +2000-11-11 Kenichi Handa <handa@etl.go.jp> + + * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY. + + * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL): + Defined these macros. + (NLIST_STRUCT): Avoid re-defining it. + + * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and + -I/usr/contrib/X11R6/include. + (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6. + +2000-11-10 Jason Rumney <jasonr@gnu.org> + + * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages. + + * w32term.c (w32_encode_char): Handle CP_UNICODE specially. + (w32_use_unicode_for_codepage): Use new pseudo-codepages. + + * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers. + (Qw32_charset_vietnamese): New symbol. + (xlfd_charset_of_font): New function. + (w32_load_system_font): Use it. + (x_to_w32_charset): Use Fassoc to find charset info. Special case + when Vw32_charset_info_alist is nil to ensure default face always + has font. Use Fcar and Fcdr for safety. + (w32_to_x_charset): Use Vw32_charset_info_alist for mappings. + (w32_codepage_for_font): Use xlfd_charset_of_font. Use new + pseudo-codepages for special cases. + (w32_to_x_font): New parameter to allow charset portion to be + specified where there is many to one mapping. Callers changed. + (w32_list_fonts): Avoid listing fonts that won't display. + +2000-11-10 Gerd Moellmann <gerd@gnu.org> + + * xfaces.c (Vface_alternative_font_registry_alist): New variable. + (font_list_1): Renamed from font_list. + (font_list): New function, trying alternative registries from + Vface_alternative_font_registry_alist. + (Finternal_set_alternative_font_registry_alist): New function. + (syms_of_xfaces): Initialize and Staticpro + Vface_alternative_font_registry_alist. + Defsubr Finternal_set_alternative_font_registry_alist. + +2000-11-09 Ken Raeburn <raeburn@gnu.org> + + * lisp.h (Flooking_at): Declare. + +2000-11-09 Gerd Moellmann <gerd@gnu.org> + + * dired.c (directory_files_internal): Fix a braino. + + * dired.c (directory_files_internal): Add missing GCPRO's. + Some cleanup. + +2000-11-08 Gerd Moellmann <gerd@gnu.org> + + * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height. + (resize_mini_window): Return quickly if Vresize_mini_window is + nil. Don't return if Vmax_mini_window_height is nil. + + * xdisp.c (Vresize_mini_window, Qgrow_only): New variables. + (syms_of_xdisp): Initialize them. + (resize_mini_window): Act according to the setting of + Vresize_mini_window. + (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil. + + * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the + scroll bar widget after configuring it, so that it will appear at + the right position from the start. + (XTredeem_scroll_bar): Cleaned up. + +2000-11-08 Kenichi Handa <handa@etl.go.jp> + + * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the + font is taller than the frame line, we don't have to bias the + division by two. + + * w32term.c (VCENTER_BASELINE_OFFSET): Likewise. + +2000-11-07 Dave Love <fx@gnu.org> + + * config.in (HAVE_MKSTEMP): Add. + + * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it. + +2000-11-07 Gerd Moellmann <gerd@gnu.org> + + * window.c (Fset_window_configuration): Don't try to preserve + point in the current buffer, if that buffer is displayed in more + than one window. + + * xfaces.c (lookup_named_face): If default face isn't realized, + try to realize it. Return -1 if not successful. + (Fx_list_fonts): Handle case that face cannot be determined. + (Fface_font): Likewise. + +2000-11-06 Gerd Moellmann <gerd@gnu.org> + + * window.c (displayed_window_lines): Detect partially + visible lines at the bottom correctly. + +2000-11-06 Stefan Monnier <monnier@cs.yale.edu> + + * fileio.c (Fwrite_region): Use `visiting' rather than `visit' + when ensuring we don't do visit in indirect buffer. + +2000-11-06 Kenichi Handa <handa@etl.go.jp> + + * composite.h (compose_chars_in_text): Add prototype. + + * composite.c (Vcomposition_function_table): New variable. + (Qcomposition_function_table): New variable. + (run_composition_function): Call + Vcompose_chars_after_function with three arguments. + (compose_chars_in_text): New function. + (syms_of_composite): Modified the doc-string of + Vcompose_chars_after_function. Declare composition-function-table + as a lisp variable, and initialize it. + + * xfns.c (x_encode_text): Suppress producing escape sequences for + composition. + + * xselect.c: Include composite.h. + (selection_data_to_lisp_data): Call compose_chars_in_text on STR. + +2000-11-05 Andrew Innes <andrewi@gnu.org> + + * w32term.c (x_produce_glyphs): Fix typo in enum name. + + * sysdep.c (read_input_waiting): Remove extraneous argument to + read_socket_hook. + + * w32fns.c (Fx_server_version): Include w32_build_number in the + return list. + + * w32heap.c (w32_build_number): New variable. + (cache_system_info): Set it. + + * w32heap.h (w32_build_number): Add extern. + + * emacs.c (syms_of_emacs): Update docstring for + system-configuration, to reflect the actual usage on MS-Windows. + +2000-10-31 Gerd Moellmann <gerd@gnu.org> + + * keyboard.c (read_char) <wrong_kboard>: Make sure that we + process idle timers while waiting for another event. + + * dispnew.c (update_frame_line): Handle case where spaces in + the default face are colored. + + * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if + window height hasn't changed. + +2000-10-31 Jason Rumney <jasonr@gnu.org> + + * w32term.c (x_produce_glyphs): Handle composite characters. + (x_draw_glyph_string_foreground) + (x_draw_composite_glyph_string_foreground): Restore old font. + +2000-10-31 Miles Bader <miles@lsi.nec.co.jp> + + * minibuf.c (read_minibuf): Reset the undo history just before + starting the recursive-edit. + +2000-10-30 Gerd Moellmann <gerd@gnu.org> + + * xfaces.c (menu_face_change_count): New variable. + (Finternal_set_lisp_face_attribute): Increment it for changes + of the `menu' face. + (realize_basic_faces): Reflect changes in the `menu' faces + in menu bars. + + * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the + dy obtained from the iterator's y-position after moving from + scroll_margin_pos to PT; see comment there. + + * xdisp.c (safe_eval_handler): Call add_to_log. + + * xfaces.c (resolve_face_name): Handle case that FACE_NAME + is not a symbol or string. + + * xdisp.c (echo_area_display): Don't perform a display update from + inside redisplay. The update will happen anyway at the end of + redisplay, and it can confuse redisplay (GC messages while + redisplaying, for instance.) + +2000-10-30 Stefan Monnier <monnier@cs.yale.edu> + + * xrdb.c (x_load_resources): Use the class name in the defaults. + + * regex.c (re_iswctype, re_wctype_to_bit): Fix braino. + (regex_compile): Catch bogus \(\1\). + +2000-10-30 Gerd Moellmann <gerd@gnu.org> + + * xterm.c (x_alloc_nearest_color): Fix last change to compare + RGB values. + + * xterm.c (x_alloc_nearest_color): If allocation succeeds, and + we have a color cache, check that the cached color equals the + allocated color. If not, clear the color cache. + + * window.c (displayed_window_lines): Change buffers if necessary. + Fix computation of displayed lines. + + * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of + update_menu_bindings to DEFVAR_BOOL. + +2000-10-30 Kenichi Handa <handa@etl.go.jp> + + * search.c (Fset_match_data): Be sure to make search_regs always sane. + + * puresize.h (BASE_PURESIZE): Increase to 680000. + + * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION. + +2000-10-29 Jason Rumney <jasonr@gnu.org> + + * w32term.h (FONT_DESCENT): Negate descent of BDF fonts. + + * w32term.c (w32_bdf_per_char_metric): Negate descent. + (w32_cache_char_metrics): Handle possibility that 'x' does not + exist in a BDF font. + (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars. + + * w32bdf.h (bdffont): Add nchars. + + * w32bdf.c (set_bdf_font_info): Set it. + (w32_BDF_TextOut): Swap byte order of double byte characters. + (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars. + +2000-10-28 Eli Zaretskii <eliz@is.elta.co.il> + + * frame.c (Fframe_parameters): Fix the change from 2000-10-16: + don't override the colors in frame's param_alist, unless they are + unspecified. + + * term.c (reassert_line_highlight): If inverse_video is non-zero, + reverse the effect of the highlight flag. + +2000-10-27 Ken Raeburn <raeburn@gnu.org> + + * window.h (Fwindow_live_p): Declare. + + * undo.c (record_delete): Check that last_undo_buffer is really a + buffer before applying XBUFFER to it. + + * keymap.c (where_is_internal): Pass lisp object, not integer, to + Faref. + +2000-10-27 Stefan Monnier <monnier@cs.yale.edu> + + * lisp.h (KEYMAPP): New macro. + (get_keymap): Remove. + (get_keymap_1): Rename get_keymap. + + * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype. + + * xterm.c (note_mode_line_highlight): Use KEYMAPP. + + * xmenu.c (single_submenu): Use KEYMAPP. + (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp. + Use KEYMAPP rather than Fkeymapp. + + * w32term.c (note_mode_line_highlight): Use KEYMAPP. + + * w32menu.c (True, False): Remove (use TRUE and FALSE instead). + (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp. + Use KEYMAPP rather than Fkeymapp. + (single_submenu): Use KEYMAPP. + (w32_menu_show, w32_dialog_show): Use TRUE. + + * minibuf.c (Fread_from_minibuffer): Update call to get_keymap. + + * keymap.c (KEYMAPP): Remove (moved to lisp.h). + (Fkeymapp): Use KEYMAPP. + (get_keymap): Rename from get_keymap_1. Remove old def. + Return t when autoload=0 and error=0 and the keymap needs autoloading. + (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp. + (Fminor_mode_key_binding): Don't raise an error if the binding + is not a keymap. + (Fuse_global_map, Fuse_local_map): Allow autoloading. + (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp. + + * keyboard.c (read_char): get_keymap_1 -> get_keymap. + Allow Vspecial_event_map to be autoloaded. + (menu_bar_items): Fetch the keymap rather than using keymapp. + (menu_bar_one_keymap): No need to follow func-indirect any more. + (parse_menu_item): get_keymap_1 -> get_keymap. + (tool_bar_items): Fetch the keymap rather than using keymapp. + (read_key_sequence): Use KEYMAPP. + + * intervals.c (get_local_map): Use get_keymap rather than following + function-indirections explicitly. + + * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap. + +2000-10-27 Jason Rumney <jasonr@gnu.org> + + * w32fns.c (Fx_create_frame): Make default fontsize on w32 10 + point, as Windows has oversized fonts. + + * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise. + +2000-10-27 Gerd Moellmann <gerd@gnu.org> + + * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1. + (freehook, reallochook): Handle null pointer arguments. + (__malloc_initialize) [GC_MCHECK]: Call mcheck. + +2000-10-27 Stefan Monnier <monnier@cs.yale.edu> + + * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal) + (re_match_2_internal, re_match_2_internal, re_match_2_internal): + Giving in to popular pressure to shut up the compiler with casts. + +2000-10-27 Gerd Moellmann <gerd@gnu.org> + + * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a + signed value, and use a default value computed from the font's + maximum descent. + +2000-10-27 Miles Bader <miles@lsi.nec.co.jp> + + * xterm.c (x_draw_glyph_string): Add a workaround so that fonts + that specify a negative underline position can still use underlines. + + * window.c (Fpos_visible_in_window_p): Make POS default to + WINDOW's point, not the current buffer's point. + +2000-10-26 Dave Love <fx@gnu.org> + + * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out + when it's necessary. + +2000-10-26 Gerd Moellmann <gerd@gnu.org> + + * window.c (size_window): Compute size difference from sum of old + child window sizes instead of from parent's size. + + * xdisp.c (pos_visible_p): Change current buffer if necessary. + Handle obscured lines at the top of the window. + + * frame.c (Fdelete_frame): Doc fix. Move running the hook + down after the last error condition check. + + * frame.c (Fdelete_frame): Run delete-frame-hook. + +2000-10-26 Kenichi Handa <handa@etl.go.jp> + + * coding.c (decode_coding): Fix previous change (check also + CODING_MODE_LAST_BLOCK). + +2000-10-25 Stefan Monnier <monnier@cs.yale.edu> + + * regex.c: More `unsigned char' -> `re_char' changes. + Also change several `int' into `re_wchar_t'. + (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove. + (PUSH_FAILURE_POINTER): Don't cast any more. + (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'. + We want GCC to complain, since this piece of code makes + re_match non-reentrant, which *should* be fixed. + (GET_BUFFER_SPACE): Use size_t rather than unsigned long. + (EXTEND_BUFFER): Use RETALLOC. + (SET_LIST_BIT): Don't cast. + (re_wchar_t): New type. + (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC + that those two functions will always properly return. + (IMMEDIATE_QUIT_CHECK): Cast to void. + (analyse_first): Use recursion rather than an explicit stack. + (re_compile_fastmap): Can't fail anymore. + (re_search_2): Don't check re_compile_fastmap for failure. + (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT. + Now also sets the new value (passed in a new argument). + (re_match_2_internal): Use it. + Also, use a new var `reg' of type size_t when looping through regs + rather than reuse the inappropriate `mcnt'. + + * keymap.c (where_is_cache, where_is_cache_keymaps): New vars. + (Fset_keymap_parent, store_in_keymap): Flush the where-is cache. + (where_is_internal): Renamed from Fwhere_is_internal. + Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'. + (Fwhere_is_internal): New function wrapping where_is_internal. + (where_is_internal_1): Handle the case where we're filling the cache. + (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps). + +2000-10-25 Miles Bader <miles@gnu.org> + + * xdisp.c (pos_visible_p): Don't add `it.current_y' twice. + +2000-10-25 Gerd Moellmann <gerd@gnu.org> + + * window.c (pos_fully_visible_p): Removed. + (Fpos_visible_in_window_p): Use pos_visible_p to determine + if position is visible and/or fully visible. + + * lisp.h (pos_visible_p): Add prototype. + + * xdisp.c (pos_visible_p): New function. + +2000-10-25 Kenichi Handa <handa@etl.go.jp> + + * process.c (send_process): If OBJECT is t, it means that the data + is from C string, but we should encode it. Before calling + setup_raw_text_coding_system, be sure to flush out data by the + previous coding system. + +2000-10-25 Miles Bader <miles@lsi.nec.co.jp> + + * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an + assignment of startpos to prev when startpos == pos. + + * editfns.c (find_field): Set the field stickiness correctly from + overlay fields. Use renamed `text_property_stickiness'. + (text_property_stickiness): Renamed from `char_property_stickiness'. + Only check text properties, not overlays. + * textprop.c (get_char_property_and_overlay): New function. + (Fget_char_property): Use it. + * intervals.h (get_char_property_and_overlay): Add declaration. + +2000-10-25 Stefan Monnier <monnier@cs.yale.edu> + + * keymap.c: Use AREF, ASET and ASIZE macros. + (Fmake_sparse_keymap): Docstring fix. + (synkey): Remove. + (shadow_lookup): Move up. + Handle the case where lookup-key returns an integer. + (where_is_internal_1): Drop arg `keymap'. Don't check shadowing. + (where_is_internal_2): Adapt to fewer args for where_is_internal_1. + (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps. + Simplify/rewrite the keymap-finding code. + Add check for command shadowing, using shadow_lookup. + +2000-10-24 Stefan Monnier <monnier@cs.yale.edu> + + * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry + rather than KEYMAPP, to allow EQ to work correctly if parent_entry is + a symbol. + +2000-10-24 Andrew Innes <andrewi@gnu.org> + + * dired.c (directory_files_internal_unwind): New function. + (directory_files_internal): Use it to ensure closedir is called + even if expand-file-name or file-attributes throw, eg. because of + a user interrupt. Also enable immediate_quit while calling + re_search, so that matching can be interrupted as well. + +2000-10-24 Andrew Innes <andrewi@gnu.org> + + * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on + NT-Emacs only. + (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT, + so that re_search functions only quit when callers expect them to. + +2000-10-24 Kenichi Handa <handa@etl.go.jp> + + * regex.c (regex_compile): Change the way of handling a range from + a char less than 256 to a char not less than 256. + +2000-10-24 Gerd Moellmann <gerd@gnu.org> + + * window.c (size_window): Prevent setting window's width or + height to a negative value (esp. with XSETFASTINT). + + * gmalloc.c (state_protected_p, last_state_size, last_heapinfo) + [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables. + (protect_malloc_state) [GC_MALLOC_CHECK && + GC_PROTECT_MALLOC_STATE]: New function. + (PROTECT_MALLOC_STATE): New macro. + (__malloc_initialize, morecore, _malloc_internal) + (_free_internal) _realloc_internal): Use it to make _heapinfo + read-only outside of gmalloc. + + * keymap.c: Update copyright. + + * .gdbinit (xbacktrace): Handle case that $bt->function isn't + a symbol. + +2000-10-24 Colin Walters <walters@cis.ohio-state.edu> + + * filelock.c (unlock_all_files): Use unlock_file to expand each + buffer's file_truename before trying remove its lock file. + +2000-10-24 Eli Zaretskii <eliz@is.elta.co.il> + + * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR + or CRLF, decode EOLs. + +2000-10-24 Kenichi Handa <handa@etl.go.jp> + + * window.c (Fdisplay_buffer): Fix doc. + +2000-10-23 Jason Rumney <jasonr@gnu.org> + + * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for + ASCII font of default fontset on Windows. + + * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see + xterm.c comment below). + + * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy. + +2000-10-23 Gerd Moellmann <gerd@gnu.org> + + * xterm.c (x_connection_closed): Reset handling_signal. + + * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null. + +2000-10-23 Miles Bader <miles@gnu.org> + + * window.c (window_scroll_pixel_based, window_scroll_line_based): + Pass nil for FULLY argument to Fpos_visible_in_window_p to + maintain old behavior. + * minibuf.c (Fminibuffer_complete): Likewise. + +2000-10-23 Miles Bader <miles@lsi.nec.co.jp> + + * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so + that when a font can't be exactly centered, it errs up rather than + down. + +2000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu> + + * fns.c (Fbase64_decode_string): The decoded result should be unibyte. + +2000-10-23 Andrew Choi <akochoi@i-cable.com> + + * dispextern.h [macintosh]: Include macgui.h instead of macterm.h. + + * dispnew.c [macintosh]: Include macterm.h. + (init_display) [macintosh]: Initialization for window system. + + * emacs.c (main) [macintosh]: Call syms_of_textprop, + syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm, + syms_of_search, x_term_init, and init_keyboard before calling + init_window_once. Also, call syms_of_xmenu. + + * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of + default fontset to Monaco. + + * frame.c [macintosh]: Include macterm.h. Remove declarations of + NewMacWindow and DisposeMacWindow. + (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame + instead of calling NewMacWindow and setting fields of + f->output_data.mac directly. Call init_frame_faces. + (Fdelete_frame) [macintosh]: Remove unused code. + (Fmodify_frame_parameters) [macintosh]: Call + x_set_frame_parameters instead of mac_set_frame_parameters. + + * frame.h [macintosh]: Define menu_bar_lines field in struct + frame. Define FRAME_EXTERNAL_MENU_BAR macro. + + * keyboard.c [macintosh]: Include macterm.h. + (kbd_buffer_get_event) [macintosh]: Generate delete_window_event + and menu_bar_activate_event type events as for X and NT. + (make_lispy_event) [macintosh]: Construct lisp events of type + MENU_BAR_EVENT as for X and NT. + + * sysdep.c [macintosh]: Remove declaration for sys_signal. + Include stdlib.h. Remove definition of Vx_bitmap_file_path. + (sys_subshell) [macintosh]: Remove definition entirely. + (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and + Vwindow_system_version here. Remove initialization of + Vx_bitmap_file_path. + (read_input_waiting): Correct the number of parameters passed to + read_socket_hook. + Move all Macintosh functions to mac/mac.c. + + * term.c [macintosh]: Include macterm.h. + + * window.c [macintosh]: Include macterm.h. + + * xdisp.c [macintosh]: Include macterm.h. Declare + set_frame_menubar and pending_menu_activation. + (echo_area_display) [macintosh]: Do not return if terminal frame + is the selected frame. + (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f). + Allow only the selected frame to set menu bar. + (redisplay_window) [macintosh]: Obtain menu bar to redisplay by + calling FRAME_EXTERNAL_MENU_BAR (f). + (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f). + + * xfaces.c [macintosh]: Include macterm.h. Define x_display_info + and check_x. Declare XCreateGC. Define x_create_gc and + x_free_gc. Initialize font_sort_order. + (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT, + but call x_list_fonts instead of w32_list_fonts. + (Finternal_face_x_get_resource) [macintosh]: Do not call + display_x_get_resource. + (prepare_face_for_display) [macintosh]: Set xgcv.font. + (realize_x_face) [macintosh]: Load the font if it is specified in + ATTRS. + (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt. + +2000-10-22 Stefan Monnier <monnier@cs.yale.edu> + + * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry + is nil: since we go to the end of submap anyway, we'd end up + setting nil to nil. + (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP + doesn't obey autoload. + +2000-10-21 Eli Zaretskii <eliz@is.elta.co.il> + + * msdos.c (dos_set_window_size): Update screen dimension variables. + +2000-10-21 Jason Rumney <jasonr@gnu.org> + + * w32term.c (w32_cache_char_metrics): Double check that font is + really fixed pitch before trusting tmPitchAndFamily. + +2000-10-21 Andrew Innes <andrewi@gnu.org> + + * w32gui.h (w32_char_font_type): Move enum from w32term.c + + * w32term.h: Extern decl for w32_cache_char_metrics. + + * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics. + + * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics. + (w32_unload_font): Free per_char array if present. + + * w32term.c (w32_per_char_metric): Remove HDC argument. Use + cached information in emulated XFontStruct to handle common cases + quickly. Do not allocate XCharStruct for return. + (w32_native_per_char_metric): New function. + (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of + allocating one. + (x_produce_glyphs): Don't get an HDC. Change calls to + w32_per_char_metric to match arg change above. Remove calls to + free results. + (w32_get_glyph_overhangs): Ditto. + (w32_cache_char_metrics): New function. + + * makefile.w32-in: Change .obj to .$(O) in all dependencies. + ($(BLD)/casefiddle.$(O)): Remove compile command. + ($(BLD)/gmalloc.$(O)): Remove compile command. + ($(BLD)/dispnew.obj): + ($(BLD)/keyboard.obj): + ($(BLD)/w32inevt.obj): + ($(BLD)/w32bdf.obj): + ($(BLD)/alloc.obj): + ($(BLD)/buffer.obj): + ($(BLD)/editfns.obj): + ($(BLD)/emacs.obj): + ($(BLD)/fileio.obj): + ($(BLD)/fns.obj): + ($(BLD)/indent.obj): + ($(BLD)/insdel.obj): + ($(BLD)/intervals.obj): + ($(BLD)/minibuf.obj): + ($(BLD)/print.obj): + ($(BLD)/scroll.obj): + ($(BLD)/sysdep.obj): + ($(BLD)/textprop.obj): + ($(BLD)/widget.obj): + ($(BLD)/xdisp.obj): Add dependency on w32gui.h. + ($(BLD)/term.obj): Add dependency on dispextern.h. + + * makefile.nt ($(BLD)\dispnew.obj): + ($(BLD)\keyboard.obj): + ($(BLD)\w32inevt.obj): + ($(BLD)\w32bdf.obj): + ($(BLD)\alloc.obj): + ($(BLD)\buffer.obj): + ($(BLD)\editfns.obj): + ($(BLD)\emacs.obj): + ($(BLD)\fileio.obj): + ($(BLD)\fns.obj): + ($(BLD)\indent.obj): + ($(BLD)\insdel.obj): + ($(BLD)\intervals.obj): + ($(BLD)\minibuf.obj): + ($(BLD)\print.obj): + ($(BLD)\scroll.obj): + ($(BLD)\sysdep.obj): + ($(BLD)\textprop.obj): + ($(BLD)\widget.obj): + ($(BLD)\xdisp.obj): Add dependency on w32gui.h. + ($(BLD)\term.obj): Add dependency on dispextern.h + +2000-10-21 Eli Zaretskii <eliz@is.elta.co.il> + + * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p + with an additional argument of Qt. + +2000-10-21 Miles Bader <miles@gnu.org> + + * window.c (pos_fully_visible_in_window_p): New function. + (Fpos_visible_in_window_p): Add FULLY argument. + Use pos_fully_visible_in_window_p. + (window_scroll_pixel_based, window_scroll_line_based): Update + calls to Fpos_visible_in_window_p. + * lisp.h (Fpos_visible_in_window_p): Update prototype + +2000-10-20 Gerd Moellmann <gerd@gnu.org> + + * alloc.c (toplevel): Conditionalize compilation of mem_* + functions differently. + +2000-10-20 Jason Rumney <jasonr@gnu.org> + + * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above + mem_init where it used to be. mem_z etc not defined otherwise. + +2000-10-20 Gerd Moellmann <gerd@gnu.org> + + * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef + GC_MALLOC_CHECK. + (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node + structure definition and related variabled to the top of the file. + Include this code when GC_MALLOC_CHECK is defined. + (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't + register/unregister allocated region. + (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something + which isn't allocated. + (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning + something which is already in use. + (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise. + (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal. + (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal. + (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init. + + * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use + _malloc_internal instead of malloc. + (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead + of free. + +2000-10-20 Andrew Innes <andrewi@gnu.org> + + * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on + Windows. + (my_strftime) <macro>: Don't use macro arg list when redefining as + _strftime_copytm. + (my_strftime) <function>: Supply 0 as ut argument. + +2000-10-19 Jason Rumney <jasonr@altavista.net> + + * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before + including dispextern.h, as it stops faces from working. + + * w32fns.c (Fx_create_frame): Don't bother calling + face-set-after-frame-default since the caller does it for us + anyway. Clean up calls to x_get_arg to be consistent with X. + + * w32term.c (x_produce_glyphs): Handle + unibyte_display_via_language_environment correctly. + (w32_draw_box_rect): Fix the calculation of width and height. + + * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles, + as it has stopped working. + (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like + menu-bar. + +2000-10-19 Gerd Moellmann <gerd@gnu.org> + + * eval.c (skip_debugger): Prevent a compiler warning. + (Fcondition_case): Likewise. + (Fbacktrace_frame): Use a null interactive spec. + +2000-10-19 Kenichi Handa <handa@etl.go.jp> + + * xterm.c (x_find_ccl_program): Check also fontp->full_name. + +2000-10-18 Gerd Moellmann <gerd@gnu.org> + + * strftime.c: Sync with glibc, file version 1.78. + (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which + should no longer be used according to ISO 8601. + + * keymap.c (access_keymap): If IDX has a meta prefix, and there's + no map for meta_prefix_char, don't try to use it as a keymap. + Instead, if T_OK is non-zero, look up a default binding, if any, + otherwise, if T_OK is zero, return nil. + + * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color) + (x_to_xcolors, png_load): Use x_query_color. + + * xterm.c (x_color_cells, x_query_colors, x_query_color): + New functions. + (x_alloc_nearest_color): Use it to reduce calls to XQueryColors + which can be slow. + (x_copy_color, x_alloc_lighter_color): Likewise. + + * xterm.h (struct x_display_info): Add color_cells and ncolor_cells. + (x_query_color, x_query_colors): Add prototype. + + * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call + check_string_bytes only if not noninteractive, increase count to 50. + +2000-10-18 Miles Bader <miles@lsi.nec.co.jp> + + * insdel.c (adjust_markers_for_delete): Handle before-insertion + markers correctly. + +2000-10-17 Gerd Moellmann <gerd@gnu.org> + + * alloc.c (pure_bytes_used): Renamed from pureptr. + (ALIGN): New macro. + (pure_alloc): New function. + (make_pure_string, pure_cons, make_pure_float, make_pure_vector): + Use it. + (Fpurecopy): Use PURE_POINTER_P. + + * xdisp.c (try_cursor_movement): Use cursor_row_p also when + PT has moved backward. + + * xdisp.c (cursor_row_p): Take continued lines into account. + + * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of + string's size_byte. + (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function. + (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable. + (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th + string allocated. + + * xdisp.c (forward_to_next_line_start): Switch iterator's handling + of selective display off while searching for the next line start. + +2000-10-17 Kenichi Handa <handa@etl.go.jp> + + * Makefile.in (term.o): Depend on dispextern.h. + +2000-10-16 Stefan Monnier <monnier@cs.yale.edu> + + * keymap.c (keymap_memberp): Ensure that nil is not a member. + +2000-10-16 Gerd Moellmann <gerd@gnu.org> + + * xdisp.c (set_iterator_to_next): Reset box start and end flags of + the iterator at the beginning, so that they can be set later on, + for instance in reseat_at_next_visible_line_start, without being + overwritten. + + * xfns.c (pbm_format): Add :foreground and :background keywords. + (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators. + (xbm_load): Recognize foreground and background color specifications. + +2000-10-16 Eli Zaretskii <eliz@is.elta.co.il> + + * dispextern.h (unspecified_fg, unspecified_bg): Declare. + + * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration. + + * msdos.c (IT_set_face): Compare highlighted face with the default + face, and invert colors if these faces' colors are identical. + (Fmsdos_remember_default_colors): Don't swap foreground and + background colors in initial_colors[]. + (IT_set_frame_parameters): Don't swap frame's foreground and + background pixels. If ALIST includes "(reverse . t)", swap + foreground-color and background-color properties in frame's + param_alist. If the original frame's param_alist doesn't specify + the colors, store unspecified-fg and unspecified-bg, reversed if + required. + + * frame.c (Fframe_parameters): If a tty's frame's param_alist says + the colors are unspecified and reversed, reverse fore- and back- + ground in the returned value. + (Fframe_parameter): Ditto. + +2000-10-16 Gerd Moellmann <gerd@gnu.org> + + * xdisp.c (find_last_unchanged_at_beg_row): Renamed from + get_last_unchanged_at_beg_row. + (find_first_unchanged_at_end_row): Renamed from + get_first_unchanged_at_end_row. + (find_first_unchanged_at_end_row): Convert assertions to + unconditional tests which abort. When looking for a row in + unchanged text, don't go further back than first_text_row. + + * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>: + Don't add in the last line's height when deciding if the new + position is below the scroll margin. + +2000-10-16 Miles Bader <miles@gnu.org> + + * editfns.c (Fconstrain_to_field): Check carefully for field + boundaries if either OLD_POS or NEW_POS has a non-nil field + property, even if they're the same. + +2000-10-16 Kenichi Handa <handa@etl.go.jp> + + * xterm.c (x_draw_box_rect): Fix the calculation of width and + height for XFillRectangle. + +2000-10-15 Stefan Monnier <monnier@cs.yale.edu> + + * syntax.c (Fstring_to_syntax): New function extracted from + Fmodify_syntax_entry. + (Fmodify_syntax_entry): Use it and document the ! and | fences. + (skip_chars, Fforward_comment): Remove unused variables. + (syms_of_syntax): Add defsubr for string-to-syntax. + (describe_syntax): Add code for comment and string fences. + +2000-10-14 Stefan Monnier <monnier@cs.yale.edu> + + * keymap.c (access_keymap): Add AUTOLOAD parameter. + Do the meta->esc mapping. Call get_keyelt before returning. + Start scanning from the second element (the first is always `keymap') + to make it easier to detect when we reach a parent map. + Handle the case of inheriting from a symbol whose function is a map. + (Fkeymap_parent): Also handle the `inherit from symbol' case. + (fix_submap_inheritance, Fdefine_key): Update call to access_keymap. + (get_keyelt, Flookup_key): Update call to access_keymap. + Remove the meta->esc mappings. + (define_as_prefix): Delete old disabled code. + (menu_item_p): New function. + (where_is_internal_1): Skip over the few remaining menu items. + * lisp.h (access_keymap): Update prototype. + * keyboard.c (read_char, menu_bar_items, tool_bar_items): + Update call to access_keymap. + (follow_key, read_key_sequence): Update calls to access_keymap. + Remove the meta->esc mappings. + +2000-10-13 Gerd Moellmann <gerd@gnu.org> + + * dispnew.c (direct_output_for_insert): Call set_iterator_to_next + with additional argument. + + * xdisp.c (cursor_row_p): New function. + (try_cursor_movement, display_line): Use it. + + * xdisp.c (append_space): Also save/restore iterator's current + character and its length. + + * xdisp.c (init_from_display_pos): Add an assertion. + (handle_stop): Don't set iterator's add_overlay_start. + (handle_invisible_prop): Likewise. + (load_overlay_strings): If text under an overlay is invisible, + take both before- and after-strings into account when the iterator + is positioned either at the start or at the end of the overlay. + (forward_to_next_line_start): Rewritten. + (reseat_at_next_visible_line_start): Rewritten. + (set_iterator_to_next): Add parameter RESEAT_P. + + * dispextern.h (struct it): Remove member add_overlay_start. + (set_iterator_to_next): Change prototype. + +2000-10-13 Kenichi Handa <handa@etl.go.jp> + + * coding.c (code_convert_region): Be sure to initialize + coding->category_idx. + (decode_coding_string): Set coding->src_multibyte and + coding->dst_multibyte before using CODING_REQUIRE_DECODING. + (encode_coding_string): Set coding->src_multibyte and + coding->dst_multibyte before using CODING_REQUIRE_ENCODING. + +2000-10-12 Stefan Monnier <monnier@cs.yale.edu> + + * xfns.c (Fx_create_frame): Don't bother calling + face-set-after-frame-default since the caller does it for us anyway. + +2000-10-12 Eli Zaretskii <eliz@is.elta.co.il> + + * window.c (coordinates_in_window): Fix detection of vertical line + on character terminals. + +2000-10-12 Gerd Moellmann <gerd@gnu.org> + + * editfns.c (save_excursion_save): Additionally record the + selected window. + (save_excursion_restore): If buffer was visible in a window, and a + different window was selected, and the old selected window is + still live, restore point in that window. + +2000-10-12 Kenichi Handa <handa@etl.go.jp> + + * xterm.c (x_produce_glyphs): Handle + unibyte_display_via_language_environment correctly. + + * regex.c (regex_compile): Change the way of handling a range from + unibyte char to multibyte char. + + * syntax.c (skip_chars): Change the way of handling a range from + unibyte char to multibyte char. + + * process.c (read_process_output): Cancel previous change. + +2000-10-11 Eli Zaretskii <eliz@is.elta.co.il> + + * search.c (Fsearch_backward, Fsearch_forward): Doc fix. + + * charset.c (Ffind_charset_string): Doc fix. + (Ffind_charset_region): Doc fix. + +2000-10-11 Kenichi Handa <handa@mule.m17n.org> + + * process.c (read_process_output): Fix previous change. Adjust + multibyteness of text to insert in a buffer by + string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte. + +2000-10-10 Andreas Schwab <schwab@suse.de> + + * alloc.c (mark_object): Remove all workarounds installed on + 1993-08-08. + +2000-10-10 Kenichi Handa <handa@etl.go.jp> + + * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning. + (base64_encode_1): Make it work for a text of multibyte form. + (Fbase64_decode_region): Allocate sufficient memory for multibyte + case. Don't call str_to_multibyte because base64_decode_1 + produces correct multibyte form for eight-bit codes. + (Fbase64_decode_string): Adjusted for the change of base64_decode_1. + (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If + MULTIBYTE is nonzero, produce correct multibyte form for eight-bit + codes. + + * charset.h (CHAR_STRING): Optimized for single byte characters. + +2000-10-09 Andreas Schwab <schwab@suse.de> + + * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to + -1 after socket is closed, to fall through to error processing. + +2000-10-09 Eli Zaretskii <eliz@is.elta.co.il> + + * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object + variables. If ALIST includes foreground-color or + background-color, change also the colors of the default face for + this frame. + +2000-10-08 Eli Zaretskii <eliz@is.elta.co.il> + + * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make + them extern (they are defined on xfaces.c). + (syms_of_msdos): Don't intern and don't staticpro + Qbackground_color and Qforeground_color. + +2000-10-07 Eli Zaretskii <eliz@is.elta.co.il> + + * frame.c (Fframe_parameter): For non-windowed frames, if + f->param_alist says foreground or background color is unspecified, + call tty_color_name to return the color name computed from the + frame's current colors. + +2000-10-06 Dave Love <fx@gnu.org> + + * terminfo.c (ospeed): Don't declare. + + * sysdep.c: Don't include string.h. + (h_errno): Declare conditional also on TRY_AGAIN. + + * charset.c (Ffind_charset_string): Doc fix. + + * fns.c (Fbase64_encode_region, Fbase64_encode_string) + (Fbase64_decode_region, Fbase64_decode_string): More explicit + error messages. + +2000-10-05 Dave Love <fx@gnu.org> + + * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar + position like menu-bar. + +2000-10-05 Gerd Moellmann <gerd@gnu.org> + + * keyboard.c (Frecursive_edit): Make sure redisplay can happen. + + * xdisp.c (handle_single_display_prop): Use safe_call1. + (safe_call): Renamed from call_function. + (safe_call1): New function. + (handle_fontified_prop): Use safe_call1 instead of call1. + (safe_eval): Renamed from eval_form. + (safe_eval_handler): Renamed from eval_handler. + (handle_single_display_prop, display_mode_element): Use safe_eval + instead of eval_form. + + * xfaces.c (merge_face_heights): Use safe_call instead of + call_function. + + * keyboard.c (show_help_echo): Use safe_call instead of + call_function; use safe_eval instead of eval_form. + + * lisp.h (safe_call): Renamed from call_function. + (safe_eval): Renamed from eval_form. + (safe_call1): Add prototype. + +2000-10-05 Miles Bader <miles@lsi.nec.co.jp> + + * xfns.c (image_ascent): Rearrange ascent calculation for the + has-a-font case. + +2000-10-04 Stefan Monnier <monnier@cs.yale.edu> + + * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'. + (where_is_internal_1): Don't bother ignoring menu-items any more. + +2000-10-04 Gerd Moellmann <gerd@gnu.org> + + * keyboard.c (update_menu_bindings): New variable. + (parse_menu_item): Use AREF. If update_menu_bindings + is 0, don't update menu bindings. + (syms_of_keyboard): New Lisp variable `update-menu-bindings'. + +2000-10-03 Eli Zaretskii <eliz@is.elta.co.il> + + * alloc.c (Fgarbage_collect): Prevent compiler warning for a call + to `mark_object'. + +2000-10-02 Stefan Monnier <monnier@cs.yale.edu> + + * syntax.c (forw_comment): Match nestedness of ender/starter. + (Fforward_comment): Treat an unmatched \n comment-ender as whitespace. + (prev_char_comstart_first): Remove. + (back_comment): Check two-char comment markers more carefully + to better handle overlapping cases like *//* or /* */* */ ... + Match nestedness of ender/starter. + +2000-10-02 Dave Love <fx@gnu.org> + + * config.in (HAVE_GAI_STRERROR): Add undef. + + * process.c (Fopen_network_stream): Use it. + + * m/alpha.h (NO_REMAP): Don't define. + +2000-10-02 Gerd Moellmann <gerd@gnu.org> + + * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can + return with a string converted to an integer or vice versa when + Vmocklisp_arguments is t. + (Fsignal): Likewise. The function can return for `quit'. + (struct gcpro): Declare member `var' to point to a volatile + Lisp_Object. + + * eval.c (error): Prevent compiler warning. + +2000-09-30 Stefan Monnier <monnier@cs.yale.edu> + + * keymap.c (keymap_memberp): New function. + (Fset_keymap_parent): Use it. + (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP. + Use keymap_memberp to avoid creating cycles. + (access_keymap): Use KEYMAPP. + +2000-09-30 Gerd Moellmann <gerd@gnu.org> + + * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use + gai_strerror. Make sure xerrno is set if connect fails. Improve + error recovery. + +2000-09-29 Jason Rumney <jasonr@gnu.org> + + * w32term.c (w32_char_font_type, w32_encode_char) + (x_produce_glyphs): Distinguish single and multibyte BDF fonts. + (w32_bdf_per_char_metric): New function. + (w32_per_char_metric): Use it. + (x_draw_glyph_string_background): Always draw background for BDF + glyphs. + + * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not + GDI object which is a scarce resource. + + * w32bdf.c (search_file_line): Fix skipping of whitespace. + (get_quoted_string): Fix limit on memchr search. + (set_bdf_font_info): Use unsigned chars. Negate yoffset. + (w32_init_bdf_font): Initialize codepoint and bitmap heaps. + (w32_free_bdf_font): Free bitmaps and codepoints on heaps. + (get_cached_font_char, cache_char_offset): Use macro + BDF_CODEPOINT_RANGE_COVER_P. + (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap. + (clear_cached_bitmap_slots): New function. + (GET_HEX_VALUE): G-Z, g-z are not hex. + (w32_get_bdf_glyph): Convert to DIB format. Return bytes read. + (get_bitmap_with_cache): Use new cache implementation. + (create_offscreen_bitmap): New function. + (w32_BDF_TextOut): Use it. Draw glyphs as DIBs. + + * w32term.c (x_produce_glyphs): If the distance from the current + position to the next tab stop is less than a canonical character + width, use the tab stop after that. + (x_draw_glyphs): Handle case START and END are out of bounds more + carefully. + (x_clear_mouse_face): Block/unblock input. + (x_display_and_set_cursor): Don't show a hollow box cursor for + buffers whose cursor_type is nil. + +2000-09-29 Gerd Moellmann <gerd@gnu.org> + + * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears. + + * dispextern.h (updating_frame): Declare extern. + +2000-09-29 Andreas Schwab <schwab@suse.de> + + * m/ia64.h: Remove hack of not prototyping bcopy, etc. + +2000-09-29 Gerd Moellmann <gerd@gnu.org> + + * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol, + use its function definition. + (tool_bar_items): Likewise. + + * lisp.h (fatal): Declare NO_RETURN. + +2000-09-29 Kenichi Handa <handa@etl.go.jp> + + * keymap.c: Remove the line "#undef NULL". + +2000-09-28 Gerd Moellmann <gerd@gnu.org> + + * xterm.c (x_make_frame_visible): Try harder to make the frame visible. + +2000-09-28 Dave Love <fx@gnu.org> + + * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP. + + * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define. + + * .gdbinit (xreload): Note its need on GNU/Linux. + + * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare + r_alloc, r_alloc_free. + +2000-09-28 Kenichi Handa <handa@etl.go.jp> + + * syntax.c (skip_chars): Handle negation correctly. + +2000-09-27 Gerd Moellmann <gerd@gnu.org> + + * xfaces.c (realize_default_face): Call set_lface_from_font_name + with non-zero FORCE_P argument. + + * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows): + Add assertions. + + * xdisp.c (window_box_height): Add an assertion. + + * xfns.c (x_set_tool_bar_lines): Don't use more lines for the + tool-bar than is available. + (x_change_window_heights): Renamed from x_set_menu_bar_lines_1. + +2000-09-27 Dave Love <fx@gnu.org> + + * s/irix6-5.h: Now works 64-bit. Tidied. + +2000-09-26 Gerd Moellmann <gerd@gnu.org> + + * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT + instead of BITS_PER_INT. + (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and + EMACS_UINT, respectively. + (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine. + + * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define. + + * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64. + + * window.c (freeze_window_starts): Construct last argument for + foreach_window differently. + + * xfns.c (x_decode_color): Don't return a Lisp_Object. + + * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and + EMACS_UINT instead of `int' and `unsigned int'. + (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'. + + * frame.h (struct frame): Make the `nothing' member of union + output_data an EMACS_INT. + + * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting. + (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's + size in the sdata structure. + (SDATA_NBYTES, SDATA_DATA): New macros. + (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define + differently for the different layout of the sdata structure. + (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size + in sdata. + (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]: + Check that size recorded in the string size and size recorded in + the sdata structure agree. + +2000-09-25 Dave Love <fx@gnu.org> + + * buffer.c: Include stdio.h. + + Partly suggested by Eduardo Horvath <eeh@netbsd.org>. + + * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t. + + * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it. + (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t. + (__malloc_extra_blocks): Declare as __malloc_size_t. + +2000-09-25 Gerd Moellmann <gerd@gnu.org> + + * alloc.c (mark_image): Use GC_NILP instead of NILP. + + * keyboard.c (show_help_echo): Set help_echo_showing_p. + (read_char): If help-echo is showing, preserve the echo area + when redisplaying. + + * xdisp.c (help_echo_showing_p): New variable. + (set_message): Reset it to 0. + (init_xdisp): Initialize help_echo_showing_p. + + * dispextern.h (help_echo_showing_p): Declare extern. + + * config.in: Fix typo in __GNUC_MINOR__. + + * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN. + + * s/freebsd.h (POSIX_SIGNALS): Define. + + * xterm.c (x_clear_mouse_face): Block/unblock input. + +2000-09-24 Dave Love <fx@gnu.org> + + * fns.c (base64_encode_1): Fix last change. + +2000-09-22 Gerd Moellmann <gerd@gnu.org> + + * dispnew.c (enable_glyph_matrix_rows): Remove xasserts. + + * xdisp.c (try_window_reusing_current_matrix): More fixes + for the case window has a header-line. + +2000-09-22 Dave Love <fx@gnu.org> + + * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide + a doc string. + + * xterm.c [SOLARIS2]: Remove redundant include of string.h. + + * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix. + +2000-09-21 Gerd Moellmann <gerd@gnu.org> + + * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))' + for GCC >= 2.5. + + * lisp.h (wrong_type_argument, Fthrow, Fsignal, error): + Declare NO_RETURN. + + * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c, + * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c, + * indent.c, search.c, alloc.c, data.c: Avoid some more compiler + warnings. + + * marker.c (byte_char_debug_check): Return void. + + * xfns.c (Fx_create_frame): Set default frame parameter value + for tool-bar-lines to 1. + + * dispnew.c (scrolling_window): Compare y-positions of rows + equal at the start. Some simplification. + + * xdisp.c (try_window_reusing_current_matrix): Fix computation of + reused rows' y-position in the case window has a header-line, and + new window start is greater than old window start. + + * process.c (process_sent_to): New variable. + (send_process): Workaround for a crash on sparc-sun-solaris-2.6 + with GCC 2.95.2 caused by a parameter being clobbered by longjmp. + Declare more parameters volatile. + + * lread.c (Vrecursive_load_depth_limit): New variable. + (Fload): Check recursive loads whose recursion depth exceeds + Vrecursive_load_depth_limit. + (syms_of_lread): DERFAR_LISP recursive-load-depth-limit. + +2000-09-20 Gerd Moellmann <gerd@gnu.org> + + * fileio.c (Fread_file_name): Doc fix. + + * editfns.c (Fmessage_or_box): Doc fix. + + * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix. + + * xfns.c (xbm_scan): Allow C-style comments. + + * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color + symbols are specified, add color translations to the cache. + (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions. + (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and + xpm_cache_color. + (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes + structures to xpm_init_color_cache. + +2000-09-19 Gerd Moellmann <gerd@gnu.org> + + * dispnew.c (update_window_line): Make sure to always draw mode-lines. + +2000-09-19 Andrew Innes <andrewi@gnu.org> + + * makefile.nt (bootstrap-emacs): Don't change directory. + +2000-09-19 Kenichi Handa <handa@etl.go.jp> + + * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change. + + * ccl.c (Fccl_execute_on_string): Make multibyte string correctly. + If output buffer is too small, signal an appropriated error. + +2000-09-18 Dave Love <fx@gnu.org> + + * keyboard.c (menu_bar_items, tool_bar_items) + (current_active_maps): Remove redundant get_local_map call. + +2000-09-18 Gerd Moellmann <gerd@gnu.org> + + * xterm.c (x_display_and_set_cursor): Don't show a hollow box + cursor for buffers whose cursor_type is nil. + + * xterm.c (x_draw_image_glyph_string): Remove a comment describing + a feature to implement that is already implemented. + (note_mouse_highlight, x_find_ccl_program): Avoid some compiler + warnings. + + * xfns.c (x_clear_image_1): New function. + (x_clear_image): Use it. + (x_from_xcolors): Use x_clear_image_1; don't free the image's mask. + + * dispnew.c (update_window): Move test for invisible lines + at the top to update_window_line. + (update_window_line): Handle invisible lines here. + + * xfns.c (clear_image_cache): Clear current matrices of all + frames sharing an image cache. Block input while freeing + images. Fix timestamp comparison. + (x_clear_image): Also free the mask. + + * xfns.c (lookup_image): Block input while loading the image so + that we won't get interrupted in a state where the image isn't yet + set up completely. + (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color) + (lookup_pixel_color, x_to_xcolors, x_from_xcolors) + (x_disable_image, x_build_heuristic_mask, pbm_load, png_load) + (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input. + +2000-09-16 Gerd Moellmann <gerd@gnu.org> + + * dispnew.c (update_window): Make sure to make desired rows + current even if they are completely invisible at the top + of a window. + +2000-09-15 Gerd Moellmann <gerd@gnu.org> + + * xfns.c (lookup_image): Build mask before applying an algorithm. + Recognize algorithm `disabled'. + (cross_disabled_images): New variable. + (COLOR_INTENSITY): New macro. + (x_detect_edges): Use COLOR_INTENSITY. + (x_disable_image): New function. + (syms_of_xfns): DEFVAR_BOOL cross_disabled_images. + + * xdisp.c (build_desired_tool_bar_string): For a toolbar item in + disabled state, don't apply an image transformation algorithm if + the user specified an image for the disabled state. Use + `:algorithm disabled' for creating a disabled item's image if the + user hasn't specified an image. + + * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color + allocation functions with the XPM lib. + (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure. + (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro. + (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable. + (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color) + (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions. + (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation + functions, if possible, because these handle color allocation + failure more gracefully. + (Fimage_mask_p): New function. + + * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss) + (Qedge_detection, Qheuristic): New symbols. + (syms_of_xfns): Initialize new symbols. + (lookup_image): Handle `:mask X', `:algorithm emboss', and + `algorithm (edge-detection ...)'. + (xbm_format, xpm_format, pbm_format, png_format, jpeg_format): + (tiff_format, gif_format, gs_format): Add `:mask'. + (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK) + (GIF_MASK, GS_MASK): New enumerators. + (x_laplace_read_row, x_laplace_write_row): Functions removed. + (emboss_matrix, laplace_matrix): New variables. + (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss) + (x_edge_detection): New functions. + (x_laplace): Rewritten in terms of x_detect_edges. + (x_build_heuristic_mask): If image has a mask, free it. + +2000-09-14 Andrew Innes <andrewi@gnu.org> + + * makefile.w32-in: Revert to Unix line endings. + +2000-09-14 Andrew Innes <andrewi@gnu.org> + + * makefile.w32-in: Standardize indentation somewhat. + (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to + cater for differences between shells. + + * w32term.c (w32_per_char_metric): Handle non-TrueType fonts. + +2000-09-14 Gerd Moellmann <gerd@gnu.org> + + * xterm.c (x_produce_glyphs): If the distance from the current + position to the next tab stop is less than a canonical character + width, use the tab stop after that. + +2000-09-14 Dave Love <fx@gnu.org> + + * buffer.c (alloc_buffer_text): Fix xmalloc call. + +2000-09-14 Gerd Moellmann <gerd@gnu.org> + + * xdisp.c (handle_fontified_prop): While running fontification + functions, bind `fontification-functions' and + `after-change-functions' to nil. + + * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h + (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP. + + * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o. + + * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to + USE_MMAP_FOR_BUFFERS. + + * insdel.c (make_gap): Use enlarge_buffer_text. + + * buffer.c: Move allocation with mmap here, from ralloc.c. Change + conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS. + (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed + from former r_alloc_* functions in ralloc.c. + (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables. + (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro. + (mmap_init) [REL_ALLOC_MMAP]: New function. + (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New + functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and + BUFFER_FREE. + + * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed. + (enlarge_buffer_text): Add prototype. + + * ralloc.c: Remove everything having to do with the use of mmap. + +2000-09-13 Gerd Moellmann <gerd@gnu.org> + + * sound.c (Fplay_sound): Doc fix. + + * keyboard.c: Avoid some more compiler warnings. + (parse_tool_bar_item): Ignore cached key bindings. + + * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap + and allocation of Lisp data. + +2000-09-12 Gerd Moellmann <gerd@gnu.org> + + * xfaces.c: Remove conditional compilation on SCALABLE_FONTS. + (Finternal_set_lisp_face_attribute): If frame is 0, set new frame + defaults first. + + * lread.c (Fload): Put code checking for recursive loads in #if 0. + +2000-09-12 Miyashita Hisashi <himi@meadowy.org> + + * ccl.c: Comment fixed. + (MAX_MAP_SET_LEVEL): Increased to 30. + (PUSH_MAPPING_STACK): Enclose with do-while block. + (POP_MAPPING_STACK): Likewise. + (stack_idx_of_map_multiple): New variable. + (CCL_CALL_FOR_MAP_INSTRUCTION): New macro. + (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol, + call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION. + (ccl_driver) <CCL_MapSingle>: Likewise. + (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal + with the case where looking up process reaches to the end of + map-set, and call CCL programs as the above change. + +2000-09-11 Gerd Moellmann <gerd@gnu.org> + + * xfns.c (png_load, jpeg_load): Declare some variables volatile + that might be clobbered by longjmp. + (check_x_display_info, x_decode_color, create_frame_xic) + (Fx_display_backing_store, Fx_display_visual_class) + (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings. + + * lread.c (init_lread): Set Vloads_in_progress to nil. + (Fload): Show list of recursively loaded files, when signaling an + error. + + * lread.c (Vloads_in_progress): New variable. + (record_load_unwind): New function. + (Fload): Check for recursive loads. + (syms_of_lread): Initialize Vloads_in_progress. + (read_integer, read1): Avoid some compiler warnings. + + * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some + compiler warnings. + +2000-09-11 Miles Bader <miles@gnu.org> + + * editfns.c (Fbuffer_string): Doc fix. + +2000-09-10 Gerd Moellmann <gerd@gnu.org> + + * ralloc.c (mmap_enlarge): Don't return 0 if successful. + +2000-09-09 Ken Raeburn <raeburn@gnu.org> + + * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding + whether to include other header files. + +2000-09-09 Gerd Moellmann <gerd@gnu.org> + + * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned + by Fmemq as a boolean. + +2000-09-08 Stefan Monnier <monnier@cs.yale.edu> + + * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko. + +2000-09-08 Gerd Moellmann <gerd@gnu.org> + + * ralloc.c (mmap_fd): Remove initializer which can make it + read-only in a dumped Emacs. + (mmap_fd_1): New variable. + (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1, + restore it from there. + (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init + unconditionally so that mmap_fd can be initialized there. + (r_alloc_init_fd): Open-coded in r_alloc_init; function removed. + (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero. + (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1. + + * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object. + + * xdisp.c (dump_glyph_row): Fix printf format string. + (display_line, move_it_in_display_line_to): Avoid compiler warnings. + + * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define. + + * keymap.c (Fset_keymap_parent): Check for cycles in keymap + inheritance. + + * xdisp.c (try_window_id): When trying to locate cursor in + unchanged rows at the top, handle the case that we can't find it. + + * xterm.c (x_draw_glyphs): Handle case START and END are out + of bounds more carefully. + +2000-09-08 Dave Love <fx@gnu.org> + + * s/sol2.h (REL_ALLOC_MMAP): Define. + * s/irix5-0.h (REL_ALLOC_MMAP): Likewise. + + * ralloc.c: Don't include string.h (redundant). + (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined. + [!MAP_ANON]: Include fcntl.h. + (mmap_fd) [REL_ALLOC_MMAP]: New variable. + (r_alloc, r_re_alloc, r_alloc_free) + (mmap_enlarge, mmap_set_vars): Use it. + (r_alloc_init_fd): New function. + (__morecore) [SYSTEM_MALLOC]: Don't declare. + (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on + malloc type. + + * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: + Remove vm-limit.o. + + * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last + change to __NetBSD__. + +2000-09-08 Kenichi Handa <handa@etl.go.jp> + + * search.c (compile_pattern): Check the multibyteness of cached + string and PATTERN. + +2000-09-08 Miles Bader <miles@gnu.org> + + * xfaces.c (default_face_vector): Function removed. + (Finternal_merge_in_global_face): Restore old global/local + attribute override order. Use inline loop instead of calling + default_face_vector. + +2000-09-07 Gerd Moellmann <gerd@gnu.org> + + * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use) + (get_bloc, relocate_blocs, update_heap_bloc_correspondence) + (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *' + where necessary, in case POINTER_TYPE is `void'. + +2000-09-07 Eli Zaretskii <eliz@is.elta.co.il> + + * frame.c (make_terminal_frame): Initialize frame foreground and + background colors to unspecified, for the initial instance of an + MSDOS frame. + +2000-09-07 Gerd Moellmann <gerd@gnu.org> + + * ralloc.c (mmap_find): Fix overlap computation. + (mmap_enlarge): Compute nbytes before trying to find an + overlapping region. + + * xfaces.c (smaller_face): Compare font heights with `<' and `>' + instead of `!='. + + * lread.c (syms_of_lread): Change value of regexp + Vbytecomp_version_regexp to not match some XEmacs-compiled files. + + * xmenu.c (xdialog_show): When looking up the selection in + menu_items, take `quote' boundaries into account; this corresponds + to a nil ITEM in x-popup-dialog. + +2000-09-07 Kenichi Handa <handa@etl.go.jp> + + * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80, + not 0x81. + (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7). + + * coding.c (encode_coding_sjis_big5): Use translation table for + encoding, not decoding. Fix the handling of latin-jisx0201. + Check for the charset katakana-jisx0201 too. + (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1. + (detect_coding_sjis): Check the byte sequence more rigidly. + +2000-09-07 Gerd Moellmann <gerd@gnu.org> + + * xfaces.c (Vparam_value_alist): New variable. + (syms_of_xfaces): Initialize it. + (Finternal_set_lisp_face_attribute): Avoid more consing. + + * frame.c (Fframe_parameter): Handle `name' and `background-mode' + specially. + (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially. + (Qbackground_mode): New variable. + (syms_of_frame_1): Initialize Qbackground_mode. + + * lisp.h (Qdisplay): Declare extern. + + * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0, + change face on all frames, and change the default for new frames. + +2000-09-07 Dave Love <fx@gnu.org> + + * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj. + +2000-09-07 Kenichi Handa <handa@etl.go.jp> + + * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0. + + * charset.c: Include composite.h + (lisp_string_width): New function. + (Fstring_width): Call lisp_string_width instead of strwidth. + + * Makefile.in (charset.o): Depends on composite.h. + + * process.c (read_process_output): Before inserting the decoded + text in the buffer, adjust the multibyteness. + +2000-09-06 Gerd Moellmann <gerd@gnu.org> + + * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If + buffer's text buffer is null, map new memory. + + * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of + POINTER_TYPE and size_t. + (struct mmap_region) [REL_ALLOC_MMAP]: New structure. + (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables. + (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA) + [REL_ALLOC_MMAP]: New macros. + (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars) + (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free) + [REL_ALLOC_MMAP]: New functions. + + * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars + before and after unexec. + + * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer + text buffers if necessary. + + * buffer.h (R_ALLOC_DECLARE): Removed because unused. + (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t + in prototypes. + + * config.in (HAVE_MMAP): Add #undef. + +2000-09-05 Gerd Moellmann <gerd@gnu.org> + + * frame.c (Qdisplay_type): New variable. + (syms_of_frame_1): Initialize it. + (Fframe_parameter): New function that avoids consing. + (syms_of_frame): Defsubr it. + + * buffer.c (Fother_buffer): Consider buffers as invisible when + they are displayed in a window on an invisible frame. + + * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making + get-largest-window always return nil. + +2000-09-04 Gerd Moellmann <gerd@gnu.org> + + * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp + variable; recognize Emacs 19 elc files. + +2000-09-04 Miles Bader <miles@gnu.org> + + * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face + before initially popping up the menu, so the menu doesn't flash + when the face settings are significantly different from the defaults. + +2000-09-04 Stefan Monnier <monnier@cs.yale.edu> + + * regex.c (WIDE_CHAR_SUPPORT): New macro. + (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>. + (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT) + (BIT_UNIBYTE): Remove. + (re_match_2_internal): Delete corresponding code and streamline the + BIT_MULTIBYTE case to not bother checking ISUNIBYTE. + (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6. + (re_wctype_t): New type. + (re_wctype, re_iswctype, re_wctype_to_bit): New functions. + (regex_compile): Use them and fix handling of overly long char classes. + +2000-09-03 Andrew Innes <andrewi@gnu.org> + + * makefile.w32-in: Change to DOS line endings. + + * s/ms-w32.h (ORDINARY_LINK): New define. + + * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define + (_ANONYMOUS_STRUCT) [__GNUC__]: New define. + + * makefile.w32-in (clean): Don't delete config.h and epaths.h. + (distclean): Delete them here instead. + + * w32proc.c (compare_env): Convert to uppercase for comparison, + not lowercase, to match how the native Windows shell works. + +2000-09-03 Jason Rumney <jasonr@gnu.org> + + * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as + CVS changes the line-ends when checking in/out on DOS/Windows. + + * makefile.nt (emacs): Do not change directory to run temacs, as + the load-path is set relative to current directory. + +2000-09-03 Miles Bader <miles@gnu.org> + + * xterm.c (x_alloc_lighter_color_for_widget): New function. + +2000-09-02 Gerd Moellmann <gerd@gnu.org> + + * xdisp.c (redisplay_mode_lines): New function. + (display_mode_lines): Return number of mode lines displayed. + (echo_area_display): Use redisplay_mode_lines to draw garbaged + mode lines. Don't temporarily bind redisplay-dont-pause to t. + + * emacs.c, callint.c, doc.c, editfns.c: Remove includes of + string.h and strings.h. + (index) [HAVE_INDEX]: Add prototype. + + * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define. + (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define. + + * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>. + (GC_SETJMP_WORKS, GC_MARK_STACK): Define. + +2000-09-01 Gerd Moellmann <gerd@gnu.org> + + * lread.c (read1): Accept `?' as symbol constituent, for + compatiblity with XEmacs. + +2000-08-31 Stefan Monnier <monnier@cs.yale.edu> + + * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag. + (struct re_pattern_buffer): Remove newline_anchor. + * regex.c: Keep namespace clean for GNU libc by renaming <fun> + to __<fun> and using `weak_alias (__<fun>, <fun>)'. + (re_max_failures, fail_stack): Use size_t rather than unsigned. + (regex_compile): For ^ and $, choose between buffer and line (beg|end) + depending on the new RE_NO_NEWLINE_ANCHOR syntax flag. + (print_compiled_pattern, re_search_2, mutually_exclusive_p) + (re_match_2_internal, re_compile_pattern, re_comp, regcomp): + Get rid of references to newline_anchor. + (regcomp): Allocate and precompute a fastmap. + +2000-08-31 Gerd Moellmann <gerd@gnu.org> + + * lread.c (openp): GCPRO local variable `filename'. + +2000-08-30 Stefan Monnier <monnier@cs.yale.edu> + + * regex.h (struct re_pattern_buffer): Use size_t for used/allocated. + + * regex.c: Merge some changes from GNU libc. Add prototypes. + (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal): + Use memcmp and memcpy instead of bcopy and bcmp. + (init_syntax_once): Use ISALNUM. + (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id. + (REG_UNSET_VALUE): Remove. Use NULL instead. + (REG_UNSET, re_match_2_internal): Use NULL. + (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND): + New macros. + (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS). + (GET_UNSIGNED_NUMBER): Don't use ISDIGIT. + (regex_compile): In handle_interval, return an error rather than try to + unfetch the interval if we can't find the closing brace. + Obey the RE_NO_GNU_OPS syntax bit. + (TOLOWER): New macro. + (regcomp): Use it. + (regexec): Allocate regs.start and regs.end as one block. + +2000-08-30 Gerd Moellmann <gerd@gnu.org> + + * xdisp.c (echo_area_display): Check display_completed instead + of calling detect_input_pending. + + * dispnew.c (update_frame): Only set display_completed here; move + the update_begin and update_end calls here from update_frame_1. + (update_frame_1): Don't set display_completed here, don't call + update_begin/update_end. + + * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters + instead of store_frame_param. + +2000-08-29 Gerd Moellmann <gerd@gnu.org> + + * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a + desired window matrix hasn't been displayed, use the current row + instead. Make sure that only those frame rows are updated for + which there exists a corresponding enabled desired row. + +2000-08-29 Miles Bader <miles@gnu.org> + + * xfaces.c (default_face_vector): New function. + (Finternal_merge_in_global_face): Use it instead of merge_face_vectors. + +2000-08-29 Gerd Moellmann <gerd@gnu.org> + + * lread.c (openp): Prevent temporary string passed to + Ffile_readable_p from being garbage collected. + +2000-08-28 Dave Love <fx@gnu.org> + + * keymap.c (store_in_keymap): Add `static' to declaration. + +2000-08-28 Gerd Moellmann <gerd@gnu.org> + + * emacs.c, callint.c, doc.c, editfns.c + (toplevel) [HAVE_STRING_H]: Include string.h. + (toplevel) [HAVE_STRINGS_H]: Include strings.h. + (index): Remove prototypes which might conflict with non-standard + definitions of index/strchr. + + * s/usg5-3.h (index): Define only if not HAVE_INDEX. + (rindex): Define only if !HAVE_RINDEX. + + * s/sco5.h (bcopy, bzero, bcmp): Don't define. + + * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs. + +2000-08-28 Miles Bader <miles@gnu.org> + + * xfaces.c (merge_face_vectors): Clear TO's :font attribute if + made inconsistent by a font-related attribute in FROM. + (merge_face_inheritance): Add function comment. + +2000-08-28 Kenichi Handa <handa@etl.go.jp> + + * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with + the 4th arg (PREV_EVENT) Qt to suppress input method. + +2000-08-27 Stefan Monnier <monnier@cs.yale.edu> + + * regex.c: Indent cpp directives and remove parens after `defined'. + (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place. + (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition. + (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY. + (re_compile_pattern): Use size_t for length. + (init_syntax_once): Move to a better place. + * regex.h: Merge changes from GNU libc. Indent cpp directives. + (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning). + + * syntax.c (back_comment): Detect cases where a comment-starter is + actually inside another comment as in: /* a // b */ c // d \n. + Make it clear that `comstart_pos' is unused for nested comments. + + * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes. + (KEYMAPP): New macro. + (Fkeymap_parent, Fset_keymap_parent): Use it. + (fix_submap_inheritance): Mark it static. + (define_as_prefix, describe_buffer_bindings, describe_command) + (describe_translation, describe_map): Complete prototypes. + + * lisp.h (store_in_keymap, fix_submap_inheritance): Remove. + + * keyboard.c (menu_bar_item): Detect duplicate entries for all items + to better match the key-lookup behavior. + +2000-08-27 Gerd Moellmann <gerd@gnu.org> + + * xfaces.c (lface_fully_specified_p): Handle :inherit. + (Finternal_set_lisp_face_attribute): Fix typo in error message. + +2000-08-27 Eli Zaretskii <eliz@is.elta.co.il> + + * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o) + (process.o, scroll.o, sysdep.o): Depend on keyboard.h. + (xterm.o): Depend on coding.h + +2000-08-26 Kenichi Handa <handa@etl.go.jp> + + * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and + the corresponding '#endif'. + +2000-08-26 Miles Bader <miles@gnu.org> + + * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX. + * xfaces.c (QCinherit): New variable. + (syms_of_xfaces): Initialize it. + (LFACE_INHERIT): New macro. + (Finternal_get_lisp_face_attribute) + (merge_face_vector_with_property) + (Finternal_set_lisp_face_attribute): Deal with :inherit attribute. + (check_lface_attrs): Allow new types of face height. Check + inherit attribute. + (CYCLE_CHECK): New macro. + (merge_face_inheritance): New function. + (merge_face_vectors): Merge inherited faces too. Add F and + CYCLE_CHECK arguments. + (merge_face_vector_with_property, Finternal_merge_in_global_face) + (lookup_named_face, lookup_derived_face, realize_named_face) + (face_at_string_position, face_at_buffer_position): Supply + new F and CYCLE_CHECK arguments to merge_face_vectors. + (merge_face_heights): New function. + (merge_face_vectors, merge_face_vector_with_property) + (Finternal_set_lisp_face_attribute): Call merge_face_heights to + handle relative face heights. + (lface_same_font_attributes_p): Compare heights using EQ. + +2000-08-26 Kenichi Handa <handa@etl.go.jp> + + * charset.c (char_to_string): Check the character validity. + (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0. + +2000-08-25 Stefan Monnier <monnier@cs.yale.edu> + + * regex.c (PUSH_FAILURE_COUNT): New macro. + (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG. + Handle popping of a register's or a counter's data. + (POP_FAILURE_POINT): Use the new name. + (re_match_2_internal): Push counter data on the stack for succeed_n, + jump_n and set_number_at and remove misleading dead code in succeed_n. + +2000-08-25 Gerd Moellmann <gerd@gnu.org> + + * xdisp.c (redisplay_internal): If considering all windows on all + frames, update the display for each frame as soon as possible, + instead of first building all desired matrices for all frames, and + then updating them all. + (try_cursor_movement): Handle case that last_cursor.vpos is -1. + +2000-08-24 Gerd Moellmann <gerd@gnu.org> + + * bytecode.c (mark_byte_stack): Add a comment. + + * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH) + (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is + a graphical frame. + +2000-08-24 Kenichi Handa <handa@etl.go.jp> + + * minibuf.c (do_completion): Always use compare-string, not + string-equal because the latter doesn't pay attention to + multibyteness of strings. + + * process.c (create_process): Don't setup raw-text coding here. + (Fopen_network_stream): Don't set coding->src_multibyte and + coding->dst_multibyte here. + (read_process_output): For process filter, return unibyte string + if default-enable-multibyte-characters is nil. + (send_process): If OBJECT is multibyte text, be sure to encoded it + by the specified coding system for the process. Otherwise, setup + raw-text coding. + (init_process): Don't initialize default-process-coding-system here. + +2000-08-23 Eli Zaretskii <eliz@is.elta.co.il> + + * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix. + <scroll-down-aggressively>: Likewise. + +2000-08-23 Kenichi Handa <handa@etl.go.jp> + + * coding.c (encode_eol): Fix bug for the case of dst_bytes being + zero. Set coding->produced_char correctly. + +2000-08-22 Andrew Innes <andrewi@gnu.org> + + * makefile.w32-in: New file. + + * unexw32.c (unexec): Ignore old_name, and use the actual location + of the current executable instead. Base new_name on this. + + * w32proc.c (create_child): Remove reference to security + descriptor, which isn't needed and doesn't compile with mingw32. + + * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws + up dllimport attributes. + (x_update_window_end): Update prototype. + + * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary + extern, which screws up dllimport attributes. + + * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws + up dllimport attributes. + + * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which + screws up dllimport attributes. + + * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws + up dllimport attributes. + (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which + screws up dllimport attributes. + + * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws + up dllimport attributes. + + * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which + screws up dllimport attributes. + + * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which + screws up dllimport attributes. + + * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws + up dllimport attributes. + + * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove + unnecessary extern, which screws up dllimport attributes. + (main): Ditto. + + * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws + up dllimport attributes. + + * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove + unnecessary extern, which screws up dllimport attributes. + + * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which + screws up dllimport attributes. + + * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws + up dllimport attributes. + + * w32proc.c (IsValidLocale): Extern missing from mingw32 headers. + + * w32bdf.c (search_file_line): + (set_bdf_font_info): + (seek_char): + (w32_get_bdf_glyph): + (w32_BDF_to_x_font): Fix compile warnings. + + * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings. + + * w32select.c: Include keyboard.h before frame.h. + + * w32fns.c (max): Define macro. + (JOHAB_CHARSET): Define if not known. + (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known. + (Fx_show_tip): Synch with X version. + + * w32xfns.c: Include keyboard.h before frame.h. + + * w32fns.c: Include keyboard.h before frame.h. + + * w32term.c: Include keyboard.h before frame.h. + + * fontset.c: Include keyboard.h before frame.h. + + * w32inevt.c: Include keyboard.h before frame.h. + (MOUSE_MOVED): Define if not known. + + * minibuf.c: Include keyboard.h before frame.h. + + * keyboard.c: Include keyboard.h before frame.h. + + * indent.c: Include keyboard.h before frame.h. + + * dispnew.c: Include keyboard.h before frame.h. + + * buffer.c: Include keyboard.h before frame.h. + + * alloc.c: Include keyboard.h before frame.h. + + * print.c: Include keyboard.h before frame.h. + + * process.c: Include keyboard.h before frame.h. + + * scroll.c: Include keyboard.h before frame.h. + + * sysdep.c: Include keyboard.h before frame.h. + + * term.c: Include keyboard.h before frame.h. + + * window.c: Include keyboard.h before frame.h. + + * xdisp.c: Include keyboard.h before frame.h. + Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE. + + * frame.c: Include keyboard.h before frame.h. + + * w32heap.h: Undefine min, max. + + * w32gui.h: Undefine min, max. + + * unexw32.c: Change PUCHAR to PCHAR. + (PTR_TO_OFFSET): Cast ptr to unsigned char *. + (relocate_offset): + (get_section_info): + (copy_executable_and_dump_data): Remove unnecessary static defs. + (copy_executable_and_dump_data): Fix compile warnings. + + * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined. + + * w32console.c (min): Define macro. + (clear_frame, write_glyphs): Fix compile warning. + + * w32proc.c (compare_env): + (find_child_console): Fix compile warning. + + * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use + sys_errlist instead of _sys_errlist. + (get_emacs_configuration_options): New function. + + * s/ms-w32.h (sys_nerr): Provide default definition. + (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same + name with _ prepended. + (NSIG): Define if not known. + (get_emacs_configuration): Provide extern declaration. + (get_emacs_configuration_options): Provide extern declaration. + (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options. + + * w32.c (gettimeofday): Use struct timeb, not struct _timeb. + (map_w32_filename): + (read_unc_volume): Fix compile warning. + + * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock + definitions from being used. + + * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd. + + * w32.c (unc_volume_file_attributes): + (open_unc_volume): Make arg const. + + * sysdep.c [WINDOWSNT]: Remove extern decl of errno. + (read_input_waiting): Remove excess parameter. + + * w32.c (init_environment): Call _access. + (check_windows_init_file): Call _close. + (init_user_info): Call _putenv. + (init_environment): Call _putenv and _strdup. + (init_ntproc): Reset volume info cache on startup. + + * s/ms-w32.h (malloc, free, realloc, calloc): Rename if + USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it + cannot override the CRT malloc. + + * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested. + (LINK_FLAGS): Append to original value of LINK_FLAGS. + + * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term + unless we are linking with a static CRT. + (RVA_TO_PTR): Cast result to unsigned char*. + + * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup. + (add_volume_info): Use xstrdup. + +2000-08-22 Stefan Monnier <monnier@cs.yale.edu> + + * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'. + (do_completion, Fminibuffer_complete_word): Use it. + (syms_of_minibuf): Turn completion-auto-help into a proper Lisp + var so it can take non-boolean values. + +2000-08-21 Gerd Moellmann <gerd@gnu.org> + + * editfns.c (find_field): Formatting changes. + (toplevel): Some old-style function forward declarations + changed to prototypes, some new protypes added, some functions + made static. + + * lisp.h (set_time_zone_rule): Add prototype. + (use_dialog_box): External declaration. + + * keyboard.c (gen_help_event): Add parameter SIZE. + (kbd_buffer_events_waiting): Slightly rewritten. + (clear_event): New function. + (kbd_buffer_get_event): Use it, and clear the input_events of + HELP_EVENTs. + (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and + don't fill the newly created array with nils. + (toplevel): Convert some old-style function forward declarations + to prototypes. + + * keyboard.h (gen_help_event): Change prototype. + + * xterm.c (XTread_socket): Change calls to gen_help_event. + + * w32term.c (w32_read_socket): Change calls to gen_help_event. + + * eval.c (Fmacroexpand): Doc fix. + +2000-08-20 Jason Rumney <jasonr@gnu.org> + + * w32term.h (x_display_info_for_display): Remove as this function + does not exist on W32. + + * w32term.c (help_echo_window): New variable. + (syms_of_w32term): staticpro it. + (note_mode_line_highlight): Set it. + (XTextExtents16): Removed as there is no equivalent on W32. + (x_compute_glyph_string_overhangs): Incomplete body removed, as + the X way of doing this will not work for W32. + (w32_intersect_rectangles): Removed. Use IntersectRect API call. + (x_draw_image_foreground): Avoid drawing outside of the clip area + when image doesn't have a mask. + (note_mouse_highlight): Process overlays in the right order of + priority. Set help_echo_window. + (x_draw_bar_cursor): If cursor is on an image, draw a box cursor + because that's more visible for large images. + + * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane + name to single_keymap_panes. + (w32_menu_show): Set wv->title when dealing with titles. + (w32_menu_display_help): Call show_help_echo with OBJECT and POS. + +2000-08-21 Miles Bader <miles@gnu.org> + + * minibuf.c (do_completion): Try again if we rewrite the input + string, but no completion was done, so that any completion message + will be correct. + +2000-08-20 Gerd Moellmann <gerd@gnu.org> + + * xfaces.c (lface_equal_p): Compare strings differently. + (Qtty_color_alist, Vtty_defined_color_alist): New variables. + (realize_tty_face): Use them. + (syms_of_xfaces): Initialize new variables. + (map_tty_color): New function, extracted from realize_tty_face. + (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default + foreground or background color, store the new color name in the + realized face; previous code trying to do this had no effect. + (realize_tty_face): Use map_tty_color. + (Fclear_face_cache): Set face_change_count and ensure thorough + redisplay. + +2000-08-19 Gerd Moellmann <gerd@gnu.org> + + * undo.c (record_first_change, record_marker_adjustment): Don't + use XBUFFER on last_undo_buffer which might not be a buffer. + +2000-08-18 Kenichi Handa <handa@etl.go.jp> + + * coding.c (decode_coding_string): Set members consumed, + consumed_char, produced, produced_char of *coding correctly. If + decode_coding doesn't consume any byte, don't try anymore. + (encode_coding_string): Likewise. + +2000-08-18 Gerd Moellmann <gerd@gnu.org> + + * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the + conditional have void type, for Standard C compilers. + + * xdisp.c (redisplay_internal): Compare windows for equality with + EQ, instead of applying XWINDOW to something that might not + be a window. + +2000-08-18 Kenichi Handa <handa@etl.go.jp> + + * fontset.c (Finternal_char_font): Search only the selected frame + for a window of the current buffer. + +2000-08-18 Gerd Moellmann <gerd@gnu.org> + + * minibuf.c (do_completion): Use EQ instead of `!=' to compare + Lisp_Objects. + + * keyboard.c (kbd_buffer_get_event): Handle the case that the + second half of a HELP_EVENT is found at the start of kbd_buffer. + +2000-08-18 Miles Bader <miles@gnu.org> + + * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl. + + * editfns.c (save_restriction_save): Rewrite to use markers. + (save_restriction_restore): Rewrite to understand new form of data + saved by save_restriction_save. + (Fsave_restriction): Remove cautionary note in doc-string. + +2000-08-17 Gerd Moellmann <gerd@gnu.org> + + * fileio.c (build_annotations): Add a comment explaining the + return value of format-annotate-function. Replace a spurious call + to Flength with a CONSP test. Call format-annotate-function with + a fifth arg specifying how many times the function is been called + in a row, to let it choose temporary buffers appropriately. + +2000-08-17 Dave Love <fx@gnu.org> + + * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't + declare make_temp_name twice. + + * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind. + (unreadpure): Give it an arg. + + * unexalpha.c: Prototype fatal_unexec, mark_x, + update_dynamic_symbols. Declare unexec as void. + + * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>. + [!HAVE_TERMCAP_H]: Prototype tputs, tgoto. + + * alloc.c (lisp_malloc): Declare with POINTER_TYPE. + [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC. + + * alloca.c: Use #error. + [POINTER_TYPE]: Use it. + + * eval.c (Fdefvar): Doc fix. + + * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid + INITIALIZE_INTERVAL. + + * buffer.h: Avoid DECLARE_INTERVALS. + + * config.in: Add size_t. + +2000-08-17 Eli Zaretskii <eliz@is.elta.co.il> + + * w16select.c (set_clipboard_data): If there's not enough memory + to put text into clipboard, return 1, as Fw16_set_clipboard_data + expects. In case of other failures, return 3. + (system_error_msg): New error message. + (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print + system_error_msg. + +2000-08-16 Gerd Moellmann <gerd@gnu.org> + + * term.c (write_glyphs): Also turn off inverse video after turning + off other appearances in case TS_exit_attribute_mode is not equal + to TS_end_standout_mode. + (insert_glyphs): Turn inverse video on/off for each run of glyphs + with the same face. + (turn_off_face): Reset standout_mode only if + TS_exit_attribute_mode has been output and TS_exit_attribute_mode + is equal to TS_end_standout_mode. + +2000-08-16 Kenichi Handa <handa@etl.go.jp> + + * coding.c (encode_coding): Fix the bug of not flushing ISO escape + sequence at the end of the source block. + + * ccl.c (Fccl_program_p): Docstring modified. + (Fccl_execute): Likewise. + (Fccl_execute_on_string): Likewise. + +2000-08-16 Eli Zaretskii <eliz@is.elta.co.il> + + * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *. + +2000-08-16 Kenichi Handa <handa@etl.go.jp> + + The following changes are mainly to fix bugs of + encode/decode-coding-string failing if encoding/decoding return + CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global + variable conversion_buffer. + + * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char, + decrement dst_end to avoid buffer overflow in the later call of + string_as_multibyte + + * coding.h (conversion_buffer_size, conversion_buffer) + (get_conversion_buffer): Extern deleted. + + * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted. + (conversion_buffer, conversion_buffer_size): Variables deleted. + (get_conversion_buffer): Function deleted. + (struct conversion_buffer): New structure. + (MAX_ALLOCA): New macro. + (allocate_conversion_buffer): New macro. + (extend_conversion_buffer, free_conversion_buffer): New functions. + (ccl_coding_driver): Set coding->result. + (decode_coding): Set coding->result to CODING_FINISH_NORMAL if + this is the last block of source. + (encode_coding): Likewise. Handle the source block as the last + one only when the whole source text is consumed. + (decode_coding_string): Handle the case that the output buffer is + too small to decode the whole source text. Use + allocate_conversion_buffer, extend_conversion_buffer and + free_conversion_buffer, not get_conversion_buffer. + (encode_coding_string): Likewise. + (init_coding): Function deleted. + (init_coding_once): Delete code to initialize conversion_buffer_size. + + * emacs.c (main): Don't call init_coding. + + * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer. + + * term.c (write_glyphs): Use a locally declared conversion_buffer. + (insert_glyphs): Likewise. + + * w32console.c (write_glyphs): Use a locally declared + conversion_buffer. + +2000-08-15 Eli Zaretskii <eliz@is.elta.co.il> + + * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame + member of display_info is NULL. + +2000-08-15 Gerd Moellmann <gerd@gnu.org> + + * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion. + + * term.c (turn_off_face): Reset standout_mode when resetting + appearances with capability `me'. + (write_glyphs): Switch on inverse video before each face change. + +2000-08-14 Dave Love <fx@gnu.org> + + * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk. + [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk. + (lisp_free): Declare and make static. + + * window.c: Fix embedded comment. + (syms_of_window): Fix doc string. + +2000-08-14 Gerd Moellmann <gerd@gnu.org> + + * keymap.c (push_key_description): If C without modifiers is < 32, + make sure to print `C-' before `M-', like in the manual. + +2000-08-11 Gerd Moellmann <gerd@gnu.org> + + * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially + since they aren't relocated anymore. + (sxhash_string): Make sure returned hash code fits in a Lisp integer. + + * xdisp.c (try_cursor_movement): Fix handling of cursor in + partially visible line which is smaller than the window's height. + +2000-08-11 Kenichi Handa <handa@etl.go.jp> + + * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to + the multibyte form of eight-bit-control characters. + (Fccl_execute_on_string): Initialize ccl->multibyte. + + * ccl.h (struct ccl_program): New member multibyte. + + * coding.c (ccl_coding_driver): Initialize ccl->multibyte. + +2000-08-11 Kenichi Handa <handa@etl.go.jp> + + * regex.c (regex_compile) <normal_char>: Pay attention to + multibyteness. + (analyse_first) <exactn>: Setup fastmap correctly for + eight-bit-control characters. + +2000-08-11 Kenichi Handa <handa@etl.go.jp> + + * termhooks.h (enum event_kind): New member multibyte_char_keystroke. + + * keyboard.c (make_lispy_event): Handle the new event type + multibyte_char_keystroke. + + * xterm.c: Include coding.h. + (XTread_socket): Work around a bug of XmbLookupString. If the + input is from XIM, decode it according to the current locale. In + that case, generate multibyte_char_keystroke events. + +2000-08-11 Kenichi Handa <handa@etl.go.jp> + + * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon. + (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy. + +2000-08-10 Gerd Moellmann <gerd@gnu.org> + + * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable. + (TRACE_MOVE) [GLYPH_DEBUG]: New macro. + (move_it_in_display_line_to): Record iterator's ascent and descent + before producing glyphs, and restore them when we know the glyph + doesn't fit on the line. + (move_it_to): Restructured so that it's easier to debug. If + moving to a vpos, and not moving to an x or character position, + stop as soon as the specified vpos is reached; don't move further + into that line because that might change the computed line height. + (try_cursor_movement): New function, extracted from the cursor + movement branch of redisplay_window. If ending on a partially + visible line, don't try to scroll if the cursor line is taller + than the window. + (redisplay_window): Use try_cursor_movement. + + * window.c (Fwindow_end): Rewritten to not use Fvertical_motion, + because that function doesn't cope with variable-height lines. + + * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a + box cursor because that's better visible for large images. + +2000-08-10 Miles Bader <miles@gnu.org> + + * w32term.c (note_mouse_highlight): Update calls to overlays_at. + +2000-08-10 Gerd Moellmann <gerd@gnu.org> + + * xdisp.c (Vmessages_buffer_name): New variable. + (message_dolog): Use it. + (syms_of_xdisp): Initialize it. + +2000-08-10 Eli Zaretskii <eliz@is.elta.co.il> + + * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at. + (toplevel) <kbd_buffer_store_event>: Remove prototype, it's + redundant now that keyboard.h is included. + +2000-08-09 Eli Zaretskii <eliz@is.elta.co.il> + + * keyboard.c (kbd_buffer_events_waiting): New function. + + * keyboard.h (kbd_buffer_events_waiting): Add prototype. + + * msdos.c: Include keyboard.h. + (XMenuActivate): Empty no_event events from the event buffer. If + no events are left after that, call clear_input_pending. + (mouse_clear_clicks): New function, code moved from mouse_init. + (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the + mouse driver to ``forget'' any past clicks. + + * Makefile.in (msdos.o): Depend on keyboard.h. + +2000-08-09 Gerd Moellmann <gerd@gnu.org> + + * lisp.h (input_pending): External declaration. + + * dispextern.h (Qredisplay_dont_pause): Declare extern. + + * xdisp.c (echo_area_display): Display thoroughly if input is + pending. Bind redisplay-dont-pause to t during the redisplay. + in case input is pending. + + * dispnew.c (Qredisplay_dont_pause): New variable. + (syms_of_display): Initialize and staticpro it. + (update_frame_1): Don't interrupt the display for pending input if + redisplay_dont_pause is set. + + * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P. + + * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix. + +2000-08-09 Miles Bader <miles@lsi.nec.co.jp> + + * callproc.c (Fcall_process): Terminate the unwind-protect around + the post-read-conversion of coding system. + + * buffer.c (overlays_at): Add CHANGE_REQ parameter. + (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it. + * buffer.h (overlays_at): Update prototype. + * xdisp.c (next_overlay_change): Update call to overlays_at. + * xfaces.c (face_at_buffer_position): Likewise. + * textprop.c (Fget_char_property): Likewise. + * xterm.c (note_mouse_highlight): Likewise. + + * minibuf.c (do_completion): Don't consider a simple change of + case as `completion'. + +2000-08-08 Ken Raeburn <raeburn@gnu.org> + + * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer. + * undo.c (record_delete): Make sure last_point_position_buffer is + a buffer before comparing pointers. + + * coding.h (decode_coding_string): Declare. + + * intervals.h (Fprevious_single_char_property_change): Declare. + + * textprop.c (Fprevious_single_char_property_change): Don't do + arithmetic directly on lisp objects. + + * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects. + + * keyboard.h (menu_item_eval_property): Declare. + + * xdisp.c (message_dolog): Save and protect string "*Messages*" to + reuse as buffer name, instead of recreating (and discarding) every + time a message is logged. + (with_echo_area_buffer): Make callback arg A2 a lisp object. + (current_message_1, truncate_message_1, set_message_1) + (display_echo_area_1, resize_mini_window_1): Signatures changed. + (current_message, truncate_echo_area, display_echo_area) + (resize_echo_area_axactly): Changed calls. + + * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a + Lisp object. + (Ffind_coding_systems_region_internal): First argument to Fappend + must be an integer, not a Lisp object. + +2000-08-08 Kenichi Handa <handa@etl.go.jp> + + * charset.c (Fchar_width): Doc fix. + +2000-08-08 Gerd Moellmann <gerd@gnu.org> + + * charset.c (Fstring_width): Doc fix. + +2000-08-07 Gerd Moellmann <gerd@gnu.org> + + * xdisp.c (start_display): When starting display on a continuation + line, clear ascent and descent members of the iterator structure; + the height of the continued line does not affect the height of the + continuation line. + (make_cursor_line_fully_visible): Do nothing if cursor is on a + line taller than the window. + (redisplay_window) <forced window start>: Handle case that the + middle of the window is not found in any row. + (dump_glyph_row): Show more information. + (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the + first text line in a glyph matrix. + + * xterm.c (x_draw_image_foreground): Avoid drawing outside + of the clip area when image doesn't have a mask. + + * fns.c (sweep_weak_table): Fix survival conditions for + key-or-value and key-and-value weakness. + + * .gdbinit (xhashtable): New command. + + * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked + tables out of the list of all weak hash tables. + + * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and + a new buffer is created, make sure echo_area_buffer[] references + the new buffer. + +2000-08-07 Eli Zaretskii <eliz@is.elta.co.il> + + * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in + the doc string. + +2000-08-07 Kenichi Handa <handa@etl.go.jp> + + * syntax.c (skip_chars): Fix previous change. Make the handling + of unibyte string consistent with that of regex search. + +2000-08-05 Gerd Moellmann <gerd@gnu.org> + + * xmenu.c (popup_get_selection): Use xfree instead of free. + + * fileio.c (Finsert_file_contents): Use xfree instead of free. + + * editfns.c (Ftranspose_regions): Use xfree instead of free. + + * callproc.c (child_setup): Use xfree instead of free. + + * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc + instead of malloc. + (run_mac_command, closedir): Use `xfree' instead of `free'. + + * keymap.c (current_minor_maps): Use xmalloc instead of malloc. + + * eval.c (error): Use xfree instead of free. + + * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'. + + * fns.c: Replace `illegal' with `invalid'. + (Fmake_hash_table, make_hash_table): Allow table size of 0. + +2000-08-05 Kenichi Handa <handa@etl.go.jp> + + * syntax.c (skip_chars): Fix handling of multibyte<->unibyte + conversion. + +2000-08-04 Noah Friedman <friedman@splode.com> + + * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in + docstring. + +2000-08-04 Gerd Moellmann <gerd@gnu.org> + + * syntax.c (skip_chars): Fix typo in error message. + +2000-08-04 Andreas Schwab <schwab@suse.de> + + * m/ia64.h: Moved from s/ia64.h. + +2000-08-04 Kenichi Handa <handa@etl.go.jp> + + * process.c (read_process_output): Big simplification. Handle + composition and post-read-conversion of coding system correctly. + (send_process): Handle composition correctly. + + * callproc.c (Fcall_process): Handle post-read-conversion of + coding system if any. + + * coding.c (decode_coding_iso2022): More strict check for handling + single shifting. + (coding_restore_composition): Pay attention to the case that + cmp_data is not set properly (because of invalid code in the + source text). + (run_pre_post_conversion_on_str): Include text properties in the + resulting string. + (decode_coding_string): Set members of coding correctly. + +2000-08-03 Gerd Moellmann <gerd@gnu.org> + + * s/ia64.h: New file. + + * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues): + Use NULL instead of 0 at the end of variable argument list of + XtVaGetValues and XtVaSetValues, because 0 fails on systems where + sizeof (int) < sizeof (void *). + + * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end + of variable argument lists of XtVaGetValues and XtVaSetValues. + + * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of + variable argument lists of XtVaGetValues and XtVaSetValues. + +2000-08-02 Gerd Moellmann <gerd@gnu.org> + + * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE. + (xrealloc, xmalloc): Use size_t. Some callers adjusted. + + * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change + prototype. + + * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter + in call to Fsingle_key_description. + + * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES. + Callers changed. + +2000-08-02 Colin Walters <walters@cis.ohio-state.edu> + + * window.c (display_buffer_reuse_frames): New variable. + (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse + frames displaying BUFFER. + (syms_of_window): Define Lisp variable display-buffer-reuse-frames. + +2000-08-01 Miles Bader <miles@gnu.org> + + * editfns.c (Fconstrain_to_field): Fix the conditions for deciding + when to constrain NEW_POS (they were pretty screwed up before). + +2000-07-31 Eli Zaretskii <eliz@is.elta.co.il> + + * msdos.c (run_msdos_command): Save and restore the master + environment, for the case that child_setup signals an error. + When mirroring slashes in DOS shell commands, don't fail when + argv[2] has embedded blanks. + (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions. + (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons. + (dos_ttraw): Call mouse_setup_buttons. + + * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of + using alloca; free it after run_msdos_command returns. + +2000-07-27 Dave Love <fx@gnu.org> + + * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define. + [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working. + + * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define. + +2000-07-27 Eli Zaretskii <eliz@is.elta.co.il> + + * editfns.c (lisp_time_argument): Fix last change. + +2000-07-27 Gerd Moellmann <gerd@gnu.org> + + * fns.c (Fdelete): Make it work on vectors and strings in addition + to lists. + + * fns.c (Qkey_or_value, Qkey_and_value): New variables. + (syms_of_fns): Initialize new variables. + (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'. + (Fmake_hash_table): Recognize `key-and-value' and `key-or-value' + weakness, with t meaning the same as `key-and-value'. + +2000-07-27 Kenichi Handa <handa@etl.go.jp> + + * coding.h (struct coding_system): Member safe_charset deleted. + + * coding.c (Qsafe_charsets): This variable deleted. + (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system): + New variables. + (coding_safe_chars): New function. + (CODING_SAFE_CHAR_P): New macro. + (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of + checking safe_charsets member of the coding system. Caller changed. + (detect_coding_iso2022): New local variable safe_chars. + (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking + safe_charsets member of the coding system. + (decode_coding_iso2022): New local variable safe_chars. + (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here. + (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise. + (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed. + (ENCODE_UNSAFE_CHARACTER): New macro. + (encode_coding_iso2022): New local variable safe_chars. Check + unsafe chars. + (setup_coding_system): Delete the code to initialize + coding->safe_charses + (intersection, find_safe_codings): New functions. + (Ffind_coding_systems_region_internal): New function. + (syms_of_coding): Defsubr it. Initialize Qsafe_chars, + Qsafe_cding_system. Make Vchar_coding_system_table a Lisp + variable and initialize it. + + * fns.c (char_table_ref_and_index): New function. + + * lisp.h (char_table_ref_and_index): Add prototype. + +2000-07-26 Sam Steingold <sds@gnu.org> + + * editfns.c (lisp_time_argument): Added third argument `usec'. + (Ffloat_time): New built-in Lisp function. + +2000-07-26 Gerd Moellmann <gerd@gnu.org> + + * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits + for the character code. + + * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and + GNU/Linux. + + * xmenu.c (menu_highlight_callback): Call show_help_echo directly + if called for a popup menu. + (xmenu_show): Store help string in widget values. + +2000-07-26 Dave Love <fx@gnu.org> + + * syswait.h: Move some definitions. + (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex. + [!HAVE_SYS_WAIT_H]: Define things unconditionally. More + perspicuous definitions. + (WTERMSIG): Fix bit pattern used. + +2000-07-26 Kenichi Handa <handa@etl.go.jp> + + * print.c (print_object): If vector printing is truncated, print + "..." to indicate it as well as the case of list printing. + +2000-07-25 Gerd Moellmann <gerd@gnu.org> + + * xdisp.c (next_element_from_display_vector): Improve comments. + + * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits + for the character code, and the rest for the face id as in 20.x. + (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly. + + * window.c (window_display_table): Cleaned up. + + * syntax.c (Fforward_word): Add last arg nil in call of + Fconstrain_to_field. + +2000-07-25 Eli Zaretskii <eliz@is.elta.co.il> + + * fileio.c (Frename_file) [DOS_NT]: If the file names are + identical but for the letter-case, don't call + barf_or_query_if_file_exists. + +2000-07-25 Miles Bader <miles@gnu.org> + + * editfns.c (find_field): Honor special `boundary' fields. + (Qboundary): New variables. + (syms_of_editfns): Initialize Qboundary. + (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument. + Use scan_buffer instead of find_before_next_newline, because it + allows us to detect the boundary case where there's a newline at + the search limit. + * lisp.h (Fconstrain_to_field): Update external declaration. + +2000-07-24 Gerd Moellmann <gerd@gnu.org> + + * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks + if that is nil. + +2000-07-24 Dave Love <fx@gnu.org> + + * s/sunos4-0.h, s/sol2.h: + (LIBS_TERMCAP): Move from m/sparc.h. + + * m/sparc.h (TERMINFO): Moved to system files (probably only + relevant for sunos4 judging by its vintage). + (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on + __arch64__. + +2000-07-24 Eli Zaretskii <eliz@is.elta.co.il> + + * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane + name to single_keymap_panes. + +2000-07-24 Andreas Schwab <schwab@suse.de> + + * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil. + +2000-07-24 Gerd Moellmann <gerd@gnu.org> + + * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT + parameters instead of using int parameters. Expect FN to accept + EMACS_INT parameters. + (display_echo_area, resize_echo_area_axactly, current_message) + (truncate_echo_area, set_message_1): Call with_echo_area_buffer + with new argument list. + (resize_mini_window_1): New callback function. + (current_message_1, truncate_message_1, set_message_1): Change + parameter lists to the new format expected by with_echo_area_buffer. + +2000-07-24 Kenichi Handa <handa@etl.go.jp> + + * fontset.c (fontset_ref): Remove INLINE declaration. + (fontset_ref_via_base): Likewise. + (Fset_fontset_font): Convert FAMILY and REGISTRY specifications + to downcase. + +2000-07-23 Eli Zaretskii <eliz@is.elta.co.il> + + * msdos.c (IT_note_mouse_highlight): Process overlays in the + correct order of priority. If help echo was found in an overlay, + use that overlay as the object in which the help echo was found. + +2000-07-22 Miles Bader <miles@gnu.org> + + * textprop.c (Fprevious_single_char_property_change): The initial + property value should be from the position preceding POSITION, not + following it. + +2000-07-22 Eli Zaretskii <eliz@is.elta.co.il> + + * coding.c (syms_of_coding): Doc fix for + inhibit-iso-escape-detection. + +2000-07-21 Gerd Moellmann <gerd@gnu.org> + + * xterm.c (note_mouse_highlight): Process overlays in the right + order of priority. + + * keyboard.c (show_help_echo, gen_help_event): Extend comments. + + * xterm.c (note_mouse_highlight): If help-echo was found in an + overlay, use that overlay as the object in which the help was found. + + * window.c (foreach_window_1): Fix typo reversing an if-condition. + + * window.c (foreach_window): Instead of a fake variable argument + list, take one USER_DATA argument. + (foreach_window_1): Likewise, and call callback functions with two + args, the window and USER_DATA. + (struct check_window_data): New struct. + (check_window_containing): Use it. + (window_from_coordinates): Set up a struct check_window_data for + foreach_window. + (add_window_to_list, freeze_window_start): Change parameters + according to new calling convention. + + * window.h (foreach_window): Change prototype. + + * buffer.c (Fprevious_overlay_change): Avoid memory leak. + +2000-07-21 Eli Zaretskii <eliz@is.elta.co.il> + + * xmenu.c (menu_help_callback): Call show_help_echo with + additional arguments OBJECT and POS. + +2000-07-21 Kenichi Handa <handa@etl.go.jp> + + * data.c (Faset): Allow storing any multibyte character in a + string. Convert unibyte string to multibyte if necessary. + + * xfns.c (x_encode_text): New function. + (x_set_name): Use x_encode_text. + (x_set_title): Likewise. + + * xselect.c (lisp_data_to_selection_data): Use x_encode_text. + + * xterm.h (x_encode_text): Add prototype. + +2000-07-20 Dave Love <fx@gnu.org> + + * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use + xfree, not free. + +2000-07-20 Eli Zaretskii <eliz@is.elta.co.il> + + * msdos.c (help_echo_window): New variable. + (syms_of_msdos): Initialize and staticpro it. + (IT_note_mode_line_highlight): Set help_echo_window. + (IT_note_mouse_highlight): Ditto. + (dos_rawgetc): Store help_echo_window in the second event produced + for HELP_EVENTs. + + * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight): + Record the object that generated the help echo and the position of + that object in help_echo_object and help_echo_pos. Record that + some glyphs in a row are displayed in mouse-face. + (IT_update_begin): Don't clear mouse highlight unless one of the + enabled glyph rows is marked as being displayed in mouse-face. + (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object + and position recorded in help_echo_object and help_echo_pos to the + event queue. + (IT_menu_display): Accept a new argument PN: the pane number of + the current menu pane. Record the pane number and the item + number of the item which has associated help string. + (XMenuActivate): Update the prototype for help_callback in + function declaration. Call IT_menu_display with the current menu + pane number as an additional argument. Call help_callback with + two additional arguments: the pane number and the item number of + the menu item associated with the help text. + (help_echo_object, help_echo_pos): New variables. + (syms_of_msdos): Initialize them and staticpro help_echo_object. + + * msdos.h (XMenuActivate): Update prototype. + +2000-07-19 Gerd Moellmann <gerd@gnu.org> + + * xdisp.c (with_echo_area_buffer): Call FN with more arguments. + Add some more prototypes. + + * xterm.c, xterm.h: Add some more prototypes. + + * lisp.h (Fnext_single_char_property_change): Add prototype. + + * dispnew.c (direct_output_for_insert): Remove confusing + outer local variable mouse_face_overwritten_p. + (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG. + + * alloc.c (allocate_string_data): Don't copy old string contents. + +2000-07-19 Kenichi Handa <handa@etl.go.jp> + + * coding.c (code_convert_region): Delete text properties before + shrinking the conversion region. + +2000-07-18 Gerd Moellmann <gerd@gnu.org> + + * dispnew.c (update_text_area): Write the whole row if it + has mouse-face in it. + + * xfaces.c (face-alternative-font-family-alist): Remove + DEFVAR_LISP; staticpro instead. + + * xmenu.c (menu_help_callback): Call show_help_echo with + new arguments. + + * keyboard.c (show_help_echo): Add parameter WINDOW. + (read_char): Call show_help_echo with window extracted from Lisp + help event. + (gen_help_event): Add parameter WINDOW. + + * keyboard.h (show_help_echo, gen_help_event): Change prototypes. + + * xterm.c (help_echo_window): New variable. + (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window. + (XTread_socket): Pass help_echo_window to gen_help_event. + (syms_of_xterm): Initialize and staticpro help_echo_window. + +2000-07-18 Dave Love <fx@gnu.org> + + * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h. + +2000-07-18 Gerd Moellmann <gerd@gnu.org> + + * alloc.c (allocate_string_data): If string had already data + assigned, copy old contents to new string data. + + * coding.c (syms_of_coding): Fix typo in spelling of variable + `inhibit-iso-escape-detection'. + + * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE. + + * Makefile.in: Add dependencies on dispextern.h. + (alloca.o): Don't define malloc and define EMACS_FREE instead of + `free'; both can conflict with system header files. + +2000-07-18 Kenichi Handa <handa@etl.go.jp> + + * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is + undefined. + +2000-07-18 Dave Love <fx@gnu.org> + + * window.c (Fwindow_list): Declare arg `window'. + +2000-07-18 Kenichi Handa <handa@etl.go.jp> + + * coding.c (setup_coding_system): Don't override the explicitly + specified designations. + +2000-07-15 Miles Bader <miles@gnu.org> + + * editfns.c (char_property_eq, char_property_stickiness): Renamed + from `text_property_eq' and `text_property_stickiness', respectively. + (find_field, Fconstrain_to_field, char_property_eq) + (char_property_stickiness): Changed to call char-property functions + instead of text-property-only ones. + + * textprop.c (Fnext_single_char_property_change): Made a subr (was + `next_single_char_property_change'). Do more error checking, and + cleanup limit behavior. + (Fprevious_single_char_property_change): New function. + (syms_of_textprop): Initialize new subrs. + + * xdisp.c (display_prop_end, invisible_text_between_p): + Call Fnext_single_char_property_change instead of + next_single_char_property_change. + +2000-07-15 Jason Rumney <jasonr@gnu.org> + + * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree + after menu is finished with. + (add_menu_item): Only consider wv->title as a menu title. + (w32_menu_display_help): Add OBJECT and POS to show_help_echo. + + * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a + null title. + (FONT_REGEXP): Remove unused macro, and its sub-components. + (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts. + + * w32term.c (help_echo_object, help_echo_pos): New variables. + (note_mode_line_highlight): Store additional information about the + help-echo in help_echo_object and help_echo_pos. Check both + `local-map' and `keymap' properties for changing the cursor + (note_mouse_highlight): Store additional information about the + help-echo in help_echo_object and help_echo_pos. + (note_tool_bar_highlight): Set help_echo_object to nil and + help_echo_pos to -1. + (w32_read_socket): Use gen_help_event instead of filling + input_events manually. + (syms_of_w32term): Staticpro help_echo_object. + (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If + set, arrange for a mouse-highlight redisplay in XTframe_up_to_date. + (x_clear_mouse_face): New function. + (w32_redisplay_interface): Add pointer to x_clear_mouse_face. + (x_update_window_begin): No need to turn off the mouse + highlight here. + (show_mouse_face): Set the mouse_face_p flag of glyph rows + depending on whether they contain glyphs highlighted in mouse-face. + (x_fill_stretch_glyph_string): Consume runs of stretch + glyphs instead of a single one. + (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string + with new argument list. + (x_set_glyph_string_gc): Make sure the face's GC is valid. + (x_append_glyph, x_append_composite_glyph) + (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to + changes in struct glyph starting 1999-12-27. See comments for + xterm.c on 2000-07-05. + +2000-07-14 Sam Steingold <sds@gnu.org> + + * xfaces.c (realize_x_face): Fix the last patch: + check `default_face' before dereferencing. + +2000-07-14 Dave Love <fx@gnu.org> + + * syntax.c (back_comment): Add null default in switch (for pcc). + +2000-07-14 Kenichi Handa <handa@etl.go.jp> + + * xfaces.c (realize_x_face): Make fontset using the base of the + default_face's fontset, not using the default fontset. + + * coding.c (inhibit_iso_escape_detection): New variable. + (syms_of_coding): Make it a Lisp variable. + (detect_coding_iso2022): If inhibit_iso_escape_detection is + nonzero, ignore ISO2022's escape sequence. + +2000-07-14 Gerd Moellmann <gerd@gnu.org> + + * alloca.c (malloc) [emacs]: Define as xmalloc. + + * xfns.c (Fx_show_tip): If frame parameters contain a position, + use that instead of the mouse position. Add parameters DX and DY. + + * dispextern.h (Fx_show_tip): Adjust number of parameters + in prototype. + + * keyboard.c (show_help_echo): Add parameters OBJECT and POS. + if HELP is a function, call it with OBJECT and POS as parameters + to get the help to display. + (gen_help_event, kbd_buffer_store_help_event): New functions. + (kbd_buffer_get_event): Construct the Lisp help-event differently. + (read_char): Call show_help_echo with new parameters. + + * keyboard.h (gen_help_event, kbd_buffer_store_help_event): + Add prototypes. + + * xterm.c (help_echo_object, help_echo_pos): New variables. + (note_mode_line_highlight): Store additional information about the + help-echo in help_echo_object and help_echo_pos. Check both + `local-map' and `keymap' properties for changing the cursor + (note_mouse_highlight): Store additional information about the + help-echo in help_echo_object and help_echo_pos. + (note_tool_bar_highlight): Set help_echo_object to nil and + help_echo_pos to -1. + (XTread_socket): Use gen_help_event instead of filling + input_events manually. + (syms_of_xterm): Staticpro help_echo_object. + + * xmenu.c (menu_highlight_callback): Use + kbd_buffer_store_help_event instead of setting up and input_event + structure manually. + + * xdisp.c (eval_form): GCPRO argument sexpr. + (call_function): New function. + (handle_single_display_prop): Use call_function and FUNCTIONP + instead of checking whether if font_height is a symbol and + using eval_form. + + * eval.c (internal_condition_case_2): New function. + + * lisp.h (FUNCTIONP): New macro. + (internal_condition_case_2, call_function): Add prototypes. + + * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event) + (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket): + Always set `arg' member of input_events. + (construct_menu_click): Unused function removed. + + * msdos.c (dos_rawgetc): Always set `arg' member of input_events. + + * w32term.c (construct_mouse_click, construct_mouse_wheel) + (construct_drag_n_drop, x_scroll_bar_handle_click) + (w32_read_socket): Always set `arg' member of input_events. + + * keyboard.c (show_help_echo): Use eval_form. Add comment. + + * lisp.h (eval_form): Add prototype. + + * xdisp.c (eval_form): Make it externally visible. + +2000-07-13 Gerd Moellmann <gerd@gnu.org> + + * xterm.c (x_handle_tool_bar_click): Store the frame in the + frame_or_window slot of TOOL_BAR_EVENT input events instead of + consing. For prefix events, store the frame in the `arg' slot of + the event, otherwise store the key there. + (XTread_socket): Instead of consing, use the frame_or_window slot + of HELP_EVENTs for the frame, and the `arg' slot for the help string. + + * xmenu.c (menu_highlight_callback): Store help string in the + `arg' member of the input event; don't cons. + (menubar_selection_callback): Use the `arg' slot of input events + to queue additional information, instead of consing. + + * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs. + + * w32term.c (w32_handle_tool_bar_click): Adapt to changes in + TOOL_BAR_EVENTs. + (w32_read_socket): Adapt to changes in HELP_EVENTs. + + * w32menu.c (menubar_selection_callback): Use the `arg' slot of + input events to queue additional information, instead of consing. + + * keyboard.c (kbd_buffer_gcpro): Renamed from + kbd_buffer_frame_or_window. Now used for all Lisp objects + referenced from the input queue. + (kbd_buffer_store_event): Always use structure assignment for + copying input events. Record all Lisp objects referenced from + events in kbd_buffer_gcpro. + (kbd_buffer_get_event): Construct Lisp `help-echo' events + differently from input events. Test for prefix menu_bar_events + and TOOL_BAR_EVENTs differently. Reset all slots used by an input + event in kbd_buffer_gcpro to nil. + (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose + frame_or_window is equal to its arg member as prefix events. + (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro + used by an input event to nil. + (init_keyboard): Use two times the size of the input queue + for kbd_buffer_gcpro. + (syms_of_keyboard): Likewise. + + * emacs.c (handle_USR2_signal, handle_USR1_signal): + Use USER_SIGNAL_EVENT. + + * termhooks.h (struct input_event): Add member `arg'. + (MENU_BAR_EVENT): Renamed from menu_bar_event. + (USER_SIGNAL_EVENT): Renamed from user_signal. + + * xfaces.c (ASET): Remove definition. + + * lisp.h (AREF, ASET, ASIZE): New macros. + + * fontset.c (AREF, ASIZE): Remove definitions. + + * fns.c (AREF): Remove definition. + + * composite.c (AREF): Remove definition. + +2000-07-12 Gerd Moellmann <gerd@gnu.org> + + * dispnew.c (redraw_overlapped_rows): Add missing local. + (scrolling_window): Remove debug code. + + * xdisp.c (try_window_reusing_current_matrix, try_window_id): + Before scrolling, turn off a mouse-highlight in the window + being scrolled. + + * xterm.c (x_update_window_end): Add parameter + MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight + redisplay in XTframe_up_to_date. + (x_clear_mouse_face): New function. + (x_redisplay_interface): Add pointer to x_clear_mouse_face. + + * dispnew.c (make_current): Preserve the mouse_face_p flag of the + current glyph row. + (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set + it when any row is written to that contains glyphs highlighted in + mouse-face. + (update_window): Call the window update end hook with new + parameter MOUSE_FACE_OVERWRITTEN_P. + (direct_output_for_insert): Give up if row contains mouse-face. + + * dispextern.h (struct redisplay_interface): Add parameter + MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function. + (clear_mouse_face): New function pointer member. + +2000-07-11 Stefan Monnier <monnier@cs.yale.edu> + + * syntax.c (back_comment): Use one switch rather than a few `if's. + Obey open_paren_in_column_0_is_defun_start. + When reverting to the `slow' method, try to nicely handle the case + of nested comments by checking that the comment-starter we found + does indeed match the comment-ender. + (scan_sexps_forward, scan_sexps_forward): + Ignore excessive opening parenthesis rather than throwing an error. + +2000-07-11 Gerd Moellmann <gerd@gnu.org> + + * doc.c (Fsubstitute_command_keys): Handle case that a GC + in Fwhere_is_internal or get_keymap_1 relocates string contents. + + * dispnew.c (direct_output_forward_char): Give up if currently + displaying a message instead of the minibuffer contents. + + * xterm.c (x_update_window_begin): No need to turn off the mouse + highlight here. + (show_mouse_face): Set the mouse_face_p flag of glyph rows + depending on whether they contain glyphs highlighted in mouse-face. + + * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set, + compare the mouse_face_p flags of both rows. + + * dispextern.h (struct glyph_row): Add flag mouse_face_p. + +2000-07-11 Eli Zaretskii <eliz@is.elta.co.il> + + * keyboard.c (show_help_echo): Accept additional parameter + ok_to_overwrite_keystroke_echo. + (read_char): Call show_help_echo with a zero + ok_to_overwrite_keystroke_echo argument. + * keyboard.h (show_help_echo): Update prototype of show_help_echo. + * xmenu.c (menu_help_callback): Call show_help_echo with non-zero + ok_to_overwrite_keystroke_echo argument. + * w32menu.c (w32_menu_display_help): Call show_help_echo with + non-zero ok_to_overwrite_keystroke_echo argument. + +2000-07-10 Gerd Moellmann <gerd@gnu.org> + + * xdisp.c (try_window_id): If changes are all below what is + displayed in the window, and point is in the window, we still + might have to find point on the display. + + * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch + glyphs instead of a single one. + (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string + with new argument list. + (x_set_glyph_string_gc): Make sure the face's GC is valid. + + * keymap.c (get_keymap_1): Add comment that this function can GC. + (where_is_internal_2, where_is_internal_1): Add GCPROs, add + comment that functions can GC. + (Fset_keymap_parent): GCPRO arg KEYMAP. + +2000-07-10 Eli Zaretskii <eliz@is.elta.co.il> + + * msdos.c (XMenuActivate): After exiting the menu, restore the + echo area message and erase it. + +2000-07-10 Kenichi Handa <handa@etl.go.jp> + + * fontset.c (Ffontset_info): Make the return value more compatible + with that of Emacs 20. + +2000-07-07 Gerd Moellmann <gerd@gnu.org> + + * eval.c (Fsignal): Handle case that backtrace_list is null. + +2000-07-07 Kenichi Handa <handa@etl.go.jp> + + * ccl.c (Fccl_execute): Typo fixed. + +2000-07-06 Gerd Moellmann <gerd@gnu.org> + + * window.c (window_loop): Add missing gcpro1 local variable. + + * window.c (Fwindow_list): Reverse list at the end. + (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil + means allow windows on OWINDOW's frame, only. + (window_loop): Simplified; use Fwindow_list. + + * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make. + +2000-07-05 Gerd Moellmann <gerd@gnu.org> + + * xterm.c (XTread_socket): Increment handling_signal at the start, + decrement it at the end. + + * eval.c (handling_signal): New variable. + (Fsignal): Abort if handling_signal is non-zero. + + * lisp.h (handling_signal): External declaration. + + * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0. + +2000-07-05 Ken Raeburn <raeburn@gnu.org> + + Sound support for NetBSD through "Linux emulation" support: + * config.in (HAVE_SOUNDCARD_H): Undef. + (HAVE_SOUND): Define if HAVE_SOUNDCARD_H. + * Makefile.in (LIBSOUND): New variable. + (LIBES): Include it. + * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>. + (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere. + (vox_open): Use DEFAULT_SOUND_DEVICE. + * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio. + +2000-07-05 Gerd Moellmann <gerd@gnu.org> + + * print.c (print_error_message): If Vsignaling_function is set, + show it in *Messages*. + + * lisp.h (Vsignaling_function): External declaration. + + * eval.c (Vsignaling_function): New variable. + (Fsignal): Compute it. + (syms_of_eval): Staticpro it. + +2000-07-05 Dave Love <fx@gnu.org> + + * syswait.h: Use the autoconf recommended approach. Old code + #if'd out in case we need to revert. + + * config.in (HAVE_SYS_WAIT_H): Added. + +2000-07-05 Andrew Innes <andrewi@gnu.org> + + * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore + when non-NULL instead of __morecore, to take account of buffer + memory. This also solves a problem with spurious memory warnings + on Windows. + + * ralloc.c: Make real_morecore non-static. + + * eval.c (internal_condition_case): Comment out abort if + interrupt_input_blocked is not zero. + + * makefile.nt: Add support for `bootstrap' and related targets. + Include minimal debug info in emacs.exe in release build. + Remove all dependencies on lisp.h, and fixup some others. + + * w32.c (init_environment): Install code from 20.7 for providing + default values for environment variables, based on the + executable's own location. + (map_w32_filename): Handle filenames that are longer than MAX_PATH. + (sys_socket): Install socket inheritance bug fix from 20.7. + + * alloca.c [emacs]: Include lisp.h (needed by atimer.h included + here via blockinput.h). + +2000-07-05 Stefan Monnier <monnier@cs.yale.edu> + + * w32menu.c (w32_menu_display_help): + * xmenu.c (menu_help_callback): Use show_help_echo. + + * keyboard.h (show_help_echo): Declare. + + * keyboard.c (show_help_echo): New function, extracted from read_char. + Feval its `msg' argument if it's a cons cell. + (read_char): Use it. + (follow_key): Pass `autoload' to get_keyelt. + + * xterm.c (note_mode_line_highlight, note_mouse_highlight) + (note_tool_bar_highlight, XTread_socket): + * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight) + (dos_rawgetc): + * w32term.c (note_mode_line_highlight, note_mouse_highlight) + (note_tool_bar_highlight, w32_read_socket): + Do not gratuitously ignore non-string `help-echo' properties. + +2000-07-05 Gerd Moellmann <gerd@gnu.org> + + * eval.c (Feval): Put check for interrupt_input_block in #if 0. + + * window.c (delete_all_subwindows): Reset Vwindow_list. + + * xterm.c (x_append_glyph, x_append_composite_glyph) + (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to + changes in struct glyph starting 1999-12-27. Some bit-fields of + struct glyph were not set, which made glyphs unequal when compared + with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering + effects were the result. This also depended on the contents of + memory returned by xmalloc. If flickering happens again, activate + the code in clear_glyph_row that's in #if 0. If the flickering is + gone with that, chances are that it is caused by something similar. + + * dispnew.c (clear_glyph_row): Add debug code in #if 0. + + * dispextern.h: Add some comments. + + * window.c (add_window_to_list): Add parameter LIST. + (window_list): Order list so that, for each frame, windows are + in canonical order, and so that frames appear in the list in + the order given by Vframe_list. + (next_window): Reverse the handling of NEXT_P. + +2000-07-04 Gerd Moellmann <gerd@gnu.org> + + * window.c (Vwindow_list): New variable. + (make_window, delete_window): Set Vwindow_list to nil. + (check_window_containing): New function. + (window_from_coordinates): Rewritten. + (add_window_to_list, window_list, candidate_window_p) + (decode_next_window_args, next_window): New functions. + (Fnext_window, Fprevious_window): Rewritten in terms of next_window. + (Fwindow_list): New function. + (Fother_window): Cleaned up. + (foreach_window): Add a longer "variable argument list". Let + callback function return 0 to indicate that cycling over windows + should stop. + (foreach_window_1): Likewise. + (freeze_window_start): Return int. + (init_window): New function. + (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list. + + * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear + input_event with bzero. + (main): Call init_window. + + * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating + a menu filter. + +2000-07-04 Kenichi Handa <handa@etl.go.jp> + + * composite.h (make_composition_value_copy): Extern it. + + * composite.c (make_composition_value_copy): New function. + + * editfns.c (Fformat): While copying text properties, make each + composition property value a copy. + + * fns.c (concat): While copying text properties, make each + composition property value a copy. + +2000-07-03 Gerd Moellmann <gerd@gnu.org> + + * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define. + + * fns.c (sweep_weak_table): Mark only objects that are not + marked already. + + * frame.c (next_frame, prev_frame): If MINIBUF is a window, + include those frames as candidates which have their focus + redirected to the minibuffer frame. + +2000-07-03 Stefan Monnier <monnier@cs.yale.edu> + + * fns.c (Fputhash): Return `value' rather than nil. + +2000-06-30 Gerd Moellmann <gerd@gnu.org> + + * frame.c (next_frame): Don't check focus redirection in case + MINIBUF is a window. Doing so excludes frames using MINIBUF + unless their focus is redirected, which contradicts the + specification of next-frame, and leads to infinite loops in + certain situations when cycling through windows with next-window. + +2000-06-30 Kenichi Handa <handa@etl.go.jp> + + * coding.c (code_convert_region): Even if the length of text is + zero, try to convert it if coding->type is coding_type_ccl. + (decode_coding_string, encode_coding_string): Likewise. + +2000-06-28 Gerd Moellmann <gerd@gnu.org> + + * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse + the display if windows_or_buffers_changed. + + * dispnew.c (struct row_entry): New structure. + (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table) + (row_table_size, old_lines, new_lines, old_lines_size) + (new_lines_size, run_pool, runs_size, runs): New variables. + (add_row_entry): New function. + (scrolling_window): Use data structures allocated with xmalloc and + held in global variables, instead of allocating them with alloca and + holding them in local variables. Use a larger hash table whose + size depends on glyph matrix sizes. Don't use bzero to clear the + hash table; instead, clear used slots only. + + * fns.c (next_almost_prime): Make it externally visible. + + * lisp.h (next_almost_prime): Add prototype. + + * s/isc4-0.h (sigunblock): Define. + + * s/sco5.h (sigunblock): Define. + +2000-06-27 Dave Love <fx@gnu.org> + + * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change + (moved to osf5-0.h). + [!NOT_C_CODE]: Protect string.h stuff. + + * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED) + (sys_siglist, NSIG): Definitions moved here from osf1.h. + +2000-06-27 Gerd Moellmann <gerd@gnu.org> + + * xdisp.c (resize_mini_window): Subtract the extra line spacing + below the last line from the needed window height. + +2000-06-26 Stefan Monnier <monnier@cs.yale.edu> + + * fns.c (Fplist_member): Renamed from Fwidget_plist_member. + (Fwidget_get): Use it. + (syms_of_fns): Defsubr it. + +2000-06-26 Gerd Moellmann <gerd@gnu.org> + + * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the + display info for XIM. + (xim_open_dpy): Likewise. + (xim_close_dpy): Don't free the display info's XIM. + + * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic. + + * config.in (USE_XIM): New define. + + * keymap.c (get_keyelt): For menu-items containing a `:filter + FILTER', apply FILTER to the menu-item's definition to get the + real definition to use. + + * lisp.h (QCfilter): External declaration. + + * xfns.c (Fimage_size): New function. + (syms_of_xfns): Defsubr it. + +2000-06-26 Andreas Schwab <schwab@suse.de> + + * coding.c (decode_coding_string): Re-fetch STRING_BYTES after + Fstring_as_unibyte. + +2000-06-25 Dave Love <fx@gnu.org> + + * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum. + + * Makefile.in (blockinput.h): Depend on atimer.h. + (atimer.h): Depend on systime.h. + + * blockinput.h: Protect against multiple inclusion. Include atimer.h. + + * atimer.h: Protect against multiple inclusion. Include systime.h. + + * lisp.h (swap_in_global_binding): Declare. + +2000-06-24 Ken Raeburn <raeburn@gnu.org> + + * process.c (Fopen_network_stream): Turn off atimers for duration + of call to connect. (Patch from Gerd.) + +2000-06-23 Dave Love <fx@gnu.org> + + * ralloc.c: Maybe include unistd.h + + * emacs.c (setgrp): Undefine before defining. + (malloc_warning, set_time_zone_rule, index): Prototype. + + * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use + HAVE_STRUCT_TIMEZONE. + + * s/osf1.h: Move string.h hack here from alpha.h and make it + conditional. + (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with + _XOPEN_SOURCE. + (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define. + (SOCKLEN_TYPE): Don't define. + + * m/alpha.h: Remove string.h hack. + + * s/osf5-0.h: New file. + + * filelock.c: Use feature tests for fcntl.h, string.h. Don't + include time.h, done by systime.h. + [__FreeBSD__]: Remove redundant includes. + + * callproc.c (setpgrp): Undefine before defining. + (delete_temp_file): Return Qnil to avoid warning. + + * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add. + + * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not + HAVE_X_WINDOWS. + + * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset. + + * composite.h (compose_text): Declare. + + * xterm.c: Don't include sys/types.h unconditionally. Don't + protect its inclusion with !USG (following xmenu.c). + +2000-06-23 Gerd Moellmann <gerd@gnu.org> + + * xfns.c (x_create_tip_frame): Initialize frame's colors like + in x_create_frame. + +2000-06-23 Eli Zaretskii <eliz@is.elta.co.il> + + * coding.c (decode_eol_post_ccl): Special handling for undecided + and inconsistent EOL types. + +2000-06-22 Gerd Moellmann <gerd@gnu.org> + + * xrdb.c (x_load_resources): Add default resource for scroll bar's + trough color and main window's background color. + + * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently. + + * xterm.h (Xt_app_con): External declaration. + + * widget.c (EmacsFrameRealize): Fix typo. + + * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask. + + * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero. + (handle_invisible_prop): Record the start of invisible text in + it->add_overlay_start. + (struct overlay_entry): Add member `overlay'. + (handle_overlay_change): Simplify. + (next_overlay_string): After having processed overlay strings at the + end of the buffer, record that fact in + it->overlay_strings_at_end_processed_p. + (compare_overlay_entries): If before- and after-strings come + from the same overlay, let before-strings come first. + (RECORD_OVERLAY_STRING): Record the overlay that strings come from. + (load_overlay_strings): Take it->add_overlay_start into account + when adding overlay strings. + + * dispextern.h (struct it): Add member add_overlay_start. + +2000-06-22 Dave Love <fx@gnu.org> + + * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500. + + * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here. + +2000-06-22 Kenichi Handa <handa@etl.go.jp> + + * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it + is greater than 0. + +2000-06-21 Dave Love <fx@gnu.org> + + * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it. + +2000-06-21 Stefan Monnier <monnier@cs.yale.edu> + + * syntax.c (back_comment): Simplify string-parity counting (with + the added benefit of handling multiple string-styles as long as + they are not intertwined). + Jump to the slow code as soon as a comment starter is found in + a "string_lossage" position. Fixes the case: " /* " /* " */. + +2000-06-21 Dave Love <fx@gnu.org> + + * Makefile.in: Use GETLOADAVG_LIBS. + + * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS, + _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE. + +2000-06-20 Stefan Monnier <monnier@cs.yale.edu> + + * syntax.c (describe_syntax): Recognize the `n'estable bit. + (Fforward_comment, scan_lists): + Check the comstyle of single-char comment-starters. + (scan_sexps_forward): Don't try to recognize `half comment-enders' if + we're just at the beginning of the comment (f.ex with (*) ... (*)). + Check the comstyle of single-char comment-starters. + Clarify control-flow around the Scomment case. + +2000-06-20 Dave Love <fx@gnu.org> + + * fns.c (make_hash_table, maybe_resize_hash_table): + Cast arg of next_almost_prime. + + * tparam.c [emacs]: Include lisp.h. + + * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h + and unistd.h. + +2000-06-20 Gerd Moellmann <gerd@gnu.org> + + * keyboard.c (adjust_point_for_property): Check if display + property should be treated as intangible by looking at its value. + + * xdisp.c (single_display_prop_intangible_p) + (display_prop_intangible_p): New functions. + + * dispextern.h (display_prop_intangible_p): Add prototype. + + * xdisp.c (dump_glyph_row): Show type of glyph->object. + + * s/isc4-0.h (sigblock): Redefined to pass a pointer as second + argument to sigprocmask. + + * s/sco5.h (sigblock): Redefined to pass a pointer as second + argument to sigprocmask. + + * syssignal.h (sigblock, sigunblock) [USG5_4]: Set + sigprocmask_set, and pass a pointer to it to sigprocmask. + + * sysdep.c (sigprocmask_set): New variable. + + * fileio.c (make_temp_name): Don't use `%s' in string passed to + report_file_error. + +2000-06-20 Sam Steingold <sds@gnu.org> + + * xrdb.c: Don't declare xmalloc, xrealloc. + +2000-06-20 Stefan Monnier <monnier@cs.yale.edu> + + * regex.c (re_match, re_match_2): Protect calls to alloca (0). + (re_comp): Cast gettext return value to avoid complaints when + !HAVE_LIBINTL. + +2000-06-20 Dave Love <fx@gnu.org> + + * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY. + + * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK. + + * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD. + + * m/alpha.h: Don't declare xmalloc, xrealloc. + + * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT. + + * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE. + + * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY. + + * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare + HAVE_GETWD. + + * keyboard.h (poll_for_input_1): Declare. + + * getloadavg.c: Don't define NLIST_STRUCT (handled by configure). + + * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE. + + * doprnt.c: Don't declare xmalloc, xrealloc. + + * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text) + (getenv, ctime, getwd): Removed. + (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE. + + * xterm.h: Remove duplicate prototypes. Declare free_frame_xic, + x_set_tool_bar_lines. + + * config.in: Add HAVE_GETWD. Move some definitions above + machine/system includes. + +2000-06-20 Kenichi Handa <handa@etl.go.jp> + + * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1. + + * xfaces.c (font_list): Handle the case that REGISTRY doesn't + contain information about ENCODING. + + * fontset.c (FONTSET_ASCII): Use the first element of char table + for an ASCII font, not defalt slot. + (fontset_ref_via_base): If FONTSET doesn't contain information for + C, try the default fontset. + (make_fontset): Don't copy the default fontset. + (fontset_font_pattern): Likewise. + (accumulate_font_info): If ELT is nil, use the corresponding + element in the default fontset. + +2000-06-19 Dave Love <fx@gnu.org> + + * syntax.c (Fparse_partial_sexp): Doc fix. + + * regex.h: Test PROTOTYPES as well as __STDC__. + + * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare + errno, strerror. Put text after #endif in comment. + + * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc). + + * xterm.c (x_frame_of_widget): Likewise. + +2000-06-19 Gerd Moellmann <gerd@gnu.org> + + * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table + to Vfundamental_mode_abbrev_table. + + * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no + bogus objects are marked. This slows down GC by ~80 percent, but + it might be worth trying when debugging GC-related problems. + This feature requires conservative stack marking to be enabled. + + * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString + returns XLookupChars, reset `modifiers' to zero. + +2000-06-19 Dave Love <fx@gnu.org> + + * mktime.c: Unprotoized. + +2000-06-19 Richard Stallman <rms@gnu.org> + + * data.c (set_internal): If variable is frame-local, + store the new value immediately into the frame parameter alist. + +2000-06-19 Ken Raeburn <raeburn@gnu.org> + + * xfns.c (jpeg_load): Fetch error-handling data first, then fill + in the custom handler pointer. + + * keyboard.c (follow_key, read_key_sequence): Use XUINT on key + value, or checks for CHAR_META can fail when Lisp_Object is a + union type. + * keymap.c (get_keyelt): Likewise. + +2000-06-19 Kenichi Handa <handa@etl.go.jp> + + * ccl.h (struct ccl_program): New member eol_type. + (struct ccl_spec): New member cr_carryover. + + * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type. + (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF. + + * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'. + (ccl_coding_driver): On encoding, initialize ccl->eol_type. + (decode_eol_post_ccl): New function. + (decode_coding): Don't detect EOL format here for CCL based coding + systems. + (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call + decode_eol_post_ccl after running the CCL program. + (code_convert_region): Don't detect EOL format here for CCL based + coding systems. + (decode_coding_string): Likewise. + +2000-06-18 Ken Raeburn <raeburn@gnu.org> + + * charset.c (update_charset_table): Use XINT on "iso_final_char" + when treating it as an integer. + + * coding.h (encode_coding_string): Declare. + + * keyboard.c (read_key_sequence): Use XINT on "pos" when treating + it as an integer. + + * keymap.c (Fwhere_is_internal): Rename argument "keymap" to + "xkeymap" to avoid shadowing the "enum map_type" value that needs + to be passed to get_local_map. + + * sound.c (Fplay_sound): Don't call make_number on + Frun_hook_with_args count argument. + + * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer + for lisp objects in X event structure data field, when lisp + objects are represented with unions. + (x_scroll_bar_to_input_event): Ditto. + +2000-06-16 Ken Raeburn <raeburn@gnu.org> + + * xdisp.c (decode_mode_spec): In "no_value" case, do NUL + termination of string. Fix sense of test whether + Vline_number_display_limit is an integer. + +2000-06-16 Gerd Moellmann <gerd@gnu.org> + + * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors + only if HAVE_X_WINDOWS. + + * keymap.c (describe_buffer_bindings): Add `\f\n' in front + of titles. + + * dispnew.c (update_frame_1): Handle case that cursor vpos is + out of bounds. + +2000-06-15 Eli Zaretskii <eliz@is.elta.co.il> + + * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS + of its headers. + +2000-06-15 Kenichi Handa <handa@etl.go.jp> + + * coding.c (decode_coding_emacs_mule): Always set src_base at the + start of the while loop. + +2000-06-15 Gerd Moellmann <gerd@gnu.org> + + * atimer.c (alarm_signal_handler): Add forward declaration. + + * data.c (set_internal): Remove debug code. + +2000-06-14 Gerd Moellmann <gerd@gnu.org> + + * Makefile.in (bootstrap-temacs): Add `-I../src'. + + * unexec.c (toplevel) [COFF]: Include coff.h. + + * s/lynxos.h: New file. + + * keymap.c (Fsingle_key_description): Enclose function key and + event symbol names in angle brackets. + + * xdisp.c (setup_echo_area_for_printing): Call + message_log_maybe_newline if message_buf_print is not set. + + * print.c (printchar, strout): Don't check message_buf_print + before calling setup_echo_area_for_printing because that + function does something useful even when message_buf_print is + already set. + + * xdisp.c (message_truncate_lines, Qmessage_truncate_lines): + New variables. + (ensure_echo_area_buffers): Initialize echo buffer's + truncate lines setting to nil. + (with_echo_area_buffer): Don't set the echo buffer's truncate + lines setting here. + (set_message_1): Set it here instead, based on the value + of message_truncate_lines. + (resize_mini_window): Handle case that lines are truncated. + (syms_of_xdisp): Initialize Qmessage_truncate_lines. + DEFVAR_BOOL message-truncate-lines. + + * keyboard.c (read_char): Bind message-truncate-lines to t + while displaying a help-echo. + + * lisp.h (Qmessage_truncate_lines): External declaration. + +2000-06-13 Gerd Moellmann <gerd@gnu.org> + + * xdisp.c (Vline_number_display_limit): Renamed from + line_number_display_limit. + (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit. + Extend documentation string. Initialize + Vline_number_display_limit to nil meaning no limit. + (decode_mode_spec): Use Vline_number_display_limit with its new + meaning. + + * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype. + +2000-06-13 Richard Stallman <rms@gnu.org> + + * frame.c (Fmodify_frame_parameters): Doc fix. + + * xfns.c (x_set_frame_parameters): Comment fix. + + * frame.c (store_frame_param): Call swap_in_global_binding if the + variable's current binding was chosen based on this frame. + + * data.c (swap_in_global_binding): New function. + +2000-06-13 Eli Zaretskii <eliz@is.elta.co.il> + + * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING + macro, instead AND with CODING_REQUIRE_ENCODING_MASK. + +2000-06-13 Eli Zaretskii <eliz@is.elta.co.il> + + * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_. + +2000-06-12 Jason Rumney <jasonr@gnu.org> + + * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__ + + * w32.h (EMACS_W32_H): Renamed from _NT_H_ + + * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__ + + * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__ + +2000-06-12 Gerd Moellmann <gerd@gnu.org> + + * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function. + (syms_of_xfaces): Defsubr Sdump_colors. + (x_free_colors): Don't treat b&w specially on default visual. + (x_free_dpy_colors): New function. + (free_face_colors): Don't check visual class; it's done + in x_free_colors. + + * xterm.c (x_frame_of_widget): New function. + (x_alloc_nearest_color_for_widget): Use it. + (x_copy_dpy_color): New function. + (x_destroy_window): Free various colors. + +2000-06-12 Kenichi Handa <handa@etl.go.jp> + + * ccl.h (EMACS_CCL_H): Renamed from _CCL_H. + + * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H. + + * coding.h (EMASC_CODING_H): Renamed from _CODING_H. + + * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H. + + * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H. + +2000-06-11 Dave Love <fx@gnu.org> + + * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H. + +2000-06-11 Eli Zaretskii <eliz@is.elta.co.il> + + * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead. + +2000-06-11 Gerd Moellmann <gerd@gnu.org> + + * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu + to `XEvent *'. + +2000-06-10 Kenichi Handa <handa@etl.go.jp> + + * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env. + (regex_compile): Fix the code for handling the case of single byte + char and multibyte char being mixed in a range within [...]. + + * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte + and dst_multibyte members of coding. + + * charset.c (update_charset_table): Update the table + bytes_by_char_head. + (init_charset_once): Initialize elements of bytes_by_char_head to + 1 except for leading codes for private charases. + + * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80. + (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence. + +2000-06-09 Ken Raeburn <raeburn@gnu.org> + + * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to + access the data it doesn't point to. + +2000-06-08 Gerd Moellmann <gerd@gnu.org> + + * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which + will be translated to a switch-frame event when reading the + event queue. This is necessary because Emacs otherwise won't + perform a switch-frame to a new frame until some other event, for + example a keystroke event, forces it to do so. This has various + effects, one visible being that the cursor of a frame created with + C-x 5 2 or switched to with a window manager key binding like + A-TAB stays hollow because selected_window isn't on the newly + focused frame until the switch-frame is performed. + + * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by + generating a switch-frame event if necessary. + + * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT. + + * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos'; + it's an integer. + +2000-06-08 Kenichi Handa <handa@etl.go.jp> + + * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset. + +2000-06-07 Gerd Moellmann <gerd@gnu.org> + + * window.c (displayed_window_lines): Take empty lines at + the bottom of a window into account. + + * window.c (displayed_window_lines): New function. + (Fmove_to_window_line): Use displayed_window_lines to determine + the number of lines to move, instead of using the window's height. + + * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange + to stop reading, even if the form read sets point to a different + value when evaluated. + + * xdisp.c (display_line): Fix code deciding in which line to + put the cursor. + +2000-06-07 Kenichi Handa <handa@etl.go.jp> + + * fileio.c (e_write): Free composition data if stored in + coding->cmp_data. + +2000-06-06 Gerd Moellmann <gerd@gnu.org> + + * xdisp.c (display_line): Set row's and iterator's + starts_in_middle_of_char_p and ends_in_middle_of_char_p flags. + Set cursor even if row ends in the middle of a character. + (dump_glyph_row): Print values of new flags. + (redisplay_window) <cursor movement in unchanged window>: When + point has been moved forward, and PT is at the end of the cursor + row, don't place the cursor in the next row if the cursor row ends + in the middle of a character or at ZV. + + * dispextern.h (struct it): Add starts_in_middle_of_char_p. + (struct glyph_row): Add starts_in_middle_of_char_p and + ends_in_middle_of_char_p. + (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's + ends_in_middle_of_char_p flag. + (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise. + + * term.c (append_glyph): Revert change of 2000-06-06. + + * xdisp.c (display_line): Revert change of 2000-06-06. Treat + padding glyph not fitting on line as whole character not + fitting on line. + + * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0'; + this isn't true for images with `:ascent 100'. + +2000-06-06 Kenichi Handa <handa@etl.go.jp> + + * buffer.c (Fset_buffer_multibyte): Don't make the current buffer + as modified if it is originally unmodified. + + * term.c (encode_terminal_code): Change the way to check if + terminal coding does any conversion. + (append_glyph): Set glyph->pixel_width correctly. + + * xdisp.c (display_line): While checking line continuation, pay + attention to a padding glyph. + +2000-06-05 Gerd Moellmann <gerd@gnu.org> + + * xdisp.c (redisplay_window): Always use set_buffer_internal_1. + +2000-06-05 Dave Love <fx@gnu.org> + + * xdisp.c: Include fontset.h. + + * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned. + + * xterm.c (x_calc_absolute_position): Declare nchildren unsigned. + + * dispnew.c: Conditionally include term.h. + + * coding.h: Declare code_convert_string_norecord. + + * frame.h (struct frame): Use volatile unconditionally. + + * buffer.h: Remove Vbefore_change_function, Vafter_change_function. + + * xmenu.c (menu_item_selection): Declare volatile unconditionally. + + * systime.h: Protect against multiple inclusion. + (timezone) [USG5_4]: Define as time_t. + + * lisp.h (DEFUN, EXFUN): Test PROTOTYPES. + (Foptimize_char_table, make_temp_name): Declare. + + * Makefile.in (xdisp.o): Depend on fontset.h. + + * xterm.c (x_calc_absolute_position): Declare nchildren unsigned. + + * lisp.h (DEFUN, EXFUN): Test PROTOTYPES. + (Foptimize_char_table, make_temp_name): Declare. + + * s/irix4-0.h: + * s/irix5-0.h: + * s/netbsd.h: Don't define autoconfiscated MATHERR. + +2000-06-02 Dave Love <fx@gnu.org> + + * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define. + +2000-06-02 Gerd Moellmann <gerd@gnu.org> + + * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the + result face, set flags in that face indicating that colors may not + be freed. + + * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character + glyph, use the ASCII NUL character to determine the face. + +2000-06-02 Dave Love <fx@gnu.org> + + * sysdep.c: Conditionally include stdlib.h, unistd.h. + (VFORK_RETURN_TYPE): Remove. + + * config.in: Add NO_MATHERR. + +2000-06-01 Dave Love <fx@gnu.org> + + * cmds.c (internal_self_insert): Don't check + Vbefore_change_function, Vafter_change_function. + + * insdel.c (signal_before_change, signal_after_change): Likewise. + + * buffer.c (Vbefore_change_function, Vafter_change_function): + Variables and their initializations deleted. + + * callint.c (Fcall_interactively): Doc fix. + + * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern. + +2000-05-31 Dave Love <fx@gnu.org> + + * textprop.c: Revert last change -- duplicated. + +2000-05-31 Gerd Moellmann <gerd@gnu.org> + + * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put + in #if 0. + + * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'. + +2000-05-31 Jason Rumney <jasonr@gnu.org> + + * search.c (Fre_search_forward, Fre_search_backward) + (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs. + + * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil. + +2000-05-30 Jason Rumney <jasonr@gnu.org> + + * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros. + [WINDOWSNT]: Add extern for Vw32_system_coding_system. + + * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member. + + * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog. + (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to + expand a nil default_filename. + + * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window + pointer to glyph_to_pixel_coords, not a frame. + + * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and + coding.h to dependencies. + + * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p. + + * w32console.c (glyph_to_pixel_coords): Change first parameter to + window pointer to be consistent with w32term.c and xterm.c. + + * w32fns.c: Format and doc changes to bring closer to xfns.c. + (VIETNAMESE_CHARSET): Define if not defined in system headers. + (Qline_spacing, Qcenter): New variables. + (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c. + (x_set_line_spacing): New function. + (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros. + (x_specified_cursor_type): New function. + (x_set_cursor_type): Use it. + (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar + and icon strings. + (validate_x_resource_name, x_get_resource_string): Measure lengths + of external strings in bytes. + (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling + GetTextExtentPoint32 with NULL title. + (Fx_create_frame): Initialize Qline_spacing. + (w32_load_system_font): Initialize font->double_byte_p. + (x_to_w32_charset): Use Vw32_charset_info_alist. + (Image, busy cursor, tooltip functions): Merged changes from + xfns.c. Not yet functional on Windows. + + * w32gui.h (W32FontStruct): Add double_byte_p member. + + * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant. + (emacs_button_translation): Use it. + (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit + in `mask' to be set. + + * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on + menu strings. + + * w32term.c: Format and doc changes to bring closer to xterm.c. + (w32_char_font_type): New enum. + (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c. + (w32_per_char_metric): Use w32_char_font_type instead of unicode_p. + (w32_encode_char): New function. + (x_encode_char): Removed. + (x_get_glyph_and_face_encoding): Use w32_encode_char in place of + x_encode_char and w32_font_is_double_byte. + (x_produce_image_glyph): Use image_ascent. + (x_produce_glyphs): Use new version of w32_per_char_metric and + handle NULL return value. Allow extra line spacing. + (W32_TEXTOUT): Distinguish between Unicode and DBCS text. + (w32_get_glyph_overhangs): Remove unicode_p param. Use + w32_font_type member of glyph instead. + (x_draw_glyph_string): Draw underline and strike-out for BDF fonts. + (fast_find_position): Make sure not to consider rows not visible + in the window. + (w32_read_socket) [WM_MENUSELECT]: Cannot call + w32_menu_display_help with input blocked, as it can abort. + (x_display_and_set_cursor): Choose cursor depending + on buffer-local value of cursor_type. + (x_draw_bar_cursor): Add parameter WIDTH. + + * w32term.h (CP_DEFAULT): Define. + (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare. + +2000-05-30 Gerd Moellmann <gerd@gnu.org> + + * search.c (Fre_search_forward, Fre_search_backward) + (Fposix_search_backward, Fposix_search_forward): Doc fix. + +2000-05-30 Kenichi Handa <handa@etl.go.jp> + + * coding.c (detect_coding_iso2022): Fix code for checking + CODING_CATEGORY_MASK_ISO_8_2. + +2000-05-29 Stefan Monnier <monnier@cs.yale.edu> + + * regex.c (PREFETCH_NOLIMIT): New function. + (re_match_2_internal): Use it and adjust the end_match_2 logic. + +2000-05-29 Gerd Moellmann <gerd@gnu.org> + + * syntax.c (find_defun_start): Move test for + open_paren_in_column_0_is_defun_start outside of the loop. + + * xdisp.c (redisplay_window): Really switch buffers when + displaying mode lines, and temporarily set selected_frame to the + frame of the window that's redisplayed. + + * xfaces.c (free_realized_faces): Block/unblock input. + (free_realized_multibyte_face): Ditto. + +2000-05-29 Dave Love <fx@gnu.org> + + * textprop.c (Qkeymap): New variable. + (syms_of_textprop): Intern it. + + * keymap.c: Include intervals.h. + (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property. + + * Makefile.in (keymap.o): Depend on intervals.h. + + * keyboard.c (menu_bar_items, tool_bar_items) + (Fexecute_extended_command): Deal with `keymap' property. + (read_key_sequence): Track map from `keymap' property as well as + `local_map'. + + * intervals.c (get_local_map): Extra arg to allow looking for + `keymap' too. + + * intervals.h (map_property): New enum. + (get_local_map): Extra arg using it. + (Qkeymap): Declare. + + * lisp.h (get_local_map): Don't declare here. + +2000-05-29 Kenichi Handa <handa@etl.go.jp> + + * Makefile.in (callproc.o): Depend on composite.h. + + * callproc.c: Include composite.h. + (Fcall_process): Handle composition correctly. + + * coding.h (coding_allocate_composition_data): Extern it. + (coding_restore_composition): Likewise. + + * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not + yet allocated, finish decoding with result + CODING_FINISH_INSUFFICIENT_CMP. + (coding_allocate_composition_data): Make it non-static. + (coding_restore_composition): Likewise. + +2000-05-29 Eli Zaretskii <eliz@is.elta.co.il> + + * charset.c (syms_of_charset): Revert last change. + +2000-05-28 Eli Zaretskii <eliz@is.elta.co.il> + + * term.c (produce_glyphs): Treat characters from the eight-bit-* + charsets as unibyte, with 1-column screen width. Sent by Kenichi + Handa. + +2000-05-28 Eli Zaretskii <eliz@is.elta.co.il> + + * charset.c (syms_of_charset): Set width of character sets + eight-bit-control and eight-bit-graphic to 1 column. + +2000-05-26 Gerd Moellmann <gerd@gnu.org> + + * config.in (HAVE_SPEED_T): New define. + + * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as + `extern speed_t'. + +2000-05-26 Dave Love <fx@gnu.org> + + * coding.c (shrink_decoding_region): Initialize eol_conversion. + + * data.c (Qsubrp, Qmany, Qunevalled): New variables. + (Fsubr_arity): New function. + (syms_of_data): Install them. + +2000-05-26 Kenichi Handa <handa@etl.go.jp> + + * charset.c (init_charset_once): Set the table bytes_by_char_head + correctly. + + * fontset.c (syms_of_fontset): Adjust the font name for ascii of + the default fontset to what Emacs uses by default. + (check_registry_encoding): This function deleted. + (Fset_fontset_font): Remove the adhoc condition for the default + fontset. Allow cons in FONTNAME. + + * fns.c (map_char_table): Ignore char-table entries for + charsets eight-bit-control and eight-bit-graphic. + +2000-05-25 Ken Raeburn <raeburn@gnu.org> + + * emacs.c (main): Initialize keyboard syms before initializing + window code, so face names are available. + +2000-05-25 Stefan Monnier <monnier@cs.yale.edu> + + * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case + of an anchor at the beginning of a shy-group. + +2000-05-25 Gerd Moellmann <gerd@gnu.org> + + * xdisp.c (handle_invisible_prop): Don't try to skip over + invisible text if end of text is already reached. + +2000-05-25 Dave Love <fx@gnu.org> + + * xdisp.c (Fdump_glyph_matrix): Declare the arg. + + * coding.c (encode_eol): Add null statement after label. + +2000-05-25 Eli Zaretskii <eliz@is.elta.co.il> + + * w16select.c (Fw16_set_clipboard_data): Fix the change from + 2000-05-20. + +2000-05-25 Kenichi Handa <handa@etl.go.jp> + + * ccl.c (ccl_driver): Fix previous change. + +2000-05-25 Kenichi Handa <handa@etl.go.jp> + + * coding.c (run_pre_post_conversion_on_str): Set point to the + beginning of buffer before calling coding->post_read_conversion. + (decode_coding_string): Give correct args to + run_pre_post_conversion_on_str. + (encode_coding_string): Likewise. + + * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2> + <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and + eight-bit-graphic correctly. + +2000-05-24 Kenichi HANDA <handa@etl.go.jp> + + * fileio.c (Finsert_file_contents): Even if a file is not found, + execute codes for setting up coding system. Call + after-insert-file-functions unconditionally. + +2000-05-24 Gerd Moellmann <gerd@gnu.org> + + * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and + BSD_PGRPS are not defined. + +2000-05-24 Kenichi Handa <handa@etl.go.jp> + + * charset.c (update_charset_table): Accept nil in LONG_NAME and + DESCRIPTION. + (syms_of_charset): Avoid building same strings. + +2000-05-23 Gerd Moellmann <gerd@gnu.org> + + * lread.c (Fload): Add a comment about the meaning of + Vuser_init_file being t. + + * puresize.h (BASE_PURESIZE): Increase to 675000. + + * s/gnu-linux.h (setpgrp): Don't define it here because this + prevents compilation on GNU/Linux systems with glib 2.2. + + * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define + as setpgid. + +2000-05-23 Eli Zaretskii <eliz@is.elta.co.il> + + * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc, + dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS + version. + (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc. + +2000-05-23 Kenichi Handa <handa@etl.go.jp> + + * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally. + + * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1. + + * term.c (encode_terminal_code): Set coding->src_multibyte properly. + + * coding.c (encode_eol): Fix a bug of DOS style EOL encoding. + +2000-05-22 Kenichi Handa <handa@etl.go.jp> + + * keyboard.c (read_char): Allow character codes 128..255 to be + handled by input-method-function. + + * insdel.c (adjust_markers_for_replace): Fix previous change. + (adjust_after_replace): If PREV_TEXT is nil, call + adjust_markers_for_insert, not adjust_markers_for_replace. + +2000-05-20 NIIBE Yutaka <gniibe@mri.co.jp> + + * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define. + (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF) + [HAVE_GRANDPT]: Define. + (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE. + + * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined + like SYSV_PTYS. + + * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines. + + * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h. + +2000-05-20 Kenichi Handa <handa@etl.go.jp> + + The following changes are to handle 8-bit characters in a + multibyte buffer/string without facing with byte combining + problem. Two new charsets eight-bit-control (for 0x80..0x9F) and + eight-bit-graphic (for 0xA0..0xFF) are introduced. + + * Makefile.in (fns.o): Depend on charset.h. + + * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte, + convert it to unibyte. + (make_string): Use parse_str_as_multibyte, not chars_in_text. + + * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a + apparent char boundary. + (Fset_buffer_multibyte): Convert 8-bit characters in the range + 0x80..0x9F to/from multibyte form. + + * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it + to unibyte. + + * callproc.c (Fcall_process): Always encode an argument string if + it is multibyte. Setup src_multibyte and dst_multibyte members of + process_coding properly. + + * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not + SPLIT_NON_ASCII_CHAR. + + * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters + as is. + (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR. + + * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables. + (SPLIT_CHARACTER_SEQ): This macro deleted. + (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid. + (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control + and eight-bit-graphic. + (char_to_string): Likewise. Signal an error for too large + character code. + (char_printable_p): Return 0 for 8-bit characters. + (update_charset_table): Update iso_charset_table only when a final + character is non-negative. + (find_charset_in_text): Renamed from find_charset_in_str. + Arguments and return value changed. Callers changed. + (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can + be -1 if CHARSET is used only internally. + (Fmake_char_internal): Handle new charsets; eight-bit-control and + eight-bit-graphic. + (Fcharset_after): Simplified. + (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR. + (char_bytes): Return 2 for chars of the range 0xA0..0xFF. + (multibyte_chars_in_text): Simplified by assuming there's no + invalid multibyte sequence. + (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte) + (str_as_unibyte): New functions. + (Fstring): Simpified by assuming that byte combining never happens. + (init_charset_once): Initialization for + LEADING_CODE_8_BIT_CONTROL. + (syms_of_charset): Intern and staticpro Qeight_bit_control and + Qeight_bit_graphic. Include them in Vcharset_list. Make charsets + eight-bit-control and eight-bit-graphic. + + * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL) + (CHARSET_8_BIT_GRAPHIC): New macros. + (SINGLE_BYTE_CHAR_P): Make it faster by using casting. + (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT. + (CHARSET_REVERSE_CHARSET): Likewise. + (CHARSET_VALID_P): Handle new charsets; eight-bit-control and + eight-bit-graphic. + (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII. + (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise. + (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we + encounter an invalid multibyte sequence. + (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte + sequence is always valid. + (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted. + (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros. + (CHAR_STRING): For 8-bit characters, call char_to_string. + (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume + multibyte sequence is always valid. + (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise. + (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte) + (str_as_unibyte): Extern them. + (BCOPY_SHORT): Fix a bug. + (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES. + (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING. + (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro. + (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer. + + * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to + CODING_FINISH_INSUFFICIENT_SRC if there's not enough source. + (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE) + (EMIT_BYTES): New macros. + (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII) + (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These + macros deleted. + (CHECK_CODE_RANGE_A0_FF): This macro deleted. + (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to + check the validity of multibyte sequence. + (decode_coding_emacs_mule): New function. + (encode_coding_emacs_mule): New macro. + (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from + the source. + (DECODE_ISO_CHARACTER): Just return a character code. + (DECODE_COMPOSITION_START): Set coding->result instead of result. + (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use + EMIT_CHAR to produced decoded characters. Exit the loop only by + macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last + block here. + (ENCODE_ISO_CHARACTER): Don't translate character here. Produce + only position codes for an invalid character. + (encode_designation_at_bol): Return new destination pointer. 5th + arg DSTP is changed to DST. + (encode_coding_iso2022, decode_coding_sjis_big5): Get a character + from the source by ONE_MORE_CHAR. Don't handle the case of last + block here. + (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These + macros deleted. + (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8) + (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and + TWO_MORE_BYTES to fetch a byte from the source. + (encode_eol): Pay attention to coding->src_multibyte. + (detect_coding, detect_eol): Preserve members src_multibyte and + dst_multibyte. + (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text. + (encoding_buffer_size): Set magnification to 3 for all coding + systems that require encoding. + (ccl_coding_driver): For decoding, be sure that the result is + valid multibyte sequence. + (decode_coding): Initialize coding->errors and coding->result. + For emacs-mule, call decode_coding_emacs_mule. For no-conversion + and raw-text, always call decode_eol. Handle the case of last + block here. If not coding->dst_multibyte, convert the resulting + sequence to unibyte. + (encode_coding): Initialize coding->errors and coding->result. + For emacs-mule, call encode_coding_emacs_mule. For no-conversion + and raw-text, always call encode_eol. Handle the case of last + block here. + (shrink_decoding_region, shrink_encoding_region): Detect cases + that we can't skip data more rigidly. + (code_convert_region): Setup src_multibyte and dst_multibyte + members of coding. For decoding, if the buffer is multibyte, + convert the source sequence to unibyte in advance. For encoding, + if the buffer is multibyte, convert the resulting sequence to + multibyte afterward. + (run_pre_post_conversion_on_str): New function. + (code_convert_string): Deleted and divided into the following two. + (decode_coding_string, encode_coding_string): New functions. + (code_convert_string1, code_convert_string_norecord): Call one of + above. + (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of + MAKE_NON_ASCII_CHAR. + (Fset_terminal_coding_system_internal) + (Fset_safe_terminal_coding_system_internal): Setup src_multibyte + and dst_multibyte members. + (init_coding_once): Initialize iso_code_class with new enum + ISO_control_0 and ISO_control_1. + + * coding.h (enum iso_code_class_type): Member ISO_control_code is + devided into ISO_control_0 and ISO_control_1. + (struct coding_system): New members src_multibyte, dst_multibyte, + errors, and result. Delete member fake_multibyte. + (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is + nonzero. + (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is + nonzero. + + * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR. + (Faset): Likewise. + + * editfns.c (Fformat): Be sure to convert 8-bit characters to + multibyte form. + (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte + combining occurs. + (Ftranspose_region): Delete codes for handling byte combining. + + * fileio.c (Finsert_file_contents): Setup src_multibyte and + dst_multibyte members of coding. On handling REPLACE on unibyte + buffer, convert the result of decode_coding to unibyte. On + inserting into a mutibyte buffer, always call code_convert_region. + (e_write): Setup coding->src_multibyte according to the + multibyteness of the source (buffer or string). + + * fns.c (concat): Handle 8-bit characters correctly. + (Fstring_as_unibyte): Be sure to make all 8-bit characters in + unibyte in the result. + (Fstring_as_multibyte): Be sure to make all 8-bit characters in + valid multibyte form in the result. + (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR. + (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1 + return -1, signal an error. + (base64_encode_1): New arg MULTIBYTE. Get each character by + CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte + character is found, return -1. + (Fbase64_decode_region): Delete codes for handling byte-combining. + Treat each decoded byte as a unibyte character. + (Fbase64_decode_string): Return unibyte string. + (Fcompare_strings, concat, string_byte_to_char): Use + FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off + FETCH_STRING_CHAR_ADVANCE. + (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally. + (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE. + + * fontset.c (fontset_ref): Use SPLIT_CHAR instead of + SPLIT_NON_ASCII_CHAR. + (fontset_ref_via_base, fontset_set): Likewise + + * insdel.c (adjust_markers_for_record_delete): Deleted. + (adjust_markers_for_insert): Argument changed. Caller changed. + (adjust_markers_for_replace): Likewise. + (ADJUST_CHAR_POS, combine_bytes, byte_combining_error) + (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted. + (copy_text): Delete unused local varialbe c_save. For converting + to multibyte, be sure to make all 8-bit characters in valid + multibyte form. + (count_size_as_multibyte): Handle 8-bit characters correctly. + (insert_1_both, insert_from_string_1, insert_from_buffer_1) + (adjust_after_replace, replace_range, del_range_2) + [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs. + (insert_1_both, insert_from_string_1, insert_from_buffer_1) + (adjust_after_replace, replace_range, del_range_2) Delete codes for + handling byte combining. + (adjust_before_replace): Deleted. + + * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of + SPLIT_NON_ASCII_CHAR. + (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR. + (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally. + (Fkey_description): Likewise. + + * lread.c (read1): On reading multibyte string, be sure to make + all 8-bit chararacters in valid multibyte form. + (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally. + + * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE + unconditionally. + + * process.c (Fstart_process): GCPRO current_dir before calling + Ffind_operation_coding_system. Encode arguments here. + (create_process): Don't encode arguments here. Setup + src_multibyte and dst_multibyte members of struct coding. + (read_process_output): Setup src_multibyte and dst_multibyte + members of struct coding. If the output is to multibyte buffer, + always decode the output of the process. Adjust the + representation of 8-bit characters to the multibyteness of the output. + (send_process): Setup coding->src_multibyte according to the + multibyteness of the source. + + * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally. + (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and + FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately. + + * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN. + + * w16select.c (Fw16_set_clipboard_data): Setup members + src_multibyte and dst_multibyte of coding. Adjusted for the + change for find_charset_in_str. + (Fw16_get_clipboard_data): Likewise. + + * w32fns.c (w32_to_x_font): Setup members src_multibyte and + dst_multibyte of coding. + (x_to_w32_font): Likewise. + + * w32select.c (Fw32_set_clipboard_data): Setup members + src_multibyte and dst_multibyte of coding. Adjusted for the + change for find_charset_in_str. + (Fw32_get_clipboard_data): Likewise. + + * xdisp.c (get_next_display_element): Handle 8-bit characters + correctly. + (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN. + (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR. + + * xselect.c (selection_data_to_lisp_data): Setup members + src_multibyte and dst_multibyte of coding. Adjusted for the + change for find_charset_in_str. + (lisp_data_to_selection_data): Likewise. + +2000-05-19 Gerd Moellmann <gerd@gnu.org> + + * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer. + + * dispextern.h (Vimage_types): Add extern declaration. + + * xdisp.c (Vimage_types): Moved here from xfns.c. + (syms_of_xdisp): Move `image-types' variable here from xfns.c. + + * xfns.c (Vimages_types): Moved to xdisp.c. + (syms_of_xfns): Move `image-types' to xdisp.c. + + * w32fns.c (Vimage_types): Removed. + (syms_of_w32fns): Remove `image-types'. + +2000-05-18 Kenichi Handa <handa@etl.go.jp> + + * fns.c (map_char_table): Pay attention to character number of + charset. Check the validity of charset at the first level. For + leaf nodes that has nil value, call C_FUNCTION or FUNCTION with + the default value. + + * fontset.c: Include "buffer.h". + (fs_load_font): If the face has fontset, record the face ID in + that fontset. + (Finternal_char_font): New function. + (accumulate_font_info): New function. + (Ffontset_info): Rewritten for the new fontset implementation. + (syms_of_fontset): Register Vdefault_fontset in the first element + of Vfontset_table. Include Vdefault_fontset in + Vfontset_alias_alist. Declare `internal-char-font' as a Lisp + function. + +2000-05-16 Dave Love <fx@gnu.org> + + * m/iris5d.h: Deleted -- unused. + +2000-05-16 Gerd Moellmann <gerd@gnu.org> + + * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term + `invalid' instead of `illegal'. + + * indent.c (Fmove_to_column): When ending within a tab, insert + spaces first so that markers at the end of the tab get adjusted. + + * frame.c (frames_bury_buffer): Don't add a buffer to the frame's + buffer list that wasn't selected in that frame. + + * filelock.c (get_boot_time): To obtain an 8 char file name, which + is needed on mescaline, use a 2 char prefix, and call + make_temp_name with second arg non-zero. + + * fileio.c (make_temp_name): New function, extracted from + Fmake_temp_name. + (Fmake_temp_name): Use it. + +2000-05-15 Eli Zaretskii <eliz@is.elta.co.il> + + * window.c (coordinates_in_window): Subtract 1 when computing right_x. + +2000-05-15 Gerd Moellmann <gerd@gnu.org> + + * Makefile.in (lisp): Add env.elc. + + * callproc.c (Fgetenv_internal): Renamed from Fgetenv. + +2000-05-12 Gerd Moellmann <gerd@gnu.org> + + * search.c (Freplace_match): Handle case of `\N' in the + replacement when there's no group N. + +2000-05-11 Gerd Moellmann <gerd@gnu.org> + + * xdisp.c (add_to_log): Don't pass the terminating NUL byte + of the message to message_dolog. + + * keyboard.c (read_char): Don't clear current message for help + events; let the code handling help events handle this. Change + code detecting help events that should be ignored. + + * xdisp.c (handle_single_display_prop): Don't try to set PT if + we're interating over a string. + +2000-05-09 Dave Love <fx@gnu.org> + + * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to + that offset before writing. Move gcpro region past call of + Ffile_regular_p. + +2000-05-04 Dave Love <fx@gnu.org> + + * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix. + +2000-05-04 Gerd Moellmann <gerd@gnu.org> + + * insdel.c (insert_from_buffer_1): Adjust FROM position by number + of inserted characters when BUF equals the current buffer, and PT + is in front of or equal to FROM. + +2000-05-03 Gerd Moellmann <gerd@gnu.org> + + * xdisp.c (handle_single_display_prop): If display property value + is invalid, or something not supported on the frame, restore + iterator's position to what it was initially. Make sure to return + 0 for invalid and unsupported property values. + + * xterm.c (x_produce_glyphs) <composite chars>: Handle case + that x_per_char_metric returns null. + +2000-05-02 Gerd Moellmann <gerd@gnu.org> + + * xterm.h (struct face): Add forward declaration. + (struct image): Ditto. + (image_ascent): Add prototype. + + * xterm.c (x_produce_image_glyph, x_draw_image_foreground) + (x_draw_image_relief, x_draw_image_foreground_1): Call function + image_ascent instead of using IMAGE_ASCENT. + + * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro. + (IMAGE_ASCENT): Removed. + + * xfns.c (Qcenter): New variable. + (enum image_value_type): Add IMAGE_ASCENT_VALUE. + (parse_image_spec): Handle IMAGE_ASCENT_VALUE. + (image_ascent): New function. + (lookup_image): Recognize `:ascent center'. + (xbm_format, xpm_format, pbm_format, png_format, jpeg_format) + (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE. + (xbm_load): Don't set image's ascent here. + (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p) + (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't + check ascent values here. + (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed. + (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions. + (syms_of_xfns): Initialize Qcenter. + + * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near + to the limits, increase the limits. + +2000-05-01 Kenichi Handa <handa@etl.go.jp> + + * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII. + Check Vfont_encoding_alist against the full name of the opened font. + +2000-04-28 Gerd Moellmann <gerd@gnu.org> + + * xdisp.c (make_cursor_line_fully_visible): Handle case of rows + taller than the window. + +2000-04-28 Kenichi Handa <handa@etl.go.jp> + + * xfaces.c (realize_x_face): Fix the argument of the second + xassert. BASE_FACE may not be a face for ASCII. + +2000-04-27 Gerd Moellmann <gerd@gnu.org> + + * print.c (print_object): Treat print-length < 0 as nil. + + * Makefile.in (termcapobj): Don't use TERMCAP_OBJ. + + * s/freebsd.h (TERMCAP_OBJ): Removed. + (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000. + + * lread.c (read1): Don't treat period followed by certain + characters as symbol start. + + * xfns.c (slurp_file): New function. + (xbm_image_p): Handle case of in-memory XBM files. + (xbm_scan): Rewritten to work on memory buffers instead of files. + (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data. + Work on memory buffers instead of files. If DATA is null test + if buffer looks like an in-memory XBM file. + (xbm_load_image): Renamed from xbm_load_image_file. Work on + memory buffers instead of files. + (xbm_file_p): New function. + (xbm_load): Accept :data DATA where DATA is an in-memory XBM file. + + * lread.c (end_of_file_error): New function. + (read1): Call it instead of signaling `end-of-file' directly. + + * print.c (print_error_message): Print data of `end-of-file' + with Fprinc instead of Fprin1. + +2000-04-26 Ken Raeburn <raeburn@gnu.org> + + * window.c (freeze_window_start): Check that minibuffer scroll + window isn't nil before extracting the window structure pointer + from it. + + * undo.c (record_delete): If we hit the end of the undo list, stop + picking elements apart. + +2000-04-26 Gerd Moellmann <gerd@gnu.org> + + * xdisp.c (display_line): If lines are continued, restore + iterator's ascent/descent information to the values before the + first glyph not fitting on the line. + +2000-04-25 Gerd Moellmann <gerd@gnu.org> + + * xdisp.c (try_window_id) <all changes above window start>: Adjust + positions in glyph matrix. Don't compute new window end positions. + + * dispnew.c (increment_matrix_positions): Renamed from + increment_glyph_matrix_buffer_positions. + (increment_row_positions): Renamed from + increment_glyph_row_buffer_positions. + + * dispextern.h: Change names of renamed functions from dispnew.c + in prototypes. + +2000-04-24 Gerd Moellmann <gerd@gnu.org> + + * fileio.c (Fdo_auto_save): Create directories for auto-save + list file if necessary. + + * xdisp.c (init_iterator): Set iterator's extra_line_spacing + from buffer or frame. + (automatic_hscrolling_p): New variable. + (hscroll_windows): Scroll windows horizontally only if automatic + hscrolling is allowed. + (syms_of_xdisp): New variable `automatic-hscrolling'. + + * frame.h (struct frame): Add member extra_line_spacing. + + * xfns.c (x_set_line_spacing): New function. + (Fx_create_frame): Set line spacing from resources. + (Qline_spacing): New variable. + (syms_of_xfns): Initialize Qline_spacing. + + * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'. + + * buffer.c (init_buffer_once): Handle extra_line_spacing. + (syms_of_buffer): Add `default-line-spacing' and `line-spacing'. + (reset_buffer): Don't initialize extra2 and extra3. Initialize + extra_line_spacing from default value. + (init_buffer_once): Initialize default value of extra_line_spacing. + + * buffer.h (struct buffer): Add extra_line_spacing, remove extra2 + and extra3. + + * xterm.c (x_produce_glyphs): Remove reference to struct it's + prompt_width. Add extra line spacing. + + * term.c (produce_glyphs): Remove reference to struct it's + prompt_width. + + * dispextern.h (struct it): Remove member prompt_width, add + extra_line_spacing. + +2000-04-22 Gerd Moellmann <gerd@gnu.org> + + * dispnew.c (update_frame_line): When writing a whole line, make + sure cursor is in the right row afterwards, otherwise a use of + capability `ch' in cmgoto might leave the cursor in the row below. + +2000-04-21 Gerd Moellmann <gerd@gnu.org> + + * lisp.h (struct Lisp_Buffer_Cons): Remove. + + * keyboard.c (timer_check): Fix typo in comment. + +2000-04-21 Kenichi Handa <handa@etl.go.jp> + + * fontset.c (Fset_fontset_font): Fix docstring. Local variable + name change: ch -> character. + +2000-04-20 Gerd Moellmann <gerd@gnu.org> + + * keyboard.c (echo_message_buffer): New variable. + (echo_now): Set echo_message_buffer to the echo area buffer used + to display the echo. + (cancel_echoing): Reset echo_message_buffer to nil. + (read_char): Code rewritten that handles canceling an echo or + echoing a dash, respectively. + + * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent + directory doesn't exist. + +2000-04-19 Dave Love <fx@gnu.org> + + * fns.c (syms_of_fns): Defsubr mapc. + (concat): Don't allow numeric args. + (Fconcat): Doc change. + +2000-04-19 Stefan Monnier <monnier@cs.yale.edu> + + * regex.c (re_match_2_internal): Don't shorten the strings anymore, + instead define end_match(1|2) more carefully. + Use GET_CHAR_BEFORE_2 for `begline'. + +2000-04-19 Gerd Moellmann <gerd@gnu.org> + + * frame.h (SELECTED_FRAME): Change definition to compile cleanly + on 64-bit systems where NULL is defined as `0'. + + * xdisp.c (with_echo_area_buffer): Add more `int' parameters for + the `variable argument list' to make it work on Alpha. + + * m/alpha.h (_LP64) [!_LP64]: Define. + (ORDINARY_LINK): Define for NetBSD. + + * m/macppc.h (ORDINARY_LINK): Define for NetBSD. + +2000-04-19 Dave Love <fx@gnu.org> + + * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14 + change. + + * Makefile.in (LIBS): Don't use. + (GETLOADAVG_OBJ): Define again. + (otherobj): Add GETLOADAVG_OBJ. + + * buffer.c (Fmake_indirect_buffer): Escape newline in doc. + +2000-04-18 Gerd Moellmann <gerd@gnu.org> + + * lread.c (read_filtered_event): Cancel and start busy cursor. + + * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account + that the per-character metrics may be null. + +2000-04-17 Gerd Moellmann <gerd@gnu.org> + + * buffer.c (clone_per_buffer_values): New function. + (Fmake_indirect_buffer): Add optional argument CLONE. Call + clone_per_buffer_values if CLONE is not nil. + + * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix. + +2000-04-16 Dave Love <fx@gnu.org> + + * Makefile.in: Remove obsolete localcpp stuff. + (GETLOADAVG_OBJ): Don't define. + (obj): Move LIBOBJS... + (otherobj): ... to here. + (MSDOS_OBJ): Convert to make variable -- preprocessing zapped + whitespace-only lines after the continuation (Irix). + +2000-04-14 Gerd Moellmann <gerd@gnu.org> + + * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors. + + * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'. + +2000-04-14 Dave Love <fx@gnu.org> + + * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h: + * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h: + * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h: + * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated + NLIST_STRUCT. + + * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define + autoconfiscated HAVE_GETLOADAVG. + + * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated + BROKEN_MKTIME. + +2000-04-14 Gerd Moellmann <gerd@gnu.org> + + * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes. + (fill_in_lock_file_name): Avoid existing files that aren't links. + +2000-04-14 Dave Love <fx@gnu.org> + + * Makefile.in (LIBS, LIBOBJS): New variable. + (INTERVAL_SRC): Convert to make variable. + (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT) + (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove. + (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and + add LIBOBJS. + (SOME_MACHINE_OBJECTS): Remove interval stuff. + (lisp): Substitute FACE_SUPPORT, FLOAT_SUP. + (shortlisp): Add facemenu, float-sup, frame. + (SOME_MACHINE_LISP): Remove them from here. + (LIBES): Change unused LDLIBS to autoconf LIBS. + + * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION. + +2000-04-14 Kenichi Handa <handa@etl.go.jp> + + * composite.c (update_compositions): If FROM and TO are not in a + valid range, do nothing. + +2000-04-13 Gerd Moellmann <gerd@gnu.org> + + * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier. + + * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o. + + * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define + as TERMCAP_OBJ. + +2000-04-13 Eli Zaretskii <eliz@is.elta.co.il> + + * fileio.c (a_write): Remove redundant semi-colons. + (e_write): Return -1 if failed to write all the data. + This fixes the changes made at 1999-12-15. + +2000-04-12 Dave Love <fx@gnu.org> + + * fns.c (mapcar1): Test for null vals to support mapc. + (Fmapc): New function. + +2000-04-12 Eli Zaretskii <eliz@is.elta.co.il> + + * msdos.c (NUM_MOUSE_BUTTONS): Define. + (IT_frame_up_to_date): Support the buffer local value of + cursor-type, if defined. + +2000-04-10 Dave Love <fx@gnu.org> + + * editfns.c (preceding-char, following-char): Doc fix. + +2000-04-10 Ken Raeburn <raeburn@gnu.org> + + * Makefile.in (temacs): Revert 2000-03-12 change. + +2000-04-10 Jason Rumney <jasonr@gnu.org> + + * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P. + +2000-04-10 Gerd Moellmann <gerd@gnu.org> + + * xdisp.c (setup_echo_area_for_printing): Choose an echo + area buffer, if it's not set up yet. + + * indent.c (compute_motion): Set immediate_quit. + +2000-04-09 Gerd Moellmann <gerd@gnu.org> + + * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable. + (realize_tty_face): Suppress boldness if colors are the inverse of + the default colors, and tty_suppress_bold_inverse_default_colors_p + is set. + (Ftty_suppress_bold_inverse_default_colors): New function. + (syms_of_xfaces): Defsubr it. + + * buffer.c (Frestore_buffer_modified_p): New function. + (syms_of_buffer): Defsubr it. + +2000-04-08 Ken Raeburn <raeburn@gnu.org> + + * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a + charset id (int) argument, not a charset (Lisp_Object). + + * coding.h (code_convert_string): Declare. + * coding.c (code_convert_string_norecord): Pass an int, not a lisp + object, as the fourth argument to code_convert_string. + + * fontset.c (make_fontset_for_ascii_face): Use XINT on return value. + (Fset_fontset_font): Use EQ to compare lisp objects. + +2000-04-05 Ken Raeburn <raeburn@gnu.org> + + * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for + a pointer that looks like a lisp object. + (SET_INTERVAL_OBJECT): Don't explicitly compare the object with + zero, instead see whether it's an integer object, since they can't + have intervals. + (GET_INTERVAL_OBJECT): Simply assign to the destination. + + * dispnew.c (allocate_matrices_for_frame_redisplay) + (direct_output_forward_char): Use X(U)INT and make_number as needed + to convert between (unsigned) int values and lisp integers. + * keyboard.c (read_key_sequence): Likewise. + * lread.c (substitute_object_recurse): Likewise. + * fns.c (concat, hash_lookup, hash_remove): Likewise. + * minibuf.c (do_completion, Fminibuffer_complete_word) + (Fminibuffer_completion_help): Likewise. + * term.c (produce_special_glyphs): Likewise. + + * fileio.c (Fwrite_region): Use EQ when comparing lisp objects. + * print.c (print_preprocess, print_object): Likewise. + + * search.c (compile_pattern): Use NILP when checking for nil. + + * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 && + __OPTIMIZE__]: Provide a GNU C macro version that handles + lisp-object unions. + (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type + field, to better cope with ENABLE_CHECKING and calls that modify a + Lisp_Object using its old value. + +2000-04-04 Gerd Moellmann <gerd@gnu.org> + + * window.c (compare_window_configurations): Signal an error + if parameters C1 or C2 aren't window configurations. + + * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/ + AFTER_POTENTIAL_GC calls around calls to functions that can + signal an error and thus invoke the debugger. + +2000-04-03 Gerd Moellmann <gerd@gnu.org> + + * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal + an error if decoding fails. + + * keyboard.c (lispy_mouse_names): Variable removed. + (Vlispy_mouse_stem): New variable. + (syms_of_keyboard): Initialize Vlispy_mouse_stem. + (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort + for any mouse button number. Increase size of mouse_syms and + button_down_location as needed. Call modify_event_symbol with + different arguments. + (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]: + Call modify_event_symbol with different arguments. + (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort + for any button number. Call modify_event_symbol with different + arguments. + (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM. + Accept a string for NAME_ALIST_OR_STEM. + + * lisp.h (larger_vector): Add prototype. + + * fns.c (larger_vector): Make externally visible. + + * termhooks.h (NUM_MOUSE_BUTTONS): Removed. + +2000-04-02 Stefan Monnier <monnier@cs.yale.edu> + + * regex.c (PTR_TO_OFFSET) [!emacs]: Remove. + (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros. + (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when + we are between str1 and str2. + (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default. + (PATFETCH): Use `TRANSLATE'. + (PATFETCH_RAW): Fetch multibyte char if applicable. + (PATUNFETCH): Remove. + (regex_compile): Rely on PATFETCH to do most of the multibyte magic. + When writing a char, write it directly into the pattern buffer rather + than going needlessly through a temp char-array. + (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the + multibyte magic and remove the useless `#ifdef emacs'. + (bcmp_translate): Don't compare as multibyte chars when in a unibyte + buffer. + + * regex.h (struct re_pattern_buffer): Make field `multibyte' + conditional on `emacs'. + + * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c. + +2000-04-01 Ken Raeburn <raeburn@gnu.org> + + * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand + non-union-type versions of XMARK and friends here, because XMARK + and friends won't work on an integer field if NO_UNION_TYPE is not + defined. + (make_number): Define as a function if it's not defined as a macro. + + * composite.c (run_composite_function): Use NILP when checking for nil. + (syms_of_composite): Delete local var NARGS, pass an int as first + argument to Fmake_hash_table. + + * editfns.c (text_property_stickiness): Use NILP to test + Lisp_Object boolean value. + (Fmessage_or_box): Don't use NILP to test int variable. + (Fformat): Use a temporary variable to avoid ENABLE_CHECKING + problems reading from and changing the same lisp value in an + XSETSTRING call. + +2000-04-01 Gerd Moellmann <gerd@gnu.org> + + * term.c (TN_no_color_video): New variable. + (term_init): Intitialize TN_no_color_video. + (enum no_color_bit): New enumeration. + (MAY_USE_WITH_COLORS_P): New macro. + (turn_on_face): Use it to determine if attributes may be used + combined with colors. + +2000-04-01 Ken Raeburn <raeburn@gnu.org> + + * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues + with int lvalues via casts; instead, just yield lisp object lvalues. + (enlarge_window): Variable sizep now points to Lisp_Object. Use + proper accessor macros. + (shrink_window_lowest_first): w->top is Lisp_Object; use XINT. + (grow_mini_window): Fix typo getting int value of root->height. + + * xdisp.c (compute_string_pos): Fix order of arguments to + string_pos_nchars_ahead. + (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as + count arg to variable-arg routines like Frun_hook_with_args and + Fformat. + (back_to_previous_visible_line_start) + (build_desired_tool_bar_string): Pass Lisp_Object, not int, to + fixed-arg routines like Fget_char_property and Fmake_string. + (reconsider_clip_changes): Use XINT when comparing integer lisp + objects, or passing them as int arguments. + (mark_window_display_accurate, insert_left_trunc_glyphs) + (append_space, extend_face_to_end_of_line): Use make_number when + storing or passing integer values as lisp objects. + (set_cursor_from_row, highlight_trailing_whitespace): Use + INTEGERP, not implicit test against zero, for glyph object. + (try_window_id): Don't use make_number when we want an int value. + + * xfaces.c (xlfd_symbolic_value): Make last argument a + Lisp_Object, to be consistent with callers. + (Fbitmap_spec_p): Use XINT to get numeric value of height. + (lface_hash): Apply XFASTINT to lisp values before folding in. + + * xfns.c (Fx_show_tip): Use make_number to get lisp objects to + fill in window width and height. Pass an int, not a lisp object, + as first arg to Finsert. + +2000-04-01 Gerd Moellmann <gerd@gnu.org> + + * xfaces.c (realize_basic_faces): Block input while realizing + the faces. + + * keyboard.c (lispy_mouse_names): Add additional mouse names. + + * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15. + +2000-03-31 Gerd Moellmann <gerd@gnu.org> + + * xterm.c (x_produce_glyphs): When displaying unibyte text + or ASCII, handle case that per-char metric is null. + +2000-03-30 Ken Raeburn <raeburn@gnu.org> + + * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef. + + * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW) + (XSUBR, XBUFFER): Verify correct object type before returning + pointer, using eassert. + * frame.h (XFRAME): Likewise. + + * buffer.c (Frename_buffer, Fset_buffer_multibyte) + (swap_out_buffer_local_variables, Fmove_overlay): Don't apply + XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type. + * data.c (set_internal): Likewise. + * dispextern.h (WINDOW_WANTS_MODELINE_P) + (WINDOW_WANTS_HEADER_LINE_P): Likewise. + * fileio.c (auto_save_1): Likewise. + * insdel.c (check_markers): Likewise. + * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise. + * undo.c (record_insert): Likewise. + * vmsproc.c (child_sig): Likewise. + * window.c (unshow_buffer, window_loop): Likewise. + * xterm.c (x_erase_phys_cursor): Likewise. + +2000-03-30 Gerd Moellmann <gerd@gnu.org> + + * xfns.c (free_image_cache): Free the cache structure itself + last, after all its members have been freed. + + * lisp.h (xstrdup): Add prototype. + + * alloc.c (xstrdup): Moved here from xfaces.c. + (allocating_for_lisp): Variable removed. + (lisp_malloc): Block input around the calls to malloc and mem_insert. + + * xfaces.c (realize_tty_face): Use find_symbol_value instead + of Fsymbol_value. + (xstrdup): Moved to alloc.c. + +2000-03-29 Ken Raeburn <raeburn@gnu.org> + + * scroll.c (CHECK_BOUNDS): Renamed from CHECK. + + * emacs.c (main): Fix sense of no-loadup test. + + * config.in (ENABLE_CHECKING): Undef. + + * lisp.h (struct interval): Replace "parent" field with a union of + interval pointer and Lisp_Object; add new bitfield to use as + discriminant. Change other flag fields to bitfields. + (CHECK): New macro for consistency checking. If ENABLE_CHECKING + is defined and the supplied test fails, print a message and abort. + (eassert): New macro. Use CHECK to provide an assert-like facility. + + * intervals.h (NULL_INTERVAL_P): Now applies only to real interval + pointers; abort if the value looks like a lisp object. + (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT) + (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT): + Modify for new interval parent definition. + + * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE) + (UNMARK_BALANCE_INTERVALS): Update references that need an + addressable lisp object in the interval structure. + (die): New function. + (suppress_checking): New variable. + + * intervals.c (interval_start_pos): Just return 0 if there's no + parent object. + +2000-03-29 Gerd Moellmann <gerd@gnu.org> + + * lread.c (read1): Accept `.' (period) as symbol start like in CL + and earlier Emacs versions. + + * keyboard.c (Ftop_level): Cancel busy-cursor. + + * eval.c (call_debugger): Cancel busy-cursor. + +2000-03-29 Kenichi Handa <handa@etl.go.jp> + + * search.c (Freplace_match): Adjust multibyteness of the current + buffer and NEWTEXT. Free allocated memory before signaling an error. + +2000-03-28 Stefan Monnier <monnier@cs.yale.edu> + + * regex.c (analyse_first): New function obtained by ripping out most + of re_compile_fastmap and generalizing it a little bit so that it + can also just return whether a given (sub)pattern can match the empty + string or not. + (regex_compile): Use `analyse_first' to decide whether the loop-check + needs to be done or not for *, +, *? and +? (the loop check is costly + for non-greedy repetition). + (re_compile_fastmap): Delegate the actual work to `analyse_first'. + +2000-03-28 Dave Love <fx@gnu.org> + + * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha. + + * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__. + +2000-03-27 Stefan Monnier <monnier@cs.yale.edu> + + * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as + an expression. + (enum re_opcode_t): Update description of succeed_n. + (PATFETCH): Always define. + (regex_compile): Use lookahead rather than PATUNFETCH (for repetition + operators, char classes, shy-groups and intervals). + Optimize special cases of intervals so as to only use succeed_n and + jump_n when really needed. + (re_compile_fastmap): Simplify handling of jump_n and succeed_n now + that we don't have to handle the special cases any more. + Simplify on_failure_jump handling as well. + +2000-03-28 Jason Rumney <jasonr@gnu.org> + + * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT. + +2000-03-27 Gerd Moellmann <gerd@gnu.org> + + * s/freebsd.h (GC_SETJMP_WORKS): Define. + + * s/msdos.h (GC_SETJMP_WORKS): Define. + + * alloc.c (mark_maybe_object): New function. + (mark_memory): Use it. + (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros. + (setjmp_tested_p, longjmp_done): New variables. + (test_setjmp): New function. + (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp. + (init_alloc): Initialize setjmp_tested_p and longjmp_done. + + * xdisp.c (face_before_or_after_it_pos): Pass multibyteness + to DEC_TEXT_POS and INC_TEXT_POS. + + * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS + with parameter MULTIBYTE_P. + + * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P. + + * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte + buffers because it looks for multibyte character byte sequences + which don't exist in unibyte text. + + * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes. + + * xfaces.c (register_color, unregister_color, unregister_colors) + [DEBUG_X_COLORS]: New functions. + (x_free_colors) [DEBUG_X_COLORS]: Unregister colors. + + * xfns.c (x_set_cursor_color): Get color reference counts right. + + * xterm.c (x_copy_color): New function. + (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color. + + * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS. + (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET. + (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX. + (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P. + (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P. + (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX. + (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE. + (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE. + (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL. + (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE. + + * category.c, data.c, syntax.c, print.c, lread.c: Use new macro + names for handling per-buffer variables. + + * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS + instead of MAX_BUFFER_LOCAL_VARS. + (last_per_buffer_idx): Renamed from max_buffer_local_idx. + + * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P. + + * xfns.c (x_specified_cursor_type): New function. + (x_set_cursor_type): Use it. + + * buffer.h (struct buffer): Add cursor_type. + +2000-03-26 Stefan Monnier <monnier@cs.yale.edu> + + * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop. + (print_partial_compiled_pattern, re_compile_fastmap): + Handle new opcode. + (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops. + (re_match_2_internal): Add code for on_failure_jump_nastyloop when + executing it as well as when popping it off the stack to find infinite + loops in non-greedy repetition operators. + +2000-03-26 Gerd Moellmann <gerd@gnu.org> + + * doc.c (Qfunction_documentation): New variable. + (syms_of_doc): Initialize Qfunction_documentation. + (Fdocumentation): If FUNCTION is a symbol with non-nil + `function-documentation' property, return a documentation derived + from that. + + * buffer.c (syms_of_buffer): Add default-cursor-type. + (init_buffer_once): Don't let cursor_type have a local value + in every buffer. + + * xterm.c (x_display_and_set_cursor): Choose cursor depending + on buffer-local value of cursor_type. + (x_draw_bar_cursor): Add parameter WIDTH. + + * buffer.c (reset_buffer): Initialize buffer's cursor_type. + (init_buffer_once): Set default cursor_type value to t. + Mark cursor_type as local everywhere. + (syms_of_buffer): New per-buffer variable cursor-type. + + * buffer.h (struct buffer): Remove member local_var_flags, + add local_flags. + (MAX_BUFFER_LOCAL_VARS): New macro. + (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX) + (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P) + (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE) + (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros. + + * print.c (print_object): Use new macros for per-buffer variables. + + * category.c (Fset_category_table): Use new macros for per-buffer + variables. + + * buffer.c (buffer_permanent_local_flags): Make a char array. + (max_buffer_local_idx): New variable. + (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten + for new handling of per-buffer variables. + (buffer_slot_type_mismatch): Use new macros for per-buffer vars. + (init_buffer_once): Initialize per-buffer vars differently. + Set max_buffer_local_idx. + + * syntax.c (Fset_syntax_table): Use new macros for per-buffer + variables. + + * lread.c (defvar_per_buffer): Use new macros for per-buffer variables. + + * data.c (do_symval_forwarding, store_symval_forwarding) + (find_symbol_value, set_internal, default_value, Fset_default) + (Fkill_local_variable, Flocal_variable_p): Use new macros for + per-buffer variables. + + * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'. + +2000-03-24 Gerd Moellmann <gerd@gnu.org> + + * xterm.c (x_term_init): Unblock input around call1 of + Qvendor_specific_keysyms. + + * syntax.c (open_paren_in_column_0_is_defun_start): New variable. + (find_defun_start): Consider an open parenthesis in column 0 + a defun start only if open_paren_in_column_0_is_defun_start is set. + (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start. + +2000-03-24 Stefan Monnier <monnier@cs.yale.edu> + + * eval.c (Fautoload): Add entry in load-history (if after dump). + * lread.c (load-history): Update docstring. + +2000-03-24 Gerd Moellmann <gerd@gnu.org> + + * indent.c (Fvertical_motion): Always use the current buffer. + Temporarily change the window's buffer, if necessary. + +2000-03-23 Gerd Moellmann <gerd@gnu.org> + + * xterm.c (fast_find_position): Make sure not to consider rows + not visible in the window. + +2000-03-22 Stefan Monnier <monnier@cs.yale.edu> + + * regex.c (enum syntaxcode): Provide default for non-Emacs. + (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix. + +2000-03-22 Jason Rumney <jasonr@gnu.org> + + * w32menu.c (single_submenu): Set help string to NULL if none. + (w32_menu_show): Set help string correctly. + (add-menu-item): Set help string in MIIM_DATA for menu item. + Load SetMenuItemInfoA explicitly. + (w32_menu_display_help): New function. + + * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message. + (QCdata): Moved to xdisp.c. + + * w32term.c (w32_read_socket): Handle WM_MENUSELECT message. + (Vw32_charset_to_codepage_alist): Removed. + (Vw32_charset_info_alist): New variable. + (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312) + (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic) + (greek, hebrew, thai, johab, mac, unicode]): New symbols. + (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace + with TODO comment. + (w32_codepage_for_font): Use Vw32_charset_info_alist. + (syms_of_w32term): Remove Vw32_charset_to_codepage_alist. + Define Vw32_charset_info_alist and w32_charset symbols. + +2000-03-22 Jason Rumney <jasonr@gnu.org> + + * makefile.nt (w32bdf.obj): Update dependencies. + + * w32bdf.c: Include frame.h and dispextern.h before fontset.h. + + * w32fns.c: Include fontset.h after dispextern.h. + (Fx_create_frame): Do not create fontset. + (w32_load_system_font): Doc fix. + (Fx_close_connection): Free full_name if it is not shared. + + * w32term.c: Include fontset.h after dispextern.h. + (x_get_glyph_face_and_encoding): New parameter two_byte_p. + Callers updated. + (w32_per_char_metric): If PCM is invalid, delete and return NULL. + (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id. + (w32_font_is_double_byte): New function, needs body. + (x_append_glyph): Set glyph->glyph_not_available_p. + (x_produce_glyphs): Set it->glyph_not_available_p. Don't set + it->charset. If it->multibyte_p is zero and it->c is a multibyte + character, convert it to a unibyte character. + (struct glyph_string): Delete member `charset'. + (W32_TEXTOUT): Temporarily remove charset_dim until another way of + calculating it is found. + (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle + the case that per char metric is not available correctly. + (x_fill_glyph_string): Handle the case that the specific glyph is + not available correctly. + (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset. + (BUILD_COMPOSITE_GLYPH_STRING): Likewise. + (x_new_font): Call FS_LOAD_FONT, not fs_load_font. + (x_new_fontset): Call fontset_ascii to get ASCII font name of the + fontset. Don't call FS_LOAD_FONT. + +2000-03-22 Ken Raeburn <raeburn@gnu.org> + + * intervals.h (NULL_INTERVAL): Cast to INTERVAL type. + (INT_LISPLIKE): New macro. + (NULL_INTERVAL_P): Use it. + (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT) + (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT) + (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros. + + * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all + explicit references to "parent" field of struct interval and + associated unclean type conversions. + * intervals.c (create_root_interval, root_interval, rotate_right) + (rotate_left, balance_possible_root_interval, split_interval_right) + (split_interval_left, interval_start_pos, find_interval) + (next_interval, previous_interval, update_interval) + (adjust_intervals_for_insertion, delete_node, delete_interval) + (adjust_intervals_for_deletion, merge_interval_right) + (merge_interval_left, reproduce_tree, graft_intervals_into_buffer) + (copy_intervals_to_string): Likewise. + * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL): + Likewise. + * syntax.c (update_syntax_table): Likewise. + + * intervals.c (reproduce_tree_obj): New function, like + reproduce_tree but takes a Lisp_Object for the parent. Declare + with prototype. + (graft_intervals_into_buffer): Use it when appropriate. + (reproduce_tree): Declare with prototype. + (balance_possible_root_interval): Check that the parent is a lisp + object before trying to examine its type. + +2000-03-22 Gerd Moellmann <gerd@gnu.org> + + * xfaces.c (lface_same_font_attributes_p): Compare font attributes + as strings only if both are known to be strings. + + * s/openbsd.h (LIBS_TERMCAP): Undef. + +2000-03-21 Stefan Monnier <monnier@cs.yale.edu> + + * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default + definitions for non-Emacs compilation. + (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec + outside of `#ifdef emacs'. + (print_partial_compiled_pattern): Update. + (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar. + (re_compile_fastmap): Merge handling of charset and charset_not (for + emacs and non-emacs compilation as well). + Similarly for (not)categoryspec and (not)syntaxspec. + Don't use the fastmap when reaching `anychar' since the added + complexity is not justified. + (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs) + and (not)syntaxspec. Merge (not)categoryspec. + +2000-03-22 Kenichi Handa <handa@etl.go.jp> + + * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P) + (FACE_FOR_CHAR): Define them differently for the configuration of + --without-x. + +2000-03-21 Dave Love <fx@gnu.org> + + * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in + doc string. + +2000-03-21 Gerd Moellmann <gerd@gnu.org> + + * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error. + (lface_fully_specified_p): Don't check contents of + LFACE_FONT_INDEX because that attribute is optional. + (realize_x_face): Remove now unwarranted xassert. + +2000-03-21 Kenichi HANDA <handa@etl.go.jp> + + The following changes are to make font selection based on + characters, not charset. In addition, they recover fontset + facilities while utilizing the new font selection mechanism. + + * Makefile.in (fontset.o): Depend on dispextern.h. + + * alloc.c (mark_face_cache): Don't mark face->registry. + + * dispextern.h (struct glyph): New member glyph_not_available_p. + Use 22 bits for face_id. + (enum lface_attribute_index): Add LFACE_FONT_INDEX. + (struct face): Delete member registry, new member ascii_face. + (FACE_SUITABLE_FOR_CHAR_P): Renamed from + FACE_SUITABLE_FOR_CHARSET_P. Caller changed. + (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed. + (struct it): Delete member charset, new member glyph_not_available_p. + + * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed. + (struct fontset_info, struct fontset_data): Structs removed. + (allloc_fontset_data, free_fontset_data, fs_regiser_fontset) + (Vglobale_fontset_alist, font_idx_temp): Externs removed. + (fs_load_font, fs_query_fontset): Adjusted for new argument. + (fs_free_face_fontset, fontset_font_pattern) + (face_suitable_for_char_p, face_for_char) + (make_fontset_for_ascii_face): Extern them. + (FS_LOAD_FONT): Adjusted for the change of fontset implementation. + (FS_LOAD_FACE_FONT): New macro. + + * fontset.c: All codes rewritten or adjusted for the change of + fontset implementation. Now fontset is represented by char table. + (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl): + Variables removed. + (my_strcasecmp): Function removed. + (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables. + (AREF, ASIZE): New macros. + (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME) + (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF) + (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros. + (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset) + (fontset_id_valid_p, font_family_registry, fontset_name) + (fontset_ascii, free_face_fontset, face_suitable_for_char_p) + (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern): + New functions. + (fs_load_font): New arg FACE. Caller changed. + (fs_query_fontset): Argument changed. Caller changed. + (Fquery_fontset): call fs_query_fontset. + (fs_register_fontset, alloc_fontset_data, free_fontset_data): + Functions removed. + (clear_fontset_elements, check_registry_encoding) + (check_fontset_name): New functions. + (syms_of_fontset): Set char-table-extra-slots property of fontset + to 3. Staticpro and initialize Vfontset_table and + Vdefault_fontset. Defsubr fontset_font and fontset_list. + + * frame.h (struct frame): Member `fontset_data' removed. + (FRAME_FONTSET_DATA): Macro removed. + + * frame.c (make_frame): Don't allocate f->fontset_data. + (Fdelete_frame): Don't free f->fontset_data. + + * msdos.c (XMenuActivate): Args to lookup_derived_face changed. + + * xdisp.c (charset_at_position): Function removed. + (init_iterator): Don't set member charset of struct `it'. + (handle_face_prop, reseat_to_string, set_iterator_to_next) + (next_element_from_display_vector, insert_left_trunc_glyphs): + Likewise. + (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not + FACE_FOR_CHARSET. + (get_next_display_element, append_space) + (extend_face_to_end_of_line): Likewise. + + * xfaces.c (Qx_charset_registry, Vface_default_registry): + Variables removed. + (clear_font_table, frame_update_line_height, load_face_font): + Adjusted for the change of fontset implementation. + (load_face_fontset_font): Function removed. + (pixel_point_size): New function. + (font_list): Argument type changed. Caller changed. + (LFACE_FONT): New macro. + (check_lface_attrs): Check attr[LFACE_FONT_INDEX]. + (set_lface_from_font_name): Type of arg FONTNAME is changed to + Lisp_Object. Determine the font name by actually loading a font + by the specified pattern. Set LFACE_FONT (lface) to the specified + pattern. Even if a font is not found, don't try alternatives. + (Finternal_set_lisp_face_attribute): Handle `font' slot in lface. + (set_font_frame_param): If `font' is specified in lface, use it. + (Finternal_get_lisp_face_attribute): Handle `font' slot in lface. + (lface_same_font_attributes_p): Likewise. + (make_realized_face): Arguent changed. Caller changed. Set + face->ascii_face to face itself. + (free_realized_face): Free face->fontset if face is for ASCII. + (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p) + (deduce_unibyte_registry, x_charset_registry): Functions removed. + (free_realized_multibyte_face): New function. + (lookup_face, lookup_named_face, lookup_derived_face): Argument + changed. Caller changed. + (try_font_list): Argument type changed. + (face_fontset): Check `font' slot of ATTRS, not `family' slot. + (choose_face_font): Argument changed. Handle fontset properly. + (choose_face_fontset_font): Function removed. + (realize_default_face, realize_named_face): Don't remove the + former face here. + (realize_face): Argument changed. Caller changed. Remove face + with the arg former_face_id in advance. Load font for the new face. + (realize_x_face): Argument changed. Caller changed. For a + multibyte character, share fontset with base_face. For a single + byte character, make a new realized fontset. Don't load a font here. + (realize_tty_face): Argument changed. Caller changed. + (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET. + (face_at_buffer_position): Don't check multibyte_p for returning + DEFAULT_FACE_ID. + (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not + FACE_SUITABLE_FOR_CHARSET_P. + (syms_of_xfaces): Remove code for Qx_charset_registry and + Vface_default_registry. + + * xterm.c: Include fontset.h after dispextern.h. Undo the changes + related to PER_CHAR_METRIC done by Gerd on 2000-03-03. + (x_per_char_metric): Don't try FONT->default_char. Even if + pcm->width is zero, glyph bits may exist. + (x_encode_char): Always initialize char2b->byte1. + (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id. + (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed. + (x_append_glyph): Set glyph->glyph_not_available_p. + (x_produce_glyphs): Set it->glyph_not_available_p. Don't set + it->charset. Handle the case that per char metric is not + available. If it->multibyte_p is zero and it->c is a multibyte + character, convert it to a unibyte character. + (struct glyph_string): Delete member `charset'. + (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle + the case that per char metric is not available correctly. + (x_fill_glyph_string): Handle the case that the specific glyph is + not available correctly. + (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset. + (BUILD_COMPOSITE_GLYPH_STRING): Likewise. + (x_new_font): Call FS_LOAD_FONT, not fs_load_font. + (x_new_fontset): Call fontset_ascii to get ASCII font name of the + fontset. Don't call FS_LOAD_FONT. + + * xfns.c (Fx_create_frame): Don't cal fs_register_fontset. + (x_create_tip_frame): Likewise. + (Fx_close_connection): Free full_name of font_info. + + * fns.c (optimize_sub_char_table): New function. + (Foptimize_char_table): New function. + (syms_of_fns): Defsubr Soptimize_char_table. + +2000-03-20 Gerd Moellmann <gerd@gnu.org> + + * buffer.c (Fset_buffer_modified_p): Set update_mode_lines + only if buffer is displayed in some window. + + * xdisp.c (handle_single_display_prop): Initialize local `value'. + (try_window_reusing_current_matrix): Don't call scroll run + function if run's current and desired position are the same; + this prevents cursor flickering. + +2000-03-19 Stefan Monnier <monnier@cs.yale.edu> + + * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c. + + * regex.c (RE_STRING_CHAR): New macro. + (GET_CHAR_AFER_2): Remove. + (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h. + (enum re_opcode_t): Remove on_failure_jump_exclusive. + (print_partial_compiled_pattern, re_compile_fastmap) + (re_match_2_internal): Remove on_failure_jump_exclusive. + (regex_compile): Turn optimizable P+ loops into PP*, so that the + optimization only need to work for * (ie. can use of_keep_string_jump). + Remove the special case for .*\n since it is now covered by the general + optimization. + (re_search_2): Don't bother with `room'. + (skip_one_char): New function. + (skip_noops): Simplify since `memory' is not needed any more. + (mutually_exclusive_p): Restructure slightly to use `switch' and + add handling for "all" remaining cases. + (re_match_2_internal): Change on_failure_jump_smart to use + on_failure_keep_string_jump (and redirect the end-of-loop jump) + rather than on_failure_jump_exclusive. + +2000-03-19 Gerd Moellmann <gerd@gnu.org> + + * xfns.c (select_visual): Don't set dpyinfo->n_planes to the + number of bits per RGB because it's everywhere used as the depth + of the visual. + + * term.c (calculate_costs): Remove code dealing with X frames. + +2000-03-19 Richard M. Stallman <rms@gnu.org> + + * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte. + +2000-03-18 Gerd Moellmann <gerd@gnu.org> + + * lread.c (read_integer): Unread the last char not consumed. + +2000-03-17 Gerd Moellmann <gerd@gnu.org> + + * xterm.c (x_update_window_cursor): Don't update in frames + which are in the process of being deleted. + +2000-03-16 Gerd Moellmann <gerd@gnu.org> + + * Makefile.in (mostlyclean): Add `*.core'. + (clean): Add `bootstrap-emacs'. + + * lread.c (read_integer): New function. + (read1): Support read syntax #o, #x, #b, #r. + +2000-03-15 Stefan Monnier <monnier@cs.yale.edu> + + * regex.c (re_match_2): Fix string shortening (to fit `stop') to + make sure POINTER_TO_OFFSET gives the same value before and after + PREFETCH. Use `dfail' to guarantee "atomic" matching. + (PTR_TO_OFFSET): Use POINTER_TO_OFFSET. + (debug): Now only active if > 0 rather than if != 0. + (DEBUG_*): Update for the new meaning of `debug'. + (print_partial_compiled_pattern): Add missing `succeed' case. Use + CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs + in `succeed_n', `jump_n' and `set_number_at'. + (store_op1, store_op2, insert_op1, insert_op2) + (at_begline_loc_p, at_endline_loc_p): Add prototype. + (group_in_compile_stack): Move to after its arg's types are + declared and add a prototype. + (PATFETCH): Define in terms of PATFETCH_RAW. + (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper. + (QUIT): Redefine as a nop except for NTemacs. + (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix + indentation of the greedy-op and shy-group code. + (at_(beg|end)line_loc_p): Fix argument's types. + (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc. + (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation. + (MATCHING_IN_FIRST_STRING): Remove. + (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr + to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use + QUIT unconditionally. + +2000-03-15 Gerd Moellmann <gerd@gnu.org> + + * minibuf.c (Fminibuffer_complete): Set point to ZV if finding + a sole completion. + + * process.c (send_process): Add a hint that the function + can call Lisp code to its comment. + + * lread.c (load_dangerous_libraries): New variable. + (Vbytecomp_version_regexp): New variable. + (safe_to_load_p): New function. + (Fload): Handle files not compiled with Emacs specially. + (syms_of_lread): New Lisp variable load-dangerous-libraries. + +2000-03-14 Gerd Moellmann <gerd@gnu.org> + + * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon. + + * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM + support functions only if HAVE_X11R6_XIM is defined. + (xim_instantiate_callback): Define only if HAVE_X11R6_XIM. + + * s/sol2.h (INHIBIT_X11R6_XIM): Define. + + * xfns.c (X_I18N_INHIBITED): Don't define. + (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED. + (x_kill_gs_process, x_window): Use FRAME_X_VISUAL. + + * config.in (HAVE_X_I18N): Moved here from xterm.h. + (HAVE_X11R6_XIM): Define. + + * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in. + + * xterm.c (x_term_init): Add support for X resource `synchronous'. + If set, call XSynchronize. + +2000-03-13 Stefan Monnier <monnier@cs.yale.edu> + + * regex.c: Declare a new type `re_char' used throughout the code + for the string char type. It's `const unsigned char' to match the + rest of Emacs. Consistently make sure all pointers to strings use + it and make sure all pointers into the pattern use `unsigned char'. + (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of + GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce + code duplication. + + * charset.h (GET_CHAR_AFTER_2): Remove. + (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else. + +2000-03-12 Ken Raeburn <raeburn@gnu.org> + + * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary + variable before the invocation of YMF_PASS_LDFLAGS, in case both + of them try to use backquotes. + +2000-03-12 Dave Love <fx@gnu.org> + + * unexelf.c: Restore changes of 1999-10-19. + (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise + fix its type and alignment; copy it from current process. + +2000-03-12 Gerd Moellmann <gerd@gnu.org> + + * atimer.c (cancel_atimer): Break out of the loop as soon as timer + has been found. Fix bug not computing timer's predecessor. + + * fileio.c (Fread_file_name): Handle case that DIR contains a + file name. + + * window.c (Fsave_window_excursion): Doc fix. + + * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color. + +2000-03-12 Eli Zaretskii <eliz@is.elta.co.il> + + * msdos.c (vga_installed): New function, code moved from + dos_set_window_size. + (Qbar, Qcursor_type, outside_cursor): New variables. + (syms_of_msdos): Intern and staticpro them. + (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor + shape used outside Emacs when called for the first time. + (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the + cursor shape used outside Emacs. + (msdos_set_cursor_shape, IT_set_cursor_type): New functions. + (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor + type has changed. + (IT_set_frame_parameters): Call IT_set_cursor_type if the frame + parameters specify the cursor. Make qreverse a global + variable (renamed to Qreverse). + +2000-03-09 Gerd Moellmann <gerd@gnu.org> + + * fns.c (Fy_or_n_p): Cancel busy-cursor. + +2000-03-08 Stefan Monnier <monnier@cs.yale.edu> + + This is a big redesign of failure-stack and register handling, prompted + by bugs revealed when trying to add shy-groups. Overall, what happened + is that loops are now structured a little differently, groups can be + shy and the code is a little simpler. + + * regex.h: Update the copyright. + (RE_SHY_GROUPS): New value. + (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber. + (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS. + + * regex.c (enum re_opcode_t): Remove jump_past_alt, + maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add + on_failure_jump_(exclusive, loop and smart). Also fix the comment + for (start|stop)_memory since they now only take one argument (the + second has becomes unnecessary). + (print_partial_compiled_pattern): Adjust for changes in re_opcode_t. + (print_compiled_pattern): Use %ld to printf long ints and flush to + make debugging a little easier. + (union fail_stack_elt): Make the integer unsigned. + (struct fail_stack_type): Add a `frame' element. + (INIT_FAIL_STACK): Init `frame' as well. + (POP_PATTERN_OP): New macro for re_compile_fastmap. + (DEBUG_PUSH, DEBUG_POP): Remove. + (NUM_REG_ITEMS): Remove. + (NUM_NONREG_ITEMS): Adjust. + (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE) + (TOP_FAILURE_HANDLE): New macros for the cycle detection. + (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT). + (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP): + New macros. + (PUSH_FAILURE_POINT): Don't push registers any more. The pattern + address pushed is not the destination of the jump but the source + of it instead. + (NUM_FAILURE_ITEMS): Remove. + (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop + registers before the actual failure point). Don't hardcode any + meaning for str==NULL anymore. + (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE) + (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED): + Remove. + (REG_UNSET_VALUE): Use NULL (why not?). + (compile_range): Remove declaration since it doesn't exist. + (struct compile_stack_elt_t): Remove inner_group_offset. + (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove. + (regex_grow_registers): Remove dead code. + (FIXUP_ALT_JUMP): New macro. + (regex_compile): Add shy-groups Change loops to use + on_failure_jump_smart&jump instead of + on_failure_jump&maybe_pop_jump. Change + loops to eliminate the + initial (dummy_failure_)jump. Remove c1_base (looks like unused + variable to me). Use `jump' instead of `jump_past_alt' and don't + bother with push_dummy_failure in alternatives since it is now + unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef + emacs' for (re)allocating the stack. + (re_compile_fastmap): Remove dead variables i and num_regs. Exit + from loop when bufp->can_be_null rather than jumping to `done'. + Avoid jumping backwards so as to ensure termination. Use + PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of + backreferences. Remove dead code in handling of `anychar'. + (skip_noops, mutually_exclusive_p): New functions taken from the + handling of `maybe_pop_jump' in re_match_2_internal. Slightly + improve mutually_exclusive_p to handle ".+\n". + (lowest_active_reg, highest_active_reg) + (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove. + (re_match_2_internal): Use %p instead of 0x%x when printf'ing + ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead + variables. Push register (in `start_memory') on the stack rather + than storing it in old_reg(start|end). Remove the cycle detection + from `stop_memory', replaced by the use of on_failure_jump_loop + for greedy loops. Add code for the new on_failure_jump_<foo>. + Remove ad-hoc code in `on_failure_jump' to push more registers in + the case of a loop. Take out code from `maybe_pop_jump' into + separate functions and adapt it to the semantics of + `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump + and push_dummy_failure. Remove dummy_failure handling and + handling of `failures to jump to on_failure_jump' (this last one + was already dead code, it seems). + (group_match_null_string_p, alt_match_null_string_p) + (common_op_match_null_string_p): Remove. + +2000-03-08 Dave Love <fx@gnu.org> + + * config.in: Don't depend on __STDC__ for volatile. + Add POINTER_TYPE, PTR, PROTOTYPES. + + * hftctl.c, strftime.c: Use PROTOTYPES. + * eval.c (find_handler_clause): Likewise. + + * mem-limits.h: Use POINTER_TYPE. + + * lisp.h (P_): Define based on PROTOTYPES, not __STDC__. + (memory_warnings): Declare using POINTER_TYPE. + +2000-03-08 Gerd Moellmann <gerd@gnu.org> + + * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor. + + * xdisp.c (display_echo_area): Temporarily inhibit garbage collection. + + * xfns.c: Remove obsolete code in #if 0. + (Fx_focus_frame): New function. + +2000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp> + + * coding.c (coding_category_name): Add coding-category-utf-8, + coding-category-utf-16-be, coding-category-utf-16-le. + (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P, + UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P, + UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros. + (detect_coding_utf_8): New function. + (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P + UTF_16_LOW_SURROGATE_P): New macros. + (detect_coding_utf_16): New function + (detect_coding_mask): When priorities are specified, skip any + categories that have `nil' coding-system. Fix bug of returning + wrong mask when PRIORITIES is specified and detect_coding_XXX() + returns a mask not set in PRIORITIES. + (detect_eol_type_in_2_octet_form): New function. + (detect_eol): selects detect_eol_type_XXX to call according to + cooding->category_idx. + (detect_coding_system): Remove `nil' coding-system in the result. + (Fupdate_coding_systems_internal): Update all coding-categories. + + * coding.h (CODING_CATEGORY_IDX_UTF_8) + (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE): + New macros. + (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY) + (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros. + (CODING_CATEGORY_IDX_UTF_16_LE) + (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE) + (CODING_CATEGORY_MASK_UTF_16_LE): New macros. + (CODING_CATEGORY_MASK_ANY): Include the above macros. + (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro. + +2000-03-07 Gerd Moellmann <gerd@gnu.org> + + * doc.c (Fdocumentation_property): If value is not a string, + and doesn't refer to etc/DOC, evaluate it to obtain a string. + + * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to + close the display with XtCloseDisplay. This caused a bus error + on OpenWindows. + + * minibuf.c (Fminibuffer_complete): Move point to ZV when input is + complete but not unique. + +2000-03-06 Gerd Moellmann <gerd@gnu.org> + + * process.c (send_process): Remove local variable `procname' that + might become invalid when a GC happens. Instead, access the + process name slot directly. + + * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and + orig_height if set. + + * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and + orig_height if set. + +2000-03-06 Eli Zaretskii <eliz@is.elta.co.il> + + * msdos.c (IT_note_mouse_highlight): Return immediately if frame's + glyph matrices have been freed. + +2000-03-05 Gerd Moellmann <gerd@gnu.org> + + * Makefile.in (tags): Include ../lwlib/TAGS in TAGS. + (bootstrap-temacs): Set LC_ALL to C like for temacs. + + * xfns.c (QCdata): Moved to xdisp.c. + + * xdisp.c (QCdata): Moved here from xfns.c. + (syms_of_xdisp): Initialize QCdata. + + * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define. + + * window.c (coordinates_in_window): Use + FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of + FRAME_INTERNAL_BORDER_WIDTH. + + * xdisp.c (try_window_id): Recompute unchanged information if + it is obviously invalid. + + * xterm.c (x_term_init): Create a colormap if not using the + default visual. + + * xterm.h (select_visual): Change prototype. + + * xfns.c (select_visual): Rewritten. Recognize user-specified + visual classes. + (visual_classes): New variable. + +2000-03-04 Gerd Moellmann <gerd@gnu.org> + + * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color) + (lookup_pixel_color, x_laplace, x_build_heuristic_mask) + (png_load): Access colormap of frame using FRAME_X_COLORMAP. + (x_decode_color): Don't handle allocation of white and black specially. + (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and + XtNcolormap resources. + (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow. + (Fx_create_frame): Initialize color members of x_output structure. + (xpm_load): Pass colormap to XPM lib. + + * xfaces.c (x_free_colors): Access colormap of frame using + FRAME_X_COLORMAP. Be paranoid about freeing black and white + when default colormap is used. + + * xterm.c (x_term_init): Set Colormap member of x_display_info + structure. Copy colormap if resource `privateColormap' is + specified (PseudoColor only). + (x_setup_relief_color): Access colormap of frame using + FRAME_X_COLORMAP. + + * xterm.h (struct x_display_info): Add Colormap member `cmap'. + (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros. + +2000-03-04 Jason Rumney <jasonr@gnu.org> + + * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or + other non-platform-specific equivalents. + [WINDOWSNT]: Include w32term.h, fontset.h and define X + specific functions and macros as their w32 equivalents where + non-platform-specifics are not available. + [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM. + (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions. + (clear_font_table) [WINDOWSNT]: Call w32_unload_font. + (frame_update_line_height): Use macros to access f->output_data. + (defined_color): Remove FIXME comments; fixed. + (x_face_list_fonts, prepare_face_for_display): Put X specifics + into #ifdef blocks. Add WINDOWSNT blocks. + (Fx_list_fonts): Use macros for accessing font data. + (set_lface_from_font_name): Different default fonts for X and + WINDOWSNT. + (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as + scalable for backward compatibility. + (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT. + (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default. + + * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of + syms_of_w32faces. + + * makefile.nt (w32faces.obj): Remove. + (xfaces.obj): Add. + +2000-03-03 Jason Rumney <jasonr@gnu.org> + + * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with + correct parameters. + +2000-03-03 Ken Raeburn <raeburn@gnu.org> + + * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide + standard ELF definitions here if the system header does not. + +2000-03-03 Gerd Moellmann <gerd@gnu.org> + + * xterm.c (PER_CHAR_METRIC): Removed. + (x_per_char_metric_1, x_default_char): New functions. + (x_per_char_metric): If font's default char is invalid, return + metrics of a suitably chosen usable default char. + (x_draw_glyph_string_foreground): If font has an invalid default + char, replace occurrences of unprintable chars with a suitably + chosen usable default char. + +2000-03-02 Gerd Moellmann <gerd@gnu.org> + + * xterm.c (note_mouse_highlight): Return quickly if frame's + glyph matrices have been freed. + + * dispnew.c (free_glyphs): Block input while freeing matrices. + + * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors. + + * xterm.c (x_alloc_lighter_color, x_setup_relief_color): + Use x_free_colors. + + * dispextern.h (x_free_colors): Add prototype. + + * xfaces.c (x_free_colors): New function. + (unload_color, free_face_colors): Use it. + +2000-03-02 Eli Zaretskii <eliz@is.elta.co.il> + + * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero. + + * window.c [MSDOS]: Include msdos.h. + +2000-03-02 Dave Love <fx@gnu.org> + + * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH. + + * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't + set C_OPTIMIZE_SWITCH for gcc. + +2000-03-02 Kenichi Handa <handa@etl.go.jp> + + * coding.c (coding_save_composition): Be sure to allocate + composition data area in coding even if there's no composition in + the current run. + +2000-03-01 Jason Rumney <jasonr@gnu.org> + + * w32term.c: Equivalent changes to those made to xterm.c on + 2000-02-25 and 2000-02-24. + + * w32fns.c: Equivalent changes to those made to xfns.c on + 2000-02-25 and 2000-02-21. + + * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure + correct line-end convention is followed. + + * w32menu.c [HAVE_BOXES]: Remove #undef. + (single_keymap_panes): Remove code for simulating checkmarks. + (single_menu_item): Remove notbuttons_ptr argument. Callers changed. + Remove code for drawing simulated checkmarks. + (w32_menu_show): make unibyte help string correctly. + (add_menu_item): draw standard Windows checkmarks. Draw radio + buttons as radio buttons if possible. + +2000-03-01 Gerd Moellmann <gerd@gnu.org> + + * sysdep.c (start_of_text): Don't define this function for NetBSD + with ELF. + + * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]: + Don't define. + (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o. + (LINKER): Don't undef if __NetBSD__ is defined. + + * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define. + + * fileio.c [__NetBSD__]: Define `unix'. + + * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay. + +2000-02-29 Gerd Moellmann <gerd@gnu.org> + + * atimer.c (start_atimer): Don't abort when timers are stopped. + (append_atimer_lists): New function. + (cancel_atimer, stop_other_atimers, run_all_atimers): Handle + arbitrary lists of stopped and running atimers. + + * atimer.c (cancel_atimer): Handle canceling an atimer when + some timers are stopped. + + * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null + after canceling it. + + * fns.c (maybe_resize_hash_table): Handle case of new size + coming out as being the same as old size. + +2000-02-27 Jason Rumney <jasonr@gnu.org> + + * makefile.nt: Add atimer.h to dependencies. + * w32.c (init_environment): Set Vw32_num_mouse_buttons here. + * w32console.c: Only disable window system features for dispextern.h + (initialize_w32_display): Build a display info for the console. + * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17. + * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN, + WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice + as 2 button mice. + * w32gui.h (struct W32FontStruct): Revert last change after change + to xdisp.c. + * w32menu.c (single_submenu): Set up help string. + [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip. + (w32_dialog_show): Set up help string. + * w32term.c (w32_display_info_for_display): Remove unused function. + (w32_draw_bitmap): Use pre-built bitmaps. + (w32_initialize_display_info): New function to initialize parts of + display info that are common to both GUI and console frames. + (w32_term_init): Use w32_initialize_display_info. Do not set + Vw32_num_mouse_buttons here, as it is not called for console + frames. Build bitmaps for indicating truncated lines etc. + (x_delete_display): Destroy pre-built bitmaps. + * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro. + (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM. + +2000-02-27 Dave Love <fx@gnu.org> + + * lisp.h: Add a bunch of prototypes. + +2000-02-26 Kenichi Handa <handa@etl.go.jp> + + * keyboard.c (read_char): Set `usec' correctly. + +2000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp> + + * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is + `lambda', set reg[RRR] to the map index. + (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set + reg[RRR] to 0. Otherwise, set it to -1. + +2000-02-25 Gerd Moellmann <gerd@gnu.org> + + * emacs.c (main): Remove code snippet commented out with `//'. + +2000-02-25 Richard M. Stallman <rms@gnu.org> + + * fileio.c (Ffile_symlink_p): If result starts with a `/' + and contains a `:', prepend `/:'. + + * window.c (select_window_1): If selected_window is nil, + don't "swap out" the buffer's point. + (Fset_window_configuration): Set selected_window to nil + before calling Fselect_window. + (unshow_buffer): Don't set point in buffer from window's point + if another more recently selected window also shows the buffer. + +2000-02-25 Gerd Moellmann <gerd@gnu.org> + + * keyboard.c (recursive_edit_1): Cancel busy-cursor. + + * xfns.c (inhibit_busy_cursor, busy_count): Removed. + (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed. + (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay): + New variables. + (DEFAULT_BUSY_CURSOR_DELAY): New define. + (start_busy_cursor, cancel_busy_cursor, show_busy_cursor) + (hide_busy_cursor): New functions. + (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay. + + * minibuf.c (read_minibuf): Cancel busy-cursor. + + * keyboard.c (command_loop_1): Call start_busy_cursor before + Fcommand_execute and cancel_busy_cursor after it. + (timer_check): Remove busy-cursor code. + (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy + cursor timer. + + * process.c (wait_reading_process_input): Remove busy-cursor code. + + * eval.c (Fsignal): Call cancel_busy_cursor instead of + Fx_hide_busy_cursor. + + * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor): + Remove prototyoes. + (start_busy_cursor, cancel_busy_cursor): Add prototypes. + + * lisp.h (Fx_hide_busy_cursor): Remove prototype. + + * xterm.c (XTread_socket): Remove busy-cursor code. + + * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function. + (build_frame_matrix_from_leaf_window): Put code handling + glyph row's not being a slice of a frame row in #if 0. + (sync_window_with_frame_matrix_rows): New function. + (frame_row_to_window): New function. + (mirror_line_dance): Handle copies between windows. + + * lread.c (Fload): Use `xfree' instead of `free'. + (init_obarray): Use `xmalloc' instead of `malloc'. + + * window.c (Fset_window_buffer): Set WINDOW to the window + after decoding. + (coordinates_in_window): Take frame's internal border width + into account. + +2000-02-24 Gerd Moellmann <gerd@gnu.org> + + * xterm.c (x_display_and_set_cursor): Display cursor of + non-selected windows depending on the setting of + cursor_in_non_selected_windows. + + * xdisp.c (cursor_in_non_selected_windows): New variable. + (syms_of_xdisp): DEFVAR_BOOL it. + +2000-02-23 Gerd Moellmann <gerd@gnu.org> + + * data.c (Fstring_to_number): If number is greater than what + fits into an integer, return a float. + + * eval.c (specbind): Remove references to + keyword_symbols_constant_flag. + + * data.c (keyword_symbols_constant_flag): Removed. + (Fmakunbound, set_internal, syms_of_data): Remove references to + keyword_symbols_constant_flag. + + * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag. + +2000-02-23 Kenichi Handa <handa@etl.go.jp> + + * syntax.c (multibyte_syntax_as_symbol): New variable. + (syms_of_syntax): Declare it as a Lisp variable. + (SYNTAX_WITH_MULTIBYTE_CHECK): New macro. + (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are + nonzero, treat all multibyte characters as symbol. + (init_syntax_once): Give syntax `word' to all multibyte characters. + +2000-02-22 Eli Zaretskii <eliz@is.elta.co.il> + + * frame.c (Fdelete_frame): Don't let echo_area_window remain on + a deleted frame. + +2000-02-21 Gerd Moellmann <gerd@gnu.org> + + * frame.c (Fmouse_position): GCPRO retval instead of x and y. + + * xfns.c (x_window_to_frame, x_any_window_to_frame) + (x_non_menubar_window_to_frame): Check the busy-cursor window. + +2000-02-21 Dave Love <fx@gnu.org> + + * frame.c (Vmouse_position_function): New variable. + (Fmouse_position): Use it. + (syms_of_frame): Install it. + + * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'. + +2000-02-20 Gerd Moellmann <gerd@gnu.org> + + * fileio.c (Finsert_file_contents): Unbind the binding of + standard-output done by temp_output_buffer_setup. + + * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless + Vmocklisp_arguments is nil. Inline Fcar and Fcdr. + (specbind, unbind_to): Handle most common case of non-constant + symbol with trivial value specially. + + * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case. + +2000-02-20 Richard M. Stallman <rms@gnu.org> + + * data.c (Fmake_variable_buffer_local): Doc fix. + Init found_for_buffer to 0. + (Fmake_variable_frame_local): If the variable has already + been buffer-local, set the check_frame field. + +2000-02-20 Eli Zaretskii <eliz@is.elta.co.il> + + * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data + produced for CODING_MODE_LAST_BLOCK requires. + +2000-02-18 Dave Love <fx@gnu.org> + + * keyboard.c (echo_keystrokes): Remove declaration. + (Vecho_keystrokes) New variable. + (read_char, record_menu_key, read_key_sequence): Use it to allow + use of float value. + (syms_of_keyboard): Change Vecho_keystrokes declaration. + + * lread.c: Undef feature selection macros before defining. + +2000-02-18 Gerd Moellmann <gerd@gnu.org> + + * data.c (let_shadows_buffer_binding_p): Ignore specbindings + for symbols other than the symbol in question. + +2000-02-17 Dave Love <fx@gnu.org> + + * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization. + +2000-02-17 Gerd Moellmann <gerd@gnu.org> + + * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef. + + * alloc.c (enum mem_type): Compile unconditionally. + +2000-02-17 Eli Zaretskii <eliz@is.elta.co.il> + + * xfaces.c (tty_defined_color): Don't return faulire indication + for unspecified-fg and unspecified-bg pseudo-colors. + +2000-02-17 Gerd Moellmann <gerd@gnu.org> + + * alloc.c (mark_object): Don't mark symbol names in pure space. + (gc_sweep): Don't unmark symbol names in pure space. + + * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS) + (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES) + [GC_MARK_STACK]: New defines. + (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO) + [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops. + + * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base. + + * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use + allocate_buffer instead of xmalloc. + + * alloc.c (toplevel): Include setjmp.h. + (PURE_POINTER_P): New define. + (enum mem_type) [GC_MARK_STACK]: New enumeration. + (Vdead) [GC_MARK_STACK]: New variable. + (lisp_malloc): Add parameter TYPE, call mem_insert if + GC_MARK_STACK is defined. + (allocate_buffer): New function. + (lisp_free) [GC_MARK_STACK]: Call mem_delete. + (free_float) [GC_MARK_STACK]: Set type to Vdead. + (free_cons) [GC_MARK_STACK]: Set car to Vdead. + (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables. + (MEM_NIL) [GC_MARK_STACK]: New define. + (struct mem_node) [GC_MARK_STACK]: New structure. + (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup) + (mem_delete_fixup, mem_rotate_left, mem_rotate_right) + (live_string_p, live_cons_p, live_symbol_p, live_float_p) + (live_misc_p, live_vector_p, live_buffer_p, mark_memory) + (mark_stack) [GC_MARK_STACK]: New functions. + (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack. + (clear_marks): Removed. + (gc_sweep): Set free conses' car, free floats' type, free + symbols' function to Vdead. Use lisp_free to free buffers. + (init_alloc_once): Initialize Vdead. + (survives_gc_p): Return non-zero for pure objects. + + * alloc.c: Add comments throughout the file. + + * atimer.c (stop_other_atimers): Don't call cancel_atimer because + that unblocks alarms. + + * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c, + emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h, + Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'. + + * frame.c (make_frame): Set frame initiallly to `garbaged'. + +2000-02-17 Kenichi Handa <handa@etl.go.jp> + + * xdisp.c (decode_mode_spec_coding): Delete superfluous code to + avoid infinite error signaling. Allocate sufficient memory for + eol_str in the case that eoltype is Lisp_Int. + +2000-02-17 Stefan Monnier <monnier@cs.yale.edu> + + * syntax.c (Fforward_comment): Undo the previous change, since cc-mode + depends on the previous behavior. + +2000-02-16 Gerd Moellmann <gerd@gnu.org> + + * sysdep.c (vfork) [!HAVE_VFORK]: Removed. + +2000-02-15 Gerd Moellmann <gerd@gnu.org> + + * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define. + + * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]: + Workaround for FreeBSD bug. Clear output queue after EAGAIN in + write(2). + +2000-02-15 Richard M. Stallman <rms@gnu.org> + + * data.c (set_internal): Don't make variable buffer-local + if within a let-binding for the same buffer. + (let_shadows_buffer_binding_p): New function. + + * eval.c (specbind): For buffer-local value, + record the current buffer also. + (unbind_to): Cope with that change. + +2000-02-15 Gerd Moellmann <gerd@gnu.org> + + * window.c (Fsave_window_excursion): Doc fix. + +2000-02-15 Stefan Monnier <monnier@cs.yale.edu> + + * syntax.c (back_comment): Make sure we only consider comment-starters + of the relevant style and return -1 in case of a failure to find the + beginning of the comment. + (Fforward_comment): If back_comment fails, go back to the position just + after the comment-end. + (scan_lists): Add comment describing a very minor bug. + +2000-02-14 Stefan Monnier <monnier@cs.yale.edu> + + * minibuf.c (Ftry_completion, Fall_completions): Add a reference to + `completion-regexp-list' in the docstring. + +2000-02-14 Dave Love <fx@gnu.org> + + * xfaces.c (tty_defined_color): Declare color_idx unsigned long. + +2000-02-14 Stefan Monnier <monnier@cs.yale.edu> + + * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS + to Emacs' syntax. Also fix the comment about set/not-set meanings + since Emacs syntax is not the value 0 any more. + * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax + since it's now part of RE_SYNTAX_EMACS. + +2000-02-12 Dave Love <fx@gnu.org> + + * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha. + +2000-02-12 Gerd Moellmann <gerd@gnu.org> + + * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively. + +2000-02-12 Dave Love <fx@gnu.org> + + * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc. + + * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h: + * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h: + * s/hpux.h: Don't define HAVE_VFORK. + + * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST. + + * s/nextstep.h: Don't define HAVE_ALLOCA. + + * config.in: Add vfork bits. + +2000-02-12 Gerd Moellmann <gerd@gnu.org> + + * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register + unwind function to undo the effect of stopping atimers. + + * keyboard.c (bind_polling_period): Stop all timers except poll_timer. + + * atimer.c (stopped_atimers): New variable. + (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers): + New functions. + + * atimer.h (stop_other_atimers, run_all_atimers) + (unwind_stop_other_atimers): Add function prototypes. + + * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined. + +2000-02-11 Ken Raeburn <raeburn@gnu.org> + + * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff + library may depend on jpeg. + (atimer.o): Depends on atimer.c. + +2000-02-11 Kenichi Handa <handa@etl.go.jp> + + * insdel.c (del_range_1): Call update_compositions. + (del_range_both): Call update_compositions just once.. + +2000-02-10 Dave Love <fx@gnu.org> + + * xfns.c (create_frame_xic): Fix initialization of automatic + aggregates for pcc. + +2000-02-09 Kenichi Handa <handa@etl.go.jp> + + * ccl.c (CCL_MAKE_CHAR): New macro. + (ccl_driver) <CCL_TranslateCharacter>: Check the validity of + registers by CCL_MAKE_CHAR before calling translate_char. + <CCL_TranslateCharacterConstTbl> Likewise. + +2000-02-08 Dave Love <fx@gnu.org> + + * lread.c (__EXTENSIONS__): Define. + +2000-02-08 Gerd Moellmann <gerd@gnu.org> + + * puresize.h (BASE_PURESIZE): Increase to 650000. + +2000-02-07 Eli Zaretskii <eliz@is.elta.co.il> + + * msdos.c (XMenuActivate): Turn off the cursor after displaying + the help message. + +2000-02-07 Eli Zaretskii <eliz@is.elta.co.il> + + * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue, + md, mh, mb, mr, and me to the fake termcap entry. + +2000-02-06 Ken Raeburn <raeburn@gnu.org> + + * sound.c (sound_cleanup): Don't call device close routine if the + function pointer is null. + +2000-02-06 Andrew Innes <andrewi@gnu.org> + + * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM, + around image definitions and prototypes. + (gamma_correct) [WINDOWSNT]: New prototype. + + * w32term.c (x_make_frame_visible): Replace call to + input_poll_signal with poll_for_input. + + * window.c [WINDOWSNT]: Include w32term.h. + + * xdisp.c [WINDOWSNT]: Include w32term.h. + + * makefile.nt: Add dependencies on w32gui.h. + (OBJ1): Include atimer.obj. + ($(BLD)\atimer.obj): New dependency rule. + + * w32.c (sigmask): New function (does nothing). + (sigunblock): Ditto. + + * frame.c [WINDOWSNT]: Include w32term.h. + + * w32gui.h (struct W32FontStruct): Add ascent and descent slots. + + * lread.c (syms_of_lread): Fix literal newlines. + + * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around + the string constant limit (2048 bytes) in MSVC. + (main): Ditto. + +2000-02-05 INOUE Seiichiro <inoue@ainet.or.jp> + + * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area. + (x_display_cursor) [HAVE_X_I18N]: Don't set it here. + (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't + dispatch the event. + +2000-02-04 Dave Love <fx@gnu.org> + + * fileio.c: Remove some unused vars. + (_GNU_SOURCE): Define (for euidaccess). + + * lread.c (_XOPEN_SOURCE): Declare (for ftello). + + * minibuf.c (read_minibuf_noninteractive): Remove undeclared + gcpro1, gcpro2. + (read_minibuf): Deal with allow_props correctly. + +2000-02-03 Eli Zaretskii <eliz@is.elta.co.il> + + * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000. + +2000-02-03 Ken Raeburn <raeburn@gnu.org> + + * search.c (compile_pattern): If a cache entry has a nil regexp, + fill in that entry instead of clobbering a previously cached + string regexp. + +2000-02-02 Ken Raeburn <raeburn@gnu.org> + + * puresize.h (BASE_PURESIZE): Increase to 610000. + +2000-02-02 Gerd Moellmann <gerd@gnu.org> + + * frame.c (Fframe_parameters): Add GCPRO because tty_color_name + can GC. + +2000-02-02 Kenichi Handa <handa@etl.go.jp> + + * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address + instead of incrementing ic directly. + <CCL_WriteExprConst> Likewise. + <ccl_set_expr>: Set ic to jump_address. + + * fileio.c (e_write): Fix the handling of + CODING_FINISH_INSUFFICIENT_SRC. + +2000-02-01 Dave Love <fx@gnu.org> + + * editfns.c (Fpropertize): Doc fix. + + * process.c (Fstart_process): Doc fix. + + * eval.c: Fix various doc strings not to duplicate information + from help-manyarg-func-alist. + + * window.c (Fset_window_margins): Don't make interactive. Doc fix. + + * doc.c (Vhelp_manyarg_func_alist): New variable. + (Fdocumentation): Use it. + (syms_of_doc): Define it. + +2000-01-31 Gerd Moellmann <gerd@gnu.org> + + * xterm.c (xim_open_dpy): Remove unused local variable. + + * emacs.c (USAGE): Use term `display options' instead of `X options'. + + * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function. + (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it. + + * fns.c (sweep_weak_table): New function. + (sweep_weak_hash_tables): Use it. Keep on marking until there + is no more change. + +2000-01-30 Gerd Moellmann <gerd@gnu.org> + + * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure + that XTread_socket does not crash by trying to call XNoOp on a + closed display. + +2000-01-30 Jason Rumney <jasonr@gnu.org> + + * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to): + Change selected_frame to SELECTED_FRAME (). + (w32_console_mouse_position): Remove #ifndef MULE from around + `insist' parameter. + + * makefile.nt: Remove dosfns.obj. + + * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors. + + * w32fns.c (w32_defined_color): Check for valid frame before + applying gamma correction. Eliminate dependency on frame elsewhere. + (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH. + (w32_to_x_font): Use resx and resy not height_in and width_in. + (x_to_w32_font): Doc fix. + (xlfd_strip_height): New function to strip and return font height. + (w32_font_match): Compare height separately from rest of xlfd + spec, using xlfd_strip_height. + + * w32term.c (w32_term_init): Swap resx and height_in, resy and + width_in. Use w32_defined_color in place of defined_color. + + * w32faces.c: Merge more of DOS and X specifics in preparation for + merge with xfaces.c. + (defined_color): Remove FIXME comment. + (tty_color_name): Provide w32-specific function. + (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially. + + * w32console.c (turn_on_face, turn_off_face): Removed. + (w32_face_attributes): New function. + (Global_variables): Reduce scope where possible. + (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as + fill attribute. + (hl_mode): Don't modify text attributes. + (write_glyphs): Don't do anything if len <= 0. Use + w32_face_attributes to get attributes for drawing. Write + terminating codes using char_attr_normal. + (reset_terminal_modes, set_terminal_modes): Turn off highlight. + (update_begin, update_end): Likewise. + (vga_stdcolor_name): New function. + (initialize_w32_display): Remove char_attr_reverse and char_attr. + (Fset_screen_color): Remove char_attr_reverse. + +2000-01-29 Gerd Moellmann <gerd@gnu.org> + + * xfns.c (xic_set_preeditarea): Take window parameter and + window-relative pixel-positions. + + * xterm.c (x_display_cursor): Set XIC pre-edit area only if window + is its frame's selected window. + (xim_instantiate_callback): Likewise. + + * xfns.c (x_create_im): Removed. + (DEFAULT_STYLE, DEFAULT_FONT): Removed. + (supported_xim_styles): Renamed from supported_styles. + (best_xim_style): Renamed from best_style. + (create_frame_xic): Renamed from xic_create_frame. + (free_frame_xic): Renamed from xic_destroy_frame. + +2000-01-29 INOUE Seiichiro <inoue@ainet.or.jp> + + * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of + our frames, call XFilterEvent with 2nd parameter `None'. + (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString + returning XBufferOverflow. + (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area. + (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area. + (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset. + (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback) + (xim_initialize, xim_close) + [HAVE_X_I18N && HAVE_X11R6]: New functions. + (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame. + (x_term_init) [HAVE_X_I18N]: Call xim_initialize. + (x_delete_display) [HAVE_X_I18N]: Call xim_close. + + * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim' + and `xim_styles'. + (struct x_output) [HAVE_X_I18N]: Remove member `xim', add + `xic_style' and `xic_xfs'. + (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES) + (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros. + (FRAME_XIM): Removed. + + * xfns.c (supported_styles): New variable. + (DEFAULT_STYLE, DEFAULT_FONT): New macros + (xic_create_xfontset, best_style, xic_create_frame) + (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea) + (xic_set_xfontset): New functions. + +2000-01-28 Dave Love <fx@gnu.org> + + * s/irix6-5.h: Revert last change after change to irix5-0.h. + + * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0. + +2000-01-28 Gerd Moellmann <gerd@gnu.org> + + * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode + for *scratch* if it already existed. + + * emacs.c (USAGE): New macro. + (main): Use it to display usage information. + +2000-01-27 Eli Zaretskii <eliz@is.elta.co.il> + + Support for the menu-help feature: + + * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate. + + * msdos.c (IT_clear_end_of_line): Print the extent of the cleared + part of the line to the termscript file. + (IT_clear_to_end): Clear the entire line, not just its beginning. + (menu_help_message, prev_menu_help_message): New variables. + (IT_menu_make_room): Make room for the help_text member. + (IT_menu_display): New argument disp_help; all callers changed. + If disp_help is non-zero, store the help text of the active menu + item in menu_help_message. + (XMenuAddPane): Initialize the help_text member to NULL. + (XMenuAddSelection): New argument help_text. Store it in the + XMenu structure. + (XMenuActivate): New argument help_callback. If the value of + menu_help_message has changed since the last time, display the + menu help message text while waiting for the mouse to move. Clear + the echo area before exiting. + (XMenuDestroy): Free the help_text member. + +2000-01-27 Gerd Moellmann <gerd@gnu.org> + + * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to + XMenuAddSelection. Pass help callback to XMenuActivate. + (menu_help_callback) [!USE_X_TOOLKIT]: New function. + +2000-01-27 Eli Zaretskii <eliz@is.elta.co.il> + + * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS + and EMACS_SET_USECS. + +2000-01-26 Dave Love <fx@gnu.org> + + * editfns.c (Fchar_after, Fchar_before): Doc fix. + + * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where + an error may be signalled. + +2000-01-26 Gerd Moellmann <gerd@gnu.org> + + * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef + LD_SWITCH_SYSTEM inherited from irix5-0.h. + + * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo. + +2000-01-25 Gerd Moellmann <gerd@gnu.org> + + * charset.c (Fstring): If there is a multibyte char among + the args, always return a multibyte string. + +2000-01-25 Gerd Moellmann <gerd@gnu.org> + + * sysdep.c (sys_select): Turn atimers off and on instead of + recording and restoring old alarm handler + + * process.c (toplevel): Include atimer.h. + (create_process_1): Rewritten. + (create_process): Use atimers instead of alarm. + (wait_reading_process_input) [hpux]: Turn atimers off instead + of turning off SIGALRM. + (wait_reading_process_input): Turn off atimers instead off + calling stop_polling. + + * emacs.c (main): Call init_atimer. + + * keyboard.c (toplevel): Include systime.h and atimer.h. + (polling_for_input): Removed because unused. + (input_poll_signal) [POLL_FOR_INPUT]: Removed. + (poll_timer): New variable. + (poll_for_input, poll_for_input_1): New functions. + (start_polling, stop_polling): Rewritten. + + * keyboard.h (polling_for_input): Removed. + + * atimer.h, atimer.c: New files. + + * Makefile.in (obj): Add atimer.o. + (atimer.o): New target. + + * blockinput.h (pending_atimers): Add extern declaration. + (UNBLOCK_INPUT): Rewritten. Handle pending atimers. + + * lisp.h (popup_activated_flag): Add extern declaration. + + * xmenu.c (popup_activated_flag): Make externally visible. + (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag. + (popup_deactivate_callback) [USE_MOTIF]: Decrement it. + + * xterm.c (toplevel): Include atimer.h. + (toolkit_scroll_bar_interaction): New variable. + (Fxt_process_timeouts): Removed. + (x_process_timeouts): New function. + (xt_action_hook): Clear toolkit_scroll_bar_interaction. + (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction. + (x_make_frame_visible): Call poll_for_input_1 instead of + input_poll_signal. Don't call alarm. + (x_initialize): Install timer calling x_process_timeouts. + +2000-01-24 Dave Love <fx@gnu.org> + + * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now. + Don't use -cckr -- apparently not now necessary. + +2000-01-24 Eli Zaretskii <eliz@is.elta.co.il> + + * msdos.c (IT_menu_display): Truncate long menu lines at the right + screen boundary. + +2000-01-23 Jason Rumney <jasonr@gnu.org> + + * w32fns.c (w32_defined_color): Apply gamma correction before + trying to map to the palette. + (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame + to w32_clear_rect. + + * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc + here. Callers changed to always pass real device context. + (w32_draw_bitmap): Likewise. + (w32_get_glyph_overhangs): Likewise. + (w32_draw_box_rect): Make use of s->hdc rather than getting a new one. + (w32_set_vertical_scroll_bar): Pass correct HWND parameters to + pfnSetScrollInfo and SetScrollRange. + (x_get_char_face_and_encoding): Don't turn iso8859-1 characters + back into MULE characters after decoding them. + (x_get_glyph_face_and_encoding): Likewise. + (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when + GetCharABCWidthsW fails, since this is defined on Windows 9x. + (x_produce_glyphs): Calculate per char metrics for a character + that we know exists in default font when font_not_found_p is true. + +2000-01-22 Jason Rumney <jasonr@gnu.org> + + * makefile.nt (intervals.obj, composite.obj): New modules. + (composite.h): Added as dependency where appropriate. + + * w32gui.h (XGCValue): New struct for emulating X GCs. + + * w32term.h (XCharStruct): New struct for emulating X. + + * w32console.c (turn_on_face, turn_off_face): New functions. + (change_line_highlight): New prototype for new redisplay. + (write_glyphs): Support multibyte text. Support faces. + + * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c. + + * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame + throughout. struct frame * in place of FRAME_PTR. + Skeleton support for images, toolbars, tooltips from xfns.c. + (Fx_create_frame): Use system default for default scroll bar width. + (w32_get_arg): Renamed from x_get_arg. + (Fx_file_dialog): New function. + (w32_list_fonts): Check cache before asking system. + (Vw32_enable_synthesized_fonts): New variable. + (Vw32_enable_italics): Obsolete, removed. + + * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to): + Use SELECTED_FRAME macro. + + * w32menu.c: Add skeleton support for help strings on menus. + (add_menu_item): Native checkbox and radio support added, but not + yet enabled due to bugs. + (push_menu_item): Add parameters type, selection and help. + Callers updated. + Formatting changes to reduce unnecessary diffs with xmenu.c. + + * w32select.c (Fw32_set_clipboard_data): Update call to + find_charset_in_str. + + * w32term.c: Complete rewrite for new redisplay based on new + xterm.c with necessary sections merged back in from old w32term.c. + +2000-01-21 Richard M. Stallman <rms@gnu.org> + + * data.c (set_internal): Further fix in same criterion. + +2000-01-20 Richard M. Stallman <rms@gnu.org> + + * data.c (set_internal): Fix the criteria for whether + to swap out the old cached binding. + +2000-01-19 Dave Love <fx@gnu.org> + + * lread.c: (syms_of_lread) [user-init-file]: Doc change. + +2000-01-18 Kenichi Handa <handa@etl.go.jp> + + * regex.c (re_compile_fastmap): While checking a range table for + `charset', skip flag bits for a character class correctly. + +2000-01-17 Gerd Moellmann <gerd@gnu.org> + + * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC. + + * xfns.c (x_window): Call lw_create_widget with new parameter list. + + * widget.c (EmacsFrameSetCharSize): Change size of children first + because of problems with main window geometry management under Lesstif. + + * xmenu.c (enum menu_item_idx): New enumeration replacing defines + MENU_ITEMS_ITEM_.*. + (MENU_ITEMS_ITEM_HELP): New enumerator. + (push_menu_item): Add parameter HELP. Record help in menu_items. + (single_menu_item, single_submenu, list_of_items): Call + push_menu_item with new parameter. + (single_submenu): Set help string in widget value. + (menu_highlight_callback): New function. + (set_frame_menubar): Call lw_create_widget with new + parameter list. + (xmenu_show, xdialog_show): Ditto. + +2000-01-13 Gerd Moellmann <gerd@gnu.org> + + * sound.c (Fplay_sound): Improve doc string. + +2000-01-11 Richard M. Stallman <rms@gnu.org> + + * lisp.h (set_internal): Enter the new arg. + + * eval.c (specbind): Record buffer-local variables specially, + indicating which buffer's binding was saved. + (unbind_to): Restore buffer-local variables specially + in the proper buffer. + + * data.c (set_internal): New arg BUF. + + * eval.c (specbind, unbind_to): Pass new arg to set_internal. + * data.c (Fset): Pass new arg to set_internal. + * bytecode.c (Fbyte_code): Pass new arg to set_internal. + +2000-01-11 Gerd Moellmann <gerd@gnu.org> + + * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym. + +2000-01-11 Richard M. Stallman <rms@gnu.org> + + * minibuf.c (Ftry_completion): Doc fix. + +2000-01-11 Gerd Moellmann <gerd@gnu.org> + + * keyboard.c (Fclear_this_command_keys): Clear recent_keys + vector, too. + +2000-01-11 Andreas Schwab <schwab@suse.de> + + * coding.c (code_convert_region): Initialize total_skip. + +2000-01-08 Dave Love <fx@gnu.org> + + * eval.c (Fuser_variable_p): Check customizability too. + +2000-01-07 Gerd Moellmann <gerd@gnu.org> + + * minibuf.c (Fcompleting_read): Doc fix. + +2000-01-05 Gerd Moellmann <gerd@gnu.org> + + * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and + -L /usr/local/lib. + + * xfns.c (x_create_im): New function to set IM and IC of a frame. + Check that input style is supported before trying to create an + IC for it. + (x_window): Call x_create_im. + +2000-01-04 Gerd Moellmann <gerd@gnu.org> + + * xfns.c (current_gif_memory_src): New variable. + (gif_load): Record the address of the current memory source + in current_gif_memory_src. + (gif_read_from_memory): Use current_gif_memory_src. + + * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give + macros statement form. + + * sound.c (struct sound): Renamed from struct sound_file. + (struct sound): Add members `data' and `header_size'. + (enum sound_attr): Add SOUND_DATA. + (current_sound, current_sound_device): Variables renamed from + sound_file and sound_device. + (parse_sound): Parse :data. + (parse_sound): Handle sound data in strings. + (find_sound_type): Function renamed from find_sound_file_type. + (wav_init, au_init): Fail if sound's header_size is smaller than + needed header size. + (wav_play, au_play): Play sounds from string data. + + * puresize.h (BASE_PURE_SIZE): Increase to 600000. + + * lisp.h: Add prototype for allocate_string_data. + + * alloc.c (Fgarbage_collect): Return number of live and free strings. + + * alloc.c (mark_buffer): Remove code in #if 0. + (gc_sweep): Ditto. + (UNMARK_BALANCE_INTERVALS): Give the macro statement form. + (strings_consed): New variable. + (allocate_string): Set it. + (syms_of_alloc): Add DEFVAR_INT for strings_consed. + (Fmemory_use_counts): Return strings_consed. Use Flist. + + * alloc.c: General cleanup in comments etc. Remove conditional + compilation for `standalone'. + + * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'. + + * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): + (GC_STRING_BYTES, GC_STRING_CHARS): New macros. + (DONT_COPY_FLAG): Removed. + (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros. + (struct sdata, struct sblock): New + (struct string_block): Rewritten. + (STRINGS_IN_STRING_BLOCK): New macro. + (oldest_sblock, current_sblock, total_strings, total_free_strings) + (large_sblocks, string_blocks, string_free_list): New variables. + (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros. + (init_strings): Rewritten. + (allocate_string, allocate_string_data, compact_small_strings) + (free_large_strings, sweep_strings): New functions. + (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE) + (struct string_block_head, current_string_block) + (first_string_block, large_string_blocks, STRING_FULLSIZE) + (STRING_PAD): Removed. + (make_uninit_multibyte_string, make_pure_string): Rewritten. + (Fgarbage_collect): Don't set mark bit in large strings. + (mark_object): Mark strings differently. Mark symbol names + differently. + (survives_gc_p): Test marked strings differently. + (gc_sweep): Sweep strings differently, unmark strings in + symbol names. + (compact_strings): Removed. + +2000-01-04 Eli Zaretskii <eliz@is.elta.co.il> + + * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and + Scolor_supported_p even if HAVE_X_WINDOWS is not defined. + +2000-01-04 Kenichi Handa <handa@etl.go.jp> + + * fileio.c (Finsert_file_contents): Signal error if visiting file + in a non-empty buffer. + + * term.c (encode_terminal_code): Fix the previous change. + +2000-01-03 Gerd Moellmann <gerd@gnu.org> + + * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to + Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p. + + * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU. + +2000-01-03 Eli Zaretskii <eliz@is.elta.co.il> + + * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No + need to test for MSDOS frames. + +2000-01-03 Eli Zaretskii <eliz@is.elta.co.il> + + * dosfns.c (unspecified_colors): Remove. + (msdos_stdcolor_idx): Use global variables unspecified_fg and + unspecified_bg. + (msdos_stdcolor_name): Return strings for unspecified fore- and + back-ground colors. + + * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove. + (syms_of_xfaces): Remove their staticpro's. + (tty_color_name): Return Lisp strings for unspecified fore- and + back-ground colors. + (Finternal_set_lisp_face_attribute): Remove the special treatment + for Qunspecified_{f,b}g. + (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string. + +2000-01-03 Gerd Moellmann <gerd@gnu.org> + + * xdisp.c (reseat_at_next_visible_line_start): Position before + newline only if ending up on a newline. + (next_element_from_ellipsis): Return success. Handle case of + displaying no ellipsis. Fix case of ellipsis defined in display table. + (next_element_from_buffer): Return 0 if next_element_from_ellipsis + returns 0. + +2000-01-03 Eli Zaretskii <eliz@is.elta.co.il> + + * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p. + (Fcolor_supported_p): Renamed from face-color-supported-p. + +2000-01-02 Eli Zaretskii <eliz@is.elta.co.il> + + * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The + list of colors renamed to tty-defined-color-alist. + (tty_color_name): Pass the frame to tty-color-by-index. + (realize_tty_face): tty-color-alist is now a function which + accepts the frame as argument. + + * term.c (Ftty_display_color_p): Accept an optional argument FRAME. + +2000-01-02 Eli Zaretskii <eliz@is.elta.co.il> + + * term.c (insert_glyphs): Pass glyph, not &glyph, to + encode_terminal_code. + +2000-01-02 Eli Zaretskii <eliz@is.elta.co.il> + + * dispnew.c (mode_line_string): Support termcap frames as well. + +2000-01-01 Gerd Moellmann <gerd@gnu.org> + + * syntax.c (Fforward_word): Undo previous change. + + * editfns.c (Fconstrain_to_field): Don't constrain if + inhibit-field-text-motion is non-nil. + (Fline_beginning_position): Undo previous change. + (Fline_end_position): Ditto. + + * syntax.c (Fforward_word): Notice field boundaries only if + inhibit-field-text-motion is nil. + + * lisp.h: Add extern declaration for Vinhibit_field_text_motion. + + * editfns.c (Vinhibit_field_text_motion): New variable. + (inhibit-field-text-motion): New DEFVAR_LISP. + (Fline_beginning_position, Fline_end_position): Notice field + boundaries only if inhibit-field-text-motion is nil. + + * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE. + All calls adjusted. + (x_build_heuristic_mask): Likewise. + (xbm_load_image_from_file): Change error output. + (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load) + (gif_load, gs_load, x_kill_gs_process): Ditto. + + * xfns.c (gif_load): Avoid sign extension and thus out of bounds + color indices when accessing raster pixels. + (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only + one of :file or :data. + (enum pbm_keyword_index): Add PBM_DATA. + (pbm_format): Add :data. + (pbm_image_p): Allow either :file or :data. + (pbm_read_file): New function. + (pbm_scan_number): Rewritten to read from string. + (pbm_load): Support :data. + +See ChangeLog.8 for earlier changes. + +;; Local Variables: +;; coding: iso-2022-7bit +;; End: + + Copyright (C) 2001, 2002 Free Software Foundation, Inc. + Copying and distribution of this file, with or without modification, + are permitted provided the copyright notice and this notice are preserved.