1. 08 Oct, 2001 2 commits
  2. 12 Apr, 2001 1 commit
  3. 12 Jan, 2001 1 commit
  4. 02 Jan, 2001 1 commit
  5. 27 Oct, 2000 1 commit
    • Stefan Monnier's avatar
      * lisp.h (KEYMAPP): New macro. · 02067692
      Stefan Monnier authored
      (get_keymap): Remove.
      (get_keymap_1): Rename get_keymap.
      * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
      * xterm.c (note_mode_line_highlight): Use KEYMAPP.
      * xmenu.c (single_submenu): Use KEYMAPP.
      (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
      Use KEYMAPP rather than Fkeymapp.
      * w32term.c (note_mode_line_highlight): Use KEYMAPP.
      * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
      (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
      Use KEYMAPP rather than Fkeymapp.
      (single_submenu): Use KEYMAPP.
      (w32_menu_show, w32_dialog_show): Use TRUE.
      * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
      * keymap.c (KEYMAPP): Remove (moved to lisp.h).
      (Fkeymapp): Use KEYMAPP.
      (get_keymap): Rename from get_keymap_1.  Remove old def.
      Return t when autoload=0 and error=0 and the keymap needs autoloading.
      (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
      (Fminor_mode_key_binding): Don't raise an error if the binding
      is not a keymap.
      (Fuse_global_map, Fuse_local_map): Allow autoloading.
      (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
      * keyboard.c (read_char): get_keymap_1 -> get_keymap.
      Allow Vspecial_event_map to be autoloaded.
      (menu_bar_items): Fetch the keymap rather than using keymapp.
      (menu_bar_one_keymap): No need to follow func-indirect any more.
      (parse_menu_item): get_keymap_1 -> get_keymap.
      (tool_bar_items): Fetch the keymap rather than using keymapp.
      (read_key_sequence): Use KEYMAPP.
      * intervals.c (get_local_map): Use get_keymap rather than following
      function-indirections explicitly.
      * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
      02067692
  6. 29 May, 2000 1 commit
  7. 29 Mar, 2000 1 commit
    • Ken Raeburn's avatar
      Stop assuming interval pointers and lisp objects can be distinguished by · e0b8c689
      Ken Raeburn authored
      inspection.  Beginnings of support for expensive internal consistency checks.
      
      * config.in (ENABLE_CHECKING): Undef.
      
      * lisp.h (struct interval): Replace "parent" field with a union of interval
      pointer and Lisp_Object; add new bitfield to use as discriminant.  Change other
      flag fields to bitfields.
      (CHECK): New macro for consistency checking.  If ENABLE_CHECKING is defined and
      the supplied test fails, print a message and abort.
      (eassert): New macro.  Use CHECK to provide an assert-like facility.
      
      * intervals.h (NULL_INTERVAL_P): Now applies only to real interval pointers;
      abort if the value looks like a lisp object.
      (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT, SET_OBJECT,
      INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT): Modify for new interval
      parent definition.
      
      * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE, UNMARK_BALANCE_INTERVALS):
      Update references that need an addressable lisp object in the interval
      structure.
      (die): New function.
      (suppress_checking): New variable.
      
      * intervals.c (interval_start_pos): Just return 0 if there's no parent object.
      e0b8c689
  8. 22 Mar, 2000 1 commit
    • Ken Raeburn's avatar
      Changes towards better type safety regarding intervals, primarily · 439d5cb4
      Ken Raeburn authored
      regarding the "parent" handle.  These just separate out the different
      usages based on the type of parent (interval vs lisp object); later
      changes will do type checking and enforcement.
      
      	* intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
      	(INT_LISPLIKE): New macro.
      	(NULL_INTERVAL_P): Use it.
      	(INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT,
      	SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT,
      	GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
      
      	* alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
      	explicit references to "parent" field of struct interval and
      	associated unclean type conversions.
      	* intervals.c (create_root_interval, root_interval, rotate_right,
      	rotate_left, balance_possible_root_interval, split_interval_right,
      	split_interval_left, interval_start_pos, find_interval,
      	next_interval, previous_interval, update_interval,
      	adjust_intervals_for_insertion, delete_node, delete_interval,
      	adjust_intervals_for_deletion, merge_interval_right,
      	merge_interval_left, reproduce_tree, graft_intervals_into_buffer,
      	copy_intervals_to_string): Likewise.
      	* intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
      	Likewise.
      	* syntax.c (update_syntax_table): Likewise.
      
      	* intervals.c (reproduce_tree_obj): New function, like
      	reproduce_tree but takes a Lisp_Object for the parent.  Declare
      	with prototype.
      	(graft_intervals_into_buffer): Use it when appropriate.
      	(reproduce_tree): Declare with prototype.
      	(balance_possible_root_interval): Check that the parent is a lisp
      	object before trying to examine its type.
      439d5cb4
  9. 15 Dec, 1999 1 commit
  10. 11 Nov, 1999 1 commit
  11. 09 Oct, 1999 1 commit
  12. 16 Sep, 1999 1 commit
    • Gerd Moellmann's avatar
      (rotate_right, rotate_left): Add braces to avoid · e39adcda
      Gerd Moellmann authored
      ambiguous else warning.
      (split_interval_left): Remove unused variables.
      (previous_interval, adjust_intervals_for_deletion,
      set_point_both, set_point_both, set_intervals_multibyte_1): Ditto.
      (icount, idepth, zero_length): Move into #if 0 section below
      original position where these are used.
      e39adcda
  13. 13 Sep, 1999 1 commit
  14. 01 Jul, 1999 1 commit
  15. 06 Apr, 1999 1 commit
  16. 03 Jun, 1998 1 commit
    • Karl Heuer's avatar
      (create_root_interval): Initialize position to 0 · 944d4e4b
      Karl Heuer authored
      for a string.
      (interval_start_pos): New function.
      (find_interval): Handle string positions starting at 0.
      (adjust_intervals_for_insertion): Likewise.
      (adjust_intervals_for_deletion): Likewise.
      (compare_string_intervals): Likewise.
      (graft_intervals_into_buffer): Set `position' in reproduce_tree value.
      (copy_intervals): Init `position' to 0.
      944d4e4b
  17. 14 Apr, 1998 1 commit
  18. 03 Apr, 1998 1 commit
  19. 02 Mar, 1998 1 commit
  20. 20 Feb, 1998 1 commit
  21. 16 Feb, 1998 1 commit
    • Richard M. Stallman's avatar
      (split_interval_right): Make sure to call · cc6e2aaa
      Richard M. Stallman authored
      balance_possible_root_interval in case an interval doesn't have a
      right child, because otherwise the interval tree might degenerate into
      a list.
      
      (split_interval_left): Ditto if an interval hasn't a left child.
      cc6e2aaa
  22. 21 Jan, 1998 1 commit
  23. 19 Jan, 1998 1 commit
  24. 01 Jan, 1998 1 commit
    • Richard M. Stallman's avatar
      (set_point_both): Renamed from set_point; · ef1900f3
      Richard M. Stallman authored
      New arg BYTE; BUFFER is now first arg; use temp_set_point_both.
      (set_point): New function; uses set_point_both.
      (temp_set_point_both): New function.
      (temp_set_point): Update BUF_PT_BYTE.
      (get_local_map): Save and restore both forms of the buffer bounds.
      ef1900f3
  25. 21 Nov, 1997 1 commit
  26. 12 Jul, 1997 1 commit
  27. 04 Jul, 1997 1 commit
  28. 02 Jun, 1997 1 commit
  29. 31 May, 1997 2 commits
  30. 15 Apr, 1997 2 commits
  31. 20 Dec, 1996 1 commit
  32. 18 Dec, 1996 1 commit
  33. 17 Dec, 1996 1 commit
  34. 15 Dec, 1996 1 commit
  35. 04 Sep, 1996 2 commits
  36. 20 Jul, 1996 1 commit