Mercurial > emacs
changeset 85441:62f2f3aa55e2
(follow-unload-function): New function.
author | Juanma Barranquero <lekktu@gmail.com> |
---|---|
date | Fri, 19 Oct 2007 10:53:58 +0000 |
parents | a7fffd183c61 |
children | 18feae785ad7 |
files | lisp/follow.el |
diffstat | 1 files changed, 35 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/follow.el Fri Oct 19 10:30:05 2007 +0000 +++ b/lisp/follow.el Fri Oct 19 10:53:58 2007 +0000 @@ -712,7 +712,7 @@ ;;}}} ;;{{{ Movement -;; Note, these functions are not very useful, atleast not unless you +;; Note, these functions are not very useful, at least not unless you ;; rebind the rather cumbersome key sequence `C-c . p'. (defun follow-next-window () @@ -1267,7 +1267,7 @@ (let ((done nil) win-start res) - ;; Always calculate what happend when no line is displayed in the first + ;; Always calculate what happens when no line is displayed in the first ;; window. (The `previous' res is needed below!) (goto-char guess) (vertical-motion 0 (car windows)) @@ -1508,9 +1508,9 @@ (setq win-start-end (follow-windows-start-end windows)) (follow-invalidate-cache) ;; When the point ends up in another window. This - ;; happends when dest is in the beginning of the + ;; happens when dest is in the beginning of the ;; file and the selected window is not the first. - ;; It can also, in rare situations happend when + ;; It can also, in rare situations happen when ;; long lines are used and there is a big ;; difference between the width of the windows. ;; (When scrolling one line in a wide window which @@ -2162,6 +2162,37 @@ ;;{{{ The end +(defun follow-unload-function () + (easy-menu-remove-item nil '("Tools") "Follow") + (follow-stop-intercept-process-output) + (dolist (group '((before + ;; XEmacs + isearch-done + ;; both + set-process-filter sit-for move-overlay) + (after + ;; Emacs + scroll-bar-drag scroll-bar-drag-1 scroll-bar-scroll-down + scroll-bar-scroll-up scroll-bar-set-window-start + ;; XEmacs + scrollbar-line-down scrollbar-line-up scrollbar-page-down + scrollbar-page-up scrollbar-to-bottom scrollbar-to-top + scrollbar-vertical-drag + ;; both + process-filter))) + (let ((class (car group))) + (dolist (fun (cdr group)) + (when (functionp fun) + (condition-case nil + (progn + (ad-remove-advice fun class + (intern (concat "follow-" (symbol-name fun)))) + (ad-update fun)) + (error nil)))))) + nil) + +(defvar follow-unload-function 'follow-unload-function) + ;; ;; We're done! ;;