This section describes two functions that allow a Lisp program to convert any portion of the text in the buffer into a string.
buffer-substring
signals an args-out-of-range
error.
It is not necessary for start to be less than end; the arguments can be given in either order. But most often the smaller argument is written first.
If the text being copied has any text properties, these are copied into the string along with the characters they belong to. See section Text Properties. However, overlays (see section Overlays) in the buffer and their properties are ignored, not copied.
---------- Buffer: foo ---------- This is the contents of buffer foo ---------- Buffer: foo ---------- (buffer-substring 1 10) => "This is t" (buffer-substring (point-max) 10) => "he contents of buffer foo "
buffer-substring
, except that it does not copy text
properties, just the characters themselves. See section Text Properties.
(buffer-substring (point-min) (point-max))
---------- Buffer: foo ---------- This is the contents of buffer foo ---------- Buffer: foo ---------- (buffer-string) => "This is the contents of buffer foo "
The argument thing is a symbol which specifies a kind of syntactic
entity. Possibilities include symbol
, list
, sexp
,
defun
, filename
, url
, word
, sentence
,
whitespace
, line
, page
, and others.
---------- Buffer: foo ---------- Gentlemen may cry ``Pea-!-ce! Peace!,'' but there is no peace. ---------- Buffer: foo ---------- (thing-at-point 'word) => "Peace" (thing-at-point 'line) => "Gentlemen may cry ``Peace! Peace!,''\n" (thing-at-point 'whitespace) => nil
Go to the first, previous, next, last section, table of contents.