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



(require 'cl-lib)
#@23 Keymap for Help mode.
(defvar help-mode-map (byte-code "\302 \303\304	\"\"\210\305\306\307#\210\305\310\311#\210\305\312\307#\210\305\313\311#\210\305\314\307#\210\305\315\311#\210\305\316\317#\210\305\320\321#\210\305\322\323#\210\305\324\325#\210\207" [button-buffer-map special-mode-map make-sparse-keymap set-keymap-parent make-composed-keymap define-key "l" help-go-back "r" help-go-forward "" "" [XF86Back] [XF86Forward] "" help-follow-symbol "s" help-view-source "i" help-goto-info "c" help-customize] 6) (#$ . 102))
#@21 Menu for Help mode.
(defvar help-mode-menu nil (#$ . 650))
(easy-menu-do-define 'help-mode-menu help-mode-map "Menu for Help mode." '("Help-Mode" ["Show Help for Symbol" help-follow-symbol :help "Show the docs for the symbol at point"] ["Previous Topic" help-go-back :help "Go back to previous topic in this help buffer" :active help-xref-stack] ["Next Topic" help-go-forward :help "Go back to next topic in this help buffer" :active help-xref-forward-stack] ["Move to Previous Button" backward-button :help "Move to the Previous Button in the help buffer"] ["Move to Next Button" forward-button :help "Move to the Next Button in the help buffer"] ["View Source" help-view-source :help "Go to the source file for the current help item"] ["Goto Info" help-goto-info :help "Go to the info node for the current help item"] ["Customize" help-customize :help "Customize variable or face"]))
#@66 Populate MENU with Help mode commands at CLICK.

(fn MENU CLICK)
(defalias 'help-mode-context-menu #[514 "\301\302#\210\303\304!\305\306\306\307$\210\310\311\312\"!\211\2032 \211@\211:\203+ \301\313@!A#\210A\266\202\202 \266\314\315!\316\"\203C \301\317\320#\210\207" [menu-bar-separator define-key [help-mode-separator] make-sparse-keymap "Help-Mode" easy-menu-do-define nil ("Help-Mode" ["Previous Topic" help-go-back :help "Go back to previous topic in this help buffer" :active help-xref-stack] ["Next Topic" help-go-forward :help "Go back to next topic in this help buffer" :active help-xref-forward-stack]) reverse lookup-key [menu-bar help-mode] vector mouse-posn-property event-start mouse-face [help-mode-push-button] (menu-item "Follow Link" (lambda (event) (interactive "e") (push-button event)) :help "Follow the link at click")] 9 (#$ . 1542)])
(defvar help-mode-tool-bar-map (byte-code "\302 \303\304\305\306\307\310\311\312&\210\313\314#\210\303\315\316\317\307\320\311\312&\210\321\322\323	\324\325\311\312&\210\321\326\325	\324\323\311\312&\210\207" [menu-bar-separator help-mode-map make-sparse-keymap tool-bar-local-item "close" quit-window quit :help "Quit help" :vert-only t define-key-after [separator-1] "search" isearch-forward search "Search" tool-bar-local-item-from-menu help-go-back "left-arrow" :rtl "right-arrow" help-go-forward] 10))
#@246 A stack of ways by which to return to help buffers after following xrefs.
Used by `help-follow-symbol' and `help-xref-go-back'.
An element looks like (POSITION FUNCTION ARGS...).
To use the element, do (apply FUNCTION ARGS) then goto the point.
(defvar help-xref-stack nil (#$ . 2937))
(byte-code "\300\301!\210\302\301\303\304#\207" [make-variable-buffer-local help-xref-stack put permanent-local t] 4)
#@243 A stack used to navigate help forwards after using the back button.
Used by `help-follow-symbol' and `help-xref-go-forward'.
An element looks like (POSITION FUNCTION ARGS...).
To use the element, do (apply FUNCTION ARGS) then goto the point.
(defvar help-xref-forward-stack nil (#$ . 3348))
(byte-code "\300\301!\210\302\301\303\304#\207" [make-variable-buffer-local help-xref-forward-stack put permanent-local t] 4)
#@100 An item for `help-follow-symbol' to push onto `help-xref-stack'.
The format is (FUNCTION ARGS...).
(defvar help-xref-stack-item nil (#$ . 3772))
(byte-code "\300\301!\210\302\301\303\304#\207" [make-variable-buffer-local help-xref-stack-item put permanent-local t] 4)
#@102 An item for `help-go-back' to push onto `help-xref-forward-stack'.
The format is (FUNCTION ARGS...).
(defvar help-xref-stack-forward-item nil (#$ . 4047))
(byte-code "\300\301!\210\302\301\303\304#\210\305\306\307\"\210\305\310\307\"\210\305\311\307\"\210\305\312\307\"\207" [make-variable-buffer-local help-xref-stack-forward-item put permanent-local t set-default help-xref-stack nil help-xref-stack-item help-xref-forward-stack help-xref-forward-stack-item] 4)
#@35 Syntax table used in `help-mode'.
(defvar help-mode-syntax-table (byte-code "\301!\302\303\304#\210\302\305\306#\210\207" [emacs-lisp-mode-syntax-table make-syntax-table modify-syntax-entry 8216 "(’  " 8217 ")‘  "] 5) (#$ . 4517))
(byte-code "\300\301\302\303\304DD\305\306\307\310\311&\210\312\313\314\315\316\317%\207" [custom-declare-variable help-mode-hook funcall function #[0 "\300\207" [nil] 1 ""] "Hook run by `help-mode'." :type hook :group help define-button-type help-xref follow-link t action help-button-action] 8)
#@43 Call BUTTON's help function.

(fn BUTTON)
(defalias 'help-button-action #[257 "\300\301\302\303\"\302\304\"#\207" [help-do-xref nil button-get help-function help-args] 7 (#$ . 5059)])
(byte-code "\300\301\302\303\301\304\305\306\307!&\210\300\310\302\303\301\311\305\306\312!&\210\300\313\302\303\301\314\305\306\315!&\210\300\316\302\303\301\317\305\306\320!&\210\300\321\302\303\301\322\305\306\323!&\210\300\324\302\303\301\325\305\306\326!&\210\300\327\302\303\301\330\305\306\331!&\210\300\332\302\303\301\333\305\306\334!&\210\300\335\302\303\301\336\305\306\337!&\210\300\340\302\303\301\341\305\306\342!&\210\300\343\302\303\301\344\305\306\342!&\210\300\345\302\303\301\346\305\306\347!&\210\300\350\302\303\301\351\305\306\352!&\210\300\353\302\303\301\354\305\306\355!&\210\300\356\302\303\301\357\305\306\360!&\210\300\361\302\303\301\362\305\306\363!&\207" [define-button-type help-function :supertype help-xref describe-function help-echo purecopy "mouse-2, RET: describe this function" help-variable describe-variable "mouse-2, RET: describe this variable" help-face describe-face "mouse-2, RET: describe this face" help-coding-system describe-coding-system "mouse-2, RET: describe this coding system" help-input-method describe-input-method "mouse-2, RET: describe this input method" help-character-set describe-character-set "mouse-2, RET: describe this character set" help-symbol describe-symbol "mouse-2, RET: describe this symbol" help-back help-xref-go-back "mouse-2, RET: go back to previous help buffer" help-forward help-xref-go-forward "mouse-2, RET: move forward to next help buffer" help-info-variable #[514 "\300!\207" [info] 4 "\n\n(fn A V)"] "mouse-2, RET: read this Info node" help-info info help-man man "mouse-2, RET: read this man page" help-customization-group customize-group "mouse-2, RET: display this customization group" help-url browse-url "mouse-2, RET: view this URL in a browser" help-customize-variable #[257 "\300!\207" [customize-variable] 3 "\n\n(fn V)"] "mouse-2, RET: customize variable" help-customize-face #[257 "\300!\207" [customize-face] 3 "\n\n(fn V)"] "mouse-2, RET: customize face"] 9)
#@32 

(fn FUN &optional FILE TYPE)
(defalias 'help-function-def--button-function #[769 "\204\n \300\"\262\204 \301\302!\207\303\304!\210\305=\203$ \306\307!\310\"\262\311#\211A\312@!\210\313\314!\210\211\203I \211eW\204D \211dV\203F ~\210\211b\207\301\315!\207" [find-lisp-object-file-name message "Unable to find defining file" require find-func C-source help-C-file-name indirect-function fun find-function-search-for-symbol pop-to-buffer run-hooks find-function-after-hook "Unable to find location in file"] 7 (#$ . 7230)])
(byte-code "\300\301\302\303\304\305\306\307\310!&\210\300\311\302\303\304\312\306\307\313!&\210\300\314\302\303\304\315\306\307\316!&\210\300\317\302\303\304\320\306\307\321!&\210\300\322\302\303\304\323\306\307\324!&\210\300\325\302\303\304\326\306\307\327!&\210\300\330\302\303\304\331\306\307\332!&\210\300\333\302\303\304\334\306\307\335!&\210\300\336\302\303\304\337\306\307\340!&\210\300\341\302\303\304\342\306\307\343!&\207" [define-button-type help-function-def :supertype help-xref help-function help-function-def--button-function help-echo purecopy "mouse-2, RET: find function's definition" help-function-cmacro #[514 "\300\301\"\262\211\2032 \302!\2032 \303\304!!\210~\210eb\210\305\306\307\310\311!!\"\312\301#\203. \313y\207\314\315!\207\314\316!\207" [locate-library t file-readable-p pop-to-buffer find-file-noselect re-search-forward format "^[ 	]*(\\(cl-\\)?define-compiler-macro[ 	]+%s" regexp-quote symbol-name nil 0 message "Unable to find location in file" "Unable to find file"] 8 "\n\n(fn FUN FILE)"] "mouse-2, RET: find function's compiler macro" help-variable-def #[513 "\211\300=\203\f \301\302\"\262\303\"\211A\304@!\210\305\306!\210\211\2030 \211eW\204+ \211dV\203- ~\210\211b\207\307\310!\207" [C-source help-C-file-name var find-variable-noselect pop-to-buffer run-hooks find-function-after-hook message "Unable to find location in file"] 6 "\n\n(fn VAR &optional FILE)"] "mouse-2, RET: find variable's definition" help-face-def #[514 "\300\301!\210\302\303#\211A\304@!\210\211\203% \211eW\204  \211dV\203\" ~\210\211b\207\305\306!\207" [require find-func find-function-search-for-symbol defface pop-to-buffer message "Unable to find location in file"] 6 "\n\n(fn FUN FILE)"] "mouse-2, RET: find face's definition" help-package describe-package "mouse-2, RET: Describe package" help-package-def #[257 "\300!\207" [dired] 3 "\n\n(fn FILE)"] "mouse-2, RET: visit package directory" help-theme-def find-file "mouse-2, RET: visit theme file" help-theme-edit customize-create-theme "mouse-2, RET: edit this theme file" help-dir-local-var-def #[513 "\300!\207" [find-file] 4 "\n\n(fn VAR &optional FILE)"] "mouse-2, RET: open directory-local variables file" help-news #[514 "\300\301!!\210\211b\207" [view-buffer-other-window find-file-noselect] 5 "\n\n(fn FILE POS)"] "mouse-2, RET: show corresponding NEWS announcement"] 9)
(defvar help-mode--current-data nil)
(defvar help-mode-hook nil)
(byte-code "\300\301N\204\f \302\300\301\303#\210\304\305!\204 \302\305\306\307#\210\300\207" [help-mode-hook variable-documentation put "Hook run after entering Help mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" boundp help-mode-map definition-name help-mode] 4)
(defvar help-mode-map (make-sparse-keymap))
(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\322#\207" [help-mode-abbrev-table help-mode-map variable-documentation put purecopy "Keymap for `help-mode'." boundp help-mode-syntax-table definition-name help-mode (lambda (#1=#:def-tmp-var) (defvar help-mode-syntax-table #1#)) make-syntax-table "Syntax table for `help-mode'." (lambda (#1#) (defvar help-mode-abbrev-table #1#)) define-abbrev-table nil "Abbrev table for `help-mode'." derived-mode-parent special-mode] 5)
#@152 Major mode for viewing help text and navigating references in it.
Entry to this mode runs the normal hook `help-mode-hook'.
Commands:
\{help-mode-map}
(defalias 'help-mode #[0 "\306\300!\210\307\310 \210\311\312\310\313N\203 \314\311\313\310\313N#\210\315!\204' \316\317 \"\210\320\f!\211\2035 \211\321 =\203; \322\f\323 \"\210\210\324\325\"\204R &=\204R \326\325&C#\210\327!\210\330\f!\210&\306\331!\210\332\333\334\335\336\307$\210\306\337!\210'\306\340!\210\341 \306\342!\210\343\")\344\345!\207" [delay-mode-hooks major-mode mode-name help-mode-map help-mode-syntax-table help-mode-abbrev-table make-local-variable t special-mode help-mode "Help" mode-class put keymap-parent set-keymap-parent current-local-map char-table-parent standard-syntax-table set-char-table-parent syntax-table abbrev-table-get :parents abbrev-table-put use-local-map set-syntax-table revert-buffer-function help-mode-revert-buffer add-hook context-menu-functions help-mode-context-menu 5 tool-bar-map help-mode--current-data nil bookmark-make-record-function help-bookmark-make-record run-mode-hooks help-mode-hook local-abbrev-table help-mode-tool-bar-map] 5 (#$ . 11301) nil])
#@40 Enter Help mode in the current buffer.
(defalias 'help-mode-setup #[0 "\301 \210\302\211\207" [buffer-read-only help-mode nil] 2 (#$ . 12488)])
#@45 Finalize Help mode setup in current buffer.
(defalias 'help-mode-finish #[0 "\301\302!\205 \303\304p!\207" [buffer-read-only derived-mode-p help-mode t help-make-xrefs] 2 (#$ . 12639)])
#@62 Label to use by `help-make-xrefs' for the go-back reference.
(defvar help-back-label (purecopy "[back]") (#$ . 12833))
#@65 Label to use by `help-make-xrefs' for the go-forward reference.
(defvar help-forward-label (purecopy "[forward]") (#$ . 12958))
#@180 Regexp matching doc string references to symbols.

The words preceding the quoted symbol can be used in doc strings to
distinguish references to variables, functions and symbols.
(defconst help-xref-symbol-regexp (purecopy "\\(\\<\\(\\(variable\\|option\\)\\|\\(function\\|command\\|call\\)\\|\\(face\\)\\|\\(symbol\\|program\\|property\\)\\|\\(source \\(?:code \\)?\\(?:of\\|for\\)\\)\\)[ 	\n]+\\)?['`‘]\\(\\(?:\\sw\\|\\s_\\)+\\|`\\)['’]") (#$ . 13093))
#@236 Regexp matching doc string references to MULE-related keywords.

It is usually nil, and is temporarily bound to an appropriate regexp
when help commands related to multilingual environment (e.g.,
`describe-coding-system') are invoked.
(defvar help-xref-mule-regexp nil (#$ . 13559))
#@56 Regexp matching doc string references to an Info node.
(defconst help-xref-info-regexp (purecopy "\\<[Ii]nfo[ 	\n]+\\(node\\|anchor\\)[ 	\n]+['`‘]\\([^'’]+\\)['’]") (#$ . 13848))
#@54 Regexp matching doc string references to a man page.
(defconst help-xref-man-regexp (purecopy "\\<[Mm]an[ 	\n]+page[ 	\n]+\\(?:for[ 	\n]+\\)?['`‘\"]\\([^'’\"]+\\)['’\"]") (#$ . 14039))
#@65 Regexp matching doc string references to a customization group.
(defconst help-xref-customization-group-regexp (purecopy "\\<[Cc]ustomization[ 	\n]+[Gg]roup[ 	\n]+['`‘]\\([^'’]+\\)['’]") (#$ . 14236))
#@49 Regexp matching doc string references to a URL.
(defconst help-xref-url-regexp (purecopy "\\<[Uu][Rr][Ll][ 	\n]+['`‘]\\([^'’]+\\)['’]") (#$ . 14449))
#@537 Invoked from commands using the "*Help*" buffer to install some xref info.

ITEM is a (FUNCTION . ARGS) pair appropriate for recreating the help
buffer after following a reference.  INTERACTIVE-P is non-nil if the
calling command was invoked interactively.  In this case the stack of
items for help buffer "back" buttons is cleared.

This should be called very early, before the output buffer is cleared,
because we want to record the "previous" position of point so we can
restore it properly when going back.

(fn ITEM INTERACTIVE-P)
(defalias 'help-setup-xref #[514 "r\303 q\210\203 `B	B\304\211\203! \305	\233\211\203  \211\304\241\210\210\211)\207" [help-xref-stack-item help-xref-stack help-xref-forward-stack help-buffer nil 10] 5 (#$ . 14612)])
#@48 Non-nil when following a help cross-reference.
(defvar help-xref-following nil (#$ . 15378))
#@282 Return the name of a buffer for inserting help.
If `help-xref-following' is non-nil, this is the name of the
current buffer.  Signal an error if this buffer is not derived
from `help-mode'.
Otherwise, return "*Help*", creating a buffer with that name if
it does not already exist.
(defalias 'help-buffer #[0 "\301\204 \302\303!\202 \304\305!\204 \306\307!\210p!\207" [help-xref-following buffer-name get-buffer-create "*Help*" derived-mode-p help-mode error "Current buffer is not in Help mode"] 3 (#$ . 15478)])
#@469 List of providers of information about symbols.
Each element has the form (NAME TESTFUN DESCFUN) where:
  NAME is a string naming a category of object, such as "type" or "face".
  TESTFUN is a predicate which takes a symbol and returns non-nil if the
    symbol is such an object.
  DESCFUN is a function which takes three arguments (a symbol, a buffer,
    and a frame), inserts the description of that symbol in the current buffer
    and returns that text as well.
(defvar describe-symbol-backends (byte-code "\300\301\302E\300\303\304E\305\306\307EE\207" [nil fboundp #[771 "\300!\207" [describe-function] 5 "\n\n(fn S B F)"] #[257 "\300!\203 \301!?\206 \211\302N\207" [boundp keywordp variable-documentation] 3 "\n\n(fn SYMBOL)"] describe-variable "face" facep #[771 "\300!\207" [describe-face] 5 "\n\n(fn S B F)"]] 5) (#$ . 16002))
#@978 Parse and hyperlink documentation cross-references in the given BUFFER.

Find cross-reference information in a buffer and activate such cross
references for selection with `help-follow-symbol'.  Cross-references have
the canonical form `...'  and the type of reference may be
disambiguated by the preceding word(s) used in
`help-xref-symbol-regexp'.  Faces only get cross-referenced if
preceded or followed by the word `face'.  Variables without
variable documentation do not get cross-referenced, unless
preceded by the word `variable' or `option'.

If the variable `help-xref-mule-regexp' is non-nil, find also
cross-reference information related to multilingual environment
(e.g., coding-systems).  This variable is also used to disambiguate
the type of reference as the same way as `help-xref-symbol-regexp'.

A special reference `back' is made to return back through a stack of
help buffers.  Variable `help-back-label' specifies the text for
that.

(fn &optional BUFFER)
(defalias 'help-make-xrefs #[256 "r\211\206 pq\210\212eb\210\306 \210\307 \310 \311\211\312\n!\210\313\314\"\216\212\315\316\311#\203T \317\320!\321 \313\322\"\216\323\324\"\204? \325P\262\326\327\330\311\211%\262)\210\331\320\332#\266\202! )\212\315\f\316\311#\203i \331\333\334\317\333!#\210\202V )\212\315\316\311#\203\200 \331\333\335\336\317\333!!#\210\202k )\212\315@\316\311#\203\230 \317\333!\331\333\337#\266\202\202 )A\203<\212\315A\316\311#\203;\317\340!\341!\317\342!\203\310 \211\2036\343!\2036\331\344\345#\266\202\237 \317\346!\203\340 \347B\"\2036\331\340\350#\266\202\237 \317\351!\204\354 \317\344!\203 \211\2036\352!\2036\331\340\353#\266\202\237 \347B\"\203\331\340\350#\266\202\237 \211\203&\343!\203&\331\340\345#\266\202\237 \211\2036\352!\2036\331\340\353#\210\266\202\237 )\212\315C\316\311#\203\304\317\354!\341!\211\203\277\317\342!\203l\355!\204b\211\356N\203\277\331\354\357#\266\202=\317\346!\203\202\360!\203\277\331\354\361#\266\202=\317\351!\203\230\362!\203\277\331\354\363#\266\202=\317\344!\204\277\317\340!\203\256\331\354\364#\266\202=\365\313\366\"D\"\203\277\331\354\367#\210\266\202=)\212\315\370\316\311#\203\343\341\317\333!!\360!\203\337\331\333\361#\210\210\202\306)\212eb\210\315\371\316\311#\203<\333\225\333\224Zm\2048\372\311E\373!)\262\2048l\203\316y\210\316\210\374\316x\210iY\2032\373\375!\2032\341\317\376!!\360!\2031\331\376\361#\210\210\316y\210\202\365\210\202\350*db\210o\204Qn\203Q\377\201J !\210\202@\201K c\210F\204`G\203e\201K c\210F\203u\201L H\201M p#\210G\203\217F\203\204\201N c\210\201L I\201O p#\210F\204\231G\203\236\201K c\210*\210\201P !\262*\207" [inhibit-read-only case-fold-search help-mode-syntax-table help-xref-info-regexp help-xref-man-regexp help-xref-customization-group-regexp forward-paragraph buffer-modified-p syntax-table t set-syntax-table make-closure #[0 "\301\300!\207" [V0 set-syntax-table] 2] re-search-forward nil match-string 2 match-data #[0 "\301\300\302\"\207" [V0 set-match-data evaporate] 3] string-match "^([^)]+)" "(emacs)" replace-regexp-in-string "[ 	\n]+" " " help-xref-button help-info 1 help-man help-customization-group intern help-url 7 intern-soft 3 coding-system-p 6 help-coding-system 4 assoc help-input-method 5 charsetp help-character-set 8 boundp variable-documentation help-variable fboundp help-function facep help-face help-function-def cl-some #[257 "\211A@\300!\207" [V0] 3 "\n\n(fn X)"] help-symbol "\\<M-x\\s-+\\(\\sw\\(\\sw\\|\\s_\\)*\\sw\\)" "^key +binding\n\\(-+ +\\)-+\n\n" "\n\\s-*\n" looking-at "^ 	\n" "\\(\\sw\\|\\s_\\)+$" 0 delete-char help-xref-url-regexp help-xref-mule-regexp input-method-alist help-xref-symbol-regexp describe-symbol-backends inhibit-changing-match-data help-xref-stack help-xref-forward-stack help-back-label help-forward-label -1 "\n" help-insert-xref-button help-back "	" help-forward set-buffer-modified-p] 11 (#$ . 16853) "b"])
#@317 Make a hyperlink for cross-reference text previously matched.
MATCH-NUMBER is the subexpression of interest in the last matched
regexp.  TYPE is the type of button to use.  Any remaining arguments are
passed to the button's help-function when it is invoked.
See `help-make-xrefs'.

(fn MATCH-NUMBER TYPE &rest ARGS)
(defalias 'help-xref-button #[642 "\300\224!?\205 \301\224\225\302\303&\207" [button-at make-text-button type help-args] 10 (#$ . 20850)])
#@242 Insert STRING and make a hyperlink from cross-reference text on it.
TYPE is the type of button to use.  Any remaining arguments are passed
to the button's help-function when it is invoked.
See `help-make-xrefs'.

(fn STRING TYPE &rest ARGS)
(defalias 'help-insert-xref-button #[642 "\300`!?\205 \301\302\303%\207" [button-at insert-text-button type help-args] 9 (#$ . 21320)])
#@74 Add xrefs for symbols in `pp's output between FROM and TO.

(fn FROM TO)
(defalias 'help-xref-on-pp #[514 "\211Z\302V?\205\250 \303 p\304\305#\216\306!\210\212\214}\210eb\210\3071\243 m?\205\237 \310\311\312!)\262\203; \313\314!\210\202# \315\311\312!)\262\203P \316\317\320\321#\210\202# \312\322!\203\231 \323\324\314!!\325!\203e \326\202\206 \211\327>\204q \330!\203u \320\202\206 \211\205\206 \331!\204\205 \211\332N\205\206 \333\211\203\220 \334\314#\210\266\314\225b\210\202# \314u\210\202# 0\202\245 \210\320+\266\202\207" [help-mode-syntax-table inhibit-changing-match-data 5000 syntax-table make-closure #[0 "r\301q\210\302\300!)\207" [V0 V1 set-syntax-table] 2] set-syntax-table (error) "\"" t looking-at forward-sexp 1 "#<" search-forward ">" nil move "\\(\\(\\sw\\|\\s_\\)+\\)" intern-soft match-string fboundp help-function (t nil) keywordp boundp variable-documentation help-variable help-xref-button] 10 (#$ . 21707)])
(byte-code "\300\301\302\303#\210\304\301\302\305#\207" [defalias help-xref-interned describe-symbol nil make-obsolete "25.1"] 4)
#@89 From BUFFER, go back to previous help buffer text using `help-xref-stack'.

(fn BUFFER)
(defalias 'help-xref-go-back #[257 "\303\211\211\211rq\210`B	B\n\203) \n\211A\242\262\303@\262A@\262AA\262)\304\"\210rq\210\305!\203C \306\305!\"\202E b)\207" [help-xref-stack-item help-xref-forward-stack help-xref-stack nil apply get-buffer-window set-window-point] 8 (#$ . 22795)])
#@59 From BUFFER, go forward to next help buffer.

(fn BUFFER)
(defalias 'help-xref-go-forward #[257 "\303\211\211\211rq\210`B	B\n\203) \n\211A\242\262\303@\262A@\262AA\262)\304\"\210rq\210\305!\203C \306\305!\"\202E b)\207" [help-xref-stack-item help-xref-stack help-xref-forward-stack nil apply get-buffer-window set-window-point] 8 (#$ . 23193)])
#@48 Go back to previous topic in this help buffer.
(defalias 'help-go-back #[0 "\203 \301p!\207\302\303!\207" [help-xref-stack help-xref-go-back user-error "No previous help buffer"] 2 (#$ . 23564) nil])
#@43 Go to the next topic in this help buffer.
(defalias 'help-go-forward #[0 "\203 \301p!\207\302\303!\207" [help-xref-forward-stack help-xref-go-forward user-error "No next help buffer"] 2 (#$ . 23772) nil])
#@43 View the source of the current help item.
(defalias 'help-view-source #[0 "\301\302\"\204 \303\304!\210\305\301\306\"\301\302\"\301\307\"#\207" [help-mode--current-data plist-get :file error "Source file for the current help item is not defined" help-function-def--button-function :symbol :type] 6 (#$ . 23985) [nil (help-mode)]])
#@48 View the *info* node of the current help item.
(defalias 'help-goto-info #[0 "\204 \301\302!\210\303\304\305\"\306\"\207" [help-mode--current-data error "No symbol to look up in the current buffer" info-lookup-symbol plist-get :symbol emacs-lisp-mode] 4 (#$ . 24327) [nil (help-mode)]])
#@77 Customize variable or face whose doc string is shown in the current buffer.
(defalias 'help-customize #[0 "\301\302\"\303!\204 \304!\204 \305\306!\210\303!\203 \307!\207\304!\205' \310!\207" [help-mode--current-data plist-get :symbol boundp facep user-error "No variable or face to customize" customize-variable customize-face] 3 (#$ . 24623) [nil (help-mode)]])
#@178 Call the help cross-reference function FUNCTION with args ARGS.
Things are set up properly so that the resulting help buffer has
a proper [back] button.

(fn POS FUNCTION ARGS)
(defalias 'help-do-xref #[771 "\301\302\211\303=\203 \304\305\306!C\"\202 \")\207" [help-xref-following t apply info append generate-new-buffer-name "*info*"] 9 (#$ . 25003)])
#@47 Follow the cross-reference that you click on.
(defalias 'help-follow-mouse #[0 "\300\301!\207" [error "No cross-reference here"] 2 (#$ . 25368) nil])
(make-obsolete 'help-follow-mouse nil "28.1")
#@90 Follow cross-reference at point.

For the cross-reference format, see `help-make-xrefs'.
(defalias 'help-follow #[0 "\300\301!\207" [user-error "No cross-reference here"] 2 (#$ . 25570) nil])
(make-obsolete 'help-follow nil "28.1")
#@157 In help buffer, show docs for symbol at POS, defaulting to point.
Show all docs for that symbol as either a variable, function or face.

(fn &optional POS)
(defalias 'help-follow-symbol #[256 "\211\204 `\262\300\212b\210\301\302!\210`\303\302!\210`{)!\304!\2041 \211\305N\2041 \306!\2041 \307!\2038 \310\311C#\207\312\313!\207" [intern skip-syntax-backward "w_" skip-syntax-forward boundp variable-documentation fboundp facep help-do-xref describe-symbol user-error "No symbol here"] 6 (#$ . 25809) "d"])
#@30 

(fn IGNORE-AUTO NOCONFIRM)
(defalias 'help-mode-revert-buffer #[514 "`\302\303\304@A\"\210b*\207" [help-xref-stack-item help-xref-following nil t apply] 7 (#$ . 26328)])
#@316 Insert STRING to the help buffer and install xref info for it.
This function can be used to restore the old contents of the help buffer
when going back to the previous topic in the xref stack.  It is needed
in case when it is impossible to recompute the old contents of the
help buffer by other means.

(fn STRING)
(defalias 'help-insert-string #[257 "\306D	r\307\310 !q\210p\311 \210\312\211\313\211\313\314 \210\315\316!\210+\211c\317!\210)\207" [help-xref-stack-item default-directory buffer-read-only buffer-file-name buffer-undo-list inhibit-modification-hooks help-insert-string get-buffer-create help-buffer kill-all-local-variables nil t erase-buffer run-hooks temp-buffer-setup-hook internal-temp-output-buffer-show inhibit-read-only standard-output] 7 (#$ . 26513)])
#@118 Create and return a `help-mode' bookmark record.
Implements `bookmark-make-record-function' for `help-mode' buffers.
(defalias 'help-bookmark-make-record #[0 "@\204	 \301\302!\210\303\304\305\306\"\307@B\310\311\312A\"B\313`B\314BBB\"\207" [help-xref-stack-item error "Cannot create bookmark - help command not known" append bookmark-make-record-default NO-FILE NO-CONTEXT help-fn help-args mapcar #[257 "\300!\203\n \301!\207\207" [bufferp buffer-name] 3 "\n\n(fn A)"] position ((handler . help-bookmark-jump))] 7 (#$ . 27311)])
#@174 Jump to `help-mode' bookmark BOOKMARK.
Handler function for record returned by `help-bookmark-make-record'.
BOOKMARK is a bookmark name or a bookmark record.

(fn BOOKMARK)
(defalias 'help-bookmark-jump #[257 "\300\301\"\300\302\"\300\303\"\304\"\210\305\306!\210\211b\207" [bookmark-prop-get help-fn help-args position apply pop-to-buffer "*Help*"] 7 (#$ . 27853)])
(provide 'help-mode)
