;ELC   
;;; Compiled by buildd@akateko.buildd on Fri Oct 25 13:52:54 2013
;;; from file /build/buildd/emacs23-23.4+1/debian/build-x/lisp/scroll-lock.el
;;; in Emacs version 23.4.1
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.

;;; This file does not contain utf-8 non-ASCII characters,
;;; and so can be loaded in Emacs versions earlier than 23.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


#@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) (#$ . 541))
#@65 Used for saving the state of `scroll-preserve-screen-position'.
(defvar scroll-lock-preserve-screen-pos-save scroll-preserve-screen-position (#$ . 956))
(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 (#$ . 1182))
#@101 Non-nil if Scroll-Lock mode is enabled.
Use the command `scroll-lock-mode' to change this variable.
(defvar scroll-lock-mode nil (#$ . 1307))
(make-variable-buffer-local 'scroll-lock-mode)
#@256 Buffer-local 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) "\305 	\306=\203 \n?\202( 	\203 \307	!\310V\202( \n\204\" \311\202( \312\313\302\"\210\314\211\2038 \315\303!\210\316\202: \f\317\320\n\203D \321\202E \322\"\210\323\324!\203f \305 \203Y \305 \232\203f \312\325\n\203c \326\202d \327\"\210)\330 \210\n\207" [#1=#:last-message arg scroll-lock-mode scroll-preserve-screen-position scroll-lock-preserve-screen-pos-save current-message 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 any "Scroll-Lock mode %sabled" "en" "dis" force-mode-line-update] 4 (#$ . 1503) (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\n i\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 (#$ . 2617)])
#@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 (#$ . 2931)])
#@42 Scroll up ARG lines keeping point fixed.
(defalias 'scroll-lock-next-line #[(&optional arg) "\204 \302\303 \210\304d!\203 y\210\202 \305!\210\306	!\207" [arg scroll-lock-temporary-goal-column 1 scroll-lock-update-goal-column pos-visible-in-window-p scroll-up scroll-lock-move-to-column] 2 (#$ . 3205) "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 (byte-code "[y\207" [arg] 1))) scroll-lock-move-to-column] 3 (#$ . 3525) "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 (#$ . 3877) "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 (#$ . 4223) "p"])
(provide 'scroll-lock)
