mirror of https://github.com/Chizi123/.emacs.d.git

Chizi123
2018-11-18 76bbd07de7add0f9d13c6914f158d19630fe2f62
commit | author | age
5cb5f7 1 ;ELC
C 2 ;;; Compiled
3 ;;; in Emacs version 26.1
4 ;;; with all optimizations.
5
6 ;;; This file uses dynamic docstrings, first added in Emacs 19.29.
7
8 ;;; This file does not contain utf-8 non-ASCII characters,
9 ;;; and so can be loaded in Emacs versions earlier than 23.
10
11 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
12 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
13
14
15 (byte-code "\300\301!\210\300\302!\210\300\303!\210\300\304!\210\305\306\307\310\311\302%\210\312\313\314\315\316DD\317\311\306\320\321&\210\312\322\314\315\323DD\324\311\306\320\325&\210\312\326\314\315\327DD\330\311\306\320\331&\210\312\332\314\315\333DD\334\311\306\320\331&\210\312\335\314\315\336DD\337\311\306\320\331&\210\312\340\314\315\341DD\342\311\306\320\331&\210\312\343\314\315\344DD\345\311\306\320\315&\210\312\346\314\315\347DD\350\311\306\320\331&\210\312\351\314\315\352DD\353\311\306\320\354&\210\312\355\314\315\356DD\357\311\306\320\331&\207" [require cl-lib helm helm-lib helm-files custom-declare-group helm-mode nil "Enable helm completion." :group custom-declare-variable helm-completing-read-handlers-alist funcall function #[0 "\300\207" [((describe-function . helm-completing-read-symbols) (describe-variable . helm-completing-read-symbols) (describe-symbol . helm-completing-read-symbols) (debug-on-entry . helm-completing-read-symbols) (find-function . helm-completing-read-symbols) (disassemble . helm-completing-read-symbols) (trace-function . helm-completing-read-symbols) (trace-function-foreground . helm-completing-read-symbols) (trace-function-background . helm-completing-read-symbols) (find-tag . helm-completing-read-default-find-tag) (org-capture . helm-org-completing-read-tags) (org-set-tags . helm-org-completing-read-tags) (ffap-alternate-file) (tmm-menubar) (find-file) (find-file-at-point . helm-completing-read-sync-default-handler) (ffap . helm-completing-read-sync-default-handler) (execute-extended-command) (dired-do-rename . helm-read-file-name-handler-1) (dired-do-copy . helm-read-file-name-handler-1) (dired-do-symlink . helm-read-file-name-handler-1) (dired-do-relsymlink . helm-read-file-name-handler-1) (dired-do-hardlink . helm-read-file-name-handler-1) (basic-save-buffer . helm-read-file-name-handler-1) (write-file . helm-read-file-name-handler-1) (write-region . helm-read-file-name-handler-1))] 1] "Completing read functions for specific Emacs commands.\n\nBy default `helm-mode' use `helm-completing-read-default-handler' to\nprovide helm completion in each `completing-read' or `read-file-name'\nfound, but other functions can be specified here for specific\ncommands. This also allow disabling helm completion for some commands\nwhen needed.\n \nEach entry is a cons cell like (EMACS_COMMAND . COMPLETING-READ_HANDLER)\nwhere key and value are symbols.\n\nEach key is an Emacs command that use originaly `completing-read'.\n\nEach value maybe a helm function that takes same arguments as\n`completing-read' plus NAME and BUFFER, where NAME is the name of the new\nhelm source and BUFFER the name of the buffer we will use, but it can\nbe also a function not using helm, in this case the function should\ntake same args as `completing-read' and not be prefixed by \"helm-\".\n\n`helm' will use the name of the command calling `completing-read' as\nNAME and BUFFER will be computed as well with NAME but prefixed with\n\"*helm-mode-\".\n\nThis function prefix name must start by \"helm-\" when it uses helm,\notherwise `helm' assumes the function is not a helm function and\nexpects same args as `completing-read', this allow you to define a\nhandler not using helm completion.\n\nExample:\n\n    (defun foo/test ()\n      (interactive)\n      (message \"%S\" (completing-read \"test: \" '(a b c d e))))\n\n    (defun helm-foo/test-completing-read-handler (prompt collection\n                                                  predicate require-match\n                                                  initial-input hist def\n                                                  inherit-input-method\n                                                  name buffer)\n      (helm-comp-read prompt collection :marked-candidates t\n                                        :name name\n                                        :buffer buffer))\n\n    (add-to-list 'helm-completing-read-handlers-alist\n                 '(foo/test . helm-foo/test-completing-read-handler))\n\n\nWe want here to make the regular `completing-read' in `foo/test'\nreturns a list of candidate(s) instead of a single candidate.\n \nNote that this function will be reused for ALL the `completing-read'\nof this command, so it should handle all cases, e.g\nIf first `completing-read' complete against symbols and\nsecond `completing-read' should handle only buffer,\nyour specialized function should handle the both.\n\nIf the value of an entry is nil completion will fall back to\nemacs vanilla behavior.\nExample:\n\nIf you want to disable helm completion for `describe-function', use:\n\n    (describe-function . nil)\n\nIdo is also supported, you can use `ido-completing-read' and\n`ido-read-file-name' as value of an entry or just 'ido.\nExample:\nEnable ido completion for `find-file':\n\n    (find-file . ido)\n\nsame as\n\n    (find-file . ido-read-file-name)\n\nNote that you don't need to enable `ido-mode' for this to work, see\n`helm-mode' documentation." :type (alist :key-type symbol :value-type symbol) helm-comp-read-case-fold-search #[0 "\207" [helm-case-fold-search] 1] "Default Local setting of `helm-case-fold-search' for `helm-comp-read'.\nSee `helm-case-fold-search' for more info." symbol helm-mode-handle-completion-in-region #[0 "\300\207" [t] 1] "Whether to replace or not `completion-in-region-function'.\nThis enable support for `completing-read-multiple' and `completion-at-point'\nwhen non--nil." boolean helm-mode-reverse-history #[0 "\300\207" [t] 1] "Display history source after current source in `helm-mode' handled commands." helm-mode-no-completion-in-region-in-modes #[0 "\300\207" [nil] 1] "A list of modes that do not want helm for `completion-in-region'." helm-completion-in-region-fuzzy-match #[0 "\300\207" [nil] 1] "Whether `helm-completion-in-region' use fuzzy matching or not.\nAffect among others `completion-at-point', `completing-read-multiple'." helm-completion-in-region-default-sort-fn #[0 "\300\207" [helm-completion-in-region-sort-fn] 1] "The default sort function to sort candidates in completion-in-region.\n\nWhen nil no sorting is done.\nThe function is a `filtered-candidate-transformer' function which takes\ntwo args CANDIDATES and SOURCE.\nIt will be used only when `helm-completion-in-region-fuzzy-match' is\nnil otherwise fuzzy use its own sort function." helm-mode-fuzzy-match #[0 "\300\207" [nil] 1] "Enable fuzzy matching in `helm-mode' globally.\nNote that this will slow down completion and modify sorting\nwhich is unwanted in many places.\nThis affect only the functions with completing-read helmized by helm-mode.\nTo fuzzy match `completion-at-point' and friends see\n`helm-completion-in-region-fuzzy-match'." helm-mode-minibuffer-setup-hook-black-list #[0 "\300\207" [(minibuffer-completion-help)] 1] "Incompatible `minibuffer-setup-hook' functions go here.\nA list of symbols.\nHelm-mode is rejecting all lambda's, byte-code fns\nand all functions belonging in this list from `minibuffer-setup-hook'." (repeat (choice symbol)) helm-completing-read-dynamic-complete #[0 "\300\207" [nil] 1] "Use dynamic completion in `completing-read' when non-nil.\n\nThe default is to not use this because it is most of the time unneeded\nin `completing-read' and thus it is much more slower.\nIf you feel one emacs function need this you have better time to tell\n`helm-mode' to use a dynamic completion for this function only by using\n`helm-completing-read-handlers-alist' with an entry like this:\n\n    (my-function . helm-completing-read-sync-default-handler)\n\nSo you should not change the default setting of this variable unless you\nknow what you are doing."] 8)
16 #@30 Keymap for `helm-comp-read'.
17 (defvar helm-comp-read-map (byte-code "\301 \302\"\210\303\304\305#\210\303\306\305#\210\211\207" [helm-map make-sparse-keymap set-keymap-parent define-key [C-return] helm-cr-empty-string [134217741]] 5) (#$ . 8081))
18 #@22 Return empty string.
19 (defalias 'helm-cr-empty-string #[0 "\203\301\302!\207\303\304!\207" [helm-alive-p helm-exit-and-execute-action #[257 "\300\207" [""] 2 "\n\n(fn CANDIDATE)"] error "Running helm command outside of context"] 2 (#$ . 8337) nil])
20 (put 'helm-cr-empty-string 'helm-only t)
21 (defalias 'helm-mode--keyboard-quit #[0 "\301\302\303\301\")\207" [debug-on-quit nil signal quit] 3])
22 #@1644 Convert COLLECTION to list removing elements that don't match TEST.
23 See `helm-comp-read' about supported COLLECTION arguments.
24
25 SORT-FN is a predicate to sort COLLECTION.
26
27 ALISTP when non--nil will not use `all-completions' to collect
28 candidates because it doesn't handle alists correctly for helm.
29 i.e In `all-completions' the car of each pair is used as value.
30 In helm we want to use the cdr instead like (display . real),
31 so we return the alist as it is with no transformation by
32 `all-completions'.
33
34 e.g
35
36 (setq A '((a . 1) (b . 2) (c . 3)))
37 ==>((a . 1) (b . 2) (c . 3))
38 (helm-comp-read "test: " A :alistp nil
39                               :exec-when-only-one t
40                               :initial-input "a")
41 ==>"a" Which is not what we expect.
42
43 (helm-comp-read "test: " A :alistp t
44                               :exec-when-only-one t
45                               :initial-input "1")
46 ==>"1"
47
48 See docstring of `all-completions' for more info.
49
50 INPUT is the string you want to complete against, defaulting to
51 `helm-pattern' which is the value of what you enter in minibuffer.
52 Note that when using a function as COLLECTION this value will be
53 available with the input argument of the function only when using a
54 sync source from `helm-comp-read', i.e not using
55 `:candidates-in-buffer', otherwise the function is called only once
56 with an empty string as value for `helm-pattern' because
57 `helm-pattern' is not yet computed, which is what we want otherwise
58 data would not be fully collected at init time.
59
60 If COLLECTION is an `obarray', a TEST should be needed. See `obarray'.
61
62 (fn COLLECTION &optional TEST SORT-FN ALISTP (INPUT helm-pattern))
63 (defalias 'helm-comp-read-get-candidates #[1153 "\211\203 \211A\262\242\202\203\304\305\306\307G\\D\"\210r\310    !\203'    \206*p\211q\210\311!\203=\312#\2029\203S\313!\203SJ9\203S\314\2029\203|\313!\203|\203|\315\316\317\320\321    !\322\"\307\323%\312J#\262\2029\203\221\313!\203\221\312J\"\202\324!\203\341\211\325\230\204\341\n\203\341\326#\314\211:\203\332@\262\327\235\204\323\330 \"\203\310B\262\202\323\331\332!!PB\262A\262\202\252\211\237\266\203\202\324!\203\361\326#\202\203\375\204\375\202\312#\203\333\"\202\211\262)\207" [helm-pattern helm-current-buffer minibuffer-completing-file-name helm--url-regexp signal wrong-number-of-arguments helm-comp-read-get-candidates 5 buffer-live-p vectorp all-completions boundp nil make-byte-code 257 "\3011\300\302=\203\300\303!!\202\300!0\207\300\303!!\207" vconcat vector [(wrong-type-argument) commandp intern] "\n\n(fn ELM)" functionp "" t ("./" "../") string-match file-name-as-directory helm-basedir sort] 12 (#$ . 8740)])
64 #@19 
65
66 (fn CANDIDATES)
67 (defalias 'helm-cr--pattern-in-candidates-p #[257 "\301\"\206 \302!\236\206 \235\206 \227\235\206 \226\235\207" [helm-pattern assoc intern] 4 (#$ . 11487)])
68 #@81 Default filter candidate function for `helm-comp-read'.
69
70 (fn CANDIDATES SOURCE)
71 (defalias 'helm-cr-default-transformer #[514 "\301\302\"\303\304=\204!\305\230\204!\306!\204!\307C\"\262\304\262\303\211\211\211:\203\220@\262;\203=\310\311\305#\202>\262\310\311\305#\262\232\204S\232\203l\203l\211\312\313\314\312\315\316\317##PBC\244\262\202\211\211;\203\204\320\321\"\203\204\310\321\322#B\202\205C\244\262A\262\202&\323\324\325#\266\205\207" [helm-pattern helm-attr must-match nil t "" helm-cr--pattern-in-candidates-p append replace-regexp-in-string "\\s\\" propertize " " display "[?]" face helm-ff-prefix string-match "\n" "->" helm-fast-remove-dups :test equal] 17 (#$ . 11682)])
72 (defalias 'helm-comp-read--move-to-first-real-candidate #[0 "\300\301\302\"\211\205\303\304\305#\306\230\205\307 \207" [helm-get-selection nil withprop get-text-property 0 display "[?]" helm-next-line] 5])
73 #@22 
74
75 (fn DEFAULT CANDS)
76 (defalias 'helm-cr-default #[514 "\300\301;\203\302\230\204\303\"B\202H:\203G\304\301\211:\203>@\262\2040\2023\305!B\262A\262\202\211\237\266\203\"\202H\"\207" [delq nil "" delete append helm-stringify] 10 (#$ . 12634)])
77 #@4012 Read a string in the minibuffer, with helm completion.
78
79 It is helm `completing-read' equivalent.
80
81 - PROMPT is the prompt name to use.
82
83 - COLLECTION can be a list, vector, obarray or hash-table.
84   It can be also a function that receives three arguments:
85   the values string, predicate and t. See `all-completions' for more details.
86
87 Keys description:
88
89 - TEST: A predicate called with one arg i.e candidate.
90
91 - INITIAL-INPUT: Same as input arg in `helm'.
92
93 - PRESELECT: See preselect arg of `helm'.
94
95 - DEFAULT: This option is used only for compatibility with regular
96   Emacs `completing-read' (Same as DEFAULT arg of `completing-read').
97
98 - BUFFER: Name of helm-buffer.
99
100 - MUST-MATCH: Candidate selected must be one of COLLECTION.
101
102 - FUZZY: Enable fuzzy matching.
103
104 - REVERSE-HISTORY: When non--nil display history source after current
105   source completion.
106
107 - REQUIRES-PATTERN: Same as helm attribute, default is 0.
108
109 - HISTORY: A list containing specific history, default is nil.
110   When it is non--nil, all elements of HISTORY are displayed in
111   a special source before COLLECTION.
112
113 - INPUT-HISTORY: A symbol. the minibuffer input history will be
114   stored there, if nil or not provided, `minibuffer-history'
115   will be used instead.
116
117 - CASE-FOLD: Same as `helm-case-fold-search'.
118
119 - DEL-INPUT: Boolean, when non--nil (default) remove the partial
120   minibuffer input from HISTORY is present.
121
122 - PERSISTENT-ACTION: A function called with one arg i.e candidate.
123
124 - PERSISTENT-HELP: A string to document PERSISTENT-ACTION.
125
126 - MODE-LINE: A string or list to display in mode line.
127   Default is `helm-comp-read-mode-line'.
128
129 - KEYMAP: A keymap to use in this `helm-comp-read'.
130   (the keymap will be shared with history source)
131
132 - NAME: The name related to this local source.
133
134 - HEADER-NAME: A function to alter NAME, see `helm'.
135
136 - EXEC-WHEN-ONLY-ONE: Bound `helm-execute-action-at-once-if-one'
137   to non--nil. (possibles values are t or nil).
138
139 - VOLATILE: Use volatile attribute.
140
141 - SORT: A predicate to give to `sort' e.g `string-lessp'
142   Use this only on small data as it is ineficient.
143   If you want to sort faster add a sort function to
144   FC-TRANSFORMER.
145   Note that FUZZY when enabled is already providing a sort function.
146
147 - FC-TRANSFORMER: A `filtered-candidate-transformer' function
148   or a list of functions.
149
150 - HIST-FC-TRANSFORMER: A `filtered-candidate-transformer'
151   function for the history source.
152
153 - MARKED-CANDIDATES: If non--nil return candidate or marked candidates as a list.
154
155 - NOMARK: When non--nil don't allow marking candidates.
156
157 - ALISTP: (default is non--nil) See `helm-comp-read-get-candidates'.
158
159 - CANDIDATES-IN-BUFFER: when non--nil use a source build with
160   `helm-source-in-buffer' which is much faster.
161   Argument VOLATILE have no effect when CANDIDATES-IN-BUFFER is non--nil.
162
163 - MATCH-PART: Allow matching only one part of candidate.
164   See match-part documentation in `helm-source'.
165
166 - ALLOW-NEST: Allow nesting this `helm-comp-read' in a helm session.
167   See `helm'.
168
169 - MULTILINE: See multiline in `helm-source'.
170
171 Any prefix args passed during `helm-comp-read' invocation will be recorded
172 in `helm-current-prefix-arg', otherwise if prefix args were given before
173 `helm-comp-read' invocation, the value of `current-prefix-arg' will be used.
174 That's mean you can pass prefix args before or after calling a command
175 that use `helm-comp-read' See `helm-M-x' for example.
176
177 (fn PROMPT COLLECTION &key TEST INITIAL-INPUT DEFAULT PRESELECT (BUFFER "*Helm Completions*") MUST-MATCH FUZZY REVERSE-HISTORY (REQUIRES-PATTERN 0) HISTORY INPUT-HISTORY (CASE-FOLD helm-comp-read-case-fold-search) (DEL-INPUT t) (PERSISTENT-ACTION nil) (PERSISTENT-HELP "DoNothing") (MODE-LINE helm-comp-read-mode-line) HELP-MESSAGE (KEYMAP helm-comp-read-map) (NAME "Helm Completions") HEADER-NAME CANDIDATES-IN-BUFFER MATCH-PART EXEC-WHEN-ONLY-ONE QUIT-WHEN-NO-CAND (VOLATILE t) SORT FC-TRANSFORMER HIST-FC-TRANSFORMER MARKED-CANDIDATES NOMARK (ALISTP t) (CANDIDATE-NUMBER-LIMIT helm-candidate-number-limit) MULTILINE ALLOW-NEST)
178 (defalias 'helm-comp-read #[642 "\306\307\"A@\306\310\"A@\306\311\"A@\306\312\"A@\306\313\"\206 \314A@\306\315\"A@\306\316\"A@\306\317\"A@\306    \320\"\206@\321A@\306\n\322\"A@\306 \323\"A@\306\f\324\"\206[\325DA@\306 \326\"\206f\327A@\306\330\"A@\306\331\"\206x\332A@\306\333\"\206\205\325    DA@\306\334\"A@\306\335\"\206\231\325\nDA@\306\336\"\206\244\337A@\306\340\"A@\306\341\"A@\306\342\"A@\306\343\"A@\306\344\"A@\306\345\"\206\322\346A@\306\347\"A@\306\350\"A@\306\351\"A@\306\352\"A@\306\353\"A@\306\354\"\206\355A@\306 \356\"\206 \325 DA@\306!\357\"A@\306\"\360\"A@\"\211\203J\211@\361>\2032\211AA\262\202\362$>A@\203A\325\262\202\363\364@\"\210\202\210\365\f!\203U\366\f!\210\367\370\371\372    \373BBFC\374=\203j\375\262\205\201\376 \377\201F\201G#\210\211\262\211\203\224\201H\206\220@\"\202\233\206\233@$A&B\201I\201J\201KC#C\201L\201M\201N\201O\201P+*)&\201Q\"\201R$\201L\201M\201S\201O\201P*)#$\201T\"\201R$\201U\201V\201W\"\201X\201Y\201Z&\357\342\201[\201\\\201]\205(\201^!\"\330'\331(\335\333+\334,\201_&\201U\201X\201Y\342\357\340\201[\201\\\201^!\201`\"\320-\330*\331+\201Z5\335\3330\3341\201_!\345-&\201U\201a\201b\342\357\340\201[\201\\\201^!\201c\"\320.\330+\201Z4\335\3310\3331\3342\201_\"&\201d&B\203\332\202\333BDDE\325\203 \325\211:\203@\262\201eBB\262A\262\202\356\211\237\266\203\262$\203\237\262\201f\201g\201h\"\210\201i\216\201j\201k\201l.\311/\3120\201m8\201n\201o\335\360\356\201p4\32279\205Y7\313?&\262)\211\203\237\"\203\237\203\237\"9\203\213\"J9\204\213\"J\211\203\207\211\240\210\210\202\237\":\203\231\"\240\210\202\237\"CL\210\211\206\247\201q .\266\211\262\207" [helm-comp-read-case-fold-search helm-comp-read-mode-line helm-comp-read-map helm-candidate-number-limit helm-action-buffer minibuffer-completion-confirm plist-member :test :initial-input :default :preselect :buffer (nil "*Helm Completions*") :must-match :fuzzy :reverse-history :requires-pattern (nil 0) :history :input-history :case-fold nil :del-input (nil t) :persistent-action :persistent-help (nil "DoNothing") :mode-line :help-message :keymap :name (nil "Helm Completions") :header-name :candidates-in-buffer :match-part :exec-when-only-one :quit-when-no-cand :volatile (nil t) :sort :fc-transformer :hist-fc-transformer :marked-candidates :nomark :alistp (nil t) :candidate-number-limit :multiline :allow-nest (:test :initial-input :default :preselect :buffer :must-match :fuzzy :reverse-history :requires-pattern :history :input-history :case-fold :del-input :persistent-action :persistent-help :mode-line :help-message :keymap :name :header-name :candidates-in-buffer :match-part :exec-when-only-one :quit-when-no-cand :volatile :sort :fc-transformer :hist-fc-transformer :marked-candidates :nomark :alistp :candidate-number-limit :multiline :allow-nest :allow-other-keys) :allow-other-keys error "Keyword argument %s not one of (:test :initial-input :default :preselect :buffer :must-match :fuzzy :reverse-history :requires-pattern :history :input-history :case-fold :del-input :persistent-action :persistent-help :mode-line :help-message :keymap :name :header-name :candidates-in-buffer :match-part :exec-when-only-one :quit-when-no-cand :volatile :sort :fc-transformer :hist-fc-transformer :marked-candidates :nomark :alistp :candidate-number-limit :multiline :allow-nest)" get-buffer kill-buffer "Sole action (Identity)" lambda (candidate) if ((helm-marked-candidates) (identity candidate)) confirm-after-completion confirm make-sparse-keymap define-key helm-map minibuffer-completion-predicate minibuffer-completion-table helm-read-file-name-mode-line-string helm-execute-action-at-once-if-one helm-quit-if-no-candidate " " helm-confirm-and-exit-minibuffer make-composed-keymap replace-regexp-in-string "helm-maybe-exit-minibuffer" "helm-confirm-and-exit-minibuffer" make-byte-code 0 "\306\300\301\304\305\303\203 \307\202    %\310\302\"\207" vconcat vector [helm-comp-read-get-candidates #1="" helm-cr-default helm-pattern] 6 "\304\302\300\305\303$\211\205\306\307\310\301\"\"\207" [helm-comp-read-get-candidates nil delete #1# helm-cr-default] helm-make-source format "%s History" helm-source-sync :candidates :fuzzy-match :filtered-candidate-transformer append ((lambda (candidates sources) (cl-loop for i in candidates when (stringp i) collect (replace-regexp-in-string "\\s\\" #1# i)))) helm-mklist :action (helm-cr-default-transformer) helm-source-in-buffer :data (helm-cr-default-transformer) must-match (nomark) add-hook helm-after-update-hook helm-comp-read--move-to-first-real-candidate #[0 "\300\301\302\"\207" [remove-hook helm-after-update-hook helm-comp-read--move-to-first-real-candidate] 3] helm :sources :input :prompt :resume noresume :case-fold-search helm-mode--keyboard-quit] 74 (#$ . 12915)])
179 (defvar helm-completion-mode-string " Helm")
180 (defvar helm-completion-mode-quit-message "Helm completion disabled")
181 (defvar helm-completion-mode-start-message "Helm completion enabled")
182 #@160 Specialized function for fast symbols completion in `helm-mode'.
183
184 (fn PROMPT COLLECTION TEST REQUIRE-MATCH INIT HIST DEFAULT INHERIT-INPUT-METHOD NAME BUFFER)
185 (defalias 'helm-completing-read-symbols #[2570 "\301\302!\210\303\304\305\306\307\310\311\312\313\314\"\315\"\316$\317\320\321\322\323\324\310\325\326\313\314!\327\"\330\331%\332\333 &\334 \335\336 \337\340\341\342\206F\343&\206M\344 \207" [helm-mode-fuzzy-match require helm-elisp helm :sources helm-make-source helm-source-in-buffer :init make-byte-code 0 "\302\303\304\305\306\307\300!\310\"\311\312%\301\242\206\301\"\207" vconcat vector [helm-apropos-init make-byte-code 257 "\300!\205\n\301!?\207" vconcat vector [keywordp] 3 "\n\n(fn X)"] 7 :filtered-candidate-transformer helm-apropos-default-sort-fn :help-message helm-comp-read-help-message :fuzzy-match :persistent-action 257 "\301\300\"\207" [helm-lisp-completion-persistent-action] 4 "\n\n(fn CANDIDATE)" :persistent-help helm-lisp-completion-persistent-help :prompt :buffer :input :history :resume noresume :default "" helm-mode--keyboard-quit] 30 (#$ . 22185)])
186 #@363 Call `helm-comp-read' with same args as `completing-read'.
187 Extra optional arg CANDS-IN-BUFFER mean use `candidates-in-buffer'
188 method which is faster.
189 It should be used when candidate list don't need to rebuild dynamically.
190
191 (fn PROMPT COLLECTION TEST REQUIRE-MATCH INIT HIST DEFAULT INHERIT-INPUT-METHOD NAME BUFFER &optional CANDS-IN-BUFFER EXEC-WHEN-ONLY-ONE)
192 (defalias 'helm-completing-read-default-1 #[3082 "\242\206;\203\202):\203(@    A\211\262\266\202\202)\303\211\2058\2035\211\2028\304!\262\305\306\307\310    \311 \312\313\303\314\315\316\317;\203t\320\230\203t\321=\204p\322=\203t\323\202u\324\325\326\327\n\330 \331%\206\207\320\332 & \207" [minibuffer-completing-file-name helm-mode-reverse-history helm-mode-fuzzy-match nil regexp-quote helm-comp-read :test :history :reverse-history :input-history :must-match :alistp :help-message helm-comp-read-help-message :name :requires-pattern "" confirm confirm-after-completion 1 0 :candidates-in-buffer :exec-when-only-one :fuzzy :buffer :default :initial-input] 47 (#$ . 23304)])
193 #@143 Specialized `helm-mode' handler for `find-tag'.
194
195 (fn PROMPT COLLECTION TEST REQUIRE-MATCH INIT HIST DEFAULT INHERIT-INPUT-METHOD NAME BUFFER)
196 (defalias 'helm-completing-read-default-find-tag #[2570 "\300        \301\211$\302         \303& \207" [helm-comp-read-get-candidates nil helm-completing-read-default-1 t] 23 (#$ . 24406)])
197 #@145 `helm-mode' handler using sync source as backend.
198
199 (fn PROMPT COLLECTION TEST REQUIRE-MATCH INIT HIST DEFAULT INHERIT-INPUT-METHOD NAME BUFFER)
200 (defalias 'helm-completing-read-sync-default-handler #[2570 "\300\n\n\n\n\n\n\n\n\n\n&\n\207" [helm-completing-read-default-1] 21 (#$ . 24751)])
201 #@150 Default `helm-mode' handler for all `completing-read'.
202
203 (fn PROMPT COLLECTION TEST REQUIRE-MATCH INIT HIST DEFAULT INHERIT-INPUT-METHOD NAME BUFFER)
204 (defalias 'helm-completing-read-default-handler #[2570 "\301\n\n\n\n\n\n\n\n\n\n?& \207" [helm-completing-read-dynamic-complete helm-completing-read-default-1] 22 (#$ . 25057)])
205 #@140 The `read-buffer-function' for `helm-mode'.
206 Affects `switch-to-buffer' and related.
207
208 (fn PROMPT &optional DEFAULT REQUIRE-MATCH PREDICATE)
209 (defalias 'helm--generic-read-buffer #[1025 "\300 \301\302\211\n&\207" [helm-buffer-list helm--completing-read-default nil] 13 (#$ . 25402)])
210 #@358 An helm replacement of `completing-read'.
211 This function should be used only as a `completing-read-function'.
212
213 Don't use it directly, use instead `helm-comp-read' in your programs.
214
215 See documentation of `completing-read' and `all-completions' for details.
216
217 (fn PROMPT COLLECTION &optional PREDICATE REQUIRE-MATCH INITIAL-INPUT HIST DEF INHERIT-INPUT-METHOD)
218 (defalias 'helm--completing-read-default #[2050 "\3062\307 \206\n\310!\311\312\"    \236\211\243\211\205\310!        \257\313D\"\314\211\f\314\211:\203d@\262:\204]\315!\204] >\204]B\262A\262\202>\211\237\266\203\314$\316!\203w\317\202x\320\321=\203\201\322\262\203\232\204\232\323\306\324\216\325\326!\210\327%\")\"\210\330=\204\254;\203\260\331\332\"\204\260\325\326!\210\333\334\335\336\337 !\340\"\341$\216\203\315\203\315\327\"\202 \203\353\322=\203\353>\342\343#\240\210\327\"\202 \203\366\327\"\202 \211&\n-\266\2110\207" [this-command helm-completing-read-handlers-alist helm-completion-mode-start-message helm-completion-mode-quit-message minibuffer-setup-hook helm-mode-minibuffer-setup-hook-black-list --cl-block-helm--completing-read-default-- helm-this-command helm-symbol-name format "*helm-mode-%s*" append nil byte-code-function-p functionp helm-completing-read-sync-default-handler helm-completing-read-default-handler ido ido-completing-read throw #[0 "\300\301!\207" [helm-mode 1] 2] helm-mode -1 apply completing-read string-match "^helm" make-byte-code 0 "\302\303!\210\300\211\207" vconcat vector [this-command helm-mode 1] 2 all-completions "" unread-command-events completing-read-function] 29 (#$ . 25697)])
219 #@1510 Read a file name with helm completion.
220 It is helm `read-file-name' emulation.
221
222 Argument PROMPT is the default prompt to use.
223
224 Keys description:
225
226 - NAME: Source name, default to "Read File Name".
227
228 - INITIAL-INPUT: Where to start read file name, default to `default-directory'.
229
230 - BUFFER: `helm-buffer' name default to "*Helm Completions*".
231
232 - TEST: A predicate called with one arg 'candidate'.
233
234 - CASE-FOLD: Same as `helm-case-fold-search'.
235
236 - PRESELECT: helm preselection.
237
238 - HISTORY: Display HISTORY in a special source.
239
240 - MUST-MATCH: Can be 'confirm, nil, or t.
241
242 - FUZZY: Enable fuzzy matching when non-nil (Enabled by default).
243
244 - MARKED-CANDIDATES: When non--nil return a list of marked candidates.
245
246 - NOMARK: When non--nil don't allow marking candidates.
247
248 - ALISTP: Don't use `all-completions' in history (take effect only on history).
249
250 - PERSISTENT-ACTION-IF: a persistent if action function.
251
252 - PERSISTENT-HELP: persistent help message.
253
254 - MODE-LINE: A mode line message, default is `helm-read-file-name-mode-line-string'.
255
256 (fn PROMPT &key (NAME "Read File Name") (INITIAL-INPUT default-directory) (BUFFER "*Helm file completions*") TEST (CASE-FOLD helm-file-name-case-fold-search) PRESELECT HISTORY MUST-MATCH (FUZZY t) DEFAULT MARKED-CANDIDATES (CANDIDATE-NUMBER-LIMIT helm-ff-candidate-number-limit) NOMARK (ALISTP t) (PERSISTENT-ACTION-IF \='helm-find-files-persistent-action-if) (PERSISTENT-HELP "Hit1 Expand Candidate, Hit2 or (C-u) Find file") (MODE-LINE helm-read-file-name-mode-line-string))
257 (defalias 'helm-read-file-name #[385 "\306\307\"\206\310A@\306\311\"\206\312DA@\306\313\"\206\314A@\306\315\"A@\306\316\"\2060\312    DA@\306\317\"A@\306\320\"A@\306\321\"A@C\306    \322\"\206Q\323A@\306\n\324\"A@\306 \325\"A@\306\f\326\"\206l\312\nDA@\306 \327\"A@\306\330\"\206~\331A@\306\332\"\206\211\333A@\306\334\"\206\224\335A@\306\336\"\206\241\312 DA@\211\203\320\211@\337>\203\270\211AA\262\202\245\340>A@\203\307\312\262\202\245\341\342@\"\210\202\245\210\343\344!\210\345\f!\203\337\346\f!\210    \242\347=\203\354    \350\240\210\351\352\353\"\210\354\355\356\357\n\360BBFC \205\361\362 !?\312@    \205A\363>?B \205\"\364\f\312\211$ \242C \242\205I\365 \366\367\370D\367\"\211\371=\203A\372\202B\373\262#\210\211\262\211\203U\374D\"\202WDE\375\211FG\376\377\201I #\201J\201K\201L\"\201M\201N\201O\336\n\201P\n\201Q\375\201R\332\334\201S\327\201T&\201J\201M\201N\201U\201V\201W\336 \201X\201Y\201Q\375\201P\201Z\201[\201\\\201]\201^%\"\"\201_\"\201`$\201a\201b\201c\201d\332\334\201e\375\201S\201f\201g\327'\201T$& D\201h\201iH\203#\201j!\202$\201k\201l!\201m\326\201n\201o\201p\324\313#\201q\312\317$&\211\203f\211;\203f\211\201r\230\203f\201r\202\313\211\203\217\211;\203\217\201s\"\203\217 \203\217 <\203\212 @\202\304 \202\304\211\203\243\211<\203\243\201t\201l\"\202\304\211\203\273\201u!\203\273\201v\201l!!\202\304\211\203\307\201l!\206\313\201w .\266\206\207" [default-directory helm-file-name-case-fold-search helm-ff-candidate-number-limit helm-read-file-name-mode-line-string helm-action-buffer helm-ff-auto-update-initial-value plist-member :name (nil "Read File Name") :initial-input nil :buffer (nil "*Helm file completions*") :test :case-fold :preselect :history :must-match :fuzzy (nil t) :default :marked-candidates :candidate-number-limit :nomark :alistp (nil t) :persistent-action-if (nil helm-find-files-persistent-action-if) :persistent-help (nil "Hit1 Expand Candidate, Hit2 or (C-u) Find file") :mode-line (:name :initial-input :buffer :test :case-fold :preselect :history :must-match :fuzzy :default :marked-candidates :candidate-number-limit :nomark :alistp :persistent-action-if :persistent-help :mode-line :allow-other-keys) :allow-other-keys error "Keyword argument %s not one of (:name :initial-input :buffer :test :case-fold :preselect :history :must-match :fuzzy :default :marked-candidates :candidate-number-limit :nomark :alistp :persistent-action-if :persistent-help :mode-line)" require tramp get-buffer kill-buffer confirm-after-completion confirm mapc #[257 "\300\301\"\207" [add-hook helm-after-update-hook] 4 "\n\n(fn HOOK)"] (helm-ff-move-to-first-real-candidate helm-ff-update-when-only-one-matched helm-ff-auto-expand-to-home-or-root) "Sole action (Identity)" lambda (candidate) if ((helm-marked-candidates :with-wildcard t) (identity candidate)) minibuffer-window-active-p minibuffer-window (multi1 multi3p) helm-comp-read-get-candidates make-sparse-keymap define-key " " lookup-key helm-ff-RET helm-ff-RET-must-match helm-confirm-and-exit-minibuffer make-composed-keymap t replace-regexp-in-string "helm-maybe-exit-minibuffer" helm-follow-mode-persistent helm-mm-matching-method helm-ff-fuzzy-matching minibuffer-completion-confirm helm-read-file-map minibuffer-completion-predicate minibuffer-completing-file-name helm--completing-file-name helm-mode-reverse-history "helm-confirm-and-exit-minibuffer" helm-make-source format "%s History" helm-source-sync :header-name #[257 "\211\301!P\207" [helm-find-files-doc-header substitute-command-keys] 4 "\n\n(fn NAME)"] :candidates :nohighlight :fuzzy-match :keymap :action #[257 "\211\301!P\207" [helm-find-files-doc-header substitute-command-keys] 4 "\n\n(fn NAME)"] :init #[0 "\211\211\207" [helm-ff-auto-update-initial-value helm-ff-auto-update-flag helm-ff--auto-update-state] 3] :help-message helm-read-file-name-help-message make-byte-code 0 "\303\304\n!?\205\305\n!?\205\nC\300\203E\306 \307\301\242!\310\211:\203>@\262\235\2042\300!\2037B\262A\262\202\211\237\266\204\202I\307\301\242!\"\207" vconcat vector [helm-pattern append file-exists-p helm-ff--invalid-tramp-name-p helm-ff--tramp-hostnames helm-find-files-get-candidates nil] 8 :filtered-candidate-transformer helm-ff-sort-candidates :filter-one-by-one helm-ff-filter-candidate-one-by-one :volatile :cleanup helm-find-files-cleanup helm :sources reverse :input expand-file-name :prompt :resume noresume :case-fold-search :full-frame "" file-equal-p mapcar file-directory-p file-name-as-directory helm-mode--keyboard-quit] 58 (#$ . 27404)])
258 #@26 
259
260 (fn FNAME DIR INITIAL)
261 (defalias 'helm-mode--default-filename #[771 "\204\262\302!\204\303!\262\204):\204)\303\206%    \206%\"\262\203V:\203V\304\211:\203N@\262\303\"B\262A\262\2025\211\237\266\203\211\262\207\302!\203^\207\303\"\207" [default-directory buffer-file-name file-name-absolute-p expand-file-name nil] 9 (#$ . 33668)])
262 #@194 Generic helm replacement of `read-file-name'.
263 Don't use it directly, use instead `helm-read-file-name' in your programs.
264
265 (fn PROMPT &optional DIR DEFAULT-FILENAME MUSTMATCH INITIAL PREDICATE)
266 (defalias 'helm--generic-read-file-name #[1537 "\30621\206 \206 \307 \206    \310!\211\311\n\"B\312\313\" \236\211\243\211\205-\310!\f\f\f\f\f\f\257\314D\"\f\315\2110\315\316#\262\317=\203a\320\262\304\321!\210\203r\322!G\323V\203r\324\262\203\214\204\214\325\306\326\216\327\330!\210\3311\")\"\210\332=\204\245\320=\204\245;\203\251\333\334\"\204\251\327\330!\210\335\336\337\340\341\"\342\"\343$\216\203\325\203\325\320=\204\325\324=\204\325\331\"\202\203\353\320=\203\353\304\321!\210\331\"\202\332=\203\371\331\"\202\344\345 \346\f\347\350\351\"\352\315\353\354&\262) \355=\203,\211\356\230\204,\357!\202-\211+\266\2130\207" [default-directory this-command helm--file-completion-sources helm-completing-read-handlers-alist ido-mode helm-completion-mode-start-message --cl-block-helm--generic-read-file-name-- helm-this-command helm-symbol-name remove format "*helm-mode-%s*" append nil helm-mode--default-filename ido ido-read-file-name 1 help-function-arglist 8 incompatible throw #[0 "\300\301!\207" [helm-mode 1] 2] helm-mode -1 apply read-file-name string-match "^helm" make-byte-code 0 "\303\304!\210\305\301\203 \304\202\306!\210\300\211\207" vconcat vector [this-command helm-mode 1 ido-mode -1] 2 helm-read-file-name :name :buffer :default :initial-input expand-file-name :alistp :must-match :test file-directory-p "" file-name-as-directory helm-completion-mode-quit-message read-file-name-function] 34 (#$ . 34048)])
267 #@308 A `read-file-name' handler with history.
268 Can be added to `helm-completing-read-handlers-alist' for functions
269 that need a `read-file-name' function with directory history.
270 The `helm-find-files' history `helm-ff-history' is used here.
271
272 (fn PROMPT DIR DEFAULT-FILENAME MUSTMATCH INITIAL PREDICATE NAME BUFFER)
273 (defalias 'helm-read-file-name-handler-1 #[2056 "\306\307=\203 \310\202\f\311\211\206\n\206    \312 \313    \314 \315\f\316\317\320\f\"\321\311\322\323&,\207" [helm-split-window-default-side default-directory helm-reuse-last-window-split-state helm-split-window-inside-p helm-always-two-windows helm-ff-history t same below nil helm-read-file-name :name :history :buffer :default :initial-input expand-file-name :alistp :must-match :test] 31 (#$ . 35796)])
274 #@27 
275
276 (fn OLD--FN &rest ARGS)
277 (defalias 'helm-mode--advice-lisp--local-variables #[385 "\3001\n\301\"0\207\210\302\207" [(error) apply nil] 5 (#$ . 36592)])
278 #@73 Default sort function for completion-in-region.
279
280 (fn CANDIDATES SOURCE)
281 (defalias 'helm-completion-in-region-sort-fn #[514 "\300\301\"\207" [sort helm-generic-sort-fn] 5 (#$ . 36754)])
282 #@151 Helm replacement of `completion--in-region'.
283 Can be used as value for `completion-in-region-function'.
284
285 (fn START END COLLECTION &optional PREDICATE)
286 (defalias 'helm--completion-in-region #[1027 "    >\203 \n$\207\306\307\310\311#\210\312\216\313\314\"\315 \206!\f\211\316=\317!\320\321\"\322\305!\2035 \206>@\206>\322\323!?\324A\325\"\326\314 `\"        #\327  {\n\n`Z%\330!\330!A\211\203r\211\331\241\210\202s\332\262B\206\206\333\334 \"\206\206    \335\230?\205\213\334\336\337\"\340=\206\241\341 \206\241?\205\241 ?;\203\252\202_\342\322\323!\203\266\206\267\343\203\342\331\211:\203\333@\262\344\345\"\204\324B\262A\262\202\277\211\237\266\203\202\375\203\373\346\347\350\351\352\353!\354\"\355\356%\"\202\375\357\f\360B\361?\362\363\f\203\"\344\364\"\204\"\365!P\202A\344\364\"\203.\331\202A \2037 ;\203<\202AP\366\367\370\371B\206OC??\205VCC\"\372\313\373\374\375 &\211;\203u\376p\\DD$\202\255\211:\203\254\\\377\212b\210\201FE`S\"\203\225\201G\332!\262)D\201H\201I##\266\202\202\255\331*\266\215)\207" [major-mode helm-mode-no-completion-in-region-in-modes helm--old-completion-in-region-function enable-recursive-minibuffers this-command require-match advice-add lisp--local-variables :around helm-mode--advice-lisp--local-variables #[0 "\300\301\302\"\207" [advice-remove lisp--local-variables helm-mode--advice-lisp--local-variables] 3] t buffer-substring-no-properties helm-this-command crm-complete helm-symbol-name format "*helm-mode-%s*" boundp prompt plist-get :annotation-function completion-metadata completion-all-completions last nil 0 string-suffix-p " " "" completion-metadata-get category file helm-mode--in-file-completion-p helm-comp-read "Pattern: " string-match "\\`\\.\\{1,2\\}/\\'" mapcar make-byte-code 257 "\300!\211\203\301\302\303\301\304\305##PB\202\207" vconcat vector [propertize " " display face completions-annotations] 10 "\n\n(fn S)" :name :fuzzy :nomark :marked-candidates :initial-input "/\\'" helm-basename :buffer :fc-transformer append (helm-cr-default-transformer) :exec-when-only-one :quit-when-no-cand #[0 "\300\301\302\303#\210\304\207" [run-with-timer 0.01 nil #[0 "\300\301!\207" [message "[No matches]"] 2] t] 4] :must-match choose-completion-string "," minibuffer-completion-confirm completion-extra-properties helm-completion-in-region-fuzzy-match helm-completion-in-region-default-sort-fn completion-list-insert-choice-function crm-separator looking-back match-string mapconcat identity] 39 (#$ . 36947)])
287 (defalias 'helm-mode--in-file-completion-p #[0 "r\301!\203 \206p\211q\210\302\303!)\207" [helm-current-buffer buffer-live-p run-hook-with-args-until-success file-name-at-point-functions] 2])
288 (byte-code "\301\300!\203\n\302!\210\303\304\305\306\307DD\310\311\312\313\314\315\304\316\317& \207" [completion-in-region-function boundp (lambda (#1=#:def-tmp-var) (defconst helm--old-completion-in-region-function #1#)) custom-declare-variable helm-mode funcall function #[0 "\300\207" [nil] 1] "Non-nil if Helm mode is enabled.\nSee the `helm-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 `helm-mode'." :set custom-set-minor-mode :initialize custom-initialize-default :group :type boolean] 12)
289 #@1044 Toggle generic helm completion.
290
291 All functions in Emacs that use `completing-read'
292 or `read-file-name' and friends will use helm interface
293 when this mode is turned on.
294
295 However you can modify this behavior for functions of your choice
296 with `helm-completing-read-handlers-alist'.
297
298 Also commands using `completion-in-region' will be helmized when
299 `helm-mode-handle-completion-in-region' is non nil, you can modify
300 this behavior with `helm-mode-no-completion-in-region-in-modes'.
301
302 Called with a positive arg, turn on unconditionally, with a
303 negative arg turn off.
304 You can turn it on with `helm-mode'.
305
306 Some crap emacs functions may not be supported,
307 e.g `ffap-alternate-file' and maybe others
308 You can add such functions to `helm-completing-read-handlers-alist'
309 with a nil value.
310
311 About `ido-mode':
312 When you are using `helm-mode', DO NOT use `ido-mode', instead if you
313 want some commands use `ido', add these commands to
314 `helm-completing-read-handlers-alist' with `ido' as value.
315
316 Note: This mode is incompatible with Emacs23.
317
318 (fn &optional ARG)
319 (defalias 'helm-mode #[256 "\306 \307\300\310=\203\311\300!?\202\312!\313V\"\210\314\302!\204%\315\316\317\320\211$\210\203t\321\322!\203Z\323\324\325\326B\327\320$\210\323\324\330\331B\332\320$\210\323\324\333\334B\335\320$\210    \203\371\323\324\336\337B\340\320$\210\202\371\327\332\335\314\305!\203l    \203l\340\3414!\210\202\371\321\342!\203\315\343\311\302!\327\"\211\311\302!=\204\215\307\302\"\210\210\343\311\303!\332\"\211\311\303!=\204\241\307\303\"\210\210\343\311\304!\335\"\211\311\304!=\204\265\307\304\"\210\210\343\311\305!\340\"\211\311\305!=\204\311\307\305\"\210\210\202\371\321\344!\205\324\344\321\345!\205\334\345\321\346!\205\344\346\314\305!\203\364\314\347!\203\364'\3415!\210\350\351\311\300!\203\352\202\353\"\210\354\355!\2030\356\300!\210\306 \203\211\306 \232\2030\357\341\360\311\300!\203+\361\202,\362#\266\210\363 \210\311\300!\207" [helm-mode helm-mode-handle-completion-in-region completing-read-function read-file-name-function read-buffer-function completion-in-region-function current-message set-default toggle default-value prefix-numeric-value 0 boundp cl--assertion-failed (boundp 'completing-read-function) "`helm-mode' not available, upgrade to Emacs-24" nil fboundp add-function advice--add-function :override #[0 "\300\301!\207" [default-value completing-read-function] 2] #[257 "\300\301\"\207" [set-default completing-read-function] 4 "\n\n(fn GV--VAL)"] helm--completing-read-default #[0 "\300\301!\207" [default-value read-file-name-function] 2] #[257 "\300\301\"\207" [set-default read-file-name-function] 4 "\n\n(fn GV--VAL)"] helm--generic-read-file-name #[0 "\300\301!\207" [default-value read-buffer-function] 2] #[257 "\300\301\"\207" [set-default read-buffer-function] 4 "\n\n(fn GV--VAL)"] helm--generic-read-buffer #[0 "\300\301!\207" [default-value completion-in-region-function] 2] #[257 "\300\301\"\207" [set-default completion-in-region-function] 4 "\n\n(fn GV--VAL)"] helm--completion-in-region message remove-function advice--remove-function completing-read-default read-file-name-default read-buffer helm--old-completion-in-region-function run-hooks helm-mode-hook helm-mode-on-hook helm-mode-off-hook called-interactively-p any customize-mark-as-set "" "Helm mode %sabled%s" "en" "dis" force-mode-line-update helm-completion-mode-start-message helm-completion-mode-quit-message] 7 (#$ . 40404) (byte-code "\206\301C\207" [current-prefix-arg toggle] 1)])
320 (defvar helm-mode-hook nil)
321 (byte-code "\301\302N\204\f\303\301\302\304#\210\305\306\307\310\300!\205\311\211%\210\312\306!\207" [helm-mode-map helm-mode-hook variable-documentation put "Hook run after entering or leaving `helm-mode'.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" add-minor-mode helm-mode helm-completion-mode-string boundp nil provide] 6)