;ELC ;;; Compiled by cyd@localhost on Mon Apr 23 22:21:07 2007 ;;; from file /home/cyd/emacs/lisp/scroll-lock.el ;;; in Emacs version 22.0.99 ;;; with all optimizations. ;;; This file uses dynamic docstrings, first added in Emacs 19.29. (if (and (boundp 'emacs-version) (< (aref emacs-version (1- (length emacs-version))) ?A) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "19.29"))) (error "`scroll-lock.el' was compiled for Emacs 19.29 or later")) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; #@30 Keymap for Scroll Lock mode. (defvar scroll-lock-mode-map (byte-code "\301 \302\303\304#\210\302\305\306#\210\302\307\310#\210\302\311\312#\210)\207" [map make-sparse-keymap define-key [remap next-line] scroll-lock-next-line [remap previous-line] scroll-lock-previous-line [remap forward-paragraph] scroll-lock-forward-paragraph [remap backward-paragraph] scroll-lock-backward-paragraph] 4) (#$ . 569)) #@65 Used for saving the state of `scroll-preserve-screen-position'. (defvar scroll-lock-preserve-screen-pos-save scroll-preserve-screen-position (#$ . 984)) (make-variable-buffer-local 'scroll-lock-preserve-screen-pos-save) #@62 Like `temporary-goal-column' but for scroll-lock-* commands. (defvar scroll-lock-temporary-goal-column 0 (#$ . 1210)) #@101 Non-nil if Scroll-Lock mode is enabled. Use the command `scroll-lock-mode' to change this variable. (defvar scroll-lock-mode nil (#$ . 1335)) (make-variable-buffer-local 'scroll-lock-mode) #@243 Minor mode for pager-like scrolling. Keys which normally move point by line or paragraph will scroll the buffer by the respective amount of lines instead and point will be kept vertically fixed relative to window boundaries during scrolling. (defalias 'scroll-lock-mode #[(&optional arg) "\304=\203 ?\202%\203\305!\306V\202% \204\307\202%\310\311\301\"\210\312\211\2035\n\313\302!\210\314\2027 \315\316 \203A\317\202B\320\"\210\321 \203V\310\322 \203S\323\202T\324\"\210\325 \210 \207" [arg scroll-lock-mode scroll-preserve-screen-position scroll-lock-preserve-screen-pos-save toggle prefix-numeric-value 0 t message "Toggling %s off; better pass an explicit argument." nil make-local-variable always run-hooks scroll-lock-mode-hook scroll-lock-mode-on-hook scroll-lock-mode-off-hook called-interactively-p "Scroll-Lock mode %sabled" "en" "dis" force-mode-line-update] 4 (#$ . 1531) (list (or current-prefix-arg 'toggle))]) (add-minor-mode 'scroll-lock-mode " ScrLck" scroll-lock-mode-map) #@58 Update `scroll-lock-temporary-goal-column' if necessary. (defalias 'scroll-lock-update-goal-column #[nil "\302>?\205\ni\211\207" [last-command scroll-lock-temporary-goal-column (scroll-lock-next-line scroll-lock-previous-line scroll-lock-forward-paragraph scroll-lock-backward-paragraph)] 2 (#$ . 2550)]) #@52 Like `move-to-column' but cater for wrapped lines. (defalias 'scroll-lock-move-to-column #[(column) "n\204\301\302`\303 Z\304 \"!\204\305!\207\306 `Z^u\207" [column zerop mod line-beginning-position window-width move-to-column line-end-position] 4 (#$ . 2864)]) #@42 Scroll up ARG lines keeping point fixed. (defalias 'scroll-lock-next-line #[(&optional arg) "\204\302\303 \210\304d!\203\305!\210\202\306!\210\307 !\207" [arg scroll-lock-temporary-goal-column 1 scroll-lock-update-goal-column pos-visible-in-window-p next-line scroll-up scroll-lock-move-to-column] 2 (#$ . 3138) "p"]) #@42 Scroll up ARG lines keeping point fixed. (defalias 'scroll-lock-previous-line #[(&optional arg) "\204\302\303 \210\304\305\306\217\210\307 !\207" [arg scroll-lock-temporary-goal-column 1 scroll-lock-update-goal-column nil (scroll-down arg) ((beginning-of-buffer (previous-line arg))) scroll-lock-move-to-column] 3 (#$ . 3472) "p"]) #@49 Scroll down ARG paragraphs keeping point fixed. (defalias 'scroll-lock-forward-paragraph #[(&optional arg) "\204\302\303 \210\304\305`\212\306!\210`)\"!\210\307 !\207" [arg scroll-lock-temporary-goal-column 1 scroll-lock-update-goal-column scroll-up count-screen-lines forward-paragraph scroll-lock-move-to-column] 5 (#$ . 3814) "p"]) #@47 Scroll up ARG paragraphs keeping point fixed. (defalias 'scroll-lock-backward-paragraph #[(&optional arg) "\204\303\304 \210\212\305!\210`)\306\307\310\217\210)\311\n!\207" [arg goal scroll-lock-temporary-goal-column 1 scroll-lock-update-goal-column backward-paragraph nil (byte-code "\301\302`\"!\207" [goal scroll-down count-screen-lines] 4) ((beginning-of-buffer (goto-char goal))) scroll-lock-move-to-column] 3 (#$ . 4160) "p"]) (provide 'scroll-lock)