(enum mem_type): Compile unconditionally.
[bpt/emacs.git] / src / ChangeLog
index 2b85436..ff9c666 100644 (file)
@@ -1,3 +1,629 @@
+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
+       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.
 2000-01-17  Gerd Moellmann  <gerd@gnu.org>
 
        * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
        back-ground colors.
 
        * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
        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
        (tty_color_name): Return Lisp strings for unspecified fore- and
        back-ground colors.
        (Finternal_set_lisp_face_attribute): Remove the special treatment
        compilation on USE_TEXT_PROPERTIES.
 
        * Fbyte_code: Use block statements in cases and declare v1 and v2
        compilation on USE_TEXT_PROPERTIES.
 
        * Fbyte_code: Use block statements in cases and declare v1 and v2
-       locally there.  Rearrange case statements so that thos most
+       locally there.  Rearrange case statements so that those most
        frequently executed come first.  Avoid goto's in frequently
        executed cases.
 
        frequently executed come first.  Avoid goto's in frequently
        executed cases.
 
 
        * regex.c (POP_FAILURE_POINT): Extract failure_id as an integer.
 
 
        * 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.
 
        * alloc.c: Undef HIDE_LISP_IMPLEMENTATION before including
        lisp.h.
 
        * dispextern.h (struct glyph_matrix): Add member window_vscroll.
 
 
        * dispextern.h (struct glyph_matrix): Add member window_vscroll.
 
-       * lwlib-Xm.c: Add function prototypes.
-
        * xdisp.c (debug_method_add): New.
        (debug_redisplay_method): Removed.
        (try_window_reusing_current_matrix): Handle case where old
        * xdisp.c (debug_method_add): New.
        (debug_redisplay_method): Removed.
        (try_window_reusing_current_matrix): Handle case where old
        * dispextern.h (struct glyph_matrix) [GLYPH_DEBUG]: Make `method'
        an array instead of a pointer.
 
        * dispextern.h (struct glyph_matrix) [GLYPH_DEBUG]: Make `method'
        an array instead of a pointer.
 
-       * lwlib-Xm.c (xm_update_label): Use val->name to look up
-       a label string from resources.
-       (xm_update_label): Add some comments.
-
        * xfns.c (Fx_show_tip): Undo previous change.
 
        * xterm.c (x_append_glyph): Clear glyph->u.val.
        * xfns.c (Fx_show_tip): Undo previous change.
 
        * xterm.c (x_append_glyph): Clear glyph->u.val.
        (load_face_font_or_fontset): Store full font name in face.
        (realize_default_face): Use full font name.
 
        (load_face_font_or_fontset): Store full font name in face.
        (realize_default_face): Use full font name.
 
-       * xlwmenu.c (make_shadow_gcs) ]emacs]: Use x_alloc_nearest_color.
-
        * xterm.c (x_produce_glyphs): Set member char_to_display.
        (x_append_glyph): Store char_to_display in glyphs.
 
        * xterm.c (x_produce_glyphs): Set member char_to_display.
        (x_append_glyph): Store char_to_display in glyphs.
 
@@ -5351,23 +5969,6 @@ Sun Jan  3 08:41:10 1999  Masatake Yamato  <masata-y@is.aist-nara.ac.jp>
        (x_set_scroll_bar_foreground): New.
        (x_set_scroll_bar_background): New.
 
        (x_set_scroll_bar_foreground): New.
        (x_set_scroll_bar_background): New.
 
-       * xlwmenu.c (all_dashes_p): Removed.
-       (size_menu_item): Call lw_separator_p.
-       (display_menu_item): Ditto.
-       (display_menu): Ditto.
-       (draw_separator): New.
-       (display_menu_item): Call it.
-       (separator_height): New.
-       (size_menu_item): Call it.
-
-       * lwlib-Xm.c (all_dashes_p): Removed.
-       (make_menu_in_widget): Use lw_separator_p.  Set Motif separator
-       type.
-
-       * lwlib.c (lw_separator_p): New.
-
-       * lwlib.h (enum menu_separator): New.
-
 1999-01-12  Gerd Moellmann  <gerd@gnu.org>
 
        * xdisp.c (handle_single_display_prop): New.
 1999-01-12  Gerd Moellmann  <gerd@gnu.org>
 
        * xdisp.c (handle_single_display_prop): New.
@@ -5550,10 +6151,6 @@ Sun Jan  3 08:41:10 1999  Masatake Yamato  <masata-y@is.aist-nara.ac.jp>
        (xt_action_hook): Reset last_scroll_bar_part.
        (XTredeem_scroll_bar): Reset bar->dragging to nil.
 
        (xt_action_hook): Reset last_scroll_bar_part.
        (XTredeem_scroll_bar): Reset bar->dragging to nil.
 
-       * xlwmenu.c (abort_gracefully): New.
-       (display_menu): Use it instead of abort.
-       (size_menu): Ditto.
-
        * xfns.c (Fx_hide_busy_cursor): Don't try to hide busy cursor
        window on newly created frames that don't have one.
 
        * xfns.c (Fx_hide_busy_cursor): Don't try to hide busy cursor
        window on newly created frames that don't have one.
 
@@ -5654,13 +6251,6 @@ Sun Jan  3 08:41:10 1999  Masatake Yamato  <masata-y@is.aist-nara.ac.jp>
        * xterm.c (note_mouse_highlight): Don't highlight when popup
        is active.
 
        * xterm.c (note_mouse_highlight): Don't highlight when popup
        is active.
 
