* lisp/follow.el: Rework, eliminating reliance on advice.
authorChong Yidong <cyd@gnu.org>
Tue, 1 May 2012 13:37:56 +0000 (21:37 +0800)
committerChong Yidong <cyd@gnu.org>
Tue, 1 May 2012 13:37:56 +0000 (21:37 +0800)
commit782fbf2a338e61231655e76b1727790374e02ca1
treebe8c7198432f61f26e0c571f5866dc9620a1d96f
parenteb0ae1d14375a40eeda911da4812191d4f8d4baf
* lisp/follow.el: Rework, eliminating reliance on advice.
(set-process-filter, process-filter, sit-for): Advice deleted.
(follow-mode-off-hook): Obsolete hook removed.
(follow-avoid-tail-recenter-p, follow-process-filter-alist): Vars
deleted.
(follow-auto): Use a :set function.
(follow-mode): Rewritten.  Don't advise process filters.
(follow-switch-to-current-buffer-all, follow-scroll-up)
(follow-scroll-down): Assume follow-mode is bound.
(follow-comint-scroll-to-bottom)
(follow-align-compilation-windows): New functions.
(follow--window-sorter): New function.
(follow-all-followers): Use it to explicitly sort windows by their
positions; don't make assumptions about next-window order.
(follow-windows-start-end, follow-delete-other-windows-and-split)
(follow-calc-win-start): Doc fix.
(follow-windows-aligned-p, follow-select-if-visible): Don't call
vertical-motion unnecessarily.
(follow-adjust-window): New function.
(follow-post-command-hook): Use it.
(follow-call-set-process-filter, follow-call-process-filter)
(follow-intercept-process-output, follow-tidy-process-filter-alist)
(follow-stop-intercept-process-output, follow-generic-filter):
Functions deleted.
(follow-scroll-bar-toolkit-scroll, follow-scroll-bar-drag)
(follow-scroll-bar-scroll-up, follow-scroll-bar-scroll-down): New
functions, replacing advice on scroll-bar-* commands.

* lisp/comint.el (comint-adjust-point): New function.
(comint-postoutput-scroll-to-bottom): Use it.  Call
follow-comint-scroll-to-bottom for Follow mode buffers.
etc/NEWS
lisp/ChangeLog
lisp/comint.el
lisp/follow.el