From: Stefan Kangas Date: Mon, 19 Sep 2022 14:54:19 +0000 (+0200) Subject: Allow nil value for filter-buffer-substring-function X-Git-Tag: emacs-29.0.90~1856^2~372^2~3 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=a7c65fc6660878e244432a5b25fb3a4ff20e8604;p=emacs.git Allow nil value for filter-buffer-substring-function * lisp/simple.el (filter-buffer-substring): Support a nil value to be more resilient. (filter-buffer-substring-function): Doc fix; improve and update for above change. --- diff --git a/lisp/simple.el b/lisp/simple.el index 1b9bf9fa6d8..40df5695c35 100644 --- a/lisp/simple.el +++ b/lisp/simple.el @@ -5363,7 +5363,10 @@ These commands include \\[set-mark-command] and \\[start-kbd-macro]." The function is called with the same 3 arguments (BEG END DELETE) that `filter-buffer-substring' received. It should return the buffer substring between BEG and END, after filtering. If DELETE is -non-nil, it should delete the text between BEG and END from the buffer.") +non-nil, it should delete the text between BEG and END from the buffer. + +The default value is `buffer-substring--filter', and nil means +the same as the default.") (defun filter-buffer-substring (beg end &optional delete) "Return the buffer substring between BEG and END, after filtering. @@ -5379,7 +5382,9 @@ Use `filter-buffer-substring' instead of `buffer-substring', you want to allow filtering to take place. For example, major or minor modes can use `filter-buffer-substring-function' to exclude text properties that are special to a buffer, and should not be copied into other buffers." - (funcall filter-buffer-substring-function beg end delete)) + (funcall (or filter-buffer-substring-function + #'buffer-substring--filter) + beg end delete)) (defun buffer-substring--filter (beg end &optional delete) "Default function to use for `filter-buffer-substring-function'.