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

Chizi123
2018-11-18 76bbd07de7add0f9d13c6914f158d19630fe2f62
commit | author | age
76bbd0 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\300\305!\210\300\306!\207" [require cl-lib async advice helm-lib helm-multi-match helm-source] 2)
16 #@741 In KEYMAP, define key sequence KEY for function list FUNCTIONS.
17 Each function runs sequentially for each KEY press.
18 If DELAY is specified, switch back to initial function of FUNCTIONS list
19 after DELAY seconds.
20 The functions in FUNCTIONS list take no args.
21 e.g
22     (defun foo ()
23       (interactive)
24       (message "Run foo"))
25     (defun bar ()
26       (interactive)
27       (message "Run bar"))
28     (defun baz ()
29       (interactive)
30       (message "Run baz"))
31
32 (helm-define-multi-key global-map (kbd "<f5> q") '(foo bar baz) 2)
33
34 Each time "<f5> q" is pressed, the next function is executed. Waiting
35 more than 2 seconds between key presses switches back to executing the first
36 function on the next hit.
37
38 (fn KEYMAP KEY FUNCTIONS &optional DELAY)
39 (defalias 'helm-define-multi-key #[1027 "\300\301\"#\207" [define-key helm-make-multi-command] 10 (#$ . 572)])
40 #@174 Define NAME as a multi-key command running FUNS.
41 After DELAY seconds, the FUNS list is reinitialized.
42 See `helm-define-multi-key'.
43
44 (fn NAME DOCSTRING FUNS &optional DELAY)
45 (defalias 'helm-multi-key-defun '(macro . #[1027 "\203\n\300P\202 \301\262\302\303D\304EF\207" ["\n\n" "This is a helm-ish multi-key command." defalias quote helm-make-multi-command] 9 (#$ . 1434)]))
46 (byte-code "\300\301\302\303#\300\207" [function-put helm-multi-key-defun lisp-indent-function 2] 4)
47 #@172 Return an anonymous multi-key command running FUNCTIONS.
48 Run each function in the FUNCTIONS list in turn when called within DELAY seconds.
49
50 (fn FUNCTIONS &optional DELAY)
51 (defalias 'helm-make-multi-command #[513 "\300\301!\302\303\304E!\210\305\306\307\310\311#\312\"\313\304\211&\207" [cl-gensym "helm-iter-key" eval defvar nil make-byte-code 0 "\303\300\301\302#\207" vconcat vector [helm-run-multi-key-command] 4] 13 (#$ . 1924)])
52 (byte-code "\300\301\302\303#\300\207" [function-put helm-make-multi-command lisp-indent-function 1] 4)
53 #@33 
54
55 (fn FUNCTIONS ITERATOR DELAY)
56 (defalias 'helm-run-multi-key-command #[771 "\302\303J\203     =\204\304!!L\210\305J!\262\211\204/\304!!L\210\305J!\262\211\203@J\203@\306S8!\210\205T\307\303\310\311\312\313\314 !\315\"\316$#\207" [this-command real-last-command #[257 "\300G\301X\203B\262T\262\202\211\237\207" [1 nil] 6 "\n\n(fn FUNCTIONS)"] nil helm-iter-list helm-iter-next call-interactively run-with-idle-timer make-byte-code 0 "\300\301L\207" vconcat vector [nil] 2] 14 (#$ . 2478)])
57 (byte-code "\300\301\302\303\304\"\305#\210\306\301\307\310#\207" [defalias helm-toggle-resplit-and-swap-windows helm-make-multi-command (helm-toggle-resplit-window helm-swap-windows) 1 "Multi key command to re-split and swap helm window.\nFirst call runs `helm-toggle-resplit-window',\nand second call within 0.5s runs `helm-swap-windows'.\n\n" put helm-only t] 5)
58 #@1057 Defines in MAP a KEY and SUBKEY to COMMAND.
59
60 This allows typing KEY to call COMMAND the first time and
61 type only SUBKEY on subsequent calls.
62
63 Arg MAP is the keymap to use, SUBKEY is the initial short key-binding to
64 call COMMAND.
65
66 Arg OTHER-SUBKEYS is an alist specifying other short key-bindings
67 to use once started e.g:
68
69     (helm-define-key-with-subkeys global-map
70        (kbd "C-x v n") ?n 'git-gutter:next-hunk '((?p . git-gutter:previous-hunk)))
71
72
73 In this example, `C-x v n' will run `git-gutter:next-hunk'
74 subsequent "n"'s run this command again
75 and subsequent "p"'s run `git-gutter:previous-hunk'.
76
77 If specified PROMPT can be displayed in minibuffer to
78 describe SUBKEY and OTHER-SUBKEYS.
79 Arg EXIT-FN specifies a function to run on exit.
80
81 For any other keys pressed, run their assigned command as defined
82 in MAP and then exit the loop running EXIT-FN, if specified.
83
84 NOTE: SUBKEY and OTHER-SUBKEYS bindings support only char syntax and
85 vectors, so don't use strings to define them.
86
87 (fn MAP KEY SUBKEY COMMAND &optional OTHER-SUBKEYS PROMPT EXIT-FN)
88 (defalias 'helm-define-key-with-subkeys #[1796 "\300\301\302\303\304\305     &\306\"\307\310\211&#\207" [define-key make-byte-code 0 "\306\307\310\311\312\305!\313\"\314$\216\315\302!\210\316\304!\317\211\211\301=\203'\315\302!\210\320\202]\321\303\"\211\262\203:\315A!\210\320\202]\312!\262\322\300\"\262\323!\203S\315!\210\202\\\324\325\"\244\317\266\204\205e\202)\207" vconcat vector [make-byte-code 0 "\300\205\300 \207" vconcat vector [] 1 call-interactively read-key nil t assoc lookup-key commandp mapcar identity last-command-event unread-command-events] 7 nil] 21 (#$ . 3379)])
89 (byte-code "\300\301\302\303#\300\207" [function-put helm-define-key-with-subkeys lisp-indent-function 1] 4)
90 #@18 Keymap for helm.
91 (defvar helm-map (byte-code "\302 \303\"\210\304\305\306#\210\304\307\310#\210\304\311\306#\210\304\312\310#\210\304\313\314#\210\304\315\316#\210\304\317\320#\210\304\321\322#\210\304\323\320#\210\304\324\322#\210\304\325\326#\210\304\327\330#\210\304\331\332#\210\304\333\334#\210\304\335\336#\210\304\337\340#\210\304\341\342#\210\304\343\344#\210\304\345\344#\210\304\346\334#\210\304\347\336#\210\304\350\351#\210\304\352\353#\210\304\354\355#\210\304\356\355#\210\304\357\360#\210\304\361\360#\210\304\362\360#\210\304\363\355#\210\304\364\360#\210\304\365\366#\210\304\367\366#\210\304\370\366#\210\304\371\372#\210\304\373\374#\210\304\375\376#\210\304\377\201@#\210\304\201A\201B#\210\304\201C\201D#\210\304\201E\201F#\210\304\201G\201H#\210\304\201I\201J#\210\304\201K\201L#\210\304\201M\201N#\210\304\201O\201N#\210\304\201P\201Q#\210\304\201R\201S#\210\304\201T\201U#\210\304\201V\201W#\210\304\201X\201Y#\210\304\201Z\201[#\210\304\201\\\201]#\210\304\201^\201_#\210\304\201`\201a#\210\304\201b\201c#\210\304\201d\201e#\210\304\201f\201g#\210\304\201h\201i#\210\304\201j\201k#\210\304\201l\201m#\210\304\201n\201o#\210\201p\201q\201r\201s$\210\304\201t\201N#\210\304\201u\201v#\210\304\201w\201N#\210\304\201w\201x#\210\304\201y\201z#\210\304\201{\372#\210\304\201|\201N#\210\304\201}\201N#\210\201p\201~\201\201\200\201\201%\210\201\202\201\203    \"\211\203c\211@\304\201\204#\210A\266\202\202N\210\304\201\205\201\204#\210\201\206\211\201\207X\203\237\304\201\210\201\211\201\212T\"!\201\213\372\201\214\201\215DF#\210\211T\262\202q\210\211\207" [minibuffer-local-map global-map make-sparse-keymap set-keymap-parent define-key [down] helm-next-line [up] helm-previous-line "" "" [C-down] helm-follow-action-forward [C-up] helm-follow-action-backward [prior] helm-previous-page [next] helm-next-page [134217846] "" [134217788] helm-beginning-of-buffer [134217790] helm-end-of-buffer "" helm-keyboard-quit [right] helm-next-source [left] helm-previous-source " " helm-maybe-exit-minibuffer "    " helm-select-action "" helm-execute-persistent-action "\n" "" [134217839] "\f" helm-recenter-top-bottom-other-window [134217740] helm-reposition-window-other-window [134217750] helm-scroll-other-window [M-next] [134217753] helm-scroll-other-window-down [167772182] [M-prior] [C-M-down] [C-M-up] "" helm-toggle-visible-mark [67108896] [134217760] [134217819] nil [134217768] helm-prev-visible-mark [134217769] helm-next-visible-mark " " helm-delete-minibuffer-contents "" helm-quit-and-find-file [134217837] helm-toggle-all-marks [134217825] helm-mark-all [134217813] helm-unmark-all [134217729] helm-show-all-in-this-source-only [134217733] helm-display-all-sources "" undefined [134217843] [67108989] helm-narrow-window [67108987] helm-enlarge-window "-" helm-swap-windows "_" helm-toggle-full-frame "%" helm-exchange-minibuffer-and-header-line "" helm-yank-selection " " helm-kill-selection-and-quit "    " helm-copy-to-buffer "" helm-follow-mode "" helm-refresh ">" helm-toggle-truncate-line [134217840] previous-history-element [134217838] next-history-element [67108897] helm-toggle-suspend-update "b" helm-resume-previous-session-after-quit "" helm-resume-list-buffers-after-quit helm-define-key-with-subkeys "n" 110 helm-run-cycle-resume [C-tab] "" helm-toggle-resplit-and-swap-windows "" helm-enable-or-switch-to-debug "c" helm-customize-group [f1] "" "h" "" 23 helm-yank-text-at-point ((31 . helm-undo-yank-text-at-point)) where-is-internal describe-mode helm-help "?" 0 12 kbd format "<f%s>" lambda (interactive) helm-select-nth-action] 10) (#$ . 5180))
92 #@104 Jump to customization group of current source.
93
94 Default to `helm' when group is not defined in source.
95 (defalias 'helm-customize-group #[0 "\300\301\302\303!\"\207" [helm-run-after-exit customize-group helm-attr group] 4 (#$ . 8977) nil])
96 (put 'helm-customize-group 'helm-only t)
97 #@33 
98
99 (fn VALUE &optional NEGATIVE)
100 (defalias 'helm--action-at-nth-set-fn-1 #[513 "\301\302\211\211\303X\203C\304\"\262\305\304\306\"!\262\307\302\310\311\203)[\202+DF\262\312\"\210\313\314!#\210T\262\202\302\207" [helm-map 1 nil 9 format make-symbol "helm-execute-selection-action-at-nth-+%d" lambda (interactive) helm-execute-selection-action-at-nth defalias define-key kbd] 11 (#$ . 9263)])
101 #@16 
102
103 (fn VAR VAL)
104 (defalias 'helm--action-at-nth-set-fn- #[514 "L\210\300\301\"\207" [helm--action-at-nth-set-fn-1 negative] 5 (#$ . 9686)])
105 #@16 
106
107 (fn VAR VAL)
108 (defalias 'helm--action-at-nth-set-fn+ #[514 "L\210\300!\207" [helm--action-at-nth-set-fn-1] 4 (#$ . 9833)])
109 (byte-code "\300\301\302\303\304DD\305\306\307\310\311\312\313&    \210\300\314\302\303\315DD\316\306\307\310\311\312\317&    \210\320\307\321\322\323\324\306\325&\210\300\326\302\303\327DD\330\306\307\310\331&\210\300\332\302\303\333DD\334\306\307\310\335&\210\300\336\302\303\337DD\340\306\307\310\341&\210\300\342\302\303\343DD\344\306\307\310\345&\210\300\346\302\303\347DD\350\306\307\310\345&\210\351\352\353\"\210\354\352\353\355#\210\300\353\302\303\356DD\357\306\307\310\335&\210\300\360\302\303\361DD\362\306\307\310\311&\210\300\363\302\303\364DD\365\306\307\310\366&\210\300\367\302\303\370DD\371\306\307\310\372&\210\300\373\302\303\374DD\375\306\307\310\376&\210\300\377\302\303\201@DD\201A\306\307\310\372&\210\300\201B\302\303\201CDD\201D\306\307\310\335&\210\300\201E\302\303\201FDD\201G\306\307\310\303&\210\300\201H\302\303\201IDD\201J\306\307\310\372&\210\300\201K\302\303\201LDD\201M\306\307\310\201N&\210\300\201O\302\303\201PDD\201Q\306\307\310\201R&\210\351\201S\201T\"\210\354\201S\201T\201U#\210\300\201T\302\303\201VDD\201W\306\307\310\335&\210\300\201X\302\303\201YDD\201Z\306\307\310\335&\210\300\201[\302\303\201\\DD\201]\306\307\310\331&\210\300\201^\302\303\201_DD\201`\306\307\310\331&\210\300\201a\302\303\201bDD\201c\306\307\310\201d&\210\300\201e\302\303\201fDD\201g\306\307\310\201h&\210\300\201i\302\303\201jDD\201k\306\307\310\201l&\210\300\201m\302\303\201nDD\201o\306\307\310\335&\210\300\201p\302\303\201qDD\201r\306\307\310\335&\210\300\201s\302\303\201tDD\201u\306\307\310\201v&\210\300\201w\302\303\201xDD\201y\306\307\310\335&\210\300\201z\302\303\201{DD\201|\306\307\310\335&\210\300\201}\302\303\201~DD\201\306\307\310\335&\210\300\201\200\302\303\201\201DD\201\202\306\307\310\303&\210\300\201\203\302\303\201\204DD\201\205\306\307\310\303&\210\300\201\206\302\303\201\207DD\201\210\306\307\310\303&\210\300\201\211\302\303\201\212DD\201\213\306\307\310\303&\210\300\201\214\302\303\201\215DD\201\216\306\307\310\331&\210\300\201\217\302\303\201\220DD\201\221\306\307\310\331&\210\300\201\222\302\303\201\223DD\201\224\306\307\310\201\225&\210\300\201\226\302\303\201\227DD\201\230\306\307\310\335&\210\300\201\231\302\303\201\232DD\201\233\306\307\310\335&\210\300\201\234\302\303\201\235DD\201\236\306\307\310\335&\210\300\201\237\302\303\201\240DD\201\241\306\307\310\201\242&\210\300\201\243\302\303\201\244DD\201\245\310\331\306\307&\210\300\201\246\302\303\201\247DD\201\250\310\311\306\307&\210\300\201\251\302\303\201\252DD\201\253\306\307\310\201\254&\210\300\201\255\302\303\201\256DD\201\257\310\345\306\307&\210\300\201\260\302\303\201\261DD\201\262\306\307\310\335&\210\300\201\263\302\303\201\264DD\201\265\306\307\310\201\266&\210\300\201\267\302\303\201\270DD\201\271\306\307\310\335&\210\300\201\272\302\303\201\273DD\201\274\306\307\310\335&\210\300\201\275\302\303\201\276DD\201\277\306\307\310\335&\210\300\201\300\302\303\201\301DD\201\302\306\307\310\303&\210\320\201\303\321\201\304\323\324\306\201\305\306\307&    \210\201\306\201\307\201\310\201\311\306\201\303%\210\201\306\201\312\201\313\201\314\306\201\303%\210\201\306\201\315\201\316\201\317\306\201\303%\210\201\306\201\320\201\321\201\322\306\201\303%\210\201\306\201\323\201\324\201\325\306\201\303%\210\201\306\201\326\201\327\201\330\306\201\303%\210\201\306\201\331\201\332\201\333\306\201\303%\210\201\306\201\334\201\335\201\336\306\201\303%\210\201\306\201\337\201\340\201\341\306\201\303%\210\201\306\201\342\201\343\201\344\306\201\303%\210\201\306\201\345\201\346\201\347\306\201\303%\210\201\306\201\350\201\351\201\352\306\201\303%\207" [custom-declare-variable helm-action-at-nth-negative-prefix-key funcall function #[0 "\300\207" [#1="C-x %d"] 1 #1#] "The prefix key to execute default action on nth <-n> candidate.\n\nThis is a format spec where %d will be replaced by the candidate\nnumber.\n\nNOTE: `setq' have no effect until you restart emacs, use customize for\nimmediate effect." :group helm :type string :set helm--action-at-nth-set-fn- helm-action-at-nth-positive-prefix-key #[0 "\300\207" [#2="C-c %d"] 1 #2#] "The prefix key to execute default action on nth <+n> candidate.\n\nThis is a format spec where %d will be replaced by the candidate\nnumber.\n\nNOTE: `setq' have no effect until you restart emacs, use customize for\nimmediate effect." helm--action-at-nth-set-fn+ custom-declare-group nil "Open helm." :prefix "helm-" convenience helm-completion-window-scroll-margin #[0 "\300\207" [5] 1] " `scroll-margin' to use for helm completion window.\nSet to 0 to disable.\nNOTE: This has no effect when `helm-display-source-at-screen-top'\nid is non-`nil'." integer helm-display-source-at-screen-top #[0 "\300\207" [t] 1] "Display candidates at the top of screen.\nThis happens with `helm-next-source' and `helm-previous-source'.\nNOTE: When non-`nil' (default), disable `helm-completion-window-scroll-margin'." boolean helm-candidate-number-limit #[0 "\300\207" [100] 1] "Global limit for number of candidates displayed.\nWhen the pattern is empty, the number of candidates shown will be\nas set here instead of the entire list, which may be hundreds or\nthousands. Since narrowing and filtering rapidly reduces\navailable candidates, having a small list will keep the interface\nresponsive.\n\nSet this value to nil for no limit." (choice (const :tag "Disabled" nil) integer) helm-input-idle-delay #[0 "\300\207" [0.01] 1] "Idle time before updating, specified in seconds." float helm-exit-idle-delay #[0 "\300\207" [0] 1] "Idle time before exiting minibuffer while helm is updating.\nHas no affect when helm-buffer is up to date (i.e exit without\ndelay in this condition)." defvaralias helm-samewindow helm-full-frame make-obsolete-variable "1.4.8.1" #[0 "\300\207" [nil] 1] "Use current window for showing candidates.\nIf t, then Helm does not pop-up new window." helm-candidate-separator #[0 "\300\207" [#3="--------------------"] 1 #3#] "Candidates separator of `multiline' source." helm-save-configuration-functions #[0 "\300\207" [(set-window-configuration . current-window-configuration)] 1] "Functions used to restore or save configurations for frames and windows.\nSpecified as a pair of functions, where car is the restore function and cdr\nis the save function.\n\nTo save and restore frame configuration, set this variable to\n'(set-frame-configuration . current-frame-configuration)\n\nNOTE: This may not work properly with own-frame minibuffer\nsettings. Older versions saves/restores frame configuration, but\nthe default has changed now to avoid flickering." sexp helm-display-function #[0 "\300\207" [helm-default-display-buffer] 1] "Function used to display `helm-buffer'.\n\nLocal value in `helm-buffer' will take precedence on this default\nvalue. Commands that are in `helm-commands-using-frame' will have\n`helm-buffer' displayed in frame, `helm-display-function' being\nignored.\nIf no local value found and current command is not one of\n`helm-commands-using-frame' use this default value.\nFunction in charge of deciding which value use is\n`helm-resolve-display-function'.\n \nTo set it locally to `helm-buffer' in helm sources use\n`helm-set-local-variable' in init function or use\n:display-function slot in `helm' call." symbol helm-case-fold-search #[0 "\300\207" [smart] 1] "Adds 'smart' option to `case-fold-search'.\nSmart option ignores case for searches as long as there are no\nupper case characters in the pattern.\n\nUse nil or t to turn off smart behavior and use\n`case-fold-search' behavior.\n\nDefault is smart.\n\nNOTE: Case fold search has no effect when searching asynchronous\nsources, which rely on customized features implemented directly\ninto their execution process. See helm-grep.el for an example." (choice (const :tag "Ignore case" t) (const :tag "Respect case" nil) (other :tag "Smart" 'smart)) helm-file-name-case-fold-search #[0 "\302>\203\303\207    \207" [system-type helm-case-fold-search (cygwin windows-nt ms-dos darwin) t] 2] "Local setting of `helm-case-fold-search' for reading filenames.\n\nSee `helm-case-fold-search' for more info." helm-reuse-last-window-split-state #[0 "\300\207" [nil] 1] "Use the same state of window split, vertical or horizontal.\n`helm-toggle-resplit-window' for the next helm session will use\nthe same window scheme as the previous session unless\n`helm-split-window-default-side' is 'same or 'other." helm-split-window-preferred-function #[0 "\300\207" [helm-split-window-default-fn] 1] "Default function used for splitting window." helm-split-window-default-side #[0 "\300\207" [below] 1] "The default side to display `helm-buffer'.\nMust be one acceptable arg for `split-window' SIDE,\nthat is `below', `above', `left' or `right'.\n\nOther acceptable values are `same' which always display\n`helm-buffer' in current window and `other' that display\n`helm-buffer' below if only one window or in\n`other-window-for-scrolling' when available.\n\nA nil value has same effect as `below'.\nIf `helm-full-frame' is non-`nil', it take precedence over this setting.\n\nSee also `helm-split-window-inside-p' and `helm-always-two-windows' that\ntake precedence over this.\n\nNOTE: this have no effect if `helm-split-window-preferred-function' is not\n`helm-split-window-default-fn' unless this new function can handle this." helm-display-buffer-default-height #[0 "\300\207" [nil] 1] "Initial height of `helm-buffer', specified as an integer or a function.\n\nThe function should take one arg and the responsibility for\nre-sizing the window; function's return value is ignored.\nNote that this have no effect when the split is vertical.\nSee `display-buffer' for more info." (choice integer function) helm-display-buffer-default-width #[0 "\300\207" [nil] 1] "Initial width of `helm-buffer', specified as an integer or a function.\n\nThe function should take one arg and the responsibility for\nre-sizing the window; function's return value is ignored.\nNote that this have no effect when the split is horizontal.\nSee `display-buffer' for more info." (choice integer function) helm-split-window-in-side-p helm-split-window-inside-p "2.8.6" #[0 "\300\207" [nil] 1] "Forces split inside selected window when non-`nil'.\nSee also `helm-split-window-default-side'.\n\nNOTE: this has no effect if\n`helm-split-window-preferred-function' is not\n`helm-split-window-default-fn' unless this new function can\nhandle this." helm-always-two-windows #[0 "\300\207" [nil] 1] "When non-`nil' helm uses two windows in this frame.\nTo display `helm-buffer' in one window and `helm-current-buffer'\nin the other.\n\nNote: this has no effect when `helm-split-window-inside-p' is non-`nil',\nor when `helm-split-window-default-side' is set to 'same.\n\nWhen `helm-autoresize-mode' is enabled, setting this to nil\nwill have no effect.\n\nAlso when non-`nil' it overrides the effect of `helm-split-window-default-side'\nset to `other'." helm-display-buffer-width #[0 "\300\207" [72] 1] "Frame width when displaying helm-buffer in own frame." helm-display-buffer-height #[0 "\300\207" [20] 1] "Frame height when displaying helm-buffer in own frame." helm-default-display-buffer-functions #[0 "\300\207" [nil] 1] "Action functions to pass to `display-buffer'.\nSee (info \"(elisp) Display Action Functions\").\n\nHave no effect when `helm-always-two-windows' is non-nil and may\noverride other settings like `helm-split-window-inside-p'." (repeat symbol) helm-default-display-buffer-alist #[0 "\300\207" [nil] 1] "Additional alist to pass to `display-buffer' action.\nSee (info \"(elisp) Display Action Functions\").\n\nHave no effect when `helm-always-two-windows' is non-nil and may\noverride other settings like `helm-split-window-inside-p'.\nNote that window-height and window-width have to be configured in\n`helm-display-buffer-height' and `helm-display-buffer-width'." (alist :key-type symbol :value-type sexp) helm-sources-using-default-as-input #[0 "\300\207" [(helm-source-imenu helm-source-imenu-all helm-source-info-elisp helm-source-etags-select helm-source-man-pages helm-source-occur helm-source-moccur helm-source-grep-ag helm-source-grep-git helm-source-grep)] 1] "List of helm sources that need to use `helm--maybe-use-default-as-input'.\nWhen a source is a member of this list, default `thing-at-point'\nwill be used as input." (repeat (choice symbol)) helm-delete-minibuffer-contents-from-point #[0 "\300\207" [t] 1] "When non-`nil', `helm-delete-minibuffer-contents' delete region from `point'.\nOtherwise delete `minibuffer-contents'.\nSee documentation for  `helm-delete-minibuffer-contents'." helm-follow-mode-persistent #[0 "\300\207" [nil] 1] "When non-`nil', save last state of `helm-follow-mode' for the next emacs sessions.\n\nEach time you turn on or off `helm-follow-mode', the current source name will be stored\nor removed from `helm-source-names-using-follow'.\n\nNote that this may be disabled in some places where it is unsafe to use\nbecause persistent action is changing according to context." helm-source-names-using-follow #[0 "\300\207" [nil] 1] "A list of source names to have follow enabled.\nThis list of source names will be used only\nwhen `helm-follow-mode-persistent' is non-nil.\n\nYou don't have to customize this yourself unless you really want and\nknow what you are doing, instead just set\n`helm-follow-mode-persistent' to non-nil and as soon you turn on or\noff `helm-follow-mode' (C-c C-f) in a source, helm will save or remove\nsource name in this variable." (repeat (choice string)) helm-prevent-escaping-from-minibuffer #[0 "\300\207" [t] 1] "Prevent escaping from minibuffer with `other-window' during the helm session." helm-allow-mouse #[0 "\300\207" [nil] 1] "Allow mouse usage during the helm session when non-nil.\n\nNote that this also allow moving out of minibuffer when clicking\noutside of `helm-buffer', up to you to get back to helm by clicking\nback in `helm-buffer' of minibuffer." helm-move-to-line-cycle-in-source #[0 "\300\207" [nil] 1] "Cycle to the beginning or end of the list after reaching the bottom or top.\nThis applies when using `helm-next/previous-line'." helm-fuzzy-match-fn #[0 "\300\207" [helm-fuzzy-match] 1] "The function for fuzzy matching in `helm-source-sync' based sources." helm-fuzzy-search-fn #[0 "\300\207" [helm-fuzzy-search] 1] "The function for fuzzy matching in `helm-source-in-buffer' based sources." helm-fuzzy-sort-fn #[0 "\300\207" [helm-fuzzy-matching-default-sort-fn] 1] "The sort transformer function used in fuzzy matching.\nWhen nil, sorting is not done." helm-fuzzy-matching-highlight-fn #[0 "\300\207" [helm-fuzzy-default-highlight-match] 1] "The function to highlight fuzzy matches.\nWhen nil, no highlighting is done." helm-autoresize-max-height #[0 "\300\207" [40] 1] "Specifies maximum height and defaults to percent of helm window's frame height.\n\nSee `fit-window-to-buffer' for more infos." helm-autoresize-min-height #[0 "\300\207" [10] 1] "Specifies minimum height and defaults to percent of helm window's frame height.\n\nIf nil, `window-min-height' is used.\nSee `fit-window-to-buffer' for details." helm-input-method-verbose-flag #[0 "\300\207" [nil] 1] "The default value for `input-method-verbose-flag' used in helm minibuffer.\nIt is nil by default, which does not turn off input method. Helm\nupdates and exits without interruption -- necessary for complex methods.\n\nIf set to any other value as per `input-method-verbose-flag',\nthen use `C-\\' to disable the `current-input-method' to exit or update helm" (radio :tag "A flag to control extra guidance for input methods in helm." (const :tag "Never provide guidance" nil) (const :tag "Always provide guidance" t) (const :tag "Provide guidance only for complex methods" complex-only)) helm-display-header-line #[0 "\300\207" [t] 1] "Display header-line when non nil." helm-inherit-input-method #[0 "\300\207" [t] 1] "Inherit `current-input-method' from `current-buffer' when non-`nil'.\nThe default is to enable this by default and then toggle\n`toggle-input-method'." helm-echo-input-in-header-line #[0 "\300\207" [nil] 1] "Send current input in header-line when non-nil." helm-header-line-space-before-prompt #[0 "\300\207" [left-fringe] 1] "Specify the space before prompt in header-line.\n\nThis will be used when `helm-echo-input-in-header-line' is non-nil.\n\nValue can be one of the symbols 'left-fringe or 'left-margin or an\ninteger specifying the number of spaces before prompt.\nNote that on input longer that `window-width' the continuation string\nwill be shown on left side of window without taking care of this." (choice (symbol (const :tag "Fringe" 'left-fringe) (const :tag "Margin" 'left-margin)) integer) helm-tramp-connection-min-time-diff #[0 "\300\207" [5] 1] "Value of `tramp-connection-min-time-diff' for helm remote processes.\nIf set to zero helm remote processes are not delayed.\nSetting this to a value less than 5 or disabling it with a zero value\nis risky, however on emacs versions starting at 24.5 it seems\nit is now possible to disable it.\nAnyway at any time in helm you can suspend your processes while typing\nby hitting \\<helm-map> `\\[helm-toggle-suspend-update]'.\nOnly async sources than use a sentinel calling\n`helm-process-deferred-sentinel-hook' are affected by this." helm-debug-root-directory #[0 "\300\207" [nil] 1] "When non-`nil', saves helm log messages to a file in this directory.\nWhen `nil' log messages are saved to a buffer instead.\nLog message are saved only when `helm-debug' is non-nil, so setting this\ndoesn't enable debugging by itself.\n\nSee `helm-log-save-maybe' for more info." helm-show-action-window-other-window #[0 "\300\207" [nil] 1] "Show action buffer beside `helm-buffer' when non-nil.\n\nIf nil don't split and replace helm-buffer by the action buffer\nin same window.\nIf left display the action buffer at the left of helm-buffer.\nIf right or any other value, split at right.\n\nNote that this may not fit well with some helm window configurations,\nso it have only effect when `helm-always-two-windows' is non-nil." (choice (const :tag "Split at left" left) (const :tag "Don't split" nil) (other :tag "Split at right" right)) helm-cycle-resume-delay #[0 "\300\207" [1.0] 1] "Delay used before resuming in `helm-run-cycle-resume'." helm-display-buffer-reuse-frame #[0 "\300\207" [nil] 1] "When non nil helm frame is not deleted and reused in next sessions.\n\nThis was used to workaround a bug in emacs where frames where\npopping up slowly, now that the bug have been fixed upstream probably\nyou don't want to use this anymore." helm-commands-using-frame #[0 "\300\207" [nil] 1] "A list of commands where `helm-buffer' is displayed in a frame." (repeat symbol) helm-actions-inherit-frame-settings #[0 "\300\207" [t] 1] "Actions inherit helm frame settings of initial command when non nil." helm-use-undecorated-frame-option #[0 "\300\207" [t] 1] "Display helm frame undecorated when non nil.\n\nThis option have no effect with emacs versions lower than 26." helm-use-frame-when-more-than-two-windows #[0 "\300\207" [nil] 1] "Display helm buffer in frame when more than two windows." helm-default-prompt-display-function #[0 "\300\207" [helm-set-default-prompt-display] 1] "The function to use to set face of fake cursor in header-line." helm-faces "Customize the appearance of helm." faces custom-declare-face helm-source-header ((((background dark)) :background "#22083397778B" :foreground "white" :weight bold :height 1.3 :family "Sans Serif") (((background light)) :background "#abd7f0" :foreground "black" :weight bold :height 1.3 :family "Sans Serif")) "Face for source header in the helm buffer." helm-visible-mark ((((min-colors 88) (background dark)) (:background "green1" :foreground "black")) (((background dark)) (:background "green" :foreground "black")) (((background light)) :background "#d1f5ea") (((min-colors 88)) (:background "green1")) (t (:background "green"))) "Face for visible mark." helm-header ((t (:inherit header-line))) "Face for header lines in the helm buffer." helm-candidate-number ((((background dark)) :background "Yellow" :foreground "black") (((background light)) :background "#faffb5" :foreground "black")) "Face for candidate number in mode-line." helm-candidate-number-suspended ((t (:inherit helm-candidate-number :inverse-video t))) "Face for candidate number in mode-line when helm is suspended." helm-selection ((((background dark)) :background "ForestGreen" :distant-foreground "black") (((background light)) :background "#b5ffd1" :distant-foreground "black")) "Face for currently selected item in the helm buffer." helm-separator ((((background dark)) :foreground "red") (((background light)) :foreground "#ffbfb5")) "Face for multiline source separator." helm-action ((t (:underline t))) "Face for action lines in the helm action buffer." helm-prefarg ((((background dark)) :foreground "green") (((background light)) :foreground "red")) "Face for showing prefix arg in mode-line." helm-match ((((background light)) :foreground "#b00000") (((background dark)) :foreground "gold1")) "Face used to highlight matches." helm-header-line-left-margin ((t (:foreground "black" :background "yellow"))) "Face used to highlight helm-header sign in left-margin." helm-minibuffer-prompt ((t (:inherit minibuffer-prompt))) "Face used for the minibuffer/headline prompt (such as Pattern:) in helm."] 10)
110 #@56 Overlay used to highlight the currently selected item.
111 (defvar helm-selection-overlay nil (#$ . 31539))
112 #@67 List of information about asynchronous processes managed by helm.
113 (defvar helm-async-processes nil (#$ . 31649))
114 #@243 Runs before helm initialization.
115 This hook runs before init functions in `helm-sources', which is
116 before creation of `helm-buffer'. Set local variables for
117 `helm-buffer' that need a value from `current-buffer' with
118 `helm-set-local-variable'.
119 (defvar helm-before-initialize-hook nil (#$ . 31769))
120 #@157 Runs after helm initialization.
121 This hook runs after `helm-buffer' is created but not from
122 `helm-buffer'. The hook needs to specify in which buffer to run.
123 (defvar helm-after-initialize-hook nil (#$ . 32072))
124 (byte-code "\300\301\302\"\210\303\301\302\304#\207" [defvaralias helm-update-hook helm-after-update-hook make-obsolete-variable "1.9.9"] 4)
125 #@65 Runs after updating the helm buffer with the new input pattern.
126 (defvar helm-after-update-hook nil (#$ . 32428))
127 #@162 Runs after exiting the minibuffer and before performing an
128 action.
129
130 This hook runs even if helm exits the minibuffer abnormally (e.g.
131 via `helm-keyboard-quit').
132 (defvar helm-cleanup-hook nil (#$ . 32548))
133 #@38 Runs when opening the action buffer.
134 (defvar helm-select-action-hook nil (#$ . 32759))
135 #@146 Runs before executing action.
136 Unlike `helm-cleanup-hook', this hook runs before helm closes the
137 minibuffer and also before performing an action.
138 (defvar helm-before-action-hook nil (#$ . 32853))
139 #@30 Runs after executing action.
140 (defvar helm-after-action-hook nil (#$ . 33054))
141 #@220 Runs just before exiting the minibuffer.
142
143 This hook runs when helm exits the minibuffer normally (e.g. via
144 candidate selection), but does NOT run if helm exits the
145 minibuffer abnormally (e.g. via `helm-keyboard-quit').
146 (defvar helm-exit-minibuffer-hook nil (#$ . 33139))
147 #@41 Runs after executing persistent action.
148 (defvar helm-after-persistent-action-hook nil (#$ . 33416))
149 #@48 Runs before moving selection in `helm-buffer'.
150 (defvar helm-move-selection-before-hook nil (#$ . 33522))
151 #@47 Runs after moving selection in `helm-buffer'.
152 (defvar helm-move-selection-after-hook nil (#$ . 33633))
153 #@44 Runs after pre-selection in `helm-buffer'.
154 (defvar helm-after-preselection-hook nil (#$ . 33742))
155 #@52 Runs when switching to and from the action buffer.
156 (defvar helm-window-configuration-hook nil (#$ . 33846))
157 #@273 When non--nil executes the default action and then exits if only one candidate.
158 If symbol 'current-source is given as value exit if only one candidate
159 in current source.
160 This variable accepts a function with no args that should returns a boolean
161 value or 'current-source.
162 (defvar helm-execute-action-at-once-if-one nil (#$ . 33961))
163 #@85 When non-`nil', quits if there are no candidates.
164 This variable accepts a function.
165 (defvar helm-quit-if-no-candidate nil (#$ . 34300))
166 #@138 A list of helm variables that `helm-debug-output' displays.
167 If `nil', `helm-debug-output' includes only variables with
168 `helm-' prefixes.
169 (defvar helm-debug-variables nil (#$ . 34443))
170 (defvar helm-debug-buffer "*Debug Helm Log*")
171 #@166 If non-`nil', write log message to `helm-debug-buffer'.
172 Default is `nil', which disables writing log messages because the
173 size of `helm-debug-buffer' grows quickly.
174 (defvar helm-debug nil (#$ . 34680))
175 #@238 Help string displayed by helm in the mode-line.
176 It is either a string or a list of two string arguments where the
177 first string is the name and the second string is displayed in
178 the mode-line. When `nil', uses default `mode-line-format'.
179 (defvar helm-mode-line-string "\\<helm-map>\\[helm-help]:Help \\[helm-select-action]:Act \\[helm-maybe-exit-minibuffer]/f1/f2/f-n:NthAct \\[helm-toggle-suspend-update]:Tog.suspend" (#$ . 34889))
180 #@396 Hook that runs at minibuffer initialization.
181 A hook useful for modifying minibuffer settings in helm.
182
183 An example that hides the minibuffer when using
184 `helm-echo-input-in-header-line':
185
186       (add-hook 'helm-minibuffer-set-up-hook #'helm-hide-minibuffer-maybe)
187
188 Note that we check `helm-echo-input-in-header-line' value
189 from `helm-buffer' which allow detecting possible local
190 value of this var.
191 (defvar helm-minibuffer-set-up-hook nil (#$ . 35328))
192 #@98 Message string containing detailed help for `helm'.
193 It also accepts function or variable symbol.
194 (defvar helm-help-message "* Helm Generic Help\n** Basics\n\nHelm narrows down the list of candidates as you type a filter pattern.\n\nHelm accepts multiple space-separated patterns, each pattern can be negated with \"!\".\n\nHelm also supports fuzzy matching in some places when specified, you will find\nseveral variables to enable fuzzy matching in diverse sources,\nsee [[https://github.com/emacs-helm/helm/wiki/Fuzzy-matching][fuzzy-matching]] in helm-wiki for more infos.\n\nHelm generally uses familiar Emacs keys to navigate the list.\nHere follow some of the less obvious bindings:\n\n- `\\[helm-maybe-exit-minibuffer]' selects the candidate from the list, executes the default action\nupon exiting the Helm session.\n\n- `\\[helm-execute-persistent-action]' executes the default action but without exiting the Helm session.\nNot all sources support this.\n\n- `\\[helm-select-action]' displays a list of actions available on current candidate or all marked candidates.\nThe default binding <tab> is ordinarily used for completion, but that would be\nredundant since Helm completes upon every character entered in the prompt.\nSee [[https://github.com/emacs-helm/helm/wiki#helm-completion-vs-emacs-completion][Helm wiki]].\n\nNote: In addition to the default actions list, additional actions appear\ndepending of the type of the selected candidate(s).  They are called filtered\nactions.\n\n** Helm mode\n\n`helm-mode' toggles Helm completion in native Emacs functions,\nso when you turn `helm-mode' on, commands like `switch-to-buffer' will use\nHelm completion instead of the usual Emacs completion buffer.\n\n*** What gets or does not get \"helmized\" when `helm-mode' is enabled?\n\nHelm provides generic completion on all Emacs functions using `completing-read',\n`completion-in-region' and their derivatives, e.g. `read-file-name'.  Helm\nexposes a user variable to control which function to use for a specific Emacs\ncommand: `helm-completing-read-handlers-alist'.  If the function for a specific\ncommand is nil, it turns off Helm completion.  See the variable documentation\nfor more infos.\n\n*** Helm functions vs helmized Emacs functions\n\nWhile there are Helm functions that perform the same completion as other\nhelmized Emacs functions, e.g. `switch-to-buffer' and `helm-buffers-list', the\nnative Helm functions like `helm-buffers-list' can receive new features, the\nallow marking candidates, they have several actions, etc.  Whereas the helmized\nEmacs functions only have Helm completion, one action and no more then Emacs can\nprovide for this function.  This is the intended behavior.\n\nGenerally you are better off using the native Helm command\nthan the helmized Emacs equivalent.\n\n** Helm help\n\n\\[helm-documentation]: Show all helm documentations concatenated in one org file.\n\nFrom a Helm session, just hit \\<helm-map>\\[helm-help] to have the\ndocumentation for the current source followed by the global Helm documentation.\n\nWhile in the help buffer, most of the regular keybindings are available in an\nEmacs buffers; the most important ones are shown in minibuffer.  However due to\nthe implementation restrictions, no regular Emacs keymap is used (it runs in a\nloop when reading the help buffer) they are hardcoded and not modifiable.\n\nThe hard-coded documentation bindings are:\n\n| Key       | Alternative keys | Command             |\n|-----------+------------------+---------------------|\n| C-v       | Space next       | Scroll up           |\n| M-v       | b prior          | Scroll down         |\n| C-s       |                  | Isearch forward     |\n| C-r       |                  | Isearch backward    |\n| C-a       |                  | Beginning of line   |\n| C-e       |                  | End of line         |\n| C-f       | right            | Forward char        |\n| C-b       | left             | Backward char       |\n| C-n       | down             | Next line           |\n| C-p       | up               | Previous line       |\n| M-a       |                  | Backward sentence   |\n| M-e       |                  | Forward sentence    |\n| M-f       |                  | Forward word        |\n| M-b       |                  | Backward word       |\n| M->       |                  | End of buffer       |\n| M-<       |                  | Beginning of buffer |\n| C-<SPACE> |                  | Toggle mark         |\n| RET       |                  | Follow org link     |\n| C-%       |                  | Push org mark       |\n| C-&       |                  | Goto org mark-ring  |\n| TAB       |                  | Org cycle           |\n| M-<TAB>   |                  | Toggle visibility   |\n| M-w       |                  | Copy region         |\n| q         |                  | Quit                |\n\n** Customize Helm\n\nHelm provides a lot of user variables for extensive customization.\nFrom any Helm session, type \\<helm-map>\\[helm-customize-group] to jump to the current source `custom' group.\nHelm also has a special group for faces you can access via `M-x customize-group RET helm-faces'.\n\nNote: Some sources may not have their group set and default to the `helm' group.\n\n** Helm's basic operations and default key bindings\n\n| Key     | Alternative Keys | Command                                                              |\n|---------+------------------+----------------------------------------------------------------------|\n| C-p     | Up               | Previous line                                                        |\n| C-n     | Down             | Next line                                                            |\n| M-v     | prior            | Previous page                                                        |\n| C-v     | next             | Next page                                                            |\n| Enter   |                  | Execute first (default) action / Select                              |\n| M-<     |                  | First line                                                           |\n| M->     |                  | Last line                                                            |\n| C-M-S-v | M-prior, C-M-y   | Previous page (other-window)                                         |\n| C-M-v   | M-next           | Next page (other-window)                                             |\n| Tab     | C-i              | Show action list                                                     |\n| Left    |                  | Previous source                                                      |\n| Right   | C-o              | Next source                                                          |\n| C-k     |                  | Delete pattern (with prefix arg delete from point to end or all [1]) |\n| C-j     | C-z              | Persistent action (Execute and keep Helm session)                    |\n\n[1] Delete from point to end or all depending on the value of\n`helm-delete-minibuffer-contents-from-point'.\n\n** Shortcuts for n-th action\n\nf1-f12: Execute n-th action where n is 1 to 12.\n\n** Shortcuts for executing the default action on the n-th candidate\n\nC-x <n>: Execute default action on the n-th candidate before currently selected candidate.\n\nC-c <n>: Execute default action on the n-th candidate after current selected candidate.\n\n\"n\" is limited to 1-9.  For larger jumps use other navigation keys.  Helm does\nnot display line numbers by default: enable them with the\n[[https://github.com/coldnew/linum-relative][linum-relative]] package and\n`helm-linum-relative-mode'.\nIf you are using Emacs-26+ version you can use `global-display-line-numbers-mode'\nwhich seems even better (don't forget to customize `display-line-numbers-type' to relative).\n\n** Mouse control in Helm\n\nA basic support for the mouse is provided when the user sets `helm-allow-mouse' to non-nil.\n\n- mouse-1 selects the candidate.\n- mouse-2 executes the default action on selected candidate.\n- mouse-3 pops up the action menu.\n\nNote: When mouse control is enabled in Helm, it also lets you click around and lose\nthe minibuffer focus: you'll have to click on the Helm buffer or the minibuffer\nto retrieve control of your Helm session.\n\n** Marked candidates\n\nYou can mark candidates to execute an action on all of them instead of the\ncurrent selected candidate only.  (See bindings below.)  Most Helm actions\noperate on marked candidates unless candidate-marking is explicitely forbidden\nfor a specific source.\n\n- To mark/unmark a candidate, use \\[helm-toggle-visible-mark].  (See bindings below.)\nWith a numeric prefix arg mark ARG candidates forward, if ARG is negative\nmark ARG candidates backward.\n\n- To mark all visible unmarked candidates at once in current source use \\[helm-mark-all].\nWith a prefix argument, mark all candidates in all sources.\n\n- To unmark all visible marked candidates at once use \\[helm-unmark-all].\n\n- To mark/unmark all candidates at once use \\[helm-toggle-all-marks].\nWith a prefix argument, mark/unmark all candidates in all sources.\n\nNote: When multiple candidates are selected across different sources, only the\ncandidates of the current source will be used when executing most actions (as\ndifferent sources can have different actions).  Some actions support\nmulti-source marking however.\n\n** Follow candidates\n\nWhen `helm-follow-mode' is on (\\<helm-map>\\[helm-follow-mode] to toggle it),\nmoving up and down the Helm session or updating the list of candidates will\nautomatically execute the persistent-action as specified for the current source.\n\nIf `helm-follow-mode-persistent' is non-nil, the state of the mode will be\nrestored for the following Helm sessions.\n\nIf you just want to follow candidates occasionally without enabling\n`helm-follow-mode', you can use \\<helm-map>\\[helm-follow-action-forward] or \\[helm-follow-action-backward] instead.\nConversely, when `helm-follow-mode' is enabled, those commands\ngo to previous/next line without executing the persistent action.\n\n** Frequently Used Commands\n\n\\[helm-toggle-resplit-and-swap-windows]        Toggle vertical/horizontal split on first hit and swap Helm window on second hit.\n\\[helm-quit-and-find-file]        Drop into `helm-find-files'.\n\\[helm-kill-selection-and-quit]        Kill display value of candidate and quit (with prefix arg, kill the real value).\n\\[helm-yank-selection]        Yank current selection into pattern.\n\\[helm-copy-to-buffer]        Copy selected candidate at point in current buffer.\n\\[helm-follow-mode]        Toggle automatic execution of persistent action.\n\\[helm-follow-action-forward]    Run persistent action then select next line.\n\\[helm-follow-action-backward]        Run persistent action then select previous line.\n\\[helm-refresh]        Recalculate and redisplay candidates.\n\\[helm-toggle-suspend-update]        Toggle candidate updates.\n\n** Special yes, no or yes for all answers\n\nYou may be prompted in the minibuffer to answer by [y,n,!,q] in some places\nfor confirmation.\n\n- y  mean yes\n- no mean no\n- !  mean yes for all\n- q  mean quit or abort current operation.\n\nWhen using ! you will not be prompted anymore for the same thing in current operation\ne.g. file deletion, file copy etc...\n\n** Moving in `helm-buffer'\n\nYou can move in `helm-buffer' with the usual commands used in Emacs:\n(\\<helm-map>\\[helm-next-line], \\<helm-map>\\[helm-previous-line], etc.  See above basic commands.\nWhen `helm-buffer' contains more than one source, change source with \\<helm-map>\\[helm-next-source].\n\nNote: When reaching the end of a source, \\<helm-map>\\[helm-next-line] will *not* go to the next source unless\nvariable `helm-move-to-line-cycle-in-source' is non-nil, so you will have to use \\<helm-map>\\[helm-next-source].\n\n** Resume previous session from current Helm session\n\nYou can use `C-c n' (`helm-run-cycle-resume') to cycle in resumables sources.\n`C-c n' is a special key set with `helm-define-key-with-subkeys' which, after pressing it, allows you\nto keep cycling with further `n'.\n\nTip: You can bound the same key in `global-map' to `helm-cycle-resume'\n     with `helm-define-key-with-subkeys' to let you transparently cycle\n     sessions, Helm fired up or not.\n     You can also bind the cycling commands to single key presses (e.g. `S-<f1>') this time\n     with a simple `define-key'.  (Note that `S-<f1>' is not available in terminals.)\n\nNote: `helm-define-key-with-subkeys' is available only once Helm is loaded.\n\nYou can also use \\<helm-map>\\[helm-resume-previous-session-after-quit] to resume\nthe previous session, or \\<helm-map>\\[helm-resume-list-buffers-after-quit]\nto have completion on all resumable buffers.\n\n** Global commands\n\n*** Resume Helm session from outside Helm\n\n\\<global-map>\\[helm-resume] revives the last `helm' session.  Binding a key to\nthis command will greatly improve `helm' interactivity, e.g. when quitting Helm\naccidentally.\n\nYou can call \\<global-map>\\[helm-resume] with a prefix argument to choose\n(with completion!) which session you'd like to resume.  You can also cycle in\nthese sources with `helm-cycle-resume' (see above).\n\n** Debugging Helm\n\nHelm exposes the special variable `helm-debug': setting it to non-nil\nwill enable Helm logging in a special outline-mode buffer.\nHelm resets the variable to nil at the end of each session.\n\nFor convenience, \\<helm-map>\\[helm-enable-or-switch-to-debug]\nallows you to turn on debugging for this session only.\nTo avoid accumulating log entries while you are typing patterns, you can use\n\\<helm-map>\\[helm-toggle-suspend-update] to turn off updating.  When you\nare ready turn it on again to resume logging.\n\nOnce you exit your Helm session you can access the debug buffer with\n`helm-debug-open-last-log'.  It is possible to save logs to dated files when\n`helm-debug-root-directory' is set to a valid directory.\n\nNote: Be aware that Helm log buffers grow really fast, so use `helm-debug' only\nwhen needed.\n\n** Writing your own Helm sources\n\nWriting simple sources for your own usage is easy.  When calling the `helm'\nfunction, the sources are added the :sources slot which can be a symbol or a\nlist of sources.  Sources can be built with different EIEIO classes depending\nwhat you want to do.  To simplify this, several `helm-build-*' macros are\nprovided.  Below, simple examples to start with.\n\nWe will not go further here, see [[https://github.com/emacs-helm/helm/wiki/Developing][Helm wiki]] and the source\ncode for more information and more complex exapmles.\n\n#+begin_src elisp\n\n    ;; Candidates are stored in a list.\n    (helm :sources (helm-build-sync-source \"test\"\n                     ;; A function can be used as well\n                     ;; to provide candidates.\n                     :candidates '(\"foo\" \"bar\" \"baz\"))\n          :buffer \"*helm test*\")\n\n    ;; Candidates are stored in a buffer.\n    ;; Generally faster but doesn't allow a dynamic updating\n    ;; of the candidates list i.e the list is fixed on start.\n    (helm :sources (helm-build-in-buffer-source \"test\"\n                     :data '(\"foo\" \"bar\" \"baz\"))\n          :buffer \"*helm test*\")\n\n#+end_src\n\n** Helm Map\n\\{helm-map}" (#$ . 35783))
195 #@164 A hook that run in async sources when process output comes out of `candidate-number-limit'.
196 Should be set locally to `helm-buffer' with `helm-set-local-variable'.
197 (defvar helm-async-outer-limit-hook nil (#$ . 51157))
198 #@37 A hook that run when quitting helm.
199 (defvar helm-quit-hook nil (#$ . 51380))
200 #@86 A hook that run after resuming a helm session.
201 The hook should take one arg SOURCES.
202 (defvar helm-resume-after-hook nil (#$ . 51463))
203 #@209 A list of source names to be displayed.
204 Other sources won't appear in the search results.
205 If nil, no filtering is done.
206 Don't set this directly, use `helm-set-source-filter' during helm session
207 to modify it.
208 (defvar helm-source-filter nil (#$ . 51604))
209 #@54 Record `current-prefix-arg' when exiting minibuffer.
210 (defvar helm-current-prefix-arg nil (#$ . 51863))
211 #@54 Saved value of the currently selected action by key.
212 (defvar helm-saved-action nil (#$ . 51972))
213 #@60 Value of the current source when the action list is shown.
214 (defvar helm-saved-current-source nil (#$ . 52075))
215 #@43 Flag whether in persistent-action or not.
216 (defvar helm-in-persistent-action nil (#$ . 52192))
217 #@45 `helm-buffer' of previously `helm' session.
218 (defvar helm-last-buffer nil (#$ . 52292))
219 #@71 Value of the currently selected object when the action list is shown.
220 (defvar helm-saved-selection nil (#$ . 52385))
221 #@53 [INTERNAL] Value of current sources in use, a list.
222 (defvar helm-sources nil (#$ . 52508))
223 #@53 Variable `buffer-file-name' when `helm' is invoked.
224 (defvar helm-buffer-file-name nil (#$ . 52605))
225 #@64 Holds the available candidate within a single helm invocation.
226 (defvar helm-candidate-cache (make-hash-table :test 'equal) (#$ . 52711))
227 (defvar helm--candidate-buffer-alist nil)
228 #@42 The input typed in the candidates panel.
229 (defvar helm-input "" (#$ . 52896))
230 #@78 Internal, store locally `helm-pattern' value for later use in `helm-resume'.
231 (defvar helm-input-local nil (#$ . 52979))
232 (defvar helm--source-name nil)
233 (defvar helm-current-source nil)
234 (defvar helm-tick-hash (make-hash-table :test 'equal))
235 (defvar helm-issued-errors nil)
236 #@52 The name of the log file of the last helm session.
237 (defvar helm--last-log-file nil (#$ . 53256))
238 (defvar helm--local-variables nil)
239 (defvar helm-split-window-state nil)
240 (defvar helm--window-side-state nil)
241 (defvar helm-selection-point nil)
242 (defvar helm-alive-p nil)
243 (defvar helm-visible-mark-overlays nil)
244 (defvar helm-update-blacklist-regexps '("^" "^ *" "$" "!" " " "\\b" "\\<" "\\>" "\\_<" "\\_>" ".*" "??" "?*" "*?" "?"))
245 #@45 [INTERNAL] Don't use this in your programs.
246 (defvar helm--force-updating-p nil (#$ . 53688))
247 #@295 Flag to inform if helm did exit or quit.
248 0 means helm did exit when executing an action.
249 1 means helm did quit with \[keyboard-quit]
250 Knowing this exit-status could help restore a window config when helm aborts
251 in some special circumstances.
252 See `helm-exit-minibuffer' and `helm-keyboard-quit'.
253 (defvar helm-exit-status 0 (#$ . 53788))
254 (defvar helm-minibuffer-confirm-state nil)
255 (defvar helm-quit nil)
256 #@53 Helm buffers listed in order of most recently used.
257 (defvar helm-buffers nil (#$ . 54195))
258 #@136 Cons of (point . window-start)  when `helm' is invoked.
259 `helm-current-buffer' uses this to restore position after
260 `helm-keyboard-quit'
261 (defvar helm-current-position nil (#$ . 54293))
262 #@60 Used to store window or frame configuration at helm start.
263 (defvar helm-last-frame-or-window-configuration nil (#$ . 54482))
264 (defvar helm-onewindow-p nil)
265 (defvar helm-types nil)
266 (defvar helm--mode-line-string-real nil)
267 (defvar helm-persistent-action-display-window nil)
268 #@51 Marked candidates.  List of (source . real) pair.
269 (defvar helm-marked-candidates nil (#$ . 54759))
270 (defvar helm--mode-line-display-prefarg nil)
271 #@72 [INTERNAL] A simple flag to notify persistent action we are following.
272 (defvar helm--temp-follow-flag nil (#$ . 54909))
273 (defvar helm--reading-passwd-or-string nil)
274 (defvar helm--in-update nil)
275 (defvar helm--in-fuzzy nil)
276 #@220 Flag to notify the use of use-default-as-input.
277 Use only in let-bindings.
278 Use :default arg of `helm' as input to update display.
279 Note that if also :input is specified as `helm' arg, it will take
280 precedence on :default.
281 (defvar helm--maybe-use-default-as-input nil (#$ . 55137))
282 #@55 Store temporary hooks added by `with-helm-temp-hook'.
283 (defvar helm--temp-hooks nil (#$ . 55421))
284 #@64 [Internal] Don't set this globally, it is used as a local var.
285 (defvar helm-truncate-lines nil (#$ . 55524))
286 (defvar helm--prompt nil)
287 #@235 Sources that use the *find-files mechanism can be added here.
288 Sources generated by `helm-mode' don't need to be added here
289 because they are automatically added.
290
291 You should not modify this yourself unless you know what you are doing.
292 (defvar helm--file-completion-sources '("Find Files" "Read File Name") (#$ . 55666))
293 #@90 Non nil when `helm-read-file-name' is running.
294 Used for `helm-file-completion-source-p'.
295 (defvar helm--completing-file-name nil (#$ . 55991))
296 (defvar helm--url-regexp "\\`\\(news\\(post\\)?:\\|mailto:\\|file:\\|\\(ftp\\|https?\\|telnet\\|gopher\\|www\\|wais\\)://\\)")
297 #@150 Flag to prevent helm popping up errors in candidates functions.
298 Should be set in candidates functions if needed, will be restored
299 at end of session.
300 (defvar helm--ignore-errors nil (#$ . 56267))
301 (defvar helm--action-prompt "Select action: ")
302 (defvar helm--cycle-resume-iterator nil)
303 (defvar helm--buffer-in-new-frame-p nil)
304 #@141 [INTERNAL] The selected frame before starting helm.
305 Helm use this internally to know in which frame it started, don't
306 modify this yourself.
307 (defvar helm-initial-frame nil (#$ . 56598))
308 #@186 The frame where helm is displayed.
309
310 This is only used when helm is using
311 `helm-display-buffer-in-own-frame' as `helm-display-function' and
312 `helm-display-buffer-reuse-frame' is non nil.
313 (defvar helm-popup-frame nil (#$ . 56790))
314 (defvar helm--nested nil)
315 #@60 Frame parameters to save in `helm--last-frame-parameters'.
316 (defconst helm--frame-default-attributes '(width height tool-bar-lines left top title undecorated vertical-scroll-bars visibility fullscreen menu-bar-lines undecorated) (#$ . 57050))
317 #@70 Frame parameters to save for later resuming.
318 Local to `helm-buffer'.
319 (defvar helm--last-frame-parameters nil (#$ . 57298))
320 #@217 Non nil when action is triggering a new helm-session.
321 This may be let bounded in other places to notify the display function
322 to reuse the same frame parameters as the previous helm session just
323 like resume would do.
324 (defvar helm--executing-helm-action nil (#$ . 57428))
325 (defvar helm--current-buffer-narrowed nil)
326 (defvar helm--suspend-update-interactive-flag nil)
327 #@231 Log message `helm-debug' is non-`nil'.
328 Messages are written to the `helm-debug-buffer' buffer.
329
330 Argument FORMAT-STRING is a string to use with `format'.
331 Use optional arguments ARGS like in `format'.
332
333 (fn FORMAT-STRING &rest ARGS)
334 (defalias 'helm-log #[385 "\205<r\303    !q\210\304 \210\305 \210\306db\210\307 \310\311\312\"\203#\313\202$\314\315P\316\317\"\3208\321 \322\310        B\"%\262c*\207" [helm-debug helm-debug-buffer inhibit-read-only get-buffer-create outline-mode buffer-disable-undo t current-time format string-match "Start session" "* " "** " "%s.%06d (%s)\n %s\n" format-time-string "%H:%M:%S" 2 helm-log-get-current-function apply] 12 (#$ . 57799)])
335 #@82 Run HOOK like `run-hooks' but write these actions to helm log buffer.
336
337 (fn HOOK)
338 (defalias 'helm-log-run-hook #[257 "\300\301\211J#\210\300\302\303!#\210\304!\210\300\305\"\207" [helm-log "Executing %s with value = %S" "Executing %s with global value = %S" default-value run-hooks "executed %s"] 6 (#$ . 58476)])
339 #@99 Get name of function that is calling `helm-log'.
340 The original idea is from `tramp-debug-message'.
341 (defalias 'helm-log-get-current-function #[0 "\300\301\302\211\303\302\304X\203E\305!A@\2629\203\306!\202\307\262\310\311\"\203:\310\"\204:\262\302\211\262\202;\303\203ET\262\202\207" ["^helm-\\(?:interpret\\|log\\|.*funcall\\)" 1 nil t 40 backtrace-frame symbol-name "" string-match "^helm"] 9 (#$ . 58800)])
342 #@161 Accumulate error messages into `helm-issued-errors'.
343 ARGS are args given to `format'.
344 e.g (helm-log-error "Error %s: %s" (car err) (cdr err)).
345
346 (fn &rest ARGS)
347 (defalias 'helm-log-error #[128 "\301\302\303@PA#\210\301\304\"\211\235?\205$\211\235\203\202\"\211B\211\207" [helm-issued-errors apply helm-log "ERROR: " format] 5 (#$ . 59241)])
348 #@202 Save log buffer when `helm-debug-root-directory' is non nil.
349 Create `helm-debug-root-directory' directory if necessary.
350 Messages are logged to a file named with todays date and time in this directory.
351 (defalias 'helm-log-save-maybe #[0 ";\203\304!\204\305\306\"\210    \203;\307\310\311\312!P\"\305\306\"\210r\313\n!q\210\314ed\307\311\315!\"\211\316\317%\210\320 \210)\210\316\211\207" [helm-debug-root-directory helm-debug helm-debug-buffer helm--last-log-file file-directory-p make-directory t expand-file-name "helm-debug-" format-time-string "%Y%m%d" get-buffer-create write-region "%Y%m%d-%H%M%S" nil silent kill-buffer] 7 (#$ . 59600)])
352 #@52 Open helm log file or buffer of last helm session.
353 (defalias 'helm-debug-open-last-log #[0 "\203\302!\210\303 \210\304\305!\210\306\305!\207\307    !\210\304\305!\210\306\305!\207" [helm--last-log-file helm-debug-buffer find-file outline-mode view-mode 1 visual-line-mode switch-to-buffer] 2 (#$ . 60260) nil])
354 #@47 Print error messages in `helm-issued-errors'.
355 (defalias 'helm-print-error-messages #[0 "\205\301\302\303\304\305!\306#\"\207" [helm-issued-errors message "Helm issued errors: %s" mapconcat identity reverse "\n"] 6 (#$ . 60578)])
356 #@19 
357
358 (fn &rest BODY)
359 (defalias 'with-helm-time-after-update '(macro . #[128 "\300\301!\300\302!\303\304BD\305\306\307\310\311\312\313 EE\314BBBE\315\316\317\320\307\310\311 \312\321EE\322BBBEC\"B\257\207" [cl-gensym "start-time" "time-elapsed" let ((float-time)) add-hook 'helm-after-update-hook lambda nil setq - (float-time) ((keyboard-quit)) unwind-protect append remove-hook 'helm-after-update-hook (float-time) ((keyboard-quit))] 18 (#$ . 60817)]))
360 #@29 
361
362 (fn DIRECTORY &rest BODY)
363 (defalias 'with-helm-default-directory '(macro . #[385 "\300\301\302\303\304DE\305BBDCBB\207" [let default-directory or and file-name-as-directory (default-directory)] 9 (#$ . 61286)]))
364 (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put with-helm-default-directory lisp-indent-function 2 put edebug-form-spec t] 5)
365 #@65 Return the local value of `default-directory' in `helm-buffer'.
366 (defalias 'helm-default-directory #[0 "\301\302\303!\"\207" [helm-buffer buffer-local-value default-directory get-buffer] 4 (#$ . 61654)])
367 #@72 Execute temporarily BODY as a function for HOOK.
368
369 (fn HOOK &rest BODY)
370 (defalias 'with-helm-temp-hook '(macro . #[385 "\300\301!\302\303\304\305\302B\306    \307    DE\310\307    DDFF\311\312\307DE\313BB\314\307DEF\207" [cl-gensym "helm--hook" progn defun nil unwind-protect remove-hook quote fmakunbound push cons (helm--temp-hooks) add-hook] 13 (#$ . 61864)]))
371 (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put with-helm-temp-hook lisp-indent-function 1 put edebug-form-spec t] 5)
372 #@56 Execute BODY at end of `helm-update'.
373
374 (fn &rest BODY)
375 (defalias 'with-helm-after-update-hook '(macro . #[128 "\300\301BB\207" [with-helm-temp-hook 'helm-after-update-hook] 4 (#$ . 62373)]))
376 (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put with-helm-after-update-hook lisp-indent-function 0 put edebug-form-spec t] 5)
377 #@67 Return error when BODY run outside helm context.
378
379 (fn &rest BODY)
380 (defalias 'with-helm-alive-p '(macro . #[128 "\300\301\302\300B\303BBBD\207" [progn if helm-alive-p ((error "Running helm command outside of context"))] 6 (#$ . 62715)]))
381 (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put with-helm-alive-p lisp-indent-function 0 put edebug-form-spec t] 5)
382 #@92 Execute helm function in BODY displaying `helm-buffer' in separate frame.
383
384 (fn &rest BODY)
385 (defalias 'with-helm-in-frame '(macro . #[128 "\300\301BB\207" [progn (helm-set-local-variable 'helm-display-function 'helm-display-buffer-in-own-frame)] 4 (#$ . 63093)]))
386 (byte-code "\300\301\302\303#\210\304\301\305\306#\300\207" [put with-helm-in-frame edebug-form-spec t function-put lisp-indent-function 0] 4)
387 #@636 Get the value of ATTRIBUTE-NAME of SRC.
388
389 If SRC is omitted, use current source.
390
391 If COMPUTE is non-`nil' compute value of ATTRIBUTE-NAME with
392 `helm-interpret-value'.  COMPUTE can have also 'ignorefn as value, in
393 this case `helm-interpret-value' will return a function as value
394 unchanged, but will eval a symbol which is bound.
395
396 You can use `setf' to modify value of ATTRIBUTE-NAME unless COMPUTE is
397 specified, if attribute ATTRIBUTE-NAME is not found in SOURCE `setf'
398 will create new attribute ATTRIBUTE-NAME with specified value.
399 You can also use `helm-attrset' to modify ATTRIBUTE-NAME.
400
401 (fn ATTRIBUTE-NAME &optional SOURCE COMPUTE)
402 (defalias 'helm-attr #[769 "\206\300 \236\211\205\203\301A#\202\211A\262\207" [helm-get-current-source helm-interpret-value] 9 (#$ . 63507)])
403 (byte-code "\300\301\302\303#\300\207" [function-put helm-attr gv-expander #[385 "\300\301\302$\207" [gv--defsetter helm-attr #[1026 "\300\301\302\303BBD\304\305\306BBDD\307\310D\311\312\257\313\304\314\304\nE\315\314\301\316\211 E\317BBE EFF\207" [let* src or ((helm-get-current-source)) attr assq (src) cl-assert null nil "`setf' can't set the computed value of attribute `%s'" if setcdr and cons ((cdr src))] 17 "\n\n(fn VAL ATTRIBUTE-NAME &optional SOURCE COMPUTE)"]] 7 "\n\n(fn DO &rest ARGS)"]] 4)
404 #@364 Set the value of ATTRIBUTE-NAME of source SRC to VALUE.
405
406 If ATTRIBUTE-NAME doesn't exists in source it is created with value VALUE..
407 If SRC is omitted, use current source.
408 If operation succeed, return value, otherwise nil.
409
410 Note that `setf' on `helm-attr' can be used instead of this function.
411
412 (fn ATTRIBUTE-NAME VALUE &optional (SRC (helm-get-current-source)))
413 (defalias 'helm-attrset #[642 "\211\203 \211A\262\242\202\300 \203\301\302\303\304G\\D\"\210\211\206%\300 \236\211\2033\211\241\202ABAB\241\205A\266\204\207" [helm-get-current-source signal wrong-number-of-arguments helm-attrset 3] 11 (#$ . 64825)])
414 #@470 Add new action NAME linked to function FN to SOURCE.
415 Function FN should be a valid function that takes one arg i.e candidate,
416 argument NAME is a string that will appear in action menu
417 and SOURCE should be an existing helm source already loaded.
418 If INDEX is specified, action is added to the action list at INDEX,
419 otherwise added at end.
420 This allows users to add specific actions to an existing source
421 without modifying source code.
422
423 (fn NAME FN SOURCE &optional INDEX)
424 (defalias 'helm-add-action-to-source #[1027 "\300\301\302#BC\303!\203\304BC\262\305\301\203$\306#\202(\307\"#\207" [helm-attr action ignorefn functionp "Default action" helm-attrset helm-append-at-nth append] 12 (#$ . 65471)])
425 #@155 Delete ACTION-OR-NAME from SOURCE.
426 ACTION-OR-NAME can either be the name of action or the symbol function
427 associated to name.
428
429 (fn ACTION-OR-NAME SOURCE)
430 (defalias 'helm-delete-action-from-source #[514 "\300\301\302#9\203\303\"\202\304\"\305\301\306\"#\207" [helm-attr action ignorefn rassoc assoc helm-attrset delete] 9 (#$ . 66193)])
431 #@1177 Add new action NAME linked to function FN to SOURCE.
432 Action NAME will be available when the current candidate matches PREDICATE.
433 This function adds an entry in the `action-transformer' attribute
434 of SOURCE (or creates one if not found).
435 Function PREDICATE must take one candidate as arg.
436 Function FN should be a valid function that takes one arg i.e. candidate,
437 argument NAME is a string that will appear in action menu
438 and SOURCE should be an existing helm source already loaded.
439 If INDEX is specified, action is added in action list at INDEX.
440 Value of INDEX should be always >=1, default to 4.
441 This allow user to add a specific `action-transformer'
442 to an existing source without modifying source code.
443 E.g
444 Add the action "Byte compile file async" linked to
445 function 'async-byte-compile-file to source `helm-source-find-files'
446 only when predicate helm-ff-candidates-lisp-p return non-`nil':
447
448 (helm-add-action-to-source-if "Byte compile file async"
449                               'async-byte-compile-file
450                               helm-source-find-files
451                               'helm-ff-candidates-lisp-p).
452
453 (fn NAME FN SOURCE PREDICATE &optional (INDEX 4) TEST-ONLY)
454 (defalias 'helm-add-action-to-source-if #[1156 "\211\203 \211A\262\242\202\300\211A\262\242\203#\301\302\303\304G\\D\"\210\305\306\307#\305\310\"BC\311\312\313\314\315 \n#\316\"\304\317%\320!\203V\321\306\322BC #\2109\204a\320!\203eC\262\203u\323\324\325C\"\"\202\210\321\310\326\323\324\325C    \"\"\327\330# #\266\204\207" [4 signal wrong-number-of-arguments helm-add-action-to-source-if 6 helm-attr action ignorefn action-transformer make-byte-code 514 "\300!\203\f\303\302\301#\207\207" vconcat vector [helm-append-at-nth] "\n\n(fn ACTIONS CANDIDATE)" functionp helm-attrset "Default action" delq nil append helm-fast-remove-dups :test equal] 19 (#$ . 66550)])
455 #@902 Set the value of `helm-source-filter' to SOURCES and update.
456
457 This function sets a filter for helm sources and it may be
458 called while helm is running. It can be used to toggle
459 displaying of sources dynamically. For example, additional keys
460 can be bound into `helm-map' to display only the file-related
461 results if there are too many matches from other sources and
462 you're after files only:
463
464 Shift+F shows only file results from some sources:
465
466 (define-key helm-map "F" 'helm-my-show-files-only)
467
468 (defun helm-my-show-files-only ()
469   (interactive)
470   (helm-set-source-filter '("File Name History"
471                                   "Files from Current Directory")))
472
473 Shift+A shows all results:
474
475 (define-key helm-map "A" 'helm-my-show-all)
476
477 (defun helm-my-show-all ()
478   (interactive)
479   (helm-set-source-filter nil))
480
481 The -my- part is added to avoid collisions with
482 existing Helm function names.
483
484 (fn SOURCES)
485 (defalias 'helm-set-source-filter #[257 "r\301 q\210\302\303\304\"\305\300!\210\306!\307\310\"\210\311;\205\312!!\262)\207" [helm-source-filter helm-buffer-get helm-get-selection nil t make-local-variable helm--normalize-filter-sources helm-log "helm-source-filter = %S" helm-force-update regexp-quote] 5 (#$ . 68443)])
486 #@16 
487
488 (fn SOURCES)
489 (defalias 'helm--normalize-filter-sources #[257 "\211\300\211:\2036@\2629\203\301\302J\"\202+<\203%\301\302\"\202+;\205+B\262A\262\202\211\237\207" [nil assoc-default name] 7 (#$ . 69678)])
490 #@205 Set SOURCES during `helm' invocation.
491 If NO-INIT is non-`nil', skip executing init functions of SOURCES.
492 If NO-UPDATE is non-`nil', skip executing `helm-update'.
493
494 (fn SOURCES &optional NO-INIT NO-UPDATE)
495 (defalias 'helm-set-sources #[769 "rq\210\302!\303\304    \"\210)\204\305\306!\210\211?\205\307 \207" [helm-buffer helm-sources helm-get-sources helm-log "helm-sources = %S" helm-compute-attr-in-sources init helm-update] 6 (#$ . 69912)])
496 #@318 Return the currently selected item or nil.
497
498 if BUFFER is nil or unspecified, use helm-buffer as default value.
499 If FORCE-DISPLAY-PART is non-`nil', return the display string.
500 If FORCE-DISPLAY-PART value is `withprop' the display string is returned
501 with its properties.
502
503 (fn &optional BUFFER FORCE-DISPLAY-PART SOURCE)
504 (defalias 'helm-get-selection #[768 "\206\262\302!\206\303 ?\205{rq\210\304=\203!\305\202\"\306\204/\307\310    !\311\"\206k\310    !\312    !U?\205AS\"\206G\313 \211\205Y\205Y?\205Y\314\315\"\211\203f\316#\202g\262\266\204\211\317\232?\205x\320\321\"\210\211\266\202)\207" [helm-buffer helm-selection-overlay helm-empty-buffer-p helm-pos-header-line-p withprop buffer-substring buffer-substring-no-properties get-text-property overlay-start helm-realvalue overlay-end helm-get-current-source assoc-default display-to-real helm-apply-functions-from-source "" helm-log "selection = %S"] 13 (#$ . 70366)])
505 #@159 Return the associated action for the selected candidate.
506 It is a function symbol (sole action) or list
507 of (action-display . function).
508
509 (fn &optional SOURCE)
510 (defalias 'helm-get-actions-from-current-source #[256 "\300\301 !?\205k\302 \303\304!\211\203b\305\206\303\306\307\310#\311 \312!@\211\307@\"\307\313:\203H@\262\307\"\232\211\262\203HA\262\202,\211\205M\313\266\206\203X\311 @\202^\314\307\211#$\202g\303\306\307\310#\262\262\207" [helm-empty-buffer-p helm-buffer-get helm-get-current-source helm-attr action-transformer helm-apply-functions-from-source action nil ignorefn helm-marked-candidates helm-mklist t helm-get-selection] 16 (#$ . 71326)])
511 #@86 Return the source for the current selection.
512 Return nil when `helm-buffer' is empty.
513 (defalias 'helm-get-current-source #[0 "\206Tr\303 q\210\304`\305\"\206S\306    !b\210\307 \206\310 \211\205Q\212\211b\210\311 )\n\312\313\312:\203O@\262\314\315\"\232\205>\211\262?\211\262\203OA\262\202+\266\204\262)\207" [helm-current-source helm-selection-overlay helm-sources helm-buffer-get get-text-property helm-cur-source overlay-start helm-get-previous-header-pos helm-get-next-header-pos helm-current-line-contents nil t assoc-default name] 9 (#$ . 72019)])
514 #@81 Return non-`nil' when BUFFER is modified since `helm' was invoked.
515
516 (fn BUFFER)
517 (defalias 'helm-buffer-is-modified #[257 "\301!\302!\303\304\305!Q\306\"\206\307\310!U?\311#\210\312\313\"\210\312\314\"\210\207" [helm-tick-hash get-buffer buffer-name "/" helm-attr name gethash 0 buffer-chars-modified-tick puthash helm-log "buffer = %S" "modifiedp = %S"] 10 (#$ . 72596)])
518 #@70 Check if `helm-current-buffer' is modified since `helm' was invoked.
519 (defalias 'helm-current-buffer-is-modified #[0 "\301!\207" [helm-current-buffer helm-buffer-is-modified] 2 (#$ . 72989)])
520 #@397 Execute FUNCTION with ARGS after exiting `helm'.
521 The action is to call FUNCTION with arguments ARGS.
522 Unlike `helm-exit-and-execute-action', this can be used
523 to call non--actions functions with any ARGS or no ARGS at all.
524
525 Use this on commands invoked from key-bindings, but not
526 on action functions invoked as action from the action menu,
527 i.e. functions called with RET.
528
529 (fn FUNCTION &rest ARGS)
530 (defalias 'helm-run-after-exit #[385 "\300 \210\301\302\"\210\301\303\"\210\304\305\306\307\310\311\"\312\"\313\314%!\207" [helm-kill-async-processes helm-log "function = %S" "args = %S" helm-exit-and-execute-action make-byte-code 257 "\302\300\301\"\207" vconcat vector [apply] 4 "\n\n(fn CANDIDATE)"] 10 (#$ . 73188)])
531 #@313 Exit current helm session and execute ACTION.
532 Argument ACTION is a function called with one arg (candidate)
533 and part of the actions of current source.
534
535 Use this on commands invoked from key-bindings, but not
536 on action functions invoked as action from the action menu,
537 i.e functions called with RET.
538
539 (fn ACTION)
540 (defalias 'helm-exit-and-execute-action #[257 "\306\307\310\311#\211\203/=\204/\312\"\204/\313!\204/<\203'\314!\204/\315\316\317\310C$\210\210\211\320 \2068\321\311\322\303r\323 q\210 )\"\210\f\203i \203i\322\324r\323 q\210)\325r\323 q\210\326 )$\210\327\330\310\331#\210\332 \207" [helm-saved-action helm-saved-selection helm--executing-helm-action helm-echo-input-in-header-line helm-actions-inherit-frame-settings helm--buffer-in-new-frame-p helm-attr action nil t rassq byte-code-function-p functionp cl--assertion-failed (or (eq action actions) (rassq action actions) (byte-code-function-p action) (and (listp action) (functionp action))) "No such action `%s' for this source" helm-get-selection "" helm-set-local-variable helm-buffer-get helm-display-function helm--last-frame-parameters helm--get-frame-parameters run-with-idle-timer 0.5 #[0 "\300\301\302\303\302$\207" [helm-set-local-variable helm-display-function nil helm--last-frame-parameters] 5] helm-exit-minibuffer] 7 (#$ . 73918)])
541 #@24 
542
543 (fn &optional FRAME)
544 (defalias 'helm--get-frame-parameters #[256 "\301!\302\211:\203#@\262\236\211\203\211B\262\210A\262\202\211\237\207" [helm--frame-default-attributes frame-parameters nil] 8 (#$ . 75257)])
545 (byte-code "\300\301\302\"\210\303\301\302\304#\210\300\305\306\"\210\303\305\306\304#\207" [defalias helm-run-after-quit helm-run-after-exit make-obsolete "1.7.7" helm-quit-and-execute-action helm-exit-and-execute-action] 4)
546 #@401 Interpret VALUE as variable, function or literal and return it.
547 If VALUE is a function, call it with no arguments and return the value
548 unless COMPUTE value is 'ignorefn.
549 If SOURCE compute VALUE for this source.
550 If VALUE is a variable, return the value.
551 If VALUE is a symbol, but it is not a function or a variable, cause an error.
552 Otherwise, return VALUE itself.
553
554 (fn VALUE &optional SOURCE COMPUTE)
555 (defalias 'helm-interpret-value #[769 "\203\300!\203\211\301=\204\302\"\207\300!\203$\211\301=\204$ \2079\2032\303!\2032J\2079\203A\300!\204A\304\305!\207\207" [functionp ignorefn helm-apply-functions-from-source boundp error "helm-interpret-value: Symbol must be a function or a variable"] 6 (#$ . 75717)])
556 #@459 Bind each pair in ARGS locally to `helm-buffer'.
557
558 Use this to set local vars before calling helm.
559
560 When used from an init or update function
561 (i.e when `helm-force-update' is running) the variables are set
562 using `make-local-variable' within the `helm-buffer'.
563
564 Usage: helm-set-local-variable ([VAR VALUE]...)
565 Just like `setq' except that the vars are not set sequentially.
566 IOW Don't use VALUE of previous VAR to set the VALUE of next VAR.
567
568 (fn VAR VALUE ...)
569 (defalias 'helm-set-local-variable #[128 "\203%r\302 q\210\211\211:\203 \303@!A@L\210\211AA\262\202\n\304\262)\207\305\304:\203?@A@BB\262AA\262\202(\211\237\266\202    \"\211\207" [helm--force-updating-p helm--local-variables helm-buffer-get make-local-variable nil append] 6 (#$ . 76456)])
570 (defalias 'helm--set-local-variables-internal #[0 "\301\211\211:\203.@\262\211A\262\242\262>\204!\302!L\210\211C\244\262A\262\202\301\211\207" [helm--local-variables nil make-local-variable] 7])
571 #@114 Check if BUFFER have candidates.
572 Default value for BUFFER is `helm-buffer'.
573
574 (fn &optional (BUFFER helm-buffer))
575 (defalias 'helm-empty-buffer-p #[128 "\211\203 \211A\262\242\202\203\301\302\303GTD\"\210\304\205#\305!!\306U\207" [helm-buffer signal wrong-number-of-arguments helm-empty-buffer-p buffer-size get-buffer 0] 6 (#$ . 77443)])
576 #@159 Check if current source contains candidates.
577 This could happen when for example the last element of a source
578 was deleted and the candidates list not updated.
579 (defalias 'helm-empty-source-p #[0 "\300 \205<\301\300 !r\302\303\304\305\306!\307\"\310$\216\311@\312\"\210\313 \2069\314 \2059\315 \316 =\2059\212\317y\210\320 )\2069o*\262\207" [helm-window internal--before-with-selected-window make-byte-code 0 "\301\300!\207" vconcat vector [internal--after-with-selected-window] 2 select-window norecord helm-empty-buffer-p helm-end-of-source-p point-at-bol point-at-eol -1 helm-pos-header-line-p] 7 (#$ . 77800)])
580 #@734 From SOURCE apply FUNCTIONS on ARGS.
581
582 This function is used to process filter functions, when filter is a
583 `filtered-candidate-transformer', we pass to ARGS candidates+source
584 whereas when the filter is `candidate-transformer' we pass to ARGS
585 candidates only.
586 This function is used also to process functions called with no args,
587 e.g. init functions, in this case it is called without ARGS.
588 See `helm-process-filtered-candidate-transformer'
589 `helm-compute-attr-in-sources' and 
590 `helm-process-candidate-transformer'.
591
592 Arg FUNCTIONS is either a symbol or a list of functions, each function being
593 applied on ARGS and called on the result of the precedent function.
594 Return the result of last function call.
595
596 (fn SOURCE FUNCTIONS &rest ARGS)
597 (defalias 'helm-apply-functions-from-source #[642 "\302\303\"\304!\203C\202\305\306    \"\210\305\307\"\210\305\310\"\210\311\311:\203N@\262\312\"\262\203GA\203G\240\210A\262\202(\266\203*\207" [helm-current-source helm--source-name assoc-default name functionp helm-log "helm--source-name = %S" "functions = %S" "args = %S" nil apply] 12 (#$ . 78427)])
598 (byte-code "\300\301\302\"\210\303\301\302\304#\207" [defalias helm-funcall-with-source helm-apply-functions-from-source make-obsolete "2.9.7"] 4)
599 #@94 Call the associated function(s) to ATTR for each source if any.
600
601 (fn ATTR &optional SOURCES)
602 (defalias 'helm-compute-attr-in-sources #[513 "\301!\206\302\303\304 !!\205r\304 q\210)\211\2058\211\211\2056\211@\305\"\211\203.\306\"\210\210A\266\202\202\262\207" [helm-sources helm-get-sources buffer-live-p get-buffer helm-buffer-get assoc-default helm-apply-functions-from-source] 9 (#$ . 79701)])
603 (byte-code "\300\301\302\"\210\303\301\302\304#\207" [defalias helm-funcall-foreach helm-compute-attr-in-sources make-obsolete "2.9.7"] 4)
604 #@74 If SOURCES is only one source, make a list of one element.
605
606 (fn SOURCES)
607 (defalias 'helm-normalize-sources #[257 "\211\203    \2119\204\211<\203\300\236\203\211C\207\207" [name] 3 (#$ . 80259)])
608 #@163 Return candidates number in `helm-buffer'.
609 If IN-CURRENT-SOURCE is provided return number of candidates of current source
610 only.
611
612 (fn &optional IN-CURRENT-SOURCE)
613 (defalias 'helm-get-candidate-number #[256 "r\301 q\210\302 \204\303 \203\304\202\211\212\211\205\305 \211\203$\211b\210\202'eb\210\210\306y\210\307 \203\\\306\203C\212\310y\210\311 \206?m)\202Dm\204V\312\313\314#\203V\211T\262\2021\211\262\202\210\304\203j\311 \204\205m\202km\204\205\315 \316 =\204\311 \204\211T\262\306y\210\202]\211\262))\207" [helm-candidate-separator helm-buffer-get helm-empty-buffer-p helm-empty-source-p 0 helm-get-previous-header-pos 1 helm-pos-multiline-p 2 helm-pos-header-line-p search-forward nil t point-at-bol point-at-eol] 6 (#$ . 80466)])
614 #@77 If an error occurs in execution of BODY, safely quit helm.
615
616 (fn &rest BODY)
617 (defalias 'with-helm-quittable '(macro . #[128 "\300\301\302\303BB\304BBB\207" [condition-case _v let (inhibit-quit) ((quit (setq quit-flag t) (setq helm-quit t) (exit-minibuffer) (keyboard-quit) (eval '(ignore nil))))] 6 (#$ . 81241)]))
618 (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put with-helm-quittable lisp-indent-function 0 put edebug-form-spec t] 5)
619 (defconst helm-argument-keys '(:sources :input :prompt :resume :preselect :buffer :keymap :default :history))
620 #@2864 Main function to execute helm sources.
621
622 PLIST is a list like
623
624 (:key1 val1 :key2 val2 ...)
625
626  or
627
628 (&optional sources input prompt resume preselect
629             buffer keymap default history allow-nest).
630
631 ** Keywords
632
633 Keywords supported:
634
635 - :sources
636 - :input
637 - :prompt
638 - :resume
639 - :preselect
640 - :buffer
641 - :keymap
642 - :default
643 - :history
644 - :allow-nest
645
646 Extra LOCAL-VARS keywords are supported, see the "** Other
647 keywords" section below.
648
649 Basic keywords are the following:
650
651 *** :sources
652
653 One of the following:
654
655 - List of sources
656 - Symbol whose value is a list of sources
657 - Alist representing a Helm source.
658   - In this case the source has no name and is referenced in
659     `helm-sources' as a whole alist.
660
661 *** :input
662
663 Initial input of minibuffer (temporary value of `helm-pattern')
664
665 *** :prompt
666
667 Minibuffer prompt. Default value is `helm--prompt'.
668
669 *** :resume
670
671 If t, allow resumption of the previous session of this Helm
672 command, skipping initialization.
673
674 If 'noresume, this instance of `helm' cannot be resumed.
675
676 *** :preselect
677
678 Initially selected candidate (string or regexp).
679
680 *** :buffer
681
682 Buffer name for this Helm session. `helm-buffer' will take this value.
683
684 *** :keymap
685
686 [Obsolete]
687
688 Keymap used at the start of this Helm session.
689
690 It is overridden by keymaps specified in sources, and is kept
691 only for backward compatibility.
692
693 Keymaps should be specified in sources using the :keymap slot
694 instead. See `helm-source'.
695
696 This keymap is not restored by `helm-resume'.
697
698 *** :default
699
700 Default value inserted into the minibuffer with
701 \<minibuffer-local-map>\[next-history-element].
702
703 It can be a string or a list of strings, in this case
704 \<minibuffer-local-map>\[next-history-element] cycles through
705 the list items, starting with the first.
706
707 If nil, `thing-at-point' is used.
708
709 If `helm--maybe-use-default-as-input' is non-`nil', display is
710 updated using this value, unless :input is specified, in which
711 case that value is used instead.
712
713 *** :history
714
715 Minibuffer input, by default, is pushed to `minibuffer-history'.
716
717 When an argument HISTORY is provided, input is pushed to
718 HISTORY. HISTORY should be a valid symbol.
719
720 *** :allow-nest
721
722 Allow running this Helm command in a running Helm session.
723
724 ** Other keywords
725
726 Other keywords are interpreted as local variables of this Helm
727 session. The `helm-' prefix can be omitted. For example,
728
729 (helm :sources 'helm-source-buffers-list
730        :buffer "*helm buffers*"
731        :candidate-number-limit 10)
732
733 starts a Helm session with the variable
734 `helm-candidate-number-limit' set to 10.
735
736 ** Backward compatibility
737
738 For backward compatibility, positional parameters are
739 supported:
740
741 (helm sources input prompt resume preselect
742        buffer keymap default history allow-nest)
743
744 However, the use of non-keyword args is deprecated.
745
746 (fn &key SOURCES INPUT PROMPT RESUME PRESELECT BUFFER KEYMAP DEFAULT HISTORY ALLOW-NEST OTHER-LOCAL-VARS)
747 (defalias 'helm #[128 "\203 \303\304\"\204\203\305>\203\306\202%\307@!\203$\310\202%\311\203I\211\310=\203I\312 \203:\313\314!\202qr\315 q\210\316\317!\320 \210)\202q\307@!\203m\321    \322!\"\323\324\325\326\327\330\331    !\332\"\333\334%\n\"\"\202q\323\"\207" [helm-alive-p helm--local-variables helm-argument-keys plist-get :allow-nest allow-nest helm--nest keywordp helm helm-internal helm--alive-p error "Error: Trying to run helm within a running helm session" helm-buffer-get message "Aborting an helm session running in background" helm-keyboard-quit append helm-parse-keys apply mapcar make-byte-code 257 "\301\300\"\207" vconcat vector [plist-get] 4 "\n\n(fn KEY)"] 11 (#$ . 81810)])
748 #@177 [Internal] Check if `helm' is alive.
749 An `helm' session is considered alive if `helm-alive-p' value is
750 non-`nil', the `helm-buffer' is visible, and cursor is in the
751 minibuffer.
752 (defalias 'helm--alive-p #[0 "\205\301\302 \303\"\205\304\305 !\205\306p!\207" [helm-alive-p get-buffer-window helm-buffer-get visible minibuffer-window-active-p minibuffer-window minibufferp] 3 (#$ . 85400)])
753 #@600 Parse the KEYS arguments of `helm'.
754 Return only those keys not in `helm-argument-keys', prefix them
755 with "helm", and then convert them to an alist. This allows
756 adding arguments that are not part of `helm-argument-keys', but
757 are valid helm variables nevertheless. For
758 example, :candidate-number-limit is bound to
759 `helm-candidate-number-limit' in the source.
760
761   (helm-parse-keys '(:sources ((name . "test")
762                                (candidates . (a b c)))
763                      :buffer "toto"
764                      :candidate-number-limit 4))
765   ==> ((helm-candidate-number-limit . 4)).
766
767 (fn KEYS)
768 (defalias 'helm-parse-keys #[257 "\211\301\211\211\211\211\211:\203N\262\211A\262\242\262@\262\302!\303\301O\262\304\305\306\"\2032\2025\307P!\262>\204EBB\262AA\262\202\211\237\207" [helm-argument-keys nil symbol-name 1 intern string-match "^helm-" "helm-"] 12 (#$ . 85800)])
769 #@290 The internal helm function called by `helm'.
770 For ANY-SOURCES ANY-INPUT ANY-PROMPT ANY-RESUME ANY-PRESELECT ANY-BUFFER and
771 ANY-KEYMAP ANY-DEFAULT ANY-HISTORY See `helm'.
772
773 (fn &optional ANY-SOURCES ANY-INPUT ANY-PROMPT ANY-RESUME ANY-PRESELECT ANY-BUFFER ANY-KEYMAP ANY-DEFAULT ANY-HISTORY)
774 (defalias 'helm-internal #[2304 "\204\306 \307\310!\203%\310\311\312\313#\210\310\314\312\313#\210\310\315\312\313#\210\310\316\317\320#\210\321\322\323\324\325\"P!\210\321\326\"\210\321\327\"\210\321\330\"\210\321\331\"\210\321\332\"\210\321\333\"\210\206T\334\335\336\211\211 \f?\205\212\f\206\212\337!\336\335\336:\203\210@\262 >\211\262?\211\262\203\210A\262\202k\266\20389:;<\340\216\3411\336\211\211\211\206\246==>?@A\342    \f$\210B\204\313\343=\"\210\344\345 !\210C\204\324\346\347!\210\350\351\352\"\210\350\353\352\"\210\350\351\354\"\210\321\355!\210\356\216\357        &\210)>?\205\360 \321\361\323\324\362\"P!\210-0\202%\363 \210\364\365!\210\321\366\323\367\362\"P!\210\336\262.\207" [helm--nested helm-initial-frame helm--prompt helm-input-method-verbose-flag helm--maybe-use-default-as-input helm-sources-using-default-as-input selected-frame fboundp advice-add tramp-read-passwd :around helm--suspend-read-passwd ange-ftp-get-passwd epa-passphrase-callback-function linum-on :override helm--advice-linum-on helm-log "[Start session] " make-string 41 43 "any-prompt = %S" "any-preselect = %S" "any-buffer = %S" "any-keymap = %S" "any-default = %S" "any-history = %S" "pattern: " t nil helm-normalize-sources #[0 "\305\306!\203\306\307\310\"\210\306\311\310\"\210\306\312\310\"\210\306\313\314\"\210\315\316\317\211\"\210\320\321!\210\317\211\317\322\317\323 \207" [helm-alive-p helm--force-updating-p helm--buffer-in-new-frame-p helm-pattern helm--ignore-errors fboundp advice-remove tramp-read-passwd helm--suspend-read-passwd ange-ftp-get-passwd epa-passphrase-callback-function linum-on helm--advice-linum-on helm-log "helm-alive-p = %S" nil helm--remap-mouse-mode -1 "" helm-log-save-maybe] 5] (debug quit) helm-initialize helm-display-buffer select-window helm-window helm--remap-mouse-mode 1 add-hook post-command-hook helm--maybe-update-keymap helm-after-update-hook helm--update-header-line "show prompt" #[0 "\300 \207" [helm-cleanup] 1] helm-read-pattern-maybe helm-execute-selection-action "[End session] " 45 helm-restore-position-on-quit helm-log-run-hook helm-quit-hook "[End session (quit)] " 34 input-method-verbose-flag mode-line-in-non-selected-windows focus-follows-mouse mouse-autoselect-window non-essential helm-buffer helm-quit helm-in-persistent-action helm-current-source helm--source-name helm-execute-action-at-once-if-one helm-allow-mouse] 20 (#$ . 86714)])
775 (defalias 'helm--advice-linum-on #[0 "\300 \206\301\302\303 \"\206\304 \205\305\306\307\"??\205\310\311!\207" [minibufferp string-match "\\`\\*helm" buffer-name daemonp frame-parameter nil client linum-mode 1] 3])
776 #@186 Resume a previous `helm' session.
777 Call with a prefix arg to choose among existing helm
778 buffers (sessions). When calling from lisp, specify a buffer-name
779 as a string with ARG.
780
781 (fn ARG)
782 (defalias 'helm-resume #[257 "\306\211\211\307\300!\306C\203);\203\"\310\311!!\203\"\262\202,\312 \262\202,    \262\2047\313\314\315\306\211$\210\211\316\317\311!\"\240\210rq\210\306)\316\300\311!\"\316\320\311!\"\262\306\211\321 !\204eprq\210%)\211\203x\211@q\210\211A\262\210\214\203\203\322\323\"\210\203\215\324!\206\217\325\326\327\330\331!\332\"\333$\216\334\335\242\336\316\337\311 !\"\340\316\341\311 !\"\342\343\344&\n,\207" [helm-full-frame helm-last-buffer cursor-type helm-saved-selection helm-saved-action helm-current-buffer nil default-value bufferp get-buffer helm-resume-select-buffer cl--assertion-failed any-buffer "helm-resume: No helm buffers found to resume" buffer-local-value helm-sources default-directory buffer-live-p apply narrow-to-region file-name-as-directory make-byte-code 0 "\301\302\300\242\"\207" vconcat vector [run-hook-with-args helm-resume-after-hook] 3 helm :sources :input helm-input-local :prompt helm--prompt :resume t :buffer helm--current-buffer-narrowed] 18 (#$ . 89714) "P"])
783 #@63 Resume previous helm session within a running helm.
784
785 (fn ARG)
786 (defalias 'helm-resume-previous-session-after-quit #[257 "\203    GV\203\302\303\304\305\306\307!\310\"\311$!\207\312\313!\207\314\315!\207" [helm-alive-p helm-buffers helm-run-after-exit make-byte-code 0 "\302\300    8!\207" vconcat vector [helm-buffers helm-resume] 3 message "No previous helm sessions available for resuming!" error "Running helm command outside of context"] 8 (#$ . 90978) "p"])
787 (put 'helm-resume-previous-session-after-quit 'helm-only t)
788 #@50 List resumable helm buffers within running helm.
789 (defalias 'helm-resume-list-buffers-after-quit #[0 "\203    G\302V\203\303\304!\207\305\306!\207\307\310!\207" [helm-alive-p helm-buffers 0 helm-run-after-exit #[0 "\300\301!\207" [helm-resume t] 2] message "No previous helm sessions available for resuming!" error "Running helm command outside of context"] 2 (#$ . 91508) nil])
790 (put 'helm-resume-list-buffers-after-quit 'helm-only t)
791 #@66 Whether current helm session is resumed or not.
792
793 (fn ANY-RESUME)
794 (defalias 'helm-resume-p #[257 "\211\300=\207" [t] 3 (#$ . 91950)])
795 #@112 Select an `helm-buffer' in `helm-buffers' list to resume a helm session.
796 Return nil if no `helm-buffer' found.
797 (defalias 'helm-resume-select-buffer #[0 "\205\301\302\303\304\305\306$\307\310\311\312&\206\313 \207" [helm-buffers helm :sources helm-make-source "Resume helm buffer" helm-source-sync :candidates :resume noresume :buffer "*helm resume*" keyboard-quit] 7 (#$ . 92090)])
798 #@70 Cycle in `helm-buffers' list and resume when waiting more than 1.2s.
799 (defalias 'helm-cycle-resume #[0 "\203    \204\304\305\306\307\211$\210\n\310=\203 \204 \311    \312\313$\314 \207" [helm-buffers helm-last-buffer last-command helm--cycle-resume-iterator cl--assertion-failed (and helm-buffers helm-last-buffer) "No helm buffers to resume" nil helm-cycle-resume helm-iter-sub-next-circular :test equal helm--resume-or-iter] 5 (#$ . 92485) nil])
800 #@28 
801
802 (fn &optional FROM-HELM)
803 (defalias 'helm--resume-or-iter #[256 "\303\304\"\210\305    !\203\211\203\306\307!\207\310!\207\211?\205$\303\304\311\n!\211\"\207" [helm-last-buffer helm-cycle-resume-delay helm--cycle-resume-iterator message "Resuming helm buffer `%s'" sit-for helm-run-after-exit #[0 "\301!\207" [helm-last-buffer helm-resume] 2] helm-resume helm-iter-next] 5 (#$ . 92942)])
804 #@71 Same as `helm-cycle-resume' but intended to be called only from helm.
805 (defalias 'helm-run-cycle-resume #[0 "A\205    \304=\203\n\204\305 \306\307$\310\n!\311\312!\207" [helm-buffers last-command helm--cycle-resume-iterator helm-last-buffer helm-run-cycle-resume helm-iter-sub-next-circular :test equal helm-iter-next helm--resume-or-iter from-helm] 5 (#$ . 93343) nil])
806 (put 'helm-run-cycle-resume 'helm-only t)
807 #@142 Simplified `helm' interface with other `helm-buffer'.
808 Call `helm' only with ANY-SOURCES and ANY-BUFFER as args.
809
810 (fn ANY-SOURCES ANY-BUFFER)
811 (defalias 'helm-other-buffer #[514 "\300\301\302$\207" [helm :sources :buffer] 7 (#$ . 93769)])
812 #@283 [internal]Allows calling `helm' within a running helm session.
813
814 Arguments SAME-AS-HELM are the same as `helm'.
815
816 Don't use this directly, use instead `helm' with the keyword
817 :allow-nest.
818
819 (fn &key SOURCES INPUT PROMPT RESUME PRESELECT BUFFER KEYMAP DEFAULT HISTORY OTHER-LOCAL-VARS)
820 (defalias 'helm--nest #[128 "\306\307 !r\310\311\312\313\314!\315\"\316$\216\317@\320\"\210    \n \f \321 \322\323\321\"\210\310\311\324\313\314\f\f\f\f\f\f\f\f&\325\"\326$\216\327\211\211\330 \331\"\206X\332 8\206X\333\321!\"#\327\334\335 \".\266\210*\207" [helm-current-buffer helm-buffer helm--prompt helm-sources helm--in-fuzzy helm--buffer-in-new-frame-p internal--before-with-selected-window helm-window make-byte-code 0 "\301\300!\207" vconcat vector [internal--after-with-selected-window] 2 select-window norecord t helm-set-local-variable helm-full-frame "r\301q\210\303\310\305 \311!\301\"\310#\302$\304%\312\"!\210\313 \204*\314\311!\210\306&\310'\300(\307)\315\316!\203Q\316\317\320\321#\210\316\322\320\321#\210\316\323\320\321#\210\202Y\324\317!\210\324\322!\210*\204b\325\326!\210\310\311\310:\203\204@\262\327>\211\262?\211\262\203\204A\262\202g\266\203\204\223\330\331\332\"\210\330\331\333\"\210\334\335 !)\207" [nil t helm-initialize-overlays helm-empty-buffer-p helm-mark-current-line fboundp advice-add tramp-read-passwd :around helm--suspend-read-passwd ange-ftp-get-passwd epa-passphrase-callback-function ad-activate helm--remap-mouse-mode 1 (helm--maybe-update-keymap helm--update-header-line) add-hook post-command-hook helm--maybe-update-keymap helm--update-header-line helm-display-mode-line helm-get-current-source helm-sources helm--nested helm--buffer-in-new-frame-p helm-alive-p helm-buffer helm-full-frame helm--prompt helm--in-fuzzy helm-last-frame-or-window-configuration cursor-type helm-current-buffer helm-onewindow-p helm-allow-mouse] 6 nil cl-getf :buffer 5 "*Helm*" apply helm helm-last-frame-or-window-configuration helm-onewindow-p helm--nested enable-recursive-minibuffers helm-pattern helm-current-position] 23 (#$ . 94015)])
821 #@134 Save or restore current position in `helm-current-buffer'.
822 Argument SAVE-OR-RESTORE is either save or restore.
823
824 (fn SAVE-OR-RESTORE)
825 (defalias 'helm-current-position #[257 "\211\302\267\2020\303\304`\305 B\"\210`\305 B\211\207\306    \307\"\2051\303\310\311p!#\210@b\210\312\313 A\314#\207\315\207" [helm-current-position helm-current-buffer #s(hash-table size 2 test eql rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (save 6 restore 21)) helm-log "Save position at %S" window-start get-buffer-window visible "Restore position at  %S in buffer %s" buffer-name set-window-start selected-window t nil] 6 (#$ . 96135)])
826 #@203 Save or restore last frame or window configuration.
827 Argument SAVE-OR-RESTORE is either save or restore of window or
828 frame configuration as per `helm-save-configuration-functions'.
829
830 (fn SAVE-OR-RESTORE)
831 (defalias 'helm-frame-or-window-configuration #[257 "\304\305\"\210\306\307    \"\211\310\267\202GA \211\202H@\n!\210\311 !\203(\312 \202*\313 \314K\315\316\317\320\321!\322\"\323$\216\314\324M\210\325!)\266\203\202H\326)\207" [helm-save-configuration-functions window-persistent-parameters helm-last-frame-or-window-configuration helm-current-buffer helm-log "helm-save-configuration-functions = %S" append ((no-other-window . t)) #s(hash-table size 2 test eql rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (save 16 restore 24)) minibufferp selected-frame last-nonminibuffer-frame x-focus-frame make-byte-code 0 "\301\300M\207" vconcat vector [x-focus-frame] 2 ignore select-frame-set-input-focus nil] 10 (#$ . 96772)])
832 #@446 Default function to split windows before displaying `helm-buffer'.
833
834 It is used as default value for
835 `helm-split-window-preferred-function' which is then the let-bounded
836 value of `split-window-preferred-function' in `helm-display-buffer'.
837 When `helm-display-function' which default to
838 `helm-default-display-buffer' is called from `helm-display-buffer' the
839 value of `split-window-preferred-function' will be used by `display-buffer'.
840
841 (fn WINDOW)
842 (defalias 'helm-split-window-default-fn #[257 "\304\305\306!\203\211\307    !\204\211\310\311!\204\n\203+\312\313 \304 \314=\203&\315\202' #\202\214 \316\267\202\317\320!\206\214\317\321!\206\214\313 \202\214\317\321!\206\214\317\320!\206\214\313 \202\214\317\322!\206\214\317\315!\206\214\313 \202\214\317\315!\206\214\317\322!\206\214\313 \202\214\313 \202\214\323 \202\214\324 \206\214\313 \202\214\325!)\207" [split-width-threshold helm-current-buffer helm-split-window-inside-p helm-split-window-default-side nil fboundp window-in-direction minibufferp one-window-p t split-window selected-window other below #s(hash-table size 6 test eql rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (left 49 above 66 right 83 below 100 same 117 other 122)) helm-window-in-direction left above right other-window-for-scrolling window-next-sibling split-window-sensibly] 6 (#$ . 97723)])
843 #@81 Same as `window-in-direction' but check if window is dedicated.
844
845 (fn DIRECTION)
846 (defalias 'helm-window-in-direction #[257 "\300!\211\205\301!?\205\211\207" [window-in-direction window-dedicated-p] 4 (#$ . 99086)])
847 #@413 Decide which display function use according to `helm-commands-using-frame'.
848
849 The `helm-display-function' buffer local value takes precedence on
850 `helm-commands-using-frame'.
851 If `helm-initial-frame' has no minibuffer, use
852 `helm-display-buffer-in-own-frame' function.
853 Fallback to global value of `helm-display-function' when no local
854 value found and current command is not in `helm-commands-using-frame'.
855
856 (fn COM)
857 (defalias 'helm-resolve-display-function #[257 "r\305 q\210)\206,\211    >\204'\n\203  \204 \306 G\307V\204'\f\310 \235\204)\311\207\312\300!\207" [helm-display-function helm-commands-using-frame helm-use-frame-when-more-than-two-windows helm--nested helm-initial-frame helm-buffer-get window-list 2 minibuffer-frame-list helm-display-buffer-in-own-frame default-value] 3 (#$ . 99313)])
858 #@190 Display BUFFER.
859
860 The function used to display `helm-buffer' by calling
861 `helm-display-function' which split window with
862 `helm-split-window-preferred-function'.
863
864 (fn BUFFER &optional RESUME)
865 (defalias 'helm-display-buffer #[513 "    \204%\n\203% \306=\203\306\202& \307=\203\307\202&\f\206& \202& rq\210\310 \2034\311 \2026!)\211\312!\206L \205L\"r\313 q\210\314\315!\210 )\316\317!\203g\320 \210*\207" [helm-split-window-preferred-function helm-full-frame helm-reuse-last-window-split-state helm-split-window-default-side helm--window-side-state helm-actions-inherit-frame-settings same other helm-resolve-display-function helm-this-command helm-resume-p helm-buffer-get make-local-variable helm-display-function one-window-p t helm-prevent-switching-other-window this-command split-window-preferred-function helm--executing-helm-action helm-onewindow-p helm-prevent-escaping-from-minibuffer] 9 (#$ . 100123)])
866 #@145 Allow setting `no-other-window' parameter for all windows.
867 Arg ENABLE is the value of `no-other-window' window property.
868
869 (fn &key (ENABLED t))
870 (defalias 'helm-prevent-switching-other-window #[128 "\300\301\"\206\302A@\211\2035\211@\303>\203\211AA\262\202 \304>A@\203,\305\262\202 \306\307@\"\210\202 \210\310\311\312\313\314\315!\316\"\317\320%\321\"\207" [plist-member :enabled (nil t) (:enabled :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:enabled)" walk-windows make-byte-code 257 "\301!?\205\f\302\303\300#\207" vconcat vector [window-dedicated-p set-window-parameter no-other-window] 5 "\n\n(fn W)" 0] 9 (#$ . 101072)])
871 #@261 Default function to display `helm-buffer' BUFFER.
872
873 It is the default value of `helm-display-function'
874 It uses `switch-to-buffer' or `display-buffer' depending on the
875 value of `helm-full-frame' or `helm-split-window-default-side'.
876
877 (fn BUFFER &optional RESUME)
878 (defalias 'helm-default-display-buffer #[513 "\306\307\310\311!\"\204    \312=\203&\313\314!\203&\315\n!\204 \316 \210\317!\202X \204.\f\203A    \312=\204A\315\n!\204A \204A\316 \210\320\321\322B\323BD\"B\"\210\324\325!)\207" [pop-up-frames helm-split-window-default-side helm-current-buffer helm-always-two-windows helm-autoresize-mode helm-split-window-inside-p nil buffer-local-value helm-full-frame get-buffer same one-window-p t minibufferp delete-other-windows switch-to-buffer display-buffer append window-height window-width helm-log-run-hook helm-window-configuration-hook helm-default-display-buffer-functions helm-default-display-buffer-alist helm-display-buffer-default-height helm-display-buffer-default-width] 10 (#$ . 101761)])
879 #@377 Display helm buffer BUFFER in a separate frame.
880
881 Function suitable for `helm-display-function',
882 `helm-completion-in-region-display-function'
883 and/or `helm-show-completion-default-display-function'.
884
885 See `helm-display-buffer-height' and `helm-display-buffer-width' to
886 configure frame size.
887
888 Note that this feature is available only with emacs-25+.
889
890 (fn BUFFER &optional RESUME)
891 (defalias 'helm-display-buffer-in-own-frame #[513 "\306\307!\203\f\306\310!\204\311\312\313\314\211$\210\315 \204\316!\207\317\320 \321    !\322\245\310 \nG\323 \2039\324\325\326    !\"\202\231\327 B\330\fB\331\332@\333 `\334 ZW\203W`\334 Z\202Y_ZB\335    A    V\203z\336\nA\f\322\\_\337 \236AA#\202\200    A\\B\340\341 B\342\343\344\3451?B\346BBBBBBBBBBB2\31434\204\275\204\275\347\350\351\"\210r\352 q\210\353\354!\210AV?,)\3552\"\210\204\3241\203\324\3565 \f#\210*\266\357\360!\207" [helm--buffer-in-new-frame-p x-display-name helm--prompt helm-display-buffer-width helm-display-buffer-height helm-use-undecorated-frame-option fboundp window-absolute-pixel-edges frame-geometry cl--assertion-failed (and (fboundp 'window-absolute-pixel-edges) (fboundp 'frame-geometry)) "Helm buffer in own frame is only available starting at emacs-25+" nil display-graphic-p helm-default-display-buffer t window-absolute-pixel-position display-pixel-height 2 frame-char-height buffer-local-value helm--last-frame-parameters get-buffer width height (tool-bar-lines . 0) left frame-char-width point-at-bol top - title-bar-size (title . "Helm") undecorated (vertical-scroll-bars) (menu-bar-lines . 0) (fullscreen) visibility ((minibuffer . t)) add-hook helm-minibuffer-set-up-hook helm-hide-minibuffer-maybe helm-buffer-get make-local-variable helm-echo-input-in-header-line helm-display-buffer-popup-frame set-frame-size helm-log-run-hook helm-window-configuration-hook helm-display-buffer-reuse-frame default-frame-alist display-buffer-alist helm--executing-helm-action helm-popup-frame] 19 (#$ . 102788)])
892 #@27 
893
894 (fn BUFFER FRAME-ALIST)
895 (defalias 'helm-display-buffer-popup-frame #[514 "\203/\302\303\"A\302\304\"A    \203\305    !\204\306!\307    !\210\310    #\210\311!\210\312    \313\"\207    \203=\305    !\203=\314    !\210\315\316\"\207" [helm-display-buffer-reuse-frame helm-popup-frame assoc left top frame-live-p make-frame select-frame set-frame-position switch-to-buffer select-frame-set-input-focus t delete-frame display-buffer (display-buffer-pop-up-frame)] 8 (#$ . 104797)])
896 #@14 
897
898 (fn FRAME)
899 (defalias 'helm--delete-frame-function #[257 "\205 \302    \"\205 \303 \207" [helm-alive-p helm-buffer get-buffer-window helm-keyboard-quit] 4 (#$ . 105275)])
900 (add-hook 'delete-frame-functions 'helm--delete-frame-function)
901 #@87 Transform each element of SOURCES in alist.
902 Returns the resulting list.
903
904 (fn SOURCES)
905 (defalias 'helm-get-sources #[257 "\211\205\n\300\301\302!\"\207" [mapcar #[257 "\211<\203\207\211J\207" [] 2 "\n\n(fn SOURCE)"] helm-normalize-sources] 5 (#$ . 105518)])
906 #@157 Start initialization of `helm' session.
907 For ANY-RESUME ANY-INPUT ANY-DEFAULT and ANY-SOURCES See `helm'.
908
909 (fn ANY-RESUME ANY-INPUT ANY-DEFAULT ANY-SOURCES)
910 (defalias 'helm-initialize #[1028 "\306\307#\210\310\311!\210\312!\211\313\211\211\314\313:\203G@\262\315!\262\316!\262\317>\2042\320>\203<\314\262\313\211\262\202=\314\203GA\262\202\266\205\306\321\"\210\322\323\"\210\324\311!\210\325!\203f\326\327 !\210\202k\330\"\210\314\331=\204z\332\n\333\"\210\n\203\205\334 \210\325!\203\217\335\336!\210\306\337!\207" [helm--in-fuzzy helm-alive-p helm-buffer helm-last-buffer helm-input helm-pattern helm-log "start initialization: any-resume=%S any-input=%S" helm-frame-or-window-configuration save helm-get-sources nil t helm-match-functions helm-search-functions helm-fuzzy-match helm-fuzzy-search "sources = %S" helm-set-local-variable helm-sources helm-current-position helm-resume-p helm-initialize-overlays helm-buffer-get helm-initial-setup noresume helm--push-and-remove-dups helm-buffers helm--fuzzy-match-maybe-set-pattern helm-compute-attr-in-sources resume "end initialization"] 13 (#$ . 105786)])
911 #@50 Initialize helm overlays in BUFFER.
912
913 (fn BUFFER)
914 (defalias 'helm-initialize-overlays #[257 "\301\302!\210\203\303ee\304!$\207\305ee\304!#\306\307\310#\210\306\311\312#\207" [helm-selection-overlay helm-log "overlay setup" move-overlay get-buffer make-overlay overlay-put face helm-selection priority 1] 7 (#$ . 106944)])
915 #@58 Restore position in `helm-current-buffer' when quitting.
916 (defalias 'helm-restore-position-on-quit #[0 "\300\301!\207" [helm-current-position restore] 2 (#$ . 107280)])
917 #@75 Move ELM of SYM value on top and set SYM to this new value.
918
919 (fn ELM SYM)
920 (defalias 'helm--push-and-remove-dups #[514 "\211\300J\"BL\207" [delete] 7 (#$ . 107454)])
921 #@258 [internal] Return `current-buffer' BEFORE `helm-buffer' is initialized.
922 Note that it returns the minibuffer in use after helm has started
923 and is intended for `helm-initial-setup'. To get the buffer where
924 helm was started, use `helm-current-buffer' instead.
925 (defalias 'helm--current-buffer #[0 "\300\301 !\203\f\302\303 !\207\302\304\301 !r\305\306\307\310\311!\312\"\313$\216\314@\315\"\210\316 *\262!\207" [minibuffer-window-active-p minibuffer-window window-buffer active-minibuffer-window internal--before-with-selected-window make-byte-code 0 "\301\300!\207" vconcat vector [internal--after-with-selected-window] 2 select-window norecord minibuffer-selected-window] 8 (#$ . 107629)])
926 #@130 Run after and before init hooks local to source.
927 See :after-init-hook and :before-init-hook in `helm-source'.
928
929 (fn HOOK SOURCES)
930 (defalias 'helm--run-init-hooks #[514 "\300\301\"\203 \302\202\300\303\"\203\304\202\305\306\307#\205\310\311!\310\211:\203T@\262\312\"\262\211\203I\2119\204IL\210\313!\210\202M\313!\210A\262\202%\310\207" [eql before-init-hook "h-before-init-hook" after-init-hook "h-after-init-hook" error "cl-ecase failed: %s, %s" (before-init-hook after-init-hook) nil cl-gensym assoc-default helm-log-run-hook] 10 (#$ . 108328)])
931 #@80 Initialize helm settings and set up the helm buffer.
932
933 (fn ANY-DEFAULT SOURCES)
934 (defalias 'helm-initial-setup #[514 "\306\307!\210\310\311\"\210\312\300\"\210\313\211\313\211\314 \"#\313\211$%\313&r\315 !\2031 \2064p\211q\210deZ\316 U?\205B\317 )\203U'\204U\312\320p\321 \322 E\"\210(\204_)\203d*\204\210+\203y+\250\203}+\323 \324\\Y\203}\325\202~\326(,\206\206\327)\330\331\"\210-\203\267<\203\234@\202\235\206\270r\315 !\203\253 \206\256p\211q\210\332\333!)\206\270\334.\334/\3350!\210\336 \210\337 \210\306\340!\210\310\341\"\207" [current-input-method helm-current-prefix-arg helm-saved-action helm-saved-selection helm-suspend-update-flag helm-current-buffer helm-log-run-hook helm-before-initialize-hook helm--run-init-hooks before-init-hook helm-set-local-variable nil helm--current-buffer buffer-live-p buffer-size use-region-p helm--current-buffer-narrowed region-beginning region-end frame-width 4 vertical horizontal below helm-compute-attr-in-sources init thing-at-point symbol "" clrhash helm-create-helm-buffer helm-clear-visible-mark helm-after-initialize-hook after-init-hook buffer-file-name helm-buffer-file-name helm-issued-errors helm-saved-current-source helm--suspend-update-interactive-flag helm--nested helm-split-window-state helm--window-side-state helm-reuse-last-window-split-state split-width-threshold helm-split-window-default-side helm--maybe-use-default-as-input helm-pattern helm-input helm-candidate-cache] 8 (#$ . 108913)])
935 (defvar helm-major-mode-hook nil)
936 (byte-code "\300\301N\204\f\302\300\301\303#\210\304\305!\204\302\305\306\307#\210\300\207" [helm-major-mode-hook variable-documentation put "Hook run after entering Hmm mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" boundp helm-major-mode-map definition-name helm-major-mode] 4)
937 (defvar helm-major-mode-map (make-sparse-keymap))
938 (byte-code "\301\302N\204\303\301\302\304\305!#\210\306\307!\204\303\307\310\311#\210\312\313 !\210\307\302N\204-\303\307\302\304\314!#\210\306\300!\204B\303\300\310\311#\210\315\316\300\317\"\210!\210\300\302N\204P\303\300\302\304\320!#\210\303\311\321\317#\207" [helm-major-mode-abbrev-table helm-major-mode-map variable-documentation put purecopy "Keymap for `helm-major-mode'." boundp helm-major-mode-syntax-table definition-name helm-major-mode (lambda (#1=#:def-tmp-var) (defvar helm-major-mode-syntax-table #1#)) make-syntax-table "Syntax table for `helm-major-mode'." (lambda (#1#) (defvar helm-major-mode-abbrev-table #1#)) define-abbrev-table nil "Abbrev table for `helm-major-mode'." derived-mode-parent] 5)
939 #@229 [Internal] Provide major-mode name in helm buffers.
940 Unuseful when used outside helm, don't use it.
941
942 This mode runs the hook `helm-major-mode-hook', as the final or penultimate step
943 during initialization.
944
945 \{helm-major-mode-map}
946 (defalias 'helm-major-mode #[0 "\306\300!\210\307\310 \210\311\312\313 !\210\314\f!\210 )\315\316!\207" [delay-mode-hooks major-mode mode-name helm-major-mode-map helm-major-mode-syntax-table helm-major-mode-abbrev-table make-local-variable t kill-all-local-variables helm-major-mode "Hmm" use-local-map set-syntax-table run-mode-hooks helm-major-mode-hook local-abbrev-table] 2 (#$ . 111613) nil])
947 (byte-code "\300\301\302\303#\210\300\301\304\305#\207" [put helm-major-mode mode-class special helm-only t] 4)
948 #@33 Create and setup `helm-buffer'.
949 (defalias 'helm-create-helm-buffer #[0 "\306r\307\n!q\210\310\311 \"\210\310\312\313 \"\210\314 \210\315 \210\316\304!\210\317\320 \210\321 \210\316\305!\210 \316\322!\210\317\316\323!\210\316\324!\210\317\316\325!\210\317\316\326!\210 \203R\327\202T!\316\300!\210\211\316\330!\210\317\316\331!\210\332 \210\310\333\"\210\310\334\"\"\210\335 \210#$\317%)\336\n!\210\337\n!)\207" [default-directory inhibit-read-only helm-buffer major-mode buffer-read-only helm-map t get-buffer-create helm-log "Enabling major-mode %S" "kill local variables: %S" buffer-local-variables kill-all-local-variables helm-major-mode make-local-variable nil buffer-disable-undo erase-buffer helm-source-filter helm-sources helm-display-function helm-selection-point scroll-margin 0 helm-marked-candidates helm--prompt helm-initialize-persistent-action "helm-display-function = %S" "helm--local-variables = %S" helm--set-local-variables-internal helm-initialize-overlays get-buffer helm-display-source-at-screen-top helm-completion-window-scroll-margin helm--local-variables helm-truncate-lines truncate-lines cursor-type] 4 (#$ . 112363)])
950 #@101 Non-nil if Helm- minor mode is enabled.
951 Use the command `helm--minor-mode' to change this variable.
952 (defvar helm--minor-mode nil (#$ . 113547))
953 (make-variable-buffer-local 'helm--minor-mode)
954 #@177 [INTERNAL] Enable keymap in helm minibuffer.
955 Since this mode has no effect when run outside of helm context,
956 please don't use it outside helm.
957
958 \{helm-map}
959
960 (fn &optional ARG)
961 (defalias 'helm--minor-mode #[256 "\302 \303=\203 ?\202\304!\305V    \204\306\307\310\203#\311\202$\312\"\210\313\314!\203H\302 \2038\211\302 \232\203H\315\316\317\203C\320\202D\321#\266\210\322 \210\207" [helm--minor-mode helm-alive-p current-message toggle prefix-numeric-value 0 nil run-hooks helm--minor-mode-hook helm--minor-mode-on-hook helm--minor-mode-off-hook called-interactively-p any " in current buffer" message "Helm- minor mode %sabled%s" "en" "dis" force-mode-line-update] 7 (#$ . 113745) (byte-code "\206\301C\207" [current-prefix-arg toggle] 1)])
962 (defvar helm--minor-mode-hook nil)
963 (byte-code "\300\301N\204\f\302\300\301\303#\210\300\207" [helm--minor-mode-hook variable-documentation put "Hook run after entering or leaving `helm--minor-mode'.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)"] 4)
964 #@32 Keymap for `helm--minor-mode'.
965 (defvar helm--minor-mode-map (byte-code "\205    \302!\203\211\202\211<\203\303!\202\304\305\"\207" [helm-alive-p helm-map keymapp easy-mmode-define-keymap error "Invalid keymap %S"] 4) (#$ . 114846))
966 (byte-code "\301\302\303\303\211%\210\304\302\305\306#\207" [helm--minor-mode-map add-minor-mode helm--minor-mode nil put helm-only t] 6)
967 (defalias 'helm--reset-default-pattern #[0 "\302\303\211\207" [helm-pattern helm--maybe-use-default-as-input "" nil] 2])
968 #@230 Read pattern with prompt ANY-PROMPT and initial input ANY-INPUT.
969 For ANY-PRESELECT ANY-RESUME ANY-KEYMAP ANY-DEFAULT ANY-HISTORY, See `helm'.
970
971 (fn ANY-PROMPT ANY-INPUT ANY-PRESELECT ANY-RESUME ANY-KEYMAP ANY-DEFAULT ANY-HISTORY)
972 (defalias 'helm-read-pattern-maybe #[1799 "r\306 q\210\307!\203\310 \203\311\312!\210\202\313!\210\310 \314\315\"\203.9\203.\2062\314\316\"\317C\317    ?\205<\n @\320\236\206H\320\236\321\322\323 \"\210\321\324\f\"\210\321\325 \"\210\203h\307\n!\203h\326!\210=\203\231>?\211\203\212\327\330\331\"\210\330\332B@B@\333\332\330\"\210\202\215\334 \210\335 \203\231 \204\231\336 \210\337\f!\203\244\f \202\245\f\203\266\323\f\340=!\341U\203\266\317\202[ \203\317\323 \342U\203\317\312A\337 !\205[  \202[\206\353r\343B!\203\341B\206\345p\211Bq\210\344\345!)\f\203\373\346C\f\"\210\347\350 !\210\351\342\352\353\354!\355\"\356$\216\351\342\357\353\354 \n#\360\"\361$\317C\211\351\342\362\353\354\"\363\"\364$\240\210\351\342\365\353\354!\366\"\364$\216\333\367\242\"\210\370\371\206E\372\373\374#D\317 E&)\266\202)\262*\266\206)\207" [blink-matching-paren helm-echo-input-in-header-line resize-mini-windows helm-sources helm-execute-action-at-once-if-one helm-quit-if-no-candidate helm-buffer-get helm-resume-p helm-get-current-source helm-mark-current-line t helm-update assoc-default keymap history nil candidates-process helm-log "helm-get-candidate-number => %S" helm-get-candidate-number "helm-execute-action-at-once-if-one = %S" "helm-quit-if-no-candidate = %S" helm-display-mode-line defalias #1=#:helm--hook3 #[0 "\300\216\301 )\207" [#[0 "\300\301\302\"\210\303\302!\207" [remove-hook helm-after-update-hook #1# fmakunbound] 3] helm--reset-default-pattern] 1] helm-after-update-hook add-hook helm--reset-default-pattern helm-empty-buffer-p helm-force-update functionp current-source 1 0 buffer-live-p thing-at-point symbol helm-display-buffer select-window helm-window make-byte-code "\300\242\205 \301\300\242!\210\300\302\240\207" vconcat vector [cancel-timer nil] 2 "\305\306!\210\307\301\206\300\206 !\210\310\311!\210\302\312r\313 q\210\f)\314]\315\316#\240\210\317 \207" [helm-map helm-input-idle-delay helm--minor-mode 1 helm--maybe-update-keymap helm-log-run-hook helm-minibuffer-set-up-hook run-with-idle-timer helm-buffer-get 0.001 repeat #[0 "\206    ?\205 \302 r\303\304\305\306\307!\310\"\311$\216\312 \210\313 *\262\207" [helm-in-persistent-action helm-suspend-update-flag internal--before-save-selected-window make-byte-code 0 "\301\300!\207" vconcat vector [internal--after-save-selected-window] 2 helm-check-minibuffer-input helm-print-error-messages] 7] helm--update-header-line] 5 "\302\303\301\242\"\210\300 \207" [remove-hook minibuffer-setup-hook] 3 "\301\302\300\242\"\207" [remove-hook minibuffer-setup-hook] minibuffer-setup-hook read-from-minibuffer propertize "pattern: " face helm-minibuffer-prompt helm--maybe-use-default-as-input helm-pattern helm-input helm--temp-hooks helm-quit helm-current-buffer helm-buffer helm-map helm-inherit-input-method] 24 (#$ . 115358)])
973 #@145 Enable or disable display update in helm.
974 This can be useful for example for quietly writing a complex regexp
975 without helm constantly updating.
976 (defalias 'helm-toggle-suspend-update #[0 "\302?\303\"\210    ?\211\207" [helm-suspend-update-flag helm--suspend-update-interactive-flag helm-suspend-update t] 3 (#$ . 118482) nil])
977 (put 'helm-toggle-suspend-update 'helm-only t)
978 #@194 Enable or disable display update in helm.
979 If ARG is 1 or non nil suspend update, if it is -1 or nil reenable
980 updating.  When VERBOSE is specified display a message.
981
982 (fn ARG &optional VERBOSE)
983 (defalias 'helm-suspend-update #[513 "r\302 q\210\303\211\232\204\304=\204<\203\"\211\235\203\"\304\202Z\305\211\232\2068\304=\2068<\2058\211\235?\205X\304\211\232\204U\304=\204U<\205V\211\235\205V\211\266\202\266\202\266\202\211\203f\306 \210\307\211\203v\310\203s\311\202t\312!\210\313 \211\205\200\314\304\"\262)\207" [helm-suspend-update-flag helm-pattern helm-buffer-get 1 t -1 helm-kill-async-processes "" message "Helm update suspended!" "Helm update re-enabled!" helm-get-current-source helm-display-mode-line] 10 (#$ . 118861)])
984 #@91 Disable update and delete ARG chars backward.
985 Update is reenabled when idle 1s.
986
987 (fn ARG)
988 (defalias 'helm-delete-backward-no-update #[257 "\203    \204\f\302\303!\210\304!\210\305\303\306\307#\207\310\311!\207" [helm-alive-p helm--suspend-update-interactive-flag helm-suspend-update 1 backward-delete-char run-with-idle-timer nil #[0 "?\205\301\302!\210\303 \210\304 \207" [helm--suspend-update-interactive-flag helm-suspend-update -1 helm-check-minibuffer-input helm-force-update] 2] error "Running helm command outside of context"] 5 (#$ . 119638) "p"])
989 (put 'helm-delete-backward-no-update 'helm-only t)
990 #@169 Suspend helm while reading password.
991 This is used to advice `tramp-read-passwd', `ange-ftp-get-passwd' and
992 `epa-passphrase-callback-function'.
993
994 (fn OLD--FN &rest ARGS)
995 (defalias 'helm--suspend-read-passwd #[385 "\303\304\303\305\216\306\")\207" [helm-suspend-update-flag overriding-terminal-local-map helm--reading-passwd-or-string t nil #[0 "\302\211\211\207" [helm--reading-passwd-or-string helm-suspend-update-flag nil] 3] apply] 5 (#$ . 120257)])
996 #@201 Handle different keymaps in multiples sources.
997
998 Overrides `helm-map' with the local map of current source. If no
999 map is found in current source, does nothing (keeps previous
1000 map).
1001
1002 (fn &optional MAP)
1003 (defalias 'helm--maybe-update-keymap #[256 "r\301 q\210\211\206\302\303\304 \"\211\205 r\305\306 !q\210\307BC\211)\262)\207" [minor-mode-overriding-map-alist helm-buffer-get assoc-default keymap helm-get-current-source window-buffer minibuffer-window helm--minor-mode] 4 (#$ . 120722)])
1004 (defvar helm--remap-mouse-mode-map (byte-code "\300 \301\302:\203@\262\303\304#\210A\262\202\266\211\207" [make-sparse-keymap ([mouse-1] [mouse-2] [mouse-3] [down-mouse-1] [down-mouse-2] [down-mouse-3] [drag-mouse-1] [drag-mouse-2] [drag-mouse-3] [double-mouse-1] [double-mouse-2] [double-mouse-3] [triple-mouse-1] [triple-mouse-2] [triple-mouse-3]) nil define-key ignore] 7))
1005 (byte-code "\300\301\302\303\304DD\305\306\307\310\311\312\313\314\315& \207" [custom-declare-variable helm--remap-mouse-mode funcall function #[0 "\300\207" [nil] 1] "Non-nil if Helm--Remap-Mouse mode is enabled.\nSee the `helm--remap-mouse-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--remap-mouse-mode'." :set custom-set-minor-mode :initialize custom-initialize-default :group helm :type boolean] 12)
1006 #@195 [INTERNAL] Prevent escaping helm minibuffer with mouse clicks.
1007 Do nothing when used outside of helm context.
1008
1009 WARNING: Do not use this mode yourself, it is internal to helm.
1010
1011 (fn &optional ARG)
1012 (defalias 'helm--remap-mouse-mode #[256 "\302 \303\304\305=\203\306\304!?\202\307!\310V\"\210\204\311\312\313\306\304!\203*\314\202+\315\"\210\316\317!\203U\320\304!\210\302 \203C\211\302 \232\203U\321\322\323\306\304!\203P\324\202Q\325#\266\210\326 \210\306\304!\207" [helm-alive-p helm--remap-mouse-mode-map current-message set-default helm--remap-mouse-mode toggle default-value prefix-numeric-value 0 nil run-hooks helm--remap-mouse-mode-hook helm--remap-mouse-mode-on-hook helm--remap-mouse-mode-off-hook called-interactively-p any customize-mark-as-set "" message "Helm--Remap-Mouse mode %sabled%s" "en" "dis" force-mode-line-update] 7 (#$ . 122167) (byte-code "\206\301C\207" [current-prefix-arg toggle] 1)])
1013 (defvar helm--remap-mouse-mode-hook nil)
1014 (byte-code "\301\302N\204\f\303\301\302\304#\210\305\306\307\307\211%\210\303\306\310\311#\207" [helm--remap-mouse-mode-map helm--remap-mouse-mode-hook variable-documentation put "Hook run after entering or leaving `helm--remap-mouse-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--remap-mouse-mode nil helm-only t] 6)
1015 #@43 Clean up the mess when helm exit or quit.
1016 (defalias 'helm-cleanup #[0 "\306\307!\210rq\210\310 \311\312\313\314\"\210\312\313\315\"\210\316\317!\210\n\203> \204>\320\304!\210\321 \322 \210 \2037\323!\210\202A\324!\210\202A\322 \210\210)\325 \210 \203q \326\211:\203o@\262\211A\262\242\262\327J\"L\210A\262\202O\266\330\331\326\"\210\332\333!\210\334\335!\210\336!\210\326\211!\"\326\337 \207" [helm-buffer cursor-type helm--buffer-in-new-frame-p helm--nested helm--last-frame-parameters helm-display-buffer-reuse-frame helm-log "start cleanup" selected-frame t remove-hook post-command-hook helm--maybe-update-keymap helm--update-header-line helm-compute-attr-in-sources cleanup make-local-variable helm--get-frame-parameters bury-buffer make-frame-invisible delete-frame helm-kill-async-processes nil delete helm-prevent-switching-other-window :enabled helm-log-run-hook helm-cleanup-hook helm-frame-or-window-configuration restore replace-buffer-in-windows helm-clean-up-minibuffer helm--temp-hooks helm-alive-p helm--force-updating-p] 8 (#$ . 123575)])
1017 #@32 Remove contents of minibuffer.
1018 (defalias 'helm-clean-up-minibuffer #[0 "\300 \301!?\205r\302!q\210\303 )\207" [minibuffer-window minibuffer-window-active-p window-buffer delete-minibuffer-contents] 3 (#$ . 124668)])
1019 #@27 Check minibuffer content.
1020 (defalias 'helm-check-minibuffer-input #[0 "\3031,\304\305\306 \206\307 !r\310\311\312\313\314!\315\"\316$\216\317@\320\"\210\321\322 !*\262)0\207\323\211\324 \210\325 \210\326\327!\207" [inhibit-quit quit-flag helm-quit (quit) nil internal--before-with-selected-window active-minibuffer-window minibuffer-window make-byte-code 0 "\301\300!\207" vconcat vector [internal--after-with-selected-window] 2 select-window norecord helm-check-new-input minibuffer-contents t exit-minibuffer keyboard-quit eval (ignore nil)] 8 (#$ . 124894)])
1021 #@73 Check INPUT string and update the helm buffer if necessary.
1022
1023 (fn INPUT)
1024 (defalias 'helm-check-new-input #[257 "\211\232?\205\211\303 \204\304\305\"\210\304\306    \"\210\307\310 \207" [helm-pattern helm-input helm--in-update helm-action-window helm-log "helm-pattern = %S" "helm-input = %S" t helm-update] 4 (#$ . 125470)])
1025 (defalias 'helm--reset-update-flag #[0 "\301\302\303#\207" [helm-exit-idle-delay run-with-idle-timer nil #[0 "\301\211\207" [helm--in-update nil] 2]] 4])
1026 #@70 Retrieve and return the list of candidates from SOURCE.
1027
1028 (fn SOURCE)
1029 (defalias 'helm-get-candidates #[257 "\302\303\"\302\304\"\211\305\306\3071#\203\310!\202\310\"0\202.\311\312\211\262\"\210\305\262\313!\203A\204A\314\315\"\210\202P\203P\313!\204P\316\317\"\210\313!\203Z\211\202\223\203p    ?\205\223$\202\223\211\203z\211\320\232\203~\305\202\223\211<\203\213\321\"\202\223#)\207" [inhibit-quit helm--ignore-errors assoc-default candidates candidates-process nil #[1027 "\300\301\302\303\"\206\f\203\304\202\305\203 \306!\202!\307%\207" [error "In `%s' source: `%s' %s %s" assoc-default name "\n" "must be a list, a symbol bound to a list, or a function returning a list" prin1-to-string #1=""] 11 "\n\n(fn SOURCE CANDIDATE-FN CANDIDATE-PROC &optional E)"] (debug error) helm-interpret-value helm-log "Error: %S" processp warn "Candidates function `%s' should be called in a `candidates-process' attribute" error "Candidates function `%s' should run a process" (#1#) helm-transform-candidates] 11 (#$ . 125963)])
1030 #@83 Same as `while-no-input' but without the `input-pending-p' test.
1031
1032 (fn &rest BODY)
1033 (defalias 'helm-while-no-input '(macro . #[128 "\300\301!\302\303\304D\305\306\304DDCBBED\207" [make-symbol "input" with-local-quit catch quote let throw-on-input] 9 (#$ . 127058)]))
1034 (byte-code "\300\301\302\303#\210\304\301\305\306#\300\207" [put helm-while-no-input edebug-form-spec t function-put lisp-indent-function 0] 4)
1035 #@118 Return the cached value of candidates for SOURCE.
1036 Cache the candidates if there is no cached value yet.
1037
1038 (fn SOURCE)
1039 (defalias 'helm-get-cached-candidates #[257 "\303\304\"\305\"\303\306\"\211\211\203\211\307\310!\210\202Q\307\311!\210\312!\313!\203B\211\314\315\316B\317\320BD\"B\nB\321\322\"\210\323\262\202N\324\236\204N\325#\210\211\262\262)\207" [helm-candidate-cache inhibit-quit helm-async-processes assoc-default name gethash candidates-process helm-log "Use cached candidates" "No cached candidates, calculate candidates" helm-get-candidates processp append item-count 0 incomplete-line "" set-process-filter helm-output-filter nil volatile puthash] 11 (#$ . 127479)])
1040 #@94 Execute `candidate-transformer' function(s) on CANDIDATES in SOURCE.
1041
1042 (fn CANDIDATES SOURCE)
1043 (defalias 'helm-process-candidate-transformer #[514 "\300\301\"\211\203\302#\202\207" [assoc-default candidate-transformer helm-apply-functions-from-source] 7 (#$ . 128187)])
1044 #@103 Execute `filtered-candidate-transformer' function(s) on CANDIDATES in SOURCE.
1045
1046 (fn CANDIDATES SOURCE)
1047 (defalias 'helm-process-filtered-candidate-transformer #[514 "\300\301\"\211\203\302$\202\207" [assoc-default filtered-candidate-transformer helm-apply-functions-from-source] 8 (#$ . 128471)])
1048 #@102 Execute `filter-one-by-one' function(s) on real value of CANDIDATE in SOURCE.
1049
1050 (fn CANDIDATE SOURCE)
1051 (defalias 'helm--maybe-process-filter-one-by-one-candidate '(macro . #[514 "\300\301\302E\303\304\305\306D\307DFDC\305\310\311\312\313\314\315\316\317\320BB\321\322\257\n\317    \323BBFEF\207" [helm-aif assoc-default 'filter-one-by-one let real if consp cdr (and (listp it) (not (functionp it))) cl-loop for f in it do setq ((funcall f real)) finally return ((funcall it real))] 18 (#$ . 128783)]))
1052 #@152 Process the CANDIDATES with the `filter-one-by-one' function in SOURCE.
1053 Return CANDIDATES unchanged when pattern is not empty.
1054
1055 (fn CANDIDATES SOURCE)
1056 (defalias 'helm--initialize-one-by-one-candidates #[514 "\301\230\205\n\302\303\"\211\203v\304\211:\203o@\262\302\303\"\211\203a:\203-A\202.<\203V\305!\204V\304:\203P@\262\211!\262A\262\202;\266\202\202\\!\211\262\262\202b\262B\262A\262\202\211\237\266\203\202w\207" [helm-pattern "" assoc-default filter-one-by-one nil functionp] 12 (#$ . 129300)])
1057 #@230 Execute `filtered-candidate-transformer' function(s) on CANDIDATES in SOURCE.
1058 When PROCESS-P is non-`nil' execute `filtered-candidate-transformer'
1059 functions if some, otherwise return CANDIDATES.
1060
1061 (fn CANDIDATES SOURCE PROCESS-P)
1062 (defalias 'helm-process-filtered-candidate-transformer-maybe #[771 "\211\203    \300\"\207\207" [helm-process-filtered-candidate-transformer] 6 (#$ . 129856)])
1063 #@87 Execute real-to-display function on all CANDIDATES of SOURCE.
1064
1065 (fn CANDIDATES SOURCE)
1066 (defalias 'helm-process-real-to-display #[514 "\300\301\"\211\203!\302\303\304\305\306\307\310!\311\"\312\313%$\211\262\202\"\207" [assoc-default real-to-display helm-apply-functions-from-source mapcar make-byte-code 257 "\211:\203 \300A!AB\207\300!B\207" vconcat vector [] 3 "\n\n(fn CAND)"] 12 (#$ . 130252)])
1067 #@531 Transform CANDIDATES from SOURCE according to candidate transformers.
1068
1069 When PROCESS-P is non-`nil' executes the
1070 `filtered-candidate-transformer' functions, otherwise processes
1071 `candidate-transformer' functions only,
1072 `filtered-candidate-transformer' functions being processed later,
1073 after the candidates have been narrowed by
1074 `helm-candidate-number-limit', see `helm-compute-matches'.  When
1075 `real-to-display' attribute is present, execute its functions on all
1076 maybe filtered CANDIDATES.
1077
1078 (fn CANDIDATES SOURCE &optional PROCESS-P)
1079 (defalias 'helm-transform-candidates #[770 "\300\301\302\"#\"\207" [helm-process-real-to-display helm-process-filtered-candidate-transformer-maybe helm-process-candidate-transformer] 8 (#$ . 130672)])
1080 #@265 Apply candidate-number-limit attribute value.
1081 This overrides `helm-candidate-number-limit' variable.
1082
1083 e.g:
1084 If (candidate-number-limit) is in SOURCE, show all candidates in SOURCE.
1085 If (candidate-number-limit . 123) is in SOURCE limit candidate to 123.
1086
1087 (fn SOURCE)
1088 (defalias 'helm-candidate-number-limit #[257 "\301\236\211\203\211A\211\205\302!\262\206\303\202\206\303\207" [helm-candidate-number-limit candidate-number-limit helm-interpret-value 99999999] 5 (#$ . 131415)])
1089 #@132 Get searched display part from CANDIDATE.
1090 CANDIDATE is either a string, a symbol, or a (DISPLAY . REAL)
1091 cons cell.
1092
1093 (fn CANDIDATE)
1094 (defalias 'helm-candidate-get-display #[257 "\211\242\206\2119\203\300!\207\211\247\203\301!\207\211\207" [symbol-name number-to-string] 3 (#$ . 131911)])
1095 #@94 Execute pattern-transformer attribute function(s) on PATTERN in SOURCE.
1096
1097 (fn PATTERN SOURCE)
1098 (defalias 'helm-process-pattern-transformer #[514 "\300\301\"\211\203\302#\202\207" [assoc-default pattern-transformer helm-apply-functions-from-source] 7 (#$ . 132211)])
1099 #@124 Check if `helm-pattern' match CANDIDATE.
1100 Default function to match candidates according to `helm-pattern'.
1101
1102 (fn CANDIDATE)
1103 (defalias 'helm-default-match-function #[257 "\301\"\207" [helm-pattern string-match] 4 (#$ . 132491)])
1104 (defvar helm--fuzzy-regexp-cache (make-hash-table :test 'eq))
1105 (defalias 'helm--fuzzy-match-maybe-set-pattern #[0 "\205U\303\304    \"\203\305\202\306\307\n!\210\303\310    \"\203:\311\301    G\312V\2034    \312\313O!    \312\314O!D\2025\315\n#\202S\311\301    G\316V\203P    \316\312O!    !D\202Q\317\n#\262\207" [helm--in-fuzzy helm-pattern helm--fuzzy-regexp-cache string-match "\\`\\^" identity helm--mapconcat-pattern clrhash "\\`!" puthash 1 2 nil (#1="" #1#) 0 (#1# #1#)] 8])
1106 #@132 Check if `helm-pattern' fuzzy matches CANDIDATE.
1107 This function is used with sources built with `helm-source-sync'.
1108
1109 (fn CANDIDATE)
1110 (defalias 'helm-fuzzy-match #[257 "\302\303\"?\205#\304\300    \"A@\302\305\"\203\302\"?\202!\302\"\262\207" [helm-pattern helm--fuzzy-regexp-cache string-match " " gethash "\\`!"] 5 (#$ . 133202)])
1111 #@94 Same as `helm-fuzzy-match' but for sources built with
1112 `helm-source-in-buffer'.
1113
1114 (fn PATTERN)
1115 (defalias 'helm-fuzzy-search #[257 "\302\303\"?\205a\304\300    \"\211@A@\302\305\"\203#\306 \307 D\310y\210\202_\311\211\312\311\313\311\312#\203W\306 \262\307 \262b\210\313\312#\203Pb\210\312\262\311\211\262\202Tb\210\312\204'?\205]\211\266\204\266\203\207" [helm-pattern helm--fuzzy-regexp-cache string-match " " gethash "\\`!" point-at-bol point-at-eol 1 nil t re-search-forward] 12 (#$ . 133546)])
1116 #@317 Assign score to CANDIDATE according to PATTERN.
1117 Score is calculated for contiguous matches found with PATTERN.
1118 Score is 100 (maximum) if PATTERN is fully matched in CANDIDATE.
1119 One point bonus is added to score when PATTERN prefix matches
1120 CANDIDATE. Contiguous matches get a coefficient of 2.
1121
1122 (fn CANDIDATE PATTERN)
1123 (defalias 'helm-score-candidate-for-pattern #[514 ";\203    \202\f\300!\301\302\303#\304:\203.A\203'@A@DB\262A\262\202\211\237\266\203\301\302\303#\304:\203TA\203M@A@DB\262A\262\2029\211\237\266\203@@\232\203d\305\202v\204u\306\305O\230\203u\307\202v\306\310\311\312!\313Q\"\205\204\314\206\222\315\316\317$G\320_\\\207" [helm-stringify split-string "" t nil 1 0 150 string-match "\\<" regexp-quote "\\>" 100 cl-nintersection :test equal 2] 13 (#$ . 134069)])
1124 #@485 The transformer for sorting candidates in fuzzy matching.
1125 It sorts on the display part by default.
1126
1127 Sorts CANDIDATES by their scores as calculated by
1128 `helm-score-candidate-for-pattern'.  Set USE-REAL to non-`nil' to
1129 sort on the real part.  If BASENAME is non-nil assume we are
1130 completing filenames and sort on basename of candidates.  If
1131 PRESERVE-TIE-ORDER is nil, ties in scores are sorted by length of
1132 the candidates.
1133
1134 (fn CANDIDATES &optional USE-REAL BASENAME PRESERVE-TIE-ORDER)
1135 (defalias 'helm-fuzzy-matching-default-sort-fn-1 #[1025 "\301\230\203\207\302\303\304\"\305\306\307\310\311\312\n\n\n\n$\313\"\314\315%\"\207" [helm-pattern "" make-hash-table :test equal sort make-byte-code 514 "\300\203\305\202    \306\301\203:\203\307!!\2020:\203%\211!\2020\301\203/\307!\2020\301\203A:\203A\307!!\202W:\203L!\202W\301\203V\307!\202W\310\303\"\206k\311\312\f\"\313!GD\303#\310\303\"\206\311\312\f\"\313!GD\303#A@A@@@U\203\232\302?\205\235W\202\235V\207" vconcat vector [helm-pattern cdr car helm-basename gethash puthash helm-score-candidate-for-pattern helm-stringify] 13 "\n\n(fn S1 S2)"] 16 (#$ . 134900)])
1136 #@104 Default `filtered-candidate-transformer' to sort candidates in fuzzy matching.
1137
1138 (fn CANDIDATES SOURCE)
1139 (defalias 'helm-fuzzy-matching-default-sort-fn #[514 "\300!\207" [helm-fuzzy-matching-default-sort-fn-1] 4 (#$ . 136085)])
1140 #@329 `filtered-candidate-transformer' to sort candidates in fuzzy matching, preserving order of ties.
1141 The default function, `helm-fuzzy-matching-default-sort-fn',
1142 sorts ties by length, shortest first.  This function may be more
1143 useful when the order of the candidates is meaningful, e.g. with
1144 `recentf-list'.
1145
1146 (fn CANDIDATES SOURCE)
1147 (defalias 'helm-fuzzy-matching-sort-fn-preserve-ties-order #[514 "\300\301\302#\207" [helm-fuzzy-matching-default-sort-fn-1 nil t] 6 (#$ . 136319)])
1148 #@16 
1149
1150 (fn PATTERN)
1151 (defalias 'helm--maybe-get-migemo-pattern #[257 "\203 \302    \"\206\f\211\207" [helm-migemo-mode helm-mm--previous-migemo-info assoc-default] 4 (#$ . 136803)])
1152 #@175 The default function to highlight matches in fuzzy matching.
1153 Highlight elements in CANDIDATE matching `helm-pattern' according
1154 to the matching method in use.
1155
1156 (fn CANDIDATE)
1157 (defalias 'helm-fuzzy-default-highlight-match #[257 "\302\230\203\207\211:\205 \211\303\203@\202!A\304!\305\306\307#\230?\205.\211\211\262\262\306\310\211\203\\\311\312!\"\203\\\306\211\224O\262\306\225GO\262\306\224\306\225O\262\313\314!r\211q\210\315\306\316\317\320!\321\"\322$\216\323\206v\324\310#c\210eb\210\3251\326\310\327#\203\232T\262\330\306\224\306\225\331#\210\202\202\306U\205\332\310\327\311#)\266\203\211\203\272\333\304\334!\"\202\277\335\302\327#\211\310:\205\376@\262\203\347\326\310\327#\203\341\330\306\224\306\225\331#\210\202\316eb\210\202\367\336\310\327#\203\367\330\306\224\306\225\331#\210A\262\202\301\266\2040\202\210\202    \210\203\337 Q\202\337 \262*\210\203'B\202)\207" [helm-pattern inhibit-changing-match-data "" helm-stringify helm--maybe-get-migemo-pattern get-text-property 0 match-part nil string-match regexp-quote generate-new-buffer " *temp*" make-byte-code "\301\300!\205    \302\300!\207" vconcat vector [buffer-name kill-buffer] 2 propertize read-only (invalid-regexp) re-search-forward t helm-add-face-text-properties helm-match " " mapcar helm-mm-split-pattern split-string search-forward buffer-string] 18 (#$ . 136987)])
1158 #@139 The filtered-candidate-transformer function to highlight fuzzy matches.
1159 See `helm-fuzzy-default-highlight-match'.
1160
1161 (fn CANDIDATES SOURCE)
1162 (defalias 'helm-fuzzy-highlight-matches #[514 "\301\211:\203@\262!B\262A\262\202\211\237\207" [helm-fuzzy-matching-highlight-fn nil] 7 (#$ . 138429)])
1163 #@15 
1164
1165 (fn SOURCE)
1166 (defalias 'helm-match-functions #[257 "\300\301\"\206\300\302\"\206\303\211<\203\304!\204\211\202 \211C\207" [assoc-default match match-strict helm-default-match-function functionp] 4 (#$ . 138738)])
1167 #@15 
1168
1169 (fn SOURCE)
1170 (defalias 'helm-search-functions #[257 "\300\301\"\211<\203\302!\204\211\202\211C\207" [assoc-default search functionp] 4 (#$ . 138970)])
1171 #@155 Return the first N elements of SEQ if SEQ is longer than N.
1172 It is used for narrowing list of candidates to the
1173 `helm-candidate-number-limit'.
1174
1175 (fn SEQ N)
1176 (defalias 'helm-take-first-elements #[514 "GV\203 \300\301#\207\207" [cl-subseq 0] 6 (#$ . 139137)])
1177 #@50 
1178
1179 (fn CANDS MATCHFNS MATCH-PART-FN LIMIT SOURCE)
1180 (defalias 'helm-match-from-candidates #[1285 "\3011.\302\303\304\"\305\236\306 \307\310\311\211:\203'@\262    W\203 \311\211\211\211\211\211:\203@\262\312\"\262 W\203\313!\262\314\307\315#\262\205b\206b!\262\f\203t\203t U\204x\204 \3161\210\206\203!0\202\212\210\311\203 \317\f#\210\320\321\"\211\203\332:\203\253A\202\255<\203\324\322!\204\324\311:\203\317@\262\211!\262\nA\262\202\272\266\202\331!\262\210\210 T\262\f\203 \203\204:\203\375\323\315#AB\202\323\315#\202B\262A\262\202,\211\237\266\207\237\244\262T\262A\262\202\211\237)\266\2070\207\211@\324=\204A\325\326\320\327\"@A$\210\311\207" [case-fold-search (debug error) make-hash-table :test equal allow-dups helm-set-case-fold-search 0 1 nil gethash helm-candidate-get-display get-text-property match-part (invalid-regexp) puthash assoc-default filter-one-by-one functionp propertize invalid-regexp helm-log-error "helm-match-from-candidates in source `%s': %s %s" name] 25 (#$ . 139404)])
1181 #@52 Start computing candidates in SOURCE.
1182
1183 (fn SOURCE)
1184 (defalias 'helm-compute-matches #[257 "r\303!\304\305\"\304\306\"\307!\310\"\311 \210\312\313\232\204+\314!\2039\315\316\317    !\"\"\202F\320\317! %\"+\266\205)\207" [helm-pattern helm-current-source helm--source-name helm-match-functions assoc-default match-part name helm-candidate-number-limit helm-process-pattern-transformer helm--fuzzy-match-maybe-set-pattern helm-process-filtered-candidate-transformer "" helm--candidates-in-buffer-p helm--initialize-one-by-one-candidates helm-take-first-elements helm-get-cached-candidates helm-match-from-candidates] 13 (#$ . 140545)])
1185 #@17 
1186
1187 (fn MATCHFNS)
1188 (defalias 'helm--candidates-in-buffer-p #[257 "\211\300\232\207" [(identity)] 3 (#$ . 141213)])
1189 #@77 Display MATCHES from SOURCE according to its settings.
1190
1191 (fn SOURCE MATCHES)
1192 (defalias 'helm-render-source #[514 "\300\301\302\303\"\"\210\211\205_\304!\210\305`\306\236?\305\307:\203Q@\262\2031\310\311 $\210\202F\203;\312 \210\202>\313\262\310\311 $\210A\262\211T\262\202\204\\\314`\315\313$\210\305\266\206\207" [helm-log "Source name = %S" assoc-default name helm-insert-header-from-source nil multiline 1 helm-insert-match insert helm-insert-candidate-separator t put-text-property helm-multiline] 13 (#$ . 141331)])
1193 #@94 Wrap BODY in `helm-while-no-input' unless initializing a remote connection.
1194
1195 (fn &rest BODY)
1196 (defalias 'helm--maybe-use-while-no-input '(macro . #[128 "\300\301\302\303\304\305BD\"BBD\207" [progn if (and (file-remote-p helm-pattern) (not (file-remote-p helm-pattern nil t))) append (helm-log "Using here `helm-while-no-input'") helm-while-no-input] 9 (#$ . 141887)]))
1197 #@400 Returns a list of matches for each source in SRC-LIST.
1198
1199 The resulting value is a list of lists, e.g ((a b c) (c d) (e f)) or
1200 (nil nil nil) for three sources when no matches found, however this
1201 function can be interrupted by new input and in this case returns a
1202 plain `nil' i.e not (nil), in this case `helm-update' is not rendering
1203 the source, keeping previous candidates in display.
1204
1205 (fn SRC-LIST)
1206 (defalias 'helm--collect-matches #[257 "\304!\203/\304\305\306#\204/\211\305\211:\203(@\262\307!B\262A\262\202\211\237\266\203\202j\310\311!\210\3121d\305\3132_\313\211\305\211:\203Y@\262\307!B\262A\262\202B\211\237\266\203)0)0\202j\210\306\314\315!\211\306=?\205r\211\207" [helm-pattern inhibit-quit throw-on-input quit-flag file-remote-p nil t helm-compute-matches helm-log "Using here `helm-while-no-input'" (quit) #1=#:input eval (ignore nil)] 6 (#$ . 142265)])
1207 #@179 Used to set the value of `case-fold-search' in helm.
1208 Return t or nil depending on the value of `helm-case-fold-search'
1209 and `helm-pattern'.
1210
1211 (fn &optional (PATTERN helm-pattern))
1212 (defalias 'helm-set-case-fold-search #[128 "\211\203 \211A\262\242\202\203\302\303\304GTD\"\210\305\306 \236\211\203(\211A\202)    \262\307\310\"\2038\311!\2029\312!)\266\202\207" [helm-pattern helm-case-fold-search signal wrong-number-of-arguments helm-set-case-fold-search case-fold-search helm-get-current-source string-match "[~/]*" helm-basename helm-set-case-fold-search-1] 6 (#$ . 143170)])
1213 #@16 
1214
1215 (fn PATTERN)
1216 (defalias 'helm-set-case-fold-search-1 #[257 "\302\267\202\303\304\305\"?\205\306)\207\207" [helm-case-fold-search case-fold-search #s(hash-table size 1 test eql rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (smart 6)) nil string-match "[[:upper:]]" t] 4 (#$ . 143770)])
1217 #@449 Update candidates list in `helm-buffer' based on `helm-pattern'.
1218 Argument PRESELECT is a string or regexp used to move selection
1219 to a particular place after finishing update.
1220 When SOURCE is provided update mode-line for this source, otherwise
1221 the current source will be used.
1222 Argument CANDIDATES when provided is used to redisplay these candidates
1223 without recomputing them, it should be a list of lists.
1224
1225 (fn &optional PRESELECT SOURCE CANDIDATES)
1226 (defalias 'helm-update #[768 "\305\306!\210\307 \210r\310 q\210\205    ?\205\311 \205\312 ?)\203=\313\311 !r\314\315\316\317\320!\321\"\322$\216\323@\324\"\210\325 \210*\210r\310 q\210\326\303!\210\n\314\315\327\317\320\"\330\"\331$\216\332\211\f\332\211:\203w@\262\333!\203pB\262A\262\202\\\211\237\266\203\262\204\204\334 \210\305\335\206\215\336!\211\262\"\210\211\203\307\334 \210\332\332:\203\277@\262:\203\277@\262\337\"\210A\262A\262\202\235\266\340 \210\341 \210\266)\305\342!)\207" [helm-onewindow-p helm--buffer-in-new-frame-p helm-pattern helm-input-local helm-sources helm-log "Start updating" helm-kill-async-processes helm-buffer-get helm-window helm-action-window internal--before-with-selected-window make-byte-code 0 "\301\300!\207" vconcat vector [internal--after-with-selected-window] 2 select-window norecord delete-other-windows make-local-variable "\301\206\303 \304\236\204\211\203\305\306\"\210\307\310!\210\210\300\203N\311\312\300\"\210\313 \203I\314\313 !r\315\316\317\320\321!\322\"\323$\216\324@\325\"\210\326\300\301\"\210*\210\202N\326\300\301\"\210\327\211\207" [helm--force-updating-p helm-get-current-source candidates-process helm-display-mode-line force helm-log-run-hook helm-after-update-hook helm-log "Update preselect candidate %s" helm-window internal--before-with-selected-window make-byte-code 0 "\301\300!\207" vconcat vector [internal--after-with-selected-window] 2 select-window norecord helm-preselect nil] 7 nil helm-update-source-p erase-buffer "Matches: %S" helm--collect-matches helm-render-source helm--update-move-first-line helm--reset-update-flag "end update"] 12 (#$ . 144081)])
1227 #@52 Whether SOURCE needs updating or not.
1228
1229 (fn SOURCE)
1230 (defalias 'helm-update-source-p #[257 "\304\305\236\203\306\307\310#\202!    \203\311\312\"    \235\205O\211\313\236\211\203/\211A\2060\314\2020\315\262Y\205O\316\317\320\321#)\266\203?\205O\306\322\307# \235?\207" [helm-pattern helm-source-filter inhibit-changing-match-data helm-update-blacklist-regexps string-width multimatch replace-regexp-in-string " " "" assoc-default name requires-pattern 1 0 "\\`[*]+\\'" nil t string-match "\\s\\ "] 9 (#$ . 146235)])
1231 #@35 Goto first line of `helm-buffer'.
1232 (defalias 'helm--update-move-first-line #[0 "eb\210\300 \203\301\302\303\304\305\306\307&\207\310y\210\311 \210\312 \207" [helm-window helm-move-selection-common :where line :direction next :follow t 1 helm-mark-current-line helm-follow-execute-persistent-action-maybe] 7 (#$ . 146772)])
1233 #@578 Force recalculation and update of candidates.
1234
1235 Unlike `helm-update', this function re-evaluates `init' and
1236 `update' attributes when present; also `helm-candidate-cache' is
1237 not reinitialized, meaning candidates are not recomputed unless
1238 pattern has changed.
1239
1240 Selection is preserved to current candidate if it still exists after
1241 update or moved to PRESELECT, if specified.
1242 The helm-window is recentered at the end when RECENTER is `t'
1243 which is the default, RECENTER can be also a number in this case it is
1244 passed as argument to `recenter'.
1245
1246 (fn &optional PRESELECT (RECENTER t))
1247 (defalias 'helm-force-update #[384 "\211\203 \211A\262\242\202\302\203\303\304\305\306G\\D\"\210r\307 q\210\310 \311\312\302#\211\205/\313!\262\302\314\315    \"\210\316\206>\"\210\317 \205l\205l\320\317 !r\321\322\323\324\325!\326\"\306$\216\327@\330\"\210\331\247\205h!*\262\266\202)\207" [helm--force-updating-p helm-sources t signal wrong-number-of-arguments helm-force-update 2 helm-buffer-get helm-get-current-source helm-get-selection nil regexp-quote mapc helm-force-update--reinit helm-update helm-window internal--before-with-selected-window make-byte-code 0 "\301\300!\207" vconcat vector [internal--after-with-selected-window] select-window norecord recenter] 12 (#$ . 147104)])
1248 #@47 Force recalculation and update of candidates.
1249 (defalias 'helm-refresh #[0 "\203\301 \207\302\303!\207" [helm-alive-p helm-force-update error "Running helm command outside of context"] 2 (#$ . 148402) nil])
1250 (put 'helm-refresh 'helm-only t)
1251 #@70 Reinit SOURCE by calling its update and init functions.
1252
1253 (fn SOURCE)
1254 (defalias 'helm-force-update--reinit #[257 "\301\302\303\304\"\"!?\205\305\306\"\211\203\307!\210\210\310\211\2036\211@\302\"\211\203.\305\"\210\210A\266\202\202\210\311!\207" [helm--candidate-buffer-alist bufferp assoc-default helm-attr name helm-apply-functions-from-source helm-candidate-buffer kill-buffer (update init) helm-remove-candidate-cache] 7 (#$ . 148650)])
1255 #@875 Redisplay candidates in `helm-buffer'.
1256
1257 Candidates are not recomputed, only redisplayed after modifying the
1258 whole list of candidates in each source with functions found in
1259 `redisplay' attribute of current source.  Note that candidates are
1260 redisplayed with their display part with all properties included only.
1261 This function is used in async sources to transform the whole list of
1262 candidates from the sentinel functions (i.e when all candidates have
1263 been computed) because other filters like `candidate-transformer' are
1264 modifying only each chunk of candidates from process-filter as they
1265 come in and not the whole list.  Use this for e.g sorting the whole
1266 list of async candidates once computed.
1267 Note: To ensure redisplay is done in async sources after helm
1268 reached `candidate-number-limit' you will have also to redisplay your
1269 candidates from `helm-async-outer-limit-hook'.
1270 (defalias 'helm-redisplay-buffer #[0 "r\301 q\210\302\303eb\210\304\305\306  \305\211\211:\203[@\262\307\310\"\262\305\311\305:\203G@\262\307\310\"\230\211\262?\211\262\203GA\262\202'\266\203\205P    !B\262A\262\202\211\237\266\205#\266\202)\207" [helm-sources helm-buffer-get #[257 "\302\303\"\304\211\211\305!\210\306 \210\307\3102V\211\205U\3111-\312 ?\205)\313\304\314#0\202/\210\304\211\203N\211B\262\212\315y\210\316\307!)\203H\317\310\304\"\210\306 \210\202Q\304\262\210\2020\266\320\237#*\207" [helm-allow-mouse helm-move-to-line-cycle-in-source assoc-default redisplay nil helm-goto-source helm-next-line t --cl-block-nil-- (debug error) helm-pos-header-line-p helm-get-selection withprop 1 helm-end-of-source-p throw helm-apply-functions-from-source] 8 "\n\n(fn SOURCE)"] #[0 "\301\211\302\30326\211\2055\304 \211\203.\211B\262\212\305 \210\306y\210m)\203(\307\303\301\"\210\310 \210\2021\301\262\210\2020\266\211\237)\207" [helm-move-to-line-cycle-in-source nil t --cl-block-nil-- helm-get-current-source helm-move--end-of-source 1 throw helm-next-source] 6] helm-update nil helm-get-current-source assoc-default name t] 18 (#$ . 149115)])
1271 #@57 Remove SOURCE from `helm-candidate-cache'.
1272
1273 (fn SOURCE)
1274 (defalias 'helm-remove-candidate-cache #[257 "\301\302\303\"\"\207" [helm-candidate-cache remhash assoc-default name] 5 (#$ . 151208)])
1275 #@353 Insert MATCH into `helm-buffer' with INSERT-FUNCTION.
1276 If MATCH is a cons cell then insert the car as display with
1277 the cdr stored as real value in a `helm-realvalue' text property.
1278 Args NUM and SOURCE are also stored as text property when specified as
1279 respectively `helm-cand-num' and `helm-cur-source'.
1280
1281 (fn MATCH INSERT-FUNCTION &optional NUM SOURCE)
1282 (defalias 'helm-insert-match #[1026 "\302`!\303!\243\205\304 \305\306;\205\246G\307U?\205\246!\210\310 \262\311\312#\210\313\314\306$\210\315\316\"\204L\203L\313\316$\210\203\206\317\320\321#\210\317\322\323#\210\317\324\325#\210\326\327\330\331\332\315\332\"\211;\203\211\211\333P\262\202\200\334\262\257#\210\203\224\313\335 $\210\203\242\313\336\n$\210\337!)\207" [helm-allow-mouse inhibit-read-only point-at-bol helm-candidate-get-display make-sparse-keymap t nil 0 point-at-eol remove-text-properties (keymap nil) put-text-property read-only get-text-property helm-realvalue define-key [mouse-1] helm-mouse-select-candidate [mouse-2] ignore [mouse-3] helm-select-action add-text-properties mouse-face highlight keymap help-echo "\nmouse-1: select candidate\nmouse-3: menu actions" "mouse-1: select candidate\nmouse-3: menu actions" helm-cand-num helm-cur-source "\n"] 22 (#$ . 151409)])
1283 (defalias 'helm--mouse-reset-selection-help-echo #[0 "\302\303    !\304    !\305\306\"\211;\205$\307\310\"\205$\311\306\312\313\302\211$$)\207" [inhibit-read-only helm-selection-overlay t overlay-start overlay-end get-text-property help-echo string-match "mouse-2: execute action" put-text-property replace-match "mouse-1: select candidate"] 12])
1284 #@12 
1285
1286 (fn POS)
1287 (defalias 'helm--bind-mouse-for-selection #[257 "\303\304\305\"\211\205=\306\307\310#\210\311    \312\n!\313\304\313\"\211\2039\211;\2035\314\315\"\2035\316\317\303\211$\202:\320\202:\320\262$)\207" [inhibit-read-only helm-selection-point helm-selection-overlay t get-text-property keymap define-key [mouse-2] helm-maybe-exit-minibuffer put-text-property overlay-end help-echo string-match "mouse-1: select candidate" replace-match "mouse-2: execute action" "mouse-2: execute action\nmouse-3: menu actions"] 13 (#$ . 153074)])
1288 #@14 
1289
1290 (fn EVENT)
1291 (defalias 'helm-mouse-select-candidate #[257 "\301!\211@\262\302\301!!\303\304\305\306\307!\310\"\311$\216r\312!q\210\313 \2034\314\315!\"\2034\316\317!\210\202K\320 \210\211b\210\321 \203K\322 \206F\323 b\210\324y\210\325 \210\326 *\207" [helm-buffer event-end posn-point make-byte-code 0 "\301\302 !\210\303\300!q\207" vconcat vector [select-window minibuffer-window window-buffer] 2 window-buffer helm-action-window eql get-buffer-window user-error "selection in helm-window not available while selecting action" helm--mouse-reset-selection-help-echo helm-pos-multiline-p helm-get-previous-candidate-separator-pos helm-get-previous-header-pos 1 helm-mark-current-line helm-follow-execute-persistent-action-maybe] 9 (#$ . 153630) "e"])
1292 (put 'helm-mouse-select-candidate 'helm-only t)
1293 #@159 Insert SOURCE name in `helm-buffer' header.
1294 Maybe insert, by overlay, additional info after the source name
1295 if SOURCE has header-name attribute.
1296
1297 (fn SOURCE)
1298 (defalias 'helm-insert-header-from-source #[257 "\300\301\"\302\300\303\"\211\205\304#\262\"\207" [assoc-default name helm-insert-header header-name helm-apply-functions-from-source] 9 (#$ . 154449)])
1299 #@206 Insert header of source NAME into the helm buffer.
1300 If DISPLAY-STRING is non-`nil' and a string value then display
1301 this additional info after the source name by overlay.
1302
1303 (fn NAME &optional DISPLAY-STRING)
1304 (defalias 'helm-insert-header #[513 "o\204`\300c\210\301`\302\303$\266`c\210\301\304 \305 \306\303$\210\203,\307\310\304 \305 \"\311#\210\300c\210\301`\312\313$\207" ["\n" put-text-property helm-header-separator t point-at-bol point-at-eol helm-header overlay-put make-overlay display face helm-source-header] 8 (#$ . 154825)])
1305 #@54 Insert separator of candidates into the helm buffer.
1306 (defalias 'helm-insert-candidate-separator #[0 "\301\302\303#c\210\304\305 \306 \300\307$\210\310c\207" [helm-candidate-separator propertize face helm-separator put-text-property point-at-bol point-at-eol t "\n"] 5 (#$ . 155373)])
1307 #@83 The `process-filter' function for helm async sources.
1308
1309 (fn PROCESS OUTPUT-STRING)
1310 (defalias 'helm-output-filter #[514 "\3041\305\306\307    \"\")0\207\310\211\311 \210\312 \210\313\314!\207" [inhibit-quit helm-async-processes quit-flag helm-quit (quit) nil helm-output-filter-1 assoc t exit-minibuffer keyboard-quit eval (ignore nil)] 7 (#$ . 155664)])
1311 #@36 
1312
1313 (fn PROCESS-ASSOC OUTPUT-STRING)
1314 (defalias 'helm-output-filter-1 #[514 "\301\302\"\210rq\210A\212\303\304\"\211\203\211b\210\202,db\210\305!\210\306\304\307 BC\"\241\210\210\310@\311!$\210)\210\312 )\207" [helm-buffer helm-log "output-string = %S" assoc-default insertion-marker helm-insert-header-from-source append point-marker helm-output-filter--process-source helm-candidate-number-limit helm-output-filter--post-process] 9 (#$ . 156027)])
1315 #@43 
1316
1317 (fn PROCESS OUTPUT-STRING SOURCE LIMIT)
1318 (defalias 'helm-output-filter--process-source #[1028 "\3002\274\301\302\303\304\"\305\236\"\306#\211\205\271\211@\307\310\"\211\203]:\203)A\202*<\203R\311!\204R\312:\203L@\262\211!\262A\262\2027\266\202\202X!\211\262\262\202^\262\262\313\236\203\204`\314 \210\315\316\317\236AT$\210\320`\321\306$\266\202\221\315\316\317\236AT$\210\317\236\211AT\241\266\307\317\"Y\203\262\322!\210\323\324!\210\325\300\312\"\210A\266\202\202\2620\207" [--cl-block-nil-- helm-transform-candidates helm-output-filter--collect-candidates split-string "\n" incomplete-line t assoc-default filter-one-by-one functionp nil multiline helm-insert-candidate-separator helm-insert-match insert-before-markers item-count put-text-property helm-multiline helm-kill-async-process helm-log-run-hook helm-async-outer-limit-hook throw] 12 (#$ . 156494)])
1319 #@101 Collect LINES maybe completing the truncated first and last lines.
1320
1321 (fn LINES INCOMPLETE-LINE-INFO)
1322 (defalias 'helm-output-filter--collect-candidates #[514 "\300\301A\"\210\302\303\211\211:\2036@\262A\211\203%\211P\303\241\210\202&\262\262B\262A\262\202 \241\210\211\237\266\204!\207" [helm-log "incomplete-line-info = %S" butlast nil] 11 (#$ . 157429)])
1323 (defalias 'helm-output-filter--post-process #[0 "\301\302\"\211\2059\303!r\304\305\306\307\310!\311\"\312$\216\313@\314\"\210\315\316!\210\317\320\321\"\210\322\323!\210\324\325 !\210\326\327!\210\330 *\262\207" [helm-buffer get-buffer-window visible internal--before-with-selected-window make-byte-code 0 "\301\300!\207" vconcat vector [internal--after-with-selected-window] 2 select-window norecord helm-skip-noncandidate-line next helm-mark-current-line nil nomouse helm-follow-execute-persistent-action-maybe 0.5 helm-display-mode-line helm-get-current-source helm-log-run-hook helm-after-update-hook helm--reset-update-flag] 8])
1324 #@131 Defer remote processes in sentinels.
1325 Meant to be called at the beginning of a sentinel process
1326 function.
1327
1328 (fn PROCESS EVENT FILE)
1329 (defalias 'helm-process-deferred-sentinel-hook #[771 "\302U?\205\"\303\230\205\"\304!\204    \205\"\305\306!\210\307\310\311#\207" [helm-tramp-connection-min-time-diff helm-suspend-update-flag 0 "finished\n" file-remote-p t helm-kill-async-process run-at-time nil #[0 "\205\302\303 \207" [helm-alive-p helm-suspend-update-flag nil helm-check-minibuffer-input] 1]] 7 (#$ . 158454)])
1330 #@71 Kill all asynchronous processes registered in `helm-async-processes'.
1331 (defalias 'helm-kill-async-processes #[0 "\205\301@@!\210A\211\204\302\207" [helm-async-processes helm-kill-async-process nil] 3 (#$ . 158984)])
1332 #@82 Stop output from `helm-output-filter' and kill associated PROCESS.
1333
1334 (fn PROCESS)
1335 (defalias 'helm-kill-async-process #[257 "\300\301\"\210\302!\207" [set-process-filter nil delete-process] 4 (#$ . 159213)])
1336 #@25 Execute current action.
1337 (defalias 'helm-execute-selection-action #[0 "\300\301!\210\302\303!\210\304\216\305 \300\306!\210)\207" [helm-log-run-hook helm-before-action-hook helm-current-position restore #[0 "\301\211\207" [helm--executing-helm-action nil] 2] helm-execute-selection-action-1 helm-after-action-hook] 3 (#$ . 159427)])
1338 #@154 Execute ACTION on current SELECTION.
1339 If PRESERVE-SAVED-ACTION is non-`nil', then save the action.
1340
1341 (fn &optional SELECTION ACTION PRESERVE-SAVED-ACTION)
1342 (defalias 'helm-execute-selection-action-1 #[768 "\306\307!\210\310\206\206\311    !\203\312    !\202\313 !\262\n?\205&\311    !\211\203.\314!\210\210 \2065\315 \316\317\206O \206O\312\316\211#\206O\320\236\205O\321\"\262\204Y\316\205d\205d!)\207" [helm-saved-action helm-action-buffer helm-in-persistent-action helm-saved-current-source non-essential helm-saved-selection helm-log "executing action" helm-get-default-action get-buffer helm-get-selection helm-get-actions-from-current-source kill-buffer helm-get-current-source nil helm-coerce-selection accept-empty ""] 9 (#$ . 159767)])
1343 #@116 Apply coerce attribute function to SELECTION in SOURCE.
1344 Coerce source with coerce function.
1345
1346 (fn SELECTION SOURCE)
1347 (defalias 'helm-coerce-selection #[514 "\300\301\"\211\203\302#\202\207" [assoc-default coerce helm-apply-functions-from-source] 7 (#$ . 160541)])
1348 #@67 Get the first ACTION value of action list in source.
1349
1350 (fn ACTION)
1351 (defalias 'helm-get-default-action #[257 "\211<\203\300!\204\211@A\207\207" [functionp] 3 (#$ . 160818)])
1352 (defalias 'helm--show-action-window-other-window-p #[0 "\205    \204\f\n\205 \304=\207" [helm-show-action-window-other-window helm-always-two-windows helm--buffer-in-new-frame-p helm-split-window-state vertical] 2])
1353 #@111 Select an action for the currently selected candidate.
1354 If action buffer is selected, back to the helm buffer.
1355 (defalias 'helm-select-action #[0 "\203\313\306 \307\310!\210\311\312\211#\313 p\314\315\316\317\320\"\321\"\322$\216\323\324\325 !r\314\315\326\317\320!\327\"\330$\216\331@\332\"\210\313 *\262\332\"\210\333\n\334\"\211\211\203j\335 \"\210\336\337!\210\340 \203]\341!\210\342\n!\210\312\343\f\344\"\202\272    \211\211\203\251\345!\3126\346!\203\226\347\350:\204\215\351!\203\221\352\202\222\"\202\243\353!\210\354\355!\210\336 \210\356 )\262\202\266\357\211\211\205\262\347\360!\262\262\262\262\262\262\361\306 !\210\362\363!\210)\266\202\207\364\365!\207" [helm-alive-p helm-saved-selection helm-action-buffer helm-buffer helm-input helm-saved-current-source helm-get-current-source helm-log-run-hook helm-select-action-hook helm-get-selection nil selected-frame make-byte-code 0 "\302\300!\203 \303\300\304\"\210\305\301!\205\301q\207" vconcat vector [frame-live-p select-frame norecord buffer-live-p] 3 select-frame internal--before-with-selected-window helm-window "\301\300!\207" [internal--after-with-selected-window] 2 select-window norecord get-buffer-window visible set-window-buffer helm--set-action-prompt restore helm--show-action-window-other-window-p delete-window kill-buffer helm-set-pattern noupdate helm-get-actions-from-current-source functionp message "Sole action: %s" byte-code-function-p "Anonymous" helm-show-action-buffer helm--delete-minibuffer-contents-from "" helm-check-minibuffer-input t "No Actions available" helm-display-mode-line run-hooks helm-window-configuration-hook error "Running helm command outside of context" helm-onewindow-p] 12 (#$ . 161221) nil])
1356 (put 'helm-select-action 'helm-only t)
1357 #@26 
1358
1359 (fn &optional RESTORE)
1360 (defalias 'helm--set-action-prompt #[256 "\303\304 !r\305\306\307\310\311!\312\"\313$\216\314@\315\"\210\316\317\203!\202\"    \320 \210\321\322#c)\266\203*\207" [helm--prompt helm--action-prompt inhibit-read-only internal--before-with-selected-window minibuffer-window make-byte-code 0 "\301\300!\207" vconcat vector [internal--after-with-selected-window] 2 select-window norecord t (face minibuffer-prompt field t read-only t rear-nonsticky t front-sticky t) erase-buffer apply propertize] 9 (#$ . 163014)])
1361 #@16 
1362
1363 (fn ACTIONS)
1364 (defalias 'helm-show-action-buffer #[257 "r\306!q\210\307 \210\310 \210\311\312\313 \203\314\315\n!\311 #\202!\315\n!\"\210\316\304!\210\317\320\321\322\323\324\323\325\326\327\330\331\332\333\334\335\336\337\340\311&C\316\305!\210\311\316\341!\210\311!\342!)\207" [helm-action-buffer cursor-type helm-buffer helm-show-action-window-other-window helm-sources helm-source-filter get-buffer-create erase-buffer buffer-disable-undo nil set-window-buffer helm--show-action-window-other-window-p split-window get-buffer-window make-local-variable helm-make-source "Actions" helm-source-sync :volatile t :nomark :persistent-action ignore :persistent-help "DoNothing" :keymap helm-map :candidates :mode-line ("Action(s)" "\\<helm-map>\\[helm-select-action]:BackToCands RET/f1/f2/fn:NthAct") :candidate-transformer #[257 "\211\300\211\301\300:\203H@\262\211A\262\242\262\302V\203 \303\2021\304W\203-\305\306\"\2021\305\307\"\310\311\312#PBB\262A\262T\262\202\211\237\207" [nil 1 12 "      " 10 format "[f%s]  " "[f%s] " propertize face helm-action] 11 "\n\n(fn CANDIDATES)"] :candidate-number-limit helm-selection-overlay helm-initialize-overlays] 22 (#$ . 163562)])
1365 #@117 Display source at the top of screen when UNIT value is 'source.
1366 Returns nil for any other value of UNIT.
1367
1368 (fn UNIT)
1369 (defalias 'helm-display-source-at-screen-top-maybe #[257 "\205\211\301=\205\302\303 \212\304y\210`)\"\207" [helm-display-source-at-screen-top source set-window-start selected-window -1] 4 (#$ . 164781)])
1370 #@236 Skip source header or candidates separator when going in DIRECTION.
1371 DIRECTION is either 'next or 'previous.
1372 Same as `helm-skip-header-and-separator-line' but ensure
1373 point is moved to the right place when at bob or eob.
1374
1375 (fn DIRECTION)
1376 (defalias 'helm-skip-noncandidate-line #[257 "\300!\210o\203 \301y\210m\205\302y\207" [helm-skip-header-and-separator-line 1 -1] 3 (#$ . 165113)])
1377 #@133 Skip source header or candidate separator when going to next/previous line.
1378 DIRECTION is either 'next or 'previous.
1379
1380 (fn DIRECTION)
1381 (defalias 'helm-skip-header-and-separator-line #[257 "\300\301\"\203 \302\202\300\303\"\203\304\202\305\306\307#\205\310\211 ?\205F\311 \204/\312 \205F\303=\203@\313 e=\204@\314\202A\315y\210\202\207" [eql next eobp previous bobp error "cl-ecase failed: %s, %s" (next previous) nil helm-pos-header-line-p helm-pos-candidate-separator-p point-at-bol -1 1] 5 (#$ . 165506)])
1382 #@201 Set up mode line and header line for `helm-buffer'.
1383
1384 SOURCE is a Helm source object.
1385
1386 Optional argument FORCE forces redisplay of the Helm buffer's
1387 mode and header lines.
1388
1389 (fn SOURCE &optional FORCE)
1390 (defalias 'helm-display-mode-line #[513 "\306\300!\210\307<\203\310\311\"\206\312\300!\"\313!\204*    \205+\310\314\"\n\235\205+\315 \205]\310\314\" \316\211\211:\203Y@\262\310\314@\"\262\230\203RB\262A\262\2027\211\237\266\205\203\241\317\320\321\320\322\320\323\205y\324\325\326 G\"\327\330#D\323\331\f\332BBD\333BBBBBBBB\334BB\335<\203\232A@\202\233!&\202\245\312\305!'\203\263\336\262\337 \210\202\326(\203\326\307<\205\303\310\340\"\"\341\342 \343\"\324\320Q\327\344#)\266\266\211\205\336\345 \207" [helm-mode-line-string helm-follow-mode-persistent helm-source-names-using-follow helm-marked-candidates helm--mode-line-display-prefarg mode-line-format make-local-variable helm-interpret-value assoc-default mode-line default-value helm-follow-mode-p name " (HF)" nil :propertize " " mode-line-buffer-identification (:eval (format "L%-3d" (helm-candidate-number-at-point))) :eval propertize format "M%d" face helm-visible-mark when ((let ((arg (prefix-numeric-value (or prefix-arg current-prefix-arg)))) (unless (= arg 1) (propertize (format " [prefarg:%s]" arg) 'face 'helm-prefarg)))) (" " (:eval (with-helm-buffer (helm-show-candidate-number (car-safe helm-mode-line-string)))) " " helm--mode-line-string-real " " (:eval (make-string (window-width) 32))) (keymap (keymap (mode-line keymap (mouse-1 . ignore) (down-mouse-1 . ignore) (drag-mouse-1 . ignore) (mouse-2 . ignore) (down-mouse-2 . ignore) (drag-mouse-2 . ignore) (mouse-3 . ignore) (down-mouse-3 . ignore) (drag-mouse-3 . ignore)))) substitute-command-keys t helm--set-header-line header-line make-string window-width 32 helm-header force-mode-line-update helm--mode-line-string-real helm-echo-input-in-header-line helm-display-header-line header-line-format] 16 (#$ . 166039)])
1391 #@25 
1392
1393 (fn &optional UPDATE)
1394 (defalias 'helm--set-header-line #[256 "\306\307 !r\310\311\312\313\314!\315\"\316$\216\317@\320\"\210\203!\321\301!\210\322\212\323\311\324 \"\210`)\212\325 \210`){\326\327\330\331\n D!\332\322\333#)\266\203\203Q\334\335 E\202V\326\336\337\340##`Z\341`\"\342\332T\211\262GW\203~H\262\343\344\"\203`T\262\202`\266\343\332f\344\"\203\214\211T\262\345\346\347#\262r\350 q\210\327Q*+!\210\205\252\351 )\266\205*\207" [helm-display-header-line disable-point-adjustment helm--prompt helm--action-prompt inhibit-changing-match-data helm-header-line-space-before-prompt internal--before-with-selected-window minibuffer-window make-byte-code 0 "\301\300!\207" vconcat vector [internal--after-with-selected-window] 2 select-window norecord make-local-variable t vertical-motion helm-window end-of-visual-line propertize " " display regexp-opt nil string-match space :width "->" face helm-header-line-left-margin buffer-substring-no-properties -1 eql 37 replace-regexp-in-string "%" "%%" helm-buffer-get force-mode-line-update header-line-format helm-default-prompt-display-function] 15 (#$ . 168053)])
1395 #@12 
1396
1397 (fn POS)
1398 (defalias 'helm-set-default-prompt-display #[257 "\301T\302\\\303\304\305\306\307\310!\311\307\312!\257%\207" [header-line-format put-text-property 2 face :inverse-video t :foreground face-background cursor :background default] 12 (#$ . 169217)])
1399 #@103 Display minibuffer in header-line and vice versa for current helm session.
1400
1401 This is a toggle command.
1402 (defalias 'helm-exchange-minibuffer-and-header-line #[0 "\302\303 !r\304\305\306\307\310!\311\"\312$\216\313@\314\"\210\315\316\317\"\210\320\300!\210?\302\321 !r\304\305\306\307\310!\322\"\312$\216\313@\314\"\210r\323 q\210)\203J\317 \210\202O\324 \210\325*\210\326\327 \325\"*\207" [helm-echo-input-in-header-line cursor-type internal--before-with-selected-window helm-window make-byte-code 0 "\301\300!\207" vconcat vector [internal--after-with-selected-window] 2 select-window norecord add-hook helm-minibuffer-set-up-hook helm-hide-minibuffer-maybe make-local-variable minibuffer-window [internal--after-with-selected-window] helm-buffer-get remove-overlays t helm-display-mode-line helm-get-current-source] 8 (#$ . 169486) nil])
1403 (put 'helm-exchange-minibuffer-and-header-line 'helm-only t)
1404 (defalias 'helm--update-header-line #[0 "r\301 q\210)\205 \302\303!\207" [helm-echo-input-in-header-line helm-buffer-get helm--set-header-line t] 2])
1405 #@173 Hide minibuffer contents in a Helm session.
1406 This function should normally go to `helm-minibuffer-set-up-hook'.
1407 It has no effect if `helm-echo-input-in-header-line' is nil.
1408 (defalias 'helm-hide-minibuffer-maybe #[0 "r\303 q\210)\205U\304ed\305\211\306%\307\310\311 #\210    \205\312\313!\211\203?\307\314\315\316\317\320\321\"P!\322 S\"#\210\307\323\324#\210\202O\307\323\325\326\305\"\327\330F\262#\210\210\305\211\262\207" [helm-echo-input-in-header-line helm-display-header-line cursor-type helm-buffer-get make-overlay nil t overlay-put window selected-window helm-attr persistent-help display truncate-string-to-width substitute-command-keys "\\<helm-map>\\[helm-execute-persistent-action]: " format "%s (keeping session)" window-width face helm-header face-background default :background :foreground] 11 (#$ . 170553)])
1409 #@161 Used to display candidate number in mode-line.
1410 You can specify NAME of candidates e.g "Buffers" otherwise
1411 it is "Candidate(s)" by default.
1412
1413 (fn &optional NAME)
1414 (defalias 'helm-show-candidate-number #[256 "\2052\302 ?\2052\211\206\303\304\305\"G\306\304\307\310!\311Q\304\312\313\314!#\"\315    \203.\316\202/\317#\266\202\207" [helm-alive-p helm-suspend-update-flag helm-empty-source-p "Candidate(s)" format "[999 %s]" propertize "%-" number-to-string "s" "[%s %s]" helm-get-candidate-number in-current-source face helm-candidate-number-suspended helm-candidate-number] 10 (#$ . 171399)])
1415 #@307 Move the selection marker to a new position.
1416 Position is determined by WHERE and DIRECTION.
1417 Key arg WHERE can be one of:
1418  - line
1419  - page
1420  - edge
1421  - source
1422 Key arg DIRECTION can be one of:
1423  - previous
1424  - next
1425  - A source or a source name when used with :WHERE 'source.
1426
1427 (fn &key WHERE DIRECTION (FOLLOW t))
1428 (defalias 'helm-move-selection-common #[128 "\301\302\"A@\301\303\"A@\301\304\"\206\305A@\211\203A\211@\306>\203*\211AA\262\202\307>A@\2038\310\262\202\311\312@\"\210\202\210\313\267\202\313\314\315\"\203S\316\202\314\314\317\"\203^\320\202\314\311\321\322#\205\314\310\202\314\314\315\"\203u\323\202\314\314\317\"\203\200\324\202\314\311\321\325#\205\314\310\202\314\314\315\"\203\227\326\202\314\314\317\"\203\242\327\202\314\311\321\330#\205\314\310\202\314\331\267\202\274\332\202\314\333\202\314\334\335\336\337\340!\341\"\342$\202\314\310\343\344 !\206\326\345 ??\205*\346\345 !r\334\335\336\337\340!\347\"\342$\216\350@\351\"\210\203\370\352 \210\353\354!\210 \210\355>\203    \356!\210\357 \203\360 \210\361!\210\362 \210\203\363 \210\364\365 !\210\353\366!*\262\262\207" [helm-allow-mouse plist-member :where :direction :follow (nil t) (:where :direction :follow :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:where :direction :follow)" #s(hash-table size 4 test eql rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (line 72 page 106 edge 140 source 174)) eql previous helm-move--previous-line-fn next helm-move--next-line-fn "cl-ecase failed: %s, %s" (previous next) helm-move--previous-page-fn helm-move--next-page-fn (previous next) helm-move--beginning-of-buffer-fn helm-move--end-of-buffer-fn (previous next) #s(hash-table size 2 test eql rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (previous 180 next 184)) helm-move--previous-source-fn helm-move--next-source-fn make-byte-code 0 "\301\300!\207" vconcat vector [helm-move--goto-source-fn] 2 helm-empty-buffer-p helm-buffer-get helm-window internal--before-with-selected-window [internal--after-with-selected-window] select-window norecord helm--mouse-reset-selection-help-echo helm-log-run-hook helm-move-selection-before-hook (next previous) helm-skip-noncandidate-line helm-pos-multiline-p helm-move--beginning-of-multiline-candidate helm-display-source-at-screen-top-maybe helm-mark-current-line helm-follow-execute-persistent-action-maybe helm-display-mode-line helm-get-current-source helm-move-selection-after-hook] 12 (#$ . 172003)])
1429 (defalias 'helm-move--beginning-of-multiline-candidate #[0 "\300 \301 \205\211\203\211W\203\202\211b\210\302y\207" [helm-get-previous-header-pos helm-get-previous-candidate-separator-pos 1] 4])
1430 (defalias 'helm-move--previous-multi-line-fn #[0 "\300y\210\301 ?\205\302\303!\210\304 \207" [-1 helm-pos-header-line-p helm-skip-header-and-separator-line previous helm-move--beginning-of-multiline-candidate] 2])
1431 (defalias 'helm-move--previous-line-fn #[0 "\301 \204 \302y\210\202\303 \210\205-\304 \205-\305y\210\306 \210m\205-\212\302y\210\301 )\205-\303 \207" [helm-move-to-line-cycle-in-source helm-pos-multiline-p -1 helm-move--previous-multi-line-fn helm-pos-header-line-p 1 helm-move--end-of-source] 1])
1432 (defalias 'helm-move--next-multi-line-fn #[0 "\300 \301 \211\203\203\211W\203\211b\202\205b\207" [helm-get-next-header-pos helm-get-next-candidate-separator-pos] 4])
1433 (defalias 'helm-move--next-line-fn #[0 "\302 \204 \303y\210\202\304 \210\205.\212\302 \205\"\305    !b\205\"\306\307!)\204,\306\307!\205.\310 \207" [helm-move-to-line-cycle-in-source helm-selection-overlay helm-pos-multiline-p 1 helm-move--next-multi-line-fn overlay-end helm-end-of-source-p t helm-move--beginning-of-source] 2])
1434 (defalias 'helm-move--previous-page-fn #[0 "\3001\301 0\207\210eb\207" [(beginning-of-buffer) scroll-down] 1])
1435 (defalias 'helm-move--next-page-fn #[0 "\3001\301 0\207\210db\207" [(end-of-buffer) scroll-up] 1])
1436 (defalias 'helm-move--beginning-of-buffer-fn #[0 "eb\207" [] 1])
1437 (defalias 'helm-move--end-of-buffer-fn #[0 "db\207" [] 1])
1438 (defalias 'helm-move--end-of-source #[0 "\300 \211\203\211b\210\301y\202db\207" [helm-get-next-header-pos -2] 2])
1439 (defalias 'helm-move--beginning-of-source #[0 "\300 \211\203\211b\210\301y\202eb\207" [helm-get-previous-header-pos 1] 2])
1440 (defalias 'helm-move--previous-source-fn #[0 "\300y\210o\203 db\210\202\301\302!\210\303 b\210\304y\207" [-1 helm-skip-header-and-separator-line previous helm-get-previous-header-pos 1] 2])
1441 (defalias 'helm-move--next-source-fn #[0 "\212\300y\210m)\204\301 \206eb\207" [1 helm-get-next-header-pos] 1])
1442 #@23 
1443
1444 (fn SOURCE-OR-NAME)
1445 (defalias 'helm-move--goto-source-fn #[257 "eb\210\211;\203\f\211\202\300\301\"\211\203\211\302\230\203\303y\202<\30416\211\305 \230?\2052\306 b\210\202#0\202<\307\310\"\262\207" [assoc-default name "" 1 (error) helm-current-line-contents helm-get-next-header-pos helm-log "%S"] 6 (#$ . 176678)])
1446 (defalias 'helm-candidate-number-at-point #[0 "\203r\301 q\210\302`\303\"\206\304)\207\302`\303\"\206\304\207" [helm-alive-p helm-buffer-get get-text-property helm-cand-num 1] 3])
1447 #@32 
1448
1449 (fn DIRECTION &optional ARG)
1450 (defalias 'helm--next-or-previous-line #[513 "\205\211\211\203C\211\301V\203C\302 \303\304!\305=\203\"Z\202&S^^\301\211X\203=\306\307\310\311    $\210\211T\262\202(\312\266\204\202I\306\307\310\311$)\207" [helm-move-to-line-cycle-in-source 1 helm-candidate-number-at-point helm-get-candidate-number t next helm-move-selection-common :where line :direction nil] 11 (#$ . 177205)])
1451 #@138 Move selection to the ARG previous line(s).
1452 Same behavior as `helm-next-line' when called with a numeric prefix arg.
1453
1454 (fn &optional ARG)
1455 (defalias 'helm-previous-line #[256 "\203    \301\302\"\207\303\304!\207" [helm-alive-p helm--next-or-previous-line previous error "Running helm command outside of context"] 4 (#$ . 177641) "p"])
1456 (put 'helm-previous-line 'helm-only t)
1457 #@205 Move selection to the next ARG line(s).
1458 When numeric prefix arg is > than the number of candidates, then
1459 move to the last candidate of current source (i.e. don't move to
1460 next source).
1461
1462 (fn &optional ARG)
1463 (defalias 'helm-next-line #[256 "\203    \301\302\"\207\303\304!\207" [helm-alive-p helm--next-or-previous-line next error "Running helm command outside of context"] 4 (#$ . 178020) "p"])
1464 (put 'helm-next-line 'helm-only t)
1465 #@37 Move selection back with a pageful.
1466 (defalias 'helm-previous-page #[0 "\203 \301\302\303\304\305$\207\306\307!\207" [helm-alive-p helm-move-selection-common :where page :direction previous error "Running helm command outside of context"] 5 (#$ . 178453) nil])
1467 (put 'helm-previous-page 'helm-only t)
1468 #@40 Move selection forward with a pageful.
1469 (defalias 'helm-next-page #[0 "\203 \301\302\303\304\305$\207\306\307!\207" [helm-alive-p helm-move-selection-common :where page :direction next error "Running helm command outside of context"] 5 (#$ . 178760) nil])
1470 (put 'helm-next-page 'helm-only t)
1471 #@28 Move selection at the top.
1472 (defalias 'helm-beginning-of-buffer #[0 "\203 \301\302\303\304\305$\207\306\307!\207" [helm-alive-p helm-move-selection-common :where edge :direction previous error "Running helm command outside of context"] 5 (#$ . 179058) nil])
1473 (put 'helm-beginning-of-buffer 'helm-only t)
1474 #@31 Move selection at the bottom.
1475 (defalias 'helm-end-of-buffer #[0 "\203 \301\302\303\304\305$\207\306\307!\207" [helm-alive-p helm-move-selection-common :where edge :direction next error "Running helm command outside of context"] 5 (#$ . 179368) nil])
1476 (put 'helm-end-of-buffer 'helm-only t)
1477 #@40 Move selection to the previous source.
1478 (defalias 'helm-previous-source #[0 "\203 \301\302\303\304\305$\207\306\307!\207" [helm-alive-p helm-move-selection-common :where source :direction previous error "Running helm command outside of context"] 5 (#$ . 179665) nil])
1479 (put 'helm-previous-source 'helm-only t)
1480 #@36 Move selection to the next source.
1481 (defalias 'helm-next-source #[0 "\203 \301\302\303\304\305$\207\306\307!\207" [helm-alive-p helm-move-selection-common :where source :direction next error "Running helm command outside of context"] 5 (#$ . 179981) nil])
1482 (put 'helm-next-source 'helm-only t)
1483 #@172 Move the selection to the source named SOURCE-OR-NAME.
1484
1485 If SOURCE-OR-NAME is empty string or nil go to the first candidate of
1486 first source.
1487
1488 (fn &optional SOURCE-OR-NAME)
1489 (defalias 'helm-goto-source #[256 "\300\301\302\303$\207" [helm-move-selection-common :where source :direction] 6 (#$ . 180282)])
1490 #@12 
1491
1492 (fn ARG)
1493 (defalias 'helm--follow-action #[257 "\302\303     \304=\204    \305=\204    \306=\204\211\2038\307V\203.\310\311\312\313\314\315\316&\210\2028\310\311\312\313\317\315\316&\210\211?\205?\306 )\207" [helm--temp-follow-flag last-command t helm-follow-mode-p helm-follow-action-forward helm-follow-action-backward helm-execute-persistent-action 0 helm-move-selection-common :where line :direction next :follow nil previous] 10 (#$ . 180590)])
1494 #@48 Go to next line and execute persistent action.
1495 (defalias 'helm-follow-action-forward #[0 "\203\301\302!\207\303\304!\207" [helm-alive-p helm--follow-action 1 error "Running helm command outside of context"] 2 (#$ . 181053) nil])
1496 (put 'helm-follow-action-forward 'helm-only t)
1497 #@52 Go to previous line and execute persistent action.
1498 (defalias 'helm-follow-action-backward #[0 "\203\301\302!\207\303\304!\207" [helm-alive-p helm--follow-action -1 error "Running helm command outside of context"] 2 (#$ . 181338) nil])
1499 (put 'helm-follow-action-backward 'helm-only t)
1500 #@277 Move `helm-selection-overlay' to current line.
1501 When RESUMEP is non nil move overlay to `helm-selection-point'.
1502 When NOMOUSE is specified do not set mouse bindings.
1503
1504 Note that selection is unrelated to visible marks used for marking
1505 candidates.
1506
1507 (fn &optional RESUMEP NOMOUSE)
1508 (defalias 'helm-mark-current-line #[512 "r\303 q\210\203\fb\210\304    \305 \306 \203=\307 \310 \204!\211\2068\2033\211\2033\211W\2033\211\2068\2068d\266\202\202@\311 T#\210\312    !\n\205R\211?\205R\313!)\207" [helm-selection-point helm-selection-overlay helm-allow-mouse helm-buffer-get move-overlay point-at-bol helm-pos-multiline-p helm-get-next-header-pos helm-get-next-candidate-separator-pos point-at-eol overlay-start helm--bind-mouse-for-selection] 9 (#$ . 181631)])
1509 #@307 Maybe ask for confirmation when exiting helm.
1510 It is similar to `minibuffer-complete-and-exit' adapted to helm.
1511 If `minibuffer-completion-confirm' value is 'confirm,
1512 send minibuffer confirm message and exit on next hit.
1513 If `minibuffer-completion-confirm' value is t,
1514 don't exit and send message 'no match'.
1515 (defalias 'helm-confirm-and-exit-minibuffer #[0 "\203\211\306 \203    \204\307\310!\210\311\312!\210\307\313!\207\314 r\nq\210ed)=\315\313\211#?\2059\316\317\320\315\313\321##\322\230\204A\211\203Q \323=\203Q\323\313\324\325!\202\210\204x \203e\203t!\202q;\203t\326#\204\204\211\203\204 \327=\203\204\324\330!\202\210\313\331 \207\332\333!\207" [helm-alive-p helm--reading-passwd-or-string helm-buffer minibuffer-completion-confirm helm-minibuffer-confirm-state minibuffer-completing-file-name helm--updating-p message "[Display not ready]" sit-for 0.5 nil helm-get-current-source helm-get-selection get-text-property 0 display withprop "[?]" confirm minibuffer-message " [confirm]" try-completion t " [No match]" helm-exit-minibuffer error "Running helm command outside of context" minibuffer-completion-predicate minibuffer-completion-table] 10 (#$ . 182404) nil])
1516 (byte-code "\300\301\302\303#\210\304\305\306\"\207" [put helm-confirm-and-exit-minibuffer helm-only t add-hook helm-after-update-hook helm-confirm-and-exit-hook] 4)
1517 #@59 Restore `minibuffer-completion-confirm' when helm update.
1518 (defalias 'helm-confirm-and-exit-hook #[0 "\302=\206    ??\205    \211\207" [minibuffer-completion-confirm helm-minibuffer-confirm-state t] 2 (#$ . 183786)])
1519 #@147 Same as `read-string' but for reading string from a helm session.
1520
1521 (fn PROMPT &optional INITIAL-INPUT HISTORY DEFAULT-VALUE INHERIT-INPUT-METHOD)
1522 (defalias 'helm-read-string #[1281 "\301\302%)\207" [helm--reading-passwd-or-string t read-string] 11 (#$ . 184009)])
1523 (defalias 'helm--updating-p #[0 "\302 \232?\206        \207" [helm-pattern helm--in-update minibuffer-contents] 2])
1524 (defalias 'helm-maybe-exit-minibuffer #[0 "\203\302 \203    \204\303\304!\210\305\306!\210\303\307!\210\310 \207\311 \207\312\313!\207" [helm-alive-p helm--reading-passwd-or-string helm--updating-p message "[Display not ready]" sit-for 0.5 nil helm-update helm-exit-minibuffer error "Running helm command outside of context"] 2 nil nil])
1525 (put 'helm-maybe-exit-minibuffer 'helm-only t)
1526 #@57 Select the current candidate by exiting the minibuffer.
1527 (defalias 'helm-exit-minibuffer #[0 "\204    \303\304\305!\210\306 \207" [helm-current-prefix-arg current-prefix-arg helm-exit-status 0 helm-log-run-hook helm-exit-minibuffer-hook exit-minibuffer] 2 (#$ . 184786)])
1528 #@66 Quit minibuffer in helm.
1529 If action buffer is displayed, kill it.
1530 (defalias 'helm-keyboard-quit #[0 "\203\303    \304\"\203\305    !\210\306\307 \207\310\311!\207" [helm-alive-p helm-action-buffer helm-exit-status get-buffer-window visible kill-buffer 1 abort-recursive-edit error "Running helm command outside of context"] 3 (#$ . 185065) nil])
1531 (put 'helm-keyboard-quit 'helm-only t)
1532 #@52 Return the position of the next header from point.
1533 (defalias 'helm-get-next-header-pos #[0 "\300`\301\"\207" [next-single-property-change helm-header] 3 (#$ . 185455)])
1534 #@56 Return the position of the previous header from point.
1535 (defalias 'helm-get-previous-header-pos #[0 "\300`\301\"\207" [previous-single-property-change helm-header] 3 (#$ . 185630)])
1536 #@77 Return non-`nil' if the current position is in the multiline source region.
1537 (defalias 'helm-pos-multiline-p #[0 "\300`\301\"\207" [get-text-property helm-multiline] 3 (#$ . 185817)])
1538 #@65 Return the position of the next candidate separator from point.
1539 (defalias 'helm-get-next-candidate-separator-pos #[0 "\300 \301`\302\"\211\205'\203\211W\203\211\206'\203&W\203&\206'\211\262\207" [helm-get-next-header-pos next-single-property-change helm-candidate-separator] 4 (#$ . 186006)])
1540 #@69 Return the position of the previous candidate separator from point.
1541 (defalias 'helm-get-previous-candidate-separator-pos #[0 "\300`\301\"\207" [previous-single-property-change helm-candidate-separator] 3 (#$ . 186321)])
1542 #@48 Return t if the current line is a header line.
1543 (defalias 'helm-pos-header-line-p #[0 "\300\301 \302\"\206 \300\301 \303\"\207" [get-text-property point-at-bol helm-header helm-header-separator] 3 (#$ . 186547)])
1544 #@56 Return t if the current line is a candidate separator.
1545 (defalias 'helm-pos-candidate-separator-p #[0 "\300\301 \302\"\207" [get-text-property point-at-bol helm-candidate-separator] 3 (#$ . 186766)])
1546 #@47 Show all helm-related variables at this time.
1547 (defalias 'helm-debug-output #[0 "\203    \301\302\303\"\207\304\305!\207" [helm-alive-p helm-help-internal " *Helm Debug*" helm-debug-output-function error "Running helm command outside of context"] 3 (#$ . 186971) nil])
1548 (put 'helm-debug-output 'helm-only t)
1549 #@23 
1550
1551 (fn &optional VARS)
1552 (defalias 'helm-debug-output-function #[256 "\302\303!\210\304c\210\211\206\206\305\306\307\"\211\2033\211@\310\311!\312\311r    q\210\313!)!\312\261\210A\266\202\202\210\302\314!\207" [helm-debug-variables helm-buffer message "Calculating all helm-related values..." "If you debug some variables or forms, set `helm-debug-variables'\nto a list of forms.\n\n" apropos-internal "^helm-" boundp "** " pp-to-string "\n" eval "Calculating all helm-related values...Done"] 9 (#$ . 187282)])
1553 #@69 First hit enable helm debugging, second hit switch to debug buffer.
1554 (defalias 'helm-enable-or-switch-to-debug #[0 "\203    \203\f\303\304!\207\305r\306 q\210\307)\310\311!\207\312\313!\207" [helm-alive-p helm-debug truncate-lines helm-run-after-exit helm-debug-open-last-log t helm-buffer-get nil message "Debugging enabled" error "Running helm command outside of context"] 2 (#$ . 187805) nil])
1555 (put 'helm-enable-or-switch-to-debug 'helm-only t)
1556 #@102 Remove tick entry from `helm-tick-hash' and remove buffer from
1557 `helm-buffers' when killing a buffer.
1558 (defalias 'helm-kill-buffer-hook #[0 "\302\303\"\210\304\305     \"\211\207" [helm-tick-hash helm-buffers maphash #[514 "\301\302\303\304\305 !\"\"\205\306\"\207" [helm-tick-hash string-match format "^%s/" regexp-quote buffer-name remhash] 7 "\n\n(fn KEY --CL-VAR--)"] remove buffer-name] 3 (#$ . 188262)])
1559 (add-hook 'kill-buffer-hook 'helm-kill-buffer-hook)
1560 #@444 Move selection to CANDIDATE-OR-REGEXP on Helm start.
1561
1562 CANDIDATE-OR-REGEXP can be a:
1563
1564 - String
1565 - Cons cell of two strings
1566 - Nullary function, which moves to a candidate
1567
1568 When CANDIDATE-OR-REGEXP is a cons cell, tries moving to first
1569 element of the cons cell, then the second, and so on. This allows
1570 selection of duplicate candidates after the first.
1571
1572 Optional argument SOURCE is a Helm source object.
1573
1574 (fn CANDIDATE-OR-REGEXP &optional SOURCE)
1575 (defalias 'helm-preselect #[513 "r\301 q\210\203s\211\203\302!\210\202eb\210\303y\210\304!\203& \210\202s`\305\306\3072i\211\205h:\203H\310@\305\306#\205M\310A\305\306#\202M\310\305\306#\211\203a\311 \204d\312\307\211\262\"\210\202d\305\262\210\202-0\266\211\206pb\266\313y\210\314 \203~\315 \210\311 \203\206\303y\210\203\215\316 \210\317 \210\320\206\227\321 !\210\322\323!)\207" [helm-allow-mouse helm-buffer-get helm-goto-source 1 functionp nil t --cl-block-nil-- re-search-forward helm-pos-header-line-p throw 0 helm-pos-multiline-p helm-move--beginning-of-multiline-candidate helm--mouse-reset-selection-help-echo helm-mark-current-line helm-display-mode-line helm-get-current-source helm-log-run-hook helm-after-preselection-hook] 10 (#$ . 188733)])
1576 #@37 Delete the currently selected item.
1577 (defalias 'helm-delete-current-selection #[0 "\300\301 !r\302\303\304\305\306!\307\"\310$\216\311@\312\"\210\313 \203L\314 \211\203/\315 b\210\316 T|\210\2028\317 b\210\315 d|\210\210\320 \203i\317 \206Deb\210\321y\210\202i\315 \316 T|\210\320\322!\203i\212\323y\210\324 )?\211\203h\323y\210\210\320\322!?\205r\325 *\207" [internal--before-with-selected-window helm-window make-byte-code 0 "\301\300!\207" vconcat vector [internal--after-with-selected-window] 2 select-window norecord helm-pos-multiline-p helm-get-next-candidate-separator-pos point-at-bol point-at-eol helm-get-previous-candidate-separator-pos helm-end-of-source-p 1 t -1 helm-pos-header-line-p helm-mark-current-line] 7 (#$ . 189976)])
1578 #@19 
1579
1580 (fn N AT-POINT)
1581 (defalias 'helm-end-of-source-1 #[514 "\212\300 \203\211\204\301 ?\2023\211\203\302\202y\210\303 \304 =\2063\305 \2063\302W\2032o\2023m)\207" [helm-pos-multiline-p helm-get-next-candidate-separator-pos 0 point-at-bol point-at-eol helm-pos-header-line-p] 4 (#$ . 190735)])
1582 #@78 Return non-`nil' if we are at eob or end of source.
1583
1584 (fn &optional AT-POINT)
1585 (defalias 'helm-end-of-source-p #[256 "\300\301\"\207" [helm-end-of-source-1 1] 4 (#$ . 191046)])
1586 #@84 Return non-`nil' if we are at bob or beginning of source.
1587
1588 (fn &optional AT-POINT)
1589 (defalias 'helm-beginning-of-source-p #[256 "\300\301\"\207" [helm-end-of-source-1 -1] 4 (#$ . 191228)])
1590 #@13 
1591
1592 (fn FUNC)
1593 (defalias 'helm--edit-current-selection-internal #[257 "\300\301 !r\302\303\304\305\306!\307\"\310$\216\311@\312\"\210\303y\210\313`\314\"\313`\315\" \210\303y\210\2034\316`\317 \314$\210\211\203D\316`\320 \206@d\315$\210\321 \266\202*\207" [internal--before-with-selected-window helm-window make-byte-code 0 "\301\300!\207" vconcat vector [internal--after-with-selected-window] 2 select-window norecord get-text-property helm-realvalue helm-multiline put-text-property point-at-eol helm-get-next-candidate-separator-pos helm-mark-current-line] 9 (#$ . 191423)])
1594 #@119 Evaluate FORMS at current selection in the helm buffer.
1595 Used generally to modify current selection.
1596
1597 (fn &rest FORMS)
1598 (defalias 'helm-edit-current-selection '(macro . #[128 "\300\301\302BBD\207" [helm--edit-current-selection-internal lambda nil] 5 (#$ . 192014)]))
1599 (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put helm-edit-current-selection lisp-indent-function 0 put edebug-form-spec t] 5)
1600 #@17 
1601
1602 (fn FROM-STR)
1603 (defalias 'helm--delete-minibuffer-contents-from #[257 "\300 \301 \210\211G\302V\203\303!\202\304 \207" [minibuffer-contents helm-reset-yank-point 0 helm-set-pattern helm-force-update] 4 (#$ . 192430)])
1604 #@264 Delete minibuffer contents.
1605 When `helm-delete-minibuffer-contents-from-point' is non-`nil',
1606 delete minibuffer contents from point instead of deleting all.
1607 Giving a prefix arg reverses this behavior.
1608 When at the end of minibuffer, deletes all.
1609
1610 (fn &optional ARG)
1611 (defalias 'helm-delete-minibuffer-contents #[256 "\203\211\204\fm\203\301\202#\302 \202#\211\203\"m\204\"\302 \202#\301\303!\207" [helm-delete-minibuffer-contents-from-point "" helm-minibuffer-completion-contents helm--delete-minibuffer-contents-from] 4 (#$ . 192661) "P"])
1612 #@2130 The top level function used to store candidates with `helm-source-in-buffer'.
1613
1614 Candidates are stored in a buffer generated internally
1615 by `helm-candidate-buffer' function.
1616 Each candidate must be placed in one line.
1617
1618 The buffer is created and fed in the init attribute function of helm.
1619
1620 e.g:
1621
1622      (helm-build-in-buffer-source "test"
1623        :init (lambda ()
1624                (helm-init-candidates-in-buffer
1625                    'global '(foo foa fob bar baz))))
1626
1627 A shortcut can be used to simplify:
1628
1629      (helm-build-in-buffer-source "test"
1630        :data '(foo foa fob bar baz))
1631
1632 By default, `helm' makes candidates by evaluating the
1633 candidates function, then narrows them by `string-match' for each
1634 candidate.
1635
1636 But this is slow for large number of candidates. The new way is
1637 to store all candidates in a buffer and then narrow
1638 with `re-search-forward'. Search function is customizable by search
1639 attribute. The important point is that buffer processing is MUCH
1640 FASTER than string list processing and is the Emacs way.
1641
1642 The init function writes all candidates to a newly-created
1643 candidate buffer.  The candidates buffer is created or specified
1644 by `helm-candidate-buffer'.  Candidates are stored in a line.
1645
1646 The candidates function narrows all candidates, IOW creates a
1647 subset of candidates dynamically.
1648
1649 Class `helm-source-in-buffer' is implemented with three attributes:
1650
1651     (candidates . helm-candidates-in-buffer)
1652     (volatile)
1653     (match identity)
1654
1655 The volatile attribute is needed because `helm-candidates-in-buffer'
1656 creates candidates dynamically and need to be called every
1657 time `helm-pattern' changes.
1658
1659 Because `helm-candidates-in-buffer' plays the role of `match' attribute
1660 function, specifying `(match identity)' makes the source slightly faster.
1661
1662 However if source contains `match-part' attribute, match is computed only
1663 on part of candidate returned by the call of function provided by this attribute.
1664 The function should have one arg, candidate, and return only
1665 a specific part of candidate.
1666
1667 To customize `helm-candidates-in-buffer' behavior,
1668 use `search', `get-line' and `match-part' attributes.
1669
1670 (fn &optional SOURCE)
1671 (defalias 'helm-candidates-in-buffer #[256 "\211\206\301 \302\303 \304\305\"\206\306\304\307\"\206\310\311!\312\313!&\207" [helm-pattern helm-get-current-source helm-candidates-in-buffer-1 helm-candidate-buffer assoc-default get-line buffer-substring-no-properties search (helm-candidates-in-buffer-search-default-fn) helm-candidate-number-limit helm-attr match-part] 10 (#$ . 193218)])
1672 #@84 Search PATTERN with `re-search-forward' with bound and noerror args.
1673
1674 (fn PATTERN)
1675 (defalias 'helm-candidates-in-buffer-search-default-fn #[257 "\3001 \301\302\303#0\207\302\207" [(invalid-regexp) re-search-forward nil t] 5 (#$ . 195755)])
1676 #@139 Return the list of candidates inserted in BUFFER matching PATTERN.
1677
1678 (fn BUFFER PATTERN GET-LINE-FN SEARCH-FNS LIMIT MATCH-PART-FN SOURCE)
1679 (defalias 'helm-candidates-in-buffer-1 #[1799 "\2056rq\210\301eS\211b\210\302\230\203\"\303\"\2022\304        &)\266\202)\207" [inhibit-point-motion-hooks t "" helm-initial-candidates-from-candidate-buffer helm-search-from-candidate-buffer] 17 (#$ . 196004)])
1680 #@78 
1681
1682 (fn PATTERN GET-LINE-FN SEARCH-FNS LIMIT START-POINT MATCH-PART-FN SOURCE)
1683 (defalias 'helm-search-from-candidate-buffer #[1799 "\301\302\303\304\305\306\307\f\f\f\f\f\f\f&\310\"\311$!)\207" [inhibit-read-only t helm--search-from-candidate-buffer-1 make-byte-code 0 "\307\310\311\"\312\306\236\313 \314\315\302\316\211:\203 @\262\304b\210\3171'\320\300!0\202+\210\2021\2031\315y\210\316\211\211\211\300!\211\262\203\367m\204\367\303W\203\367\321\301\203X<\203X\202]\322 \323 D\"\262\305\203v\324\314\325#\204v\326\325\305!#\262\327\f\"\262    \203\215\203\215U\204\221\2045\305\204\232:\203\241\330\300\"\2035\331     #\210\332\333\306\"\211\203\351:\203\273A\202\274<\203\343\334!\204\343\316:\203\336@\262\211!\262A\262\202\311\266\202\350!\262\210\210T\262    B\262\2025\211\237\266\204\237\244\262T\262A\262\202\211\237)\207" vconcat vector [make-hash-table :test equal allow-dups helm-set-case-fold-search 0 1 nil (invalid-regexp) looking-at apply point-at-bol point-at-eol get-text-property match-part propertize gethash helm-search-match-part puthash assoc-default filter-one-by-one functionp case-fold-search] 17] 20 (#$ . 196429)])
1684 #@332 Match PATTERN only on match-part property value of CANDIDATE.
1685
1686 Because `helm-search-match-part' maybe called even if unspecified
1687 in source (negation or fuzzy), the part to match fallback to the whole
1688 candidate even if match-part haven't been computed by match-part-fn
1689 and stored in the match-part property.
1690
1691 (fn CANDIDATE PATTERN)
1692 (defalias 'helm-search-match-part #[514 "\303\304\305#\206    \306\307\"A@    \203\310\202\311\311\312\"\203\\\313!\314\315:\203R@\262\311\316\"\203@\317\314O\"?\202E\"\211\262\203RA\262\202$\211\205W\315\266\203\202\206\311\316\"\203z\n\203o\311\"?\202\206\211\317\314O\"?\202\206\211\n\203\203\202\204\"\207" [helm--fuzzy-regexp-cache helm-migemo-mode helm--in-fuzzy get-text-property 0 match-part gethash helm-pattern helm-mm-migemo-string-match string-match " " helm-mm-split-pattern nil t "\\`!" 1] 12 (#$ . 197669)])
1693 #@26 
1694
1695 (fn GET-LINE-FN LIMIT)
1696 (defalias 'helm-initial-candidates-from-candidate-buffer #[514 "\300\301\302\301X\203$m\204$\303 \304 \"B\262\302y\210T\262\202\211\237\266\203\"\207" [delq nil 1 point-at-bol point-at-eol] 10 (#$ . 198570)])
1697 #@18 
1698
1699 (fn SEARCH-FN)
1700 (defalias 'helm--search-from-candidate-buffer-1 #[257 "eb\210\300c\210db\210\300c\210\301\216\211 )\207" ["\n" #[0 "eb\210\300\301!\210dSb\210\300\301!\210\302\303!\207" [delete-char 1 set-buffer-modified-p nil] 2]] 2 (#$ . 198823)])
1701 #@2297 Register and return a buffer storing candidates of current source.
1702
1703 This is used to initialize a buffer for storing candidates for a
1704 candidates-in-buffer source, candidates will be searched in this
1705 buffer and displayed in `helm-buffer'.
1706 This should be used only in init functions, don't relay on this in
1707 other places unless you know what you are doing.
1708
1709 This function is still in public API only for backward compatibility,
1710 you should use instead `helm-init-candidates-in-buffer' for
1711 initializing your sources.
1712
1713 Internally, this function is called without argument and returns the
1714 buffer corresponding to current source i.e `helm--source-name' which
1715 is available in only some places.
1716
1717 Acceptable values of BUFFER-SPEC:
1718
1719 - global (a symbol)
1720   Create a new global candidates buffer,
1721   named " *helm candidates:SOURCE*".
1722   This is used by `helm-init-candidates-in-buffer' and it is
1723   the most common usage of BUFFER-SPEC.
1724   The buffer will be killed and recreated at each new helm-session.
1725
1726 - local (a symbol)
1727   Create a new local candidates buffer,
1728   named " *helm candidates:SOURCE*HELM-CURRENT-BUFFER".
1729   You may want to use this when you want to have a different buffer
1730   each time source is used from a different `helm-current-buffer'.
1731   The buffer is erased and refilled at each new session but not killed.
1732   You probably don't want to use this value for BUFFER-SPEC.
1733
1734 - nil (omit)
1735   Only return the candidates buffer of current source if found.
1736   
1737 - A buffer
1738   Register a buffer as a candidates buffer.
1739   The buffer needs to exists, it is not created.
1740   This allow you to use the buffer as a cache, it is faster because
1741   the buffer is already drawn, but be careful when using this as you
1742   may mangle your buffer depending what you write in your init(s)
1743   function, IOW don't modify the contents of the buffer in init(s)
1744   function but in a transformer.
1745   The buffer is not erased nor deleted.
1746   Generally it is safer to use a copy of buffer inserted
1747   in a global or local buffer.
1748   
1749 If for some reasons a global buffer and a local buffer exist and are
1750 belonging to the same source, the local buffer takes precedence on the
1751 global one and is used instead.
1752
1753 When forcing update only the global and local buffers are killed
1754 before running again the init function.
1755
1756 (fn &optional BUFFER-SPEC)
1757 (defalias 'helm-candidate-buffer #[256 "\304\305\"\304\306\307    !#\203eB\310\311\n\"\n\"B\312!\204e\313=\2033\314\315!!\2033\316!\210r\317\320\313\"\203@\202T\320\321\"\203K\202T\322\323\324#\205T\325!q\210\326\303!\210\325\327 \210\330\331!\210)\315!\211\211\203q\211\202\242\315!\211\211\203}\211\202\236\332\n\"\211\211\205\232\211;\204\221\312!\205\232\314\315!!\205\232\211\262\262\262\262\262\262\207" [helm--source-name helm-current-buffer helm--candidate-buffer-alist buffer-read-only format " *helm candidates:%s*" " *helm candidates:%s*%s" buffer-name delete assoc bufferp global buffer-live-p get-buffer kill-buffer get-buffer-create eql local error "cl-ecase failed: %s, %s" (global local) nil make-local-variable erase-buffer font-lock-mode -1 assoc-default] 12 (#$ . 199082)])
1758 #@632 Register BUFFER-SPEC with DATA for a helm candidates-in-buffer session.
1759
1760 Arg BUFFER-SPEC can be a buffer-name (stringp), a buffer-spec object
1761 (bufferp), or a symbol, either 'local or 'global which is passed to
1762 `helm-candidate-buffer'.
1763 The most common usage of BUFFER-SPEC is 'global.
1764
1765 Arg DATA can be either a list or a plain string.
1766 Returns the resulting buffer.
1767
1768 Use this in your init function to register a buffer for a
1769 `helm-source-in-buffer' session and feed it with DATA.
1770 You probably don't want to bother with this and use the :data slot
1771 when initializing a source with `helm-source-in-buffer' class.
1772
1773 (fn BUFFER-SPEC DATA)
1774 (defalias 'helm-init-candidates-in-buffer #[514 ";\204 \300!\205\301\302!!\303;\204\300!\203\"\304!\202#!?\205Ir\211q\210\305 \210<\203?\306\307\310#c\210\202G;\203Gc\210)\211\207" [bufferp buffer-live-p get-buffer helm-candidate-buffer get-buffer-create erase-buffer mapconcat #[257 "\2119\203    \300!\207\211\247\203\301!\207\207" [symbol-name number-to-string] 3 "\n\n(fn I)"] "\n"] 8 (#$ . 202220)])
1775 (byte-code "\300\301\302\303#\300\207" [function-put helm-init-candidates-in-buffer lisp-indent-function 1] 4)
1776 #@57 Toggle resplit helm window, vertically or horizontally.
1777 (defalias 'helm-toggle-resplit-window #[0 "\203\243\306\307\310\"G\311U\203\237    \203\312\313\307\"\210\314\216\315\316 !r\317\320\321\322\323!\324\"\311$\216\325@\326\"\210\n\204:\327\330!\203A\331\332!\210\202\225\333 \203M\331\334!\210\202\225\335 \336 \210\337\325\335 U\203w \340=\204g \341=\203p\342\343 \307\340#\202r\344 \345\202\220\346 \341=\204\205 \340=\203\216\342\343 \307\341#\202\220\347 ! \"\266\350 \211,*\262)\207\351\352!\207\351\353!\207" [helm-alive-p helm-prevent-escaping-from-minibuffer helm-full-frame helm-split-window-default-side helm-split-window-state helm-buffer window-list nil 1 2 helm-prevent-switching-other-window :enabled #[0 "\205\301\302\303\"\207" [helm-prevent-escaping-from-minibuffer helm-prevent-switching-other-window :enabled t] 3] internal--before-with-selected-window helm-window make-byte-code 0 "\301\300!\207" vconcat vector [internal--after-with-selected-window] select-window norecord one-window-p t user-error "Attempt to resplit a single window" helm-action-window "Can't resplit while selecting actions" window-height delete-window set-window-buffer above left split-window selected-window split-window-vertically vertical horizontal split-window-horizontally helm--get-window-side-state error "current window configuration not suitable for splitting" "Running helm command outside of context" helm--window-side-state] 8 (#$ . 203398) nil])
1778 (put 'helm-toggle-resplit-window 'helm-only t)
1779 #@86 Enlarge or narrow helm window.
1780 If N is positive enlarge, if negative narrow.
1781
1782 (fn N)
1783 (defalias 'helm-enlarge-window-1 #[257 "?\205(    \302=\303\304 !r\305\306\307\310\311!\312\"\313$\216\314@\315\"\210\316\"*\262\262\207" [helm-full-frame helm-split-window-state horizontal internal--before-with-selected-window helm-window make-byte-code 0 "\301\300!\207" vconcat vector [internal--after-with-selected-window] 2 select-window norecord enlarge-window] 9 (#$ . 204933)])
1784 #@21 Narrow helm window.
1785 (defalias 'helm-narrow-window #[0 "\203\301\302!\207\303\304!\207" [helm-alive-p helm-enlarge-window-1 -1 error "Running helm command outside of context"] 2 (#$ . 205415) nil])
1786 (put 'helm-narrow-window 'helm-only t)
1787 #@22 Enlarge helm window.
1788 (defalias 'helm-enlarge-window #[0 "\203\301\302!\207\303\304!\207" [helm-alive-p helm-enlarge-window-1 1 error "Running helm command outside of context"] 2 (#$ . 205660) nil])
1789 (put 'helm-enlarge-window 'helm-only t)
1790 #@57 Toggle helm-buffer full-frame view.
1791
1792 (fn &optional ARG)
1793 (defalias 'helm-toggle-full-frame #[256 "\306 \203\f\307\310\311\312\211$\210\211\203\203\307\313\314\312\211$\210    \204(\315\303\316\n!\"\203X\317\320 !r\321\322\323\324\325!\326\"\327$\216\330@\331\"\210\332\303!\210\312\211\f\333!!\210\334\n!\210\330\335 !+\207\317\320 !r\321\322\323\324\325!\336\"\327$\216\330@\331\"\210\337 \210\332\303!\210\340\211\211*\207" [helm--buffer-in-new-frame-p helm-onewindow-p helm-buffer helm-full-frame helm-split-window-preferred-function split-window-preferred-function helm-action-window cl--assertion-failed (null (helm-action-window)) "Unable to toggle full frame from action window" nil (null helm--buffer-in-new-frame-p) "Can't toggle full frame when using helm own frame" buffer-local-value get-buffer internal--before-with-selected-window helm-window make-byte-code 0 "\301\300!\207" vconcat vector [internal--after-with-selected-window] 2 select-window norecord make-local-variable switch-to-buffer helm-display-buffer minibuffer-window [internal--after-with-selected-window] delete-other-windows t helm-current-buffer] 9 (#$ . 205907) "p"])
1794 (put 'helm-toggle-full-frame 'helm-only t)
1795 #@54 Swap window holding `helm-buffer' with other window.
1796 (defalias 'helm-swap-windows #[0 "\203\343\304\305\306\"G\307U\203\337    \203\310\311!\203\312\313!\207\314 \203%\312\315!\207\316 \n\317=\320\"\321!\322!\323!\324\316 !r\325\326\327\330\331!\332\"\307$\216\333@\334\"\210\335\336\306#*\262\320\"\321!\322!\305\337 p\325\326\340\330\331\"\341\"\342$\216\343\323!\334\"\210\344  #\210\344\f#\210\nW\203\244 ]\f^Z[\202\272\nV\203\271 ]\f^Z\202\272\305\262\203\310\345#\210\346 \311#\210\346\n\311#\210)\266\347 \211\207\350\351!\207\350\352!\207" [helm-alive-p helm-full-frame helm-split-window-state helm--window-side-state window-list nil 1 2 one-window-p t user-error "Can't swap windows in a single window" helm-action-window "Can't resplit while selecting actions" helm-window horizontal window-total-size window-buffer window-start window-frame internal--before-with-selected-window make-byte-code 0 "\301\300!\207" vconcat vector [internal--after-with-selected-window] select-window norecord get-window-with-predicate #[257 "\300!?\207" [window-dedicated-p] 3 "\n\n(fn W)"] selected-frame "\302\300!\203 \303\300\304\"\210\305\301!\205\301q\207" [frame-live-p select-frame norecord buffer-live-p] 3 select-frame helm-replace-buffer-in-window window-resize set-window-start helm--get-window-side-state error "current window configuration not suitable for splitting" "Running helm command outside of context"] 20 (#$ . 207119) nil])
1797 (put 'helm-swap-windows 'helm-only t)
1798 #@117 Return the position of `helm-window' from `helm-current-buffer'.
1799 Possible values are 'left 'right 'below or 'above.
1800 (defalias 'helm--get-window-side-state #[0 "\301\211\302\303\302:\203.@\262\304 \305\306\303\"\303#\232\205\211\262?\211\262\203.A\262\202\266\203\207" [helm-current-buffer (left right below above) nil t helm-window window-in-direction get-buffer-window] 11 (#$ . 208676)])
1801 #@88 Replace BUFFER1 by BUFFER2 in WINDOW registering BUFFER1.
1802
1803 (fn WINDOW BUFFER1 BUFFER2)
1804 (defalias 'helm-replace-buffer-in-window #[771 "\300!\205\301\"\210\302\"\207" [get-buffer-window unrecord-window-buffer set-window-buffer] 6 (#$ . 209088)])
1805 #@71 Select the N nth action for the currently selected candidate.
1806
1807 (fn N)
1808 (defalias 'helm-select-nth-action #[257 "\303 \304\305\211#\211\204\306\307!\210\310\311    \312\"\203 \313\314\"\202#\315!\"\316 \207" [helm-saved-selection helm-action-buffer helm-saved-action helm-get-current-source helm-get-selection nil error "Nothing is selected" helm-get-nth-action get-buffer-window visible assoc-default candidates helm-get-actions-from-current-source helm-maybe-exit-minibuffer] 8 (#$ . 209346)])
1809 #@17 
1810
1811 (fn N ACTION)
1812 (defalias 'helm-get-nth-action #[514 "\300U\203 \301!\203 \207\211<\203\211\234A\2060\302\303!\207\301!\203-\300W\203-\302\304!\207\302\305!\207" [0 functionp error "No such action" "Sole action" "Error in `helm-select-nth-action'"] 4 (#$ . 209853)])
1813 #@80 Execute default action on candidate at LINUM lines from selection.
1814
1815 (fn LINUM)
1816 (defalias 'helm-execute-selection-action-at-nth #[257 "\301Y\203\302!\210\202\303\304S!!\210\211\305 \207" [current-prefix-arg 0 helm-next-line helm-previous-line lognot helm-exit-minibuffer] 5 (#$ . 210138)])
1817 (defalias 'helm-initialize-persistent-action #[0 "\301\300!\210\302\211\207" [helm-persistent-action-display-window make-local-variable nil] 2])
1818 #@624 Perform the associated action ATTR without quitting helm.
1819 Arg ATTR default will be `persistent-action' or `persistent-action-if'
1820 if unspecified depending on what's found in source, but it can be
1821 anything else.
1822 In this case you have to add this new attribute to your source.
1823 See `persistent-action' and `persistent-action-if' slot documentation
1824 in `helm-source'.
1825
1826 When `helm-full-frame' or SPLIT-ONEWINDOW are non-`nil', and
1827 `helm-buffer' is displayed in only one window, the helm window is
1828 split to display `helm-select-persistent-action-window' in other
1829 window to maintain visibility.
1830
1831 (fn &optional ATTR SPLIT-ONEWINDOW)
1832 (defalias 'helm-execute-persistent-action #[512 "\3062\203\307 \204\310\236@\206\311\236@\262\312\313!\210\211\205(\314\315\211#\311=\2037\316\"!\202;\316\"\211:\203K\317!\204K\211@\202L\211:\205Z\317!?\205ZA\320\315 \203m\211\204m\f\204m\321 \210\322=\203x\323\306\315\"\210\205\324\325 !r\326\327\330\331\332!\333\"\334$\216\335@\336\"\210\337 r\326\327\330\331\332!\340\"\334$\216\203\254\341 \210\202\265\341\206\263 !\210\312\342p\"\210\320\343\315\211\211\211\211123456\344\206\331\345    !\320#\210\346 \204\345\347\350!\210. \205\351 G\352V\205\353\3547!!\355 \232\205\356 *\262*\262*\266\204\262\202\357\360!0\207" [helm-alive-p cursor-in-echo-area mode-line-in-non-selected-windows helm-onewindow-p helm--buffer-in-new-frame-p special-display-buffer-names --cl-block-helm-execute-persistent-action-- helm-get-current-source persistent-action persistent-action-if helm-log "executing persistent-action" helm-get-selection nil assoc-default functionp t helm-toggle-full-frame ignore throw internal--before-with-selected-window helm-window make-byte-code 0 "\301\300!\207" vconcat vector [internal--after-with-selected-window] 2 select-window norecord internal--before-save-selected-window [internal--after-save-selected-window] helm-select-persistent-action-window "current-buffer = %S" (".") helm-execute-selection-action-1 helm-get-actions-from-current-source helm-action-window helm-log-run-hook helm-after-persistent-action-hook window-list 1 buffer-name window-buffer helm-buffer-get delete-other-windows error "Running helm command outside of context" special-display-regexps pop-up-frames pop-up-windows display-buffer-function same-window-regexps helm-in-persistent-action helm-persistent-action-display-window] 16 (#$ . 210589) nil])
1833 (put 'helm-execute-persistent-action 'helm-only t)
1834 #@162 Return the window that will be used for persistent action.
1835 If SPLIT-ONEWINDOW is non-`nil' window is split in persistent action.
1836
1837 (fn &optional SPLIT-ONEWINDOW)
1838 (defalias 'helm-persistent-action-display-window #[256 "\306\307 !r\310\311\312\313\314!\315\"\316$\216\317@\320\"\210\321\211\322!\203+\323    !\235\204+\202\222\n\203R \203R\324 p\310\311\325\313\314\"\326\"\327$\216\330 \320\"\210\331 )\266\202\202\222\203[\332 \202\222\333\334\331 \335\"\211\262!\203}\336\337\340\"\210\337\341B\fB\342\341\337\"\210\332 \202\222\333\343 !\211\262!\203\215\332 \202\222\211\206\222\211\266\202*\207" [helm-persistent-action-display-window helm-buffer helm--buffer-in-new-frame-p helm-initial-frame helm--temp-hooks helm-current-buffer internal--before-with-selected-window helm-window make-byte-code 0 "\301\300!\207" vconcat vector [internal--after-with-selected-window] 2 select-window norecord nil window-live-p get-buffer-window-list selected-frame "\302\300!\203 \303\300\304\"\210\305\301!\205\301q\207" [frame-live-p select-frame norecord buffer-live-p] 3 select-frame selected-window split-window window-dedicated-p next-window 1 defalias #1=#:helm--hook13 #[0 "\301\216\302!\205 \303!)\207" [helm-persistent-action-display-window #[0 "\300\301\302\"\210\303\302!\207" [remove-hook helm-after-update-hook #1# fmakunbound] 3] window-live-p delete-window] 2] helm-after-update-hook add-hook get-buffer-window] 13 (#$ . 213095)])
1839 #@168 Select the window that will be used for persistent action.
1840 See `helm-persistent-action-display-window' for how to use SPLIT-ONEWINDOW.
1841
1842 (fn &optional SPLIT-ONEWINDOW)
1843 (defalias 'helm-select-persistent-action-window #[256 "\301\302\303 !!\210\301\304!\211!\305\306\"\210\207" [minibuffer-scroll-window select-window get-buffer-window helm-buffer-get helm-persistent-action-display-window helm-log "Selected window is %S"] 5 (#$ . 214567)])
1844 #@30 
1845
1846 (fn COMMAND &optional ARG)
1847 (defalias 'helm-other-window-base #[513 "\302 \206        !)\207" [minibuffer-scroll-window helm-scroll-amount helm-persistent-action-display-window] 4 (#$ . 215015)])
1848 #@151 Scroll other window upward ARG many lines.
1849 When arg is not provided scroll `helm-scroll-amount' lines.
1850 See `scroll-other-window'.
1851
1852 (fn &optional ARG)
1853 (defalias 'helm-scroll-other-window #[256 "\203    \301\302\"\207\303\304!\207" [helm-alive-p helm-other-window-base scroll-other-window error "Running helm command outside of context"] 4 (#$ . 215217) "P"])
1854 (put 'helm-scroll-other-window 'helm-only t)
1855 #@158 Scroll other window downward ARG many lines.
1856 When arg is not provided scroll `helm-scroll-amount' lines.
1857 See `scroll-other-window-down'.
1858
1859 (fn &optional ARG)
1860 (defalias 'helm-scroll-other-window-down #[256 "\203    \301\302\"\207\303\304!\207" [helm-alive-p helm-other-window-base scroll-other-window-down error "Running helm command outside of context"] 4 (#$ . 215627) "P"])
1861 (put 'helm-scroll-other-window-down 'helm-only t)
1862 #@127 Run `recenter-top-bottom' in other window.
1863 Meaning of prefix ARG is the same as in `recenter-top-bottom'.
1864
1865 (fn &optional ARG)
1866 (defalias 'helm-recenter-top-bottom-other-window #[256 "\203:\301\302 !r\303\304\305\306\307!\310\"\311$\216\312@\313\"\210\301\314 !r\303\304\305\306\307!\315\"\311$\216\312@\313\"\210\316!*\262*\207\317\320!\207" [helm-alive-p internal--before-with-selected-window helm-window make-byte-code 0 "\301\300!\207" vconcat vector [internal--after-with-selected-window] 2 select-window norecord helm-persistent-action-display-window [internal--after-with-selected-window] recenter-top-bottom error "Running helm command outside of context"] 9 (#$ . 216059) "P"])
1867 (put 'helm-recenter-top-bottom-other-window 'helm-only t)
1868 #@123 Run `reposition-window' in other window.
1869 Meaning of prefix ARG is the same as in `reposition-window'.
1870
1871 (fn &optional ARG)
1872 (defalias 'helm-reposition-window-other-window #[256 "\203:\301\302 !r\303\304\305\306\307!\310\"\311$\216\312@\313\"\210\301\314 !r\303\304\305\306\307!\315\"\311$\216\312@\313\"\210\316!*\262*\207\317\320!\207" [helm-alive-p internal--before-with-selected-window helm-window make-byte-code 0 "\301\300!\207" vconcat vector [internal--after-with-selected-window] 2 select-window norecord helm-persistent-action-display-window [internal--after-with-selected-window] reposition-window error "Running helm command outside of context"] 9 (#$ . 216817) "P"])
1873 (put 'helm-reposition-window-other-window 'helm-only t)
1874 (defalias 'helm-clear-visible-mark #[0 "r\301 q\210\302\303\"\210\304\300!\210\305\211)\207" [helm-visible-mark-overlays helm-buffer-get mapc delete-overlay make-local-variable nil] 3])
1875 (defalias 'helm-this-visible-mark #[0 "\300`!\301\302\301:\203+@\262\303\304\"\203 \262\301\211\262\202!\302\203+A\262\202\207" [overlays-at nil t overlay-get visible-mark] 7])
1876 #@16 
1877
1878 (fn OVERLAY)
1879 (defalias 'helm-delete-visible-mark #[257 "\302 \303\304\305\211#B\"\306!\210\307    \"\211\207" [helm-marked-candidates helm-visible-mark-overlays helm-get-current-source remove helm-get-selection nil delete-overlay delq] 8 (#$ . 217944)])
1880 #@32 
1881
1882 (fn &optional SRC SELECTION)
1883 (defalias 'helm-make-visible-mark #[512 "\206\302 \206\303\304\305\306\"#\307 \203%\310 \206(\311 \206(d\202(\312 T\313\314 \"\315\316\317#\210\315\320\321#\210\315\322\323\324\"#\210\315\325\326!\327!{#\210\315\330#\210\315\331\332#\210\211\333\"\203h\210\202l\211B\210B    B\211\207" [helm-visible-mark-overlays helm-marked-candidates helm-get-current-source helm-get-selection nil helm-attr marked-with-props helm-pos-multiline-p helm-get-next-candidate-separator-pos helm-get-next-header-pos point-at-eol make-overlay point-at-bol overlay-put priority 0 face helm-visible-mark source assoc-default name string overlay-start overlay-end real visible-mark t memql] 12 (#$ . 218210)])
1884 #@92 Toggle helm visible mark at point ARG times.
1885 If ARG is negative toggle backward.
1886
1887 (fn ARG)
1888 (defalias 'helm-toggle-visible-mark #[257 "\203\202\301\302 !r\303\304\305\306\307!\310\"\311$\216\312@\313\"\210\314\315 \236\304W\203)\316\202*\317\2034\320\321!\202~\3222~\304W\203C[\202D\211\211S\211\262\304Y\203z\323 \211\203\\\324!\210\202_\325 \210\210@ \203s\326\315 !\210\327\322\330\"\210\202EA \210\202E\330\266\2020\266\202*\207\331\332!\207" [helm-alive-p internal--before-with-selected-window helm-window make-byte-code 0 "\301\300!\207" vconcat vector [internal--after-with-selected-window] 2 select-window norecord nomark helm-get-current-source (helm-beginning-of-source-p . helm-previous-line) (helm-end-of-source-p . helm-next-line) message "Marking not allowed in this source" --cl-block-nil-- helm-this-visible-mark helm-delete-visible-mark helm-make-visible-mark helm-display-mode-line throw nil error "Running helm command outside of context"] 9 (#$ . 218964) "p"])
1889 (put 'helm-toggle-visible-mark 'helm-only t)
1890 #@88 Return non-`nil' if current source is a file completion source.
1891
1892 (fn &optional SOURCE)
1893 (defalias 'helm-file-completion-source-p #[256 "\2062\302\206 \303 \236A    \304\305\304:\203.@\262\230\211\262?\211\262\203.A\262\202\266\203\262\207" [helm--completing-file-name helm--file-completion-sources name helm-get-current-source nil t] 8 (#$ . 220021)])
1894 #@149 Mark all visible unmarked candidates in current source.
1895
1896 With a prefix arg mark all visible unmarked candidates in all sources.
1897
1898 (fn &optional ALL)
1899 (defalias 'helm-mark-all #[256 "\203Z\301\302 !r\303\304\305\306\307!\310\"\311$\216\312@\313\"\210\204%\314\315!\202X`eb\210\315\211\203J\316 \211\203C\211b\210\317y\210\320 \210\314 \210\202F\321\262\210\202*\210\211b\210\320 \210\322\323 \315\"\262*\207\324\325!\207" [helm-alive-p internal--before-with-selected-window helm-window make-byte-code 0 "\301\300!\207" vconcat vector [internal--after-with-selected-window] 2 select-window norecord helm-mark-all-1 t helm-get-next-header-pos 1 helm-mark-current-line nil helm-display-mode-line helm-get-current-source error "Running helm command outside of context"] 8 (#$ . 220394) "P"])
1900 (put 'helm-mark-all 'helm-only t)
1901 #@287 Mark all visible unmarked candidates in current source.
1902 Need to be wrapped in `with-helm-window'.
1903 Arg ENSURE-BEG-OF-SOURCE ensure we are at beginning of source when
1904 starting to mark candidates, if handled elsewhere before starting it
1905 is not needed.
1906
1907 (fn &optional ENSURE-BEG-OF-SOURCE)
1908 (defalias 'helm-mark-all-1 #[256 "\302 \303!\203\f\304\202 \305\306\236\307\310\"\311!\206\211\312\230\211\205$\313!\314K\315\316\317\320\321!\322\"\323$\216\314\324M\210\325\305!\210\315\316\326\320\321\n!\327\"\323$\216\203Q\314\330!\202\337\212\203^\331 b\210\304y\210\332 \211\205m\212\211b\210\305y\210`)\211\206rd`W\203\332\333 \210\334\335 \336\"\337\340\211 #\205\216\341!\342 \204\305\343\230\204\305\203\277\344\340\345\346#)\266\203\204\305\211\347\235\204\305\203\277\350!\203\305\351 \"\210\266\352 \203\324\353 \206\322db\210\304y\210\202r\266)\333 *\262\207" [helm-pattern inhibit-changing-match-data helm-get-current-source helm-follow-mode-p 1 -1 nomark assoc-default name helm-file-completion-source-p "Files from Current Directory" file-remote-p message make-byte-code 0 "\301\300M\207" vconcat vector [message] 2 ignore helm-follow-mode "\301\300!\207" [helm-follow-mode] "Marking not allowed in this source" helm-get-previous-header-pos helm-get-next-header-pos helm-mark-current-line get-text-property point-at-bol display helm-get-selection nil helm-basename helm-this-visible-mark "[?]" "^[.]?#.*#?$" t string-match ("." "..") file-exists-p helm-make-visible-mark helm-pos-multiline-p helm-get-next-candidate-separator-pos] 21 (#$ . 221233)])
1909 #@63 Unmark all candidates in all sources of current helm session.
1910 (defalias 'helm-unmark-all #[0 "\203+\302\303 !r\304\305\306\307\310!\311\"\312$\216\313@\314\"\210\212\315 \210)\316\317 \210\320\321 !*\207\322\323!\207" [helm-alive-p helm-marked-candidates internal--before-with-selected-window helm-window make-byte-code 0 "\301\300!\207" vconcat vector [internal--after-with-selected-window] 2 select-window norecord helm-clear-visible-mark nil helm-mark-current-line helm-display-mode-line helm-get-current-source error "Running helm command outside of context"] 7 (#$ . 222845) nil])
1911 (put 'helm-unmark-all 'helm-only t)
1912 #@232 Toggle all marks.
1913
1914 Mark all visible candidates of current source or unmark all candidates
1915 visible or invisible in all sources of current helm session.
1916
1917 With a prefix argument mark all candidates in all sources.
1918
1919 (fn &optional ALL)
1920 (defalias 'helm-toggle-all-marks #[256 "\2034\302 \211G\303Y\2030\304\305 !r\306\307\310\311\312!\313\"\314$\216\315@\316\"\210    *\262\2030\317 \2023\320!\207\321\322!\207" [helm-alive-p helm-visible-mark-overlays helm-marked-candidates 1 internal--before-with-selected-window helm-window make-byte-code 0 "\301\300!\207" vconcat vector [internal--after-with-selected-window] 2 select-window norecord helm-unmark-all helm-mark-all error "Running helm command outside of context"] 9 (#$ . 223479) "P"])
1921 (put 'helm-toggle-all-marks 'helm-only t)
1922 #@39 
1923
1924 (fn REAL SOURCE &optional WILDCARD)
1925 (defalias 'helm--compute-marked #[770 "\302\"\205\3031\304\305\"0\202\210\306\211\204L\203L\306\305\307#)\266\203\204L\310!\204L;\203I\311\306\305\307#)\266\203\203L\306\262\211\206V\205VC\207" [helm--url-regexp inhibit-changing-match-data helm-coerce-selection (error) helm-file-expand-wildcards t nil string-match file-exists-p "[[*?]"] 12 (#$ . 224268)])
1926 #@290 Return marked candidates of current source, if any.
1927
1928 Otherwise return one element list consisting of the current
1929 selection. When key WITH-WILDCARD is specified, expand it.
1930 When ALL-SOURCES key value is non-nil returns marked candidates of all
1931 sources.
1932
1933 (fn &key WITH-WILDCARD ALL-SOURCES)
1934 (defalias 'helm-marked-candidates #[128 "\303\304\"A@\303\305\"A@\211\2037\211@\306>\203 \211AA\262\202 \307>A@\203.\310\262\202 \311\312@\"\210\202 \210rq\210\313 \314    !\310\211\211\211:\203\223@\262\211A\262\242\262\205o\315\310\316\317#)\266\203\205o\320!?\262\204\201\321\236\321\236\232\203\214\314\322#!\244\262A\262\202E\211\237\266\205\310\204\266\323\310\324\325\"#\262\322\205\263\320!?#\262\326\327\"\210\266\203)\207" [helm-buffer helm-marked-candidates inhibit-changing-match-data plist-member :with-wildcard :all-sources (:with-wildcard :all-sources :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:with-wildcard :all-sources)" helm-get-current-source reverse "\\*" t string-match file-exists-p name helm--compute-marked helm-get-selection helm-attr marked-with-props helm-log "Marked candidates = %S"] 16 (#$ . 224706)])
1935 #@12 
1936
1937 (fn ELM)
1938 (defalias 'helm--remove-marked-and-update-mode-line #[257 "r\301 q\210\302\303\"\"\304\305 !)\207" [helm-marked-candidates helm-buffer-get delete rassoc helm-display-mode-line helm-get-current-source] 5 (#$ . 225931)])
1939 #@13 
1940
1941 (fn NAME)
1942 (defalias 'helm-current-source-name= #[257 "\212\300 b\210\211\301 \232)\207" [helm-get-previous-header-pos helm-current-line-contents] 3 (#$ . 226171)])
1943 #@54 Restore marked candidates when helm updates display.
1944 (defalias 'helm-revive-visible-mark #[0 "rq\210\212    \211\205\233\211@\302\303\"\302\304\"\305\211eb\210\306\305\307#\210\306\305\307#\203\222\310\311\312!!\305\307:\203I@\262\302\313\"?\211\262\203IA\262\202.\211\205N\307\266\203\203\222\314!\203\222\312\224\262\312\225\262\315\311\312!\316\"\211\203\302\317\"\232\203\216\320#\210\202\216{\232\203\216\320#\210\210\202\266A\266\202\202\262*\207" [helm-buffer helm-visible-mark-overlays overlay-get source string nil search-forward t overlays-at point-at-bol 0 visible-mark helm-current-source-name= get-text-property helm-realvalue real move-overlay] 12 (#$ . 226343)])
1945 (add-hook 'helm-after-update-hook 'helm-revive-visible-mark)
1946 #@37 
1947
1948 (fn CURPOS POINTS &optional PREV)
1949 (defalias 'helm-next-point-in-list #[770 "\204\207\211\203@X\203GS8\207\300!@W\203,\211\203)\300!@\207@\207\211\204<\300!@Y\203<@\207\211\203t\301\302\303\301:\203o@\262X\203`S\262\301\211\262\202a\303\203oA\262T\262\202E\266\204\202\244\301\302\303\301:\203\242@\262W\203\223\262\301\211\262\202\224\303\203\242A\262T\262\202y\266\2048\207" [last nil 0 t] 10 (#$ . 227134)])
1950 #@91 Move next helm visible mark.
1951 If PREV is non-`nil' move to precedent.
1952
1953 (fn &optional PREV)
1954 (defalias 'helm-next-visible-mark #[256 "\2038\302\303 !r\304\305\306\307\310!\311\"\312$\216\313@\314\"\210\3151/\316`\317\320\321    \"\322\"#b0\2023\210\2024\210\323 *\207\324\325!\207" [helm-alive-p helm-visible-mark-overlays internal--before-with-selected-window helm-window make-byte-code 0 "\301\300!\207" vconcat vector [internal--after-with-selected-window] 2 select-window norecord (error) helm-next-point-in-list sort mapcar overlay-start < helm-mark-current-line error "Running helm command outside of context"] 8 (#$ . 227616) nil])
1955 (put 'helm-next-visible-mark 'helm-only t)
1956 #@34 Move previous helm visible mark.
1957 (defalias 'helm-prev-visible-mark #[0 "\203\301\302!\207\303\304!\207" [helm-alive-p helm-next-visible-mark t error "Running helm command outside of context"] 2 (#$ . 228306) nil])
1958 (put 'helm-prev-visible-mark 'helm-only t)
1959 #@123 Set minibuffer contents to current display selection.
1960 With a prefix arg set to real value of current selection.
1961
1962 (fn ARG)
1963 (defalias 'helm-yank-selection #[257 "\203\301\302\303\304?\"\"\305!\210\306!\207\307\310!\207" [helm-alive-p format "%s" helm-get-selection nil kill-new helm-set-pattern error "Running helm command outside of context"] 6 (#$ . 228573) "P"])
1964 (put 'helm-yank-selection 'helm-only t)
1965 #@204 Store display value of current selection to kill ring.
1966 With a prefix arg use real value of current selection.
1967 Display value is shown in `helm-buffer' and real value
1968 is used to perform actions.
1969
1970 (fn ARG)
1971 (defalias 'helm-kill-selection-and-quit #[257 "\203\301\302\303\304\305\306?\"\"\"\207\307\310!\207" [helm-alive-p helm-run-after-exit #[257 "\300!\210\301\302\303\"\210\304\305!\210\207" [kill-new nil message "Saved to kill-ring: %s" sit-for 1] 5 "\n\n(fn SEL)"] format "%s" helm-get-selection nil error "Running helm command outside of context"] 8 (#$ . 228990) "P"])
1972 (put 'helm-kill-selection-and-quit 'helm-only t)
1973 #@142 Copy selection or marked candidates to `helm-current-buffer'.
1974 Note that the real values of candidates are copied and not the
1975 display values.
1976 (defalias 'helm-copy-to-buffer #[0 "\203\n\301\302\303 \"\207\304\305!\207" [helm-alive-p helm-run-after-exit #[257 "r\301!\203 \206p\211q\210\302\303\304#c)\207" [helm-current-buffer buffer-live-p mapconcat #[257 "\300\301\"\207" [format "%s"] 4 "\n\n(fn C)"] "\n"] 5 "\n\n(fn CANDS)"] helm-marked-candidates error "Running helm command outside of context"] 3 (#$ . 229626) nil])
1977 (put 'helm-copy-to-buffer 'helm-only t)
1978 #@167 `helm-follow-mode' will execute its persistent action after this delay.
1979 Note that if the `follow-delay' attr is present in source,
1980 it will take precedence over this.
1981 (defvar helm-follow-input-idle-delay nil (#$ . 230205))
1982 #@1035 Execute persistent action every time the cursor is moved.
1983
1984 This mode is source local, i.e It apply on current source only.
1985 \<helm-map>
1986 This mode can be enabled or disabled interactively at anytime during
1987 a helm session with \[helm-follow-mode].
1988
1989 When enabling interactively `helm-follow-mode' in a source, you can keep it enabled
1990 for next emacs sessions by setting `helm-follow-mode-persistent' to a non-nil value.
1991
1992 When `helm-follow-mode' is called with a prefix arg and `helm-follow-mode-persistent'
1993 is non-nil `helm-follow-mode' will be persistent only for this emacs session,
1994 but not for next emacs sessions, i.e the current source will not be saved
1995 to `helm-source-names-using-follow'.
1996 A prefix arg with `helm-follow-mode' already enabled will have no effect.
1997
1998 Note that you can use instead of this mode the commands `helm-follow-action-forward'
1999 and `helm-follow-action-backward' at anytime in all helm sessions.
2000
2001 They are bound by default to \[helm-follow-action-forward] and \[helm-follow-action-backward].
2002
2003 (fn &optional ARG)
2004 (defalias 'helm-follow-mode #[256 "\203\226r    q\210\304 \305\306\"\307\236\310!\206!\n\205!\305\306\" \235\203\217A\311=\2032\312\313!\202\222\314\204B\247\203F\315W\203F\316\202G\317\"\210\n\203x\204x\211\204h \235\204x B\320\303 \"\210\202x \235\203x\321 \"\320\303 \"\210\312\322\310!\203\205\323\202\206\324\"\210\325\326\"\202\222\312\327!\266\204)\207\330\331!\207" [helm-alive-p helm-buffer helm-follow-mode-persistent helm-source-names-using-follow helm-get-current-source assoc-default name follow helm-follow-mode-p never message "helm-follow-mode not allowed in this source" helm-follow-mode-set-source 0 -1 1 customize-save-variable delete "helm-follow-mode is %s" "enabled" "disabled" helm-display-mode-line t "Not enough candidates for helm-follow-mode" error "Running helm command outside of context"] 9 (#$ . 230435) (byte-code "\205\301!\211\205\302 ?\205\211\262C\207" [current-prefix-arg prefix-numeric-value helm-follow-mode-p] 2)])
2005 (put 'helm-follow-mode 'helm-only t)
2006 #@214 Execute persistent action in mode `helm-follow-mode'.
2007
2008 This happen after: DELAY or the 'follow-attr value of current source
2009 or `helm-follow-input-idle-delay' or `helm-input-idle-delay' secs.
2010
2011 (fn &optional DELAY)
2012 (defalias 'helm-follow-execute-persistent-action-maybe #[256 "\305 \206\306\307\"\206\206    \203    \310]\206\311\312\n\313\"?\205Y\314 ?\205Y\315!\204= \205Y\306\316\"\f\235\205Y\306\317\"\320=?\205Y\321\322\211#\205Y\323\324\"\210\325\322\326#\207" [helm-follow-input-idle-delay helm-input-idle-delay helm-action-buffer helm-follow-mode-persistent helm-source-names-using-follow helm-get-current-source assoc-default follow-delay 0.01 0.01 get-buffer-window visible helm-pos-header-line-p helm-follow-mode-p name follow never helm-get-selection nil helm-follow-mode-set-source 1 run-with-idle-timer #[0 "\205\301 \207" [helm-alive-p helm-execute-persistent-action] 1]] 7 (#$ . 232514)])
2013 #@25 
2014
2015 (fn &optional SOURCE)
2016 (defalias 'helm-follow-mode-p #[256 "r\300 q\210\301\302\206 \303 \")\304=\207" [helm-buffer-get helm-attr follow helm-get-current-source 1] 4 (#$ . 233446)])
2017 #@31 
2018
2019 (fn VALUE &optional SOURCE)
2020 (defalias 'helm-follow-mode-set-source #[513 "r\300 q\210\301\302\206\303 #)\207" [helm-buffer-get helm-attrset follow helm-get-current-source] 6 (#$ . 233637)])
2021 #@40 
2022
2023 (fn &optional MAX-HEIGHT MIN-HEIGHT)
2024 (defalias 'helm--autoresize-hook #[512 "\302 \2056\303\302 !r\304\305\306\307\310!\311\"\312$\216\313@\314\"\210\315\316\317 \206%_\320\245\317 \206/    _\320\245#*\262\207" [helm-autoresize-max-height helm-autoresize-min-height helm-window internal--before-with-selected-window make-byte-code 0 "\301\300!\207" vconcat vector [internal--after-with-selected-window] 2 select-window norecord fit-window-to-buffer nil frame-height 100] 9 (#$ . 233839)])
2025 (byte-code "\300\301\302\303\304DD\305\306\307\310\311\312\313\314\315& \207" [custom-declare-variable helm-autoresize-mode funcall function #[0 "\300\207" [nil] 1] "Non-nil if Helm-Autoresize mode is enabled.\nSee the `helm-autoresize-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-autoresize-mode'." :set custom-set-minor-mode :initialize custom-initialize-default :group helm :type boolean] 12)
2026 #@297 Auto resize helm window when enabled.
2027 Helm window is re-sized according to `helm-autoresize-max-height'
2028 and `helm-autoresize-min-height'. Note that when this mode is
2029 enabled, helm behaves as if `helm-always-two-windows' is
2030 enabled.
2031
2032 See `fit-window-to-buffer' for more infos.
2033
2034 (fn &optional ARG)
2035 (defalias 'helm-autoresize-mode #[256 "\301 \302\300\303=\203\304\300!?\202\305!\306V\"\210\203)\307\310\311\"\210\307\312\311\"\210\2023\313\310\311\"\210\313\312\311\"\210\314\315\304\300!\203?\316\202@\317\"\210\320\321!\203j\322\300!\210\301 \203X\211\301 \232\203j\323\324\325\304\300!\203e\326\202f\327#\266\210\330 \210\304\300!\207" [helm-autoresize-mode current-message set-default toggle default-value prefix-numeric-value 0 add-hook helm-after-update-hook helm--autoresize-hook helm-window-configuration-hook remove-hook run-hooks helm-autoresize-mode-hook helm-autoresize-mode-on-hook helm-autoresize-mode-off-hook called-interactively-p any customize-mark-as-set "" message "Helm-Autoresize mode %sabled%s" "en" "dis" force-mode-line-update] 7 (#$ . 234891) (byte-code "\206\301C\207" [current-prefix-arg toggle] 1)])
2036 (defvar helm-autoresize-mode-hook nil)
2037 (byte-code "\301\302N\204\f\303\301\302\304#\210\305\306\307\310\300!\205\307\211%\207" [helm-autoresize-mode-map helm-autoresize-mode-hook variable-documentation put "Hook run after entering or leaving `helm-autoresize-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-autoresize-mode nil boundp] 6)
2038 #@337 Generate helm's help according to `help-message' attribute.
2039
2040 If `helm-buffer' is empty, provide completions on `helm-sources' to
2041 choose its local documentation.
2042 If source doesn't have any `help-message' attribute, a generic message
2043 explaining this is added instead.
2044 The global `helm-help-message' is always added after this local help.
2045 (defalias 'helm-help #[0 "\203h\302 \206F\303\304r\305 q\210    )\306\211\211:\203<@\2629\203(J\202)\262\307\310\"BB\262A\262\202\211\237\266\204\311\312\313\312&\314 r\315\316\317\320\321!\322\"\323$\216\324\325\315\316\326\320\321!\327\"\330$\"*\262\207\331\332!\207" [helm-alive-p helm-sources helm-get-current-source helm-comp-read "Help for: " helm-buffer-get nil assoc-default name :allow-nest t :exec-when-only-one internal--before-save-selected-window make-byte-code 0 "\301\300!\207" vconcat vector [internal--after-save-selected-window] 2 helm-help-internal "*Helm Help*" "\302\303\300\"\211\203\304\305!!c\210\202\306c\210\210\307\304\305    !!\261\207" [helm-help-message assoc-default help-message substitute-command-keys helm-interpret-value "* No specific help for this source available." "\n\n"] 4 error "Running helm command outside of context"] 10 (#$ . 236495) nil])
2046 (put 'helm-help 'helm-only t)
2047 #@48 Toggle `truncate-lines' value in `helm-buffer'
2048 (defalias 'helm-toggle-truncate-line #[0 "\203r\302 q\210    ?\303 \205\304\305\306\307\310\"!!)\207\311\312!\207" [helm-alive-p truncate-lines helm-buffer-get helm-get-previous-header-pos helm-update regexp-quote helm-get-selection nil t error "Running helm command outside of context"] 5 (#$ . 237779) nil])
2049 (byte-code "\300\301\302\303#\210\304\305!\207" [put helm-toggle-truncate-line helm-only t provide helm] 4)