703 |
{ |
{ |
704 |
return get_char_property_and_overlay (position, prop, object, 0); |
return get_char_property_and_overlay (position, prop, object, 0); |
705 |
} |
} |
706 |
|
|
707 |
|
DEFUN ("get-char-property-and-overlay", Fget_char_property_and_overlay, |
708 |
|
Sget_char_property_and_overlay, 2, 3, 0, |
709 |
|
doc: /* Like `get-char-property', but with extra overlay information. |
710 |
|
Return a cons whose car is the return value of `get-char-property' |
711 |
|
with the same arguments, that is, the value of POSITION's property |
712 |
|
PROP in OBJECT, and whose cdr is the overlay in which the property was |
713 |
|
found, or nil, if it was found as a text property or not found at all. |
714 |
|
OBJECT is optional and defaults to the current buffer. OBJECT may be |
715 |
|
a string, a buffer or a window. For strings, the cdr of the return |
716 |
|
value is always nil, since strings do not have overlays. If OBJECT is |
717 |
|
a window, then that window's buffer is used, but window-specific |
718 |
|
overlays are considered only if they are associated with OBJECT. If |
719 |
|
POSITION is at the end of OBJECT, both car and cdr are nil. */) |
720 |
|
(position, prop, object) |
721 |
|
Lisp_Object position, object; |
722 |
|
register Lisp_Object prop; |
723 |
|
{ |
724 |
|
Lisp_Object overlay; |
725 |
|
Lisp_Object val |
726 |
|
= get_char_property_and_overlay (position, prop, object, &overlay); |
727 |
|
return Fcons(val, overlay); |
728 |
|
} |
729 |
|
|
730 |
|
|
731 |
DEFUN ("next-char-property-change", Fnext_char_property_change, |
DEFUN ("next-char-property-change", Fnext_char_property_change, |
732 |
Snext_char_property_change, 1, 2, 0, |
Snext_char_property_change, 1, 2, 0, |
2301 |
defsubr (&Stext_properties_at); |
defsubr (&Stext_properties_at); |
2302 |
defsubr (&Sget_text_property); |
defsubr (&Sget_text_property); |
2303 |
defsubr (&Sget_char_property); |
defsubr (&Sget_char_property); |
2304 |
|
defsubr (&Sget_char_property_and_overlay); |
2305 |
defsubr (&Snext_char_property_change); |
defsubr (&Snext_char_property_change); |
2306 |
defsubr (&Sprevious_char_property_change); |
defsubr (&Sprevious_char_property_change); |
2307 |
defsubr (&Snext_single_char_property_change); |
defsubr (&Snext_single_char_property_change); |