Mercurial > emacs
changeset 53201:c90162ba57c6
(Fget_char_property_and_overlay): New function.
(syms_of_textprop): Defsubr it.
author | Luc Teirlinck <teirllm@auburn.edu> |
---|---|
date | Sun, 30 Nov 2003 17:08:28 +0000 |
parents | 0b30bde2e733 |
children | 8d8fae1e281a |
files | src/textprop.c |
diffstat | 1 files changed, 25 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/textprop.c Sun Nov 30 07:33:32 2003 +0000 +++ b/src/textprop.c Sun Nov 30 17:08:28 2003 +0000 @@ -703,6 +703,30 @@ { 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 @@ 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);