Ranges
Create and query ranges
- Function:
range (beg end) - Create a range between BEG and END.
- This normalizes
range-beg and range-end, i.e. if END is before
BEG, they are swapped. - Function:
range-collapsed-p (range) - Test if RANGE is collapsed (
range-beg and range-end are the same). - Function:
inside-range-p (marker-or-pos range) - Test if MARKER-OR-POS is inside RANGE.
- Function:
inside-range-inclusive-p (marker-or-pos range) - Test if MARKER-OR-POS is inside RANGE, including range-end.
Range editing primitives
- Function:
extract-range (range) - Extract contents inside RANGE.
This may extract part of a node, examples (^ marks
range-beg and
_ marks range-end):
DOM before => DOM after, returned nodes
((a^ b) c (d _e)) => ((a)(e)), ( b) c (d )
^(a (b _c) d) => ((c) d), (a (b )) - Function:
delete-range (range) - Delete contents inside RANGE.
This may delete part of a node, examples (^ marks
range-beg and
_ marks range-end):
DOM before => DOM after
((a^ b) c (d _e)) => ((a)(e))
^(a (b _c) d) => ((c) d)