summaryrefslogtreecommitdiff
path: root/src/textprop.c
diff options
context:
space:
mode:
authorLuc Teirlinck <teirllm@auburn.edu>2003-11-30 17:08:28 +0000
committerLuc Teirlinck <teirllm@auburn.edu>2003-11-30 17:08:28 +0000
commit97a1bc6376397911333f1decc764379fce397728 (patch)
tree2ee4ffc846e87171cc37104676433a986a7a1fe5 /src/textprop.c
parent9f8a930d980e626fdd627694143b11f29ecd4f24 (diff)
downloademacs-97a1bc6376397911333f1decc764379fce397728.tar.gz
(Fget_char_property_and_overlay): New function.
(syms_of_textprop): Defsubr it.
Diffstat (limited to 'src/textprop.c')
-rw-r--r--src/textprop.c25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/textprop.c b/src/textprop.c
index a243eb6c917..4f13aefb1be 100644
--- a/src/textprop.c
+++ b/src/textprop.c
@@ -703,6 +703,30 @@ overlays are considered only if they are associated with OBJECT. */)
{
return get_char_property_and_overlay (position, prop, object, 0);
}
+
+DEFUN ("get-char-property-and-overlay", Fget_char_property_and_overlay,
+ Sget_char_property_and_overlay, 2, 3, 0,
+ doc: /* Like `get-char-property', but with extra overlay information.
+Return a cons whose car is the return value of `get-char-property'
+with the same arguments, that is, the value of POSITION's property
+PROP in OBJECT, and whose cdr is the overlay in which the property was
+found, or nil, if it was found as a text property or not found at all.
+OBJECT is optional and defaults to the current buffer. OBJECT may be
+a string, a buffer or a window. For strings, the cdr of the return
+value is always nil, since strings do not have overlays. If OBJECT is
+a window, then that window's buffer is used, but window-specific
+overlays are considered only if they are associated with OBJECT. If
+POSITION is at the end of OBJECT, both car and cdr are nil. */)
+ (position, prop, object)
+ Lisp_Object position, object;
+ register Lisp_Object prop;
+{
+ Lisp_Object overlay;
+ Lisp_Object val
+ = get_char_property_and_overlay (position, prop, object, &overlay);
+ return Fcons(val, overlay);
+}
+
DEFUN ("next-char-property-change", Fnext_char_property_change,
Snext_char_property_change, 1, 2, 0,
@@ -2277,6 +2301,7 @@ rear-nonsticky properties of the character overrides NONSTICKINESS. */);
defsubr (&Stext_properties_at);
defsubr (&Sget_text_property);
defsubr (&Sget_char_property);
+ defsubr (&Sget_char_property_and_overlay);
defsubr (&Snext_char_property_change);
defsubr (&Sprevious_char_property_change);
defsubr (&Snext_single_char_property_change);