;ELC ;;; Compiled ;;; in Emacs version 28.0.50 ;;; with all optimizations. (byte-code "\300\301!\210\302\303\304\305\306\307\306\310&\210\311\312\313\314\315DD\316\317\320\306\303&\210\311\321\313\314\322DD\323\317\320\306\303&\210\311\324\313\314\325DD\326\317\320\306\303&\210\311\327\313\314\330DD\331\317\332\306\303&\210\311\333\313\314\334DD\335\317\332\306\303&\210\311\336\313\314\337DD\340\317\320\306\303&\210\311\341\313\314\342DD\343\317\320\306\303&\210\311\344\313\314\345DD\346\317\332\306\303&\210\311\347\313\314\350DD\351\317\320\306\303&\210\311\352\313\314\353DD\354\317\332\306\303&\210\311\355\313\314\356DD\357\317\332\306\303&\210\311\360\313\314\361DD\362\317\332\306\303&\210\311\363\313\314\364DD\365\317\332\306\303&\210\311\366\313\314\367DD\370\317\320\306\303&\210\311\371\313\314\372DD\373\317\332\306\303&\207" [require cl-lib custom-declare-group sly-lisp-indent nil "Indentation in Common Lisp." :group sly lisp-indent custom-declare-variable sly-lisp-indent-maximum-backtracking funcall function #[0 "\300\207" [6] 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 if this value is less than 4." :type integer sly-lisp-tag-indentation #[0 "\300\207" [1] 1] "Indentation of tags relative to containing list.\nThis variable is used by the function `sly--lisp-indent-tagbody'." sly-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 `sly--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'." sly-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 sly-lisp-loop-indent-subclauses #[0 "\300\207" [t] 1] "Whether or not to indent loop subclauses." sly-lisp-simple-loop-indentation #[0 "\300\207" [2] 1] "Indentation of forms in simple loop forms." sly-lisp-loop-clauses-indentation #[0 "\300\207" [2] 1] "Indentation of loop clauses if `loop' is immediately followed by a newline." sly-lisp-loop-indent-body-forms-relative-to-loop-start #[0 "\300\207" [nil] 1] "When true, indent loop body clauses relative to the open paren of the loop\nform, instead of the keyword position." sly-lisp-loop-body-forms-indentation #[0 "\300\207" [3] 1] "Indentation of loop body clauses." sly-lisp-loop-indent-forms-like-keywords #[0 "\300\207" [nil] 1] "Whether or not to indent loop subforms just like\nloop keywords. Only matters when `sly-lisp-loop-indent-subclauses'\nis nil." sly-lisp-align-keywords-in-calls #[0 "\300\207" [t] 1] "Whether to align keyword arguments vertically or not.\nIf t (the default), keywords in contexts where no other\nindentation rule takes precedence are aligned like this:\n\n(make-instance 'foo :bar t\n :quux 42)\n\nIf nil, they are indented like any other function\ncall arguments:\n\n(make-instance 'foo :bar t\n :quux 42)" sly-lisp-lambda-list-indentation #[0 "\300\207" [t] 1] "Whether to indent lambda-lists specially. Defaults to t. Setting this to\nnil makes `sly-lisp-lambda-list-keyword-alignment',\n`sly-lisp-lambda-list-keyword-parameter-alignment', and\n`sly-lisp-lambda-list-keyword-parameter-indentation' meaningless, causing\nlambda-lists to be indented as if they were data:\n\n(defun example (a b &optional o1 o2\n o3 o4\n &rest r\n &key k1 k2\n k3 k4)\n #|...|#)" sly-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 #|...|#)" sly-lisp-lambda-list-keyword-parameter-indentation #[0 "\300\207" [2] 1] "Indentation of lambda list keyword parameters.\nSee `sly-lisp-lambda-list-keyword-parameter-alignment'\nfor more information." sly-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`sly-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 #|...|#)"] 8) #@129 Defun-like indentation method. This applies when the value of the `sly-common-lisp-indent-function' property is set to `defun'. (defvar sly-lisp-indent-defun-method '(4 &lambda &body) (#$ . 5248)) #@84 compiler-macro for inlining `sly--common-lisp-style-name'. (fn CL-WHOLE-ARG CL-X) (defalias 'sly--common-lisp-style-name--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block sly--common-lisp-style-name (progn (car cl-x))) nil] 9 (#$ . 5451)]) (put 'sly--common-lisp-style-name 'compiler-macro 'sly--common-lisp-style-name--cmacro) #@72 Access slot "name" of `sly--common-lisp-style' struct CL-X. (fn CL-X) (defalias 'sly--common-lisp-style-name #[257 "\211@\207" [] 2 (#$ . 5823)]) (byte-code "\300\301\302\303#\300\207" [function-put sly--common-lisp-style-name side-effect-free t] 4) #@88 compiler-macro for inlining `sly--common-lisp-style-inherits'. (fn CL-WHOLE-ARG CL-X) (defalias 'sly--common-lisp-style-inherits--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block sly--common-lisp-style-inherits (progn (nth 1 cl-x))) nil] 9 (#$ . 6080)]) (put 'sly--common-lisp-style-inherits 'compiler-macro 'sly--common-lisp-style-inherits--cmacro) #@76 Access slot "inherits" of `sly--common-lisp-style' struct CL-X. (fn CL-X) (defalias 'sly--common-lisp-style-inherits #[257 "\211A@\207" [] 2 (#$ . 6474)]) (byte-code "\300\301\302\303#\300\207" [function-put sly--common-lisp-style-inherits side-effect-free t] 4) #@89 compiler-macro for inlining `sly--common-lisp-style-variables'. (fn CL-WHOLE-ARG CL-X) (defalias 'sly--common-lisp-style-variables--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block sly--common-lisp-style-variables (progn (nth 2 cl-x))) nil] 9 (#$ . 6744)]) (put 'sly--common-lisp-style-variables 'compiler-macro 'sly--common-lisp-style-variables--cmacro) #@77 Access slot "variables" of `sly--common-lisp-style' struct CL-X. (fn CL-X) (defalias 'sly--common-lisp-style-variables #[257 "\3008\207" [2] 3 (#$ . 7143)]) (byte-code "\300\301\302\303#\300\207" [function-put sly--common-lisp-style-variables side-effect-free t] 4) #@91 compiler-macro for inlining `sly--common-lisp-style-indentation'. (fn CL-WHOLE-ARG CL-X) (defalias 'sly--common-lisp-style-indentation--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block sly--common-lisp-style-indentation (progn (nth 3 cl-x))) nil] 9 (#$ . 7417)]) (put 'sly--common-lisp-style-indentation 'compiler-macro 'sly--common-lisp-style-indentation--cmacro) #@79 Access slot "indentation" of `sly--common-lisp-style' struct CL-X. (fn CL-X) (defalias 'sly--common-lisp-style-indentation #[257 "\3008\207" [3] 3 (#$ . 7826)]) (byte-code "\300\301\302\303#\300\207" [function-put sly--common-lisp-style-indentation side-effect-free t] 4) #@84 compiler-macro for inlining `sly--common-lisp-style-hook'. (fn CL-WHOLE-ARG CL-X) (defalias 'sly--common-lisp-style-hook--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block sly--common-lisp-style-hook (progn (nth 4 cl-x))) nil] 9 (#$ . 8106)]) (put 'sly--common-lisp-style-hook 'compiler-macro 'sly--common-lisp-style-hook--cmacro) #@72 Access slot "hook" of `sly--common-lisp-style' struct CL-X. (fn CL-X) (defalias 'sly--common-lisp-style-hook #[257 "\3008\207" [4] 3 (#$ . 8480)]) (byte-code "\300\301\302\303#\300\207" [function-put sly--common-lisp-style-hook side-effect-free t] 4) #@89 compiler-macro for inlining `sly--common-lisp-style-docstring'. (fn CL-WHOLE-ARG CL-X) (defalias 'sly--common-lisp-style-docstring--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block sly--common-lisp-style-docstring (progn (nth 5 cl-x))) nil] 9 (#$ . 8739)]) (put 'sly--common-lisp-style-docstring 'compiler-macro 'sly--common-lisp-style-docstring--cmacro) #@77 Access slot "docstring" of `sly--common-lisp-style' struct CL-X. (fn CL-X) (defalias 'sly--common-lisp-style-docstring #[257 "\3008\207" [5] 3 (#$ . 9138)]) (byte-code "\300\301\302\303#\300\207" [function-put sly--common-lisp-style-docstring side-effect-free t] 4) #@130 compiler-macro for inlining `sly--common-lisp-make-style'. (fn CL-WHOLE-ARG NAME INHERITS VARIABLES INDENTATION HOOK DOCSTRING) (defalias 'sly--common-lisp-make-style--cmacro #[1799 "\300\301\302\303\211\211      & \207" [cl--defsubst-expand (name inherits variables indentation hook docstring) (cl-block sly--common-lisp-make-style (list name inherits variables indentation hook docstring)) nil] 19 (#$ . 9413)]) (put 'sly--common-lisp-make-style 'compiler-macro 'sly--common-lisp-make-style--cmacro) #@116 Constructor for objects of type `sly--common-lisp-style'. (fn NAME INHERITS VARIABLES INDENTATION HOOK DOCSTRING) (defalias 'sly--common-lisp-make-style #[1542 "\257\207" [] 12 (#$ . 9929)]) (byte-code "\300\301\302\303#\304\305\306\211\307\306\310\311\305\306& \210\312\313\314\"\210\312\315\316\"\207" [function-put sly--common-lisp-make-style side-effect-free t cl-struct-define sly--common-lisp-style nil list ((name) (inherits) (variables) (indentation) (hook) (docstring)) cl-struct-sly--common-lisp-style-tags defalias sly--lisp-indent-parse-state-start cl-second sly--lisp-indent-parse-state-prev cl-third] 11) (defvar sly-common-lisp-style nil nil) (byte-code "\300\301!\210\302\301\303\304#\210\302\301\305\306#\210\302\301\307\310#\207" [make-variable-buffer-local sly-common-lisp-style put sly-common-lisp-style-base-doc "Name of the Common Lisp indentation style used in the current buffer.\nSet this by giving eg.\n\n ;; -*- common-lisp-style: sbcl -*-\n\nin the first line of the file, or by calling `sly-common-lisp-set-style'. If\nbuffer has no style specified, but `sly-common-lisp-style-default' is set, that\nstyle is used instead. Use `sly-define-common-lisp-style' to define new styles." permanent-local t safe-local-variable sly--lisp-indent-safe-style-p] 4) (defvar sly--common-lisp-styles (make-hash-table :test 'equal)) #@18 (fn STYLENAME) (defalias 'sly--lisp-indent-delete-style #[257 "\301\"\207" [sly--common-lisp-styles remhash] 4 (#$ . 11290)]) (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put sly--lisp-indent-delete-style speed -1 put byte-optimizer byte-compile-inline-expand] 5) #@18 (fn STYLENAME) (defalias 'sly--lisp-indent-find-style #[257 "\2119\203 \301!\202\f\211\302\"\206\303\304\"\207" [sly--common-lisp-styles symbol-name gethash error "Unknown Common Lisp style: %s"] 5 (#$ . 11581)]) #@139 True for known Common Lisp style without an :EVAL option. Ie. styles that will not evaluate arbitrary code on activation. (fn STYLENAME) (defalias 'sly--lisp-indent-safe-style-p #[257 "\3001 \301!0\202 \210\302\211A@\205#\3038?\205#\211?\206#\304!\207" [(error) sly--lisp-indent-find-style nil 4 sly--lisp-indent-safe-style-p] 5 (#$ . 11811)]) #@69 (fn STYLENAME INHERITS VARIABLES INDENTATION HOOKS DOCUMENTATION) (defalias 'sly--lisp-indent-add-style #[1542 "\301\302\"\210\303\211\257#\210\304\305N\306C\307P\262\301\310\311\"\"\210\312\242\313\"\211\203]\211@\211@A@\211\203M\314\315\316\260\262\266\202V\314\317R\262\266A\266\202\202/\210\320\304\321#\266\207" [sly--common-lisp-styles maphash #[514 "\301\302!#\207" [sly--common-lisp-styles puthash cl-copy-list] 6 "\n\n(fn K V)"] puthash sly-common-lisp-style sly-common-lisp-style-base-doc nil "\n\nAvailable styles are:\n" make-closure #[514 "\300\3018D\300\242B\240\207" [V0 5] 6 "\n\n(fn NAME STYLE)"] sort #[514 "@@\231\207" [] 4 "\n\n(fn A B)"] "\n " "\n " "\n" " (undocumented)\n" put variable-documentation] 18 (#$ . 12171)]) #@26 (fn STYLENAME METHODS) (defalias 'sly--lisp-indent-activate-style #[514 "\300!\211A@\211\203\301\"\210\3028\211\203)\211@\303@A@#\210A\266\202\202\210\3048\211\203C\211@\305@!A@L\210A\266\202\202-\210\3068\211\205M\211 \207" [sly--lisp-indent-find-style sly--lisp-indent-activate-style 3 puthash 2 make-local-variable 4] 10 (#$ . 12969)]) (defvar sly--lisp-indent-active-style nil nil) (make-variable-buffer-local 'sly--lisp-indent-active-style) (defalias 'sly--lisp-indent-active-style-methods #[0 "\206 \303\301!\205 \211\205\304!\211\n@=\203\nA\207\211\2050\305\306\307\"\310\"\210B\211\262\207" [sly-common-lisp-style common-lisp-style sly--lisp-indent-active-style boundp sly--lisp-indent-find-style make-hash-table :test equal sly--lisp-indent-activate-style] 6]) (defvar sly--lisp-indent-set-style-history nil) (defalias 'sly--lisp-indent-style-names #[0 "\301C\302\303\304\"\"\210\211\242\207" [sly--common-lisp-styles nil maphash make-closure #[514 "\300B\300\242B\240\207" [V0] 5 "\n\n(fn K V)"]] 5]) #@430 Set current buffer to use the Common Lisp style STYLENAME. STYLENAME, a string, must be an existing Common Lisp style. Styles are added (and updated) using `sly-define-common-lisp-style'. The buffer-local variable `sly-common-lisp-style' will get set to STYLENAME. A Common Lisp style is composed of local variables, indentation specifications, and may also contain arbitrary elisp code to run upon activation. (fn STYLENAME) (defalias 'sly-common-lisp-set-style #[257 "\302!\211@\262\303\304 \210\207" [sly-common-lisp-style sly--lisp-indent-active-style sly--lisp-indent-find-style nil sly--lisp-indent-active-style-methods] 3 (#$ . 14031) (byte-code "\301\302\303\304 \305\301\305\306&)C\207" [completion-ignore-case t completing-read "Specify Common Lisp indentation style: " sly--lisp-indent-style-names nil sly--lisp-indent-set-style-history] 7)]) #@865 Define a Common Lisp indentation style. NAME is the name of the style. DOCUMENTATION is the docstring for the style, automatically added to the docstring of `sly-common-lisp-style'. OPTIONS are: (:variables (name value) ...) Specifying the buffer local variables associated with the style. (:indentation (symbol spec) ...) Specifying custom indentations associated with the style. SPEC is a normal `sly-common-lisp-indent-function' indentation specification. (:inherit style) Inherit variables and indentations from another Common Lisp style. (:eval form ...) Lisp code to evaluate when activating the style. This can be used to eg. activate other modes. It is possible that over the lifetime of a buffer same style gets activated multiple times, so code in :eval option should cope with that. (fn NAME DOCUMENTATION &rest OPTIONS) (defalias 'sly-define-common-lisp-style '(macro . #[642 ":\203 B\262\300\262\301\302\236A@\303\304\236AD\303\305\236AD\306\236\2051\307\300\306\236ABB\257\207" [nil sly--lisp-indent-add-style :inherit quote :variables :indentation :eval lambda] 12 (#$ . 14901)])) (byte-code "\301\302\303\304#\305\306\307\310\307\211\211&\210\305\311\306\312\307\211\313&\210\305\314\306\307\211\211\315&\210\305\316\317Y\203/\314\2020\311\307\211\211\320&\210\305\321\316\322\323\307\324&\210\305\325\316\326\307\211\327&\210\305\330\325\331\332\333\334&\210\335\336\337\340\341DD\342\343\344\345\346\347\350\351 \"\352\"BB\353\354&\207" [emacs-major-version function-put sly-define-common-lisp-style lisp-indent-function 1 sly--lisp-indent-add-style "basic-common" nil ((sly-lisp-indent-maximum-backtracking 6) (sly-lisp-tag-indentation 1) (sly-lisp-tag-body-indentation 3) (sly-lisp-backquote-indentation t) (sly-lisp-loop-indent-subclauses t) (sly-lisp-loop-indent-forms-like-keywords nil) (sly-lisp-simple-loop-indentation 2) (sly-lisp-align-keywords-in-calls t) (sly-lisp-lambda-list-indentation t) (sly-lisp-lambda-list-keyword-alignment nil) (sly-lisp-lambda-list-keyword-parameter-indentation 2) (sly-lisp-lambda-list-keyword-parameter-alignment nil) (sly-lisp-indent-defun-method (4 &lambda &body)) (sly-lisp-loop-clauses-indentation 2) (sly-lisp-loop-indent-body-forms-relative-to-loop-start nil) (sly-lisp-loop-body-forms-indentation 3)) "basic-emacs25" ((comment-indent-function (lambda nil nil))) "This style adds a workaround needed for Emacs 25" "basic-emacs26" "This style is the same as basic-common. It doesn't need or\n want the workaround used in Emacs 25. In Emacs 26, that\n workaround introduces a weird behavior where a single\n semicolon breaks the mode and causes the cursor to move to the\n start of the line after every character inserted." "basic" 26 "This style merely gives all identation variables their default values,\n making it easy to create new styles that are proof against user\n customizations. It also adjusts comment indentation from default.\n All other predefined modes inherit from basic." "classic" ((sly-lisp-lambda-list-keyword-parameter-indentation 0)) ((case (4 &rest (&whole 2 &rest 3))) (if (4 2 2))) "This style of indentation emulates the most striking features of 1995\n vintage cl-indent.el once included as part of Slime: IF indented by two\n spaces, and CASE clause bodies indentented more deeply than the keys." "modern" ((sly-lisp-lambda-list-keyword-alignment t) (sly-lisp-lambda-list-keyword-parameter-alignment t) (sly-lisp-lambda-list-keyword-parameter-indentation 0) (sly-lisp-loop-indent-subclauses nil)) "A good general purpose style. Turns on lambda-list keyword and keyword\n parameter alignment, and turns subclause aware loop indentation off.\n (Loop indentation so because simpler style is more prevalent in existing\n sources, not because it is necessarily preferred.)" "sbcl" ((whitespace-style (tabs trailing)) (indent-tabs-mode nil) (comment-fill-column nil) (fill-column 78)) ((def!constant (as defconstant)) (def!macro (as defmacro)) (def!method (as defmethod)) (def!struct (as defstruct)) (def!type (as deftype)) (defmacro-mundanely (as defmacro)) (deftransform (as defmacro)) (define-source-transform (as defun)) (!def-type-translator (as defun)) (!def-debug-command (as defun))) #[0 "\300\301!\207" [whitespace-mode 1] 2] "Style used in SBCL sources. A good if somewhat intrusive general purpose\n style based on the \"modern\" style. Adds indentation for a few SBCL\n specific constructs, sets indentation to use spaces instead of tabs,\n fill-column to 78, and activates whitespace-mode to show tabs and trailing\n whitespace." custom-declare-variable sly-common-lisp-style-default funcall function #[0 "\300\207" [nil] 1] "Name of the Common Lisp indentation style to use in lisp-mode buffers if\nnone has been specified." :type choice (const :tag "None" nil) append mapcar #[257 "\300\301@@F\207" [const :tag] 5 "\n\n(fn SPEC)"] sly--lisp-indent-style-names ((string :tag "Other")) :group sly-lisp-indent] 12) (defalias 'sly--lisp-indent-lisp-mode-hook #[0 "\206\304\301!\203 \206\n\211\205\305\303!\210\306\307!\207" [sly-common-lisp-style common-lisp-style sly-common-lisp-style-default lisp-indent-function boundp make-local-variable sly-common-lisp-indent-function sly-common-lisp-set-style] 3]) (add-hook 'lisp-mode-hook 'sly--lisp-indent-lisp-mode-hook) (defvar sly-common-lisp-system-indentation (make-hash-table :test 'equal)) (defalias 'sly--lisp-indent-guess-current-package #[0 "\212\3011#\302\303\304!)\205\305\306!\210`\305\307!\210\310`S\"\226\2620\202%\210\311)\207" [case-fold-search (error) t search-backward "(in-package " re-search-forward "[ :\"]+" "[\":)]" buffer-substring-no-properties nil] 4]) #@128 Used to derive the package name to use for indentation at a given point. Defaults to `sly--lisp-indent-guess-current-package'. (defvar sly--lisp-indent-current-package-function 'sly--lisp-indent-guess-current-package (#$ . 20643)) #@15 (fn STRING) (defalias 'sly--lisp-indent-symbol-package #[257 "\211;\203\301\302\"\203\303\224\211\303=\203\304\207\303O\226\207 \207" [sly--lisp-indent-current-package-function string-match ":" 0 "KEYWORD"] 5 (#$ . 20880)]) #@75 Retrieves the indentation information for NAME. (fn NAME &optional FULL) (defalias 'sly--lisp-indent-get-indentation #[513 "\301 \211\205\n\302\"\262\206m\303N\206m\304N\206m\302\"\211A\204*\211@@\202k\305\306\307!\3102i\211\203e\211@\211A\211G\235\203N\311\310@\"\266\202^\211V\203\\@\262\211\262\266A\266\202\2024\2620\266\203\262\211\242\312=\203z\313A@!\207\207" [sly-common-lisp-system-indentation sly--lisp-indent-active-style-methods gethash sly-common-lisp-indent-function common-lisp-indent-function nil 0 sly--lisp-indent-symbol-package --cl-block-nil-- throw as sly--lisp-indent-get-indentation] 13 (#$ . 21122)]) #@254 Returns the type of the loop form at LOOP-START. Possible types are SIMPLE, SIMPLE/SPLIT, EXTENDED, and EXTENDED/SPLIT. */SPLIT refers to extended loops whose body does not start on the same line as the opening parenthesis of the loop. (fn LOOP-START) (defalias 'sly--lisp-indent-loop-type #[257 "\300\3011o\212b\210\302 \303\304u\210\305\304!\210\212\306\307!\2031\310\311!\210\312u\210\302 U\203.\300\262\2021\303\262)\305\304!\210\313\304!\210\300f\314=\203X\211\203L\302 U\203R\266\315\202l\266\316\202l\211\203c\302 U\203i\266\317\202l\266\320)0\207\210\211\203v\316\207\315\207" [nil (error) line-number-at-pos t 1 forward-sexp looking-at "\\s-*\\\n*;" search-forward ";" -1 backward-sexp 40 simple simple/split extended extended/split] 6 (#$ . 21792)]) (defalias 'sly--lisp-indent-trailing-comment #[0 "\3001\212\301 \210\302 \210\303\304!\205\305\306!\210iS)0\207\210\307\207" [(error) backward-sexp forward-sexp looking-at "\\s-*;" search-forward ";" nil] 2]) #@3440 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 `sly-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 `sly-common-lisp-indent-function' property specifies how this function should indent it. Possible values for this property are: * defun, meaning indent according to `sly-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 `sly-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 `sly--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 starting with `as' specifies an indirection: indentation is done as if the form being indented had started with the second element of the list. * any other 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. (fn INDENT-POINT STATE) (defalias 'sly-common-lisp-indent-function #[514 "\300\"\207" [sly--lisp-indent-function-1] 5 (#$ . 22797)]) #@137 Non-nil if Sly-Lisp-Indent-Compatibility mode is enabled. Use the command `sly-lisp-indent-compatibility-mode' to change this variable. (defvar sly-lisp-indent-compatibility-mode nil (#$ . 26354)) (make-variable-buffer-local 'sly-lisp-indent-compatibility-mode) #@783 Replace the definition of `common-lisp-indent-function' with `sly-common-lisp-indent-function'. This is a minor mode. If called interactively, toggle the `Sly-Lisp-Indent-Compatibility 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 `sly-lisp-indent-compatibility-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. For backwards compatibility with the old sly-cl-indent.el, which used to do this by default. (fn &optional ARG) (defalias 'sly-lisp-indent-compatibility-mode #[256 "\302 \303=\203 ?\202\247\203\304W\203\305\202\306\307\301!\2031\310\300 \"\2031\300 B\203>\311\312\313\314#\210\202C\315\312\314\"\210\316\317\203M\320\202N\321\"\210\322\323!\203p\302 \203b\211\302 \232\203p\324\325\203l\326\202m\327\330#\210\210\331 \210\207" [sly-lisp-indent-compatibility-mode local-minor-modes current-message toggle 1 nil t boundp delq advice-add common-lisp-indent-function :override sly-common-lisp-indent-function advice-remove run-hooks sly-lisp-indent-compatibility-mode-hook sly-lisp-indent-compatibility-mode-on-hook sly-lisp-indent-compatibility-mode-off-hook called-interactively-p any message "Sly-Lisp-Indent-Compatibility mode %sabled%s" "en" "dis" " in current buffer" force-mode-line-update] 6 (#$ . 26623) (byte-code "\203\n\301!\202 \302C\207" [current-prefix-arg prefix-numeric-value toggle] 2)]) (defvar sly-lisp-indent-compatibility-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" [sly-lisp-indent-compatibility-mode-map sly-lisp-indent-compatibility-mode-hook variable-documentation put "Hook run after entering or leaving `sly-lisp-indent-compatibility-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 sly-lisp-indent-compatibility-mode boundp] 6) (defvar sly--lisp-indent-feature-expr-regexp "#!?\\(+\\|-\\)") (defalias 'sly--lisp-indent-looking-at-keyword #[0 "\301\302!\206\301!\205\212\303 \210\304\305w\210\306 )\207" [sly--lisp-indent-feature-expr-regexp looking-at ":" forward-sexp " \n" nil sly--lisp-indent-looking-at-keyword] 2]) (defalias 'sly--lisp-indent-backward-keyword-argument #[0 "\3011J\302\303!\210\304!\203G\3051\212\302\303!\210\304!)0\202#\210\202,\203,\306 \210\202G\3071=\212\302\310!\210\304\311!)0\202A\210\202G\203G\302 \210\3120\207\210\313\207" [sly--lisp-indent-feature-expr-regexp (error) backward-sexp 2 looking-at (error) sly--lisp-indent-backward-keyword-argument (error) 1 ":" t nil] 2]) #@27 (fn INDENT-POINT STATE) (defalias 'sly--lisp-indent-function-1 #[514 "`Sf\306=\204`Sf\307=\203&`S\206`Sf\306=\203&\310\311!\203&\312u\210i\313\314\211\211A@\314b\210i\262\204bW\203b`\312u\210\315`\n\312\316$\210\314\211\211\211\211\317\320!\204c\314\262\314\262\314\262\202\250`\262\321\312!\210\322`\"\227\262\262b\210\323!\262\324!\262\204\237\325\326\"\203\237\313\224T\314O\262\324\323!\"\262\202\250\204\250\324!\262\313`W\203\330\3271\321\321\312!\210`Y?\205\315\315`\312\316$\210\211T\262\3160\202\325\210\202\330\204\260\211 B\262 \210\204\203 A\204\325\330\"\203\325\331\"\204\325\332\"\204\325\333\"\204\316\262\202\325\334\"\203\335\262\212 b\210\336 \210i\317\n!\204i\3371d\336 \210\317\n!\205`i\262\340 \3411P\336\342!\210\211\340 U\205L\317\n!0\202U\266\202_\203^i\262\202:\210\3160\202f\210\314\203o\211D\262\n\210) Sf\343=\204\205 \204\227 Sf\344=\203\227 \342Zf\345=\204\227T\262 \266\202A Sf\345=\203\250T\262 \266\202A\204\364\211\203\312\346\f\f &\262\262\f\266\202A \203\357\212 b\210\347 \210\350 \203\356\351 \203\356\350 \203\333iD\262 \202\333)\266\202A\250\203. A\203 \202' @X\203\352\\D\202' @TU\203%1\\\202' \262 \266\202A\346\f &\262 \266 b\210\204^\3531Z\354\312!\210T\211\2620\210\202^\210\262)\2025\206\305\206\305\3551\303\212b\210\347 \210`b\210\356 \210i\357\314w\210l\204\214\317\360!\203\222\211D\202\274\321\342!\210\336 \210`U\204\245iD\202\274\336 \210\321 \210iT\357\314w\210\317\360!\205\272\211D\262\262\262)0\207\210\314\207" [sly-lisp-indent-maximum-backtracking sly--lisp-indent-containing-sexp sly--lisp-indent-feature-expr-regexp sly-lisp-backquote-indentation sly-lisp-indent-defun-method sly-lisp-align-keywords-in-calls 44 64 re-search-backward "[^,@']," 1 0 nil parse-partial-sexp t looking-at "\\sw\\|\\s_" forward-sexp buffer-substring-no-properties intern-soft sly--lisp-indent-get-indentation string-match ":[^:]+" (error) "\\`def" "\\`default" "\\`definition" "\\`definer" "\\`\\(\\(?:do\\|with\\(?:out\\)?\\)\\)-" (&lambda &body) backward-sexp (error) line-number-at-pos (error) 2 39 96 35 sly--lisp-indent-call-method back-to-indentation sly--lisp-indent-looking-at-keyword sly--lisp-indent-backward-keyword-argument 4 (error) backward-up-list (error) down-list " " ";" lisp-body-indent] 22 (#$ . 29627)]) #@74 (fn FUNCTION METHOD PATH STATE INDENT-POINT SEXP-COLUMN NORMAL-INDENT) (defalias 'sly--lisp-indent-call-method #[1799 "9\203%\202!\301&)\207" [sly--lisp-indent-error-function sly--lisp-indent-259] 14 (#$ . 32111)]) #@10 (fn M) (defalias 'sly--lisp-indent-report-bad-format #[257 "\301\302\303$\207" [sly--lisp-indent-error-function error "%s has a badly-formed %s property: %s" sly-common-lisp-indent-function] 6 (#$ . 32360)]) #@51 Regular expression matching lambda-list keywords. (defvar sly--lisp-indent-lambda-list-keywords-regexp "&\\(optional\\|rest\\|key\\|allow-other-keys\\|aux\\|whole\\|body\\|environment\\|more\\)\\>" (#$ . 32578)) #@55 (fn INDENT-POINT SEXP-COLUMN CONTAINING-FORM-START) (defalias 'sly--lisp-indent-lambda-list #[771 "\204T\207\301#\207" [sly-lisp-lambda-list-indentation sly--lisp-indent-properly-indent-lambda-list] 7 (#$ . 32796)]) #@55 (fn INDENT-POINT SEXP-COLUMN CONTAINING-FORM-START) (defalias 'sly--lisp-indent-properly-indent-lambda-list #[771 "\212b\210\304 \210\305!)\203g \203d\212\211b\210\306 \210\307\310\211\203Z`W\203Z\305!\2034i\262\307\262\202\3111@\312 \210\3100\202B\210\307\262\211\203\3131V\312 \210\314 0\210\202\210\202\206`T\266\202)\207T\207\212b\210\307\310\211\203\310`V\203\310\3151\203\314 \210\3100\202\205\210\307\262i\212\3161\224\312 0\210\202\225\210\317\307w\210l\203\243\211\n\\\202\244\211)\305!\203\300 \203\267\206\272\211\202\272\n\\\266\204\307\202m\262\266\202m\206\316T\266\202)\207" [sly--lisp-indent-lambda-list-keywords-regexp sly-lisp-lambda-list-keyword-alignment sly-lisp-lambda-list-keyword-parameter-indentation sly-lisp-lambda-list-keyword-parameter-alignment back-to-indentation looking-at down-list nil t (error) forward-sexp (error) backward-sexp (error) (error) " "] 9 (#$ . 33027)]) #@14 (fn POINT) (defalias 'sly--lisp-indent-lambda-list-initial-value-form-p #[257 "\301\212b\210\302 \210`)\212\303 \210\3041\305\306!0\210\202\210\211\203\255`W\203\255\307\310!\2031\311\262\202:\307!\203:\301\262\3121F\313 \210\3140\202H\210\315\204Q\315\262\202\3161_\313 \210\303 0\210\202`\210`V\203\241\303 \210\317=\203r\301\262\3201\224\305\306!\210`V\203\206\321 \210\202\217\311=\203\217\317\262\3140\202\230\210\202\233\204\315\262\202\317=\203\322\262\202)\322=\207" [sly--lisp-indent-lambda-list-keywords-regexp x back-to-indentation backward-sexp (error) down-list 1 looking-at "&\\(key\\|optional\\|aux\\)" key (error) forward-sexp t nil (error) var (error) backward-up-list form] 5 (#$ . 33992)]) #@65 (fn METHOD PATH STATE INDENT-POINT SEXP-COLUMN NORMAL-INDENT) (defalias 'sly--lisp-indent-259 #[1542 "\3012\355A\302\234@S\303\211\n:\204\304 !\210\205\352\n@\262\303=\204\204\305=\204\204\306=\203;\nA\203\204\307=\203O\nA:\203O\nAA\203\204\250\204\204:\203t@:\204\204@\310=\203tA@9\204\204A@\250\204\2049\203\nA\203\204\304 !\210\311\267\202\257\312\301\204\230\\\202\232\"\210\202\313V\262\313\262\nA\262 \202\313V\203\315S\262\nA\262 \313W\203\312\301\"\210\202\314\267\202>\312\301:\203\340\202\345D\"\210\202\312\301`Sf\315=\204\204\\\2029\2029\316\n!\203:\203\2029D\2029\204.\317\\D\2029\320\n\n#D\"\210\202\250\203[\312\301\204T\\D\202V\"\210\2029\203s\312\301\f\f\f\f\f%\"\210\202\203\212AA\262 @\262A\262\303\262\202@\310=A@\262\312\301\203\275\203\270\250\203\270\212\nb\210\321 \210\322\323!)\203\270 \\\202\344\202\344\204\311D\202\344\250\203\330 \\D\202\344     %\"\266\202\266\2050\207" [lisp-body-indent exit 1 nil sly--lisp-indent-report-bad-format &lambda &body &rest &whole #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (&body 138 &rest 159)) throw 0 #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (nil 211 &lambda 234)) 41 sly--lisp-indent-lambda-list-initial-value-form-p 4 sly--lisp-indent-lambda-list back-to-indentation looking-at "\\sw"] 20 (#$ . 34757)]) #@58 (fn PATH STATE INDENT-POINT SEXP-COLUMN NORMAL-INDENT) (defalias 'sly--lisp-indent-tagbody #[1285 "A\203\207\212b\210\303 \210\304\305!\203\\\202@ \250\203$ \\\202@ \306=\203=\30717\310\311!\210i0\202@\210T\202@\n\\A@)D\207" [sly-lisp-tag-indentation sly-lisp-tag-body-indentation lisp-body-indent back-to-indentation looking-at "\\sw\\|\\s_" t (error) backward-sexp 1] 7 (#$ . 36332)]) #@58 (fn PATH STATE INDENT-POINT SEXP-COLUMN NORMAL-INDENT) (defalias 'sly--lisp-indent-do #[1285 "@\302Y\203\303%)\207\304\305&\207" [lisp-body-indent sly-lisp-tag-body-indentation 3 sly--lisp-indent-tagbody sly--lisp-indent-259 ((&whole nil &rest) (&whole nil &rest 1))] 12 (#$ . 36746)]) #@58 (fn PATH STATE INDENT-POINT SEXP-COLUMN NORMAL-INDENT) (defalias 'sly--lisp-indent-defsetf #[1285 "A@@\300=\203A\203\301#\202`A\204;\212\211b\210\30215\303 \210\304\305!\210\306 \210\307\310!0\2027\210\311)\203O\312\313@\305#\203J\314\202K\300\\\202`\312\313@\300#\203^\314\202_\300\\D\207" [2 sly--lisp-indent-lambda-list (error) down-list forward-sexp 3 backward-sexp looking-at "nil\\|(" nil <= 1 4] 11 (#$ . 37061)]) (defalias 'sly--lisp-indent-beginning-of-defmethod-qualifiers #[0 "\301\302\30317\304!\204\305 \210\202\306\307!\203%\310u\210\311\312!\210\307\2023\306\312!\2053\310u\210\311\307!\210\3130\2029\210\310)\207" [case-fold-search t "(\\(?:\\(def\\)\\|\\(:\\)\\)method" (error) looking-at backward-up-list match-string 1 nil forward-sexp 2 0] 4]) #@58 (fn PATH STATE INDENT-POINT SEXP-COLUMN NORMAL-INDENT) (defalias 'sly--lisp-indent-defmethod #[1285 "\300\301\212\302 \211\262\205$\303\301w\210\304\305!\203#\211T\262\306 \210\303\301w\210\202\307)\2031\310\311\"\312\244\2024\313\314!\262&\207" [sly--lisp-indent-259 nil sly--lisp-indent-beginning-of-defmethod-qualifiers " \n" looking-at "\\sw\\|\\s_" forward-sexp t make-list 4 (&lambda &body) sly--lisp-indent-get-indentation defun] 12 (#$ . 37873)]) #@58 (fn PATH STATE INDENT-POINT SEXP-COLUMN NORMAL-INDENT) (defalias 'sly--lisp-indent-function-lambda-hack #[1285 "A\204\f@\301V\203 \207\3021,\212\303\304!\210\305u\210\306\307!\203&Si\\\202)\\)0\207\210\\\207" [lisp-body-indent 3 (error) backward-up-list 2 1 looking-at "\\(\\(common-lisp\\|cl\\)::?\\)?function\\(\\Sw\\|\\S_\\)"] 7 (#$ . 38358)]) #@58 (fn PATH STATE INDENT-POINT SEXP-COLUMN NORMAL-INDENT) (defalias 'sly--lisp-indent-loop #[1285 "A\203\207\301\234\302!\203\"\211\303>\203\"\304\"A@D\207\305#\207" [sly-lisp-loop-indent-subclauses 1 sly--lisp-indent-loop-type (extended extended/split) sly--lisp-indent-loop-macro-1 sly--lisp-indent-loop-part-indentation] 11 (#$ . 38725)]) #@65 Regexp matching loop macro keywords which introduce body forms. (defvar sly--common-lisp-body-introducing-loop-macro-keyword "\\(#?:\\)?\\(do\\(ing\\)?\\|finally\\|initially\\)" (#$ . 39090)) #@75 Regexp matching loop macro keywords which introduce accumulation clauses. (defvar sly--common-lisp-accumlation-loop-macro-keyword "\\(#?:\\)?\\(collect\\(ing\\)?\\|append\\(ing\\)?\\|nconc\\(ing\\)?\\|count\\(ing\\)?\\|sum\\(ming\\)?\\|maximiz\\(e\\|ing\\)\\|minimiz\\(e\\|ing\\)\\)" (#$ . 39288)) #@57 Regexp matching loop macro keywords which are prefixes. (defvar sly--common-lisp-prefix-loop-macro-keyword "\\(#?:\\)?\\(and\\|else\\)" (#$ . 39592)) #@74 Regexp matching 'and', and anything else there ever comes to be like it. (defvar sly--common-lisp-indent-clause-joining-loop-macro-keyword "\\(#?:\\)?and" (#$ . 39748)) #@76 Regexp matching keywords introducing loop subclauses. Always indented two. (defvar sly--common-lisp-indent-indented-loop-macro-keyword "\\(#?:\\)?\\(\\(up\\|down\\)?(from\\|to)\\|below\\|above\\|in\\(to\\)?\\|on\\|=\\|then\\|across\\|being\\|each\\|the\\|of\\|using\\|\\(present-\\|external-\\)?symbols?\\|fixnum\\|float\\|t\\|nil\\|of-type\\)" (#$ . 39923)) #@100 Regexp matching keywords introducing conditional clauses. Cause subsequent clauses to be indented. (defvar sly--common-lisp-indenting-loop-macro-keyword "\\(#?:\\)?\\(when\\|unless\\|if\\)" (#$ . 40289)) (defvar sly--lisp-indent-loop-macro-else-keyword "\\(#?:\\)?else") #@82 Compute the indentation of loop form constituents. (fn INDENT-POINT STATE TYPE) (defalias 'sly--lisp-indent-loop-part-indentation #[771 "A@\212\211b\210\303=\203i\304Z\202i)\305\306b\210\307 \210\310\267\202,\\\207\311\\\207\312\306!\204a\212\3131?\314 \210\3150\202C\210\202R\203R\312!\204Ri\262\2023\205Y\312 !)\203aD\207\n\204q\312\306!\204q\312\316!\203\220\312\316!\203\212\317 \211\205\201\211\211\262\262\203\212D\207\311\\D\207\320\\D\207" [sly-lisp-simple-loop-indentation sly--common-lisp-body-introducing-loop-macro-keyword sly-lisp-loop-indent-forms-like-keywords extended/split 4 nil "\\(\\(#?:\\)?\\sw+\\|)\\|\n\\)" back-to-indentation #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (simple/split 36 simple 40)) 6 looking-at (error) backward-sexp t ";" sly--lisp-indent-trailing-comment 9] 10 (#$ . 40566)]) (defalias 'sly--lisp-indent-loop-advance-past-keyword-on-line #[0 "\300v\210\301\302!\203l\204\300u\210\202l?\205i\207" [1 looking-at "\\s-"] 2]) #@33 (fn PARSE-STATE INDENT-POINT) (defalias 'sly--lisp-indent-loop-macro-1 #[514 "\3062^\212A@b\210i\307 \210l\203(\310y\210\311\210`X\203%\312\306\\\"\210\313 \210\314`AA@i\311\211\315\\b\210\316\n!\203li\314\262\307 \203Ki\202f\313 \210iU\204Z\315i\\\202f \f\203d\202e\\\262\210\202\324\313 \210`W\203yb\210\311\211\204\222\316 !\203\222\307 \204z\314\262\313 \210\202z\210\316\317!\203\242\314\262i\262\202\324\316\n!\203\264\314\262\307 \210i\262\202\324\311\262\316!\204\304\316 !\203\311\315i\\\262\315i\\\262b\210i\262b\210\313 \210\316\317!\203\345\202Wl\204\357\316\320!\203\203\367\202W\316\320!\203\321 \206W\202W\316!\203\211\202W\316!\203V\311\322y\210\211\204L`V\203L\313 \210iW\203F\316\323!\203F\316!\203@\307 \210i\262\202\322y\210\202\211\206Q\262\202W)\266\206\262)0\207" [sly-lisp-loop-clauses-indentation case-fold-search sly--common-lisp-body-introducing-loop-macro-keyword sly-lisp-loop-body-forms-indentation sly-lisp-loop-indent-body-forms-relative-to-loop-start sly--common-lisp-prefix-loop-macro-keyword return-indentation sly--lisp-indent-loop-advance-past-keyword-on-line 1 nil throw back-to-indentation t 2 looking-at "(" ";" sly--lisp-indent-trailing-comment -1 "\\(#?:\\)?\\sw" sly--common-lisp-indenting-loop-macro-keyword sly--common-lisp-indent-indented-loop-macro-keyword sly--common-lisp-indent-clause-joining-loop-macro-keyword sly--lisp-indent-loop-macro-else-keyword] 12 (#$ . 41628)]) (defalias 'sly--lisp-indent-if*-advance-past-keyword-on-line 'sly--lisp-indent-loop-advance-past-keyword-on-line) #@30 Regexp matching if* keywords (defvar sly--lisp-indent-if*-keyword "thenret\\|elseif\\|then\\|else" (#$ . 43270)) #@64 (fn PATH PARSE-STATE INDENT-POINT SEXP-COLUMN NORMAL-INDENT) (defalias 'sly--lisp-indent-if* #[1285 "\300\"A@D\207" [sly--lisp-indent-if*-1] 8 (#$ . 43389)]) #@33 (fn PARSE-STATE INDENT-POINT) (defalias 'sly--lisp-indent-if*-1 #[514 "\3022\211\212A@b\210i\303 \210\304`AA@i\305\211b\210\306 \210`W\203'b\210\307 !\2039\304\262\303 \210i\262\202Q\307\310!\203H\304\262i\262\202Q\305\262b\210i\262b\210\306 \210l\204b\307\311!\203n\203j\211\202\202\202\202\307 !\204x\211\202\202\312\\\313\225\313\224ZZ)\266\205\262)0\207" [case-fold-search sly--lisp-indent-if*-keyword return-indentation sly--lisp-indent-if*-advance-past-keyword-on-line t nil back-to-indentation looking-at "#'\\|'\\|(" ";" 7 0] 11 (#$ . 43558)]) (defalias 'sly--lisp-indent-init-standard-indentation #[0 "\300\211\211\205\211@\211@A@\301\302#\266A\266\202\202\207" [((block 1) (case (4 &rest (&whole 2 &rest 1))) (ccase (as case)) (ecase (as case)) (typecase (as case)) (etypecase (as case)) (ctypecase (as case)) (catch 1) (cond (&rest (&whole 2 &rest nil))) (:constructor (4 &lambda)) (defvar (4 2 2)) (defclass (6 (&whole 4 &rest 1) (&whole 2 &rest 1) (&whole 2 &rest 1))) (defconstant (as defvar)) (defcustom (4 2 2 2)) (defparameter (as defvar)) (defconst (as defcustom)) (define-condition (as defclass)) (define-modify-macro (4 &lambda &body)) (defsetf sly--lisp-indent-defsetf) (defun (4 &lambda &body)) (defgeneric (4 &lambda &body)) (define-setf-method (as defun)) (define-setf-expander (as defun)) (defmacro (as defun)) (defsubst (as defun)) (deftype (as defun)) (defmethod sly--lisp-indent-defmethod) (defpackage (4 2)) (defstruct ((&whole 4 &rest (&whole 2 &rest 1)) &rest (&whole 2 &rest 1))) (destructuring-bind (&lambda 4 &body)) (do sly--lisp-indent-do) (do* (as do)) (dolist ((&whole 4 2 1) &body)) (dotimes (as dolist)) (eval-when 1) (flet ((&whole 4 &rest (&whole 1 4 &lambda &body)) &body)) (labels (as flet)) (macrolet (as flet)) (generic-flet (as flet)) (generic-labels (as flet)) (handler-case (4 &rest (&whole 2 &lambda &body))) (restart-case (as handler-case)) (if (&rest nil)) (if* sly--lisp-indent-if*) (lambda (&lambda &rest sly--lisp-indent-function-lambda-hack)) (let ((&whole 4 &rest (&whole 1 1 2)) &body)) (let* (as let)) (compiler-let (as let)) (handler-bind (as let)) (restart-bind (as let)) (locally 1) (loop sly--lisp-indent-loop) (:method sly--lisp-indent-defmethod) (multiple-value-bind ((&whole 6 &rest 1) 4 &body)) (multiple-value-call (4 &body)) (multiple-value-prog1 1) (multiple-value-setq (4 2)) (multiple-value-setf (as multiple-value-setq)) (named-lambda (4 &lambda &rest sly--lisp-indent-function-lambda-hack)) (pprint-logical-block (4 2)) (print-unreadable-object ((&whole 4 1 &rest 1) &body)) (prog (&lambda &rest sly--lisp-indent-tagbody)) (prog* (as prog)) (prog1 1) (prog2 2) (progn 0) (progv (4 4 &body)) (return 0) (return-from (nil &body)) (symbol-macrolet (as let)) (tagbody sly--lisp-indent-tagbody) (throw 1) (unless 1) (unwind-protect (5 &body)) (when 1) (with-slots (as multiple-value-bind)) (with-accessors (as multiple-value-bind)) (with-condition-restarts (as multiple-value-bind)) (with-compilation-unit ((&whole 4 &rest 1) &body)) (with-output-to-string (4 2)) (with-standard-io-syntax (2))) put sly-common-lisp-indent-function] 9]) (byte-code "\300 \210\301\302!\207" [sly--lisp-indent-init-standard-indentation provide sly-cl-indent] 2)