Return the buffer substring between BEG and END, after filtering.
The wrapper hook `filter-buffer-substring-functions' performs
the actual filtering. The obsolete variable `buffer-substring-filters'
is also consulted. If both of these are nil, no filtering is done.
If DELETE is non-nil, the text between BEG and END is deleted
from the buffer.
This function should be used instead of `buffer-substring',
`buffer-substring-no-properties', or `delete-and-extract-region'
when you want to allow filtering to take place. For example,
major or minor modes can use `filter-buffer-substring-functions' to
extract characters that are special to a buffer, and should not be copied into other buffers.