(save-excursion
;; @r{Insert the text, advancing the process marker.}
(goto-char (process-mark proc))
- (insert-before-markers string)
+ (insert string)
(set-marker (process-mark proc) (point)))
(if moving (goto-char (process-mark proc)))))))
@end group
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
-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
In earlier Emacs versions, every filter function that did regular