1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-06 03:40:56 -08:00
Commit graph

59 commits

Author SHA1 Message Date
Thien-Thi Nguyen
0b5538bd85 Update years in copyright notice; nfc. 2005-08-07 12:33:19 +00:00
Lute Kamstra
4fc5845fe8 Update FSF's address. 2005-07-04 16:49:24 +00:00
Kim F. Storm
825e0e0b53 (NULL_INTERVAL_P): Add separate version when
ENABLE_CHECKING is not defined to silence compiler.
(compare_string_intervals): Add prototype.
2004-11-09 13:23:42 +00:00
Luc Teirlinck
47b54808f1 Add EXFUN for Fget_char_property_and_overlay. 2003-11-30 17:12:40 +00:00
Miles Bader
ab5796a9f9 Add arch taglines 2003-09-01 15:45:59 +00:00
Stefan Monnier
4a6a76d9e8 (struct interval): Move from lisp.h. 2003-07-09 20:25:59 +00:00
Stefan Monnier
6d9b60995f (get_pos_property): Declare. 2003-05-17 18:54:56 +00:00
Stefan Monnier
6f71664498 (text_property_stickiness): New arg `buffer'. 2003-05-17 18:46:36 +00:00
Richard M. Stallman
e5a9c92a9f (CHECK_TOTAL_LENGTH): New macro. 2003-04-06 20:29:13 +00:00
Dave Love
a2a78a17fa (text_property_stickiness): Fix prototype. 2002-07-17 19:54:19 +00:00
Colin Walters
14112a3fb0 (lookup_char_property): Declare.
(Vchar_property_alias_alist): Declare.
2002-06-08 20:24:55 +00:00
Miles Bader
b210a64a6a (text_property_stickiness): New declaration. 2002-03-14 08:09:59 +00:00
Pavel Janík
0277b535be Include "dispextern.h" unconditionally. 2002-02-24 20:37:24 +00:00
Richard M. Stallman
0542e206fe Declare set_text_properties and set_text_properties_1. 2001-11-11 20:05:05 +00:00
Stefan Monnier
99776d43e2 (TEXT_PROP_MEANS_INVISIBLE_WITH_ELLIPSIS)
(TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS): Remove.
2001-10-14 20:23:38 +00:00
Stefan Monnier
67139f6cfc (TEXT_PROP_MEANS_INVISIBLE_WITH_ELLIPSIS)
(TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS): Use invisible_p's new return vals.
(invisible_ellipsis_p, invisible_noellipsis_p): Removed.
2001-10-14 19:19:03 +00:00
Stefan Monnier
df1958c4fe (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS): New macro.
(traverse_intervals_noorder, invisible_noellipsis_p): New funs.
2001-10-12 22:04:42 +00:00
Gerd Moellmann
95a7097d65 (enum map_property): Removed.
(get_local_map): Change prototype.
2001-01-12 11:18:41 +00:00
Miles Bader
beed66fe18 (get_char_property_and_overlay): Add declaration. 2000-10-25 05:13:17 +00:00
Ken Raeburn
212b4f2c99 (Fprevious_single_char_property_change): Declare. 2000-08-08 14:39:46 +00:00
Dave Love
b4030d7b9d (map_property): New enum.
(get_local_map): Extra arg using it.
(Qkeymap): Declare.
2000-05-29 11:42:51 +00:00
Ken Raeburn
c0333abccb * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for a pointer
that looks like a lisp object.
(SET_INTERVAL_OBJECT): Don't explicitly compare the object with zero, instead
see whether it's an integer object, since they can't have intervals.
(GET_INTERVAL_OBJECT): Simply assign to the destination.
2000-04-05 18:53:39 +00:00
Ken Raeburn
e0b8c689e2 Stop assuming interval pointers and lisp objects can be distinguished by
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.
2000-03-29 22:14:34 +00:00
Ken Raeburn
439d5cb4f7 Changes towards better type safety regarding intervals, primarily
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.
2000-03-22 21:44:05 +00:00
Kenichi Handa
a5ecc8a315 Include composite.h.
(get_property_and_range): Extern it.
(Vtext_property_default_nonsticky): Extern it.
1999-12-15 00:14:19 +00:00
Gerd Moellmann
339ee9797d Remove USE_TEXT_PROPERTIES. 1999-11-11 11:45:06 +00:00
Gerd Moellmann
ecfd95532d Add function prototypes. 1999-07-21 21:43:52 +00:00
Andreas Schwab
ec5d8db72d Add more prototypes. 1998-04-14 12:33:47 +00:00
Richard M. Stallman
fdccf4469e (set_point, temp_set_point): Swap args in decl.
(set_point_both, temp_set_point_both): New decls.
1998-01-01 06:41:39 +00:00
Andreas Schwab
d748a3dbdc Add prototypes and more function declarations. 1997-11-21 15:12:34 +00:00
Richard M. Stallman
2e34157cd9 Fix bugs with inappropriate mixing of Lisp_Object with int. 1997-07-04 20:44:52 +00:00
Richard M. Stallman
add1fffcee (update_interval): New function declaration. 1997-04-15 04:46:14 +00:00
Richard M. Stallman
97f7b3b252 (FRONT_NONSTICKY_P): New macro. 1996-12-20 18:15:32 +00:00
Erik Naggum
3b7ad313e0 Update FSF's address in the preamble. 1996-01-15 09:18:04 +00:00
Karl Heuer
7c938215cd Update GPL to version 2. 1995-06-15 20:42:24 +00:00
Boris Goldowsky
b9439338ff Vdefault_text_properties: name changed from Vdefault_properties. 1995-03-27 16:05:28 +00:00
Richard M. Stallman
47b4c04d08 (TEXT_PROP_MEANS_INVISIBLE): New macro.
(TEXT_PROP_MEANS_INVISIBLE_WITH_ELLIPSIS): New macro.
1995-03-11 22:30:33 +00:00
Boris Goldowsky
883b5fa175 Declare Vdefault_properties. 1995-03-06 15:43:56 +00:00
Richard M. Stallman
3fc86d4bef (INTERVAL_LAST_POS): Don't subtract 1 here. 1994-12-04 21:06:42 +00:00
Karl Heuer
693f8fb080 (NULL_INTERVAL_P): Use type test macros. 1994-09-27 03:13:50 +00:00
Karl Heuer
023c80d051 Declare some functions. 1994-09-17 03:14:26 +00:00
Richard M. Stallman
49c49d2299 (interval_balance_threshold): Var deleted. 1994-09-15 21:22:26 +00:00
Karl Heuer
3a22ee3595 Update copyright. 1994-05-04 02:41:09 +00:00
Karl Heuer
86d62d7634 (Qintangible): New symbol, replacing Qhidden. 1994-04-08 07:09:55 +00:00
Richard M. Stallman
7ac78c9ad4 (NULL_RIGHT_CHILD, NULL_LEFT_CHILD):
Assume children must be intervals, never strings or buffers.
1994-01-02 19:00:54 +00:00
Richard M. Stallman
58943db006 (MERGE_INSERTIONS): Define as 1.
(FRONT_STICKY): Add real definition.
(END_NONSTICKY): New macro.
(END_STICKY): Deleted.
(textget_direct, Qfront_sticky, Qrear_nonsticky): Declared.

(Qhidden): Declared.
1993-07-31 21:55:38 +00:00
Richard M. Stallman
b81de1f7e7 (Vinhibit_point_motion_hooks): Declared. 1993-07-23 07:57:57 +00:00
Richard M. Stallman
edc28db1ae (Ftext_property_not_all): Fix typo in decl. 1993-07-21 22:25:42 +00:00
Jim Blandy
5256403ca5 * textprop.c (Ftext_property_any, Ftext_property_all): New
functions, from David Gillespie.
	* intervals.h (Ftext_property_any, Ftext_property_all): Declare them.
1993-07-18 06:24:48 +00:00
Jim Blandy
15e92abada * textprop.c (copy_text_properties): New function, from David
Gillespie.
	* intervals.h: Declare copy_text_properties.
	* fns.c: #include "intervals.h".
	(Fsubstring): Copy text properties to result string.
	(concat): Copy text properties to result string.
	* ymakefile (fns.o): Note that this depends on INTERVAL_SRC.
1993-07-06 14:54:28 +00:00