;ELC ;;; Compiled ;;; in Emacs version 28.0.50 ;;; with all optimizations. (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\310\330\312\313\331DD\332\304\301\316\333&\210\320\330!\210\321\330\322\334#\210\310\335\312\313\336DD\337\304\301\316\340&\210\320\335!\210\321\335\322\334#\210\310\341\312\313\342DD\343\304\301\316\344&\207" [custom-declare-group visual-fill-column nil "Wrap lines according to `fill-column' in `visual-line-mode'." :group text :prefix "visual-fill-column-" custom-declare-variable visual-fill-column-width funcall function #[0 "\300\207" [nil] 1] "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-extra-text-width #[0 "\300\207" [nil] 1] "Additional columns added to the text area.\nThis is a cons cell of two numbers: the first is subtracted from\nthe left margin, the second from the right margin. This option\ncan be used to accommodate, e.g,, line numbers, which would\notherwise reduce the actual size of the text area." (choice (const :tag "No extra text width" :value nil) (cons :tag "Extra text width" (integer :tag "Extra width left ") (integer :tag "Extra width right"))) visual-fill-column-fringes-outside-margins #[0 "\300\207" [t] 1] "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] "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)) visual-fill-column-enable-sensible-window-split #[0 "\300\207" [nil] 1] "Set `split-window-preferred-function' so as to allow vertical window splits.\nIf this option is set, `visual-fill-column' sets the variable\n`split-window-preferred-function' to\n`visual-fill-column-split-window-sensibly', in order to allow\n`display-buffer' to split windows in two side-by-side windows." (choice (const :tag "Allow vertical window split" nil) (const :tag "Use standard window split" t))] 8) #@54 If set, the window parameter `split-window' is used. (defvar visual-fill-column--use-split-window-parameter nil (#$ . 2444)) #@53 If set, the window parameter `min-margins' is used. (defvar visual-fill-column--use-min-margins nil (#$ . 2575)) (defvar visual-fill-column-mode-map (byte-code "\301 \302\303\304\305!#\210\302\306\304\307!#\210\302\310\304\311!#\210\302\312\313#\210\302\314\313#\210\302\315\313#\210\302\316\313#\210\302\317\313#\210\302\320\313#\210\302\321\313#\210\302\322\313#\210\302\323\313#\210\302\324\304\325!#\210\302\326\304\327!#\210\302\330\304\331!#\210\302\332\313#\210\302\333\313#\210\302\334\313#\210\302\335\313#\210\302\336\313#\210\302\337\313#\210\302\340\313#\210\302\341\313#\210\302\342\313#\210\343\300!\203\300\203\300\302\344\345#\210\302\346\345#\210\302\347\345#\210\302\350\345#\210\207" [mouse-wheel-mode make-sparse-keymap define-key [right-margin mouse-1] global-key-binding [mouse-1] [right-margin mouse-2] [mouse-2] [right-margin mouse-3] [mouse-3] [right-margin drag-mouse-1] ignore [right-margin drag-mouse-2] [right-margin drag-mouse-3] [right-margin double-mouse-1] [right-margin double-mouse-2] [right-margin double-mouse-3] [right-margin triple-mouse-1] [right-margin triple-mouse-2] [right-margin triple-mouse-3] [left-margin mouse-1] [mouse-1] [left-margin mouse-2] [mouse-2] [left-margin mouse-3] [mouse-3] [left-margin drag-mouse-1] [left-margin drag-mouse-2] [left-margin drag-mouse-3] [left-margin double-mouse-1] [left-margin double-mouse-2] [left-margin double-mouse-3] [left-margin triple-mouse-1] [left-margin triple-mouse-2] [left-margin triple-mouse-3] boundp [right-margin mouse-wheel-down-event] mwheel-scroll [right-margin mouse-wheel-up-event] [left-margin mouse-wheel-down-event] [left-margin mouse-wheel-up-event]] 6)) #@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 (#$ . 4276)) (make-variable-buffer-local 'visual-fill-column-mode) #@632 Wrap lines according to `fill-column' in `visual-line-mode'. This is a minor mode. If called interactively, toggle the `Visual-Fill-Column mode' mode. If the prefix argument is positive, enable the mode, and if it is zero or negative, disable the mode. If called from Lisp, toggle the mode if ARG is `toggle'. Enable the mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, evaluate `visual-fill-column-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. (fn &optional ARG) (defalias 'visual-fill-column-mode #[256 "\302 \303=\203 ?\202\247\203\304W\203\305\202\306\307\301!\2031\310\300 \"\2031\300 B\203;\311 \210\202>\312 \210\313\314\203H\315\202I\316\"\210\317\320!\203k\302 \203]\211\302 \232\203k\321\322\203g\323\202h\324\325#\210\210\326 \210\207" [visual-fill-column-mode local-minor-modes current-message toggle 1 nil t boundp delq 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%s" "en" "dis" " in current buffer" force-mode-line-update] 6 (#$ . 4500) (byte-code "\203\n\301!\202 \302C\207" [current-prefix-arg prefix-numeric-value toggle] 2)]) (defvar visual-fill-column-mode-hook nil) (byte-code "\301\302N\204\f\303\301\302\304#\210\303\301\305\306#\210\303\301\307\310C#\210\311\312\310\313\300!\205#\310\211%\210\303\314\315\316#\207" [visual-fill-column-mode-map visual-fill-column-mode-hook variable-documentation put "Hook run after entering or leaving `visual-fill-column-mode'.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it. (This is true for all hook variables.)" custom-type hook standard-value nil add-minor-mode visual-fill-column-mode boundp global-visual-fill-column-mode globalized-minor-mode t] 6) (defvar visual-fill-column-mode-major-mode nil 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] "Non-nil if Global Visual-Fill-Column mode is enabled.\nSee the `global-visual-fill-column-mode' command\nfor 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 :type boolean :group visual-fill-column :require visual-fill-column-mode] 14) #@414 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 "\303 \304\301\305=\203\306\301!?\202!\247\203 \307W\203 \310\202!\311\"\210\312\300!\2038\313\301\"\306\301!\2038\301B \203N\314\315\316\"\210\314\317\320\"\210\314\321\322\"\210\202]\323\315\316\"\210\323\317\320\"\210\323\321\322\"\210\324 \211\203\203\211@r\211q\210 \203s\325 \210\202{\n\203{\302\326!\210)A\266\202\202_\210\327\330\306\301!\203\220\331\202\221\332\"\210\333\334!\203\271\335\301!\210\303 \203\251\211\303 \232\203\271\336\337\306\301!\203\265\340\202\266\341\342#\210\210\343 \210\306\301!\207" [global-minor-modes global-visual-fill-column-mode visual-fill-column-mode current-message set-default toggle default-value 1 nil t boundp delq 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%s" "en" "dis" "" force-mode-line-update] 6 (#$ . 7331) (byte-code "\203\n\301!\202 \302C\207" [current-prefix-arg prefix-numeric-value toggle] 2)]) (defvar global-visual-fill-column-mode-hook nil) (byte-code "\301\302N\204\f\303\301\302\304#\210\303\301\305\306#\210\303\301\307\310C#\210\311\312\310\313\300!\205#\310\211%\207" [global-visual-fill-column-mode-map global-visual-fill-column-mode-hook variable-documentation put "Hook run after entering or leaving `global-visual-fill-column-mode'.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it. (This is true for all hook variables.)" custom-type hook standard-value nil add-minor-mode global-visual-fill-column-mode 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]) (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 "\305\211\211\2059\211@\306!\2032r\211q\210 \204/\n =\204/\f\203,\304\307!\210\310 \210\202/\310 \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 nil buffer-live-p -1 turn-on-visual-fill-column-mode] 5]) (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 "\300 \210\301\302\303\"\207" [global-visual-fill-column-mode-enable-in-buffers remove-hook post-command-hook global-visual-fill-column-mode-check-buffers] 3]) (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 \266\202\211B\210\301\302\303\"\207" [global-visual-fill-column-mode-buffers add-hook post-command-hook global-visual-fill-column-mode-check-buffers] 3]) (put 'global-visual-fill-column-mode-cmhh 'definition-name 'global-visual-fill-column-mode) #@194 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, and only in buffers that actually visit a file. (defalias 'turn-on-visual-fill-column-mode #[0 "\205\301\302!\207" [buffer-file-name visual-fill-column-mode 1] 2 (#$ . 11336)]) #@58 Set up `visual-fill-column-mode' for the current buffer. (defalias 'visual-fill-column-mode--enable #[0 "\304\305\306\307\310$\210\203\311\312\313\"\210\314 \315\"\203#\304\316\306\307\310$\210\317\2023\320\315 \"\2033\304\321\306\307\310$\210\317\306\322 !\207" [visual-fill-column-enable-sensible-window-split emacs-version visual-fill-column--use-split-window-parameter visual-fill-column--use-min-margins add-hook window-configuration-change-hook visual-fill-column--adjust-window append local set-default split-window-preferred-function visual-fill-column-split-window-sensibly version<= "27.1" window-size-change-functions t version< window-state-change-functions selected-window] 5 (#$ . 11667)]) #@59 Disable `visual-fill-column-mode' for the current buffer. (defalias 'visual-fill-column-mode--disable #[0 "\301\302\303\304#\210\305p!\306\307\"\203\301\310\303\304#\210\2022\311\307\"\2032\301\312\303\304#\210\313\314\211#\210\315\316\317#\210\320\317\"\207" [emacs-version remove-hook window-configuration-change-hook visual-fill-column--adjust-window local get-buffer-window version<= "27.1" window-size-change-functions version< window-state-change-functions set-window-margins 0 set-window-parameter min-margins nil set-window-fringes] 5 (#$ . 12385)]) #@191 Split WINDOW, unsetting its margins first. SIZE, and SIDE are passed on to `split-window'. This function is for use in the window parameter `split-window'. (fn &optional WINDOW SIZE SIDE) (defalias 'visual-fill-column-split-window #[768 "\211\300>\301C\301C\203\302!\240\210\303\301\"\210\304\305\301#\210\306\307%\216\211\305#\240)\207" [(t left right) nil window-margins set-window-margins set-window-parameter split-window make-closure #[0 "\304\300\305\306#\210\301\205\303\242?\205\307\300\302\242@\302\242A#\207" [V0 V1 V2 V3 set-window-parameter split-window visual-fill-column-split-window set-window-margins] 4]] 12 (#$ . 12959)]) #@438 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 in two side-by-side windows if it has wide margins, even if there is enough space for a vertical split. This function is used as the value of `split-window-preferred-function' to allow `display-buffer' to split such windows. (fn &optional WINDOW) (defalias 'visual-fill-column-split-window-sensibly #[256 "\300!\301C\302\303\304!\"\203\305\301\"\210\306\307$\216\211\310!\240)\207" [window-margins nil buffer-local-value visual-fill-column-mode window-buffer set-window-margins make-closure #[0 "\302\242?\205 \303\300\301@\301A#\207" [V0 V1 V2 set-window-margins] 4] split-window-sensibly] 8 (#$ . 13633)]) #@58 Reset the parameters and margins of WINDOW. (fn WINDOW) (defalias 'visual-fill-column--reset-window #[257 "\300\301\302#\210\300\303\302#\210\304\302\"\207" [set-window-parameter split-window nil min-margins set-window-margins] 5 (#$ . 14447)]) #@244 Adjust the margins and fringes of WINDOW. WINDOW defaults to the selected window. This function only adjusts the margins and fringes if the buffer displayed in the selected window has `visual-fill-column-mode' enabled. (fn &optional WINDOW) (defalias 'visual-fill-column--adjust-window #[256 "\211\204\304 \262\305!r\306\307\"\216\310@\311\"\210\312!\210\205=\313\314\211 $\210\n\2030\315\316\317#\210 \203:\315\320\321#\210\322!*\207" [visual-fill-column-mode visual-fill-column-fringes-outside-margins visual-fill-column--use-split-window-parameter visual-fill-column--use-min-margins selected-window internal--before-with-selected-window make-closure #[0 "\301\300!\207" [V0 internal--after-with-selected-window] 2] select-window norecord visual-fill-column--reset-window set-window-fringes nil set-window-parameter split-window visual-fill-column-split-window min-margins (0 . 0) visual-fill-column--set-margins] 7 (#$ . 14703)]) #@210 Adjust the window margins and fringes. This function is for use as advice to `text-scale-adjust'. It calls `visual-fill-column--adjust-window', but only if `visual-fill-column' is active. (fn &optional INC) (defalias 'visual-fill-column-adjust #[256 "\205\301\302 !\207" [visual-fill-column-mode visual-fill-column--adjust-window selected-window] 3 (#$ . 15661)]) #@357 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. The return value is scaled to account for `text-scale-mode-amount' and `text-scale-mode-step'. (fn &optional WINDOW) (defalias 'visual-fill-column--window-max-text-width #[256 "\211\204\302 \262\303!\304!\305\300!\203&\305\301!\203&r\211q\210\306 \")\202'\307\310\311!@\2061\312\\A\2068\312\\\313!\245!\207" [text-scale-mode-step text-scale-mode-amount selected-window window-margins window-buffer boundp expt 1.0 truncate window-width 0 float] 8 (#$ . 16037)]) #@273 Calculate new margins given additional text width. LEFT and RIGHT are the current margins, ADD-WIDTH a cons cell of additional columns to be added to the text area. Return a cons cell of the new margins, which will never be less than zero. (fn LEFT RIGHT ADD-WIDTH) (defalias 'visual-fill-column--add-extra-width #[771 "\300@Z]\300AZ]B\207" [0] 7 (#$ . 16760)]) #@45 Set window margins for WINDOW. (fn WINDOW) (defalias 'visual-fill-column--set-margins #[257 "\305!\206 Z\306W\203\306\202Z\n\203!\211\307\245\202\"\306Z \2036\310 #\211@\262\211A\266\202\f\311=\203H\306U\203H\211\262\306\262\312#\207" [visual-fill-column-width fill-column visual-fill-column-center-text visual-fill-column-extra-text-width bidi-paragraph-direction visual-fill-column--window-max-text-width 0 2 visual-fill-column--add-extra-width right-to-left set-window-margins] 10 (#$ . 17138)]) (provide 'visual-fill-column)