-       * xlwmenu.c (xlwMenuResources): Change previously unused 
-       XtNmargin to 4.
-       (size_menu): Take margin into account.
-       (display_menu_item): Ditto.
-       (remap_menubar): Ditto.
-       (draw_arrow): Draw it 3D.
-
        * keyboard.c (timer_check): Inhibit busy cursor around calls to
        timer-event-handler.  This busy cursor tends to be anoying if
        fontifying stealthily.
        * keyboard.c (timer_check): Inhibit busy cursor around calls to
        timer-event-handler.  This busy cursor tends to be anoying if
        fontifying stealthily.
@@ -5688,9 +6278,6 @@ Sun Jan  3 08:41:10 1999  Masatake Yamato  <masata-y@is.aist-nara.ac.jp>
        XmScrollBarSetValues.
        (SET_SAVED_MENU_EVENT): Give it statement form.
 
        XmScrollBarSetValues.
        (SET_SAVED_MENU_EVENT): Give it statement form.
 
-       * lwlib-Xm.c (make_menu_in_widget): Set alignment of menu
-       title after all widgets have been created.
-
        * xfaces.c (display_message): If waiting_for_input, don't display
        the message.
 
        * xfaces.c (display_message): If waiting_for_input, don't display
        the message.
 
@@ -5749,29 +6336,13 @@ Sun Jan  3 08:41:10 1999  Masatake Yamato  <masata-y@is.aist-nara.ac.jp>
        Lesstif not calling XmNpopdownCallback because it doesn't
        handle the case where users don't select any menu item.
 
        Lesstif not calling XmNpopdownCallback because it doesn't
        handle the case where users don't select any menu item.
 
-       * xlwmenu.c (toggle_button_width): Renamed from
-       toggle_or_radio_button_width.
-       (radio_button_width): New.
-       (size_menu_item): Use new functions.
-       (draw_shadow_rhombus): New.
-       (draw_radio): Use radio_button_width and draw_shadow_rhombus.
-       (draw_toggle): Use toggle_button_width.
-
        * insdel.c (modify_region): Set windows_or_buffers_changed.
 
        * buffer.c (set_buffer_internal): Don't set
        windows_or_buffers_changed.
 
        * insdel.c (modify_region): Set windows_or_buffers_changed.
 
        * buffer.c (set_buffer_internal): Don't set
        windows_or_buffers_changed.
 
-       * lwlib-Xm.c (xm_update_toggle): Add callback xm_generic_callback
-       instead of xm_internal_update_other_instances.
-
        * xmenu.c (HAVE_BOXES): Define if USE_X_TOOLKIT.
 
        * xmenu.c (HAVE_BOXES): Define if USE_X_TOOLKIT.
 
-       * lwlib-Xm.c (make_menu_in_widget): Do help button before managing
-       children to get it to the right place.
-       (make_menu_in_widget): Create toggle buttons.
-       (update_one_menu_entry): Update toggle buttons.
-
        * xmenu.c (menubar_selection_callback): Add workaround for
        Lesstif not calling XmNpopdownCallback.
 
        * xmenu.c (menubar_selection_callback): Add workaround for
        Lesstif not calling XmNpopdownCallback.
 
@@ -5784,15 +6355,6 @@ Sun Jan  3 08:41:10 1999  Masatake Yamato  <masata-y@is.aist-nara.ac.jp>
 
        * xmenu.c (HAVE_BOXES): Define if using Lucid menus.
 
 
        * xmenu.c (HAVE_BOXES): Define if using Lucid menus.
 
-       * xlwmenu.c (size_menu_item): Add parameter button_width.
-       (size_menu): Compute button_width.
-       (toggle_or_radio_button_width): New.
-       (draw_toggle): New.
-       (draw_radio): New.
-       (draw_shadow_rectangle): Add parameter `down_p'.
-
-       * xlwmenuP.h (_window_state): Add button_width.
-
 1998-11-06  Gerd Moellmann  <gerd@gnu.org>
 
        * xmenu.c (single_submenu): Set button_type of menu to 
 1998-11-06  Gerd Moellmann  <gerd@gnu.org>
 
        * xmenu.c (single_submenu): Set button_type of menu to 
@@ -5803,12 +6365,6 @@ Sun Jan  3 08:41:10 1999  Masatake Yamato  <masata-y@is.aist-nara.ac.jp>
        (single_submenu): Set widget values selected slot.
        (xmenu_show): Likewise.
 
        (single_submenu): Set widget values selected slot.
        (xmenu_show): Likewise.
 
-       * lwlib.c (merge_widget_value): Handle button_type.
-       (copy_widget_value_tree): Copy button_type.
-
-       * lwlib.h (enum button_type): New.
-       (_widget_value): New member button_type.
-
        * xmenu.c (push_menu_item): Add parameters `type' and
        `selected'. Store it in menu_items.
        (MENU_ITEMS_ITEM_TYPE): New.
        * xmenu.c (push_menu_item): Add parameters `type' and
        `selected'. Store it in menu_items.
        (MENU_ITEMS_ITEM_TYPE): New.
@@ -5846,9 +6402,6 @@ Sun Jan  3 08:41:10 1999  Masatake Yamato  <masata-y@is.aist-nara.ac.jp>
 
 1998-11-04  Gerd Moellmann  <gerd@gnu.org>
 
 
 1998-11-04  Gerd Moellmann  <gerd@gnu.org>
 
-       * lwlib-Xm.c (make_menu_in_widget): Test for menubar widgets
-       using XmNrowColumnType.
-
        * xfns.c (x_create_x_image_and_pixmap): Add depth parameter.
        (x_build_heuritic_mask): New.
        (lookup_image): Call it.
        * xfns.c (x_create_x_image_and_pixmap): Add depth parameter.
        (x_build_heuritic_mask): New.
        (lookup_image): Call it.