X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/5e9f6c446a7df491fc010ba948b98a3c48d0dc35..4342e957a2521bbe9b574871e3bbd60d63c93461:/lisp/scroll-all.el diff --git a/lisp/scroll-all.el b/lisp/scroll-all.el index 4548f954a7..287ed3ba47 100644 --- a/lisp/scroll-all.el +++ b/lisp/scroll-all.el @@ -39,26 +39,6 @@ ;;; Code: -(defvar running-xemacs (string-match "XEmacs\\|Lucid" emacs-version)) - -;;;###autoload -(defcustom scroll-all-mode nil - "Control/track scroll locking. - -Setting this variable directly does not take effect; -use either \\[customize] or the function `scroll-all-mode'." - :set (lambda (symbol value) (scroll-all-mode (if value 1 0))) - :initialize 'custom-initialize-default - :require 'scroll-all - :type 'boolean - :group 'windows) - -(if running-xemacs - (add-minor-mode 'scroll-all-mode " *SL*") - (or (assq 'scroll-all-mode minor-mode-alist) - (setq minor-mode-alist - (cons '(scroll-all-mode " *SL*") minor-mode-alist)))) - (defun scroll-all-function-all (func arg) "Apply function FUNC with argument ARG to all visible windows." (let ((num-windows (count-windows)) @@ -119,19 +99,23 @@ use either \\[customize] or the function `scroll-all-mode'." (call-interactively 'scroll-all-beginning-of-buffer-all)) ((eq this-command 'end-of-buffer) (call-interactively 'scroll-all-end-of-buffer-all)))) - + ;;;###autoload -(defun scroll-all-mode (arg) - "Toggle Scroll-All minor mode." - (interactive "P") - (setq scroll-all-mode (not scroll-all-mode)) - (cond - ((eq scroll-all-mode 't) - (add-hook 'post-command-hook 'scroll-all-check-to-scroll)) - ((eq scroll-all-mode 'nil) - (remove-hook 'post-command-hook 'scroll-all-check-to-scroll)))) +(define-minor-mode scroll-all-mode + "Toggle Scroll-All minor mode. +With ARG, turn Scroll-All minor mode on if ARG is positive, off otherwise. +When Scroll-All mode is on, scrolling commands entered in one window +apply to all visible windows in the same frame." + nil " *SL*" nil + :global t + :group 'windows + :group 'scrolling + (if scroll-all-mode + (add-hook 'post-command-hook 'scroll-all-check-to-scroll) + (remove-hook 'post-command-hook 'scroll-all-check-to-scroll))) (provide 'scroll-all) +;;; arch-tag: db20089a-b157-45df-b5d4-2430e60acdd8 ;;; scroll-all.el ends here