(start_atimer): Don't abort when timers are stopped.
[bpt/emacs.git] / src / ChangeLog
index 1ca2b1d..6bc8abc 100644 (file)
@@ -1,3 +1,295 @@
+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 snipped 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.