Mention cursor-type support on MS-DOS terminals.
[bpt/emacs.git] / src / ChangeLog
index 088a3a9..59d94ce 100644 (file)
@@ -1,6 +1,163 @@
+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.
 
        FRAME_INTERNAL_BORDER_WIDTH.
 
        * xdisp.c (try_window_id): Recompute unchanged information if
-       it is invalid.
+       it is obviously invalid.
 
        * xterm.c (x_term_init): Create a colormap if not using the
        default visual.