%PDF- %PDF-
Direktori : /usr/local/share/emacs/27.2/lisp/emacs-lisp/ |
Current File : //usr/local/share/emacs/27.2/lisp/emacs-lisp/cl-indent.elc |
;ELC ;;; Compiled ;;; in Emacs version 27.2 ;;; 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\302\303\304\305%\210\306\307\310\311\312DD\313\314\315\304\301&\210\306\316\310\311\317DD\320\314\315\304\301&\210\306\321\310\311\322DD\323\314\315\304\301&\210\306\324\310\311\325DD\326\314\327\304\301&\210\306\330\310\311\331DD\332\314\315\304\301&\210\306\333\310\311\334DD\335\314\315\304\301&\210\306\336\310\311\337DD\340\314\315\304\301&\210\306\341\310\311\342DD\343\344\345\314\327\304\301& \210\306\346\310\311\347DD\350\344\345\314\315\304\301& \210\306\351\310\311\352DD\353\344\345\314\327\304\301& \210\306\354\310\311\355DD\356\344\357\314\360\304\301& \207" [custom-declare-group lisp-indent nil "Indentation in Lisp." :group lisp custom-declare-variable lisp-indent-maximum-backtracking funcall function #[0 "\300\207" [3] 1] "Maximum depth to backtrack out from a sublist for structured indentation.\nIf this variable is 0, no backtracking will occur and forms such as `flet'\nmay not be correctly indented." :type integer lisp-tag-indentation #[0 "\300\207" [1] 1] "Indentation of tags relative to containing list.\nThis variable is used by the function `lisp-indent-tagbody'." lisp-tag-body-indentation #[0 "\300\207" [3] 1] "Indentation of non-tagged lines relative to containing list.\nThis variable is used by the function `lisp-indent-tagbody' to indent normal\nlines (lines without tags).\nThe indentation is relative to the indentation of the parenthesis enclosing\nthe special form. If the value is t, the body of tags will be indented\nas a block at the same indentation as the first s-expression following\nthe tag. In this case, any forms before the first tag are indented\nby `lisp-body-indent'." lisp-backquote-indentation #[0 "\300\207" [t] 1] "Whether or not to indent backquoted lists as code.\nIf nil, indent backquoted lists as data, i.e., like quoted lists." boolean lisp-loop-keyword-indentation #[0 "\300\207" [3] 1] "Indentation of loop keywords in extended loop forms." lisp-loop-forms-indentation #[0 "\300\207" [5] 1] "Indentation of forms in extended loop forms." lisp-simple-loop-indentation #[0 "\300\207" [3] 1] "Indentation of forms in simple loop forms." lisp-lambda-list-keyword-alignment #[0 "\300\207" [nil] 1] "Whether to vertically align lambda-list keywords together.\nIf nil (the default), keyworded lambda-list parts are aligned\nwith the initial mandatory arguments, like this:\n\n(defun foo (arg1 arg2 &rest rest\n &key key1 key2)\n #|...|#)\n\nIf non-nil, alignment is done with the first keyword\n(or falls back to the previous case), as in:\n\n(defun foo (arg1 arg2 &rest rest\n &key key1 key2)\n #|...|#)" :version "24.1" lisp-lambda-list-keyword-parameter-indentation #[0 "\300\207" [2] 1] "Indentation of lambda list keyword parameters.\nSee `lisp-lambda-list-keyword-parameter-alignment'\nfor more information." lisp-lambda-list-keyword-parameter-alignment #[0 "\300\207" [nil] 1] "Whether to vertically align lambda-list keyword parameters together.\nIf nil (the default), the parameters are aligned\nwith their corresponding keyword, plus the value of\n`lisp-lambda-list-keyword-parameter-indentation', like this:\n\n(defun foo (arg1 arg2 &key key1 key2\n key3 key4)\n #|...|#)\n\nIf non-nil, alignment is done with the first parameter\n(or falls back to the previous case), as in:\n\n(defun foo (arg1 arg2 &key key1 key2\n key3 key4)\n #|...|#)" lisp-indent-backquote-substitution-mode #[0 "\300\207" [t] 1] "How to indent substitutions in backquotes.\nIf t, the default, indent substituted forms normally.\nIf nil, do not apply special indentation rule to substituted\nforms. If `corrected', subtract the `,' or `,@' from the form\ncolumn, indenting as if this character sequence were not present.\nIn any case, do not backtrack beyond a backquote substitution.\n\nUntil Emacs 25.1, the nil behavior was hard-wired." "25.1" (choice (const corrected) (const nil) (const t))] 10) #@125 Defun-like indentation method. This applies when the value of the `common-lisp-indent-function' property is set to `defun'. (defvar lisp-indent-defun-method '(4 &lambda &body) (#$ . 4376)) #@70 True if an extended loop form starts at LOOP-START. (fn LOOP-START) (defalias 'lisp-extended-loop-p #[257 "\3001 \212\211b\210\301u\210\302\303!\210\304\301!\210\305\306!)0\207\210\307\207" [(error) 1 forward-sexp 2 backward-sexp looking-at "\\(:\\|\\sw\\)" t] 3 (#$ . 4571)]) #@179 Find the lisp indentation function for SYMBOL. If NO-COMPAT is non-nil, do not retrieve indenters intended for the standard lisp indent package. (fn SYMBOL &optional NO-COMPAT) (defalias 'lisp-indent-find-method #[513 "\300\301!\203\f \302N\206 \303N\206 \211?\205 \304N\207" [derived-mode-p emacs-lisp-mode common-lisp-indent-function-for-elisp common-lisp-indent-function lisp-indent-function] 4 (#$ . 4857)]) #@77 Compute the indentation of loop form constituents. (fn INDENT-POINT STATE) (defalias 'common-lisp-loop-part-indentation #[514 "\212\211\304\234b\210i)\305=\203= \212\304\234b\210\211`Sf\306=\203! \307\2029 `Sf\310=\2038 \307u\210`Sf\306=\2038 \311\2029 \312\\\262)b\210\313 \210\314\304\234!\204Q \211 \\\202` \315\316!\203] \211\n\\\202` \211\\D\207" [lisp-indent-backquote-substitution-mode lisp-simple-loop-indentation lisp-loop-keyword-indentation lisp-loop-forms-indentation 1 corrected 44 -1 64 -2 0 beginning-of-line lisp-extended-loop-p looking-at "^\\s-*\\(:?\\sw+\\|;\\)"] 6 (#$ . 5282)]) #@3445 Function to indent the arguments of a Lisp function call. This is suitable for use as the value of the variable `lisp-indent-function'. INDENT-POINT is the point at which the indentation function is called, and STATE is the `parse-partial-sexp' state at that position. Browse the `lisp-indent' customize group for options affecting the behavior of this function. If the indentation point is in a call to a Lisp function, that function's `common-lisp-indent-function' property specifies how this function should indent it. Possible values for this property are: * defun, meaning indent according to `lisp-indent-defun-method'; i.e., like (4 &lambda &body), as explained below. * any other symbol, meaning a function to call. The function should take the arguments: PATH STATE INDENT-POINT SEXP-COLUMN NORMAL-INDENT. PATH is a list of integers describing the position of point in terms of list-structure with respect to the containing lists. For example, in ((a b c (d foo) f) g), foo has a path of (0 3 1). In other words, to reach foo take the 0th element of the outermost list, then the 3rd element of the next list, and finally the 1st element. STATE and INDENT-POINT are as in the arguments to `common-lisp-indent-function'. SEXP-COLUMN is the column of the open parenthesis of the innermost containing list. NORMAL-INDENT is the column the indentation point was originally in. This function should behave like `lisp-indent-259'. * an integer N, meaning indent the first N arguments like function arguments, and any further arguments like a body. This is equivalent to (4 4 ... &body). * a list. The list element in position M specifies how to indent the Mth function argument. If there are fewer elements than function arguments, the last list element applies to all remaining arguments. The accepted list elements are: * nil, meaning the default indentation. * an integer, specifying an explicit indentation. * &lambda. Indent the argument (which may be a list) by 4. * &rest. When used, this must be the penultimate element. The element after this one applies to all remaining arguments. * &body. This is equivalent to &rest lisp-body-indent, i.e., indent all remaining elements by `lisp-body-indent'. * &whole. This must be followed by nil, an integer, or a function symbol. This indentation is applied to the associated argument, and as a base indent for all remaining arguments. For example, an integer P means indent this argument by P, and all remaining arguments by P, plus the value specified by their associated list element. * a symbol. A function to call, with the 6 arguments specified above. * a list, with elements as described above. This applies when the associated function argument is itself a list. Each element of the list specifies how to indent the associated argument. For example, the function `case' has an indent property (4 &rest (&whole 2 &rest 1)), meaning: * indent the first argument by 4. * arguments after the first should be lists, and there may be any number of them. The first list element has an offset of 2, all the rest have an offset of 2+1=3. If the current mode is actually `emacs-lisp-mode', look for a `common-lisp-indent-function-for-elisp' property before looking at `common-lisp-indent-function' and, if set, use its value instead. (fn INDENT-POINT STATE) (defalias 'common-lisp-indent-function #[514 "\212\211\301\234b\210\302\303\304!\203 \305\202 \306!\2053 \2063 `Sf\307=\203- \310u\210`Sf\311=\2062 `Sf\311=?)\203<