Commit 97a1bc63 authored by Luc Teirlinck's avatar Luc Teirlinck

(Fget_char_property_and_overlay): New function.

(syms_of_textprop): Defsubr it.
parent 9f8a930d
......@@ -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);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment