;ELC   
;;; Compiled by rms@psilocin.gnu.org on Sun Apr 19 23:55:41 1998
;;; from file /gd/gnu/emacs/lisp/hscroll.el
;;; in Emacs version 20.2.91.4
;;; with bytecomp version 2.40
;;; with all optimizations.
;;; This file uses opcodes which do not exist in Emacs 18.

(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 "`hscroll.el' was compiled for Emacs 19.29 or later"))


(byte-code "\303\300!\204 \304\300	B\305\306\307\310\n\311%\207" [hscroll-version current-load-list :group boundp "2.2" custom-declare-group hscroll nil "Minor mode to automatically scroll truncated lines horizontally." editing] 6)
#@100 Toggle horizontal scrolling.
You must modify via \[customize] for this variable to have an effect.
(custom-declare-variable 'hscroll-global-mode 'nil '(#$ . 765) :set (lambda (symbol value) (hscroll-global-mode (if value 1 -1))) :initialize 'custom-initialize-default :group 'hscroll :type 'boolean :require 'hscroll :version "20.3")
#@128 *How many columns away from the edge of the window point is allowed to get
before HScroll will horizontally scroll the window.
(custom-declare-variable 'hscroll-margin '5 '(#$ . -1106) :group 'hscroll :type 'integer)
#@232 *When point is this many columns (or less) from the left edge of the document, 
don't do any horizontal scrolling.  In other words, be biased towards the left
edge of the document.
  Set this variable to zero to disable this bias.
(custom-declare-variable 'hscroll-snap-threshold '30 '(#$ . -1330) :group 'hscroll :type 'integer)
#@122 *How far away to place the point from the window's edge when scrolling.
Expressed as a percentage of the window's width.
(custom-declare-variable 'hscroll-step-percent '25 '(#$ . -1667) :group 'hscroll :type 'integer)
#@98 *Horizontal scrolling mode line indicator.
Set this to nil to conserve valuable mode line space.
(custom-declare-variable 'hscroll-mode-name '" Hscr" '(#$ . -1891) :group 'hscroll :type 'string)
(byte-code "\301\236\204\n \302B\301\207" [minor-mode-alist hscroll-mode (hscroll-mode hscroll-mode-name)] 2)
#@37 Non-nil if HScroll mode is enabled.
(defvar hscroll-mode nil (#$ . 2205))
(byte-code "\304\305!\210\306\300!\204\f \307\300	B\306\302!\204 \307\302	B\304\310!\210\304\302!\210\306\303!\204, \307\303	B\307\207" [hscroll-old-truncate-local current-load-list hscroll-old-truncate-was-global hscroll-old-truncate-default make-variable-buffer-local hscroll-mode boundp nil hscroll-old-truncate] 2)
#@61 Unconditionally turn on Hscroll mode in the current buffer.
(defalias 'turn-on-hscroll #[nil "\300\301!\207" [hscroll-mode 1] 2 (#$ . 2611)])
#@266 Toggle HScroll mode in the current buffer.
With ARG, turn HScroll mode on if ARG is positive, off otherwise.
In HScroll mode, truncated lines will automatically scroll left or
right when point gets near either edge of the window.
  See also \[hscroll-global-mode].
(defalias 'hscroll-mode #[(&optional arg) "\306\307!\210\204 	?\202 \310!\311V\211\2036 	\204X \312\304!\211\203% \f?\313\314\307\315\316\313$\210)\202X 	\203X \203F \317\304!\210\202H \f\204R \320\321 \311\"\210\322\307\315\313#\210\n\323\316!)\207" [arg hscroll-mode newmode localp truncate-lines hscroll-old-truncate-local make-local-hook post-command-hook prefix-numeric-value 0 local-variable-p t add-hook hscroll-window-maybe nil kill-local-variable set-window-hscroll selected-window remove-hook force-mode-line-update hscroll-old-truncate-was-global] 6 (#$ . 2760) "P"])
#@296 Toggle HScroll mode in all buffers.
With ARG, turn HScroll mode on if ARG is positive, off otherwise.
If a buffer ever has HScroll mode set locally (via \[hscroll-mode]), 
it will forever use the local value (i.e., \[hscroll-global-mode] 
will have no effect on it).
  See also \[hscroll-mode].
(defalias 'hscroll-global-mode #[(&optional arg) "\306\304!	\204 ?\202 \307	!\310V\211\n\2032 \f\204A \306!\311\312\305\311\"\210\313\314\315\"\210\202A \f\203A \312\305\"\210\316\314\315\"\210\312\304\n\"\210\317\311!*\207" [oldmode arg newmode hscroll-global-mode hscroll-mode truncate-lines default-value prefix-numeric-value 0 t set-default add-hook post-command-hook hscroll-window-maybe remove-hook force-mode-line-update hscroll-old-truncate-default hscroll-old-truncate-was-global] 4 (#$ . 3627) "P"])
#@201 Scroll horizontally if point is off or nearly off the edge of the window.
This is called automatically when in HScroll mode, but it can be explicitly
invoked as well (i.e., it can be bound to a key).
(defalias 'hscroll-window-maybe #[nil "\205\205 	\204 \306 \307U\203 \n\205\205 \310 \311 W\205\205 \212\312\210i)\310 \306 \\iW\2038 \313\314 \306 [\"\202\204 iZ\306 \307U\204H \315\202I \307Z\fV\203T \315\202U \307ZY\203m \313\314 i\310 _\316\245\\\310 Z\"\202\204 i\306 \\W\205\204 \313\314 i\310 _\316\245Z\"*\207" [hscroll-mode truncate-lines truncate-partial-width-windows rightmost-char linelen hscroll-snap-threshold window-hscroll 0 window-width frame-width nil set-window-hscroll selected-window 1 100 hscroll-margin hscroll-step-percent] 5 (#$ . 4452) nil])
(byte-code "\203 \300\301!\210\302\303!\207" [hscroll-global-mode 1 provide hscroll] 2)
