]> git.eshelyaron.com Git - emacs.git/commitdiff
Allow nil value for filter-buffer-substring-function
authorStefan Kangas <stefankangas@gmail.com>
Mon, 19 Sep 2022 14:54:19 +0000 (16:54 +0200)
committerStefan Kangas <stefankangas@gmail.com>
Mon, 19 Sep 2022 14:55:55 +0000 (16:55 +0200)
* 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.

lisp/simple.el

index 1b9bf9fa6d8efe75817c45d9d9094bdbac6fd2c7..40df5695c35e575bc07bce815b708bcb98f8c4ea 100644 (file)
@@ -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'.