+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 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@caffeine.ai.mit.edu>
+
+ * 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@caffeine.ai.mit.edu>
+
+ * 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.
* 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@caffeine.ai.mit.edu>
+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@caffeine.ai.mit.edu>
+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.