(enum mem_type): Compile unconditionally.
[bpt/emacs.git] / src / ChangeLog
index 28b2d88..ff9c666 100644 (file)
@@ -1,3 +1,462 @@
+2000-02-17  Gerd Moellmann  <gerd@gnu.org>
+
+       * 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
        * 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.
        back-ground colors.
 
        * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
-       (syms_of_xfaces): Remove theit staticpro's.
+       (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
 
        * regex.c (POP_FAILURE_POINT): Extract failure_id as an integer.
 
-1999-10-24  Ken Raeburn  <raeburn@raeburn.org>
+1999-10-24  Ken Raeburn  <raeburn@gnu.org>
 
        * alloc.c: Undef HIDE_LISP_IMPLEMENTATION before including
        lisp.h.