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



(custom-declare-group 'help-at-pt nil "Features for displaying local help." :group 'help :version "22.1")#@339 Return the help-echo string at point.
Normally, the string produced by the `help-echo' text or overlay
property, or nil, is returned.
If KBD is non-nil, `kbd-help' is used instead, and any
`help-echo' property is ignored.  In this case, the return value
can also be t, if that is the value of the `kbd-help' property.

(fn &optional KBD)
(defalias 'help-at-pt-string #[256 "\212\211\203	 \300\202\n \301\302`\"\211@\203 \211\202# o?\205# \303u\210\302`\"\211@A\304!\203< \305 \2065 p`#\266\205\202A \306!\266\205)\207" [kbd-help help-echo get-char-property-and-overlay -1 functionp selected-window eval] 10 (#$ . 190)])#@214 Return the keyboard help string at point.
If the `kbd-help' text or overlay property at point produces a
string, return it.  Otherwise, use the `help-echo' property.
If this produces no string either, return nil.
(defalias 'help-at-pt-kbd-string #[0 "\300\301!\300 \203 \301=\204 \207\207" [help-at-pt-string t] 4 (#$ . 824)])#@648 Display local help in the echo area.
This command, by default, displays a short help message, namely
the string produced by the `kbd-help' property at point.  If
`kbd-help' does not produce a string, but the `help-echo'
property does, then that string is printed instead.

The string is passed through `substitute-command-keys' before it
is displayed.

If INHIBIT-WARNING is non-nil, this prevents display of a message
in case there is no help.

If DESCRIBE-BUTTON in non-nil (interactively, the prefix arg), and
there's a button/widget at point, pop a buffer describing that
button/widget instead.

(fn &optional INHIBIT-WARNING DESCRIBE-BUTTON)
(defalias 'display-local-help #[512 "\300 \203 \301`!\203 \302 \207\203 \303`!\203 \304 \207\211\203' \305\306\307!\"\207?\205/ \305\310!\207" [help-at-pt-kbd-string button-at button-describe widget-at widget-describe message "%s" substitute-command-keys "No local help at point"] 7 (#$ . 1162) (list nil current-prefix-arg)])#@261 Non-nil means that a timer is set that checks for local help.
If non-nil, this is the value returned by the call of
`run-with-idle-timer' that set that timer.  This variable is used
internally to enable `help-at-pt-display-when-idle'.  Do not set it
yourself.
(defvar help-at-pt-timer nil (#$ . 2150))
(byte-code "\300\301\302\303\304DD\305\306\307\310\311\312\313\314\315&\207" [custom-declare-variable help-at-pt-timer-delay funcall function #[0 "\300\207" [1] 1 ""] "Delay before displaying local help.\nThis is used if `help-at-pt-display-when-idle' is enabled.\nThe value may be an integer or floating point number.\n\nIf a timer is already active, there are two ways to make the new\nvalue take effect immediately.  After setting the value, you can\nfirst call `help-at-pt-cancel-timer' and then set a new timer\nwith `help-at-pt-set-timer'.  Alternatively, you can set this\nvariable through Custom.  This will not set a timer if none is\nactive, but if one is already active, Custom will make it use the\nnew value." :group help-at-pt :type number :initialize custom-initialize-default :set #[514 "\301\"\210\302\300!\205 \205 \303\304#\207" [help-at-pt-timer set-default boundp timer-set-idle-time t] 6 "\n\n(fn VARIABLE VALUE)"]] 12)#@95 Cancel any timer set by `help-at-pt-set-timer'.
This disables `help-at-pt-display-when-idle'.
(defalias 'help-at-pt-cancel-timer #[0 "\302	\205 \303	!\210\304\211)\207" [inhibit-quit help-at-pt-timer t cancel-timer nil] 2 (#$ . 3407) nil])#@102 Enable `help-at-pt-display-when-idle'.
This is done by setting a timer, if none is currently active.
(defalias 'help-at-pt-set-timer #[0 "?\205\f \302	\303\304#\211\207" [help-at-pt-timer help-at-pt-timer-delay run-with-idle-timer t help-at-pt-maybe-display] 4 (#$ . 3656) nil])
(byte-code "\300\301\302\303\304DD\305\306\307\310\311\312\313\314\315\316\317\320\307&\207" [custom-declare-variable help-at-pt-display-when-idle funcall function #[0 "\300\207" [never] 1 ""] "Automatically show local help on point-over.\nIf the value is t, the string obtained from any `kbd-help' or\n`help-echo' property at point is automatically printed in the\necho area, if nothing else is already displayed there, or after a\nquit.  If both `kbd-help' and `help-echo' produce help strings,\n`kbd-help' is used.  If the value is a list, the help only gets\nprinted if there is a text or overlay property at point that is\nincluded in this list.  Suggested properties are `keymap',\n`local-map', `button' and `kbd-help'.  Any value other than t or\na non-empty list disables the feature.\n\nThe text printed from the `help-echo' property is often only\nrelevant when using the mouse.  The presence of a `kbd-help'\nproperty guarantees that non mouse specific help is available.\n\nThis variable only takes effect after a call to\n`help-at-pt-set-timer'.  The help gets printed after Emacs has\nbeen idle for `help-at-pt-timer-delay' seconds.  You can call\n`help-at-pt-cancel-timer' to cancel the timer set by, and the\neffect of, `help-at-pt-set-timer'.\n\nWhen this variable is set through Custom, `help-at-pt-set-timer'\nis called automatically, unless the value is `never', in which\ncase `help-at-pt-cancel-timer' is called.  Specifying an empty\nlist of properties through Custom will set the timer, thus\nenabling buffer local values.  It sets the actual value to nil.\nThus, Custom distinguishes between a nil value and other values\nthat disable the feature, which Custom identifies with `never'.\nThe default is `never'." :group help-at-pt :type (choice (const :tag "Always" :format "%t\n%h" :doc "This choice can get noisy.\nThe text printed from the `help-echo' property is often only\nrelevant when using the mouse.  If you mind about too many\nmessages getting printed in the echo area, use \"In certain\nsituations\".  See the documentation there for more information." t) (repeat :tag "In certain situations" :offset 0 :format "%{%t%}:\n%v%i\n%h" :doc "This choice lets you specify a list of text properties.\nPresence of any of these properties will trigger display of\navailable local help on point-over.\nIf you use this alternative through Custom without listing any\nproperties, a timer will be set anyway.  This will enable buffer\nlocal values.  Use \"Never\" if you do not want a timer to be set.\n\nSuggested properties:\nThe `keymap' and `local-map' properties change keybindings in\nparts of the buffer.  Some of these keymaps are mode independent\nand are not mentioned in the mode documentation.  Hence, the help\ntext is likely to be useful.\nSpecifying `button' is relevant in Custom and similar buffers.\nIn these buffers, most, but not all, of the text shown this way is\navailable by default when using tab, but not on regular point-over.\nThe presence of a `kbd-help' property guarantees that non mouse\nspecific help is available." :value (keymap local-map button kbd-help) symbol) (other :tag "Never" :format "%t\n%h" :doc "This choice normally disables buffer local values.\nIf you choose this value through Custom and a timer checking for\nlocal help is currently active, it will be canceled.  No new\ntimer will be set.  Call `help-at-pt-set-timer' after choosing\nthis option, or use \"In certain situations\" and specify no text\nproperties, to enable buffer local values." never)) :initialize custom-initialize-default :set #[514 "\300\"\210\211\301=\203 \302 \207\303 \207" [set-default never help-at-pt-cancel-timer help-at-pt-set-timer] 5 "\n\n(fn VARIABLE VALUE)"] :set-after (help-at-pt-timer-delay) :require] 16)
(defalias 'help-at-pt-maybe-display #[0 "\301=\204T :\205c \3022Q \211\203) \211@\303`\"\203\" \304\302\301\"\210A\266\202\202 \210o?\205P \212\305u\210\211\205M \211@\303`\"\203F \304\302\301\"\210A\266\202\2024 )\2620\205c \306 \203` \306 \307\230\205c \310\301!\207" [help-at-pt-display-when-idle t found get-char-property throw -1 current-message "Quit" display-local-help] 5])#@883 Go to the start of the next region with non-nil PROP property.
Then run HOOK, which should be a quoted symbol that is a normal
hook variable, or an expression evaluating to such a symbol.
Adjacent areas with different non-nil PROP properties are
considered different regions.

With numeric argument ARG, move to the start of the ARGth next
such region, then run HOOK.  If ARG is negative, move backward.
If point is already in a region, then that region does not count
toward ARG.  If ARG is 0 and point is inside a region, move to
the start of that region.  If ARG is 0 and point is not in a
region, print a message to that effect, but do not move point and
do not run HOOK.  If there are not enough regions to move over,
an error results and the number of available regions is mentioned
in the error message.  Point is not moved and HOOK is not run.

(fn PROP &optional ARG HOOK)
(defalias 'scan-buf-move-to-region #[769 "\300V\203k `dU\203 \301\302\"\210`\300\211W\203c \303\"\262\304\"\204\\ \303\"\262\304\"\204\\ \211\300U\203F \301\302\"\210\202\\ \211\305U\203U \301\306\"\210\202\\ \301\307#\210\211T\262\202 \210\211b\210\310!\207\300U\203\227 \304`\"\211\204~ \311\312\"\207\211\304`S\"=\203\223 \313`\"b\210\310!\207\310!\207\300W\205!`\304`\"\211\203\270 \211\304S\"=\203\270 \313\"\262eU\203\304 \301\314\"\210[\300\211W\203\313\"\262\304\"\204\313\"\262\304\"\204\211\300U\203\372 \301\314\"\210\202\211\305U\203	\301\315\"\210\202\301\316	#\210\211T\262\202\307 \266b\210\310!\266\202\207" [0 error "No further `%s' regions" next-single-char-property-change get-char-property 1 "There is only one further `%s' region" "There are only %d further `%s' regions" run-hooks message "Point is not in a `%s' region" previous-single-char-property-change "No prior `%s' regions" "There is only one prior `%s' region" "There are only %d prior `%s' regions"] 11 (#$ . 8106)])#@127 Normal hook run by `scan-buf-next-region'.
Also used by `scan-buf-previous-region'.  The hook is run after
positioning point.
(defvar scan-buf-move-hook '(display-local-help) (#$ . 10079))#@959 Go to the start of the next region with non-nil help-echo.
Print the help found there using `display-local-help'.  Adjacent
areas with different non-nil help-echo properties are considered
different regions.

With numeric argument ARG, move to the start of the ARGth next
help-echo region.  If ARG is negative, move backward.  If point
is already in a help-echo region, then that region does not count
toward ARG.  If ARG is 0 and point is inside a help-echo region,
move to the start of that region.  If ARG is 0 and point is not
in such a region, just print a message to that effect.  If there
are not enough regions to move over, an error results and the
number of available regions is mentioned in the error message.

A potentially confusing subtlety is that point can be in a
help-echo region without any local help being available.  This is
because `help-echo' can be a function evaluating to nil.  This
rarely happens in practice.

(fn &optional ARG)
(defalias 'scan-buf-next-region #[256 "\300\301\302#\207" [scan-buf-move-to-region help-echo scan-buf-move-hook] 5 (#$ . 10274) "p"])#@317 Go to the start of the previous region with non-nil help-echo.
Print the help found there using `display-local-help'.  Adjacent
areas with different non-nil help-echo properties are considered
different regions.  With numeric argument ARG, behaves like
`scan-buf-next-region' with argument -ARG.

(fn &optional ARG)
(defalias 'scan-buf-previous-region #[256 "\300\301[\302#\207" [scan-buf-move-to-region help-echo scan-buf-move-hook] 5 (#$ . 11373) "p"])
(provide 'help-at-pt)
