;ELC   
;;; Compiled
;;; in Emacs version 29.4
;;; with all optimizations.



(byte-code "\300\301\302\303\304\305\306\307\310\311&	\210\312\313\314\315\316DD\317\320\321\310\301&\207" [custom-declare-group whitespace nil "Visualize blanks (TAB, (HARD) SPACE and NEWLINE)." :link (emacs-library-link :tag "Source Lisp File" "whitespace.el") :version "23.1" :group convenience custom-declare-variable whitespace-style funcall function #[0 "\300\207" [(face tabs spaces trailing lines space-before-tab newline indentation empty space-after-tab space-mark tab-mark newline-mark missing-newline-at-eof)] 1 ""] "Determine the kinds of whitespace are visualized.\n\nThe value is a list containing one or more of the following symbols:\n\n   face                 visualize by using faces (see below).\n\n   trailing             visualize trailing blanks via faces.\n                        This has effect only if `face' (see above)\n                        is present in `whitespace-style'.\n\n   tabs                 visualize TABs via faces.\n                        This has effect only if `face' (see above)\n                        is present in `whitespace-style'.\n\n   spaces               visualize SPACEs and HARD SPACEs via\n                        faces.\n                        This has effect only if `face' (see above)\n                        is present in `whitespace-style'.\n\n   lines                highlight lines which have columns beyond\n                        `whitespace-line-column' via faces.\n                        Whole line is highlighted.\n                        This has precedence over `lines-tail' and\n                        `lines-char' (see below).\n                        This has effect only if `face' (see above)\n                        is present in `whitespace-style'.\n\n   lines-tail           highlighted lines which have columns beyond\n                        `whitespace-line-column' via faces.\n                        Only the part of line which goes beyond\n                        `whitespace-line-column' column.\n                        This has effect only if `lines' (see above)\n                        is NOT present in `whitespace-style',\n                        and if `face' (see above) IS present in\n                        `whitespace-style'.\n\n   lines-char           lines which have columns beyond\n                        `whitespace-line-column' are highlighted via\n                        putting a face on the first character that goes\n                        beyond the `whitespace-line-column' column.\n                        It has effect only if `lines' or\n                        `lines-tail' (see above) is not present\n                        in `whitespace-style' and if `face' (see\n                        above) is present in `whitespace-style'.\n\n   newline              visualize NEWLINEs via faces.\n                        This has effect only if `face' (see above)\n                        is present in `whitespace-style'.\n\n   missing-newline-at-eof visualize missing newline at the end of\n                        the file via faces.\n                        This has effect only if `face' (see above)\n                        is present in `whitespace-style'.\n\n   empty                visualize empty lines at beginning and/or\n                        end of buffer via faces.\n                        This has effect only if `face' (see above)\n                        is present in `whitespace-style'.\n\n   indentation::tab     visualize `tab-width' or more SPACEs at\n                        beginning of line via faces.\n                        This has effect only if `face' (see above)\n                        is present in `whitespace-style'.\n\n   indentation::space   visualize TABs at beginning of line via\n                        faces.\n                        This has effect only if `face' (see above)\n                        is present in `whitespace-style'.\n\n   indentation          visualize `tab-width' or more SPACEs at\n                        beginning of line, if `indent-tabs-mode' (which\n                        see) is non-nil; otherwise, visualize TABs\n                        at beginning of line via faces.\n                        This has effect only if `face' (see above)\n                        is present in `whitespace-style'.\n\n   big-indent           visualize big indentations via faces.\n                        This has effect only if `face' (see above)\n                        is present in `whitespace-style'.\n\n   space-after-tab::tab         visualize `tab-width' or more SPACEs\n                                after a TAB via faces.\n                                This has effect only if `face' (see above)\n                                is present in `whitespace-style'.\n\n   space-after-tab::space       visualize TABs when `tab-width' or\n                                more SPACEs occur after a TAB, via\n                                faces.\n                                This has effect only if `face' (see above)\n                                is present in `whitespace-style'.\n\n   space-after-tab              visualize `tab-width' or more SPACEs\n                                after a TAB, if `indent-tabs-mode'\n                                (which see) is non-nil; otherwise,\n                                visualize the TABs via faces.\n                                This has effect only if `face' (see above)\n                                is present in `whitespace-style'.\n\n   space-before-tab::tab        visualize SPACEs before TAB via faces.\n                                This has effect only if `face' (see above)\n                                is present in `whitespace-style'.\n\n   space-before-tab::space      visualize TABs when SPACEs occur\n                                before TAB, via faces.\n                                This has effect only if `face' (see above)\n                                is present in `whitespace-style'.\n\n   space-before-tab             visualize SPACEs before TAB, if\n                                `indent-tabs-mode' (which see) is\n                                non-nil; otherwise, visualize TABs\n                                via faces.\n                                This has effect only if `face' (see above)\n                                is present in `whitespace-style'.\n\n   space-mark           visualize SPACEs and HARD SPACEs via\n                        display table.\n\n   tab-mark             visualize TABs via display table.\n\n   newline-mark         visualize NEWLINEs via display table.\n\nAny other value is ignored.\n\nIf nil, don't visualize TABs, (HARD) SPACEs and NEWLINEs via faces and\nvia display table.\n\nThere is an evaluation order for some values, if they are\nincluded in `whitespace-style' list.  For example, if\nindentation, indentation::tab and/or indentation::space are\nincluded in `whitespace-style' list, the evaluation order is:\n\n * For indentation:\n   1. indentation\n   2. indentation::tab\n   3. indentation::space\n\n * For SPACEs after TABs:\n   1. space-after-tab\n   2. space-after-tab::tab\n   3. space-after-tab::space\n\n * For SPACEs before TABs:\n   1. space-before-tab\n   2. space-before-tab::tab\n   3. space-before-tab::space\n\nFor example, if `indentation' and `indentation::space' are\nincluded in `whitespace-style', the `indentation' value is used\ninstead of the `indentation::space' value.\n\nOne reason to not use faces to visualize spaces (i.e., not\ninclude `face' in `whitespace-style') is to use `whitespace-mode'\nonly for cleaning up a buffer.  See `whitespace-cleanup' and\n`whitespace-cleanup-region'.\n\nSee also `whitespace-display-mappings' for documentation." :type (set :tag "Kind of Blank" (const :tag "(Face) Face visualization" face) (const :tag "(Face) Trailing TABs, SPACEs and HARD SPACEs" trailing) (const :tag "(Face) TABs" tabs) (const :tag "(Face) SPACEs and HARD SPACEs" spaces) (const :tag "(Face) Lines" lines) (const :tag "(Face) Lines, only overlong part" lines-tail) (const :tag "(Face) Lines, only first character" lines-char) (const :tag "(Face) NEWLINEs" newline) (const :tag "(Face) Missing newlines at EOB" missing-newline-at-eof) (const :tag "(Face) Empty Lines At BOB And/Or EOB" empty) (const :tag "(Face) Indentation SPACEs" indentation::tab) (const :tag "(Face) Indentation TABs" indentation::space) (const :tag "(Face) Indentation TABs or SPACEs" indentation) (const :tag "(Face) Too much line indentation" big-indent) (const :tag "(Face) SPACEs after TAB: SPACEs" space-after-tab::tab) (const :tag "(Face) SPACEs after TAB: TABs" space-after-tab::space) (const :tag "(Face) SPACEs after TAB" space-after-tab) (const :tag "(Face) SPACEs before TAB: SPACEs" space-before-tab::tab) (const :tag "(Face) SPACEs before TAB: TABs" space-before-tab::space) (const :tag "(Face) SPACEs before TAB" space-before-tab) (const :tag "(Mark) SPACEs and HARD SPACEs" space-mark) (const :tag "(Mark) TABs" tab-mark) (const :tag "(Mark) NEWLINEs" newline-mark))] 10)#@96 Symbol face used to visualize SPACE.
Used when `whitespace-style' includes the value `spaces'.
(defvar whitespace-space 'whitespace-space (#$ . 9134))
(make-obsolete-variable 'whitespace-space "use the face instead." "24.4")
(custom-declare-face 'whitespace-space '((((class color) (background dark)) :background "grey20" :foreground "darkgray") (((class color) (background light)) :background "LightYellow" :foreground "lightgray") (t :inverse-video t)) "Face used to visualize SPACE.\n\nSee `whitespace-space-regexp'." :group 'whitespace)#@101 Symbol face used to visualize HARD SPACE.
Used when `whitespace-style' includes the value `spaces'.
(defvar whitespace-hspace 'whitespace-hspace (#$ . 9681))
(make-obsolete-variable 'whitespace-hspace "use the face instead." "24.4")
(custom-declare-face 'whitespace-hspace '((((class color) (background dark)) :background "grey24" :foreground "darkgray") (((class color) (background light)) :background "LemonChiffon3" :foreground "lightgray") (t :inverse-video t)) "Face used to visualize HARD SPACE.\n\nSee `whitespace-hspace-regexp'." :group 'whitespace)#@92 Symbol face used to visualize TAB.
Used when `whitespace-style' includes the value `tabs'.
(defvar whitespace-tab 'whitespace-tab (#$ . 10244))
(make-obsolete-variable 'whitespace-tab "customize the face `whitespace-tab' instead." "24.4")
(custom-declare-face 'whitespace-tab '((((class color) (background dark)) :background "grey22" :foreground "darkgray") (((class color) (background light)) :background "beige" :foreground "lightgray") (t :inverse-video t)) "Face used to visualize TAB.\n\nSee `whitespace-tab-regexp'." :group 'whitespace)#@167 Symbol face used to visualize NEWLINE char mapping.
See `whitespace-display-mappings'.
Used when `whitespace-style' includes the values `newline-mark'
and `newline'.
(defvar whitespace-newline 'whitespace-newline (#$ . 10793))
(make-obsolete-variable 'whitespace-newline "use the face instead." "24.4")
(custom-declare-face 'whitespace-newline '((default :weight normal) (((class color) (background dark)) :foreground "darkgray") (((class color) (min-colors 88) (background light)) :foreground "lightgray") (((class color) (background light)) :foreground "brown") (t :underline t)) "Face used to visualize NEWLINE char mapping.\n\nSee `whitespace-display-mappings'." :group 'whitespace)#@108 Symbol face used to visualize trailing blanks.
Used when `whitespace-style' includes the value `trailing'.
(defvar whitespace-trailing 'whitespace-trailing (#$ . 11486))
(make-obsolete-variable 'whitespace-trailing "use the face instead." "24.4")
(custom-declare-face 'whitespace-trailing '((default :weight bold) (((class mono)) :inverse-video t :underline t) (t :background "red1" :foreground "yellow")) "Face used to visualize trailing blanks.\n\nSee `whitespace-trailing-regexp'." :group 'whitespace)#@131 Symbol face used to visualize "long" lines.
See `whitespace-line-column'.
Used when `whitespace-style' includes the value `line'.
(defvar whitespace-line 'whitespace-line (#$ . 11997))
(make-obsolete-variable 'whitespace-line "use the face instead." "24.4")
(custom-declare-face 'whitespace-line '((((class mono)) :inverse-video t :weight bold :underline t) (t :background "gray20" :foreground "violet")) "Face used to visualize \"long\" lines.\n\nSee `whitespace-line-column'." :group 'whitespace)#@118 Symbol face used to visualize SPACEs before TAB.
Used when `whitespace-style' includes the value `space-before-tab'.
(defvar whitespace-space-before-tab 'whitespace-space-before-tab (#$ . 12502))
(make-obsolete-variable 'whitespace-space-before-tab "use the face instead." "24.4")
(custom-declare-face 'whitespace-space-before-tab '((((class mono)) :inverse-video t :weight bold :underline t) (t :background "DarkOrange" :foreground "firebrick")) "Face used to visualize SPACEs before TAB.\n\nSee `whitespace-space-before-tab-regexp'." :group 'whitespace)#@143 Symbol face used to visualize `tab-width' or more SPACEs at beginning of line.
Used when `whitespace-style' includes the value `indentation'.
(defvar whitespace-indentation 'whitespace-indentation (#$ . 13064))
(make-obsolete-variable 'whitespace-indentation "use the face instead." "24.4")
(custom-declare-face 'whitespace-indentation '((((class mono)) :inverse-video t :weight bold :underline t) (t :background "yellow" :foreground "firebrick")) "Face used to visualize `tab-width' or more SPACEs at beginning of line.\n\nSee `whitespace-indentation-regexp'." :group 'whitespace)
(custom-declare-face 'whitespace-big-indent '((((class mono)) :inverse-video t :weight bold :underline t) (t :background "red" :foreground "firebrick")) "Face used to visualize big indentation.\n\nSee `whitespace-big-indent-regexp'." :group 'whitespace)
(custom-declare-face 'whitespace-missing-newline-at-eof '((((class mono)) :inverse-video t :weight bold :underline t) (t :background "#d0d040" :foreground "black")) "Face used to visualize missing newline at the end of the file.")#@135 Symbol face used to visualize empty lines at beginning and/or end of buffer.
Used when `whitespace-style' includes the value `empty'.
(defvar whitespace-empty 'whitespace-empty (#$ . 14137))
(make-obsolete-variable 'whitespace-empty "use the face instead." "24.4")
(custom-declare-face 'whitespace-empty '((((class mono)) :inverse-video t :weight bold :underline t) (t :background "yellow" :foreground "firebrick" :extend t)) "Face used to visualize empty lines at beginning and/or end of buffer.\n\nSee `whitespace-empty-at-bob-regexp' and `whitespace-empty-at-eob-regexp." :group 'whitespace)#@136 Symbol face used to visualize `tab-width' or more SPACEs after TAB.
Used when `whitespace-style' includes the value `space-after-tab'.
(defvar whitespace-space-after-tab 'whitespace-space-after-tab (#$ . 14738))
(make-obsolete-variable 'whitespace-space-after-tab "use the face instead." "24.4")
(custom-declare-face 'whitespace-space-after-tab '((((class mono)) :inverse-video t :weight bold :underline t) (t :background "yellow" :foreground "firebrick")) "Face used to visualize `tab-width' or more SPACEs after TAB.\n\nSee `whitespace-space-after-tab-regexp'." :group 'whitespace)
(byte-code "\300\301\302\303\304DD\305\306\307\310\311&\210\300\312\302\303\313DD\314\306\315\310\311&\210\300\316\302\303\317DD\320\306\321\310\311&\210\300\322\302\303\323DD\324\306\325\310\311&\210\300\326\302\303\327DD\330\306\331\310\311&\210\300\332\302\303\333DD\334\306\335\310\311&\210\300\336\302\303\337DD\340\306\341\310\311&\210\300\342\302\303\343DD\344\306\345\310\311&\210\300\346\302\303\347DD\350\306\351\310\311&\210\300\352\302\303\353DD\354\355\356\306\357\310\311&	\210\300\360\302\303\361DD\362\306\363\364\365\310\311&	\210\300\366\302\303\367DD\370\306\371\310\311&\210\300\372\302\303\373DD\374\306\375\310\311&\210\300\376\302\303\377DD\201@ \306\201A \310\311&\207" [custom-declare-variable whitespace-hspace-regexp funcall function #[0 "\300\207" ["\\( +\\)"] 1 #1=""] "Regexp to match HARD SPACE characters that should be visualized.\n\nThe HARD SPACE characters are highlighted using the `whitespace-hspace' face.\nHere are some examples:\n\n   \"\\\\(^\\xA0+\\\\)\"		visualize only leading HARD SPACEs.\n   \"\\\\(\\xA0+$\\\\)\"		visualize only trailing HARD SPACEs.\n   \"\\\\(^\\xA0+\\\\|\\xA0+$\\\\)\"	visualize leading and/or trailing HARD SPACEs.\n   \"\\t\\\\(\\xA0+\\\\)\\t\"		visualize only HARD SPACEs between TABs.\n\nNOTE: Always enclose the elements to highlight in \\\\(...\\\\).\n      Use exactly one pair of enclosing \\\\( and \\\\).\n\nThis variable is used when `whitespace-style' includes `spaces'." :type (regexp :tag "HARD SPACE Chars") :group whitespace whitespace-space-regexp #[0 "\300\207" ["\\( +\\)"] 1 #1#] "Regexp to match SPACE characters that should be visualized.\n\nThe SPACE characters are highlighted using the `whitespace-space' face.\nBy default only ASCII SPACE character is visualized, but if you\nare typing in some non-Latin language, there may be other\ncharacters besides \" \" that should be considered SPACE.\n\nHere are some examples:\n\n   \"\\\\(^ +\\\\)\"		visualize only leading SPACEs.\n   \"\\\\( +$\\\\)\"		visualize only trailing SPACEs.\n   \"\\\\(^ +\\\\| +$\\\\)\"	visualize leading and/or trailing SPACEs.\n   \"\\t\\\\( +\\\\)\\t\"	visualize only SPACEs between TABs.\n\nNOTE: Always enclose the elements to highlight in \\\\(...\\\\).\n      Use exactly one pair of enclosing \\\\( and \\\\).\n\nThis variable is used when `whitespace-style' includes `spaces'." (regexp :tag "SPACE Chars") whitespace-tab-regexp #[0 "\300\207" ["\\(	+\\)"] 1 #1#] "Regexp to match TAB characters that should be visualized.\n\nThe TAB characters are highlighted using the `whitespace-tab' face.\nBy default only ASCII TAB character is visualized, but if you\nare typing in some non-Latin language, there may be other\ncharacters besides \" \" that should be considered a TAB.\n\nHere are some examples:\n\n   \"\\\\(^\\t+\\\\)\"		visualize only leading TABs.\n   \"\\\\(\\t+$\\\\)\"		visualize only trailing TABs.\n   \"\\\\(^\\t+\\\\|\\t+$\\\\)\"	visualize leading and/or trailing TABs.\n   \" \\\\(\\t+\\\\) \"	visualize only TABs between SPACEs.\n\nNOTE: Always enclose the elements to highlight in \\\\(...\\\\).\n      Use exactly one pair of enclosing \\\\( and \\\\).\n\nThis variable is used when `whitespace-style' includes `tabs'." (regexp :tag "TAB Chars") whitespace-trailing-regexp #[0 "\300\207" ["\\([	  ]+\\)$"] 1 #1#] "Regexp to match trailing characters that should be visualized.\n\nThe trailing characters are highlighted using the `whitespace-trailing' face.\nThere may be other characters besides:\n\n   \" \"  \"\\t\"  \"\\u00A0\"\n\nthat should be considered blank.\n\nNOTE: Always enclose the elements to highlight in \"\\\\(\"...\"\\\\)$\".\n      Use exactly one pair of enclosing elements above.\n\nThis variable is used when `whitespace-style' includes `trailing'." (regexp :tag "Trailing Chars") whitespace-space-before-tab-regexp #[0 "\300\207" ["\\( +\\)\\(	+\\)"] 1 #1#] "Regexp to match SPACEs before TAB that should be visualized.\n\nThe SPACE characters are highlighted using the `whitespace-space-before-tab'\nface.\nThis variable is used when `whitespace-style' includes\n`space-before-tab', `space-before-tab::tab' or `space-before-tab::space'." (regexp :tag "SPACEs Before TAB") whitespace-indentation-regexp #[0 "\300\207" [("^	*\\(\\( \\{%d\\}\\)+\\)[^\n	]" . "^ *\\(	+\\)[^\n]")] 1 #1#] "Regexps to match indentation whitespace that should be visualized.\n\nThe value should be a cons whose car specifies the regexp to match\nvisualization of SPACEs, and the cdr specifies the regexp to match\nvisualization of TABs.\n\nThe indentation characters are highlighted using the `whitespace-indentation'\nface.\nThis variable is used when `whitespace-style' includes `indentation',\n`indentation::tab' or  `indentation::space'." (cons (string :tag "Indentation SPACEs") (regexp :tag "Indentation TABs")) whitespace-empty-at-bob-regexp #[0 "\300\207" ["\\`\\([ 	\n]*\\(?:\n\\|$\\)\\)"] 1 #1#] "Regexp to match empty lines at beginning of buffer that should be visualized.\n\nThe empty lines are highlighted using the `whitespace-empty' face.\nThis variable is used when `whitespace-style' includes `empty'." (regexp :tag "Empty Lines At Beginning Of Buffer") whitespace-empty-at-eob-regexp #[0 "\300\207" ["^\\([ 	\n]+\\)\\'"] 1 #1#] "Regexp to match empty lines at end of buffer that should be visualized.\n\nThe empty lines are highlighted using the `whitespace-empty' face.\nThis variable is used when `whitespace-style' includes `empty'." (regexp :tag "Empty Lines At End Of Buffer") whitespace-space-after-tab-regexp #[0 "\300\207" [("	+\\(\\( \\{%d,\\}\\)+\\)" . "\\(	+\\) \\{%d,\\}")] 1 #1#] "Regexps to match multiple SPACEs after TAB that should be visualized.\n\nThe SPACE and TAB characters will be visualized if there at least\nas many SPACEs as `tab-width' after a TAB.\nThe value should be a cons whose car is used for SPACEs visualization\nand whose cdr is used for TABs visualization.\n\nThe SPACE characters are highlighted using the `whitespace-space-after-tab'\nface.\nThis variable is used when `whitespace-style' includes `space-after-tab',\n`space-after-tab::tab' or `space-after-tab::space'." (cons (string :tag "SPACEs After TAB") string) whitespace-big-indent-regexp #[0 "\300\207" ["^\\(\\(?:	\\{4,\\}\\| \\{32,\\}\\)[	 ]*\\)"] 1 #1#] "Regexp to match big indentation at BOL that should be visualized.\n\nThe indentation characters are highlighted using the `whitespace-big-indent'\nface.\nIf you're using non-Latin languages, there may be other characters\nbesides \"\\t\" that should be considered a TAB.\n\nNOTE: Always enclose the elements to highlight in \\\\(...\\\\).\n      Use exactly one pair of enclosing \\\\( and \\\\).\n\nThis variable is used when `whitespace-style' includes `big-indent'." :version "25.1" (regexp :tag "Detect too much indentation at the beginning of a line") whitespace-line-column #[0 "\300\207" [80] 1 #1#] "Column beyond which the line is highlighted.\n\nThe value must be an integer or nil.  If nil, use the value\nof the `fill-column' variable.\n\nThe characters beyond the column specified by this variable are\nhighlighted using the `whitespace-line' face.\n\nThis variable is used when `whitespace-style' includes `lines',\n`lines-tail' or `lines-char'." (choice :tag "Line Length Limit" (integer :tag "Line Length") (const :tag "Use fill-column" nil)) :safe integerp whitespace-display-mappings #[0 "\300\207" [((space-mark 32 [183] [46]) (space-mark 160 [164] [95]) (newline-mark 10 [36 10]) (tab-mark 9 [187 9] [92 9]))] 1 #1#] "Alist of mappings for displaying characters.\n\nEach element has the following form:\n\n   (KIND CHAR VECTOR...)\n\nWhere:\n\nKIND    is the kind of character.\n        It can be one of the following symbols:\n\n        tab-mark        for TAB character\n\n        space-mark      for SPACE or HARD SPACE character\n\n        newline-mark    for NEWLINE character\n\nCHAR    is the character to be mapped.\n\nVECTOR  is a vector of characters to be displayed in place of CHAR.\n        The first vector that can be displayed by the terminal is used;\n        if no display vector for a mapping can be displayed, then\n        that character is displayed unmodified.\n\nThe NEWLINE character is displayed using the face given by\n`whitespace-newline' variable.\n\nThis variable is used when `whitespace-style' includes `tab-mark',\n`space-mark' or `newline-mark'." (repeat (list :tag "Character Mapping" (choice :tag "Char Kind" (const :tag "Tab" tab-mark) (const :tag "Space" space-mark) (const :tag "Newline" newline-mark)) (character :tag "Char") (repeat :inline t :tag "Vector List" (vector :tag #1# (repeat :inline t :tag "Vector Characters" (character :tag "Char")))))) whitespace-global-modes #[0 "\300\207" [t] 1 #1#] "Modes for which global `whitespace-mode' is automagically turned on.\n\nGlobal `whitespace-mode' is controlled by the command\n`global-whitespace-mode'.\n\nIf nil, no modes have `whitespace-mode' automatically turned on.\n\nIf t, all modes that support `whitespace-mode' have it\nautomatically turned on.\n\nElse it should be a list of `major-mode' symbol names for which\n`whitespace-mode' should be automatically turned on.  The sense\nof the list is negated if it begins with `not'.  For example:\n\n   (c-mode c++-mode)\n\nmeans that `whitespace-mode' is turned on for buffers in C and\nC++ modes only." (choice :tag "Global Modes" (const :tag "None" nil) (const :tag "All" t) (set :menu-tag "Mode Specific" :tag "Modes" :value (not) (const :tag "Except" not) (repeat :inline t (symbol :tag "Mode")))) whitespace-action #[0 "\300\207" [nil] 1 #1#] "Specify which action is taken when a buffer is visited or written.\n\nThe value is a list containing one or more of the following symbols:\n\n   nil                  no action is taken.\n\n   cleanup              always cleanup any bogus whitespace when local\n                        whitespace is turned on.\n                        See `whitespace-cleanup' and\n                        `whitespace-cleanup-region'.\n\n   report-on-bogus      always report if there is any bogus whitespace\n                        when local whitespace is turned on.\n\n   auto-cleanup         cleanup any bogus whitespace when buffer is\n                        written.\n                        See `whitespace-cleanup' and\n                        `whitespace-cleanup-region'.\n\n   abort-on-bogus       signal an error when writing the buffer if there is\n                        any bogus whitespace in the buffer.\n\n   warn-if-read-only    give a warning if `cleanup' or `auto-cleanup'\n                        is included in `whitespace-action' and the\n                        buffer is read-only.\n\nAny other value is treated as nil." (choice :tag "Actions" (const :tag "None" nil) (repeat :tag "Action List" (choice :tag "Action" (const :tag "Cleanup When On" cleanup) (const :tag "Report On Bogus" report-on-bogus) (const :tag "Auto Cleanup" auto-cleanup) (const :tag "Abort On Bogus" abort-on-bogus) (const :tag "Warn If Read-Only" warn-if-read-only))))] 10)#@99 Non-nil if Whitespace mode is enabled.
Use the command `whitespace-mode' to change this variable.
(defvar whitespace-mode nil (#$ . 26390))
(make-variable-buffer-local 'whitespace-mode)#@809 Toggle whitespace visualization (Whitespace mode).

See also `whitespace-style', `whitespace-newline' and
`whitespace-display-mappings'.

This mode uses a number of faces to visualize the whitespace; see
the customization group `whitespace' for details.

This is a minor mode.  If called interactively, toggle the
`Whitespace 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 `whitespace-mode'.

The mode's hook is called both when the mode is enabled and when
it is disabled.

(fn &optional ARG)
(defalias 'whitespace-mode #[256 "\303 \304=\203 ?\202 \247\203 \305W\203 \306\202 \307\310\301!\2031 \311\300	\"\2031 \300	B\n\203: \306\202J \203G \312 \210\313 \210\202J \314 \210\315\316\203T \317\202U \320\"\210\321\322!\203x \303 \203i \211\303 \232\203x \323\324\325\203t \326\202u \327\330$\210\210\331 \210\207" [whitespace-mode local-minor-modes noninteractive current-message toggle 1 nil t boundp delq whitespace-turn-on whitespace-action-when-on whitespace-turn-off run-hooks whitespace-mode-hook whitespace-mode-on-hook whitespace-mode-off-hook called-interactively-p any message "%s %sabled%s" "Whitespace mode" "en" "dis" " in current buffer" force-mode-line-update] 7 (#$ . 26582) (byte-code "\203\n \301!\202 \302C\207" [current-prefix-arg prefix-numeric-value toggle] 2)])
(defvar whitespace-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\313\314\300!\205# \310\211%\207" [whitespace-mode-map whitespace-mode-hook variable-documentation put "Hook run after entering or leaving `whitespace-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 whitespace-mode " ws" boundp] 6)#@115 Non-nil if Whitespace-Newline mode is enabled.
Use the command `whitespace-newline-mode' to change this variable.
(defvar whitespace-newline-mode nil (#$ . 28714))
(make-variable-buffer-local 'whitespace-newline-mode)#@899 Toggle newline visualization (Whitespace Newline mode).

Use `whitespace-newline-mode' only for NEWLINE visualization
exclusively.  For other visualizations, including NEWLINE
visualization together with (HARD) SPACEs and/or TABs, please,
use `whitespace-mode'.

See also `whitespace-newline' and `whitespace-display-mappings'.

This is a minor mode.  If called interactively, toggle the
`Whitespace-Newline 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 `whitespace-newline-mode'.

The mode's hook is called both when the mode is enabled and when
it is disabled.

(fn &optional ARG)
(defalias 'whitespace-newline-mode #[256 "\304 \305=\203 ?\202 \247\203 \306W\203 \307\202 \310\311\301!\2031 \312\300	\"\2031 \300	B\313\303\203< \306\202= \314!)\210\315\316\203L \317\202M \320\"\210\321\322!\203p \304 \203a \211\304 \232\203p \323\324\325\203l \326\202m \327\330$\210\210\331 \210\207" [whitespace-newline-mode local-minor-modes whitespace-style whitespace-mode current-message toggle 1 nil t boundp delq (face newline-mark newline) -1 run-hooks whitespace-newline-mode-hook whitespace-newline-mode-on-hook whitespace-newline-mode-off-hook called-interactively-p any message "%s %sabled%s" "Whitespace-Newline mode" "en" "dis" " in current buffer" force-mode-line-update] 7 (#$ . 28938) (byte-code "\203\n \301!\202 \302C\207" [current-prefix-arg prefix-numeric-value toggle] 2)])
(defvar whitespace-newline-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\313\314\300!\205# \310\211%\210\315\316\317\320\321DD\322\323\324\325\326\327\330\331\332&\207" [whitespace-newline-mode-map whitespace-newline-mode-hook variable-documentation put "Hook run after entering or leaving `whitespace-newline-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 whitespace-newline-mode " nl" boundp custom-declare-variable global-whitespace-mode funcall function #[0 "\300\207" [nil] 1 ""] "Non-nil if Global Whitespace mode is enabled.\nSee the `global-whitespace-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-whitespace-mode'." :set custom-set-minor-mode :initialize custom-initialize-default :type boolean :group whitespace] 12)#@748 Toggle whitespace visualization globally (Global Whitespace mode).

See also `whitespace-style', `whitespace-newline' and
`whitespace-display-mappings'.

This is a global minor mode.  If called interactively, toggle the
`Global Whitespace 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 `(default-value \='global-whitespace-mode)'.

The mode's hook is called both when the mode is enabled and when
it is disabled.

(fn &optional ARG)
(defalias 'global-whitespace-mode #[256 "\304 \305\302\306=\203 \307\302!?\202! \247\203  \310W\203  \311\202! \312\"\210\313\300!\2038 \314\302\"\307\302!\2038 \302B	\203A \311\202\224 \n\203n r\315\316\317\"\210\315\320\317\"\210\321 \211\203i \211@\211q\210\204b \317 \210A\266\202\202R )\210\202\224 r\322\316\317\"\210\322\320\317\"\210\321 \211\203\222 \211@\211q\210\204\213 \323 \210A\266\202\202{ )\210\324\325\307\302!\203\240 \326\202\241 \327\"\210\330\331!\203\312 \332\302!\210\304 \203\271 \211\304 \232\203\312 \333\334\335\307\302!\203\306 \336\202\307 \337\340$\210\210\341 \210\307\302!\207" [global-minor-modes noninteractive global-whitespace-mode whitespace-mode current-message set-default toggle default-value 1 nil t boundp delq add-hook find-file-hook whitespace-turn-on-if-enabled after-change-major-mode-hook buffer-list remove-hook whitespace-turn-off run-hooks global-whitespace-mode-hook global-whitespace-mode-on-hook global-whitespace-mode-off-hook called-interactively-p any customize-mark-as-set message "%s %sabled%s" "Global Whitespace mode" "en" "dis" "" force-mode-line-update] 7 (#$ . 31757) (byte-code "\203\n \301!\202 \302C\207" [current-prefix-arg prefix-numeric-value toggle] 2)])
(defvar global-whitespace-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\313\314\300!\205# \310\211%\207" [global-whitespace-mode-map global-whitespace-mode-hook variable-documentation put "Hook run after entering or leaving `global-whitespace-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-whitespace-mode " WS" boundp] 6)#@248 Predicate to decide which buffers obey `global-whitespace-mode'.
This function is called with no argument and should return non-nil
if the current buffer should obey `global-whitespace-mode'.
This variable is normally modified via `add-function'.
(defvar whitespace-enable-predicate #[0 "\302=\204& <\203\" \242\303=\203 \304\305A\"?\202# \304\305\"\202# \306\205C 	?\205C \307 \310H\311=?\205C \307 \310H\312=?\206C \307 \313\230\207" [whitespace-global-modes noninteractive t not apply derived-mode-p nil buffer-name 0 32 42 "*scratch*"] 3] (#$ . 34292))
(defalias 'whitespace-turn-on-if-enabled #[0 " \205 \301 \207" [whitespace-enable-predicate whitespace-turn-on] 1])
(byte-code "\300\301\302\303\304DD\305\306\307\310\311\312\313\314\315&\207" [custom-declare-variable global-whitespace-newline-mode funcall function #[0 "\300\207" [nil] 1 ""] "Non-nil if Global Whitespace-Newline mode is enabled.\nSee the `global-whitespace-newline-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-whitespace-newline-mode'." :set custom-set-minor-mode :initialize custom-initialize-default :type boolean :group whitespace] 12)#@966 Toggle global newline visualization (Global Whitespace Newline mode).

Use `global-whitespace-newline-mode' only for NEWLINE
visualization exclusively.  For other visualizations, including
NEWLINE visualization together with (HARD) SPACEs and/or TABs,
please use `global-whitespace-mode'.

See also `whitespace-newline' and `whitespace-display-mappings'.

This is a global minor mode.  If called interactively, toggle the
`Global Whitespace-Newline 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 `(default-value \='global-whitespace-newline-mode)'.

The mode's hook is called both when the mode is enabled and when
it is disabled.

(fn &optional ARG)
(defalias 'global-whitespace-newline-mode #[256 "\304 \305\302\306=\203 \307\302!?\202! \247\203  \310W\203  \311\202! \312\"\210\313\300!\2038 \314\302\"\307\302!\2038 \302B\315\303\n\203C \310\202D \316!\210)\317\320\307\302!\203U \321\202V \322\"\210\323\324!\203 \325\302!\210\304 \203n \211\304 \232\203 \326\327\330\307\302!\203{ \331\202| \332\333$\210\210\334 \210\307\302!\207" [global-minor-modes whitespace-style global-whitespace-newline-mode global-whitespace-mode current-message set-default toggle default-value 1 nil t boundp delq (newline-mark newline) -1 run-hooks global-whitespace-newline-mode-hook global-whitespace-newline-mode-on-hook global-whitespace-newline-mode-off-hook called-interactively-p any customize-mark-as-set message "%s %sabled%s" "Global Whitespace-Newline mode" "en" "dis" "" force-mode-line-update] 7 (#$ . 35576) (byte-code "\203\n \301!\202 \302C\207" [current-prefix-arg prefix-numeric-value toggle] 2)])
(defvar global-whitespace-newline-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\313\314\300!\205# \310\211%\210\315\312\316\317#\207" [global-whitespace-newline-mode-map global-whitespace-newline-mode-hook variable-documentation put "Hook run after entering or leaving `global-whitespace-newline-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-whitespace-newline-mode " NL" boundp make-obsolete "use `global-whitespace-mode' with `whitespace-style' set to `(newline-mark newline)' instead." "28.1"] 6)#@42 List of valid `whitespace-style' values.
(defconst whitespace-style-value-list '(face tabs spaces trailing lines lines-tail lines-char newline empty indentation indentation::tab indentation::space big-indent space-after-tab space-after-tab::tab space-after-tab::space space-before-tab space-before-tab::tab space-before-tab::space help-newline tab-mark space-mark newline-mark) (#$ . 38230))#@216 Alist of toggle options.

Each element has the form:

   (CHAR . SYMBOL)

Where:

CHAR	is a char which the user will have to type.

SYMBOL	is a valid symbol associated with CHAR.
	See `whitespace-style-value-list'.
(defconst whitespace-toggle-option-alist '((102 . face) (116 . tabs) (115 . spaces) (114 . trailing) (108 . lines) (76 . lines-tail) (12 . lines-char) (110 . newline) (101 . empty) (9 . indentation) (73 . indentation::tab) (105 . indentation::space) (20 . big-indent) (1 . space-after-tab) (65 . space-after-tab::tab) (97 . space-after-tab::space) (2 . space-before-tab) (66 . space-before-tab::tab) (98 . space-before-tab::space) (84 . tab-mark) (83 . space-mark) (78 . newline-mark) (120 . whitespace-style)) (#$ . 38628))#@48 Used to save locally `whitespace-style' value.
(defvar whitespace-active-style nil (#$ . 39373))
(make-variable-buffer-local 'whitespace-active-style)#@102 Used to save locally current point value.
Used by function `whitespace-trailing-regexp' (which see).
(defvar whitespace-point (point) (#$ . 39530))
(make-variable-buffer-local 'whitespace-point)#@58 Region whose highlighting depends on `whitespace-point'.
(defvar whitespace-point--used nil (#$ . 39730))
(make-variable-buffer-local 'whitespace-point--used)#@324 Position of the buffer's first non-empty line.
This marker is positioned at the beginning of the first line in
the buffer that contains a non-space character.  If no such line
exists, this is positioned at the end of the buffer (which could
be after `whitespace-eob-marker' if the buffer contains nothing
but empty lines).
(defvar whitespace-bob-marker nil (#$ . 39895))
(make-variable-buffer-local 'whitespace-bob-marker)#@369 Position after the buffer's last non-empty line.
This marker is positioned at the beginning of the first line
immediately following the last line in the buffer that contains a
non-space character.  If no such line exists, this is positioned
at the beginning of the buffer (which could be before
`whitespace-bob-marker' if the buffer contains nothing but empty
lines).
(defvar whitespace-eob-marker nil (#$ . 40324))
(make-variable-buffer-local 'whitespace-eob-marker)#@139 Used to indicate locally if buffer changed.
Used by `whitespace-post-command-hook' and `whitespace-buffer-changed'
functions (which see).
(defvar whitespace-buffer-changed nil (#$ . 40798))
(make-variable-buffer-local 'whitespace-buffer-changed)#@2748 Toggle local `whitespace-mode' options.

If local whitespace-mode is off, toggle the option given by ARG
and turn on local whitespace-mode.

If local whitespace-mode is on, toggle the option given by ARG
and restart local whitespace-mode.

Interactively, it reads one of the following chars:

  CHAR	MEANING
  (VIA FACES)
   f	toggle face visualization
   t	toggle TAB visualization
   s	toggle SPACE and HARD SPACE visualization
   r	toggle trailing blanks visualization
   l	toggle "long lines" visualization
   L	toggle "long lines" tail visualization
   n	toggle NEWLINE visualization
   e	toggle empty line at bob and/or eob visualization
   C-i	toggle indentation SPACEs visualization (via `indent-tabs-mode')
   I	toggle indentation SPACEs visualization
   i	toggle indentation TABs visualization
   C-t	toggle big indentation visualization
   C-a	toggle SPACEs after TAB visualization (via `indent-tabs-mode')
   A	toggle SPACEs after TAB: SPACEs visualization
   a	toggle SPACEs after TAB: TABs visualization
   C-b	toggle SPACEs before TAB visualization (via `indent-tabs-mode')
   B	toggle SPACEs before TAB: SPACEs visualization
   b	toggle SPACEs before TAB: TABs visualization

  (VIA DISPLAY TABLE)
   T	toggle TAB visualization
   S	toggle SPACEs before TAB visualization
   N	toggle NEWLINE visualization

   x	restore `whitespace-style' value
   ?	display brief help

Non-interactively, ARG should be a symbol or a list of symbols.
The valid symbols are:

   face			toggle face visualization
   tabs			toggle TAB visualization
   spaces		toggle SPACE and HARD SPACE visualization
   trailing		toggle trailing blanks visualization
   lines		toggle "long lines" visualization
   lines-tail		toggle "long lines" tail visualization
   newline		toggle NEWLINE visualization
   empty		toggle empty line at bob and/or eob visualization
   indentation		toggle indentation SPACEs visualization
   indentation::tab	toggle indentation SPACEs visualization
   indentation::space	toggle indentation TABs visualization
   big-indent		toggle big indentation visualization
   space-after-tab		toggle SPACEs after TAB visualization
   space-after-tab::tab		toggle SPACEs after TAB: SPACEs visualization
   space-after-tab::space	toggle SPACEs after TAB: TABs visualization
   space-before-tab		toggle SPACEs before TAB visualization
   space-before-tab::tab	toggle SPACEs before TAB: SPACEs visualization
   space-before-tab::space	toggle SPACEs before TAB: TABs visualization

   tab-mark		toggle TAB visualization
   space-mark		toggle SPACEs before TAB visualization
   newline-mark		toggle NEWLINE visualization

   whitespace-style	restore `whitespace-style' value

See `whitespace-style' and `indent-tabs-mode' for documentation.

(fn ARG)
(defalias 'whitespace-toggle-options #[257 "\302\303#\304\305!\210\304\306!)\207" [whitespace-active-style whitespace-style whitespace-toggle-list t whitespace-mode 0 1] 5 (#$ . 41051) (whitespace-interactive-char t)])#@53 Used to toggle the global `whitespace-style' value.
(defvar whitespace-toggle-style nil (#$ . 44025))#@2873 Toggle global `whitespace-mode' options.

If global whitespace-mode is off, toggle the option given by ARG
and turn on global whitespace-mode.

If global whitespace-mode is on, toggle the option given by ARG
and restart global whitespace-mode.

Interactively, it accepts one of the following chars:

  CHAR	MEANING
  (VIA FACES)
   f	toggle face visualization
   t	toggle TAB visualization
   s	toggle SPACE and HARD SPACE visualization
   r	toggle trailing blanks visualization
   l	toggle "long lines" visualization
   L	toggle "long lines" tail visualization
   C-l	toggle "long lines" one character visualization
   n	toggle NEWLINE visualization
   e	toggle empty line at bob and/or eob visualization
   C-i	toggle indentation SPACEs visualization (via `indent-tabs-mode')
   I	toggle indentation SPACEs visualization
   i	toggle indentation TABs visualization
   C-t	toggle big indentation visualization
   C-a	toggle SPACEs after TAB visualization (via `indent-tabs-mode')
   A	toggle SPACEs after TAB: SPACEs visualization
   a	toggle SPACEs after TAB: TABs visualization
   C-b	toggle SPACEs before TAB visualization (via `indent-tabs-mode')
   B	toggle SPACEs before TAB: SPACEs visualization
   b	toggle SPACEs before TAB: TABs visualization

  (VIA DISPLAY TABLE)
   T	toggle TAB visualization
   S	toggle SPACEs before TAB visualization
   N	toggle NEWLINE visualization

   x	restore `whitespace-style' value
   ?	display brief help

Non-interactively, ARG should be a symbol or a list of symbols.
The valid symbols are:

   face			toggle face visualization
   tabs			toggle TAB visualization
   spaces		toggle SPACE and HARD SPACE visualization
   trailing		toggle trailing blanks visualization
   lines		toggle "long lines" visualization
   lines-tail		toggle "long lines" tail visualization
   lines-char		toggle "long lines" one character visualization
   newline		toggle NEWLINE visualization
   empty		toggle empty line at bob and/or eob visualization
   indentation		toggle indentation SPACEs visualization
   indentation::tab	toggle indentation SPACEs visualization
   indentation::space	toggle indentation TABs visualization
   big-indent		toggle big indentation visualization
   space-after-tab		toggle SPACEs after TAB visualization
   space-after-tab::tab		toggle SPACEs after TAB: SPACEs visualization
   space-after-tab::space	toggle SPACEs after TAB: TABs visualization
   space-before-tab		toggle SPACEs before TAB visualization
   space-before-tab::tab	toggle SPACEs before TAB: SPACEs visualization
   space-before-tab::space	toggle SPACEs before TAB: TABs visualization

   tab-mark		toggle TAB visualization
   space-mark		toggle SPACEs before TAB visualization
   newline-mark		toggle NEWLINE visualization

   whitespace-style	restore `whitespace-style' value

See `whitespace-style' and `indent-tabs-mode' for documentation.

(fn ARG)
(defalias 'global-whitespace-toggle-options #[257 "\302\303#\211\304\305!\210\304\306!)\207" [whitespace-toggle-style whitespace-style whitespace-toggle-list nil global-whitespace-mode 0 1] 6 (#$ . 44134) (whitespace-interactive-char nil)])#@2086 Cleanup some blank problems in all buffer or at region.

It usually applies to the whole buffer, but in transient mark
mode when the mark is active, it applies to the region.  It also
applies to the region when it is not in transient mark mode, the
mark is active and \[universal-argument] was pressed just before
calling `whitespace-cleanup' interactively.

See also `whitespace-cleanup-region'.

The problems cleaned up are:

1. empty lines at beginning of buffer.
2. empty lines at end of buffer.
   If `whitespace-style' includes the value `empty', remove all
   empty lines at beginning and/or end of buffer.

3. `tab-width' or more SPACEs at beginning of line.
   If `whitespace-style' includes the value `indentation':
   replace `tab-width' or more SPACEs at beginning of line by
   TABs, if `indent-tabs-mode' is non-nil; otherwise, replace TABs by
   SPACEs.
   If `whitespace-style' includes the value `indentation::tab',
   replace `tab-width' or more SPACEs at beginning of line by TABs.
   If `whitespace-style' includes the value `indentation::space',
   replace TABs by SPACEs.

4. SPACEs before TAB.
   If `whitespace-style' includes the value `space-before-tab':
   replace SPACEs by TABs, if `indent-tabs-mode' is non-nil;
   otherwise, replace TABs by SPACEs.
   If `whitespace-style' includes the value
   `space-before-tab::tab', replace SPACEs by TABs.
   If `whitespace-style' includes the value
   `space-before-tab::space', replace TABs by SPACEs.

5. SPACEs or TABs at end of line.
   If `whitespace-style' includes the value `trailing', remove
   all SPACEs or TABs at end of line.

6. `tab-width' or more SPACEs after TAB.
   If `whitespace-style' includes the value `space-after-tab':
   replace SPACEs by TABs, if `indent-tabs-mode' is non-nil;
   otherwise, replace TABs by SPACEs.
   If `whitespace-style' includes the value
   `space-after-tab::tab', replace SPACEs by TABs.
   If `whitespace-style' includes the value
   `space-after-tab::space', replace TABs by SPACEs.

See `whitespace-style', `indent-tabs-mode' and `tab-width' for
documentation.
(defalias 'whitespace-cleanup #[0 "\203 \306\307!\207	\204 \n\203 \203 \310\311 \312 \"\207\212\313\f>\203D \314eb\210\315!\2034 \316\224\316\225|\210\317\314\320#\203C \316\224\316\225|\210))\310ed\"\207" [buffer-read-only transient-mark-mode current-prefix-arg mark-active whitespace-style overwrite-mode whitespace-warn-read-only "cleanup" whitespace-cleanup-region region-beginning region-end empty nil looking-at 1 re-search-forward t whitespace-empty-at-bob-regexp whitespace-empty-at-eob-regexp] 4 (#$ . 47258) "@"])#@1557 Cleanup some blank problems at region.

The problems cleaned up are:

1. `tab-width' or more SPACEs at beginning of line.
   If `whitespace-style' includes the value `indentation':
   replace `tab-width' or more SPACEs at beginning of line by TABs,
   if `indent-tabs-mode' is non-nil; otherwise, replace TABs by
   SPACEs.
   If `whitespace-style' includes the value `indentation::tab',
   replace `tab-width' or more SPACEs at beginning of line by TABs.
   If `whitespace-style' includes the value `indentation::space',
   replace TABs by SPACEs.

2. SPACEs before TAB.
   If `whitespace-style' includes the value `space-before-tab':
   replace SPACEs by TABs, if `indent-tabs-mode' is non-nil;
   otherwise, replace TABs by SPACEs.
   If `whitespace-style' includes the value
   `space-before-tab::tab', replace SPACEs by TABs.
   If `whitespace-style' includes the value
   `space-before-tab::space', replace TABs by SPACEs.

3. SPACEs or TABs at end of line.
   If `whitespace-style' includes the value `trailing', remove
   all SPACEs or TABs at end of line.

4. `tab-width' or more SPACEs after TAB.
   If `whitespace-style' includes the value `space-after-tab':
   replace SPACEs by TABs, if `indent-tabs-mode' is non-nil;
   otherwise, replace TABs by SPACEs.
   If `whitespace-style' includes the value
   `space-after-tab::tab', replace SPACEs by TABs.
   If `whitespace-style' includes the value
   `space-after-tab::space', replace TABs by SPACEs.

See `whitespace-style', `indent-tabs-mode' and `tab-width' for
documentation.

(fn START END)
(defalias 'whitespace-cleanup-region #[514 "\203 \306\307!\207^\310]!\311\211\212\312\n>\203A \313 b\210\314\315#\203= \316 \262\317\224b\210\320 \210l\204  j\210\202  \210\202d \321\n>\203T \322\323\313\324!\317%\210\202d \325\n>\203d \322\326\313\327!\317%\210\330\n>\203r \322\331\332%\210\333\n>\203\214 \322\f\203\201 \323\202\202 \326\334 \332%\210\202\257 \335\n>\203\237 \322\323\334\324!\332%\210\202\257 \336\n>\203\257 \322\326\334\327!\332%\210\337\n>\203\320 \322\f\203\276 \323\202\277 \326\f\203\312 \317\202\313 \340%\210\202\357 \341\n>\203\341 \322\323\317%\210\202\357 \342\n>\203\357 \322\326\340%\210)\311\211\223)\207" [buffer-read-only overwrite-mode whitespace-style whitespace-trailing-regexp indent-tabs-mode whitespace-space-before-tab-regexp whitespace-warn-read-only "cleanup region" copy-marker nil indentation whitespace-indentation-regexp re-search-forward t current-indentation 0 delete-horizontal-space indentation::tab whitespace-replace-action tabify tab indentation::space untabify space trailing delete-region 1 space-after-tab whitespace-space-after-tab-regexp space-after-tab::tab space-after-tab::space space-before-tab 2 space-before-tab::tab space-before-tab::space] 12 (#$ . 49885) "@r"])#@193 Do ACTION in the string matched by REGEXP between RSTART and REND.

INDEX is the level group matched by REGEXP and used by ACTION.

See also `tab-width'.

(fn ACTION RSTART REND REGEXP INDEX)
(defalias 'whitespace-replace-action #[1285 "b\210\300\301#\205 \211\225b\210\224\225\"\210\202 \207" [re-search-forward t] 9 (#$ . 52716)])#@76 Return REGEXP depending on `indent-tabs-mode'.

(fn REGEXP &optional KIND)
(defalias 'whitespace-regexp #[513 "\302\303=\204 \203 @\202 \304=\204 ?\205 A	\"\207" [indent-tabs-mode tab-width format tab space] 5 (#$ . 53062)])#@85 Return the indentation regexp depending on `indent-tabs-mode'.

(fn &optional KIND)
(defalias 'whitespace-indentation-regexp #[256 "\301\"\207" [whitespace-indentation-regexp whitespace-regexp] 4 (#$ . 53303)])#@89 Return the space-after-tab regexp depending on `indent-tabs-mode'.

(fn &optional KIND)
(defalias 'whitespace-space-after-tab-regexp #[256 "\301\"\207" [whitespace-space-after-tab-regexp whitespace-regexp] 4 (#$ . 53521)])#@59 List of whitespace bogus symbol and corresponding regexp.
(defconst whitespace-report-list (byte-code "\304B\304	B\305\nB\306C\307C\310C\311B\312B\313B\314C\315C\316C\257\f\207" [whitespace-empty-at-bob-regexp whitespace-empty-at-eob-regexp whitespace-trailing-regexp whitespace-space-before-tab-regexp empty trailing indentation indentation::tab indentation::space space-before-tab space-before-tab::tab space-before-tab::space space-after-tab space-after-tab::tab space-after-tab::space] 12) (#$ . 53751))#@181 Text for whitespace bogus report.

It is a cons of strings, where the car part is used when
`indent-tabs-mode' is non-nil, and the cdr part is used when
`indent-tabs-mode' is nil.
(defconst whitespace-report-text '(" Whitespace Report\n\n Current Setting                       Whitespace Problem\n\n empty                    []     []  empty lines at beginning of buffer\n empty                    []     []  empty lines at end of buffer\n trailing                 []     []  SPACEs or TABs at end of line\n indentation              []     []  >= `tab-width' SPACEs at beginning of line\n indentation::tab         []     []  >= `tab-width' SPACEs at beginning of line\n indentation::space       []     []  TABs at beginning of line\n space-before-tab         []     []  SPACEs before TAB\n space-before-tab::tab    []     []  SPACEs before TAB: SPACEs\n space-before-tab::space  []     []  SPACEs before TAB: TABs\n space-after-tab          []     []  >= `tab-width' SPACEs after TAB\n space-after-tab::tab     []     []  >= `tab-width' SPACEs after TAB: SPACEs\n space-after-tab::space   []     []  >= `tab-width' SPACEs after TAB: TABs\n\n indent-tabs-mode =\n tab-width        = \n\n" . " Whitespace Report\n\n Current Setting                       Whitespace Problem\n\n empty                    []     []  empty lines at beginning of buffer\n empty                    []     []  empty lines at end of buffer\n trailing                 []     []  SPACEs or TABs at end of line\n indentation              []     []  TABs at beginning of line\n indentation::tab         []     []  >= `tab-width' SPACEs at beginning of line\n indentation::space       []     []  TABs at beginning of line\n space-before-tab         []     []  SPACEs before TAB\n space-before-tab::tab    []     []  SPACEs before TAB: SPACEs\n space-before-tab::space  []     []  SPACEs before TAB: TABs\n space-after-tab          []     []  >= `tab-width' SPACEs after TAB\n space-after-tab::tab     []     []  >= `tab-width' SPACEs after TAB: SPACEs\n space-after-tab::space   []     []  >= `tab-width' SPACEs after TAB: TABs\n\n indent-tabs-mode =\n tab-width        = \n\n") (#$ . 54269))#@46 The buffer name for whitespace bogus report.
(defconst whitespace-report-buffer-name "*Whitespace Report*" (#$ . 56435))#@141 Report some whitespace problems in buffer.

Perform `whitespace-report-region' on the current buffer.

(fn &optional FORCE REPORT-IF-BOGUS)
(defalias 'whitespace-report #[512 "\300ed$\207" [whitespace-report-region] 7 (#$ . 56562) (list current-prefix-arg)])#@1360 Report some whitespace problems in a region.

Return nil if there is no whitespace problem; otherwise, return
non-nil.

If FORCE is non-nil or \[universal-argument] was pressed just
before calling `whitespace-report-region' interactively, it
forces all classes of whitespace problem to be considered
significant.

If REPORT-IF-BOGUS is t, it reports only when there are any
whitespace problems in buffer; if it is `never', it does not
report problems.

Report if some of the following whitespace problems exist:

* If `indent-tabs-mode' is non-nil:
   empty		1. empty lines at beginning of buffer.
   empty		2. empty lines at end of buffer.
   trailing		3. SPACEs or TABs at end of line.
   indentation		4. line starts with `tab-width' or more SPACEs.
   space-before-tab	5. SPACEs before TAB.
   space-after-tab	6. `tab-width' or more SPACEs after TAB.

* If `indent-tabs-mode' is nil:
   empty		1. empty lines at beginning of buffer.
   empty		2. empty lines at end of buffer.
   trailing		3. SPACEs or TABs at end of line.
   indentation		4. TABS at beginning of line.
   space-before-tab	5. SPACEs before TAB.
   space-after-tab	6. `tab-width' or more SPACEs after TAB.

See `whitespace-style' for documentation.
See also `whitespace-cleanup' and `whitespace-cleanup-region' for
cleaning up these problems.

(fn START END &optional FORCE REPORT-IF-BOGUS)
(defalias 'whitespace-report-region #[1026 "C\211\206	 \242\240\210\212\306C^]\307	\206 \n!C\310\311\312	&\"\313\267\202: \202? \202\266 \242\203\266 \314\f!\210r\315\f!q\210\316\317 \210\320 \210\203_ @\202b Ac\210eb\210\321y\210\211\203\220 \211@\322y\210\323\324@\242>\"\210\323\325@\"\210A\262A\266\202\202k \210\322y\210\326!\210\326!\210\242\203\260 db\210\327\330!\331\327\332!\333\261\210\334p!*\266\242\266\205)\207" [current-prefix-arg whitespace-active-style whitespace-style whitespace-report-list whitespace-report-buffer-name indent-tabs-mode nil copy-sequence mapcar make-closure #[257 "\304\242\203 \300@\300\242B\240\210\302b\210\211@\305=\203 \306 \202i \211@\307=\203) \306\310!\202i \211@\311=\2036 \306\312!\202i \211@\313=\203B \314 \202i \211@\315=\203O \314\310!\202i \211@\316=\203\\ \314\312!\202i \211@\317=\203g \320\202i \211A\321\301\322#\205 \303\242\204~ \303@\300\242>\240\210\322\207" [V0 V1 V2 V3 V4 indentation whitespace-indentation-regexp indentation::tab tab indentation::space space space-after-tab whitespace-space-after-tab-regexp space-after-tab::tab space-after-tab::space missing-newline-at-eof "[^\n]\\'" re-search-forward t] 6 "\n\n(fn OPTION)"] #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (nil 52 never 55)) whitespace-kill-buffer get-buffer-create t special-mode erase-buffer 3 1 whitespace-mark-x 27 7 whitespace-insert-value substitute-command-keys " Type `\\[whitespace-cleanup]'" " to cleanup the buffer.\n\n" " Type `\\[whitespace-cleanup-region]'" " to cleanup a region.\n\n" whitespace-display-window tab-width inhibit-read-only whitespace-report-text] 18 (#$ . 56830) "r"])#@76 Used to save the value `whitespace-color-on' adds to `font-lock-keywords'.
(defvar whitespace-font-lock-keywords nil (#$ . 59920))
(make-variable-buffer-local 'whitespace-font-lock-keywords)#@37 Text for whitespace toggle options.
(defconst whitespace-help-text " Whitespace Toggle Options                  | scroll up  :  SPC   or > |\n                                            | scroll down:  M-SPC or < |\n FACES                                      \\__________________________/\n []  f   - toggle face visualization\n []  t   - toggle TAB visualization\n []  s   - toggle SPACE and HARD SPACE visualization\n []  r   - toggle trailing blanks visualization\n []  l   - toggle \"long lines\" visualization\n []  L   - toggle \"long lines\" tail visualization\n []  C-l - toggle \"long lines\" one character visualization\n []  n   - toggle NEWLINE visualization\n []  e   - toggle empty line at bob and/or eob visualization\n []  C-i - toggle indentation SPACEs visualization (via `indent-tabs-mode')\n []  I   - toggle indentation SPACEs visualization\n []  i   - toggle indentation TABs visualization\n []  C-t - toggle big indentation visualization\n []  C-a - toggle SPACEs after TAB visualization (via `indent-tabs-mode')\n []  A   - toggle SPACEs after TAB: SPACEs visualization\n []  a   - toggle SPACEs after TAB: TABs visualization\n []  C-b - toggle SPACEs before TAB visualization (via `indent-tabs-mode')\n []  B   - toggle SPACEs before TAB: SPACEs visualization\n []  b   - toggle SPACEs before TAB: TABs visualization\n\n DISPLAY TABLE\n []  T - toggle TAB visualization\n []  S - toggle SPACE and HARD SPACE visualization\n []  N - toggle NEWLINE visualization\n\n      x - restore `whitespace-style' value\n\n      ? - display this text\n\n" (#$ . 60116))#@48 The buffer name for whitespace toggle options.
(defconst whitespace-help-buffer-name "*Whitespace Toggle Options*" (#$ . 61704))#@53 Insert VALUE at column 20 of next line.

(fn VALUE)
(defalias 'whitespace-insert-value #[257 "\300y\210\301\302\303\"\210\304\305\"c\207" [1 move-to-column 20 t format "%s"] 4 (#$ . 61838)])#@90 Insert the mark (`X' or ` ') after NCHARS depending on CONDITION.

(fn NCHARS CONDITION)
(defalias 'whitespace-mark-x #[514 "u\210\211\203 \300\202\f \301c\207" ["X" " "] 3 (#$ . 62035)])#@88 Insert the option mark (`X' or ` ') in toggle options buffer.

(fn THE-LIST THE-VALUE)
(defalias 'whitespace-insert-option-mark #[514 "eb\210\300y\210\211\205* \211@\211\301=\203 \300y\210\202# \302y\210\303\300>\"\210A\266\202\202 \207" [2 help-newline 1 whitespace-mark-x] 8 (#$ . 62230)])#@52 Display the whitespace toggle options.

(fn STYLE)
(defalias 'whitespace-help-on #[257 "\303!?\205\" \304 \210\305!r\211q\210\306 \210	c\210\307\n\"\210\310!)\262\207" [whitespace-help-buffer-name whitespace-help-text whitespace-style-value-list get-buffer delete-other-windows get-buffer-create erase-buffer whitespace-insert-option-mark whitespace-display-window] 5 (#$ . 62533)])#@68 Display BUFFER, preferably below the selected window.

(fn BUFFER)
(defalias 'whitespace-display-window #[257 "eb\210\300\301!\210\302\303\"\304!\207" [set-buffer-modified-p nil display-buffer ((display-buffer-reuse-window display-buffer-below-selected)) shrink-window-if-larger-than-buffer] 4 (#$ . 62926)])#@72 Kill buffer BUFFER-NAME and windows related with it.

(fn BUFFER-NAME)
(defalias 'whitespace-kill-buffer #[257 "\300!\211\205 \301!\210\302!\207" [get-buffer delete-windows-on kill-buffer] 4 (#$ . 63242)])#@64 Remove the buffer and window of the whitespace toggle options.
(defalias 'whitespace-help-off #[0 "\301!\207" [whitespace-help-buffer-name whitespace-kill-buffer] 2 (#$ . 63457)])#@108 Scroll help window, if it exists.

If UP is non-nil, scroll up; otherwise, scroll down.

(fn &optional UP)
(defalias 'whitespace-help-scroll #[256 "\30115 \302!\211\203/ \303\304!!r\305\306\"\216\307@\310\"\210\203& \311\312!\202) \313\312!*\262\2021 \314 \2620\207\210\315\207" [whitespace-help-buffer-name (error) get-buffer internal--before-with-selected-window get-buffer-window make-closure #[0 "\301\300!\207" [V0 internal--after-with-selected-window] 2] select-window norecord scroll-up 3 scroll-down ding nil] 6 (#$ . 63644)])#@1349 Interactive function to read a char and return a symbol.

If LOCAL-P is non-nil, it uses a local context; otherwise, it
uses a global context.

It accepts one of the following chars:

  CHAR	MEANING
  (VIA FACES)
   f	toggle face visualization
   t	toggle TAB visualization
   s	toggle SPACE and HARD SPACE visualization
   r	toggle trailing blanks visualization
   l	toggle "long lines" visualization
   L	toggle "long lines" tail visualization
   C-l	toggle "long lines" one character visualization
   n	toggle NEWLINE visualization
   e	toggle empty line at bob and/or eob visualization
   C-i	toggle indentation SPACEs visualization (via `indent-tabs-mode')
   I	toggle indentation SPACEs visualization
   i	toggle indentation TABs visualization
   C-a	toggle SPACEs after TAB visualization (via `indent-tabs-mode')
   A	toggle SPACEs after TAB: SPACEs visualization
   a	toggle SPACEs after TAB: TABs visualization
   C-b	toggle SPACEs before TAB visualization (via `indent-tabs-mode')
   B	toggle SPACEs before TAB: SPACEs visualization
   b	toggle SPACEs before TAB: TABs visualization

  (VIA DISPLAY TABLE)
   T	toggle TAB visualization
   S	toggle SPACE and HARD SPACE visualization
   N	toggle NEWLINE visualization

   x	restore `whitespace-style' value
   ?	display brief help

See also `whitespace-toggle-option-alist'.

(fn LOCAL-P)
(defalias 'whitespace-interactive-char #[257 "\211\203 \202	 	?\211\203 \n\202 \203 \202 \f\306\307\203% \310\202& \311\"\312\211\313 \314\315\"\216\3161{ \317!\262\236A\211\262\204p \320\267\202j \321!\210\2024 \322\323!\210\2024 \322 \210\2024 \322\323!\210\2024 \322 \210\2024 \324 \210\2024 \325 \210\326\327!0\210\202\205 \325 \210\330\331!!\266)\210\211C\207" [whitespace-mode global-whitespace-mode whitespace-style whitespace-active-style whitespace-toggle-style whitespace-toggle-option-alist format "Whitespace Toggle %s (type ? for further options)-" "Local" "Global" nil current-window-configuration make-closure #[0 "\301\300!\207" [V0 set-window-configuration] 2] (quit error) read-char #s(hash-table size 5 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (63 73 32 80 134217760 87 62 93 60 100)) whitespace-help-on whitespace-help-scroll t ding whitespace-help-off message " " error error-message-string] 11 (#$ . 64193)])#@301 Toggle options in THE-LIST based on list ARG.

If LOCAL-P is non-nil, it uses a local context; otherwise, it
uses a global context.

ARG is a list of options to be toggled.

THE-LIST is a list of options.  This list will be toggled and the
resultant list will be returned.

(fn LOCAL-P ARG THE-LIST)
(defalias 'whitespace-toggle-list #[771 "\203 \202	 	\204 \n\262\304!\262<\203 \202 C\211\203V \211@\211\305=\204O \211\302=\2037 \n\262\202O \211>\203O \211>\203J \306\"\202M \211B\262A\266\202\202 \210\207" [whitespace-mode global-whitespace-mode whitespace-style whitespace-style-value-list copy-sequence help-newline delq] 8 (#$ . 66520)])#@37 Used to save a local display table.
(defvar whitespace-display-table nil (#$ . 67190))
(make-variable-buffer-local 'whitespace-display-table)#@72 Used to remember whether a buffer initially had a local display table.
(defvar whitespace-display-table-was-local nil (#$ . 67337))
(make-variable-buffer-local 'whitespace-display-table-was-local)#@35 Turn on whitespace visualization.
(defalias 'whitespace-turn-on #[0 "\305\306\307\310\311$\210\312\300!\210\310\312\301!\210\310\312\302!\210\310\312\304!\210<\203& \202( C\211\2052 \313 \210\314 \207" [whitespace-font-lock-keywords whitespace-display-table whitespace-display-table-was-local whitespace-style whitespace-active-style add-hook write-file-functions whitespace-write-file-hook nil t make-local-variable whitespace-color-on whitespace-display-char-on] 6 (#$ . 67539)])#@36 Turn off whitespace visualization.
(defalias 'whitespace-turn-off #[0 "\301\302\303\304#\210\205 \305 \210\306 \207" [whitespace-active-style remove-hook write-file-functions whitespace-write-file-hook t whitespace-color-off whitespace-display-char-off] 4 (#$ . 68033)])#@51 Return t if there is some visualization via face.
(defalias 'whitespace-style-face-p #[0 "\301>\205s \302>\204r \303>\204r \304>\204r \305>\204r \306>\204r \307>\204r \310>\204r \311>\204r \312>\204r \313>\204r \314>\204r \315>\204r \316>\204r \317>\204r \320>\204r \321>\204r \322>\204r \323>\205s \324\207" [whitespace-active-style face tabs spaces trailing lines lines-tail lines-char newline empty indentation indentation::tab indentation::space big-indent space-after-tab space-after-tab::tab space-after-tab::space space-before-tab space-before-tab::tab space-before-tab::space t] 2 (#$ . 68311)])#@68 Hook function run after `make-indirect-buffer' and `clone-buffer'.
(defalias 'whitespace--clone #[0 "\302 \205  \303\300!\210\304\305!\306!\"\303\301!\210\304\305	!\306	!\"\211\207" [whitespace-bob-marker whitespace-eob-marker whitespace-style-face-p make-local-variable copy-marker marker-position marker-insertion-type] 4 (#$ . 68939)])#@30 Turn on color visualization.
(defalias 'whitespace-color-on #[0 "\306 \205l\307\300!\210`\310``\311\211\312%\313!\210\211\262\307\302!\210\314 \307\303!\210\315 \316 \210\307\304!\210\311\317\320\321\311\312$\210\317\322\304\311\312$\210\317\323\316\324\312$\210\317\325\326\311\312$\210\317\327\326\311\312$\210\330\331\332>\205e @\333BA\334BD\335>\205p B\336BC\337>\205z \340\341BC\342>\204\214 \343>\204\214 \344>\205\254 \345\342>\203\227 \346\202\250 \343>\203\241 \347\202\250 \344>\205\250 \350\351BBC\352>\204\276 \353>\204\276 \354>\205\350 C\352>\203\323 D\203\317 \355\202\344 \347\202\344 \353>\203\335 \355\202\344 \354>\205\344 \347\356BBC\357>\204\372 \360>\204\372 \361>\205\376 \362\363BC\364>\205	E\365BC\366>\205\367\370B\371\372BD\373>\204(\374>\204(\375>\205O\373>\2033\376 \202J\374>\203?\376\377!\202J\375>\205J\376\201G !\201H BC\201I >\205Z\201J &\nBF\201K \311F\312#\210\201L  \207" [whitespace-point whitespace-point--used whitespace-bob-marker whitespace-eob-marker whitespace-buffer-changed whitespace-active-style whitespace-style-face-p make-local-variable make-overlay nil t delete-overlay point-min-marker point-max-marker whitespace--update-bob-eob add-hook post-command-hook whitespace-post-command-hook before-change-functions after-change-functions -1 clone-buffer-hook whitespace--clone clone-indirect-buffer-hook (whitespace-point--flush-used) append spaces (1 whitespace-space t) (1 whitespace-hspace t) tabs (1 whitespace-tab t) trailing whitespace-trailing-regexp (1 whitespace-trailing t) lines lines-tail lines-char whitespace-lines-regexp 0 2 3 (whitespace-line prepend) space-before-tab space-before-tab::tab space-before-tab::space 1 (whitespace-space-before-tab t) indentation indentation::tab indentation::space whitespace--indentation-matcher (1 whitespace-indentation t) big-indent (1 'whitespace-big-indent t) empty whitespace--empty-at-bob-matcher (0 whitespace-empty t) whitespace--empty-at-eob-matcher (0 whitespace-empty t) space-after-tab space-after-tab::tab space-after-tab::space whitespace-space-after-tab-regexp tab whitespace-space-regexp whitespace-hspace-regexp whitespace-tab-regexp whitespace-space-before-tab-regexp indent-tabs-mode whitespace-big-indent-regexp whitespace-font-lock-keywords space (1 whitespace-space-after-tab t) missing-newline-at-eof (("[^\n]\\'" 0 (and (/= whitespace-point (point-max)) 'whitespace-missing-newline-at-eof) t)) font-lock-add-keywords font-lock-flush] 13 (#$ . 69287)])#@31 Turn off color visualization.
(defalias 'whitespace-color-off #[0 "\301\302!\210\303 \205. \304\305\306\307#\210\304\310\311\307#\210\304\312\313\307#\210\304\314\315\307#\210\304\316\315\307#\210\317\320\"\210\321 \207" [whitespace-font-lock-keywords kill-local-variable whitespace-point--used whitespace-style-face-p remove-hook post-command-hook whitespace-post-command-hook t before-change-functions whitespace-buffer-changed after-change-functions whitespace--update-bob-eob clone-buffer-hook whitespace--clone clone-indirect-buffer-hook font-lock-remove-keywords nil font-lock-flush] 4 (#$ . 71821)])#@18 

(fn START END)
(defalias 'whitespace-point--used #[514 "\301!\211\203 \302^\303!]#\207\302#\207" [whitespace-point--used overlay-start move-overlay overlay-end] 9 (#$ . 72434)])#@14 

(fn LIMIT)
(defalias 'whitespace-point--flush-used #[257 "\301!\211\2030 \302!`X\203# \211X\203 \303!\210\202# \304#\210\211X\203/ \304`#\210\210\210\305\207" [whitespace-point--used overlay-start overlay-end delete-overlay move-overlay nil] 7 (#$ . 72629)])#@82 Match trailing spaces which do not contain the point at end of line.

(fn LIMIT)
(defalias 'whitespace-trailing-regexp #[257 "\302\303\302#\203 	\304\225U\203! \305\306\224\306\225\"\210\202 \307\211\262\204 \207" [whitespace-trailing-regexp whitespace-point t re-search-forward 1 whitespace-point--used 0 nil] 6 (#$ . 72907)])#@14 

(fn LIMIT)
(defalias 'whitespace-lines-regexp #[257 "\303\206 	\304\305\n\211S\n\245\n\246\211\306U\203 \307\202 \304\310\"\262%\262\311#\207" [whitespace-line-column fill-column tab-width re-search-forward format "^\\([^	\n]\\{%s\\}\\|[^	\n]\\{0,%s\\}	\\)\\{%d\\}%s\\(?2:\\(?3:.\\).*\\)$" 0 "" ".\\{%d\\}" t] 12 (#$ . 73246)])#@419 Match empty/space-only lines at beginning of buffer (BoB).
Match does not extend past position LIMIT.  For improved UX, the
line containing `whitespace-point' and subsequent lines are
excluded from the match.  (The idea is that the user might be
about to start typing, and if they do, that line and any
following empty lines will no longer be BoB empty lines.
Highlighting those lines can be distracting.)

(fn LIMIT)
(defalias 'whitespace--empty-at-bob-matcher #[257 "`\306	\212\nb\210\307 )$\310U\203) \311 \312\211\312\313\314\"\216\315\310\316\312$,\266W\2057 \317D!\210\211b\207" [whitespace-bob-marker whitespace-eob-marker whitespace-point buffer-undo-list inhibit-read-only inhibit-modification-hooks min line-beginning-position 1 buffer-modified-p t make-closure #[0 "\300\203\n \300\301=\205 \302\300!\207" [V0 autosaved restore-buffer-modified-p] 2] put-text-property font-lock-multiline set-match-data] 10 (#$ . 73592)])#@15 

(fn REGEXP)
(defalias 'whitespace--looking-back #[257 "\212\300\301x\302U?\205 n\204 \303y\210\304!)\207" [" 	\n" nil 0 1 looking-at] 3 (#$ . 74544)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put whitespace--looking-back speed -1 put byte-optimizer byte-compile-inline-expand] 5)#@408 Match empty/space-only lines at end of buffer (EoB).
Match does not extend past position LIMIT.  For improved UX, the
line containing `whitespace-point' and preceding lines are
excluded from the match.  (The idea is that the user might be
about to start typing, and if they do, that line and previous
empty lines will no longer be EoB empty lines.  Highlighting
those lines can be distracting.)

(fn LIMIT)
(defalias 'whitespace--empty-at-eob-matcher #[257 "\211\306 TU\203 \307 \310\211\310\311\312\"\216\313\314\310$,\266\315`\f\212b\210\316y\210`)$\211W\205: \317D!\210b\207" [buffer-undo-list inhibit-read-only inhibit-modification-hooks whitespace-eob-marker whitespace-bob-marker whitespace-point buffer-size buffer-modified-p t make-closure #[0 "\300\203\n \300\301=\205 \302\300!\207" [V0 autosaved restore-buffer-modified-p] 2] put-text-property font-lock-multiline max 1 set-match-data] 8 (#$ . 74856)])#@62 Set `whitespace-buffer-changed' variable to t.

(fn BEG END)
(defalias 'whitespace-buffer-changed #[514 "\301\211\207" [whitespace-buffer-changed t] 4 (#$ . 75790)])#@85 Save current point into `whitespace-point' variable.
Also refontify when necessary.
(defalias 'whitespace-post-command-hook #[0 "`=\205 	??\205\264 	\2042 \306\n>\2032 `^X\203# \307\310\"\210`]\fY\2032 \307\f\311 T\"\210\312\301!\210\313`l\205F h\314>\205F \315 \316!\204\\ \211\205\262 \307\317!\"\210\320!\207\211\204i \307`^`]\"\207\212\211b\210\315 \262\211`]X\205\210 \317!b\210\315\321!`^X\262)\203\237 \307`^^`]\317!]\"\210\320!\207\307`^`]\"\210\307\317!\"\210\320!\266\202\207" [whitespace-point whitespace-buffer-changed whitespace-active-style whitespace-bob-marker whitespace-eob-marker whitespace-point--used empty font-lock-flush 1 buffer-size make-local-variable nil (32 9) line-beginning-position overlay-start overlay-end delete-overlay 2] 7 (#$ . 75962)])#@228 Indentation matcher for `font-lock-keywords'.
This matcher is a function instead of a static regular expression
so that the next call to `font-lock-flush' picks up any changes
to `indent-tabs-mode' and `tab-width'.

(fn LIMIT)
(defalias 'whitespace--indentation-matcher #[257 "\301\302\303>\203\f \304\202 \305>\203 \306\202 \307>\205 \310!\311#\207" [whitespace-active-style re-search-forward whitespace-indentation-regexp indentation nil indentation::tab tab indentation::space space t] 5 (#$ . 76773)])#@89 Variable watcher that calls `font-lock-flush' for BUFFER.

(fn SYMBOL NEWVAL OP BUFFER)
(defalias 'whitespace--variable-watcher #[1028 "\211\205 r\211q\210\205 \301 )\207" [whitespace-mode font-lock-flush] 5 (#$ . 77292)])#@291 Update `whitespace-bob-marker' and `whitespace-eob-marker'.
Also apply `font-lock-multiline' text property.  If BEG and END
are non-nil, assume that only characters in that range have
changed since the last call to this function (for optimization
purposes).

(fn &optional BEG END &rest _)
(defalias 'whitespace--update-bob-eob #[640 "\306>\205\267 \212\214~\210\307\203 \212\nb\210\310y\210`)X\203S \310b\210\n`\311\223\210\312 \313\314\"\216\315!\203Q \n\310\225\311\223\210\316 \307\211\307\313\317\"\216\320\310\224\310\225\321\307$,\266)\210\203f \212b\210\322y\210`)Y\205\266 \323 Tb\210`\311\223\210\312 \313\324\"\216\212\325\311x\326U?\205\216 n\204\213 \310y\210\315!)\262\205\263 \310\224\311\223\210\316 \307\211\307\313\327\"\216\320\310\224\310\225\321\307$,\262)\262+\207" [whitespace-active-style inhibit-read-only whitespace-bob-marker whitespace-empty-at-bob-regexp buffer-undo-list inhibit-modification-hooks empty t 1 nil match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] looking-at buffer-modified-p #[0 "\300\203\n \300\301=\205 \302\300!\207" [V0 autosaved restore-buffer-modified-p] 2] put-text-property font-lock-multiline -1 buffer-size #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] " 	\n" 0 #[0 "\300\203\n \300\301=\205 \302\300!\207" [V0 autosaved restore-buffer-modified-p] 2] whitespace-eob-marker whitespace-empty-at-eob-regexp] 11 (#$ . 77524)])#@60 Return t if there is some visualization via display table.
(defalias 'whitespace-style-mark-p #[0 "\301>\204 \302>\204 \303>\205 \304\207" [whitespace-active-style tab-mark space-mark newline-mark t] 2 (#$ . 78969)])#@13 

(fn CHAR)
(defalias 'whitespace-char-valid-p #[257 "\211\300W\206	 \301!\207" [256 characterp] 3 (#$ . 79197)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put whitespace-char-valid-p speed -1 put byte-optimizer byte-compile-inline-expand] 5)#@77 Return non-nil if every character in vector VEC can be displayed.

(fn VEC)
(defalias 'whitespace-display-vector-p #[257 "\211G\211\300V\205& \211S\211\262\300Y\203# H\211\301W\206 \302!\262\204 \211\300W\207" [0 256 characterp] 5 (#$ . 79466)])#@36 Turn on character display mapping.
(defalias 'whitespace-display-char-on #[0 "\205\237 \306 \205\237 \307\211	\204! \310\n\204 \203 \311\f!\311\f!\f\204( \312 \211\205\233 \211@\211@>\203\224 \211AA\262\203N \313@!\204N A\262\202< \203\224 \311@!\262\211A@\314=\203\215 \315>\203\215 G\316\211W\203\213 H\314=\204\204 \317H\"I\210\211T\262\202j \266\fA@I\210A\266\202\202) \262\266\202\207" [whitespace-display-mappings whitespace-display-table-was-local whitespace-mode global-whitespace-mode buffer-display-table whitespace-display-table whitespace-style-mark-p nil t copy-sequence make-display-table whitespace-display-vector-p 10 newline 0 make-glyph-code whitespace-style whitespace-active-style whitespace-newline] 11 (#$ . 79724)])#@37 Turn off character display mapping.
(defalias 'whitespace-display-char-off #[0 "\205 \304 \205 	\205 \305\n\211\207" [whitespace-display-mappings whitespace-display-table-was-local whitespace-display-table buffer-display-table whitespace-style-mark-p nil] 2 (#$ . 80506)])#@63 Action to be taken always when local whitespace is turned on.
(defalias 'whitespace-action-when-on #[0 "\301>\203	 \302 \207\303>\205 \304\305\306\"\207" [whitespace-action cleanup whitespace-cleanup report-on-bogus whitespace-report nil t] 3 (#$ . 80790)])#@105 Action to be taken when buffer is written.
It should be added buffer-locally to `write-file-functions'.
(defalias 'whitespace-write-file-hook #[0 "\301>\203\f \302 \210\202 \303>\203 \304\305\306\"\203 \307\310\311 \"\210\305\207" [whitespace-action auto-cleanup whitespace-cleanup abort-on-bogus whitespace-report nil t error "Abort write due to whitespace problems in %s" buffer-name] 3 (#$ . 81057)])#@40 Warn if buffer is read-only.

(fn MSG)
(defalias 'whitespace-warn-read-only #[257 "\301>\205\f \302\303\304 #\207" [whitespace-action warn-if-read-only message "Can't %s: %s is read-only" buffer-name] 5 (#$ . 81471)])
(defvar whitespace--watched-vars '(fill-column indent-tabs-mode tab-width whitespace-line-column))
(byte-code "\211\203 \211@\301\302\"\210A\266\202\202 \207" [whitespace--watched-vars add-variable-watcher whitespace--variable-watcher] 5)#@32 Unload the whitespace library.
(defalias 'whitespace-unload-function #[0 "\211\203 \211@\301\302\"\210A\266\202\202 \210\303\304!\210r\305 \211\203/ \211@\211q\210\306\304!\210A\266\202\202 )\210\307\207" [whitespace--watched-vars remove-variable-watcher whitespace--variable-watcher global-whitespace-mode -1 buffer-list whitespace-mode nil] 5 (#$ . 81940)])
(byte-code "\300\301!\210\302\303\304\305#\210\306\303!\207" [provide whitespace make-obsolete-variable whitespace-load-hook "use `with-eval-after-load' instead." "28.1" run-hooks] 4)
