Don't recommend insert-before-markers in process filters

See <https://lists.gnu.org/r/emacs-devel/2019-05/msg00062.html> and
Bug#35334.
* doc/lispref/processes.texi (Filter Functions): Go back to using
plain insert in the example filter.  Add note about updating window
point.
This commit is contained in:
Noam Postavsky 2019-06-01 12:40:11 -04:00
parent 04f13a5d9b
commit fb314ba3ad

View file

@ -1643,7 +1643,7 @@ how to do these things:
(save-excursion (save-excursion
;; @r{Insert the text, advancing the process marker.} ;; @r{Insert the text, advancing the process marker.}
(goto-char (process-mark proc)) (goto-char (process-mark proc))
(insert-before-markers string) (insert string)
(set-marker (process-mark proc) (point))) (set-marker (process-mark proc) (point)))
(if moving (goto-char (process-mark proc))))))) (if moving (goto-char (process-mark proc)))))))
@end group @end group
@ -1659,7 +1659,12 @@ text arrives, you could insert a line like the following just before the
To force point to the end of the new output, no matter where it was To force point to the end of the new output, no matter where it was
previously, eliminate the variable @code{moving} from the example and previously, eliminate the variable @code{moving} from the example and
call @code{goto-char} unconditionally. call @code{goto-char} unconditionally. Note that this doesn't
necessarily move the window point. The default filter actually uses
@code{insert-before-markers} which moves all markers, including the
window point. This may move unrelated markers, so it's generally
better to move the window point explicitly, or set its insertion type
to @code{t} (@pxref{Window Point}).
@ignore @ignore
In earlier Emacs versions, every filter function that did regular In earlier Emacs versions, every filter function that did regular