MMCT TEAM
Server IP : 111.118.215.189  /  Your IP : 13.59.31.221
Web Server : Apache
System : Linux md-in-83.webhostbox.net 4.19.286-203.ELK.el7.x86_64 #1 SMP Wed Jun 14 04:33:55 CDT 2023 x86_64
User : a1673wkz ( 2475)
PHP Version : 8.2.25
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON
Directory (0755) :  /usr/share/emacs/24.3/lisp/emacs-lisp/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : //usr/share/emacs/24.3/lisp/emacs-lisp/eldoc.elc
;ELC
;;; Compiled by mockbuild@buildfarm06-new.corp.cloudlinux.com on Fri Oct 11 10:09:02 2024
;;; from file /builddir/build/BUILD/emacs-24.3/lisp/emacs-lisp/eldoc.el
;;; in Emacs version 24.3.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\302\303\304\305\306\307\306\310&\210\311\312\313\314\315\316\306\303&\210\311\317\320\321\315\322\306\303&\210\311\323\324\325\315\326\306\303&\210\311\327\330\331\315\332\306\303&\210\333\334\335\336\306\303%\207" [require help-fns custom-declare-group eldoc nil "Show function arglist or variable docstring in echo area." :group lisp extensions custom-declare-variable eldoc-idle-delay 0.5 "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-minor-mode-string (purecopy " ElDoc") "String to display in mode line when ElDoc Mode is enabled; nil for none." (choice string (const :tag "None" nil)) eldoc-argument-case 'upcase "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 if `eldoc-documentation-function' is non-nil, this variable\nhas no effect, unless the function handles it explicitly." (radio (function-item upcase) (function-item downcase) function) eldoc-echo-area-use-multiline-p 'truncate-sym-name-if-fit "Allow long ElDoc messages to resize echo area display.\nIf value is t, never attempt to truncate messages; complete symbol name\nand function arglist or 1-line variable documentation will be displayed\neven if echo area must be resized to fit.\n\nIf value is any non-nil value other than t, symbol name may be truncated\nif it will enable the function arglist or documentation string to fit on a\nsingle line without resizing window.  Otherwise, behavior is just like\nformer case.\n\nIf value is nil, messages are always truncated to fit in a single line of\ndisplay in the echo area.  Function or variable symbol name may be\ntruncated to make more of the arglist or documentation string visible.\n\nNote that if `eldoc-documentation-function' is non-nil, this variable\nhas no effect, unless the function handles it explicitly." (radio (const :tag "Always" t) (const :tag "Never" nil) (const :tag "Yes, but truncate symbol names if it will enable argument list to fit on one line" truncate-sym-name-if-fit)) 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 if `eldoc-documentation-function' is non-nil, this face\nhas no effect, unless the function handles 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 (#$ . 3192))
#@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'.
(defconst eldoc-message-commands (make-vector eldoc-message-commands-table-size 0) (#$ . 3585))
#@276 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.
(defconst eldoc-last-data (make-vector 3 nil) (#$ . 4166))
(defvar eldoc-last-message nil)
#@23 ElDoc's timer object.
(defvar eldoc-timer nil (#$ . 4538))
#@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 (#$ . 4604))
#@89 Non-nil if Eldoc mode is enabled.
Use the command `eldoc-mode' to change this variable.
(defvar eldoc-mode nil (#$ . 4788))
(make-variable-buffer-local 'eldoc-mode)
#@564 Toggle echo area display of Lisp objects at point (ElDoc mode).
With a prefix argument ARG, enable ElDoc mode if ARG is positive,
and disable it otherwise.  If called from Lisp, enable ElDoc mode
if ARG is omitted or nil.

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.
(defalias 'eldoc-mode #[(&optional arg) "\304 	\305=\203\n?\202\306	!\307V\310\n\203*\311\312\313\310\314$\210\311\315\316\314#\210\2024\317\312\313\"\210\317\315\316\"\210\320\321\n\203>\322\202?\323\"\210\324\325!\203`\304 \203S\304 \232\203`\326\327\n\203]\330\202^\331\"\210)\332 \210\n\207" [#1=#:last-message arg eldoc-mode eldoc-last-message current-message toggle prefix-numeric-value 0 nil add-hook post-command-hook eldoc-schedule-timer t pre-command-hook eldoc-pre-command-refresh-echo-area remove-hook run-hooks eldoc-mode-hook eldoc-mode-on-hook eldoc-mode-off-hook called-interactively-p any message "Eldoc mode %sabled" "en" "dis" force-mode-line-update] 5 (#$ . 4960) (list (or current-prefix-arg 'toggle))])
(byte-code "\301\302\303\304\300!\205\n\305\211%\207" [eldoc-mode-map add-minor-mode eldoc-mode eldoc-minor-mode-string boundp nil] 6)
#@62 Unequivocally turn on ElDoc mode (see command `eldoc-mode').
(defalias 'turn-on-eldoc-mode #[nil "\300\301!\207" [eldoc-mode 1] 2 (#$ . 6408) nil])
(defalias 'eldoc-schedule-timer #[nil "\203\n	>\204\304\n\305\306#\nU?\205\n\307\n\305#\207" [eldoc-timer timer-idle-list eldoc-idle-delay eldoc-current-idle-delay run-with-idle-timer t eldoc-print-current-symbol-info timer-set-idle-time] 4])
(defalias 'eldoc-message #[(&rest args) "\n@=\203
\202$\n@\204\304\202$\nA\204 \n@\202$\305\306\n\"\304\2033\307\310\"\210\202;	\203;\307\304!\210*\207" [eldoc-last-message omessage args message-log-max nil apply format message "%s"] 3])
(defalias 'eldoc-pre-command-refresh-echo-area #[nil "\205\301 \203
\302!\207\303\211\207" [eldoc-last-message eldoc-display-message-no-interference-p eldoc-message nil] 2])
(defalias 'eldoc-display-message-p #[nil "\303 \205?\205	9\205\304\305	!\n\"\207" [this-command last-command eldoc-message-commands eldoc-display-message-no-interference-p intern-soft symbol-name] 3])
(defalias 'eldoc-display-message-no-interference-p #[nil "\205	?\205\304\302!\205\n?\205?\205\305 \306 =?\207" [eldoc-mode executing-kbd-macro edebug-active cursor-in-echo-area boundp selected-window minibuffer-window] 2])
#@672 If non-nil, function to call to return doc string.
The function of no args should return a one-line string for displaying
doc about a function etc. appropriate to the context around point.
It should return nil if there's no doc appropriate for the context.
Typically doc is returned if point is on a function-like name or in its
arg list.

The result is used as is, so the function must explicitly handle
the variables `eldoc-argument-case' and `eldoc-echo-area-use-multiline-p',
and the face `eldoc-highlight-function-argument', if they are to have any
effect.

This variable is expected to be made buffer-local by modes (other than
Emacs Lisp mode) that support ElDoc.
(defvar eldoc-documentation-function nil (#$ . 7697))
(defalias 'eldoc-print-current-symbol-info #[nil "\300\301\302\217\207" [err (byte-code "\304 \205?\203\305 !\207\306 \307 \211\204\310\202:	\n@=\2030\311\312\n\"\206:\313	!\202:\313	!\206:\311\312\n\"\305!+\207" [eldoc-documentation-function current-symbol current-fnsym doc eldoc-display-message-p eldoc-message eldoc-current-symbol eldoc-fnsym-in-current-sexp nil apply eldoc-get-fnsym-args-string eldoc-get-var-docstring] 4) ((error (message "eldoc error: %s" err)))] 3])
#@448 Return a string containing the parameter list of the function SYM.
If SYM is a subr and no arglist is obtainable from the docstring
or elsewhere, return a 1-line docstring.  Calls the functions
`eldoc-function-argstring-format' and
`eldoc-highlight-function-argument' to format the result.  The
former calls `eldoc-argument-case'; the latter gives the
function name `font-lock-function-name-face', and optionally
highlights argument number INDEX.
(defalias 'eldoc-get-fnsym-args-string #[(sym &optional index) "\306\211\211\203|9\203|\307!\203|\f\310H=\203,\f\311H\312=\203,\f\313H\202|\314\315!
\316#\211<\203>\202|\317\320\316\"\"\211\203x	@\321\322\n\"\210\n\310\225\306O\323\n\306\316\321#,\203|\n\310\324O\202|\325!\n\203\215\326\327\n!\211\312#\210\202\217	\n\205\233\330\331\n!#+\207" [advertised doc args sym eldoc-last-data advertised-signature-table nil fboundp 0 2 function 1 gethash indirect-function t help-split-fundoc documentation string-match "\\`[^ )]* ?" ")\\'" -1 help-function-arglist eldoc-last-data-store eldoc-function-argstring eldoc-highlight-function-argument eldoc-function-argstring-format start string regexp inhibit-changing-match-data index] 4 (#$ . 8921)])
#@126 Highlight argument INDEX in ARGS list for function SYM.
In the absence of INDEX, just call `eldoc-docstring-format-sym-doc'.
(defalias 'eldoc-highlight-function-argument #[(sym args index) "\306\307\310\203d\311Y\203d\312\313\f	#\203V\307\224\307\225\314\307\f\"\211\315\230\203.\311\202R
\316\230\204R\317
\306\320\312\n#,\203O\307\202RS)\202\fG\211S\321\307\211\204\n\f\n\203z\322\f!\323\n	\324D$\210\325\326#\211,\207" [argument-face end start index args argument nil 0 eldoc-highlight-function-argument 1 string-match "[^ ()]+" match-string "&rest" "&optional" "\\.\\.\\.$" t font-lock-warning-face copy-sequence add-text-properties face eldoc-docstring-format-sym-doc font-lock-function-name-face string regexp inhibit-changing-match-data doc sym] 6 (#$ . 10172)])
(defalias 'eldoc-get-var-docstring #[(sym) "\2052	\303H=\203	\304H\305=\203	\306H\207\307\310\311#\211\2030\312\313\n!\314#\315\n\305#\210\n)\207" [sym eldoc-last-data doc 0 2 variable 1 documentation-property variable-documentation t eldoc-docstring-format-sym-doc eldoc-docstring-first-line font-lock-variable-name-face eldoc-last-data-store] 5])
(defalias 'eldoc-last-data-store #[(symbol doc type) "\304	I\210\305\nI\210\306I\207" [eldoc-last-data symbol doc type 0 1 2] 3])
(defalias 'eldoc-docstring-first-line #[(doc) ";\2058\303\304 \305\216\306\307\"\203\310\225\202\310\306\311\"\203(\n\310\224O\2026\312\n!\2032\2026\n\313O+!\207" [doc save-match-data-internal start substitute-command-keys match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) string-match "\\`\\*" 0 "\n" zerop nil] 4])
(defalias 'eldoc-docstring-format-sym-doc #[(sym doc face) "\306 \307\216\310	!\311\312 !S\313\nG\314GG#
Z\211\315X\2046\f\316=\2046\f\203DG
V\203D\317\320\321\n\322##\202xG
V\203W\317\323\"\315
O\202x\nGY\203g\317\323\"\202x\n\324O\317\320\321\n\322##.\207" [save-match-data-internal sym name eldoc-echo-area-use-multiline-p ea-multi ea-width match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) symbol-name window-width minibuffer-window + ": " 0 t format "%s: %s" propertize face "%s" nil doc strip] 7])
(defalias 'eldoc-fnsym-in-current-sexp #[nil "\212\301 S\211\302W\203
\302`Sf\206\302\303U?\205\304 D*\207" [argument-index eldoc-beginning-of-sexp 0 34 eldoc-current-symbol] 3])
(defalias 'eldoc-beginning-of-sexp #[nil "\302\303\304\305\306\217\210*\207" [num-skipped-sexps parse-sexp-ignore-comments t 0 err (byte-code "\302\303\304\217\210`\305\306!\210`W\205	T\211)\204\302\207" [p num-skipped-sexps err (byte-code "`\302\303!\210\302\304!\210`W\203\304)\302\207" [p num-skipped-sexps forward-sexp -1 1] 2) ((error)) forward-sexp -1] 3) ((error))] 3])
(defalias 'eldoc-current-symbol #[nil "`f\211\205z\301>\205\302\303 !)\207" [c (119 95) intern-soft current-word] 3])
(defalias 'eldoc-symbol-function #[(fsym) "\302!\205K\2119\203\303\304\305\217\210	)\207" [fsym defn fboundp err (byte-code "\302!\302\207" [fsym defn indirect-function] 2) ((error (byte-code "\301\211\207" [defn nil] 2)))] 4])
#@105 Return ARGLIST as a string enclosed by ().
ARGLIST is either a string, or a list of strings or symbols.
(defalias 'eldoc-function-argstring #[(arglist) ";\204*<\204\301\202*@9\203\302\303\304#\202*@;\203*\302\305\304#\2052\306\307\"\207" [arglist nil mapconcat #[(s) "\301!\207" [s symbol-name] 2] " " #[(s) "\207" [s] 1] format "(%s)"] 4 (#$ . 13410)])
#@111 Apply `eldoc-argument-case' to each word in ARGSTRING.
The words "&rest", "&optional" are returned unchanged.
(defalias 'eldoc-function-argstring-format #[(argstring) "\301\302\303!\304#\207" [argstring mapconcat #[(s) "\306\307\310\311\n	#,\203\207
!\207" [s start string regexp inhibit-changing-match-data eldoc-argument-case "\\`(?&\\(?:optional\\|rest\\))?\\'" nil t string-match] 4] split-string " "] 4 (#$ . 13793)])
(defalias 'eldoc-add-command #[(&rest cmds) "\304\211\205#\n@\2119\203\305	!\306	\"\307L\210\nA\211\204\304*\207" [cmds name --dolist-tail-- eldoc-message-commands nil symbol-name intern t] 4])
(defalias 'eldoc-add-command-completions #[(&rest names) "\304\211\205\n@\305\306\307	\310#\"\210\nA\211\204\304*\207" [names name --dolist-tail-- obarray nil apply eldoc-add-command all-completions commandp] 7])
(defalias 'eldoc-remove-command #[(&rest cmds) "\304\211\205!\n@\2119\203\305	!\306	\"\210\nA\211\204\304*\207" [cmds name --dolist-tail-- eldoc-message-commands nil symbol-name unintern] 4])
(defalias 'eldoc-remove-command-completions #[(&rest names) "\304\211\205\n@\305\306\307	\"\"\210\nA\211\204\304*\207" [names name --dolist-tail-- eldoc-message-commands nil apply eldoc-remove-command all-completions] 6])
(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&\210\335\336!\207" [eldoc-add-command-completions "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-" "next-" "other-window" "pop-global-mark" "previous-" "recenter" "right-" "scroll-" "self-insert-command" "split-window-" "up-list" provide eldoc] 29)

MMCT - 2023