www.delorie.com/gnu/docs/elisp-manual-21/elisp_524.html   search  
Buy the book!

GNU Emacs Lisp Reference Manual

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

32.19.1 Examining Text Properties

The simplest way to examine text properties is to ask for the value of a particular property of a particular character. For that, use get-text-property. Use text-properties-at to get the entire property list of a character. See section 32.19.3 Text Property Search Functions, for functions to examine the properties of a number of characters at once.

These functions handle both strings and buffers. Keep in mind that positions in a string start from 0, whereas positions in a buffer start from 1.

Function: get-text-property pos prop &optional object
This function returns the value of the prop property of the character after position pos in object (a buffer or string). The argument object is optional and defaults to the current buffer.

If there is no prop property strictly speaking, but the character has a category that is a symbol, then get-text-property returns the prop property of that symbol.

Function: get-char-property pos prop &optional object
This function is like get-text-property, except that it checks overlays first and then text properties. See section 38.9 Overlays.

The argument object may be a string, a buffer, or a window. If it is a window, then the buffer displayed in that window is used for text properties and overlays, but only the overlays active for that window are considered. If object is a buffer, then all overlays in that buffer are considered, as well as text properties. If object is a string, only text properties are considered, since strings never have overlays.

Function: text-properties-at position &optional object
This function returns the entire property list of the character at position in the string or buffer object. If object is nil, it defaults to the current buffer.

Variable: default-text-properties
This variable holds a property list giving default values for text properties. Whenever a character does not specify a value for a property, neither directly nor through a category symbol, the value stored in this list is used instead. Here is an example:

(setq default-text-properties '(foo 69))
;; Make sure character 1 has no properties of its own.
(set-text-properties 1 2 nil)
;; What we get, when we ask, is the default value.
(get-text-property 1 'foo)
     => 69

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

  webmaster   donations   bookstore     delorie software   privacy  
  Copyright 2003   by The Free Software Foundation     Updated Jun 2003