403Webshell
Server IP : 217.160.0.212  /  Your IP : 216.73.216.71
Web Server : Apache
System : Linux www 6.18.52-i1-ampere #1203 SMP Mon Sep 14 18:29:59 CEST 2026 aarch64
User : sws1073854427 ( 1073854427)
PHP Version : 8.4.23
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /usr/share/emacs/28.2/lisp/emacs-lisp/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/share/emacs/28.2/lisp/emacs-lisp/eldoc.elc
;ELC
;;; Compiled
;;; in Emacs version 28.2
;;; with all optimizations.



(byte-code "\300\301\302\303\304\305\304\306&\210\307\310\311\312\313DD\314\315\316%\210\307\317\311\312\320DD\321\315\322%\210\307\323\311\312\324DD\325\315\322\326\327&\210\307\330\311\312\331DD\332\315\333%\210\307\334\311\312\335DD\336\315\337%\210\340\334\302\341#\210\307\342\311\312\343DD\344\315\345%\210\307\346\311\312\347DD\350\315\322%\210\351\352\353\354#\207" [custom-declare-group eldoc nil "Show function arglist or variable docstring in echo area." :group lisp extensions custom-declare-variable eldoc-idle-delay funcall function #[0 "\300\207" [0.5] 1 #1=""] "Number of seconds of idle time to wait before printing.\nIf user input arrives before this interval of time has elapsed after the\nlast input, no documentation will be printed.\n\nIf this variable is set to 0, no idle time is required." :type number eldoc-print-after-edit #[0 "\300\207" [nil] 1 #1#] "If non-nil, eldoc info is only shown when editing.\nChanging the value requires toggling `eldoc-mode'." boolean eldoc-echo-area-display-truncation-message #[0 "\300\207" [t] 1 #1#] "If non-nil, provide verbose help when a message has been truncated.\nIf nil, truncated messages will just have \"...\" appended." :version "28.1" eldoc-minor-mode-string #[0 "\300\301!\207" [purecopy " ElDoc"] 2 #1#] "String to display in mode line when ElDoc Mode is enabled; nil for none." (choice string (const :tag "None" nil)) eldoc-argument-case #[0 "\300\207" [identity] 1 #1#] "Case to display argument names of functions, as a symbol.\nThis has two preferred values: `upcase' or `downcase'.\nActually, any name of a function which takes a string as an argument and\nreturns another string is acceptable.\n\nNote that this variable has no effect, unless\n`eldoc-documentation-strategy' handles it explicitly." (radio (function-item upcase) (function-item downcase) function) make-obsolete-variable "25.1" eldoc-echo-area-use-multiline-p #[0 "\300\207" [truncate-sym-name-if-fit] 1 #1#] "Allow long ElDoc doc strings to resize echo area display.\nIf value is t, never attempt to truncate messages, even if the\necho area must be resized to fit.\n\nIf the value is a positive number, it is used to calculate a\nnumber of logical lines of documentation that ElDoc is allowed to\nput in the echo area.  If a positive integer, the number is used\ndirectly, while a float specifies the number of lines as a\nproportion of the echo area frame's height.\n\nIf value is the symbol `truncate-sym-name-if-fit' t, the part of\nthe doc string that represents a symbol's name may be truncated\nif it will enable the rest of the doc string to fit on a single\nline, without resizing the echo area.\n\nIf value is nil, a doc string is always truncated to fit in a\nsingle line of display in the echo area.\n\nAny resizing of the echo area additionally respects\n`max-mini-window-height'." (radio (const :tag "Always" t) (float :tag "Fraction of frame height" 0.25) (integer :tag "Number of lines" 5) (const :tag "Never" nil) (const :tag "Yes, but ask major-mode to truncate\n symbol names if it willenable argument list to fit on one\n line" truncate-sym-name-if-fit)) eldoc-echo-area-prefer-doc-buffer #[0 "\300\207" [nil] 1 #1#] "Prefer ElDoc's documentation buffer if it is showing in some frame.\nIf this variable's value is t, ElDoc will skip showing\ndocumentation in the echo area if the dedicated documentation\nbuffer (given by `eldoc-doc-buffer') is being displayed in some\nwindow.  If the value is the symbol `maybe', then the echo area\nis only skipped if the documentation doesn't fit there." custom-declare-face eldoc-highlight-function-argument ((t (:inherit bold))) "Face used for the argument at point in a function's argument list.\nNote that this face has no effect unless the `eldoc-documentation-strategy'\nhandles it explicitly."] 8)
#@329 Used by `eldoc-add-command' to initialize `eldoc-message-commands' obarray.
It should probably never be necessary to do so, but if you
choose to increase the number of buckets, you must do so before loading
this file since the obarray is initialized at load time.
Remember to keep it a prime number to improve hash performance.
(defvar eldoc-message-commands-table-size 31 (#$ . 3898))
#@479 Commands after which it is appropriate to print in the echo area.
ElDoc does not try to print function arglists, etc., after just any command,
because some commands print their own messages in the echo area and these
functions would instantly overwrite them.  But `self-insert-command' as well
as most motion commands are good candidates.
This variable contains an obarray of symbols; do not manipulate it
directly.  Instead, use `eldoc-add-command' and `eldoc-remove-command'.
(defvar eldoc-message-commands (make-vector eldoc-message-commands-table-size 0) (#$ . 4291))
#@278 Bookkeeping; elements are as follows:
  0 - contains the last symbol read from the buffer.
  1 - contains the string last displayed in the echo area for variables,
      or argument string for functions.
  2 - `function' if function args, `variable' if variable documentation.
(defvar eldoc-last-data (make-vector 3 nil) (#$ . 4870))
(make-obsolete-variable 'eldoc-last-data "use your own instead" "25.1")
(defvar eldoc-last-message nil)
#@23 ElDoc's timer object.
(defvar eldoc-timer nil (#$ . 5314))
#@116 Idle time delay currently in use by timer.
This is used to determine if `eldoc-idle-delay' is changed by the user.
(defvar eldoc-current-idle-delay eldoc-idle-delay (#$ . 5380))
#@111 The function used by `eldoc--message' to display messages.
It should receive the same arguments as `message'.
(defvar eldoc-message-function 'eldoc-minibuffer-message (#$ . 5565))
#@172 Return an obarray containing common editing commands.

When `eldoc-print-after-edit' is non-nil, ElDoc messages are only
printed after commands contained in this obarray.
(defalias 'eldoc-edit-message-commands #[0 "\301\302\303\"\304\305\306\307#\"\210\207" [obarray make-vector 31 0 "\\(?:delete\\|e\\(?:dit\\|lectric\\)\\|insert\\|newline\\)" mapatoms make-closure #[257 "\303!\205\301\304!\305\306\307#)\266\203\205\310\304!\300\"\207" [V0 V1 inhibit-changing-match-data commandp symbol-name nil t string-match intern] 8 "\n\n(fn S)"]] 7 (#$ . 5752)])
#@89 Non-nil if Eldoc mode is enabled.
Use the command `eldoc-mode' to change this variable.
(defvar eldoc-mode nil (#$ . 6328))
(make-variable-buffer-local 'eldoc-mode)
#@951 Toggle echo area display of Lisp objects at point (ElDoc mode).

This is a minor mode.  If called interactively, toggle the `Eldoc
mode' mode.  If the prefix argument is positive, enable the mode, and
if it is zero or negative, disable the mode.

If called from Lisp, toggle the mode if ARG is `toggle'.  Enable the
mode if ARG is nil, omitted, or is a positive number.  Disable the
mode if ARG is a negative number.

To check whether the minor mode is enabled in the current buffer,
evaluate `eldoc-mode'.

The mode's hook is called both when the mode is enabled and when it is
disabled.

ElDoc mode is a buffer-local minor mode.  When enabled, the echo
area displays information about a function or variable in the
text where point is.  If point is on a documented variable, it
displays the first line of that variable's doc string.  Otherwise
it displays the argument list of the function called in the
expression point is on.

(fn &optional ARG)
(defalias 'eldoc-mode #[256 "\306 \307=\203
?\202\247\203\310W\203\311\202\312\313\301!\2031\314\300	\"\2031\300	B\311\315 \204G\316\317!\203B\320\321!\210\311\202\201\203g\203V\322\304!\210\323 \324\325\326\311\312$\210\324\327\330\311\312$\210\202\201\331\304!\210\332\325\326\312#\210\332\327\330\312#\210
\203\201\333
!\210\311\334\335\203\213\336\202\214\337\"\210\316\317!\203\256\306 \203\240\211\306 \232\203\256\320\340\203\252\341\202\253\342\343#\210\210\344 \210\207" [eldoc-mode local-minor-modes eldoc-last-message eldoc-print-after-edit eldoc-message-commands eldoc-timer current-message toggle 1 nil t boundp delq eldoc--supported-p called-interactively-p any message "There is no ElDoc support in this buffer" make-local-variable eldoc-edit-message-commands add-hook post-command-hook eldoc-schedule-timer pre-command-hook eldoc-pre-command-refresh-echo-area kill-local-variable remove-hook cancel-timer run-hooks eldoc-mode-hook eldoc-mode-on-hook eldoc-mode-off-hook "Eldoc mode %sabled%s" "en" "dis" " in current buffer" force-mode-line-update] 7 (#$ . 6500) (byte-code "\203\n\301!\202\302C\207" [current-prefix-arg prefix-numeric-value toggle] 2)])
(defvar eldoc-mode-hook nil)
(byte-code "\301\302N\204\f\303\301\302\304#\210\303\301\305\306#\210\303\301\307\310C#\210\311\312\313\314\300!\205#\310\211%\210\303\315\316\317#\207" [eldoc-mode-map eldoc-mode-hook variable-documentation put "Hook run after entering or leaving `eldoc-mode'.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" custom-type hook standard-value nil add-minor-mode eldoc-mode eldoc-minor-mode-string boundp global-eldoc-mode globalized-minor-mode t] 6)
(defvar eldoc-mode-major-mode nil nil)
(byte-code "\300\301!\210\302\303\304\305\306DD\307\310\311\312\313\314\315&	\207" [make-variable-buffer-local eldoc-mode-major-mode custom-declare-variable global-eldoc-mode funcall function #[0 "\300\207" [t] 1 ""] "Non-nil if Global Eldoc mode is enabled.\nSee the `global-eldoc-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 `global-eldoc-mode'." :set custom-set-minor-mode :initialize custom-initialize-delay :type boolean] 10)
#@441 Toggle Eldoc mode in all buffers.
With prefix ARG, enable Global Eldoc mode if ARG is positive;
otherwise, disable it.

If called from Lisp, toggle the mode if ARG is `toggle'.
Enable the mode if ARG is nil, omitted, or is a positive number.
Disable the mode if ARG is a negative number.

Eldoc mode is enabled in all buffers where `turn-on-eldoc-mode' would
do it.

See `eldoc-mode' for more information on Eldoc mode.

(fn &optional ARG)
(defalias 'global-eldoc-mode #[256 "\303 \304\301\305=\203\306\301!?\202!\247\203 \307W\203 \310\202!\311\"\210\312\300!\2038\313\301\"\306\301!\2038\301B	\203N\314\315\316\"\210\314\317\320\"\210\314\321\322\"\210\202]\323\315\316\"\210\323\317\320\"\210\323\321\322\"\210\324 \211\203\203\211@r\211q\210	\203s\325 \210\202{\n\203{\302\326!\210)A\266\202\202_\210	\203\220\314\327\330\"\210\202\225\323\327\330\"\210\331\332\306\301!\203\241\333\202\242\334\"\210\335\336!\203\312\337\301!\210\303 \203\272\211\303 \232\203\312\340\341\306\301!\203\306\342\202\307\343\344#\210\210\345 \210\306\301!\207" [global-minor-modes global-eldoc-mode eldoc-mode current-message set-default toggle default-value 1 nil t boundp delq add-hook after-change-major-mode-hook global-eldoc-mode-enable-in-buffers find-file-hook global-eldoc-mode-check-buffers change-major-mode-hook global-eldoc-mode-cmhh remove-hook buffer-list turn-on-eldoc-mode -1 eval-expression-minibuffer-setup-hook eldoc--eval-expression-setup run-hooks global-eldoc-mode-hook global-eldoc-mode-on-hook global-eldoc-mode-off-hook called-interactively-p any customize-mark-as-set message "Global Eldoc mode %sabled%s" "en" "dis" "" force-mode-line-update] 6 (#$ . 9852) (byte-code "\203\n\301!\202\302C\207" [current-prefix-arg prefix-numeric-value toggle] 2)])
(defvar global-eldoc-mode-hook nil)
(byte-code "\301\302N\204\f\303\301\302\304#\210\303\301\305\306#\210\303\301\307\310C#\210\311\312\310\313\300!\205#\310\211%\207" [global-eldoc-mode-map global-eldoc-mode-hook variable-documentation put "Hook run after entering or leaving `global-eldoc-mode'.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" custom-type hook standard-value nil add-minor-mode global-eldoc-mode boundp] 6)
(defvar eldoc-mode-set-explicitly nil nil)
(make-variable-buffer-local 'eldoc-mode-set-explicitly)
(defalias 'eldoc-mode-set-explicitly #[0 "\301\211\207" [eldoc-mode-set-explicitly t] 2])
(byte-code "\300\301\302\303#\210\304\305\301\"\207" [put eldoc-mode-set-explicitly definition-name global-eldoc-mode add-hook eldoc-mode-hook] 4)
(defvar global-eldoc-mode-buffers nil)
(defalias 'global-eldoc-mode-enable-in-buffers #[0 "\305\211\211\2059\211@\306!\2032r\211q\210	\204/\n=\204/\f\203,\304\307!\210\310 \210\202/\310 \210)A\266\202\202\207" [global-eldoc-mode-buffers eldoc-mode-set-explicitly eldoc-mode-major-mode major-mode eldoc-mode nil buffer-live-p -1 turn-on-eldoc-mode] 5])
(put 'global-eldoc-mode-enable-in-buffers 'definition-name 'global-eldoc-mode)
(defalias 'global-eldoc-mode-check-buffers #[0 "\300 \210\301\302\303\"\207" [global-eldoc-mode-enable-in-buffers remove-hook post-command-hook global-eldoc-mode-check-buffers] 3])
(put 'global-eldoc-mode-check-buffers 'definition-name 'global-eldoc-mode)
(defalias 'global-eldoc-mode-cmhh #[0 "\300\301p\"\210\302\303\304\"\207" [add-to-list global-eldoc-mode-buffers add-hook post-command-hook global-eldoc-mode-check-buffers] 3])
(put 'global-eldoc-mode-cmhh 'definition-name 'global-eldoc-mode)
(defalias 'eldoc--eval-expression-setup #[0 "\302X\203\303\304\305\306B\307\310$\210\202&\311\312\313\310\314$\210\311\312\315\310\314$\210\316\301!\210\317\320\321!\207" [emacs-major-version eldoc-documentation-strategy 27 advice--add-function :before-until #[0 "\300\301!\207" [advice--buffer-local eldoc-documentation-function] 2] #[257 "\300\301\"\207" [advice--set-buffer-local eldoc-documentation-function] 4 "\n\n(fn GV--VAL)"] elisp-eldoc-documentation-function nil add-hook eldoc-documentation-functions elisp-eldoc-var-docstring t elisp-eldoc-funcall make-local-variable eldoc-documentation-default eldoc-mode 1] 5])
#@115 Turn on `eldoc-mode' if the buffer has ElDoc support enabled.
See `eldoc-documentation-strategy' for more detail.
(defalias 'turn-on-eldoc-mode #[0 "\300 \205\301\302!\207" [eldoc--supported-p eldoc-mode 1] 2 (#$ . 14081)])
#@119 Ensure `eldoc-timer' is running.

If the user has changed `eldoc-idle-delay', update the timer to
reflect the change.
(defalias 'eldoc-schedule-timer #[0 "\203\n	>\204\304\n\305\306#\nU?\205\n\307\n\310#\207" [eldoc-timer timer-idle-list eldoc-idle-delay eldoc-current-idle-delay run-with-idle-timer nil #[0 "\204
	\205\302 \205\3031\304 0\207\305\306\"\210\307\262\207" [eldoc-mode global-eldoc-mode eldoc--supported-p (debug error) eldoc-print-current-symbol-info message "eldoc error: %s" nil] 4] timer-set-idle-time t] 4 (#$ . 14314)])
(defvar eldoc-mode-line-string nil)
(put 'eldoc-mode-line-string 'risky-local-variable t)
#@121 Display messages in the mode-line when in the minibuffer.
Otherwise work like `message'.

(fn FORMAT-STRING &rest ARGS)
(defalias 'eldoc-minibuffer-message #[385 "\302 \203C\303\304\305\306\307$\210r\310\311\312\313 \"\206\314 \206\315 !q\210\2034<\203/\301\236\2044\316\317E;\205>\320\321#\322 )\207\320\323#\207" [mode-line-format eldoc-mode-line-string minibufferp add-hook minibuffer-exit-hook #[0 "\302\211\211\207" [eldoc-mode-line-string eldoc-last-message nil] 3] nil t window-buffer window-in-direction above minibuffer-window minibuffer-selected-window get-largest-window "" (eldoc-mode-line-string (" " eldoc-mode-line-string " ")) apply format-message force-mode-line-update message] 7 (#$ . 14972)])
(make-obsolete 'eldoc-message "use `eldoc-documentation-functions' instead." "eldoc-1.1.0")
#@25 

(fn &optional STRING)
(defalias 'eldoc-message #[256 "\300!\207" [eldoc--message] 3 (#$ . 15805)])
#@138 Display STRING as an ElDoc message if it's non-nil.

Also store it in `eldoc-last-message' and return that value.

(fn &optional STRING)
(defalias 'eldoc--message #[256 "\303\203\n\304\"\210\202\211\203\n\303!\210)\210\207" [eldoc-last-message message-log-max eldoc-message-function nil "%s"] 5 (#$ . 15914)])
#@73 Return non-nil if COMMAND is in `eldoc-message-commands'.

(fn COMMAND)
(defalias 'eldoc--message-command-p #[257 "\2119\205\301\302!\"\207" [eldoc-message-commands intern-soft symbol-name] 4 (#$ . 16243)])
#@48 Reprint `eldoc-last-message' in the echo area.
(defalias 'eldoc-pre-command-refresh-echo-area #[0 "\205\302 ?\205\303 \203\304	!\203\305!\207\306\211\207" [eldoc-last-message this-command minibufferp eldoc-display-message-no-interference-p eldoc--message-command-p eldoc--message nil] 2 (#$ . 16460)])
#@56 Tuple containing information about last ElDoc request.
(defvar eldoc--last-request-state nil (#$ . 16779))
#@62 Compute information to store in `eldoc--last-request-state'.
(defalias 'eldoc--request-state #[0 "p\300 `E\207" [buffer-modified-tick] 3 (#$ . 16892)])
#@38 Tell if ElDoc can use the echo area.
(defalias 'eldoc-display-message-p #[0 "\302 \205
?\205
\303	!\207" [this-command last-command eldoc-display-message-no-interference-p eldoc--message-command-p] 2 (#$ . 17050)])
(make-obsolete 'eldoc-display-message-p "Use `eldoc-documentation-functions' instead." "eldoc-1.6.0")
#@62 Return nil if displaying a message would cause interference.
(defalias 'eldoc-display-message-no-interference-p #[0 "\206\302\301!\205	?\207" [executing-kbd-macro edebug-active boundp] 2 (#$ . 17376)])
#@2263 Hook of functions that produce doc strings.

A doc string is typically relevant if point is on a function-like
name, inside its arg list, or on any object with some associated
information.

Each hook function is called with at least one argument CALLBACK,
a function, and decides whether to display a short doc string
about the context around point.

- If that decision can be taken quickly, the hook function may
  call CALLBACK immediately, following the protocol described
  below.  Alternatively, it may ignore CALLBACK entirely and
  return either the doc string, or nil if there's no doc
  appropriate for the context.

- If the computation of said doc string (or the decision whether
  there is one at all) is expensive or can't be performed
  directly, the hook function should return a non-nil, non-string
  value and arrange for CALLBACK to be called at a later time,
  using asynchronous processes or other asynchronous mechanisms.

To call the CALLBACK function, the hook function must pass it an
obligatory argument DOCSTRING, a string containing the
documentation, followed by an optional list of arbitrary
keyword-value pairs of the form (:KEY VALUE :KEY2 VALUE2...).
The information contained in these pairs is understood by members
of `eldoc-display-functions', allowing the
documentation-producing backend to cooperate with specific
documentation-displaying frontends.  For example, KEY can be:

* `:thing', VALUE being a short string or symbol designating what
  is being reported on.  It can, for example be the name of the
  function whose signature is being documented, or the name of
  the variable whose docstring is being documented.
  `eldoc-display-in-echo-area', a member of
  `eldoc-display-functions', sometimes omits this information
  depending on space constraints;

* `:face', VALUE being a symbol designating a face which both
  `eldoc-display-in-echo-area' and `eldoc-display-in-buffer' will
  use when displaying `:thing''s value.

Finally, major modes should modify this hook locally, for
example:
  (add-hook \='eldoc-documentation-functions #\='foo-mode-eldoc nil t)
so that the global value (i.e. the default value of the hook) is
taken into account if the major mode specific function does not
return any documentation.
(defvar eldoc-documentation-functions nil (#$ . 17591))
#@578 Hook of functions tasked with displaying ElDoc results.
Each function is passed two arguments: DOCS and INTERACTIVE.  DOCS
is a list (DOC ...) where DOC looks like (STRING :KEY VALUE :KEY2
VALUE2 ...).  STRING is a string containing the documentation's
text and the remainder of DOC is an optional list of
keyword-value pairs denoting additional properties of that
documentation.  For commonly recognized properties, see
`eldoc-documentation-functions'.

INTERACTIVE says if the request to display doc strings came
directly from the user or from ElDoc's automatic mechanisms'.
(defvar eldoc-display-functions '(eldoc-display-in-echo-area eldoc-display-in-buffer) (#$ . 19916))
#@47 Buffer displaying latest ElDoc-produced docs.
(defvar eldoc--doc-buffer nil (#$ . 20599))
#@45 Documentation items in `eldoc--doc-buffer'.
(defvar eldoc--doc-buffer-docs nil (#$ . 20695))
#@96 Display ElDoc documentation buffer.

This holds the results of the last documentation request.
(defalias 'eldoc-doc-buffer #[0 "\301!\204\302\303\304\305\306!\"!\210rq\210\307\310\311\312\313 #!\210\314p!)\207" [eldoc--doc-buffer buffer-live-p user-error format "ElDoc buffer doesn't exist, maybe `%s' to produce one." substitute-command-keys "\\[eldoc]" rename-buffer replace-regexp-in-string "^ *" "" buffer-name display-buffer] 5 (#$ . 20794) nil])
#@60 Ensure DOCS are displayed in an *eldoc* buffer.

(fn DOCS)
(defalias 'eldoc--format-doc-buffer #[257 "r\305!\203\202\306\307!\211q\210\211	=\204\277\310\301!\210\211\311\312\313 \210\311\310\304!\210\312\314\315\316\"\210\312\211\211\211\211\211:\203\224\262\211A\262\242\262\262\211A\262\242\262\317\320\"\262\203\321	\"\204nB\262\322\323\324\"\325\317\326\"#\327Q\262c\210\203\211\330c\210A\262\312\262\2029eb\266\331\323\332\333\334\335 \"\203\247\336\202\250\337\203\270\323\340\341\342\343#\"\202\271\337#!\210)\266)\207" [eldoc--doc-buffer eldoc--doc-buffer-docs inhibit-read-only buffer-read-only nobreak-char-display buffer-live-p get-buffer-create " *eldoc*" make-local-variable t nil erase-buffer local-set-key "q" quit-window plist-get :thing memql propertize format "%s" face :face ": " "\n" rename-buffer "%s*eldoc%s*" string-match "^ " buffer-name " " "" " for %s" mapconcat #[257 "\300\301\"\207" [format "%s"] 4 "\n\n(fn S)"] ", "] 16 (#$ . 21256)])
#@127 Given AVAILABLE lines, get buffer substring to display in echo area.
Helper for `eldoc-display-in-echo-area'.

(fn AVAILABLE)
(defalias 'eldoc--echo-area-substring #[257 "eb\210\301\302w\210`\303!b\210\301\302x\210\212\301\302w\210m)?\304!\203!\302\207\211\203?\305V\203?\203?\303\306!b\210`{\307\310\311\312!\"P\207`{\207" [eldoc-echo-area-display-truncation-message " 	\n" nil line-end-position eldoc--echo-area-prefer-doc-buffer-p 1 0 format "\n(Documentation truncated. Use `%s' to see rest)" substitute-command-keys "\\[eldoc-doc-buffer]"] 8 (#$ . 22293)])
#@196 Tell if display in the echo area should be skipped.
Helper for `eldoc-display-in-echo-area'.  If TRUNCATEDP the
documentation to potentially appear in the echo are is truncated.

(fn TRUNCATEDP)
(defalias 'eldoc--echo-area-prefer-doc-buffer-p #[257 "\302=\204\211\205\303=\205\304	\305\"\207" [eldoc-echo-area-prefer-doc-buffer eldoc--doc-buffer t maybe get-buffer-window visible] 4 (#$ . 22872)])
#@132 Display DOCS in echo area.
Honor `eldoc-echo-area-use-multiline-p' and
`eldoc-echo-area-prefer-doc-buffer'.

(fn DOCS INTERACTIVE)
(defalias 'eldoc-display-in-echo-area #[514 "\304 ?\206\342\206\342\305	!?\206\342\204\306\307!\207\310\311 !S\n9\203+\n\203+\202,\n\312!\203;\313\314 _!\202E\211\250\203D\211\202E\315\307\211\n\316=\203\213A\204\213@@\211\262\203\213\317\320\321	@A\322\"\"\211\262\203\213GW\203\213\323\324\"\204\213GG\\\325\\V\203\213\202\327\247\203\250\211\326V\262\203\250r\327!q\210\212\330!*\202\327r\327!q\210eb\331\332!{)\211GV\203\315\333\334!?\205\325\335\"\202\325\333\307!?\205\325\211\262\211\205\336\306!\262\266\205\207" [this-command last-command eldoc-echo-area-use-multiline-p max-mini-window-height eldoc-display-message-no-interference-p eldoc--message-command-p eldoc--message nil window-width minibuffer-window floatp truncate frame-height just-one-line truncate-sym-name-if-fit format "%s" plist-get :thing string-match "\n" 2 0 eldoc--format-doc-buffer eldoc--echo-area-substring line-end-position 1 eldoc--echo-area-prefer-doc-buffer-p t truncate-string-to-width] 12 (#$ . 23285)])
#@106 Display DOCS in a dedicated buffer.
If INTERACTIVE is t, also display the buffer.

(fn DOCS INTERACTIVE)
(defalias 'eldoc-display-in-buffer #[514 "\300!\210\211\205\n\301 \207" [eldoc--format-doc-buffer eldoc-doc-buffer] 4 (#$ . 24478)])
#@92 Show first doc string for item at point.
Default value for `eldoc-documentation-strategy'.
(defalias 'eldoc-documentation-default #[0 "\300\301\302\303!\"\207" [run-hook-with-args-until-success eldoc-documentation-functions eldoc--make-callback :patient] 4 (#$ . 24724)])
#@162 Helper function for composing multiple doc strings.
If EAGERLYP is non-nil show documentation as soon as possible,
else wait for all doc strings.

(fn EAGERLYP)
(defalias 'eldoc--documentation-compose-1 #[257 "\300\301\302\303\"\"\210\304\207" [run-hook-wrapped eldoc-documentation-functions make-closure #[257 "\301\300\203	\302\202\n\303!!\211\203\211;\203!\210\304\207" [V0 eldoc--make-callback :eager :patient nil] 5 "\n\n(fn F)"] t] 6 (#$ . 25003)])
#@111 Show multiple doc strings at once after waiting for all.
Meant as a value for `eldoc-documentation-strategy'.
(defalias 'eldoc-documentation-compose #[0 "\300\301!\207" [eldoc--documentation-compose-1 nil] 2 (#$ . 25476)])
#@109 Show multiple doc strings at once as soon as possible.
Meant as a value for `eldoc-documentation-strategy'.
(defalias 'eldoc-documentation-compose-eagerly #[0 "\300\301!\207" [eldoc--documentation-compose-1 t] 2 (#$ . 25706)])
#@102 Show most important doc string produced so far.
Meant as a value for `eldoc-documentation-strategy'.
(defalias 'eldoc-documentation-enthusiast #[0 "\300\301\302\"\210\303\207" [run-hook-wrapped eldoc-documentation-functions #[257 "\300\301!!\211;\203!\210\302\207" [eldoc--make-callback :enthusiast nil] 5 "\n\n(fn F)"] t] 3 (#$ . 25940)])
#@116 Defcustom helper macro for sorting `eldoc-documentation-strategy'.

(fn MAIN SECONDARY VALUE DOCSTRING &rest MORE)
(defalias 'eldoc--documentation-strategy-defcustom '(macro . #[1156 "\300\301\302\303BBBB\304\305\nD\305\nD\306BBBE\302\303	BBBB\307\305\nD\305\fD	FEF\207" [if (< emacs-major-version 28) progn defcustom define-obsolete-variable-alias quote ("eldoc-1.1.0") defvaralias] 14 (#$ . 26293)]))
(byte-code "\301\302\303\304#\305W\203N\306\307\310\311\312DD\313\314\315\316\317\320\321&	\210\322\323\307\324#\210\325\211\203D\211@\323N\203=\307N\204=\326\307\323N#\210A\266\202\202#\210\327\323\307\330#\210\202e\306\323\310\311\331DD\313\314\315\316\317\320\321&	\210\322\307\323\313#\210\324\207" [emacs-major-version function-put eldoc--documentation-strategy-defcustom lisp-indent-function 2 28 custom-declare-variable eldoc-documentation-function funcall function #[0 "\300\207" [eldoc-documentation-default] 1 #1=""] "How to collect and organize results of `eldoc-documentation-functions'.\n\nThis variable controls how `eldoc-documentation-functions', which\nspecifies the sources of documentation, is queried and how its\nresults are organized before being displayed to the user.  The\nfollowing values are allowed:\n\n- `eldoc-documentation-default': calls functions in the special\n  hook in order until one is found that produces a doc string\n  value.  Display only that value;\n\n- `eldoc-documentation-compose': calls all functions in the\n  special hook and displays all of the resulting doc strings\n  together.  Wait for all strings to be ready, and preserve their\n  relative order as specified by the order of functions in the hook;\n\n- `eldoc-documentation-compose-eagerly': calls all functions in\n  the special hook and displays as many of the resulting doc\n  strings as possible, as soon as possible.  Preserves the\n  relative order of doc strings;\n\n- `eldoc-documentation-enthusiast': calls all functions in the\n  special hook and displays only the most important resulting\n  docstring one at any given time.  A function appearing first in\n  the special hook is considered more important.\n\nThis variable can also be set to a function of no args that\nreturns something other than a string or nil and allows for some\nor all of the special hook `eldoc-documentation-functions' to be\nrun.  In that case, the strategy function should follow that\nother variable's protocol closely and endeavor to display the\nresulting doc strings itself.\n\nFor backward compatibility to the \"old\" protocol, this variable\ncan also be set to a function that returns nil or a doc string,\ndepending whether or not there is documentation to display at\nall." :link (info-link "(emacs) Lisp Doc") :type (radio (function-item eldoc-documentation-default) (function-item eldoc-documentation-compose) (function-item eldoc-documentation-compose-eagerly) (function-item eldoc-documentation-enthusiast) (function :tag "Other function")) :version "28.1" defvaralias eldoc-documentation-strategy nil (saved-value saved-variable-comment) put make-obsolete-variable "eldoc-1.1.0" #[0 "\300\207" [eldoc-documentation-default] 1 #1#]] 11)
#@54 Non-nil if an ElDoc function is set for this buffer.
(defalias 'eldoc--supported-p #[0 "\302>?\205	\206\303\300!\207" [eldoc-documentation-strategy eldoc-documentation-functions (nil ignore) local-variable-p] 2 (#$ . 29481)])
#@285 Timer used by the `eldoc-documentation-enthusiast' strategy.
When a doc string is encountered, it must endure a certain amount
of time unchallenged until it is displayed to the user.  This
prevents blinking if a lower priority docstring comes in shortly
before a higher priority one.
(defvar eldoc--enthusiasm-curbing-timer nil (#$ . 29719))
(defalias 'eldoc 'eldoc-print-current-symbol-info)
#@45 Helper for function `eldoc--make-callback'.
(defvar eldoc--make-callback nil (#$ . 30118))
#@872 Make callback suitable for `eldoc-documentation-functions'.
The return value is a function FN whose lambda list is (STRING
&rest PLIST) and can be called by those functions.  Its
responsibility is always to register the docstring STRING along
with options specified in PLIST as the documentation to display
for each particular situation.

METHOD specifies how the callback behaves relative to other
competing elements in `eldoc-documentation-functions'.  It can
have the following values:

- `:enthusiast' says to display STRING as soon as possible if
  there's no higher priority doc string;

- `:patient' says to display STRING along with all other
   competing strings but only when all of all
   `eldoc-documentation-functions' have been collected;

- `:eager' says to display STRING along with all other competing
  strings so far, as soon as possible.

(fn METHOD)
(defalias 'eldoc--make-callback #[257 "!\207" [eldoc--make-callback] 3 (#$ . 30216)])
#@990 Invoke `eldoc-documentation-strategy' function.

If INTERACTIVE is non-nil, the request came directly from a user
command, otherwise it came from ElDoc's idle
timer, `eldoc-timer'.

That function's job is to run the `eldoc-documentation-functions'
special hook, using the `run-hook' family of functions.  ElDoc's
built-in strategy functions play along with the
`eldoc--make-callback' protocol, using it to produce a callback
argument to feed the functions that the user places in
`eldoc-documentation-functions'.  Whenever the strategy
determines it has information to display to the user, this
function passes responsibility to the functions in
`eldoc-display-functions'.

Other third-party values of `eldoc-documentation-strategy' should
not use `eldoc--make-callback'.  They must find some alternate
way to produce callbacks to feed to
`eldoc-documentation-functions' and should endeavor to display
the docstrings eventually produced, using
`eldoc-display-functions'.

(fn INTERACTIVE)
(defalias 'eldoc--invoke-strategy #[257 "\302C\302C\303C\304\305\"\304\306#\304\307&\211	 \211;\2032\302\303#\210 \202=\211\204<\310\303!\202=\311)\207" [eldoc--make-callback eldoc-documentation-strategy 0 nil make-closure #[771 "\205G\301V\205\300BB\300\242B\240\207" [V0 0] 7 "\n\n(fn POS STRING PLIST)"] #[0 "\302\303\304\305\301\306\301\242\307\"\240\"\300#\207" [V0 V1 run-hook-with-args eldoc-display-functions mapcar cdr sort #[514 "@@W\207" [] 4 "\n\n(fn A B)"]] 8] #[257 "\300\242\300\211\242T\240\210\305\267\202+\306\307\302\303\304%\207\301\211\242T\240\210\306\310\301\303\304%\207\306\311\303\304$\207\312\313\314#\2054\315\207" [V0 V1 V2 V3 V4 #s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (:enthusiast 14 :patient 22 :eager 36)) make-closure #[385 "\203;\300\242\306\211\307:\203'@\262@\262\303W?\211\262\203'A\262\202	\211\205,\307\266\204\203;\300\306\240\210\301\303#\210\310\f!\203K\f
>\203K\311\f!\210\312\303\313U?\205T\314\306\302#\307\207" [V0 V1 V2 V3 eldoc--enthusiasm-curbing-timer timer-list nil t timerp cancel-timer run-at-time 0 0.3] 8 "\n\n(fn STRING &rest PLIST)"] #[385 "\301\303#\210\300\211\242S\240\304U\203\302 \210\305\207" [V0 V1 V2 V3 0 t] 6 "\n\n(fn STRING &rest PLIST)"] #[385 "\300\302#\210\301 \210\303\207" [V0 V1 V2 t] 6 "\n\n(fn STRING &rest PLIST)"] error "cl-ecase failed: %s, %s" (:enthusiast :patient :eager) nil] 8 "\n\n(fn METHOD)"] eldoc--message t] 13 (#$ . 31182)])
#@54 Document thing at point.

(fn &optional INTERACTIVE)
(defalias 'eldoc-print-current-symbol-info #[256 "\302\203	\303\304!\207\305 \211\262\232?\205\304\211\303\302!)\207" [eldoc--last-request-state non-essential nil eldoc--invoke-strategy t eldoc--request-state] 4 (#$ . 33708) '(t)])
#@76 Add each of CMDS to the obarray `eldoc-message-commands'.

(fn &rest CMDS)
(defalias 'eldoc-add-command #[128 "\211\211\205\211@\2119\203\301!\262\302\"\303L\210A\266\202\202\207" [eldoc-message-commands symbol-name intern t] 6 (#$ . 34007)])
#@81 Pass every prefix completion of NAMES to `eldoc-add-command'.

(fn &rest NAMES)
(defalias 'eldoc-add-command-completions #[128 "\211\211\205\211@\301\302\303\304#\"\210A\266\202\202\207" [obarray apply eldoc-add-command all-completions commandp] 9 (#$ . 34267)])
#@81 Remove each of CMDS from the obarray `eldoc-message-commands'.

(fn &rest CMDS)
(defalias 'eldoc-remove-command #[128 "\211\211\205\211@\2119\203\301!\262\302\"\210A\266\202\202\207" [eldoc-message-commands symbol-name unintern] 6 (#$ . 34543)])
#@84 Pass every prefix completion of NAMES to `eldoc-remove-command'.

(fn &rest NAMES)
(defalias 'eldoc-remove-command-completions #[128 "\211\211\205\211@\301\302\303\"\"\210A\266\202\202\207" [eldoc-message-commands apply eldoc-remove-command all-completions] 8 (#$ . 34806)])
(byte-code "\300\301\302\303\304\305\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327\330\331\332\333\334\335\336&\210\337\340!\207" [eldoc-add-command-completions "back-to-indentation" "backward-" "beginning-of-" "delete-other-windows" "delete-window" "down-list" "end-of-" "exchange-point-and-mark" "forward-" "goto-" "handle-select-window" "indent-for-tab-command" "left-" "mark-page" "mark-paragraph" "mouse-set-point" "move-" "move-beginning-of-" "move-end-of-" "newline" "next-" "other-window" "pop-global-mark" "previous-" "recenter" "right-" "scroll-" "self-insert-command" "split-window-" "up-list" provide eldoc] 31)

Youez - 2016 - github.com/yon3zu
LinuXploit