diff options
Diffstat (limited to 'doc/lispref/text.texi')
-rw-r--r-- | doc/lispref/text.texi | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/doc/lispref/text.texi b/doc/lispref/text.texi index 0b567d82c61..14854a5aafa 100644 --- a/doc/lispref/text.texi +++ b/doc/lispref/text.texi @@ -334,6 +334,25 @@ but there is no peace. (thing-at-point 'whitespace) @result{} nil @end example + +@defvar thing-at-point-provider-alist +This variable allows users and modes to tweak how +@code{thing-at-point} works. It's an association list of @var{thing}s +and functions (called with zero parameters) to return that thing. +Entries for @var{thing} will be evaluated in turn until a +non-@code{nil} result is returned. + +For instance, a major mode could say: + +@lisp +(setq-local thing-at-point-provider-alist + (append thing-at-point-provider-alist + '((url . my-mode--url-at-point)))) +@end lisp + +If no providers have a non-@code{nil} return, the @var{thing} will be +computed the standard way. +@end defvar @end defun @node Comparing Text @@ -5610,6 +5629,11 @@ This function cancels and undoes all the changes in the change group specified by @var{handle}. @end defun +@defun undo-amalgamate-change-group +Amalgamate changes in change-group since @var{handle}. I.e., remove +all undo boundaries between the state of @var{handle} and now. +@end defun + Your code should use @code{unwind-protect} to make sure the group is always finished. The call to @code{activate-change-group} should be inside the @code{unwind-protect}, in case the user types @kbd{C-g} |