;ELC   
;;; Compiled
;;; in Emacs version 24.5.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.

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


(byte-code "\300\301\302\303\304\305\306\307&\210\310\311\312\313\314DD\315\304\301\316\317&\210\320\311!\210\321\311\322\323#\210\310\324\312\313\325DD\326\304\301\316\327&\210\320\324!\210\321\324\322\330#\210\310\331\312\313\332DD\333\304\301\316\334&\210\320\331!\210\321\331\322\330#\207" [custom-declare-group visual-fill-column nil "Wrap lines according to `fill-column' in `visual-line-mode'." :group wp :prefix "visual-fill-column-" custom-declare-variable visual-fill-column-width funcall function #[0 "\300\207" [nil] 1 "\n\n(fn)"] "Width of the text area.\nBy default, the global value of `fill-column' is used, but if\nthis option is set to a value, it is used instead." :type (choice (const :tag "Use `fill-column'" :value nil) (integer :tag "Specify width" :value 70)) make-variable-buffer-local put safe-local-variable numberp visual-fill-column-fringes-outside-margins #[0 "\300\207" [t] 1 "\n\n(fn)"] "Put the fringes outside the margins." (choice (const :tag "Put fringes outside the margins" t) (const :tag "Keep the fringes inside the margins" nil)) symbolp visual-fill-column-center-text #[0 "\300\207" [nil] 1 "\n\n(fn)"] "If set, center the text area in the window." (choice (const :tag "Display text area at window margin" nil) (const :tag "Center text area" t))] 8)
#@115 Non-nil if Visual-Fill-Column mode is enabled.
Use the command `visual-fill-column-mode' to change this variable.
(defvar visual-fill-column-mode nil (#$ . 1707))
(make-variable-buffer-local 'visual-fill-column-mode)
#@82 Wrap lines according to `fill-column' in `visual-line-mode'.

(fn &optional ARG)
(defalias 'visual-fill-column-mode #[256 "\301 \302=\203 ?\202 \303!\304V\211\203 \305 \210\202  \306 \210\307\310\203* \311\202+ \312\"\210\313\314!\203L \301 \203? \211\301 \232\203L \315\316\203I \317\202J \320\"\210\210\321 \210\207" [visual-fill-column-mode current-message toggle prefix-numeric-value 0 visual-fill-column-mode--enable visual-fill-column-mode--disable run-hooks visual-fill-column-mode-hook visual-fill-column-mode-on-hook visual-fill-column-mode-off-hook called-interactively-p any message "Visual-Fill-Column mode %sabled" "en" "dis" force-mode-line-update] 6 (#$ . 1930) (byte-code "\206 \301C\207" [current-prefix-arg toggle] 1)])
#@188 Hook run after entering or leaving `visual-fill-column-mode'.
No problems result if this variable is not bound.
`add-hook' automatically binds it.  (This is true for all hook variables.)
(defvar visual-fill-column-mode-hook nil (#$ . 2687))
(byte-code "\301\302\303\304\300!\205\n \303\211%\207" [visual-fill-column-mode-map add-minor-mode visual-fill-column-mode nil boundp] 6)
(defvar visual-fill-column-mode-major-mode nil)
(byte-code "\300\301!\210\302\303\304\305\306DD\307\310\311\312\313\314\315\316\317\320\321&\207" [make-variable-buffer-local visual-fill-column-mode-major-mode custom-declare-variable global-visual-fill-column-mode funcall function #[0 "\300\207" [nil] 1 "\n\n(fn)"] "Non-nil if Global-Visual-Fill-Column mode is enabled.\nSee the command `global-visual-fill-column-mode' for a description of this minor mode.\nSetting this variable directly does not take effect;\neither customize it (see the info node `Easy Customization')\nor call the function `global-visual-fill-column-mode'." :set custom-set-minor-mode :initialize custom-initialize-default :group visual-fill-column :type boolean :require visual-fill-column-mode] 14)
#@413 Toggle Visual-Fill-Column mode in all buffers.
With prefix ARG, enable Global-Visual-Fill-Column mode if ARG is positive;
otherwise, disable it.  If called from Lisp, enable the mode if
ARG is omitted or nil.

Visual-Fill-Column mode is enabled in all buffers where
`turn-on-visual-fill-column-mode' would do it.
See `visual-fill-column-mode' for more information on Visual-Fill-Column mode.

(fn &optional ARG)
(defalias 'global-visual-fill-column-mode #[256 "\302 \303=\203 ?\202 \304!\305V\211\203) \306\307\310\"\210\306\311\312\"\210\306\313\314\"\210\2028 \315\307\310\"\210\315\311\312\"\210\315\313\314\"\210\316 \211\203^ \211@r\211q\210\203N \317 \210\202V 	\203V \301\320!\210)A\266\202\202: \210\321\322\203i \323\202j \324\"\210\325\326!\203\217 \327\300!\210\302 \203\202 \211\302 \232\203\217 \330\331\203\214 \332\202\215 \333\"\210\210\334 \210\207" [global-visual-fill-column-mode visual-fill-column-mode current-message toggle prefix-numeric-value 0 add-hook after-change-major-mode-hook global-visual-fill-column-mode-enable-in-buffers find-file-hook global-visual-fill-column-mode-check-buffers change-major-mode-hook global-visual-fill-column-mode-cmhh remove-hook buffer-list turn-on-visual-fill-column-mode -1 run-hooks global-visual-fill-column-mode-hook global-visual-fill-column-mode-on-hook global-visual-fill-column-mode-off-hook called-interactively-p any customize-mark-as-set message "Global-Visual-Fill-Column mode %sabled" "en" "dis" force-mode-line-update] 7 (#$ . 3850) (byte-code "\206 \301C\207" [current-prefix-arg toggle] 1)])
#@195 Hook run after entering or leaving `global-visual-fill-column-mode'.
No problems result if this variable is not bound.
`add-hook' automatically binds it.  (This is true for all hook variables.)
(defvar global-visual-fill-column-mode-hook nil (#$ . 5437))
(byte-code "\301\302\303\304\300!\205\n \303\211%\207" [global-visual-fill-column-mode-map add-minor-mode global-visual-fill-column-mode nil boundp] 6)
(defvar visual-fill-column-mode-set-explicitly nil nil)
(make-variable-buffer-local 'visual-fill-column-mode-set-explicitly)
(defalias 'visual-fill-column-mode-set-explicitly #[0 "\301\211\207" [visual-fill-column-mode-set-explicitly t] 2 "\n\n(fn)"])
(byte-code "\300\301\302\303#\210\304\305\301\"\207" [put visual-fill-column-mode-set-explicitly definition-name global-visual-fill-column-mode add-hook visual-fill-column-mode-hook] 4)
(defvar global-visual-fill-column-mode-buffers nil)
(defalias 'global-visual-fill-column-mode-enable-in-buffers #[0 "\211\2056 \211@\305!\203/ r\211q\210	\204, \n=\204, \f\203) \304\306!\210\307 \210\202, \307 \210)A\266\202\202 \207" [global-visual-fill-column-mode-buffers visual-fill-column-mode-set-explicitly visual-fill-column-mode-major-mode major-mode visual-fill-column-mode buffer-live-p -1 turn-on-visual-fill-column-mode] 4 "\n\n(fn)"])
(put 'global-visual-fill-column-mode-enable-in-buffers 'definition-name 'global-visual-fill-column-mode)
(defalias 'global-visual-fill-column-mode-check-buffers #[0 "\301 \210\302\303\304\305\"\207" [global-visual-fill-column-mode-buffers global-visual-fill-column-mode-enable-in-buffers nil remove-hook post-command-hook global-visual-fill-column-mode-check-buffers] 3 "\n\n(fn)"])
(put 'global-visual-fill-column-mode-check-buffers 'definition-name 'global-visual-fill-column-mode)
(defalias 'global-visual-fill-column-mode-cmhh #[0 "p\211\235\203\f \210\202 \211B\210\301\302\303\"\207" [global-visual-fill-column-mode-buffers add-hook post-command-hook global-visual-fill-column-mode-check-buffers] 3 "\n\n(fn)"])
(put 'global-visual-fill-column-mode-cmhh 'definition-name 'global-visual-fill-column-mode)
#@154 Turn on `visual-fill-column-mode'.
Note that `visual-fill-column-mode' is only turned on in buffers
in which `visual-line-mode' is active as well.

(fn)
(defalias 'turn-on-visual-fill-column-mode #[0 "\205 \301\302!\207" [visual-line-mode visual-fill-column-mode 1] 2 (#$ . 7563)])
#@64 Set up `visual-fill-column-mode' for the current buffer.

(fn)
(defalias 'visual-fill-column-mode--enable #[0 "\300\301\302\303\304$\210\302 \207" [add-hook window-configuration-change-hook visual-fill-column--adjust-window append local] 5 (#$ . 7853)])
#@65 Disable `visual-fill-column-mode' for the current buffer.

(fn)
(defalias 'visual-fill-column-mode--disable #[0 "\300\301\302\303#\210\304\305 \306\"\210\307\305 \310\211#\207" [remove-hook window-configuration-change-hook visual-fill-column--adjust-window local set-window-fringes selected-window nil set-window-margins 0] 4 (#$ . 8113)])
#@212 Split WINDOW, unsetting its margins first.
SIZE, SIDE, and PIXELWISE are passed on to `split-window'.  This
function is for use in the window parameter `split-window'.

(fn &optional WINDOW SIZE SIDE PIXELWISE)
(defalias 'visual-fill-column-split-window #[1024 "\300>\301C\301C\203 \302!\240\210\303\301\211#\210\304\305\301#\210\306\307\310\311\312\313\f			$\314\"\315\316%DC\216\211\305$\240)\207" [(t left right) nil window-margins set-window-margins set-window-parameter split-window funcall make-byte-code 0 "\304\300\305\306#\210\301\205 \303\242?\205 \307\300\302\242@\302\242A#\207" vconcat vector [set-window-parameter split-window visual-fill-column-split-window set-window-margins] 4 "\n\n(fn)"] 17 (#$ . 8460)])
#@434 Split WINDOW sensibly, unsetting its margins first.
This function unsets the window margins and calls
`split-window-sensibly'.

By default, `split-window-sensibly' does not split a window
vertically if it has wide margins, even if there is enough space
for a vertical split.  This function can be used as the value of
`split-window-preferred-function' to enable vertically splitting
windows with wide margins.

(fn &optional WINDOW)
(defalias 'visual-fill-column-split-window-sensibly #[256 "\300!\301C\302\301\211#\210\303\304\305\306\307\310#\311\"\312\313%DC\216\211\314!\240)\207" [window-margins nil set-window-margins funcall make-byte-code 0 "\302\242?\205 \303\300\301@\301A#\207" vconcat vector [set-window-margins] 4 "\n\n(fn)" split-window-sensibly] 12 (#$ . 9215)])
#@46 Adjust the window margins and fringes.

(fn)
(defalias 'visual-fill-column--adjust-window #[0 "\302\303 \304\211$\210	\305Y\203 \306\303 \307\310#\210\311 \207" [visual-fill-column-fringes-outside-margins emacs-major-version set-window-fringes selected-window nil 25 set-window-parameter split-window visual-fill-column-split-window visual-fill-column--set-margins] 5 (#$ . 10009)])
#@260 Return the maximum possible text width of WINDOW.
The maximum possible text width is the width of the current text
area plus the margins, but excluding the fringes, scroll bar and
right divider.  WINDOW defaults to the selected window.

(fn &optional WINDOW)
(defalias 'visual-fill-column--window-max-text-width #[256 "\211\204 \300 \262\301!\302\303!@\206 \304A\206 \304#\207" [selected-window window-margins + window-width 0] 6 (#$ . 10401)])
#@50 Set window margins for the current window.

(fn)
(defalias 'visual-fill-column--set-margins #[0 "\304 \305!\206\n 	Z\306W\203 \306\202 Z\n\203# \211\307\245\202$ \306\n\203. \307\245\202/ \310=\203A \306U\203A \211\262\306\262\311#\207" [visual-fill-column-width fill-column visual-fill-column-center-text bidi-paragraph-direction selected-window visual-fill-column--window-max-text-width 0 2 right-to-left set-window-margins] 10 (#$ . 10860)])
(provide 'visual-fill-column)
