;ELC ;;; Compiled ;;; in Emacs version 28.0.50 ;;; with all optimizations. (defconst paredit-version 24) (defconst paredit-beta-p nil) (defalias 'paredit-xemacs-p #[nil "\300\207" [nil] 1]) (defalias 'paredit-gnu-emacs-p #[nil "\300 ?\207" [paredit-xemacs-p] 1]) #@56 Exhaustive COND. Signal an error if no clause matches. (defalias 'xcond '(macro . #[(&rest clauses) "\301\302\303\"B\207" [clauses cond append ((t (error "XCOND lost.")))] 4 (#$ . 275)])) (byte-code "\300\301\302\303!\203\f\303\202 \304\"\207" [defalias paredit-warn fboundp warn message] 4) (defvar paredit-sexp-error-type (byte-code "\302\303\304\"rq\210\305\216\306c\210\3071\310 0\202-\211@\311=\203*\312\313\314\315\316\317\320&\210 @)+\207" [#1=#:temp-buffer condition generate-new-buffer " *temp*" t #[nil "\301!\205 \302!\207" [#1# buffer-name kill-buffer] 2] "(" (error) backward-sexp error paredit-warn "%s%s%s%s%s" "Paredit is unable to discriminate" " S-expression parse errors from" " other errors. " " This may cause obscure problems. " " Please upgrade Emacs."] 8)) (defalias 'paredit-handle-sexp-errors '(macro . #[(body &rest handler) "\303\304 \nBF\207" [body paredit-sexp-error-type handler condition-case nil] 5])) (put 'paredit-handle-sexp-errors 'lisp-indent-function 1) (defalias 'paredit-ignore-sexp-errors '(macro . #[(&rest body) "\301\302B\303BB\207" [body paredit-handle-sexp-errors progn (nil)] 3])) (put 'paredit-ignore-sexp-errors 'lisp-indent-function 0) #@212 Evaluate BODY and restore point to former column, relative to code. Assumes BODY will change only indentation. If point was on code, it moves with the code. If point was on indentation, it stays in indentation. (defalias 'paredit-preserving-column '(macro . #[(&rest body) "\303\304!\303\305!\306 \307B\310BD\306\311\312\nBDC\313 E\314BBBE*\207" [indentation column body make-symbol "column" "indentation" let ((current-column)) ((paredit-current-indentation)) value progn paredit-restore-column (value)] 7 (#$ . 1485)])) (put 'paredit-preserving-column 'lisp-indent-function 0) #@36 Keymap for the paredit minor mode. (defvar paredit-mode-map (make-sparse-keymap) (#$ . 2074)) #@71 Function to tell whether unbalanced text should inhibit Paredit Mode. (defvar paredit-override-check-parens-function #[(condition) "\210\301\207" [condition nil] 1] (#$ . 2174)) #@93 Non-nil if Paredit mode is enabled. Use the command `paredit-mode' to change this variable. (defvar paredit-mode nil (#$ . 2359)) (make-variable-buffer-local 'paredit-mode) #@875 Minor mode for pseudo-structurally editing Lisp code. With a prefix argument, enable Paredit Mode even if there are unbalanced parentheses in the buffer. Paredit behaves badly if parentheses are unbalanced, so exercise caution when forcing Paredit Mode to be enabled, and consider fixing unbalanced parentheses instead. \ This is a minor mode. If called interactively, toggle the `Paredit 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 `paredit-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. (defalias 'paredit-mode #[(&optional arg) "\306  \307=\203\n?\202 \247\203 \310W\203\311\202\312\313\303!\2032\314\302 \"\n\2032\302 B\n\203X\f\204X\3151E\316 0\210\202X !?\205V\311\317 @ A\")\210\320\321\n\203b\322\202c\323\"\210\324\325!\203\212\306 \203w\306 \232\203\212\326\327\330\n\203\204\331\202\205\332#\210))\333 \210\n\207" [#1=#:last-message arg paredit-mode local-minor-modes current-prefix-arg condition current-message toggle 1 nil t boundp delq (error) check-parens signal run-hooks paredit-mode-hook paredit-mode-on-hook paredit-mode-off-hook called-interactively-p any " in current buffer" message "Paredit mode %sabled%s" "en" "dis" force-mode-line-update paredit-override-check-parens-function local] 4 (#$ . 2539) (list (if current-prefix-arg (prefix-numeric-value current-prefix-arg) 'toggle))]) (defvar paredit-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%\207" [paredit-mode-map paredit-mode-hook variable-documentation put "Hook run after entering or leaving `paredit-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 paredit-mode " Paredit" boundp] 6) (defalias 'paredit-override-check-parens-interactively #[(condition) "\301\302\303\"!\207" [condition y-or-n-p format "Enable Paredit Mode despite condition %S? "] 4]) #@49 Turn on pseudo-structural editing of Lisp code. (defalias 'enable-paredit-mode #[nil "\300\301!\207" [paredit-mode 1] 2 (#$ . 4939) nil]) #@50 Turn off pseudo-structural editing of Lisp code. (defalias 'disable-paredit-mode #[nil "\300\301!\207" [paredit-mode -1] 2 (#$ . 5083) nil]) (defvar paredit-backward-delete-key (byte-code "\300 \203\301\207\302 \203\303\207\304\305!\207" [paredit-xemacs-p "BS" paredit-gnu-emacs-p "DEL" error "XCOND lost."] 2)) (defvar paredit-forward-delete-keys (byte-code "\300 \203\301\207\302 \203\303\207\304\305!\207" [paredit-xemacs-p ("DEL") paredit-gnu-emacs-p ("" "") error "XCOND lost."] 2)) #@56 List of paredit commands with their keys and examples. (defvar paredit-commands nil (#$ . 5605)) (byte-code "\303\304\305\306\307\310\311\312\313\314\315\316DF\317\320\321\322\323\324\325DE\326\327B\330B \331B\332\333\334 P\335B\336BBBBBBBBBBBBBBBBBB\313\207" [paredit-forward-delete-keys paredit-backward-delete-key paredit-commands "Basic Insertion Commands" ("(" paredit-open-round ("(a b |c d)" "(a b (|) c d)") ("(foo \"bar |baz\" quux)" "(foo \"bar (|baz\" quux)")) (")" paredit-close-round ("(a b |c )" "(a b c)|") ("; Hello,| world!" "; Hello,)| world!")) ("M-)" paredit-close-round-and-newline ("(defun f (x| ))" "(defun f (x)\n |)") ("; (Foo.|" "; (Foo.)|")) ("[" paredit-open-square ("(a b |c d)" "(a b [|] c d)") ("(foo \"bar |baz\" quux)" "(foo \"bar [|baz\" quux)")) ("]" paredit-close-square ("(define-key keymap [frob| ] 'frobnicate)" "(define-key keymap [frob]| 'frobnicate)") ("; [Bar.|" "; [Bar.]|")) ("\"" paredit-doublequote ("(frob grovel |full lexical)" "(frob grovel \"|\" full lexical)" "(frob grovel \"\"| full lexical)") ("(foo \"bar |baz\" quux)" "(foo \"bar \\\"|baz\" quux)") ("(frob grovel) ; full |lexical" "(frob grovel) ; full \"|lexical")) "M-\"" paredit-meta-doublequote ("(foo \"bar |baz\" quux)" "(foo \"bar baz\"| quux)") "(foo |(bar #\\x \"baz \\\\ quux\") zot)" "(foo \"|(bar #\\\\x \\\"baz \\\\\\\\ quux\\\")\" zot)" ("\\" paredit-backslash ("(string #|)\n ; Character to escape: x" "(string #\\x|)") ("\"foo|bar\"\n ; Character to escape: \"" "\"foo\\\"|bar\"")) (";" paredit-semicolon ("|(frob grovel)" ";|(frob grovel)") ("(frob |grovel)" "(frob ;|grovel\n )") ("(frob |grovel (bloit\n zargh))" "(frob ;|grovel\n (bloit\n zargh))") ("(frob grovel) |" "(frob grovel) ;|")) ("M-;" paredit-comment-dwim ("(foo |bar) ; baz" "(foo bar) ; |baz") ("(frob grovel)|" "(frob grovel) ;|") ("(zot (foo bar)\n|\n (baz quux))" "(zot (foo bar)\n ;; |\n (baz quux))") ("(zot (foo bar) |(baz quux))" "(zot (foo bar)\n ;; |\n (baz quux))") ("|(defun hello-world ...)" ";;; |\n(defun hello-world ...)")) "C-j" paredit-newline "(let ((n (frobbotz))) |(display (+ n 1)\nport))" "(let ((n (frobbotz)))\n |(display (+ n 1)\n port))" "Deleting & Killing" "C-d" (paredit-forward-delete ("(quu|x \"zot\")" "(quu| \"zot\")") ("(quux |\"zot\")" "(quux \"|zot\")" "(quux \"|ot\")") ("(foo (|) bar)" "(foo | bar)") ("|(foo bar)" "(|foo bar)")) (paredit-backward-delete ("(\"zot\" q|uux)" "(\"zot\" |uux)") ("(\"zot\"| quux)" "(\"zot|\" quux)" "(\"zo|\" quux)") ("(foo (|) bar)" "(foo | bar)") ("(foo bar)|" "(foo bar|)")) ("C-k" paredit-kill ("(foo bar)| ; Useless comment!" "(foo bar)|") ("(|foo bar) ; Useful comment!" "(|) ; Useful comment!") ("|(foo bar) ; Useless line!" "|") ("(foo \"|bar baz\"\n quux)" "(foo \"|\"\n quux)")) ("M-d" paredit-forward-kill-word ("|(foo bar) ; baz" "(| bar) ; baz" "(|) ; baz" "() ;|") (";;;| Frobnicate\n(defun frobnicate ...)" ";;;|\n(defun frobnicate ...)" ";;;\n(| frobnicate ...)")) "M-" (paredit-backward-kill-word ("(foo bar) ; baz\n(quux)|" "(foo bar) ; baz\n(|)" "(foo bar) ; |\n()" "(foo |) ; \n()" "(|) ; \n()")) ("Movement & Navigation" ("C-M-f" paredit-forward ("(foo |(bar baz) quux)" "(foo (bar baz)| quux)") ("(foo (bar)|)" "(foo (bar))|")) ("C-M-b" paredit-backward ("(foo (bar baz)| quux)" "(foo |(bar baz) quux)") ("(|(foo) bar)" "|((foo) bar)")) ("C-M-u" paredit-backward-up) ("C-M-d" paredit-forward-down) ("C-M-p" paredit-backward-down) ("C-M-n" paredit-forward-up) "Depth-Changing Commands" ("M-(" paredit-wrap-round ("(foo |bar baz)" "(foo (|bar) baz)")) ("M-s" paredit-splice-sexp ("(foo (bar| baz) quux)" "(foo bar| baz quux)")) (("M-" "ESC ") paredit-splice-sexp-killing-backward ("(foo (let ((x 5)) |(sqrt n)) bar)" "(foo |(sqrt n) bar)")) (("M-" "ESC ") paredit-splice-sexp-killing-forward ("(a (b c| d e) f)" "(a b c| f)")) ("M-r" paredit-raise-sexp ("(dynamic-wind in (lambda () |body) out)" "(dynamic-wind in |body out)" "|body")) ("M-?" paredit-convolute-sexp ("(let ((x 5) (y 3)) (frob |(zwonk)) (wibblethwop))" "(frob |(let ((x 5) (y 3)) (zwonk) (wibblethwop)))")) "Barfage & Slurpage" (("C-)" "C-") paredit-forward-slurp-sexp ("(foo (bar |baz) quux zot)" "(foo (bar |baz quux) zot)") ("(a b ((c| d)) e f)" "(a b ((c| d) e) f)")) (("C-}" "C-") paredit-forward-barf-sexp ("(foo (bar |baz quux) zot)" "(foo (bar |baz) quux zot)")) (("C-(" "C-M-" "ESC C-") paredit-backward-slurp-sexp ("(foo bar (baz| quux) zot)" "(foo (bar baz| quux) zot)") ("(a b ((c| d)) e f)" "(a (b (c| d)) e f)")) (("C-{" "C-M-" "ESC C-") paredit-backward-barf-sexp ("(foo (bar baz |quux) zot)" "(foo bar (baz |quux) zot)")) "Miscellaneous Commands" ("M-S" paredit-split-sexp ("(hello| world)" "(hello)| (world)") ("\"Hello, |world!\"" "\"Hello, \"| \"world!\"")) ("M-J" paredit-join-sexps ("(hello)| (world)" "(hello| world)") ("\"Hello, \"| \"world!\"" "\"Hello, |world!\"") ("hello-\n| world" "hello-|world")) ("C-c C-M-l" paredit-recenter-on-sexp) ("M-q" paredit-reindent-defun))] 19) (defalias 'paredit-do-commands '(macro . #[(vars string-case &rest body) "@A@\3068\3078\310\f\311B\312\313\fD \314 \314\315\316\fDDC\317\320\321\322\323\324\fEDFED\n\325\fDD \326\fDDEBBFE,\207" [vars examples fn keys spec string-case 2 3 dolist (paredit-commands) if stringp let k car cond ((stringp k) (list k)) ((listp k) k) t error "Invalid paredit command %s." cadr cddr body] 16])) (put 'paredit-do-commands 'lisp-indent-function 2) (defalias 'paredit-define-keys #[nil "\306\211\205\\\n@\211;\204T @\211;\203 C\202* <\203& \202*\307\310 \") A@ AA\211 \306\f\211\203S\n@\f\311 \312\f! #\210\nA\211\204>-\nA\211\204\306*\207" [paredit-commands spec --dolist-tail-- k examples fn nil error "Invalid paredit command %s." define-key read-kbd-macro keys key paredit-mode-map] 5]) (defalias 'paredit-function-documentation #[(fn) "\303N\304\305\"\211\206\306\303 #\210 *\207" [fn doc original-doc paredit-original-documentation documentation function-documentation put] 5]) (defalias 'paredit-annotate-mode-with-examples #[nil "\306\307!C \310\211\203s @\211;\203\311\n\312QB\202l\n@\211;\203,\fC\2029\f<\2035\f\2029\313\314\n\")\nA@\nAA\315!\316\317\"\203k\320\321 \203e\322\323 \324#\202f\325\260B, A\211\204 *\326\307\327\330\331\332!\"#\210)\310\207" [contents paredit-commands spec --dolist-tail-- k examples paredit-function-documentation paredit-mode nil "\n\f\n" "\n" error "Invalid paredit command %s." symbol-name string-match "paredit-" "\n\n\\[" "] " mapconcat #[(example) "\301\302\303\304#\301Q\207" [example "\n" mapconcat identity "\n --->\n"] 5] "" "\n (no examples)\n" put function-documentation apply concat reverse fn keys name] 9]) (defalias 'paredit-annotate-functions-with-examples #[nil "\306\211\205R\n@\211;\204J @\211;\203 C\202* <\203& \202*\307\310 \") A@ AA\311 \312\313 !\314\315 !\316\317\320\f\321#\260#\210+\nA\211\204\306*\207" [paredit-commands spec --dolist-tail-- k examples fn nil error "Invalid paredit command %s." put function-documentation paredit-function-documentation "\n\n\\\\[" symbol-name "]\n" mapconcat #[(example) "\301\302\303\304#\301Q\207" [example "\n" mapconcat identity "\n ->\n"] 5] "" keys] 12]) #@50 Insert HTML for a paredit quick reference table. (defalias 'paredit-insert-html-examples #[nil "\306\307\n\307\211\203\273\f@\211;\203/\203 \310!\210\202!\311 \312 \313Q!\210 \314!\210\202\264 @\211;\203< C\202I <\203E \202I\315\316 \") A@ AA\317!\320\321\322# \323!\210 \324\325Q!\210 \324 \325Q!\210 \326!\210 \327!\210\307!\211\203\256\f@!\330\320\331!\332#\333\"# #\"Q!\210+\fA\211\204\212* \334!\210-\fA\211\204\f* \310!*\207" [initp insert-lines paredit-commands spec --dolist-tail-- k #[(&rest lines) "\303\211\205\n@\211c\210\304 \210\nA\211\204\303*\207" [lines line --dolist-tail-- nil newline] 3] nil "" t "

" "

" "" error "Invalid paredit command %s." symbol-name mapconcat #[(key) "\301\302!\303Q\207" [key "" paredit-html-quote ""] 3] ", " "" " " "" "" examples fn keys name example suffix prefix] 6 (#$ . 13084) nil]) (defalias 'paredit-html-quote #[(string) "\305\306\307\"rq\210\310\216 G\311\n W\203? \n\234\211\312\267\2024\313\2025\314\2025\315\2025\316\2025\317\2025\f)c\210\nT\211\202*\320 +\207" [#1=#:temp-buffer string i --dotimes-limit-- c generate-new-buffer " *temp*" t #[nil "\301!\205 \302!\207" [#1# buffer-name kill-buffer] 2] 0 #s(hash-table size 5 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (60 32 62 36 38 40 39 44 34 48)) "<" ">" "&" "'" """ buffer-string] 4]) (defalias 'paredit-conc-name #[(&rest strings) "\301\302\303\"!\207" [strings intern apply concat] 4]) (defalias 'define-paredit-pair '(macro . #[(open close name) "\303\304\305\306\"\307\310\311\312\313\314\260 \315\316\317\320 DD\321\322\323 \n\324BBBB\325BBE\257\304\305\326\"\327\330\314Q\331\332\nD\257\304\305\326\333#\327\334\335\336\nD\257\304\305\337\"\340\341\342\343\344 \nF\257\345\346\347\305\337\"DE\257\207" [name open close progn defun paredit-conc-name "paredit-open-" (&optional n) "Insert a balanced " " pair.\nWith a prefix argument N, put the closing " " after N\n S-expressions forward.\nIf the region is active, `transient-mark-mode' is enabled, and the\n region's start and end fall in the same parenthesis depth, insert a\n " " pair around the region.\nIf in a string or a comment, insert a single " ".\nIf in a character literal, do nothing. This prevents changing what was\n in the character literal to a meaningful delimiter unintentionally." (interactive "P") cond (or (paredit-in-string-p) (paredit-in-comment-p)) insert (not (paredit-in-char-p)) paredit-insert-pair n ('goto-char) ((save-excursion (backward-up-list) (indent-sexp))) "paredit-close-" nil "Move past one closing delimiter and reindent.\n(Agnostic to the specific closing delimiter.)\nIf in a string or comment, insert a single closing " (interactive) paredit-move-past-close "-and-newline" "Move past one closing delimiter, add a newline, and reindent.\nIf there was a margin comment after the closing delimiter, preserve it\n on the same line." (interactive) paredit-move-past-close-and-newline "paredit-wrap-" (&optional argument) "Wrap the following S-expression.\nSee `paredit-wrap-sexp' for more details." (interactive "P") paredit-wrap-sexp argument add-to-list 'paredit-wrap-commands quote] 14])) #@110 List of paredit commands that wrap S-expressions. Used by `paredit-yank-pop'; for internal paredit use only. (defvar paredit-wrap-commands '(paredit-wrap-sexp) (#$ . 16658)) #@475 Insert a balanced round pair. With a prefix argument N, put the closing round after N S-expressions forward. If the region is active, `transient-mark-mode' is enabled, and the region's start and end fall in the same parenthesis depth, insert a round pair around the region. If in a string or a comment, insert a single round. If in a character literal, do nothing. This prevents changing what was in the character literal to a meaningful delimiter unintentionally. (defalias 'paredit-open-round #[(&optional n) "\301 \204\n\302 \203 \303c\207\304 ?\205!\305\303\306\307$\210\212\310 \210\311 )\207" [n paredit-in-string-p paredit-in-comment-p 40 paredit-in-char-p paredit-insert-pair 41 goto-char backward-up-list indent-sexp] 5 (#$ . 16839) "P"]) #@293 Move past one closing delimiter and reindent. (Agnostic to the specific closing delimiter.) If in a string or comment, insert a single closing round. If in a character literal, do nothing. This prevents changing what was in the character literal to a meaningful delimiter unintentionally. (defalias 'paredit-close-round #[nil "\300\301!\207" [paredit-move-past-close 41] 2 (#$ . 17607) nil]) #@154 Move past one closing delimiter, add a newline, and reindent. If there was a margin comment after the closing delimiter, preserve it on the same line. (defalias 'paredit-close-round-and-newline #[nil "\300\301!\207" [paredit-move-past-close-and-newline 41] 2 (#$ . 18009) nil]) #@76 Wrap the following S-expression. See `paredit-wrap-sexp' for more details. (defalias 'paredit-wrap-round #[(&optional argument) "\301\302\303#\207" [argument paredit-wrap-sexp 40 41] 4 (#$ . 18295) "P"]) (byte-code "\301>\203 \210\202\301B\301\207" [paredit-wrap-commands paredit-wrap-round] 2) #@479 Insert a balanced square pair. With a prefix argument N, put the closing square after N S-expressions forward. If the region is active, `transient-mark-mode' is enabled, and the region's start and end fall in the same parenthesis depth, insert a square pair around the region. If in a string or a comment, insert a single square. If in a character literal, do nothing. This prevents changing what was in the character literal to a meaningful delimiter unintentionally. (defalias 'paredit-open-square #[(&optional n) "\301 \204\n\302 \203 \303c\207\304 ?\205!\305\303\306\307$\210\212\310 \210\311 )\207" [n paredit-in-string-p paredit-in-comment-p 91 paredit-in-char-p paredit-insert-pair 93 goto-char backward-up-list indent-sexp] 5 (#$ . 18605) "P"]) #@294 Move past one closing delimiter and reindent. (Agnostic to the specific closing delimiter.) If in a string or comment, insert a single closing square. If in a character literal, do nothing. This prevents changing what was in the character literal to a meaningful delimiter unintentionally. (defalias 'paredit-close-square #[nil "\300\301!\207" [paredit-move-past-close 93] 2 (#$ . 19378) nil]) #@154 Move past one closing delimiter, add a newline, and reindent. If there was a margin comment after the closing delimiter, preserve it on the same line. (defalias 'paredit-close-square-and-newline #[nil "\300\301!\207" [paredit-move-past-close-and-newline 93] 2 (#$ . 19782) nil]) #@76 Wrap the following S-expression. See `paredit-wrap-sexp' for more details. (defalias 'paredit-wrap-square #[(&optional argument) "\301\302\303#\207" [argument paredit-wrap-sexp 91 93] 4 (#$ . 20069) "P"]) (byte-code "\301>\203 \210\202\301B\301\207" [paredit-wrap-commands paredit-wrap-square] 2) #@475 Insert a balanced curly pair. With a prefix argument N, put the closing curly after N S-expressions forward. If the region is active, `transient-mark-mode' is enabled, and the region's start and end fall in the same parenthesis depth, insert a curly pair around the region. If in a string or a comment, insert a single curly. If in a character literal, do nothing. This prevents changing what was in the character literal to a meaningful delimiter unintentionally. (defalias 'paredit-open-curly #[(&optional n) "\301 \204\n\302 \203 \303c\207\304 ?\205!\305\303\306\307$\210\212\310 \210\311 )\207" [n paredit-in-string-p paredit-in-comment-p 123 paredit-in-char-p paredit-insert-pair 125 goto-char backward-up-list indent-sexp] 5 (#$ . 20381) "P"]) #@293 Move past one closing delimiter and reindent. (Agnostic to the specific closing delimiter.) If in a string or comment, insert a single closing curly. If in a character literal, do nothing. This prevents changing what was in the character literal to a meaningful delimiter unintentionally. (defalias 'paredit-close-curly #[nil "\300\301!\207" [paredit-move-past-close 125] 2 (#$ . 21151) nil]) #@154 Move past one closing delimiter, add a newline, and reindent. If there was a margin comment after the closing delimiter, preserve it on the same line. (defalias 'paredit-close-curly-and-newline #[nil "\300\301!\207" [paredit-move-past-close-and-newline 125] 2 (#$ . 21554) nil]) #@76 Wrap the following S-expression. See `paredit-wrap-sexp' for more details. (defalias 'paredit-wrap-curly #[(&optional argument) "\301\302\303#\207" [argument paredit-wrap-sexp 123 125] 4 (#$ . 21841) "P"]) (byte-code "\301>\203 \210\202\301B\301\207" [paredit-wrap-commands paredit-wrap-curly] 2) #@479 Insert a balanced angled pair. With a prefix argument N, put the closing angled after N S-expressions forward. If the region is active, `transient-mark-mode' is enabled, and the region's start and end fall in the same parenthesis depth, insert a angled pair around the region. If in a string or a comment, insert a single angled. If in a character literal, do nothing. This prevents changing what was in the character literal to a meaningful delimiter unintentionally. (defalias 'paredit-open-angled #[(&optional n) "\301 \204\n\302 \203 \303c\207\304 ?\205!\305\303\306\307$\210\212\310 \210\311 )\207" [n paredit-in-string-p paredit-in-comment-p 60 paredit-in-char-p paredit-insert-pair 62 goto-char backward-up-list indent-sexp] 5 (#$ . 22153) "P"]) #@294 Move past one closing delimiter and reindent. (Agnostic to the specific closing delimiter.) If in a string or comment, insert a single closing angled. If in a character literal, do nothing. This prevents changing what was in the character literal to a meaningful delimiter unintentionally. (defalias 'paredit-close-angled #[nil "\300\301!\207" [paredit-move-past-close 62] 2 (#$ . 22926) nil]) #@154 Move past one closing delimiter, add a newline, and reindent. If there was a margin comment after the closing delimiter, preserve it on the same line. (defalias 'paredit-close-angled-and-newline #[nil "\300\301!\207" [paredit-move-past-close-and-newline 62] 2 (#$ . 23330) nil]) #@76 Wrap the following S-expression. See `paredit-wrap-sexp' for more details. (defalias 'paredit-wrap-angled #[(&optional argument) "\301\302\303#\207" [argument paredit-wrap-sexp 60 62] 4 (#$ . 23617) "P"]) (byte-code "\301>\203 \210\202\301B\302\303\304\"\210\302\305\306\"\210\302\307\310\"\210\302\311\312\"\210\302\313\314\"\210\302\315\316\"\207" [paredit-wrap-commands paredit-wrap-angled defalias paredit-open-parenthesis paredit-open-round paredit-close-parenthesis paredit-close-round paredit-close-parenthesis-and-newline paredit-close-round-and-newline paredit-open-bracket paredit-open-square paredit-close-bracket paredit-close-square paredit-close-bracket-and-newline paredit-close-square-and-newline] 3) (defalias 'paredit-move-past-close #[(close) "\301\302\"\207" [close paredit-move-past-close-and #[nil "\300\301!\207" [paredit-blink-paren-match nil] 2]] 3]) (defalias 'paredit-move-past-close-and-newline #[(close) "\301\302\"\207" [close paredit-move-past-close-and #[nil "\301 \302 \210\203\212\303y\210\304\210Aj\210@c\210))\305 \210\3061)\307 0\210\202*\210\310\311!\207" [comment\.point paredit-find-comment-on-line newline -1 nil lisp-indent-line (scan-error) indent-sexp paredit-blink-paren-match t] 2]] 3]) (defalias 'paredit-move-past-close-and #[(close if-moved) "\302 \204\n\303 \203 c\207\304 \203\305u\210\306!\210 \207" [close if-moved paredit-in-string-p paredit-in-comment-p paredit-in-char-p nil paredit-move-past-close-and-reindent] 2]) #@385 Find a margin comment on the current line. Return nil if there is no such comment or if there is anything but whitespace until such a comment. If such a comment exists, delete the comment (including all leading whitespace) and return a cons whose car is the comment as a string and whose cdr is the point of the comment's initial semicolon, relative to the start of the line. (defalias 'paredit-find-comment-on-line #[nil "\212\302\303\304 \"\210\305f\306=\205>`Tf\306=?\205>\307 \206\310 ?\205>\311u\210`\211\304 {\302\305\312 \"\210`\304 |\210 \312 Z*B)\207" [start comment paredit-skip-whitespace t point-at-eol nil 59 paredit-in-string-p paredit-in-char-p -1 point-at-bol] 4 (#$ . 25123)]) (defalias 'paredit-insert-pair #[(n open close forward) "\306 \205\307 \211\205 ?\205\310 \311 b\210\312\313 \"\211\203$\314c\210 c\210\212 \2038 \315`\316 !\"!\210\202J\203J \n\f\203F\317\202G\320\\!\210\321 \204W\322 \203W\323 \210c\210\312\324\"\205e\314c,\207" [regionp n end open spacep forward paredit-region-active-p paredit-region-safe-for-insert-p region-end region-beginning paredit-space-for-delimiter-p nil " " paredit-scan-sexps-hack prefix-numeric-value 2 1 paredit-in-string-p paredit-in-comment-p newline t close] 6]) (defalias 'paredit-scan-sexps-hack #[(point n) "\212b\210\306 W\203\307\202\310\311 !\306\3122D\n W\205C\3131,\314`\f\"0\202.\210\315\211\2048\316\312\315\"\210 b\210)\nT\211\2020\210+`)\207" [point n count magnitude direction p 0 1 -1 abs exit (scan-error) scan-sexps nil throw] 4]) (defalias 'paredit-region-safe-for-insert-p #[nil "\212\304 \305 \211b\210\306 \307 \310\211\n%\n@ @U\2058\311\n8\311 8=\2058\312\n8\312 8=\2058\313\n8\313 8=-\207" [end beginning beginning-state end-state region-beginning region-end paredit-current-parse-state parse-partial-sexp nil 3 4 5] 7]) #@846 List of predicates for whether to put space by delimiter at point. Each predicate is a function that is is applied to two arguments, ENDP and DELIMITER, and that returns a boolean saying whether to put a space next to the delimiter -- before the delimiter if ENDP is false, after the delimiter if ENDP is true. If any predicate returns false, no space is inserted: every predicate has veto power. Each predicate may assume that the point is not at the beginning of the buffer, if ENDP is false, or at the end of the buffer, if ENDP is true; and that the point is not preceded, if ENDP is false, or followed, if ENDP is true, by a word or symbol constituent, a quote, or the delimiter matching DELIMITER. Each predicate should examine only text before the point, if ENDP is false, or only text after the point, if ENDP is true. (defvar paredit-space-for-delimiter-predicates nil (#$ . 27002)) (defalias 'paredit-space-for-delimiter-p #[(endp delimiter) "\203m\202 o?\205`\203\306f\202`Sfz\307\310\311\312 !\211\205'\nz)?\2055 z\311=\2055\313\257>\205`\3142` \306\211\203] @\211 \"\204V\315\314\306\"\210 A\211\204G*\3160\207" [endp delimiter matching paredit-space-for-delimiter-predicates predicate --dolist-tail-- nil 119 95 34 matching-paren 41 exit throw t] 8]) (defalias 'paredit-move-past-close-and-reindent #[(close) "\303 \211\203\" \304!=\203\212\305\306 \"\210 c\210)\202\"\307\310 #\210)\311 \210\3122^\212`S\313 \210`\n=\204?\314\312\315\"\210\202Z\212\316y\210\317\210\320 )\203W\321 \210\314\312\317\"\210\202Z\322 \210*\202*\205c\323 \207" [open close before-paren paredit-missing-close matching-paren message "Missing closing delimiter: %c" error "Mismatched missing closing delimiter: %c ... %c" up-list return back-to-indentation throw t -1 nil paredit-in-comment-p lisp-indent-line delete-indentation paredit-delete-leading-whitespace] 5]) (defalias 'paredit-missing-close #[nil "\212\3011\f\302 0\210\202\210\303\304!\210\305f\3061 \307 \210\3050\202\"\210*\207" [open (scan-error) backward-up-list error "Not inside a list." nil (scan-error) forward-sexp] 2]) (defalias 'paredit-delete-leading-whitespace #[nil "\212\301u\210`Sfz\211\302=\204\303=\205\304`S!?)\205%\305\301!\210\202)\207" [syn -1 32 45 paredit-in-char-p delete-char] 3]) (defalias 'paredit-blink-paren-match #[(another-line-p) "\205 \203\f\n\205 \3031\212\304 \210\305 \210\306\307 *0\207\210\306\207" [blink-matching-paren show-paren-mode another-line-p (scan-error) backward-sexp forward-sexp nil blink-matching-open] 1]) #@739 Insert a pair of double-quotes. With a prefix argument N, wrap the following N S-expressions in double-quotes, escaping intermediate characters if necessary. If the region is active, `transient-mark-mode' is enabled, and the region's start and end fall in the same parenthesis depth, insert a pair of double-quotes around the region, again escaping intermediate characters if necessary. Inside a comment, insert a literal double-quote. At the end of a string, move past the closing double-quote. In the middle of a string, insert a backslash-escaped double-quote. If in a character literal, do nothing. This prevents accidentally changing a what was in the character literal to become a meaningful delimiter unintentionally. (defalias 'paredit-doublequote #[(&optional n) "\301 \203`\302 S=\203\303u\207\304 \203\303u\210\305\306\261\207\307 \203%\306c\207\310 ?\2051\311\306\211\312$\207" [n paredit-in-string-p paredit-enclosing-string-end nil paredit-in-string-escape-p 92 34 paredit-in-comment-p paredit-in-char-p paredit-insert-pair paredit-forward-for-quote] 5 (#$ . 29604) "P"]) #@247 Move to the end of the string. If not in a string, act as `paredit-doublequote'; if not prefix argument is specified and the region is not active or `transient-mark-mode' is disabled, the default is to wrap one S-expression, however, not zero. (defalias 'paredit-meta-doublequote #[(&optional n) "\301 \204\302\206\303 ?\205\304!\207\305 b\207" [n paredit-in-string-p paredit-doublequote paredit-region-active-p 1 paredit-enclosing-string-end] 2 (#$ . 30720) "P"]) #@277 Move to the end of the string, insert a newline, and indent. If not in a string, act as `paredit-doublequote'; if not prefix argument is specified and the region is not active or `transient-mark-mode' is disabled, the default is to wrap one S-expression, however, not zero. (defalias 'paredit-meta-doublequote-and-newline #[(&optional n) "\301 \204\302\206\303 ?\205\304!\207\305 b\210\306 \210\307 \210\3101%\311 0\207\210\312\207" [n paredit-in-string-p paredit-doublequote paredit-region-active-p 1 paredit-enclosing-string-end newline lisp-indent-line (scan-error) indent-sexp nil] 2 (#$ . 31201) "P"]) (defalias 'paredit-forward-for-quote #[(end) "\303 ` W\205L\304``T\305\211%\306\n!\2035\307 \204\"\n\202H\310c\210\304`\311Z`\305\211% T\202H\312u\210\310c\210\304`S`T\305\211% T)\202)\207" [state end new-state paredit-current-parse-state parse-partial-sexp nil paredit-in-string-p paredit-in-string-escape-p 92 2 -1] 6]) #@55 Insert a backslash followed by a character to escape. (defalias 'paredit-backslash #[nil "\300 \203\301 \207\302 \203\303c\207\304 \203\305u\210\301 \207\301 \207" [paredit-in-string-p paredit-backslash-interactive paredit-in-comment-p 92 paredit-in-char-p nil] 1 (#$ . 32163) nil]) (defalias 'paredit-backslash-interactive #[nil "\302c\210\303\304\216\305\306!\211\307=?\205\310\311 \"\210 c\210\312\211+\207" [delete-p char 92 t #[nil "\205 \301\302!\210\303\304!\207" [delete-p message "Deleting escape." delete-char -1] 2] read-char "Character to escape: " 127 message "Character to escape: %c" nil] 4]) #@431 Insert a newline and indent it. This is like `newline-and-indent', but it not only indents the line that the point is on but also the S-expression following the point, if there is one. Move forward one character first if on an escaped character. If in a string, just insert a literal newline. If in a comment and if followed by invalid structure, call `indent-new-comment-line' to keep the invalid structure in a comment. (defalias 'paredit-newline #[nil "\300 \203\301 \207\302 \203&\303`\304 \"\203#\305 \210\3061 \307 0\207\210\310\207\311 \207\312 \203.\310u\210\305 \210\31319\307 0\207\210\310\207" [paredit-in-string-p newline paredit-in-comment-p paredit-region-ok-p point-at-eol newline-and-indent (scan-error) indent-sexp nil indent-new-comment-line paredit-in-char-p (scan-error)] 3 (#$ . 32791) nil]) #@164 Reindent the definition that the point is on. If the point is in a string or a comment, fill the paragraph instead, and with a prefix argument, justify as well. (defalias 'paredit-reindent-defun #[(&optional argument) "\304 \204\n\305 \203\306!\207i\307 \212\310 \210\311 \210\312 )\313\n \"\210 +\207" [argument #1=#:indentation #2=#:column value paredit-in-string-p paredit-in-comment-p lisp-fill-paragraph paredit-current-indentation end-of-defun beginning-of-defun indent-sexp paredit-restore-column] 3 (#$ . 33626) "P"]) #@504 Insert a semicolon. With a prefix argument N, insert N semicolons. If in a string, do just that and nothing else. If in a character literal, move to the beginning of the character literal before inserting the semicolon. If the enclosing list ends on the line after the point, break the line after the last S-expression following the point. If a list begins on the line after the point but ends on a different line, break the line after the last S-expression following the point before the list. (defalias 'paredit-semicolon #[(&optional n) "\302 \204\n\303 \203\304\206\305\306\"c\207\307 \203\310u\210\311 \211\203.\312 \206*\305\"\2027\304\2064\305\306\"c)\207" [n line-break-point paredit-in-string-p paredit-in-comment-p make-string 1 59 paredit-in-char-p -2 paredit-semicolon-find-line-break-point paredit-semicolon-with-line-break] 4 (#$ . 34168) "p"]) (defalias 'paredit-semicolon-find-line-break-point #[nil "l?\205r\302 \212\3032q`\3041\305 \210\3060\202\210\202I\203I\302 =\204=\307\303\212\310 \210\302 )=\2058 \"\210\202mm\203m\307\303\311\"\210\202m\212\312\306\302 \"\210l\206\\m\206\\\311f\313=)\203h\307\303\311\"\210\202m\307\303 \"\210)\202 *\207" [eol line-break-point point-at-eol exit (scan-error) forward-sexp t throw backward-sexp nil paredit-skip-whitespace 59] 4]) (defalias 'paredit-semicolon-with-line-break #[(line-break-point n) "\303 \211 \304\223\210\305\306\"\210\307\n\206\310\311\"c\210\212b\210\304\211\223\210\312 \210\313 \210\31411\315 0\210\2022\210\316 *\207" [line-break-marker line-break-point n make-marker nil set-marker-insertion-type t make-string 1 59 newline lisp-indent-line (scan-error) indent-sexp paredit-indent-sexps] 4]) (byte-code "\300\301\302\"\210\300\303\302\"\210\300\304\302\"\210\300\305\302\"\210\300\306\302\"\207" [autoload comment-forward "newcomment" comment-normalize-vars comment-region comment-search-forward uncomment-region] 3) (defalias 'paredit-initialize-comment-dwim #[nil "\300\301!\210\302\303!\204\304\303\305\"\210\304\306\307\"\210\307 \207" [require newcomment fboundp comment-or-uncomment-region defalias #[(beginning end &optional argument) "\212b\210\303d!\210 `X)\203\304 \n#\207\305 \n#\207" [beginning end argument comment-forward uncomment-region comment-region] 4 nil "*r\nP"] paredit-initialize-comment-dwim comment-normalize-vars] 3]) #@971 Call the Lisp comment command you want (Do What I Mean). This is like `comment-dwim', but it is specialized for Lisp editing. If transient mark mode is enabled and the mark is active, comment or uncomment the selected region, depending on whether it was entirely commented not not already. If there is already a comment on the current line, with no prefix argument, indent to that comment; with a prefix argument, kill that comment. Otherwise, insert a comment appropriate for the context and ensure that any code following the comment is moved to the next line. At the top level, where indentation is calculated to be at column 0, insert a triple-semicolon comment; within code, where the indentation is calculated to be non-zero, and on the line there is either no code at all or code after the point, insert a double-semicolon comment; and if the point is after all code on the line, insert a single- semicolon margin comment at `comment-column'. (defalias 'paredit-comment-dwim #[(&optional argument) "\301 \210\302 \203\303\304 \305 #\207\306 \203%\203\"\307\250\205 !\207\310 \207\311 \207" [argument paredit-initialize-comment-dwim paredit-region-active-p comment-or-uncomment-region region-beginning region-end paredit-comment-on-line-p comment-kill comment-indent paredit-insert-comment] 4 (#$ . 36562) "*P"]) #@147 True if there is a comment on the line following point. This is expected to be called only in `paredit-comment-dwim'; do not call it elsewhere. (defalias 'paredit-comment-on-line-p #[nil "\212\301 \210\302\303\304 \305\"\211\203\"\306 \204\307`S!\203\"\302u\210\202*\207" [comment-p beginning-of-line nil comment-search-forward point-at-eol t paredit-in-string-p paredit-in-char-p] 4 (#$ . 37917)]) (defalias 'paredit-insert-comment #[nil "\212\304\305\306 \"\210l)?\212\304\307\310 \"\210n)?n\203C\311 \211:\203'\n@\202(\n)\211\2051\n\312U)\203C \203>\212\313 \210)\314c\202s \204K\204l\203U\315 \210\202X\316 \210\317c\210 \205s\212\313 \210\316 \210\320 )\202s\321 \322\"\210\323c*\207" [code-before-p code-after-p indent comment-column paredit-skip-whitespace t point-at-eol nil point-at-bol calculate-lisp-indent 0 newline ";;; " newline-and-indent lisp-indent-line ";; " paredit-indent-sexps indent-to 1 59] 5]) #@449 Delete a character forward or move forward over a delimiter. If on an opening S-expression delimiter, move forward into the S-expression. If on a closing S-expression delimiter, refuse to delete unless the S-expression is empty, in which case delete the whole S-expression. With a numeric prefix argument N, delete N characters forward. With a `C-u' prefix argument, simply delete a character forward, without regard for delimiter balancing. (defalias 'paredit-forward-delete #[(&optional argument) ":\204 m\203 \302\303!\207\250\203-\304W\203\305!\207\304V\205,\306 \210S\211\202\207\307 \2035\310 \207\311 \203=\312 \207\313 \203J\302\314!\210\302\303!\207\315f\316=\203U\302\317!\207\315fz\211\320=\206b \321=)\203\204\212\3221s\323 \210\3240\202u\210\315)\203|\315u\207\325\326!\210\302\303!\207\313`S!\204\246\315fz\327=\203\246`Sf\330\315f!=\203\246\302\314!\210\302\303!\207\315f\331=\203\260\332 \207\315fz\327=\203\334\3331\311\212\315u\210\334 \210)\3240\202\315\210\202\324\203\324\325\335!\207\325\336!\210\302\303!\207\302\303!\207" [argument syn delete-char 1 0 paredit-backward-delete paredit-forward-delete paredit-in-string-p paredit-forward-delete-in-string paredit-in-comment-p paredit-forward-delete-in-comment paredit-in-char-p -1 nil 92 2 40 34 (scan-error) forward-sexp t message "Deleting spurious opening delimiter." 41 matching-paren 59 paredit-forward-delete-comment-start (scan-error) backward-sexp "End of list!" "Deleting spurious closing delimiter."] 4 (#$ . 38872) "P"]) (defalias 'paredit-forward-delete-in-string #[nil "\301 `A=\204'\302 \203\303\304!\210\202!\305f\306=\203!\303\307!\210\303\307!\2026`S@=\2056\303\304!\210\303\307!)\207" [start+end paredit-string-start+end-points paredit-in-string-escape-p delete-char -1 nil 92 1] 2]) (defalias 'paredit-check-forward-delete-in-comment #[nil "l\205\302\303!\304\303!\305 \"*\207" [next-line-end next-line-start point-at-bol 2 point-at-eol paredit-check-region] 3]) (defalias 'paredit-forward-delete-in-comment #[nil "\300 \210\301\302!\207" [paredit-check-forward-delete-in-comment delete-char 1] 2]) (defalias 'paredit-forward-delete-comment-start #[nil "\300`T\301 \"\210\302\303!\207" [paredit-check-region point-at-eol delete-char 1] 3]) #@454 Delete a character backward or move backward over a delimiter. If on a closing S-expression delimiter, move backward into the S-expression. If on an opening S-expression delimiter, refuse to delete unless the S-expression is empty, in which case delete the whole S-expression. With a numeric prefix argument N, delete N characters backward. With a `C-u' prefix argument, simply delete a character backward, without regard for delimiter balancing. (defalias 'paredit-backward-delete #[(&optional argument) ":\204 o\203 \303\304!\207\250\203/\305W\203\306\305Z!\207\305V\205.\307 \210S\211\202\207\310 \2037\311 \207\312 \203?\313 \207\314 \203L\303\304!\210\303\315!\207\314`S!\203W\303\316!\207`Sfz\211\317=\206e \320=)\203\207\212\3211v\322 \210\3230\202x\210\324)\203\304u\207\325\326!\210\303\304!\207`Sfz\327=\203\243\324f\330`Sf!=\203\243\303\304!\210\303\315!\207n\203\252\331 \207`Sfz\327=\203\327\3321\304\212\304u\210\333 \210)\3230\202\310\210\202\317\203\317\325\334!\207\325\326!\210\303\304!\207\324\335\315!)\207" [argument syn delete-active-region delete-char -1 0 paredit-forward-delete paredit-backward-delete paredit-in-string-p paredit-backward-delete-in-string paredit-in-comment-p paredit-backward-delete-in-comment paredit-in-char-p 1 -2 41 34 (scan-error) backward-sexp t nil message "Deleting spurious closing delimiter." 40 matching-paren paredit-backward-delete-maybe-comment-end (scan-error) forward-sexp "Beginning of list!" backward-delete-char-untabify] 4 (#$ . 41164) "P"]) (defalias 'paredit-backward-delete-in-string #[nil "\301 `S@=\204#\302 \203\303\304!\210\303\305!\210\302 \2051\303\305!\2021`A=\2051\303\305!\210\303\304!)\207" [start+end paredit-string-start+end-points paredit-in-string-escape-p delete-char 1 -1] 2]) (defalias 'paredit-backward-delete-in-comment #[nil "\212\300u\210\301 \206 \302 )\204\303`\304 \"\210\305\306!\207" [-1 paredit-in-string-p paredit-in-comment-p paredit-check-region point-at-eol backward-delete-char-untabify 1] 3]) (defalias 'paredit-backward-delete-maybe-comment-end #[nil "\212\300u\210\301 ?\205\f\302 )\203\303\304 \305 \"\210\306\300!\207" [-1 paredit-in-string-p paredit-in-comment-p paredit-check-region point-at-eol point-at-bol delete-char] 3]) #@463 Kill a line as if with `kill-line', but respecting delimiters. In a string, act exactly as `kill-line' but do not kill past the closing string delimiter. On a line with no S-expressions on it starting after the point or within a comment, act exactly as `kill-line'. Otherwise, kill all S-expressions that start after the point. With a `C-u' prefix argument, just do the standard `kill-line'. With a numeric prefix argument N, do `kill-line' that many times. (defalias 'paredit-kill #[(&optional argument) "\203\301\250\203\202\302!\207\303 \203\304 \207\305 \203!\306 \207\212\307\310\311 \"\210l\2060\312f\313=)\203?\314 \203<\315u\210\301 \207\316 \207" [argument kill-line 1 paredit-in-string-p paredit-kill-line-in-string paredit-in-comment-p paredit-kill-line-in-comment paredit-skip-whitespace t point-at-eol nil 59 paredit-in-char-p -1 paredit-kill-sexps-on-line] 3 (#$ . 43458) "P"]) (defalias 'paredit-kill-line-in-string #[nil "\212\300\301\302 \"\210l)\203\303 \207\212\304 \203\305u\210\306`\302 \307 A^\")\207" [paredit-skip-whitespace t point-at-eol kill-line paredit-in-string-escape-p -1 kill-region paredit-string-start+end-points] 4]) (defalias 'paredit-kill-line-in-comment #[nil "\300 \210\301 \207" [paredit-check-forward-delete-in-comment kill-line] 1]) (defalias 'paredit-kill-sexps-on-line #[nil "\304 \203\305u\210`\306 \307 \"\211\203\310 \210\311u\210 \203&\312 !\2029\313 \n\2047\306 =\2037\2028`\"+\207" [eol beginning end-of-list-p kill-whole-line paredit-in-char-p -2 point-at-eol paredit-forward-sexps-to-kill up-list -1 paredit-kill-sexps-on-whole-line kill-region] 5]) (defalias 'paredit-forward-sexps-to-kill #[(beginning eol) "\304\305\3062t\n\203m\203\307\306\304\"\210\212\3101!\311 0\210\202/\210\312 \210\313 =\307\306\304\"\210\204;\n\204;m\204U\3141G\315 \210\3040\202K\210\202U\204U\313 =\204Z\307\306\304\"\210)\311 \210\203o\n\204om\203o\307\306\304\"\210\304\202\210 *\207" [firstp end-of-list-p kill-whole-line eol nil t return throw (scan-error) forward-sexp up-list point-at-eol (scan-error) backward-sexp] 3]) (defalias 'paredit-kill-sexps-on-whole-line #[(beginning) "\303\212\304\305!\210\306f\307=?\205`)\206\310 \"\210\212\304\306\311 \"\210n)\203'\312 \207m\203-\306\207`Sfz\306fz\211\313=\203B \314=\206W\n\315=\203N \315=\206W\n\316>\205W \317>*\205]\320c\207" [beginning syn-after syn-before kill-region paredit-skip-whitespace t nil 59 point-at-eol point-at-bol lisp-indent-line 41 40 34 (95 119) (95 119) " "] 5]) #@60 Kill a word forward, skipping over intervening delimiters. (defalias 'paredit-forward-kill-word #[nil "`\305\306!\210\307 \310 \311\"m\204>\312fz\313=\204>\314u\210\307 \n\310 \311\" \f=\204:\315 \f #\310 \311\"`*\202*b\210\316\314!)\207" [beginning parse-state state old-state new-state skip-syntax-forward " -" paredit-current-parse-state paredit-kill-word-state char-after nil 119 1 paredit-kill-word-hack kill-word] 4 (#$ . 46019) nil]) #@65 Kill a word backward, skipping over any intervening delimiters. (defalias 'paredit-backward-kill-word #[nil "o\204Z`Sfz\303=\204Z`\304v\210\305v\210`^b\210\306 \307 \310\"`W\203=\311``T\312\211 %\n\307 \310\"=\204\"\304u\210\n\313=\203Y`f\314=\203Y`\206O`Sf\315=\203Y\304u\210+\316\305!\207" [end parse-state state 119 -1 1 paredit-current-parse-state paredit-kill-word-state char-before parse-partial-sexp nil comment 35 124 backward-kill-word] 6 (#$ . 46481) nil]) (defalias 'paredit-kill-word-state #[(parse-state adjacent-char-fn) "\302!\203\303\207\304!\203\305\207 z\306>\203\307\207\310\207" [parse-state adjacent-char-fn paredit-in-comment-p comment paredit-in-string-p string (40 41) delimiter other] 2]) (defalias 'paredit-kill-word-hack #[(old-state new-state parse-state) "\303=\204& \303=\204&\304 \204&`Sf\305=\203&\306f\307=\203&\310u\210\311 \207\303=\204A \303=\203A`Sf\312=\203A\313\306w\210\311 \207\n\207" [old-state new-state parse-state comment paredit-in-string-escape-p 35 nil 124 1 paredit-current-parse-state 59 ";"] 2]) #@66 Save in the kill ring the region that `paredit-kill' would kill. (defalias 'paredit-copy-as-kill #[nil "\300 \203\301 \207\302 \203\303`\304 \"\207\212\305\306\304 \"\210l\206\"\307f\310=)\2036\212\311 \203/\312u\210\303`\304 \")\207\313 \207" [paredit-in-string-p paredit-copy-as-kill-in-string paredit-in-comment-p copy-region-as-kill point-at-eol paredit-skip-whitespace t nil 59 paredit-in-char-p -1 paredit-copy-sexps-as-kill] 3 (#$ . 47567) nil]) (defalias 'paredit-copy-as-kill-in-string #[nil "\212\300 \203 \301u\210\302`\303 \304 A^\")\207" [paredit-in-string-escape-p -1 copy-region-as-kill point-at-eol paredit-string-start+end-points] 4]) (defalias 'paredit-copy-sexps-as-kill #[nil "\212\304 \203 \305u\210`\306 \307 \"\211\203\310 \210\311u\210\312 \203:\212\313\314!\210\315f\316=?\2051`)\206J\306 \202J\n\204I\306 =\203I\202J`\",\207" [eol beginning end-of-list-p kill-whole-line paredit-in-char-p -2 point-at-eol paredit-forward-sexps-to-kill up-list -1 copy-region-as-kill paredit-skip-whitespace t nil 59] 5]) #@164 Delete the text between point and mark, like `delete-region'. If that text is unbalanced, signal an error instead. With a prefix argument, skip the balance check. (defalias 'paredit-delete-region #[(start end) "\203 \203\n\204\304 \"\210\305 |\207" [start end current-prefix-arg this-command paredit-check-region-for-delete delete-region] 3 (#$ . 48629) "r"]) #@160 Kill the text between point and mark, like `kill-region'. If that text is unbalanced, signal an error instead. With a prefix argument, skip the balance check. (defalias 'paredit-kill-region #[(start end) "\203 \203\n\204\304 \"\210\305\211 \"\207" [start end current-prefix-arg this-command paredit-check-region-for-delete kill-region] 4 (#$ . 49006) "r"]) #@64 Signal an error deleting text between START and END is unsafe. (defalias 'paredit-check-region-for-delete #[(start end) "\212b\210\304 \305\n\306\211 %\307 \n $\210\310 \n $\210\311 \n $\210\312 \n $+\207" [start start-state end end-state paredit-current-parse-state parse-partial-sexp nil paredit-check-region-for-delete:depth paredit-check-region-for-delete:string paredit-check-region-for-delete:comment paredit-check-region-for-delete:char-quote] 6 (#$ . 49379)]) (defalias 'paredit-check-region-for-delete:depth #[(start start-state end end-state) "@ @\211\nU?\205\304\305 \n#*\207" [start-state end-state end-depth start-depth error "Mismatched parenthesis depth: %S at start, %S at end."] 5]) (defalias 'paredit-check-region-for-delete:string #[(start start-state end end-state) "\3048\304 8\211\n=?\205$\305\306 \203\307\202\310\n\203\"\307\202#\310#*\207" [start-state end-state end-string-p start-string-p 3 error "Mismatched string state: start %sin string, end %sin string." "" "not "] 5]) (defalias 'paredit-check-region-for-delete:comment #[(start start-state end end-state) "\3058\305 8\211\n=\2060 \306=\203\n\307=\204& \307=\2050\n\306=\2050\212\fb\210\310`\311 \")?\205p\312\313 \250\203H\n\250\203H\314\315 \n#\202o \250\203Q\316\202o\n\250\203Z\317\202o \203b\320\202o\n\203j\321\202o\314\322 \n#\"*\207" [start-state end-state end-comment-state start-comment-state end 4 nil t paredit-region-ok-p point-at-eol error "Mismatched comment state: %s" format "depth %S at start, depth %S at end." "start in nested comment, end otherwise." "end in nested comment, start otherwise." "start in comment, end not in comment." "end in comment, start not in comment." "start %S, end %S."] 7]) (defalias 'paredit-check-region-for-delete:char-quote #[(start start-state end end-state) "\3058\305 8\211\n=?\205+\306\307\310\f \203\311\202\312\f\n\203&\311\202'\312\f&)*\207" [start-state end-state end-char-quote start-char-quote phrase 5 "character quotation" error "Mismatched %s: start %sin %s, end %sin %s." "" "not "] 8]) (defalias 'defun-motion '(macro . #[(name bvl doc &rest body) "\304 \n\305 \203 \306\202#\307 \203 \310\311!\203\312\202#\313\202#\314\315! BBBBB\207" [name bvl doc body defun paredit-xemacs-p (interactive "_") paredit-gnu-emacs-p fboundp handle-shift-selection (interactive "^p") (interactive "p") error "XCOND lost."] 6])) #@244 Move forward an S-expression, or up an S-expression forward. If there are no more S-expressions in this one before the closing delimiter, move past that closing delimiter; otherwise, move forward past the S-expression following the point. (defalias 'paredit-forward #[(&optional arg) "\206\304\305 W\203$ \305\n W\205 \306 \210\nT\211\202*\202@ \305W\205@ [\305\n W\205?\307 \210\nT\211\2020*)\207" [arg n i --dotimes-limit-- 1 0 paredit-move-forward paredit-move-backward] 3 (#$ . 51808) "^p"]) #@261 Move backward an S-expression, or up an S-expression backward. If there are no more S-expressions in this one before the opening delimiter, move past that opening delimiter backward; otherwise, move move backward past the S-expression preceding the point. (defalias 'paredit-backward #[(&optional arg) "\206\304\305 W\203$ \305\n W\205 \306 \210\nT\211\202*\202@ \305W\205@ [\305\n W\205?\307 \210\nT\211\2020*)\207" [arg n i --dotimes-limit-- 1 0 paredit-move-backward paredit-move-forward] 3 (#$ . 52333) "^p"]) (defalias 'paredit-move-forward #[nil "\301 \203-\302 \3031\"\3041\305 0\210\202\210\306 \210`X0\202&\210\202)\205+b)\207\307 \2035\310u\207\3111=\305 0\207\210\306 \207" [end paredit-in-string-p paredit-enclosing-string-end (scan-error) (scan-error) forward-sexp up-list paredit-in-char-p nil (scan-error)] 2]) (defalias 'paredit-move-backward #[nil "\301 \203-\302 \3031\"\3041\305 0\210\202\210\306 \210`X0\202&\210\202)\205+b)\207\307 \2035\310u\207\3111=\305 0\207\210\306 \207" [start paredit-in-string-p paredit-enclosing-string-start (scan-error) (scan-error) backward-sexp backward-up-list paredit-in-char-p -2 (scan-error)] 2]) (defalias 'paredit-recentre-on-sexp 'paredit-recenter-on-sexp) #@127 Recenter the screen on the S-expression following the point. With a prefix argument N, encompass all N S-expressions forward. (defalias 'paredit-recenter-on-sexp #[(&optional n) "`\306 !\210`\211b\210\307 !\210`\310\211\212\311 \n\"\312\245y\210\313 \210\314!\314 !)\f\2044\313\315!\202: \205:b-\207" [p n end-point start-point start-visible p-visible forward-sexp backward-sexp nil count-lines 2 recenter pos-visible-in-window-p 0] 4 (#$ . 53605) "P"]) #@49 Recenter the screen on the definition at point. (defalias 'paredit-recenter-on-defun #[nil "\212\300 \210\301 )\207" [beginning-of-defun paredit-recenter-on-sexp] 1 (#$ . 54077) nil]) #@54 Moves display to the top of the definition at point. (defalias 'paredit-focus-on-defun #[nil "\300 \210\301\302!\207" [beginning-of-defun recenter 0] 2 (#$ . 54267) nil]) (defalias 'paredit-up/down #[(n vertical-direction) "\303W\203\n\304\202 \305\303U?\205!\306 \n\"b\210 Z\211\202 )\207" [n horizontal-direction vertical-direction 0 1 -1 paredit-next-up/down-point] 4]) (defalias 'paredit-next-up/down-point #[(horizontal-direction vertical-direction) "\306 \307\310 !\203-\311 !\312 W\203&\312\fW\203!\nAT\202)\n@\202)\313\314!)\202\210\312 W\203> \206\210\315\f!\202\210 \312W\203\204\3161N 0\202P\210\317\320\f \"\211\203s \203s\312\fW\203l ^\202\200 ]\202\200\206\200 \206\200\315\f!*\202\210\313\321\322\"*\207" [scan-lists state start+end vertical-direction horizontal-direction list-start paredit-current-parse-state #[nil "\302` #\207" [horizontal-direction vertical-direction scan-lists] 4] paredit-in-string-p paredit-string-start+end-points 0 error "Can't descend further into string." buffer-end (scan-error) nil paredit-find-next-string-start "Vertical direction must be nonzero in `%s'." paredit-up/down string-start] 4]) (defalias 'paredit-find-next-string-start #[(horizontal-direction limit) "\305W\203\n\306\202 \307\305W\203\310\202\311\305W\203 \312\202!\313\3141c\212\3152^ \204=\f\203B `\f\"\203B\316\315\317\"\210\320!\210\212\321!\210\n z\322=\203Z\316\315`\\\"\210)\202-)0\202e\210\317+\207" [horizontal-direction pastp next-char buffer-limit-p limit 0 eobp bobp char-after char-before > < (scan-error) exit throw nil forward-sexp backward-sexp 34] 4]) #@157 Move forward down into a list. With a positive argument, move forward down that many levels. With a negative argument, move backward down that many levels. (defalias 'paredit-forward-down #[(&optional argument) "\301\206\302\303\"\207" [argument paredit-up/down 1 -1] 3 (#$ . 55926) "^p"]) #@218 Move backward up out of the enclosing list. With a positive argument, move backward up that many levels. With a negative argument, move forward up that many levels. If in a string initially, that counts as one level. (defalias 'paredit-backward-up #[(&optional argument) "\301\302\206\303Z\303\"\207" [argument paredit-up/down 0 1] 3 (#$ . 56226) "^p"]) #@217 Move forward up out of the enclosing list. With a positive argument, move forward up that many levels. With a negative argument, move backward up that many levels. If in a string initially, that counts as one level. (defalias 'paredit-forward-up #[(&optional argument) "\301\206\302\302\"\207" [argument paredit-up/down 1] 3 (#$ . 56590) "^p"]) #@158 Move backward down into a list. With a positive argument, move backward down that many levels. With a negative argument, move forward down that many levels. (defalias 'paredit-backward-down #[(&optional argument) "\301\302\206\303Z\304\"\207" [argument paredit-up/down 0 1 -1] 3 (#$ . 56945) "^p"]) #@549 Wrap the following S-expression. If a `C-u' prefix argument is given, wrap all S-expressions following the point until the end of the buffer or of the enclosing list. If a numeric prefix argument N is given, wrap N S-expressions. Automatically indent the newly wrapped S-expression. As a special case, if the point is at the end of a list, simply insert a parenthesis pair, rather than inserting a lone opening delimiter and then signalling an error, in the interest of preserving structure. By default OPEN and CLOSE are round delimiters. (defalias 'paredit-wrap-sexp #[(&optional argument open close) "\304\305!\210\206 \306 \206\307\3101>\n\250\203\n\2021\n:\203'\311 \2021\312 \2030\313\2021\314\315  \316$)0\210\202E\210 c\210\317u\210*\212\320 \210\321 )\207" [open close argument n paredit-lose-if-not-in-sexp paredit-wrap-sexp 40 41 (scan-error) paredit-count-sexps-forward paredit-region-active-p nil 1 paredit-insert-pair goto-char -1 backward-up-list indent-sexp] 5 (#$ . 57254) "P"]) #@468 Replace just-yanked text with the next item in the kill ring. If this command follows a `yank', just run `yank-pop'. If this command follows a `paredit-wrap-sexp', or any other paredit wrapping command (see `paredit-wrap-commands'), run `yank' and reindent the enclosing S-expression. If this command is repeated, run `yank-pop' and reindent the enclosing S-expression. The argument is passed on to `yank' or `yank-pop'; see their documentation for details. (defalias 'paredit-yank-pop #[(&optional argument) "\304=\203\n\305 !\207\n>\203\304 !\210\306\212\307 \210\310 )\207\306=\2036\304\305 !\210\306\211\212\307 \210\310 )\207\311\312\"\207" [last-command argument paredit-wrap-commands this-command yank yank-pop paredit-yank-pop backward-up-list indent-sexp error "Last command was not a yank or a wrap: %s"] 4 (#$ . 58282) "*p"]) #@700 Splice the list that the point is on by removing its delimiters. With a prefix argument as in `C-u', kill all S-expressions backward in the current list before splicing all S-expressions forward into the enclosing list. With two prefix arguments as in `C-u C-u', kill all S-expressions forward in the current list before splicing all S-expressions backward into the enclosing list. With a numerical prefix argument N, kill N S-expressions backward in the current list before splicing the remaining S-expressions into the enclosing list. If N is negative, kill forward. Inside a string, unescape all backslashes, or signal an error if doing so would invalidate the buffer's structure. (defalias 'paredit-splice-sexp #[(&optional argument) "\305 \203 \306!\207\307 \203\310\311!\210\3121\313 0\210\202\"\210\310\314!\210\315!\210\313 \212\31617\317 \210\320 0\210\2028\210`)\212\321 \210\322u\210\323\324 \"\210`*\325 \212\326 \210\327\330!\210\f`\331\223\210) \n|\210\332 \333\f!\"+\207" [argument limit delete-end delete-start end-marker paredit-in-string-p paredit-splice-string paredit-in-comment-p error "Can't splice comment." (scan-error) paredit-enclosing-list-start "Can't splice top level." paredit-kill-surrounding-sexps-for-splice (scan-error) forward-sexp backward-sexp backward-up-list 1 paredit-skip-whitespace t make-marker up-list delete-char -1 nil paredit-splice-reindent marker-position] 4 (#$ . 59147) "P"]) (defalias 'paredit-splice-reindent #[(start end) "i\305 \3061$\212\307 \210\310 \210\3111\312 0\210\202\210\n`W)0\202(\210\2025\2035\212\307 \210\313 )\2029\314\n \"\315 \"\210\f+\207" [#1=#:indentation #2=#:column start end value paredit-current-indentation (scan-error) backward-up-list down-list (scan-error) forward-sexp indent-sexp paredit-indent-region paredit-restore-column] 3]) (defalias 'paredit-kill-surrounding-sexps-for-splice #[(argument) "\305 \204\n\306 \203\307\310!\207\203\311=\203\312\207\247\204%\313=\203L\313=\203/\314\2020\315[!\211b\210\3161E\317!0\210\202F\210\320 `\"*\207:\203\227@\211\321U\203y`\3221po?\205k\317 \210\202`0\210\202q\210\320` \")\202\225`\3231\217m?\205\212\324 \210\2020\210\202\220\210\320\f`\"))\207\307\325\"\207" [argument saved v end beginning paredit-in-string-p paredit-in-comment-p error "Invalid context for splicing S-expressions." 0 nil - -1 paredit-point-at-sexp-boundary (scan-error) backward-sexp paredit-hack-kill-region 4 (scan-error) (scan-error) forward-sexp "Bizarre prefix argument `%s'."] 4]) #@200 Splice the list the point is on by removing its delimiters, and also kill all S-expressions before the point in the current list. With a prefix argument N, kill only the preceding N S-expressions. (defalias 'paredit-splice-sexp-killing-backward #[(&optional n) "\301\203 \302!\202\f\303!\207" [n paredit-splice-sexp prefix-numeric-value (4)] 3 (#$ . 61724) "P"]) #@199 Splice the list the point is on by removing its delimiters, and also kill all S-expressions after the point in the current list. With a prefix argument N, kill only the following N S-expressions. (defalias 'paredit-splice-sexp-killing-forward #[(&optional n) "\301\203\f\302![\202 \303!\207" [n paredit-splice-sexp prefix-numeric-value (16)] 3 (#$ . 62100) "P"]) #@328 Raise the following S-expression in a tree, deleting its siblings. With a prefix argument N, raise the following N S-expressions. If N is negative, raise the preceding N S-expressions. If the point is on an S-expression, such as a string or a symbol, not between them, that S-expression is considered to follow the point. (defalias 'paredit-raise-sexp #[(&optional argument) "\212\306 \203\307 @b\210\202\"\310 \203\311 \210\202\"\312 \203\"\313\314!\210\315!\316` \" \317W\2038\n\320 {\202<\321 \n{\322 \210`\316`\323\"|\210`\212 c\210`)\324\f \325#.\207" [argument n bound sexps indent-start indent-end paredit-in-string-p paredit-string-start+end-points paredit-in-char-p backward-sexp paredit-in-comment-p error "No S-expression to raise in comment." prefix-numeric-value scan-sexps 0 paredit-point-at-sexp-end paredit-point-at-sexp-start backward-up-list 1 indent-region nil] 4 (#$ . 62476) "P"]) #@249 Convolute S-expressions. Save the S-expressions preceding point and delete them. Splice the S-expressions following point. Wrap the enclosing list in a new list prefixed by the saved text. With a prefix argument N, move up N lists before wrapping. (defalias 'paredit-convolute-sexp #[(&optional n) "\305\306!\210\212\307!\210\307 \210)\310\211`\3111'o?\205\"\312 \210\2020\210\202(\210` {\307 \210\212\313 \210`Sf\314\315!\210)\310f` |\210l\204I\316 \210)\307!\210\317\320\n \321$\210\fc\210l\204`\316 \210\212\307 \210\3221n\323 0\202p\210\310,\207" [n close open end prefix paredit-lose-if-not-in-sexp paredit-convolute-sexp backward-up-list nil (scan-error) backward-sexp forward-sexp delete-char -1 just-one-space paredit-insert-pair 1 goto-char (scan-error) indent-sexp] 5 (#$ . 63406) "p"]) (defalias 'paredit-splice-string #[(argument) "`\306 @A\f:\204 T\n{\202(\f@\307U\203$ \n{\202( T {\310 !\211 \2048\311\312!\202V\212 b\210 \nT|\210 c\210)\f:\205O\f@\307U?\205V Sb.\207" [start+end original-point end start argument escaped-string paredit-string-start+end-points 4 paredit-unescape-string error "Unspliceable string." unescaped-string] 3]) (defalias 'paredit-unescape-string #[(string) "\302\303\304\"rq\210\305\216 c\210eb\210m\204'\306\307\310\304#\203'\311\312!\210\310u\210\202\31316\314ed\"\210\315 0\2028\210\310+\207" [#1=#:temp-buffer string generate-new-buffer " *temp*" t #[nil "\301!\205 \302!\207" [#1# buffer-name kill-buffer] 2] search-forward "\\" nil delete-char -1 (scan-error) scan-sexps buffer-string] 4]) #@373 Add the S-expression following the current list into that list by moving the closing delimiter. Automatically reindent the newly slurped S-expression with respect to its new enclosing form. If in a string, move the opening double-quote forward by one S-expression and escape any intervening characters as necessary, without altering any indentation or formatting. (defalias 'paredit-forward-slurp-sexp #[(&optional argument) "\212\301 \203\f\302\303!\202]\247\203.\304W\203\305\304Z!\202]\304W\205]\306 \210S\202\307 \203Z\212\310 b\210\3111D\312 \210\3130\202F\210\314)\203T\310 b\210\315!\202]\316!\202]\315!)\207" [argument paredit-in-comment-p error "Invalid context for slurping S-expressions." 0 paredit-forward-barf-sexp paredit-forward-slurp-sexp paredit-in-string-p paredit-enclosing-string-end (scan-error) forward-sexp nil t paredit-forward-slurp-into-list paredit-forward-slurp-into-string] 3 (#$ . 64997) "P"]) (defalias 'paredit-forward-slurp-into-list #[(&optional argument) "\304\212\305 \210`Sf\306\307!\210`\3102Q\3111=\312 \210 \2034\31313m?\205.\312 \210\202#0\210\2024\210\314\310\304\"0\210\202\210\315\305 \210`Sf\306\307!\210 c\210\202\210 c\210\316\n`\304#\210+?\205\230\212\317\304!\210`)\212\320 \210\304u\210`)=\205\230\212\312 \210\321 \210`)\212\317\315!\210`)=\205\230\212\317\304!\210`)\212\317\315!\210`)|)\207" [nestedp close start argument nil up-list delete-char -1 return (scan-error) forward-sexp (scan-error) throw t indent-region paredit-skip-whitespace backward-up-list backward-sexp] 4]) (defalias 'paredit-forward-slurp-into-string #[(&optional argument) "\304 \305 b\210\212\306 \210)`Sf \307\\U\203<\212\310\311!\210`)\212\306 \210\312 \210`)=\203<`S\212\310\311!\210`)|\210\202@\313\314!\210\315\212\306 \210 \203\\\3161U\306 \210\3110\202Y\210\202\\\204I`)!\210\nc+\207" [end start close argument paredit-enclosing-string-start paredit-enclosing-string-end forward-sexp 2 paredit-skip-whitespace t backward-sexp delete-char -1 paredit-forward-for-quote (scan-error)] 3]) #@195 Remove the last S-expression in the current list from that list by moving the closing delimiter. Automatically reindent the newly barfed S-expression with respect to its new enclosing form. (defalias 'paredit-forward-barf-sexp #[(&optional argument) "\304\305!\210\247\203\306W\203\307\306Z!\207`\310\212\311 \210`Sf\312\313!\210`\3141]\2034\247\203:\315!\202X\3161J\212\315 \210\n`X)0\202O\210\310\202X\205X\315 \210\202:0\210\202^\210\317\310!\210o\203m\320\321!\210\202u\322 \203u\323 \210 c\210)\324 \210\315 \210\203\210\247\203\216\325!\202\222\326` \"+\207" [argument end start close paredit-lose-if-not-in-sexp paredit-forward-barf-sexp 0 paredit-forward-slurp-sexp nil up-list delete-char -1 (scan-error) backward-sexp (scan-error) paredit-skip-whitespace error "Barfing all subexpressions with no open-paren?" paredit-in-comment-p newline forward-sexp paredit-forward-and-indent indent-region] 3 (#$ . 67087) "P"]) #@359 Add the S-expression preceding the current list into that list by moving the closing delimiter. Automatically reindent the whole form into which new S-expression was slurped. If in a string, move the opening double-quote backward by one S-expression and escape any intervening characters as necessary, without altering any indentation or formatting. (defalias 'paredit-backward-slurp-sexp #[(&optional argument) "\212\301 \203\f\302\303!\202]\247\203.\304W\203\305\304Z!\202]\304W\205]\306 \210S\202\307 \203Z\212\310 b\210\3111D\312 \210\3130\202F\210\314)\203T\310 b\210\315!\202]\316!\202]\315!)\207" [argument paredit-in-comment-p error "Invalid context for slurping S-expressions." 0 paredit-backward-barf-sexp paredit-backward-slurp-sexp paredit-in-string-p paredit-enclosing-string-start (scan-error) backward-sexp nil t paredit-backward-slurp-into-list paredit-backward-slurp-into-string] 3 (#$ . 68056) "P"]) (defalias 'paredit-backward-slurp-into-list #[(&optional argument) "\303\212\304 \210\303f\305\306!\210\3072O\3101:\311 \210\n\2031\31210o?\205+\311 \210\202 0\210\2021\210\313\307\303\"0\210\202\210\314\304 \210\303f\212 c\210\305\306!\210)\202\210 c\210)\304 \210\315 \210\316 \210)?\205\232\212\317\303!\210`)\212\311 \210\320 \210`)=\205\232\212\321 \210\322u\210`)\212\317\314!\210`)=\205\232\212\317\303!\210`)\212\317\314!\210`)|)\207" [nestedp open argument nil backward-up-list delete-char 1 return (scan-error) backward-sexp (scan-error) throw t lisp-indent-line indent-sexp paredit-skip-whitespace forward-sexp up-list -1] 3]) (defalias 'paredit-backward-slurp-into-string #[(&optional argument) "\305 \306 \211b\210\212\307 \210)\310f` \311\\U\203=\212\312\310!\210`)\212\307 \210\313 \210`)=\203=\212\312\310!\210`)`T|\210\202A\314\315!\210\307 \210\f\203]\3161\\o?\205W\307 \210\202L0\210\202]\210 c\210\317\n!,\207" [end start target open argument paredit-enclosing-string-start paredit-enclosing-string-end backward-sexp nil 2 paredit-skip-whitespace forward-sexp delete-char 1 (scan-error) paredit-forward-for-quote] 3]) #@189 Remove the first S-expression in the current list from that list by moving the closing delimiter. Automatically reindent the barfed S-expression and the form from which it was barfed. (defalias 'paredit-backward-barf-sexp #[(&optional argument) "\304\305!\210\247\203\306W\203\307\306Z!\207\310 \211`\311\223\210\212\312 \210\311f\313\314!\210\3151f\316\2036\247\203:\202`\306\212\3171M\212\320 \210` X)0\202Q\210\202]\203]\320 \210 T\202=) )!0\210\202g\210\321\322!\210\311f\323=\203x\314y\210\202gm\203\200\324\325!\210\326\n!\210)\312 \210\327 \210\330 *\207" [argument end open n paredit-lose-if-not-in-sexp paredit-backward-barf-sexp 0 paredit-backward-slurp-sexp make-marker nil backward-up-list delete-char 1 (scan-error) paredit-forward-and-indent (scan-error) forward-sexp paredit-skip-whitespace t 59 error "Barfing all subexpressions with no close-paren?" insert-before-markers lisp-indent-line indent-sexp] 4 (#$ . 70183) "P"]) #@52 Split the list or string the point is on into two. (defalias 'paredit-split-sexp #[nil "\302 \203 \303c\210\212\304c)\207\305 \204\306 \203\307\310!\207\212\311 \210\312f)\212\313 \210`Sf)\314 \210c\210\212\315c\210 c\210\316u\210\317 +\207" [close open paredit-in-string-p "\"" " \"" paredit-in-comment-p paredit-in-char-p error "Invalid context for splitting S-expression." backward-up-list nil up-list delete-horizontal-space 32 -1 indent-sexp] 2 (#$ . 71160) nil]) #@131 Join the S-expressions adjacent on either side of the point. Both must be lists, strings, or atoms; error if there is a mismatch. (defalias 'paredit-join-sexps #[nil "\306 \203\f\307\310!\210\202!\311 \203\307\312!\210\202!\313 \203!\307\314!\210\315 \316 \211\206,`Sff\211z\nz W\203D\307\317!\202\253 \320=\203\202\f\321=\203\202 \322\n!=\203\202\n\322 !=\203\202\323 \"\210i\324 \212\325 \210\326 )\327\"\210+\202\253 \330=\203\226\f\330=\203\226 ST|\202\253 \331>\203\250\f\332>\203\250 |\202\253\307\333!.\207" [right-point left-point right-char left-char right-syntax left-syntax paredit-in-comment-p error "Can't join S-expressions in comment." paredit-in-string-p "Nothing to join in a string." paredit-in-char-p "Can't join characters." paredit-point-at-sexp-end paredit-point-at-sexp-start "Can't join a datum with itself." 41 40 matching-paren paredit-join-lists-internal paredit-current-indentation backward-up-list indent-sexp paredit-restore-column 34 (119 95) (119 95) "Mismatched S-expressions to join." #1=#:indentation #2=#:column value] 4 (#$ . 71644) nil]) (defalias 'paredit-join-lists-internal #[(left-point right-point) "\212b\210\302\303!\210 b\210\302\304!\210l\204\"\212\305\306\307 \"\210\310f)\311=\204: U\205<`Sfz\312=\2066\310fz\312=?\205<\312c)\207" [right-point left-point delete-char 1 -1 paredit-skip-whitespace t point-at-eol nil 59 32] 3]) #@67 Add the S-expression following point to the list preceding point. (defalias 'paredit-add-to-previous-list #[nil "\300\301!\210\212\302\303!\210\304 )\207" [paredit-lose-if-not-in-sexp paredit-add-to-previous-list down-list -1 paredit-forward-slurp-sexp] 2 (#$ . 73076) nil]) #@135 Add the S-expression preceding point to the list following point. If no S-expression precedes point, move up the tree until one does. (defalias 'paredit-add-to-next-list #[nil "\300\301!\210\212\302 \210\303 )\207" [paredit-lose-if-not-in-sexp paredit-add-to-next-list down-list paredit-backward-slurp-sexp] 2 (#$ . 73358) nil]) #@69 Join the list the point is on with the previous list in the buffer. (defalias 'paredit-join-with-previous-list #[nil "\300\301!\210\212\3021\212\303 \210)\3040\202\210\305 \210\202\204\306 )\207" [paredit-lose-if-not-in-sexp paredit-join-with-previous-list (scan-error) backward-sexp nil backward-up-list paredit-join-sexps] 2 (#$ . 73693) nil]) #@65 Join the list the point is on with the next list in the buffer. (defalias 'paredit-join-with-next-list #[nil "\300\301!\210\212\3021\212\303 \210)\3040\202\210\305 \210\202\204\306 )\207" [paredit-lose-if-not-in-sexp paredit-join-with-next-list (scan-error) forward-sexp nil up-list paredit-join-sexps] 2 (#$ . 74053) nil]) #@206 True if the point is on a character escape of a string. This is true only if the character is preceded by an odd number of backslashes. This assumes that `paredit-in-string-p' has already returned true. (defalias 'paredit-in-string-escape-p #[nil "\301\212`Sf\302=\203?\303u\210\202))\207" [oddp nil 92 -1] 2 (#$ . 74392)]) #@58 True if point is on a character escape outside a string. (defalias 'paredit-in-char-p #[(&optional position) "\212\206`b\210\301 )\207" [position paredit-in-string-escape-p] 1 (#$ . 74732)]) #@150 Skip past any whitespace, or until the point LIMIT is reached. If TRAILING-P is nil, skip leading whitespace; otherwise, skip trailing whitespace. (defalias 'paredit-skip-whitespace #[(trailing-p &optional limit) "\203\302\202 \303\304 \"\207" [trailing-p limit skip-chars-forward skip-chars-backward " \n\f"] 3 (#$ . 74933)]) (byte-code "\300\301\302 \203 \303\202\304 \203\305\202\306\307!\"\207" [defalias paredit-region-active-p paredit-xemacs-p region-active-p paredit-gnu-emacs-p #[nil "\205 \207" [mark-active transient-mark-mode] 1] error "XCOND lost."] 4) #@125 Kill the region between START and END. Do not append to any current kill, and do not let the next kill append to this one. (defalias 'paredit-hack-kill-region #[(start end) "\304\211\305\n \"*\207" [last-command this-command start end nil kill-region] 3 (#$ . 75522) "r"]) #@63 If in a list, indent all following S-expressions in the list. (defalias 'paredit-indent-sexps #[nil "`\3021\303 \210`0\202\210\304\211\205\305 \304#*\207" [start end (scan-error) up-list nil indent-region] 5 (#$ . 75804)]) #@71 Move forward by N S-expressions, indenting them with `indent-region'. (defalias 'paredit-forward-and-indent #[(&optional n) "`\302 !\210\303`\304#)\207" [start n forward-sexp indent-region nil] 4 (#$ . 76042)]) #@90 Indent the region from START to END. Don't reindent the line starting at START, however. (defalias 'paredit-indent-region #[(start end) " X\204\f\303\304 #\210\212b\210\305 \212 b\210\n\305 )=?\205r\3061N\3072J\212\310 \210\n\305 =\2048\311\307\312\"\210` W\204C\311\307\313\"\210)\310 \210\202(0\202P\210\313\205r\n\305 =\204^\303\314!\210\315 Tb\210` X\204m\303\316!\210\317` \313#*\207" [start end bol error "Incorrectly related points: %S, %S" point-at-bol (scan-error) exit forward-sexp throw t nil "Internal error -- we moved forward a line!" point-at-eol "Internal error -- we frobnitzed the garfnut!" indent-region] 4 (#$ . 76261)]) #@54 Return parse state of point from beginning of defun. (defalias 'paredit-current-parse-state #[nil "`\301 \210\302`\")\207" [point beginning-of-defun parse-partial-sexp] 3 (#$ . 76923)]) #@159 True if the parse state is within a double-quote-delimited string. If no parse state is supplied, compute one from the beginning of the defun to the point. (defalias 'paredit-in-string-p #[(&optional state) "\301\206\302 8\205\f\303\207" [state 3 paredit-current-parse-state t] 2 (#$ . 77118)]) #@306 Return a cons of the points of open and close quotes of the string. The string is determined from the parse state STATE, or the parse state from the beginning of the defun to the point. This assumes that `paredit-in-string-p' has already returned true, i.e. that the point is already within a string. (defalias 'paredit-string-start+end-points #[(&optional state) "\212\302\206\303 8\211b\210\304\305!\210 `S*B\207" [state start 8 paredit-current-parse-state forward-sexp 1] 3 (#$ . 77426)]) (defalias 'paredit-enclosing-string-start #[nil "\300 @\207" [paredit-string-start+end-points] 1]) (defalias 'paredit-enclosing-string-end #[nil "\300 AT\207" [paredit-string-start+end-points] 1]) (defalias 'paredit-enclosing-list-start #[nil "\212\300 \210`)\207" [backward-up-list] 1]) (defalias 'paredit-enclosing-list-end #[nil "\212\300 \210`)\207" [up-list] 1]) #@139 True if parse state STATE is within a comment. If no parse state is supplied, compute one from the beginning of the defun to the point. (defalias 'paredit-in-comment-p #[(&optional state) "\301\206\302 8\205\f\303\207" [state 4 paredit-current-parse-state t] 2 (#$ . 78301)]) (defalias 'paredit-prefix-numeric-value #[(argument) "\250\203\207\301=\203\302\207:\203%\303\267\202 \304 \207\305 \207\306\307\"\207\310 \203R\212\214\311 \312 }\210`eU\203=\304 \202P`dU\203H\305 \202P\306\313`\311 \312 $*\207\314\207" [argument - -1 #s(hash-table size 2 test equal rehash-size 1.5 rehash-threshold 0.8125 purecopy t data ((4) 26 (16) 29)) paredit-count-sexps-forward paredit-count-sexps-backward error "Invalid prefix argument: %S" paredit-region-active-p region-beginning region-end "Point %S is not start or end of region: %S..%S" 1] 5]) (defalias 'paredit-count-sexps-forward #[nil "\212\302\303\3041 \305`\306\"\211\205b\210 T\202 0\210\202!\210 +\207" [p n 0 nil (scan-error) scan-sexps 1] 3]) (defalias 'paredit-count-sexps-backward #[nil "\212\302\303\3041 \305`\306\"\211\205b\210 T\202 0\210\202!\210 +\207" [p n 0 nil (scan-error) scan-sexps -1] 3]) (defalias 'paredit-point-at-sexp-boundary #[(n) "\301W\203 \302 \207\301U\203`\207\301V\205\303 \207" [n 0 paredit-point-at-sexp-start paredit-point-at-sexp-end] 2]) (defalias 'paredit-point-at-sexp-start #[nil "\212\300 \210\301 \210`)\207" [forward-sexp backward-sexp] 1]) (defalias 'paredit-point-at-sexp-end #[nil "\212\300 \210\301 \210`)\207" [backward-sexp forward-sexp] 1]) (defalias 'paredit-lose-if-not-in-sexp #[(command) "\301 \204\302 \204\303 \205\304\305\"\207" [command paredit-in-string-p paredit-in-comment-p paredit-in-char-p error "Invalid context for command `%s'."] 3]) #@66 Signal an error if text between `start' and `end' is unbalanced. (defalias 'paredit-check-region #[(start end) "\302 \"?\205\214 }\210\303 )\207" [start end paredit-region-ok-p check-parens] 3 (#$ . 80113)]) #@158 Return true iff the region between `start' and `end' is balanced. This is independent of context -- it doesn't check what state the text at `start' is in. (defalias 'paredit-region-ok-p #[(start end) "\212\3021\214 }\210\303ed\"\210)\3040\202\210\305)\207" [start end (scan-error) scan-sexps t nil] 3 (#$ . 80332)]) (defalias 'paredit-current-indentation #[nil "\212\300 \210i)\207" [back-to-indentation] 1]) (defalias 'paredit-restore-column #[(column indentation) "\303 \304 \nW\204 \nZ\\\202 X\203\202 \\b)\207" [indentation* column indentation paredit-current-indentation point-at-bol] 4]) (byte-code "\300 \210\301 \210\302 \210\303\304!\207" [paredit-define-keys paredit-annotate-mode-with-examples paredit-annotate-functions-with-examples provide paredit] 2)
" "
" "" "
" paredit-html-quote "
" "