/demos/paredit20-paredit22.html
HTML | 4349 lines | 4174 code | 175 blank | 0 comment | 0 complexity | d6a9659e22027ebee2791801859a1238 MD5 | raw file
Possible License(s): GPL-3.0
Large files files are truncated, but you can click here to view the full file
- <html>
- <head>
- <META http-equiv="Content-Type" content="text/html; charset=utf-8">
- <LINK href="diff-s.css" rel="stylesheet" type="text/css">
- <script type="text/javascript" src="nav-div.js"></script>
- </head>
- <body>
- <div id="left" class="src">
- <pre>
- <a id='leftstart' tid='rightstart'></a>
- <span class='d'>;;; -*- Mode: Emacs-Lisp; outline-regexp: "\n;;;;+" -*-
- </span>
- <span class='d'>;;;;;; Paredit: Parenthesis-Editing Minor Mode
- </span><span class='d'>;;;;;; Version 20
- </span>
- <span class='d'>;;; This code is written by Taylor R. Campbell (except where explicitly
- </span><span class='d'>;;; noted) and placed in the Public Domain. All warranties are
- </span><span class='d'>;;; disclaimed.
- </span>
- <span class='d'>;;; Add this to your .emacs after adding paredit.el to /path/to/elisp/:
- </span><span class='d'>;;;
- </span><span class='d'>;;; (add-to-list 'load-path "/path/to/elisp/")
- </span><span class='d'>;;; (autoload 'paredit-mode "paredit"
- </span><span class='d'>;;; "Minor mode for pseudo-structurally editing Lisp code."
- </span><span class='d'>;;; t)
- </span><span class='d'>;;; (add-hook '...-mode-hook (lambda () (paredit-mode +1)))
- </span><span class='d'>;;;
- </span><span class='d'>;;; Usually the ... will be lisp or scheme or both. Alternatively, you
- </span><span class='d'>;;; can manually toggle this mode with M-x paredit-mode. Customization
- </span><span class='d'>;;; of paredit can be accomplished with `eval-after-load':
- </span><span class='d'>;;;
- </span><span class='d'>;;; (eval-after-load 'paredit
- </span><span class='d'>;;; '(progn ...redefine keys, &c....))
- </span><a id='4627' tid='4628' class='u'>;;;
- </a><span class='d'>;;; This should run in GNU Emacs 21 or later and XEmacs 21.5 or later.
- </span><span class='d'>;;; It is highly unlikely to work in earlier versions of GNU Emacs, and
- </span><span class='d'>;;; it may have obscure problems in earlier versions of XEmacs due to
- </span><span class='d'>;;; the way its syntax parser reports conditions, as a result of which
- </span><span class='d'>;;; the code that uses the syntax parser must mask *all* error
- </span><span class='d'>;;; conditions, not just those generated by the syntax parser.
- </span>
- <span class='d'>;;; This mode changes the keybindings for a number of simple keys,
- </span><span class='d'>;;; notably (, ), ", \, and ;. The bracket keys (round or square) are
- </span><span class='d'>;;; defined to insert parenthesis pairs and move past the close,
- </span><span class='d'>;;; respectively; the double-quote key is multiplexed to do both, and
- </span><span class='d'>;;; also insert an escape if within a string; backslashes prompt the
- </span><span class='d'>;;; user for the next character to input, because a lone backslash can
- </span><span class='d'>;;; break structure inadvertently; and semicolons ensure that they do
- </span><span class='d'>;;; not accidentally comment valid structure. (Use M-; to comment an
- </span><span class='d'>;;; expression.) These all have their ordinary behaviour when inside
- </span><span class='d'>;;; comments, and, outside comments, if truly necessary, you can insert
- </span><span class='d'>;;; them literally with C-q.
- </span><span class='d'>;;;
- </span><span class='d'>;;; These keybindings are set up for my preference. One particular
- </span><span class='d'>;;; preference which I've seen vary greatly from person to person is
- </span><span class='d'>;;; whether the command to move past a closing delimiter ought to
- </span><span class='d'>;;; insert a newline. Since I find this behaviour to be more common
- </span><span class='d'>;;; than that which inserts no newline, I have ) bound to it, and the
- </span><span class='d'>;;; more involved M-) to perform the less common action. This bothers
- </span><span class='d'>;;; some users, though, and they prefer the other way around. This
- </span><span class='d'>;;; code, which you can use `eval-after-load' to put in your .emacs,
- </span><span class='d'>;;; will exchange the bindings:
- </span><span class='d'>;;;
- </span><span class='d'>;;; (define-key paredit-mode-map (kbd ")")
- </span><span class='d'>;;; 'paredit-close-parenthesis)
- </span><span class='d'>;;; (define-key paredit-mode-map (kbd "M-)")
- </span><span class='d'>;;; 'paredit-close-parenthesis-and-newline)
- </span><a id='4629' tid='4630' class='u'>;;;
- </a><span class='d'>;;; Paredit also changes the bindings of keys for deleting and killing,
- </span><span class='d'>;;; so that they will not destroy any S-expression structure by killing
- </span><span class='d'>;;; or deleting only one side of a bracket or quote pair. If the point
- </span><span class='d'>;;; is on a closing bracket, DEL will move left over it; if it is on an
- </span><span class='d'>;;; opening bracket, C-d will move right over it. Only if the point is
- </span><span class='d'>;;; between a pair of brackets will C-d or DEL delete them, and in that
- </span><span class='d'>;;; case it will delete both simultaneously. M-d and M-DEL kill words,
- </span><span class='d'>;;; but skip over any S-expression structure. C-k kills from the start
- </span><span class='d'>;;; of the line, either to the line's end, if it contains only balanced
- </span><span class='d'>;;; expressions; to the first closing bracket, if the point is within a
- </span><span class='d'>;;; form that ends on the line; or up to the end of the last expression
- </span><span class='d'>;;; that starts on the line after the point.
- </span><a id='4631' tid='4632' class='u'>;;;
- </a><span class='d'>;;; Automatic reindentation is performed as locally as possible, to
- </span><span class='d'>;;; ensure that Emacs does not interfere with custom indentation used
- </span><span class='d'>;;; elsewhere in some S-expression. It is performed only by the
- </span><span class='d'>;;; advanced S-expression frobnication commands, and only on the forms
- </span><span class='d'>;;; that were immediately operated upon (& their subforms).
- </span><a id='4633' tid='4634' class='u'>;;;
- </a><span class='d'>;;; This code is written for clarity, not efficiency. S-expressions
- </span><span class='d'>;;; are frequently walked over redundantly. If you have problems with
- </span><span class='d'>;;; some of the commands taking too long to execute, tell me, but first
- </span><span class='d'>;;; make sure that what you're doing is reasonable: it is stylistically
- </span><span class='d'>;;; bad to have huge, long, hideously nested code anyway.
- </span><span class='d'>;;;
- </span><span class='d'>;;; Questions, bug reports, comments, feature suggestions, &c., can be
- </span><span class='d'>;;; addressed to the author via mail on the host mumble.net to campbell
- </span><span class='d'>;;; or via IRC on irc.freenode.net in the #paredit channel under the
- </span><span class='d'>;;; nickname Riastradh.
- </span>
- <span class='d'>;;; This assumes Unix-style LF line endings.
- </span>
- <span class='d'>(defconst paredit-version 20)</span>
- (<a id='667' tid='668' class='m'>eval-and-compile</a>
- (<a id='653' tid='654' class='m'>defun</a> <a id='655' tid='656' class='m'>paredit-xemacs-p</a> ()
- <span class='d'>;; No idea I got this definition from. Edward O'Connor (hober on
- </span> <span class='d'>;; IRC) suggested the current definition.
- </span> <a id='657' tid='658' class='m'>;; (and (boundp 'running-xemacs)
- </a> <a id='659' tid='660' class='m'>;; running-xemacs)
- </a> (<a id='661' tid='662' class='m'>featurep</a> <a id='663' tid='664' class='m'>'</a><a id='665' tid='666' class='m'>xemacs</a>))
- (<a id='613' tid='614' class='m'>defun</a> <a id='615' tid='616' class='m'>paredit-gnu-emacs-p</a> ()
- (<a id='617' tid='618' class='m'>not</a> (<a id='619' tid='620' class='m'>paredit-xemacs-p</a>)))
- (<a id='669' tid='670' class='m'>defmacro</a> <a id='671' tid='672' class='m'>xcond</a> (<a id='673' tid='674' class='m'>&rest</a> <a id='675' tid='676' class='m'>clauses</a>)
- <a id='677' tid='678' class='m'>"Exhaustive COND.
- Signal an error if no clause matches."</a>
- <a id='679' tid='680' class='m'>`</a>(<a id='681' tid='682' class='m'>cond</a> <a id='683' tid='684' class='m'>,</a><a id='685' tid='686' class='m'>@clauses</a>
- (<a id='687' tid='688' class='m'>t</a> (<a id='689' tid='690' class='m'>error</a> <a id='691' tid='692' class='m'>"XCOND lost."</a>))))
- (<a id='693' tid='694' class='m'>defalias</a> <a id='695' tid='696' class='m'>'</a><a id='697' tid='698' class='m'>paredit-warn</a> (<a id='699' tid='700' class='m'>if</a> (<a id='701' tid='702' class='m'>fboundp</a> <a id='703' tid='704' class='m'>'</a><a id='705' tid='706' class='m'>warn</a>) <a id='707' tid='708' class='m'>'</a><a id='709' tid='710' class='m'>warn</a> <a id='711' tid='712' class='m'>'</a><a id='713' tid='714' class='m'>message</a>))
- (<a id='621' tid='622' class='m'>defvar</a> <a id='623' tid='624' class='m'>paredit-sexp-error-type</a>
- (<a id='625' tid='626' class='m'>with-temp-buffer</a>
- (<a id='627' tid='628' class='m'>insert</a> <a id='629' tid='630' class='m'>"("</a>)
- (<a id='631' tid='632' class='m'>condition-case</a> <a id='633' tid='634' class='m'>condition</a>
- (<a id='635' tid='636' class='m'>backward-sexp</a>)
- (<a id='637' tid='638' class='m'>error</a> (<span class='d'>if</span> (<a id='639' tid='640' class='m'>eq</a> (<a id='641' tid='642' class='m'>car</a> <a id='643' tid='644' class='m'>condition</a>) <a id='645' tid='646' class='m'>'</a><a id='647' tid='648' class='m'>error</a>)
- <span class='d'>(paredit-warn "%s%s%s%s"
- "Paredit is unable to discriminate"
- " S-expression parse errors from"
- " other errors. "
- " This may cause obscure problems. "
- " Please upgrade Emacs.")</span>)
- (<a id='649' tid='650' class='m'>car</a> <a id='651' tid='652' class='m'>condition</a>)))))
- (<a id='715' tid='716' class='m'>defmacro</a> <a id='717' tid='718' class='m'>paredit-handle-sexp-errors</a> (<a id='719' tid='720' class='m'>body</a> <a id='721' tid='722' class='m'>&rest</a> <a id='723' tid='724' class='m'>handler</a>)
- <a id='725' tid='726' class='m'>`</a>(<a id='727' tid='728' class='m'>condition-case</a> ()
- <a id='729' tid='730' class='m'>,</a><a id='731' tid='732' class='m'>body</a>
- (<a id='733' tid='734' class='m'>,</a><a id='735' tid='736' class='m'>paredit-sexp-error-type</a> <a id='737' tid='738' class='m'>,</a><a id='739' tid='740' class='m'>@handler</a>)))
- (<a id='741' tid='742' class='m'>put</a> <a id='743' tid='744' class='m'>'</a><a id='745' tid='746' class='m'>paredit-handle-sexp-errors</a> <a id='747' tid='748' class='m'>'</a><a id='749' tid='750' class='m'>lisp-indent-function</a> <a id='751' tid='752' class='m'>1</a>)
- (<a id='753' tid='754' class='m'>defmacro</a> <a id='755' tid='756' class='m'>paredit-ignore-sexp-errors</a> (<a id='757' tid='758' class='m'>&rest</a> <a id='759' tid='760' class='m'>body</a>)
- <a id='761' tid='762' class='m'>`</a>(<a id='763' tid='764' class='m'>paredit-handle-sexp-errors</a> (<a id='765' tid='766' class='m'>progn</a> <a id='767' tid='768' class='m'>,</a><a id='769' tid='770' class='m'>@body</a>)
- <a id='771' tid='772' class='m'>nil</a>))
- (<a id='773' tid='774' class='m'>put</a> <a id='775' tid='776' class='m'>'</a><a id='777' tid='778' class='m'>paredit-ignore-sexp-errors</a> <a id='779' tid='780' class='m'>'</a><a id='781' tid='782' class='m'>lisp-indent-function</a> <a id='783' tid='784' class='m'>0</a>)
- <a id='785' tid='786' class='m'>nil</a>)
- <span class='d'>;;;; Minor Mode Definition
- </span>
- (<a id='4189' tid='4190' class='u'>defvar</a> <a id='4191' tid='4192' class='u'>paredit-mode-map</a> (<a id='4193' tid='4194' class='u'>make-sparse-keymap</a>)
- <a id='4195' tid='4196' class='u'>"Keymap for the paredit minor mode."</a>)
- (<a id='4119' tid='4120' class='u'>define-minor-mode</a> <a id='4121' tid='4122' class='u'>paredit-mode</a>
- <span class='d'>"Minor mode for pseudo-structurally editing Lisp code.
- \\<paredit-mode-map>"</span>
- <a id='4123' tid='4124' class='u'>:lighter</a> <a id='4125' tid='4126' class='u'>" Paredit"</a>
- <a id='4127' tid='4128' class='u'>;; If we're enabling paredit-mode, the prefix to this code that
- </a> <a id='4129' tid='4130' class='u'>;; DEFINE-MINOR-MODE inserts will have already set PAREDIT-MODE to
- </a> <a id='4131' tid='4132' class='u'>;; true. If this is the case, then first check the parentheses, and
- </a> <a id='4133' tid='4134' class='u'>;; if there are any imbalanced ones we must inhibit the activation of
- </a> <a id='4135' tid='4136' class='u'>;; paredit mode. We skip the check, though, if the user supplied a
- </a> <a id='4137' tid='4138' class='u'>;; prefix argument interactively.
- </a> (<a id='4139' tid='4140' class='u'>if</a> (<a id='4141' tid='4142' class='u'>and</a> <a id='4143' tid='4144' class='u'>paredit-mode</a>
- (<a id='4145' tid='4146' class='u'>not</a> <a id='4147' tid='4148' class='u'>current-prefix-arg</a>))
- (<a id='4149' tid='4150' class='u'>if</a> (<a id='4151' tid='4152' class='u'>not</a> (<a id='4153' tid='4154' class='u'>fboundp</a> <a id='4155' tid='4156' class='u'>'</a><a id='4157' tid='4158' class='u'>check-parens</a>))
- (<a id='4159' tid='4160' class='u'>paredit-warn</a> <a id='4161' tid='4162' class='u'>"`check-parens' is not defined; %s"</a>
- <a id='4163' tid='4164' class='u'>"be careful of malformed S-expressions."</a>)
- (<a id='4165' tid='4166' class='u'>condition-case</a> <a id='4167' tid='4168' class='u'>condition</a>
- (<a id='4169' tid='4170' class='u'>check-parens</a>)
- (<a id='4171' tid='4172' class='u'>error</a> (<a id='4173' tid='4174' class='u'>setq</a> <a id='4175' tid='4176' class='u'>paredit-mode</a> <a id='4177' tid='4178' class='u'>nil</a>)
- (<a id='4179' tid='4180' class='u'>signal</a> (<a id='4181' tid='4182' class='u'>car</a> <a id='4183' tid='4184' class='u'>condition</a>) (<a id='4185' tid='4186' class='u'>cdr</a> <a id='4187' tid='4188' class='u'>condition</a>)))))))
- <span class='d'>;;; Old functions from when there was a different mode for emacs -nw.
- </span>
- (<a id='1527' tid='1528' class='u'>defun</a> <a id='1529' tid='1530' class='u'>enable-paredit-mode</a> ()
- <span class='d'>"Turn on pseudo-structural editing of Lisp code.
- Deprecated: use `paredit-mode' instead."</span>
- (<a id='1531' tid='1532' class='u'>interactive</a>)
- (<a id='1533' tid='1534' class='u'>paredit-mode</a> <a id='1535' tid='1536' class='u'>+1</a>))
- (<a id='1517' tid='1518' class='u'>defun</a> <a id='1519' tid='1520' class='u'>disable-paredit-mode</a> ()
- <span class='d'>"Turn off pseudo-structural editing of Lisp code.
- Deprecated: use `paredit-mode' instead."</span>
- (<a id='1521' tid='1522' class='u'>interactive</a>)
- (<a id='1523' tid='1524' class='u'>paredit-mode</a> <a id='1525' tid='1526' class='u'>-1</a>))
- (<a id='1957' tid='1958' class='u'>defvar</a> <a id='1959' tid='1960' class='u'>paredit-backward-delete-key</a>
- (<a id='1961' tid='1962' class='u'>xcond</a> ((<a id='1963' tid='1964' class='u'>paredit-xemacs-p</a>) <a id='1965' tid='1966' class='u'>"BS"</a>)
- ((<a id='1967' tid='1968' class='u'>paredit-gnu-emacs-p</a>) <a id='1969' tid='1970' class='u'>"DEL"</a>)))
- (<a id='2595' tid='2596' class='u'>defvar</a> <a id='2597' tid='2598' class='u'>paredit-forward-delete-keys</a>
- (<a id='2599' tid='2600' class='u'>xcond</a> ((<a id='2601' tid='2602' class='u'>paredit-xemacs-p</a>) <a id='2603' tid='2604' class='u'>'</a>(<a id='2605' tid='2606' class='u'>"DEL"</a>))
- ((<a id='2607' tid='2608' class='u'>paredit-gnu-emacs-p</a>) <a id='2609' tid='2610' class='u'>'</a>(<a id='2611' tid='2612' class='u'>"<delete>"</a> <a id='2613' tid='2614' class='u'>"<deletechar>"</a>))))
- <span class='d'>;;;; Paredit Keys
- </span>
- <span class='d'>;;; Separating the definition and initialization of this variable
- </span><span class='d'>;;; simplifies the development of paredit, since re-evaluating DEFVAR
- </span><span class='d'>;;; forms doesn't actually do anything.
- </span>
- (<a id='2199' tid='2200' class='u'>defvar</a> <a id='2201' tid='2202' class='u'>paredit-commands</a> <a id='2203' tid='2204' class='u'>nil</a>
- <a id='2205' tid='2206' class='u'>"List of paredit commands with their keys and examples."</a>)
- <span class='d'>;;; Each specifier is of the form:
- </span><span class='d'>;;; (key[s] function (example-input example-output) ...)
- </span><span class='d'>;;; where key[s] is either a single string suitable for passing to KBD
- </span><span class='d'>;;; or a list of such strings. Entries in this list may also just be
- </span><span class='d'>;;; strings, in which case they are headings for the next entries.
- </span>
- (<a id='787' tid='788' class='m'>progn</a> (<a id='789' tid='790' class='m'>setq</a> <a id='791' tid='792' class='m'>paredit-commands</a>
- <a id='793' tid='794' class='m'>`</a>(
- <span class='d'>"Basic Insertion Commands"</span>
- <span class='d'>("(" paredit-open-parenthesis
- ("(a b |c d)"
- "(a b (|) c d)")
- ("(foo \"bar |baz\" quux)"
- "(foo \"bar (|baz\" quux)"))</span>
- <span class='d'>(")" paredit-close-parenthesis-and-newline
- ("(defun f (x| ))"
- "(defun f (x)\n |)")
- ("; (Foo.|"
- "; (Foo.)|"))</span>
- <span class='d'>("M-)" paredit-close-parenthesis
- ("(a b |c )" "(a b c)|")
- ("; Hello,| world!"
- "; Hello,)| world!"))</span>
- <span class='d'>("[" paredit-open-bracket
- ("(a b |c d)"
- "(a b [|] c d)")
- ("(foo \"bar |baz\" quux)"
- "(foo \"bar [baz\" quux)"))</span>
- <span class='d'>("]" paredit-close-bracket
- ("(define-key keymap [frob| ] 'frobnicate)"
- "(define-key keymap [frob]| 'frobnicate)")
- ("; [Bar.|"
- "; [Bar.]|"))</span>
- (<a id='795' tid='796' class='m'>"\""</a> <a id='797' tid='798' class='m'>paredit-doublequote</a>
- (<a id='799' tid='800' class='m'>"(frob grovel |full lexical)"</a>
- <a id='801' tid='802' class='m'>"(frob grovel \"|\" full lexical)"</a>)
- (<a id='803' tid='804' class='m'>"(foo \"bar |baz\" quux)"</a>
- <a id='805' tid='806' class='m'>"(foo \"bar \\\"|baz\" quux)"</a>))
- (<a id='495' tid='496' class='m'>"M-\""</a> <a id='497' tid='498' class='m'>paredit-meta-doublequote</a>
- (<a id='499' tid='500' class='m'>"(foo \"bar |baz\" quux)"</a>
- <a id='501' tid='502' class='m'>"(foo \"bar baz\"\n |quux)"</a>)
- (<a id='503' tid='504' class='m'>"(foo |(bar #\\x \"baz \\\\ quux\") zot)"</a>
- <a id='505' tid='506' class='m'>,</a>(<a id='507' tid='508' class='m'>concat</a> <a id='509' tid='510' class='m'>"(foo \"|(bar #\\\\x \\\"baz \\\\"</a>
- <a id='511' tid='512' class='m'>"\\\\ quux\\\")\" zot)"</a>)))
- (<a id='393' tid='394' class='m'>"\\"</a> <a id='395' tid='396' class='m'>paredit-backslash</a>
- (<a id='397' tid='398' class='m'>"(string #|)\n ; Escaping character... (x)"</a>
- <a id='399' tid='400' class='m'>"(string #\\x|)"</a>)
- (<a id='401' tid='402' class='m'>"\"foo|bar\"\n ; Escaping character... (\")"</a>
- <a id='403' tid='404' class='m'>"\"foo\\\"|bar\""</a>))
- <span class='d'>(";" paredit-semicolon
- ("|(frob grovel)"
- ";|\n(frob grovel)")
- ("(frob grovel) |"
- "(frob grovel) ;|"))</span>
- (<a id='305' tid='306' class='m'>"M-;"</a> <a id='307' tid='308' class='m'>paredit-comment-dwim</a>
- (<a id='309' tid='310' class='m'>"(foo |bar) ; baz"</a>
- <a id='311' tid='312' class='m'>"(foo bar) ; |baz"</a>)
- (<a id='313' tid='314' class='m'>"(frob grovel)|"</a>
- <a id='315' tid='316' class='m'>"(frob grovel) ;|"</a>)
- (<a id='317' tid='318' class='m'>" (foo bar)\n|\n (baz quux)"</a>
- <a id='319' tid='320' class='m'>" (foo bar)\n ;; |\n (baz quux)"</a>)
- (<a id='321' tid='322' class='m'>" (foo bar) |(baz quux)"</a>
- <a id='323' tid='324' class='m'>" (foo bar)\n ;; |\n (baz quux)"</a>)
- (<a id='325' tid='326' class='m'>"|(defun hello-world ...)"</a>
- <a id='327' tid='328' class='m'>";;; |\n(defun hello-world ...)"</a>))
- (<a id='261' tid='262' class='m'>"C-j"</a> <a id='263' tid='264' class='m'>paredit-newline</a>
- (<a id='265' tid='266' class='m'>"(let ((n (frobbotz))) |(display (+ n 1)\nport))"</a>
- <a id='267' tid='268' class='m'>,</a>(<a id='269' tid='270' class='m'>concat</a> <a id='271' tid='272' class='m'>"(let ((n (frobbotz)))"</a>
- <a id='273' tid='274' class='m'>"\n |(display (+ n 1)"</a>
- <a id='275' tid='276' class='m'>"\n port))"</a>)))
- <span class='d'>"Deleting & Killing"</span>
- ((<a id='217' tid='218' class='m'>"C-d"</a> <a id='219' tid='220' class='m'>,</a><a id='221' tid='222' class='m'>@paredit-forward-delete-keys</a>)
- <a id='223' tid='224' class='m'>paredit-forward-delete</a>
- (<a id='225' tid='226' class='m'>"(quu|x \"zot\")"</a> <a id='227' tid='228' class='m'>"(quu| \"zot\")"</a>)
- (<a id='229' tid='230' class='m'>"(quux |\"zot\")"</a>
- <a id='231' tid='232' class='m'>"(quux \"|zot\")"</a>
- <a id='233' tid='234' class='m'>"(quux \"|ot\")"</a>)
- (<a id='235' tid='236' class='m'>"(foo (|) bar)"</a> <a id='237' tid='238' class='m'>"(foo | bar)"</a>)
- (<a id='239' tid='240' class='m'>"|(foo bar)"</a> <a id='241' tid='242' class='m'>"(|foo bar)"</a>))
- (<a id='193' tid='194' class='m'>,</a><a id='195' tid='196' class='m'>paredit-backward-delete-key</a>
- <a id='197' tid='198' class='m'>paredit-backward-delete</a>
- (<a id='199' tid='200' class='m'>"(\"zot\" q|uux)"</a> <a id='201' tid='202' class='m'>"(\"zot\" |uux)"</a>)
- (<a id='203' tid='204' class='m'>"(\"zot\"| quux)"</a>
- <a id='205' tid='206' class='m'>"(\"zot|\" quux)"</a>
- <a id='207' tid='208' class='m'>"(\"zo|\" quux)"</a>)
- (<a id='209' tid='210' class='m'>"(foo (|) bar)"</a> <a id='211' tid='212' class='m'>"(foo | bar)"</a>)
- (<a id='213' tid='214' class='m'>"(foo bar)|"</a> <a id='215' tid='216' class='m'>"(foo bar|)"</a>))
- (<a id='173' tid='174' class='m'>"C-k"</a> <a id='175' tid='176' class='m'>paredit-kill</a>
- (<a id='177' tid='178' class='m'>"(foo bar)| ; Useless comment!"</a>
- <a id='179' tid='180' class='m'>"(foo bar)|"</a>)
- (<a id='181' tid='182' class='m'>"(|foo bar) ; Useful comment!"</a>
- <a id='183' tid='184' class='m'>"(|) ; Useful comment!"</a>)
- (<a id='185' tid='186' class='m'>"|(foo bar) ; Useless line!"</a>
- <a id='187' tid='188' class='m'>"|"</a>)
- (<a id='189' tid='190' class='m'>"(foo \"|bar baz\"\n quux)"</a>
- <a id='191' tid='192' class='m'>"(foo \"|\"\n quux)"</a>))
- (<a id='155' tid='156' class='m'>"M-d"</a> <a id='157' tid='158' class='m'>paredit-forward-kill-word</a>
- (<a id='159' tid='160' class='m'>"|(foo bar) ; baz"</a>
- <a id='161' tid='162' class='m'>"(| bar) ; baz"</a>
- <a id='163' tid='164' class='m'>"(|) ; baz"</a>
- <a id='165' tid='166' class='m'>"() ;|"</a>)
- (<a id='167' tid='168' class='m'>";;;| Frobnicate\n(defun frobnicate ...)"</a>
- <a id='169' tid='170' class='m'>";;;|\n(defun frobnicate ...)"</a>
- <a id='171' tid='172' class='m'>";;;\n(| frobnicate ...)"</a>))
- (<a id='135' tid='136' class='m'>,</a>(<a id='137' tid='138' class='m'>concat</a> <a id='139' tid='140' class='m'>"M-"</a> <a id='141' tid='142' class='m'>paredit-backward-delete-key</a>)
- <a id='143' tid='144' class='m'>paredit-backward-kill-word</a>
- (<a id='145' tid='146' class='m'>"(foo bar) ; baz\n(quux)|"</a>
- <a id='147' tid='148' class='m'>"(foo bar) ; baz\n(|)"</a>
- <a id='149' tid='150' class='m'>"(foo bar) ; |\n()"</a>
- <a id='151' tid='152' class='m'>"(foo |) ; \n()"</a>
- <a id='153' tid='154' class='m'>"(|) ; \n()"</a>))
- <span class='d'>"Movement & Navigation"</span>
- (<a id='123' tid='124' class='m'>"C-M-f"</a> <a id='125' tid='126' class='m'>paredit-forward</a>
- (<a id='127' tid='128' class='m'>"(foo |(bar baz) quux)"</a>
- <a id='129' tid='130' class='m'>"(foo (bar baz)| quux)"</a>)
- (<a id='131' tid='132' class='m'>"(foo (bar)|)"</a>
- <a id='133' tid='134' class='m'>"(foo (bar))|"</a>))
- (<a id='111' tid='112' class='m'>"C-M-b"</a> <a id='113' tid='114' class='m'>paredit-backward</a>
- (<a id='115' tid='116' class='m'>"(foo (bar baz)| quux)"</a>
- <a id='117' tid='118' class='m'>"(foo |(bar baz) quux)"</a>)
- (<a id='119' tid='120' class='m'>"(|(foo) bar)"</a>
- <a id='121' tid='122' class='m'>"|((foo) bar)"</a>))
- <span class='d'>;;;("C-M-u" backward-up-list) ; These two are built-in.
- </span><span class='d'>;;;("C-M-d" down-list)
- </span> <span class='d'>("C-M-p" backward-down-list)</span> <span class='d'>; Built-in, these are FORWARD-
- </span> <span class='d'>("C-M-n" up-list)</span> <span class='d'>; & BACKWARD-LIST, which have
- </span> <span class='d'>; no need given C-M-f & C-M-b.
- </span>
- <span class='d'>"Depth-Changing Commands"</span>
- <span class='d'>("M-(" paredit-wrap-sexp
- ("(foo |bar baz)"
- "(foo (|bar) baz)"))</span>
- <span class='d'>("M-s" paredit-splice-sexp
- ("(foo (bar| baz) quux)"
- "(foo bar| baz quux)"))</span>
- ((<a id='101' tid='102' class='m'>"M-<up>"</a> <a id='103' tid='104' class='m'>"ESC <up>"</a>)
- <a id='105' tid='106' class='m'>paredit-splice-sexp-killing-backward</a>
- (<a id='107' tid='108' class='m'>"(foo (let ((x 5)) |(sqrt n)) bar)"</a>
- <a id='109' tid='110' class='m'>"(foo (sqrt n) bar)"</a>))
- ((<a id='91' tid='92' class='m'>"M-<down>"</a> <a id='93' tid='94' class='m'>"ESC <down>"</a>)
- <a id='95' tid='96' class='m'>paredit-splice-sexp-killing-forward</a>
- (<a id='97' tid='98' class='m'>"(a (b c| d e) f)"</a>
- <a id='99' tid='100' class='m'>"(a b c f)"</a>))
- (<a id='81' tid='82' class='m'>"M-r"</a> <a id='83' tid='84' class='m'>paredit-raise-sexp</a>
- (<a id='85' tid='86' class='m'>"(dynamic-wind in (lambda () |body) out)"</a>
- <a id='87' tid='88' class='m'>"(dynamic-wind in |body out)"</a>
- <a id='89' tid='90' class='m'>"|body"</a>))
- <span class='d'>"Barfage & Slurpage"</span>
- ((<a id='67' tid='68' class='m'>"C-)"</a> <a id='69' tid='70' class='m'>"C-<right>"</a>)
- <a id='71' tid='72' class='m'>paredit-forward-slurp-sexp</a>
- (<a id='73' tid='74' class='m'>"(foo (bar |baz) quux zot)"</a>
- <a id='75' tid='76' class='m'>"(foo (bar |baz quux) zot)"</a>)
- (<a id='77' tid='78' class='m'>"(a b ((c| d)) e f)"</a>
- <a id='79' tid='80' class='m'>"(a b ((c| d) e) f)"</a>))
- ((<a id='57' tid='58' class='m'>"C-}"</a> <a id='59' tid='60' class='m'>"C-<left>"</a>)
- <a id='61' tid='62' class='m'>paredit-forward-barf-sexp</a>
- (<a id='63' tid='64' class='m'>"(foo (bar |baz quux) zot)"</a>
- <a id='65' tid='66' class='m'>"(foo (bar |baz) quux zot)"</a>))
- ((<a id='41' tid='42' class='m'>"C-("</a> <a id='43' tid='44' class='m'>"C-M-<left>"</a> <a id='45' tid='46' class='m'>"ESC C-<left>"</a>)
- <a id='47' tid='48' class='m'>paredit-backward-slurp-sexp</a>
- (<a id='49' tid='50' class='m'>"(foo bar (baz| quux) zot)"</a>
- <a id='51' tid='52' class='m'>"(foo (bar baz| quux) zot)"</a>)
- (<a id='53' tid='54' class='m'>"(a b ((c| d)) e f)"</a>
- <a id='55' tid='56' class='m'>"(a (b (c| d)) e f)"</a>))
- ((<a id='29' tid='30' class='m'>"C-{"</a> <a id='31' tid='32' class='m'>"C-M-<right>"</a> <a id='33' tid='34' class='m'>"ESC C-<right>"</a>)
- <a id='35' tid='36' class='m'>paredit-backward-barf-sexp</a>
- (<a id='37' tid='38' class='m'>"(foo (bar baz |quux) zot)"</a>
- <a id='39' tid='40' class='m'>"(foo bar (baz |quux) zot)"</a>))
- <span class='d'>"Miscellaneous Commands"</span>
- (<a id='17' tid='18' class='m'>"M-S"</a> <a id='19' tid='20' class='m'>paredit-split-sexp</a>
- (<a id='21' tid='22' class='m'>"(hello| world)"</a>
- <a id='23' tid='24' class='m'>"(hello)| (world)"</a>)
- (<a id='25' tid='26' class='m'>"\"Hello, |world!\""</a>
- <a id='27' tid='28' class='m'>"\"Hello, \"| \"world!\""</a>))
- (<a id='1' tid='2' class='m'>"M-J"</a> <a id='3' tid='4' class='m'>paredit-join-sexps</a>
- (<a id='5' tid='6' class='m'>"(hello)| (world)"</a>
- <a id='7' tid='8' class='m'>"(hello| world)"</a>)
- (<a id='9' tid='10' class='m'>"\"Hello, \"| \"world!\""</a>
- <a id='11' tid='12' class='m'>"\"Hello, |world!\""</a>)
- (<a id='13' tid='14' class='m'>"hello-\n| world"</a>
- <a id='15' tid='16' class='m'>"hello-|world"</a>))
- <span class='d'>("C-c C-M-l" paredit-recentre-on-sexp)</span>
- ))
- <a id='807' tid='808' class='m'>nil</a>) <span class='d'>; end of PROGN
- </span>
- <span class='d'>;;;;; Command Examples
- </span>
- (<a id='4635' tid='4636' class='u'>eval-and-compile</a>
- (<a id='4637' tid='4638' class='u'>defmacro</a> <a id='4639' tid='4640' class='u'>paredit-do-commands</a> (<a id='4641' tid='4642' class='u'>vars</a> <a id='4643' tid='4644' class='u'>string-case</a> <a id='4645' tid='4646' class='u'>&rest</a> <a id='4647' tid='4648' class='u'>body</a>)
- (<a id='4649' tid='4650' class='u'>let</a> ((<a id='4651' tid='4652' class='u'>spec</a> (<a id='4653' tid='4654' class='u'>nth</a> <a id='4655' tid='4656' class='u'>0</a> <a id='4657' tid='4658' class='u'>vars</a>))
- (<a id='4659' tid='4660' class='u'>keys</a> (<a id='4661' tid='4662' class='u'>nth</a> <a id='4663' tid='4664' class='u'>1</a> <a id='4665' tid='4666' class='u'>vars</a>))
- (<a id='4667' tid='4668' class='u'>fn</a> (<a id='4669' tid='4670' class='u'>nth</a> <a id='4671' tid='4672' class='u'>2</a> <a id='4673' tid='4674' class='u'>vars</a>))
- (<a id='4675' tid='4676' class='u'>examples</a> (<a id='4677' tid='4678' class='u'>nth</a> <a id='4679' tid='4680' class='u'>3</a> <a id='4681' tid='4682' class='u'>vars</a>)))
- <a id='4683' tid='4684' class='u'>`</a>(<a id='4685' tid='4686' class='u'>dolist</a> (<a id='4687' tid='4688' class='u'>,</a><a id='4689' tid='4690' class='u'>spec</a> <a id='4691' tid='4692' class='u'>paredit-commands</a>)
- (<a id='4693' tid='4694' class='u'>if</a> (<a id='4695' tid='4696' class='u'>stringp</a> <a id='4697' tid='4698' class='u'>,</a><a id='4699' tid='4700' class='u'>spec</a>)
- <a id='4701' tid='4702' class='u'>,</a><a id='4703' tid='4704' class='u'>string-case</a>
- (<a id='4705' tid='4706' class='u'>let</a> ((<a id='4707' tid='4708' class='u'>,</a><a id='4709' tid='4710' class='u'>keys</a> (<a id='4711' tid='4712' class='u'>let</a> ((<a id='4713' tid='4714' class='u'>k</a> (<a id='4715' tid='4716' class='u'>car</a> <a id='4717' tid='4718' class='u'>,</a><a id='4719' tid='4720' class='u'>spec</a>)))
- (<a id='4721' tid='4722' class='u'>cond</a> ((<a id='4723' tid='4724' class='u'>stringp</a> <a id='4725' tid='4726' class='u'>k</a>) (<a id='4727' tid='4728' class='u'>list</a> <a id='4729' tid='4730' class='u'>k</a>))
- ((<a id='4731' tid='4732' class='u'>listp</a> <a id='4733' tid='4734' class='u'>k</a>) <a id='4735' tid='4736' class='u'>k</a>)
- (<a id='4737' tid='4738' class='u'>t</a> (<a id='4739' tid='4740' class='u'>error</a> <a id='4741' tid='4742' class='u'>"Invalid paredit command %s."</a>
- <a id='4743' tid='4744' class='u'>,</a><a id='4745' tid='4746' class='u'>spec</a>)))))
- (<a id='4747' tid='4748' class='u'>,</a><a id='4749' tid='4750' class='u'>fn</a> (<a id='4751' tid='4752' class='u'>cadr</a> <a id='4753' tid='4754' class='u'>,</a><a id='4755' tid='4756' class='u'>spec</a>))
- (<a id='4757' tid='4758' class='u'>,</a><a id='4759' tid='4760' class='u'>examples</a> (<a id='4761' tid='4762' class='u'>cddr</a> <a id='4763' tid='4764' class='u'>,</a><a id='4765' tid='4766' class='u'>spec</a>)))
- <a id='4767' tid='4768' class='u'>,</a><a id='4769' tid='4770' class='u'>@body</a>)))))
- (<a id='4771' tid='4772' class='u'>put</a> <a id='4773' tid='4774' class='u'>'</a><a id='4775' tid='4776' class='u'>paredit-do-commands</a> <a id='4777' tid='4778' class='u'>'</a><a id='4779' tid='4780' class='u'>lisp-indent-function</a> <a id='4781' tid='4782' class='u'>2</a>))
- (<a id='2247' tid='2248' class='u'>defun</a> <a id='2249' tid='2250' class='u'>paredit-define-keys</a> ()
- (<a id='2251' tid='2252' class='u'>paredit-do-commands</a> (<a id='2253' tid='2254' class='u'>spec</a> <a id='2255' tid='2256' class='u'>keys</a> <a id='2257' tid='2258' class='u'>fn</a> <a id='2259' tid='2260' class='u'>examples</a>)
- <a id='2261' tid='2262' class='u'>nil</a> <a id='2263' tid='2264' class='u'>; string case
- </a> (<a id='2265' tid='2266' class='u'>dolist</a> (<a id='2267' tid='2268' class='u'>key</a> <a id='2269' tid='2270' class='u'>keys</a>)
- (<a id='2271' tid='2272' class='u'>define-key</a> <a id='2273' tid='2274' class='u'>paredit-mode-map</a> (<a id='2275' tid='2276' class='u'>read-kbd-macro</a> <a id='2277' tid='2278' class='u'>key</a>) <a id='2279' tid='2280' class='u'>fn</a>))))
- (<a id='3105' tid='3106' class='u'>defun</a> <a id='3107' tid='3108' class='u'>paredit-function-documentation</a> (<a id='3109' tid='3110' class='u'>fn</a>)
- (<a id='3111' tid='3112' class='u'>let</a> ((<a id='3113' tid='3114' class='u'>original-doc</a> (<a id='3115' tid='3116' class='u'>get</a> <a id='3117' tid='3118' class='u'>fn</a> <a id='3119' tid='3120' class='u'>'</a><a id='3121' tid='3122' class='u'>paredit-original-documentation</a>))
- (<a id='3123' tid='3124' class='u'>doc</a> (<a id='3125' tid='3126' class='u'>documentation</a> <a id='3127' tid='3128' class='u'>fn</a> <a id='3129' tid='3130' class='u'>'</a><a id='3131' tid='3132' class='u'>function-documentation</a>)))
- (<a id='3133' tid='3134' class='u'>or</a> <a id='3135' tid='3136' class='u'>original-doc</a>
- (<a id='3137' tid='3138' class='u'>progn</a> (<a id='3139' tid='3140' class='u'>put</a> <a id='3141' tid='3142' class='u'>fn</a> <a id='3143' tid='3144' class='u'>'</a><a id='3145' tid='3146' class='u'>paredit-original-documentation</a> <a id='3147' tid='3148' class='u'>doc</a>)
- <a id='3149' tid='3150' class='u'>doc</a>))))
- (<a id='1603' tid='1604' class='u'>defun</a> <a id='1605' tid='1606' class='u'>paredit-annotate-mode-with-examples</a> ()
- (<a id='1607' tid='1608' class='u'>let</a> ((<a id='1609' tid='1610' class='u'>contents</a>
- (<a id='1611' tid='1612' class='u'>list</a> (<a id='1613' tid='1614' class='u'>paredit-function-documentation</a> <a id='1615' tid='1616' class='u'>'</a><a id='1617' tid='1618' class='u'>paredit-mode</a>))))
- (<a id='1619' tid='1620' class='u'>paredit-do-commands</a> (<a id='1621' tid='1622' class='u'>spec</a> <a id='1623' tid='1624' class='u'>keys</a> <a id='1625' tid='1626' class='u'>fn</a> <a id='1627' tid='1628' class='u'>examples</a>)
- (<a id='1629' tid='1630' class='u'>push</a> (<a id='1631' tid='1632' class='u'>concat</a> <a id='1633' tid='1634' class='u'>"\n\n"</a> <a id='1635' tid='1636' class='u'>spec</a> <a id='1637' tid='1638' class='u'>"\n"</a>)
- <a id='1639' tid='1640' class='u'>contents</a>)
- (<a id='1641' tid='1642' class='u'>let</a> ((<a id='1643' tid='1644' class='u'>name</a> (<a id='1645' tid='1646' class='u'>symbol-name</a> <a id='1647' tid='1648' class='u'>fn</a>)))
- (<a id='1649' tid='1650' class='u'>if</a> (<a id='1651' tid='1652' class='u'>string-match</a> (<a id='1653' tid='1654' class='u'>symbol-name</a> <a id='1655' tid='1656' class='u'>'</a><a id='1657' tid='1658' class='u'>paredit-</a>) <a id='1659' tid='1660' class='u'>name</a>)
- (<a id='1661' tid='1662' class='u'>push</a> (<a id='1663' tid='1664' class='u'>concat</a> <a id='1665' tid='1666' class='u'>"\n\n\\["</a> <a id='1667' tid='1668' class='u'>name</a> <a id='1669' tid='1670' class='u'>"]\t"</a> <a id='1671' tid='1672' class='u'>name</a>
- (<a id='1673' tid='1674' class='u'>if</a> <a id='1675' tid='1676' class='u'>examples</a>
- (<a id='1677' tid='1678' class='u'>mapconcat</a> (<a id='1679' tid='1680' class='u'>lambda</a> (<a id='1681' tid='1682' class='u'>example</a>)
- (<a id='1683' tid='1684' class='u'>concat</a>
- <a id='1685' tid='1686' class='u'>"\n"</a>
- (<a id='1687' tid='1688' class='u'>mapconcat</a> <a id='1689' tid='1690' class='u'>'</a><a id='1691' tid='1692' class='u'>identity</a>
- <a id='1693' tid='1694' class='u'>example</a>
- <a id='1695' tid='1696' class='u'>"\n --->\n"</a>)
- <a id='1697' tid='1698' class='u'>"\n"</a>))
- <a id='1699' tid='1700' class='u'>examples</a>
- <a id='1701' tid='1702' class='u'>""</a>)
- <a id='1703' tid='1704' class='u'>"\n (no examples)\n"</a>))
- <a id='1705' tid='1706' class='u'>contents</a>))))
- (<a id='1707' tid='1708' class='u'>put</a> <a id='1709' tid='1710' class='u'>'</a><a id='1711' tid='1712' class='u'>paredit-mode</a> <a id='1713' tid='1714' class='u'>'</a><a id='1715' tid='1716' class='u'>function-documentation</a>
- (<a id='1717' tid='1718' class='u'>apply</a> <a id='1719' tid='1720' class='u'>'</a><a id='1721' tid='1722' class='u'>concat</a> (<a id='1723' tid='1724' class='u'>reverse</a> <a id='1725' tid='1726' class='u'>contents</a>))))
- <a id='1727' tid='1728' class='u'>;; PUT returns the huge string we just constructed, which we don't
- </a> <a id='1729' tid='1730' class='u'>;; want it to return.
- </a> <a id='1731' tid='1732' class='u'>nil</a>)
- (<a id='1537' tid='1538' class='u'>defun</a> <a id='1539' tid='1540' class='u'>paredit-annotate-functions-with-examples</a> ()
- (<a id='1541' tid='1542' class='u'>paredit-do-commands</a> (<a id='1543' tid='1544' class='u'>spec</a> <a id='1545' tid='1546' class='u'>keys</a> <a id='1547' tid='1548' class='u'>fn</a> <a id='1549' tid='1550' class='u'>examples</a>)
- <a id='1551' tid='1552' class='u'>nil</a> <a id='1553' tid='1554' class='u'>; string case
- </a> (<a id='1555' tid='1556' class='u'>put</a> <a id='1557' tid='1558' class='u'>fn</a> <a id='1559' tid='1560' class='u'>'</a><a id='1561' tid='1562' class='u'>function-documentation</a>
- (<a id='1563' tid='1564' class='u'>concat</a> (<a id='1565' tid='1566' class='u'>paredit-function-documentation</a> <a id='1567' tid='1568' class='u'>fn</a>)
- <a id='1569' tid='1570' class='u'>"\n\n\\<paredit-mode-map>\\["</a> (<a id='1571' tid='1572' class='u'>symbol-name</a> <a id='1573' tid='1574' class='u'>fn</a>) <a id='1575' tid='1576' class='u'>"]\n"</a>
- (<a id='1577' tid='1578' class='u'>mapconcat</a> (<a id='1579' tid='1580' class='u'>lambda</a> (<a id='1581' tid='1582' class='u'>example</a>)
- (<a id='1583' tid='1584' class='u'>concat</a> <a id='1585' tid='1586' class='u'>"\n"</a>
- (<a id='1587' tid='1588' class='u'>mapconcat</a> <a id='1589' tid='1590' class='u'>'</a><a id='1591' tid='1592' class='u'>identity</a>
- <a id='1593' tid='1594' class='u'>example</a>
- <a id='1595' tid='1596' class='u'>"\n ->\n"</a>)
- <a id='1597' tid='1598' class='u'>"\n"</a>))
- <a id='1599' tid='1600' class='u'>examples</a>
- <a id='1601' tid='1602' class='u'>""</a>)))))
- <a id='4783' tid='4784' class='u'>;;;;; HTML Examples
- </a>
- (<a id='3325' tid='3326' class='u'>defun</a> <a id='3327' tid='3328' class='u'>paredit-insert-html-examples</a> ()
- <a id='3329' tid='3330' class='u'>"Insert HTML for a paredit quick reference table."</a>
- (<a id='3331' tid='3332' class='u'>interactive</a>)
- (<a id='3333' tid='3334' class='u'>let</a> ((<a id='3335' tid='3336' class='u'>insert-lines</a> (<a id='3337' tid='3338' class='u'>lambda</a> (<a id='3339' tid='3340' class='u'>&rest</a> <a id='3341' tid='3342' class='u'>lines</a>)
- (<a id='3343' tid='3344' class='u'>mapc</a> (<a id='3345' tid='3346' class='u'>lambda</a> (<a id='3347' tid='3348' class='u'>line</a>) (<a id='3349' tid='3350' class='u'>insert</a> <a id='3351' tid='3352' class='u'>line</a>) (<a id='3353' tid='3354' class='u'>newline</a>))
- <a id='3355' tid='3356' class='u'>lines</a>)))
- (<a id='3357' tid='3358' class='u'>html-keys</a> (<a id='3359' tid='3360' class='u'>lambda</a> (<a id='3361' tid='3362' class='u'>keys</a>)
- (<a id='3363' tid='3364' class='u'>mapconcat</a> <a id='3365' tid='3366' class='u'>'</a><a id='3367' tid='3368' class='u'>paredit-html-quote</a> <a id='3369' tid='3370' class='u'>keys</a> <a id='3371' tid='3372' class='u'>", "</a>)))
- (<a id='3373' tid='3374' class='u'>html-example</a>
- (<a id='3375' tid='3376' class='u'>lambda</a> (<a id='3377' tid='3378' class='u'>example</a>)
- (<a id='3379' tid='3380' class='u'>concat</a> <a id='3381' tid='3382' class='u'>"<table><tr><td><pre>"</a>
- (<a id='3383' tid='3384' class='u'>mapconcat</a> <a id='3385' tid='3386' class='u'>'</a><a id='3387' tid='3388' class='u'>paredit-html-quote</a>
- <a id='3389' tid='3390' class='u'>example</a>
- (<a id='3391' tid='3392' class='u'>concat</a> <a id='3393' tid='3394' class='u'>"</pre></td></tr><tr><td>"</a>
- <a id='3395' tid='3396' class='u'>" --->"</a>
- <a id='3397' tid='3398' class='u'>"</td></tr><tr><td><pre>"</a>))
- <a id='3399' tid='3400' class='u'>"</pre></td></tr></table>"</a>)))
- (<a id='3401' tid='3402' class='u'>firstp</a> <a id='3403' tid='3404' class='u'>t</a>))
- (<a id='3405' tid='3406' class='u'>paredit-do-commands</a> (<a id='3407' tid='3408' class='u'>spec</a> <a id='3409' tid='3410' class='u'>keys</a> <a id='3411' tid='3412' class='u'>fn</a> <a id='3413' tid='3414' class='u'>examples</a>)
- (<a id='3415' tid='3416' class='u'>progn</a> (<a id='3417' tid='3418' class='u'>if</a> (<a id='3419' tid='3420' class='u'>not</a> <a id='3421' tid='3422' class='u'>firstp</a>)
- (<a id='3423' tid='3424' class='u'>insert</a> <a id='3425' tid='3426' class='u'>"</table>\n"</a>)
- (<a id='3427' tid='3428' class='u'>setq</a> <a id='3429' tid='3430' class='u'>firstp</a> <a id='3431' tid='3432' class='u'>nil</a>))
- (<a id='3433' tid='3434' class='u'>funcall</a> <a id='3435' tid='3436' class='u'>insert-lines</a>
- (<a id='3437' tid='3438' class='u'>concat</a> <a id='3439' tid='3440' class='u'>"<h3>"</a> <a id='3441' tid='3442' class='u'>spec</a> <a id='3443' tid='3444' class='u'>"</h3>"</a>)
- <a id='3445' tid='3446' class='u'>"<table border=\"1\" cellpadding=\"1\">"</a>
- <a id='3447' tid='3448' class='u'>" <tr>"</a>
- <a id='3449' tid='3450' class='u'>" <th>Command</th>"</a>
- <a id='3451' tid='3452' class='u'>" <th>Keys</th>"</a>
- <a id='3453' tid='3454' class='u'>" <th>Examples</th>"</a>
- <a id='3455' tid='3456' class='u'>" </tr>"</a>))
- (<a id='3457' tid='3458' class='u'>let</a> ((<a id='3459' tid='3460' class='u'>name</a> (<a id='3461' tid='3462' class='u'>symbol-name</a> <a id='3463' tid='3464' class='u'>fn</a>)))
- (<a id='3465' tid='3466' class='u'>if</a> (<a id='3467' tid='3468' class='u'>string-match</a> (<a id='3469' tid='3470' class='u'>symbol-name</a> <a id='3471' tid='3472' class='u'>'</a><a id='3473' tid='3474' class='u'>paredit-</a>) <a id='3475' tid='3476' class='u'>name</a>)
- (<a id='3477' tid='3478' class='u'>funcall</a> <a id='3479' tid='3480' class='u'>insert-lines</a>
- <a id='3481' tid='3482' class='u'>" <tr>"</a>
- (<a id='3483' tid='3484' class='u'>concat</a> <a id='3485' tid='3486' class='u'>" <td><tt>"</a> <a id='3487' tid='3488' class='u'>name</a> <a id='3489' tid='3490' class='u'>"</tt></td>"</a>)
- (<a id='3491' tid='3492' class='u'>concat</a> <a id='3493' tid='3494' class='u'>"…
Large files files are truncated, but you can click here to view the full file