;ELC   
;;; Compiled
;;; in Emacs version 24.5.1
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.

;;; This file does not contain utf-8 non-ASCII characters,
;;; and so can be loaded in Emacs versions earlier than 23.

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


(byte-code "\300\301!\210\300\302!\210\300\303!\210\304\305\306\307\310\302%\207" [require cl-lib helm helm-plugin custom-declare-group helm-info nil "Info related Applications and libraries for Helm." :group] 6)
#@48 

(fn &optional (FILE (helm-attr 'info-file)))
(defalias 'helm-info-init #[128 "\211\203 \211A\262\242\202 \302\303!\203 \304\305\306GTD\"\210\205# \307 \211\203+ \310!\210\210\307 ?\205\235 \311 \312\313\314\315\316\317!\320\"\321\322%DC\216\323!\210\307\324!p\325\211\211\326 \211\205\225 \211@\327!\210eb\210\330\331\325\332#\203\216 \330\333\334 T\332#\204a \335 \262\334 \262rq\210\336#\210\337c\210)\202a A\266\202\202T \262)\266\205)\262\207" [debug-on-error Info-history helm-attr info-file signal wrong-number-of-arguments helm-info-init helm-candidate-buffer kill-buffer current-window-configuration funcall make-byte-code 0 "\301\300!\207" vconcat vector [set-window-configuration] 2 "\n\n(fn)" info global nil Info-index-nodes Info-goto-node search-forward "\n* " t "Menu:\n" point-at-eol point-at-bol insert-buffer-substring "\n"] 14 (#$ . 623)])
(defalias 'helm-info-goto #[257 "\300@!\210\301A!\207" [Info-goto-node helm-goto-line] 3 "\n\n(fn NODE-LINE)"])
(defalias 'helm-info-display-to-real #[257 "\300\301\"\205 \302\303\304\305!\306\307\"#\310\306\311\"\206 \312!B\207" [string-match "\\* +\\([^\n]*.+[^\n]*\\):[ 	]+\\([^\n]*\\)\\.\\(?:[ 	\n]*(line +\\([0-9]+\\))\\)?" format "(%s)%s" helm-attr info-file match-string 2 string-to-number 3 "1"] 7 "\n\n(fn LINE)"])
(byte-code "\300\301\302\303\304$\207" [eieio-defclass helm-info-source (helm-source-in-buffer) ((info-file :initarg :info-file :initform nil :custom 'string) (init :initform #'helm-info-init) (display-to-real :initform #'helm-info-display-to-real) (get-line :initform #'buffer-substring) (action :initform '(("Goto node" . helm-info-goto)))) nil] 5)
(defalias 'helm-build-info-source '(macro . #[385 "\300\301\302E\303\304BBBBB\207" [helm-make-source concat "Info Index: " 'helm-info-source :info-file] 8 "\n\n(fn FNAME &rest ARGS)"]))
#@190 Define an helm command NAME with documentation DOC.
Arg SOURCE will be an existing helm source named
`helm-source-info-<NAME>' and BUFFER a string buffer name.

(fn NAME DOC SOURCE BUFFER)
(defalias 'helm-build-info-index-command #[1028 "\300\301\302P!\303\304\305\306\307\"\310\"\311\312\313&#\207" [defalias intern "helm-info-" make-byte-code 0 "\302\303\300\304\301\305\306&\207" vconcat vector [helm :sources :buffer :candidate-number-limit 1000] 7 "\n\n(fn)" nil] 13 (#$ . 2487)])
#@286 Define helm sources named helm-source-info-<NAME>.
Sources are generated for all entries of `helm-default-info-index-list'.
If COMMANDS arg is non--nil build also commands named `helm-info<NAME>'.
Where NAME is one of `helm-default-info-index-list'.

(fn VAR-VALUE &optional COMMANDS)
(defalias 'helm-define-info-index-sources #[513 "\300\211:\2038 @\262\301\302P!\262\211\303\304P\305\306$L\210\2031 \307\310\311\"\310\312\"$\210A\262\202 \300\207" [nil intern "helm-source-info-" helm-make-source "Info Index: " helm-info-source :info-file helm-build-info-index-command format "Predefined helm for %s info." "*helm info %s*"] 12 (#$ . 2989)])
(defalias 'helm-info-index-set #[514 "L\210\300\301\"\207" [helm-define-info-index-sources t] 5 "\n\n(fn VAR VALUE)"])
(byte-code "\300\301\302\303\304DD\305\306\307\310\311\312\313&	\210\300\314\302\303\315DD\316\306\307\310\317&\207" [custom-declare-variable helm-default-info-index-list funcall function #[0 "\300\207" [("elisp" "cl" "org" "gnus" "tramp" "ratpoison" "zsh" "bash" "coreutils" "fileutils" "find" "sh-utils" "textutils" "libc" "make" "automake" "autoconf" "eintr" "emacs" "elib" "eieio" "gauche-refe" "guile" "guile-tut" "goops" "screen" "latex" "gawk" "sed" "m4" "wget" "binutils" "as" "bfd" "gprof" "ld" "diff" "flex" "grep" "gzip" "libtool" "texinfo" "info" "gdb" "stabs" "cvsbook" "cvs" "bison" "id-utils" "global")] 1 "\n\n(fn)"] "Info Manual entries to use for building helm info index commands." :group helm-info :type (repeat (choice string)) :set helm-info-index-set helm-info-default-sources #[0 "\300\207" [(helm-source-info-elisp helm-source-info-cl helm-source-info-eieio helm-source-info-pages)] 1 "\n\n(fn)"] "The default sources to use in `helm-info-at-point'." (repeat (choice symbol))] 10)
#@37 Cache for all info pages on system.
(defvar helm-info--pages-cache nil (#$ . 4787))
#@53 Collect candidates for initial Info node Top.

(fn)
(defalias 'helm-info-pages-init #[0 "\203 \207\301\302\303\304!\210\305\306!r\211q\210\307\310\311\312\313\314!\315\"\316\317%DC\216\320\321\322\"\210eb\210\323\302\324#\203> \325\326!B\262\202, \327 \210*\210\211\211\207" [helm-info--pages-cache "\\* +\\([^:]+: ([^)]+)[^.]*\\)\\." nil require info generate-new-buffer " *temp*" funcall make-byte-code 0 "\301\300!\205	 \302\300!\207" vconcat vector [buffer-name kill-buffer] 2 "\n\n(fn)" Info-find-node "dir" "top" re-search-forward t match-string-no-properties 1 kill-buffer] 10 (#$ . 4877)])
(defvar helm-source-info-pages (helm-make-source "Info Pages" 'helm-source-sync :init 'helm-info-pages-init :candidates #[0 "\207" [helm-info--pages-cache] 1 "\n\n(fn)"] :action '(("Show with Info" lambda (node-str) (info (replace-regexp-in-string "^[^:]+: " "" node-str)))) :requires-pattern 2))
#@99 Preconfigured `helm' for searching info at point.
With a prefix-arg insert symbol at point.

(fn)
(defalias 'helm-info-at-point #[0 "\301\302\303\304$\207" [helm-info-default-sources helm :sources :buffer "*helm info*"] 5 (#$ . 5788) nil])
(provide 'helm-info)
