-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy patho.html
More file actions
4349 lines (4109 loc) · 546 KB
/
o.html
File metadata and controls
4349 lines (4109 loc) · 546 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<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="deletion" title="deleted">;;; -*- Mode: Emacs-Lisp; outline-regexp: "\n;;;;+" -*-
</span>
<span class="deletion" title="deleted">;;;;;; Paredit: Parenthesis-Editing Minor Mode
</span><span class="deletion" title="deleted">;;;;;; Version 20
</span>
<span class="deletion" title="deleted">;;; This code is written by Taylor R. Campbell (except where explicitly
</span><span class="deletion" title="deleted">;;; noted) and placed in the Public Domain. All warranties are
</span><span class="deletion" title="deleted">;;; disclaimed.
</span>
<span class="deletion" title="deleted">;;; Add this to your .emacs after adding paredit.el to /path/to/elisp/:
</span><span class="deletion" title="deleted">;;;
</span><span class="deletion" title="deleted">;;; (add-to-list 'load-path "/path/to/elisp/")
</span><span class="deletion" title="deleted">;;; (autoload 'paredit-mode "paredit"
</span><span class="deletion" title="deleted">;;; "Minor mode for pseudo-structurally editing Lisp code."
</span><span class="deletion" title="deleted">;;; t)
</span><span class="deletion" title="deleted">;;; (add-hook '...-mode-hook (lambda () (paredit-mode +1)))
</span><span class="deletion" title="deleted">;;;
</span><span class="deletion" title="deleted">;;; Usually the ... will be lisp or scheme or both. Alternatively, you
</span><span class="deletion" title="deleted">;;; can manually toggle this mode with M-x paredit-mode. Customization
</span><span class="deletion" title="deleted">;;; of paredit can be accomplished with `eval-after-load':
</span><span class="deletion" title="deleted">;;;
</span><span class="deletion" title="deleted">;;; (eval-after-load 'paredit
</span><span class="deletion" title="deleted">;;; '(progn ...redefine keys, &c....))
</span><span class="deletion" title="deleted">;;;
</span><span class="deletion" title="deleted">;;; This should run in GNU Emacs 21 or later and XEmacs 21.5 or later.
</span><span class="deletion" title="deleted">;;; It is highly unlikely to work in earlier versions of GNU Emacs, and
</span><span class="deletion" title="deleted">;;; it may have obscure problems in earlier versions of XEmacs due to
</span><span class="deletion" title="deleted">;;; the way its syntax parser reports conditions, as a result of which
</span><span class="deletion" title="deleted">;;; the code that uses the syntax parser must mask *all* error
</span><span class="deletion" title="deleted">;;; conditions, not just those generated by the syntax parser.
</span>
<span class="deletion" title="deleted">;;; This mode changes the keybindings for a number of simple keys,
</span><span class="deletion" title="deleted">;;; notably (, ), ", \, and ;. The bracket keys (round or square) are
</span><span class="deletion" title="deleted">;;; defined to insert parenthesis pairs and move past the close,
</span><span class="deletion" title="deleted">;;; respectively; the double-quote key is multiplexed to do both, and
</span><span class="deletion" title="deleted">;;; also insert an escape if within a string; backslashes prompt the
</span><span class="deletion" title="deleted">;;; user for the next character to input, because a lone backslash can
</span><span class="deletion" title="deleted">;;; break structure inadvertently; and semicolons ensure that they do
</span><span class="deletion" title="deleted">;;; not accidentally comment valid structure. (Use M-; to comment an
</span><span class="deletion" title="deleted">;;; expression.) These all have their ordinary behaviour when inside
</span><span class="deletion" title="deleted">;;; comments, and, outside comments, if truly necessary, you can insert
</span><span class="deletion" title="deleted">;;; them literally with C-q.
</span><span class="deletion" title="deleted">;;;
</span><span class="deletion" title="deleted">;;; These keybindings are set up for my preference. One particular
</span><span class="deletion" title="deleted">;;; preference which I've seen vary greatly from person to person is
</span><span class="deletion" title="deleted">;;; whether the command to move past a closing delimiter ought to
</span><span class="deletion" title="deleted">;;; insert a newline. Since I find this behaviour to be more common
</span><span class="deletion" title="deleted">;;; than that which inserts no newline, I have ) bound to it, and the
</span><span class="deletion" title="deleted">;;; more involved M-) to perform the less common action. This bothers
</span><span class="deletion" title="deleted">;;; some users, though, and they prefer the other way around. This
</span><span class="deletion" title="deleted">;;; code, which you can use `eval-after-load' to put in your .emacs,
</span><span class="deletion" title="deleted">;;; will exchange the bindings:
</span><span class="deletion" title="deleted">;;;
</span><span class="deletion" title="deleted">;;; (define-key paredit-mode-map (kbd ")")
</span><span class="deletion" title="deleted">;;; 'paredit-close-parenthesis)
</span><span class="deletion" title="deleted">;;; (define-key paredit-mode-map (kbd "M-)")
</span><span class="deletion" title="deleted">;;; 'paredit-close-parenthesis-and-newline)
</span><span class="deletion" title="deleted">;;;
</span><span class="deletion" title="deleted">;;; Paredit also changes the bindings of keys for deleting and killing,
</span><span class="deletion" title="deleted">;;; so that they will not destroy any S-expression structure by killing
</span><span class="deletion" title="deleted">;;; or deleting only one side of a bracket or quote pair. If the point
</span><span class="deletion" title="deleted">;;; is on a closing bracket, DEL will move left over it; if it is on an
</span><span class="deletion" title="deleted">;;; opening bracket, C-d will move right over it. Only if the point is
</span><span class="deletion" title="deleted">;;; between a pair of brackets will C-d or DEL delete them, and in that
</span><span class="deletion" title="deleted">;;; case it will delete both simultaneously. M-d and M-DEL kill words,
</span><span class="deletion" title="deleted">;;; but skip over any S-expression structure. C-k kills from the start
</span><span class="deletion" title="deleted">;;; of the line, either to the line's end, if it contains only balanced
</span><span class="deletion" title="deleted">;;; expressions; to the first closing bracket, if the point is within a
</span><span class="deletion" title="deleted">;;; form that ends on the line; or up to the end of the last expression
</span><span class="deletion" title="deleted">;;; that starts on the line after the point.
</span><span class="deletion" title="deleted">;;;
</span><span class="deletion" title="deleted">;;; Automatic reindentation is performed as locally as possible, to
</span><span class="deletion" title="deleted">;;; ensure that Emacs does not interfere with custom indentation used
</span><span class="deletion" title="deleted">;;; elsewhere in some S-expression. It is performed only by the
</span><span class="deletion" title="deleted">;;; advanced S-expression frobnication commands, and only on the forms
</span><span class="deletion" title="deleted">;;; that were immediately operated upon (& their subforms).
</span><span class="deletion" title="deleted">;;;
</span><span class="deletion" title="deleted">;;; This code is written for clarity, not efficiency. S-expressions
</span><span class="deletion" title="deleted">;;; are frequently walked over redundantly. If you have problems with
</span><span class="deletion" title="deleted">;;; some of the commands taking too long to execute, tell me, but first
</span><span class="deletion" title="deleted">;;; make sure that what you're doing is reasonable: it is stylistically
</span><span class="deletion" title="deleted">;;; bad to have huge, long, hideously nested code anyway.
</span><span class="deletion" title="deleted">;;;
</span><span class="deletion" title="deleted">;;; Questions, bug reports, comments, feature suggestions, &c., can be
</span><span class="deletion" title="deleted">;;; addressed to the author via mail on the host mumble.net to campbell
</span><span class="deletion" title="deleted">;;; or via IRC on irc.freenode.net in the #paredit channel under the
</span><span class="deletion" title="deleted">;;; nickname Riastradh.
</span>
<span class="deletion" title="deleted">;;; This assumes Unix-style LF line endings.
</span>
<span class="deletion" title="deleted">(defconst paredit-version 20)</span>
<span class="deletion" title="deleted">(eval-and-compile
(defun paredit-xemacs-p ()
;; No idea I got this definition from. Edward O'Connor (hober on
;; IRC) suggested the current definition.
;; (and (boundp 'running-xemacs)
;; running-xemacs)
(featurep 'xemacs))
(defun paredit-gnu-emacs-p ()
(not (paredit-xemacs-p)))
(defmacro xcond (&rest clauses)
"Exhaustive COND.
Signal an error if no clause matches."
`(cond ,@clauses
(t (error "XCOND lost."))))
(defalias 'paredit-warn (if (fboundp 'warn) 'warn 'message))
(defvar paredit-sexp-error-type
(with-temp-buffer
(insert "(")
(condition-case condition
(backward-sexp)
(error (if (eq (car condition) 'error)
(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."))
(car condition)))))
(defmacro paredit-handle-sexp-errors (body &rest handler)
`(condition-case ()
,body
(,paredit-sexp-error-type ,@handler)))
(put 'paredit-handle-sexp-errors 'lisp-indent-function 1)
(defmacro paredit-ignore-sexp-errors (&rest body)
`(paredit-handle-sexp-errors (progn ,@body)
nil))
(put 'paredit-ignore-sexp-errors 'lisp-indent-function 0)
nil)</span>
<span class="deletion" title="deleted">;;;; Minor Mode Definition
</span>
(<a id='1197' tid='1198', class="unchanged" title="(similarity 100%)">defvar</a> <a id='1199' tid='1200', class="unchanged" title="(similarity 100%)">paredit-mode-map</a> (<a id='1201' tid='1202', class="unchanged" title="(similarity 100%)">make-sparse-keymap</a>)
<a id='1203' tid='1204', class="unchanged" title="(similarity 100%)">"Keymap for the paredit minor mode."</a>)
<span class="deletion" title="deleted">(define-minor-mode paredit-mode
"Minor mode for pseudo-structurally editing Lisp code.
\\<paredit-mode-map>"
:lighter " Paredit"
;; If we're enabling paredit-mode, the prefix to this code that
;; DEFINE-MINOR-MODE inserts will have already set PAREDIT-MODE to
;; true. If this is the case, then first check the parentheses, and
;; if there are any imbalanced ones we must inhibit the activation of
;; paredit mode. We skip the check, though, if the user supplied a
;; prefix argument interactively.
(if (and paredit-mode
(not current-prefix-arg))
(if (not (fboundp 'check-parens))
(paredit-warn "`check-parens' is not defined; %s"
"be careful of malformed S-expressions.")
(condition-case condition
(check-parens)
(error (setq paredit-mode nil)
(signal (car condition) (cdr condition)))))))</span>
<span class="deletion" title="deleted">;;; Old functions from when there was a different mode for emacs -nw.
</span>
(<a id='1205' tid='1206', class="unchanged" title="(similarity 100%)">defun</a> <a id='1207' tid='1208', class="unchanged" title="(similarity 100%)">enable-paredit-mode</a> ()
<span class="deletion" title="deleted">"Turn on pseudo-structural editing of Lisp code.
Deprecated: use `paredit-mode' instead."</span>
(<a id='1209' tid='1210', class="unchanged" title="(similarity 100%)">interactive</a>)
(<a id='1211' tid='1212', class="unchanged" title="(similarity 100%)">paredit-mode</a> <a id='1213' tid='1214', class="unchanged" title="(similarity 100%)">+1</a>))
(<a id='1215' tid='1216', class="unchanged" title="(similarity 100%)">defun</a> <a id='1217' tid='1218', class="unchanged" title="(similarity 100%)">disable-paredit-mode</a> ()
<span class="deletion" title="deleted">"Turn off pseudo-structural editing of Lisp code.
Deprecated: use `paredit-mode' instead."</span>
(<a id='1219' tid='1220', class="unchanged" title="(similarity 100%)">interactive</a>)
(<a id='1221' tid='1222', class="unchanged" title="(similarity 100%)">paredit-mode</a> <a id='1223' tid='1224', class="unchanged" title="(similarity 100%)">-1</a>))
(<a id='1225' tid='1226', class="unchanged" title="(similarity 100%)">defvar</a> <a id='1227' tid='1228', class="unchanged" title="(similarity 100%)">paredit-backward-delete-key</a>
(<a id='1229' tid='1230', class="unchanged" title="(similarity 100%)">xcond</a> ((<a id='1231' tid='1232', class="unchanged" title="(similarity 100%)">paredit-xemacs-p</a>) <a id='1233' tid='1234', class="unchanged" title="(similarity 100%)">"BS"</a>)
((<a id='1235' tid='1236', class="unchanged" title="(similarity 100%)">paredit-gnu-emacs-p</a>) <a id='1237' tid='1238', class="unchanged" title="(similarity 100%)">"DEL"</a>)))
(<a id='1239' tid='1240', class="unchanged" title="(similarity 100%)">defvar</a> <a id='1241' tid='1242', class="unchanged" title="(similarity 100%)">paredit-forward-delete-keys</a>
(<a id='1243' tid='1244', class="unchanged" title="(similarity 100%)">xcond</a> ((<a id='1245' tid='1246', class="unchanged" title="(similarity 100%)">paredit-xemacs-p</a>) <a id='1247' tid='1248', class="unchanged" title="(similarity 100%)">'</a>(<a id='1249' tid='1250', class="unchanged" title="(similarity 100%)">"DEL"</a>))
((<a id='1251' tid='1252', class="unchanged" title="(similarity 100%)">paredit-gnu-emacs-p</a>) <a id='1253' tid='1254', class="unchanged" title="(similarity 100%)">'</a>(<a id='1255' tid='1256', class="unchanged" title="(similarity 100%)">"<delete>"</a> <a id='1257' tid='1258', class="unchanged" title="(similarity 100%)">"<deletechar>"</a>))))
<a id='1259' tid='1260', class="unchanged" title="(similarity 100%)">;;;; Paredit Keys
</a>
<a id='1261' tid='1262', class="unchanged" title="(similarity 100%)">;;; Separating the definition and initialization of this variable
</a><a id='1263' tid='1264', class="unchanged" title="(similarity 100%)">;;; simplifies the development of paredit, since re-evaluating DEFVAR
</a><a id='1265' tid='1266', class="unchanged" title="(similarity 100%)">;;; forms doesn't actually do anything.
</a>
(<a id='1267' tid='1268', class="unchanged" title="(similarity 100%)">defvar</a> <a id='1269' tid='1270', class="unchanged" title="(similarity 100%)">paredit-commands</a> <a id='1271' tid='1272', class="unchanged" title="(similarity 100%)">nil</a>
<a id='1273' tid='1274', class="unchanged" title="(similarity 100%)">"List of paredit commands with their keys and examples."</a>)
<a id='1275' tid='1276', class="unchanged" title="(similarity 100%)">;;; Each specifier is of the form:
</a><a id='1277' tid='1278', class="unchanged" title="(similarity 100%)">;;; (key[s] function (example-input example-output) ...)
</a><a id='1279' tid='1280', class="unchanged" title="(similarity 100%)">;;; where key[s] is either a single string suitable for passing to KBD
</a><a id='1281' tid='1282', class="unchanged" title="(similarity 100%)">;;; or a list of such strings. Entries in this list may also just be
</a><a id='1283' tid='1284', class="unchanged" title="(similarity 100%)">;;; strings, in which case they are headings for the next entries.
</a>
(<a id='555' tid='556', class="move" title="(similarity 100%)">progn</a> (<a id='557' tid='558', class="move" title="(similarity 100%)">setq</a> <a id='559' tid='560', class="move" title="(similarity 100%)">paredit-commands</a>
<a id='561' tid='562', class="move" title="(similarity 100%)">`</a>(
<span class="deletion" title="deleted">"Basic Insertion Commands"</span>
<span class="deletion" title="deleted">("(" paredit-open-parenthesis
("(a b |c d)"
"(a b (|) c d)")
("(foo \"bar |baz\" quux)"
"(foo \"bar (|baz\" quux)"))</span>
<span class="deletion" title="deleted">(")" paredit-close-parenthesis-and-newline
("(defun f (x| ))"
"(defun f (x)\n |)")
("; (Foo.|"
"; (Foo.)|"))</span>
<span class="deletion" title="deleted">("M-)" paredit-close-parenthesis
("(a b |c )" "(a b c)|")
("; Hello,| world!"
"; Hello,)| world!"))</span>
<span class="deletion" title="deleted">("[" paredit-open-bracket
("(a b |c d)"
"(a b [|] c d)")
("(foo \"bar |baz\" quux)"
"(foo \"bar [baz\" quux)"))</span>
<span class="deletion" title="deleted">("]" paredit-close-bracket
("(define-key keymap [frob| ] 'frobnicate)"
"(define-key keymap [frob]| 'frobnicate)")
("; [Bar.|"
"; [Bar.]|"))</span>
(<a id='563' tid='564', class="move" title="(similarity 100%)">"\""</a> <a id='565' tid='566', class="move" title="(similarity 100%)">paredit-doublequote</a>
(<a id='567' tid='568', class="move" title="(similarity 100%)">"(frob grovel |full lexical)"</a>
<a id='569' tid='570', class="move" title="(similarity 100%)">"(frob grovel \"|\" full lexical)"</a>)
(<a id='571' tid='572', class="move" title="(similarity 100%)">"(foo \"bar |baz\" quux)"</a>
<a id='573' tid='574', class="move" title="(similarity 100%)">"(foo \"bar \\\"|baz\" quux)"</a>))
(<a id='477' tid='478', class="move" title="(similarity 100%)">"M-\""</a> <a id='479' tid='480', class="move" title="(similarity 100%)">paredit-meta-doublequote</a>
(<a id='481' tid='482', class="move" title="(similarity 100%)">"(foo \"bar |baz\" quux)"</a>
<a id='483' tid='484', class="move" title="(similarity 100%)">"(foo \"bar baz\"\n |quux)"</a>)
(<a id='485' tid='486', class="move" title="(similarity 100%)">"(foo |(bar #\\x \"baz \\\\ quux\") zot)"</a>
<a id='487' tid='488', class="move" title="(similarity 100%)">,</a>(<a id='489' tid='490', class="move" title="(similarity 100%)">concat</a> <a id='491' tid='492', class="move" title="(similarity 100%)">"(foo \"|(bar #\\\\x \\\"baz \\\\"</a>
<a id='493' tid='494', class="move" title="(similarity 100%)">"\\\\ quux\\\")\" zot)"</a>)))
(<a id='375' tid='376', class="move" title="(similarity 100%)">"\\"</a> <a id='377' tid='378', class="move" title="(similarity 100%)">paredit-backslash</a>
(<a id='379' tid='380', class="move" title="(similarity 100%)">"(string #|)\n ; Escaping character... (x)"</a>
<a id='381' tid='382', class="move" title="(similarity 100%)">"(string #\\x|)"</a>)
(<a id='383' tid='384', class="move" title="(similarity 100%)">"\"foo|bar\"\n ; Escaping character... (\")"</a>
<a id='385' tid='386', class="move" title="(similarity 100%)">"\"foo\\\"|bar\""</a>))
<span class="deletion" title="deleted">(";" paredit-semicolon
("|(frob grovel)"
";|\n(frob grovel)")
("(frob grovel) |"
"(frob grovel) ;|"))</span>
(<a id='287' tid='288', class="move" title="(similarity 100%)">"M-;"</a> <a id='289' tid='290', class="move" title="(similarity 100%)">paredit-comment-dwim</a>
(<a id='291' tid='292', class="move" title="(similarity 100%)">"(foo |bar) ; baz"</a>
<a id='293' tid='294', class="move" title="(similarity 100%)">"(foo bar) ; |baz"</a>)
(<a id='295' tid='296', class="move" title="(similarity 100%)">"(frob grovel)|"</a>
<a id='297' tid='298', class="move" title="(similarity 100%)">"(frob grovel) ;|"</a>)
(<a id='299' tid='300', class="move" title="(similarity 100%)">" (foo bar)\n|\n (baz quux)"</a>
<a id='301' tid='302', class="move" title="(similarity 100%)">" (foo bar)\n ;; |\n (baz quux)"</a>)
(<a id='303' tid='304', class="move" title="(similarity 100%)">" (foo bar) |(baz quux)"</a>
<a id='305' tid='306', class="move" title="(similarity 100%)">" (foo bar)\n ;; |\n (baz quux)"</a>)
(<a id='307' tid='308', class="move" title="(similarity 100%)">"|(defun hello-world ...)"</a>
<a id='309' tid='310', class="move" title="(similarity 100%)">";;; |\n(defun hello-world ...)"</a>))
(<a id='243' tid='244', class="move" title="(similarity 100%)">"C-j"</a> <a id='245' tid='246', class="move" title="(similarity 100%)">paredit-newline</a>
(<a id='247' tid='248', class="move" title="(similarity 100%)">"(let ((n (frobbotz))) |(display (+ n 1)\nport))"</a>
<a id='249' tid='250', class="move" title="(similarity 100%)">,</a>(<a id='251' tid='252', class="move" title="(similarity 100%)">concat</a> <a id='253' tid='254', class="move" title="(similarity 100%)">"(let ((n (frobbotz)))"</a>
<a id='255' tid='256', class="move" title="(similarity 100%)">"\n |(display (+ n 1)"</a>
<a id='257' tid='258', class="move" title="(similarity 100%)">"\n port))"</a>)))
<span class="deletion" title="deleted">"Deleting & Killing"</span>
((<a id='217' tid='218', class="move" title="(similarity 100%)">"C-d"</a> <a id='219' tid='220', class="move" title="(similarity 100%)">,</a><a id='221' tid='222', class="move" title="(similarity 100%)">@paredit-forward-delete-keys</a>)
<a id='223' tid='224', class="move" title="(similarity 100%)">paredit-forward-delete</a>
(<a id='225' tid='226', class="move" title="(similarity 100%)">"(quu|x \"zot\")"</a> <a id='227' tid='228', class="move" title="(similarity 100%)">"(quu| \"zot\")"</a>)
(<a id='229' tid='230', class="move" title="(similarity 100%)">"(quux |\"zot\")"</a>
<a id='231' tid='232', class="move" title="(similarity 100%)">"(quux \"|zot\")"</a>
<a id='233' tid='234', class="move" title="(similarity 100%)">"(quux \"|ot\")"</a>)
(<a id='235' tid='236', class="move" title="(similarity 100%)">"(foo (|) bar)"</a> <a id='237' tid='238', class="move" title="(similarity 100%)">"(foo | bar)"</a>)
(<a id='239' tid='240', class="move" title="(similarity 100%)">"|(foo bar)"</a> <a id='241' tid='242', class="move" title="(similarity 100%)">"(|foo bar)"</a>))
(<a id='193' tid='194', class="move" title="(similarity 100%)">,</a><a id='195' tid='196', class="move" title="(similarity 100%)">paredit-backward-delete-key</a>
<a id='197' tid='198', class="move" title="(similarity 100%)">paredit-backward-delete</a>
(<a id='199' tid='200', class="move" title="(similarity 100%)">"(\"zot\" q|uux)"</a> <a id='201' tid='202', class="move" title="(similarity 100%)">"(\"zot\" |uux)"</a>)
(<a id='203' tid='204', class="move" title="(similarity 100%)">"(\"zot\"| quux)"</a>
<a id='205' tid='206', class="move" title="(similarity 100%)">"(\"zot|\" quux)"</a>
<a id='207' tid='208', class="move" title="(similarity 100%)">"(\"zo|\" quux)"</a>)
(<a id='209' tid='210', class="move" title="(similarity 100%)">"(foo (|) bar)"</a> <a id='211' tid='212', class="move" title="(similarity 100%)">"(foo | bar)"</a>)
(<a id='213' tid='214', class="move" title="(similarity 100%)">"(foo bar)|"</a> <a id='215' tid='216', class="move" title="(similarity 100%)">"(foo bar|)"</a>))
(<a id='173' tid='174', class="move" title="(similarity 100%)">"C-k"</a> <a id='175' tid='176', class="move" title="(similarity 100%)">paredit-kill</a>
(<a id='177' tid='178', class="move" title="(similarity 100%)">"(foo bar)| ; Useless comment!"</a>
<a id='179' tid='180', class="move" title="(similarity 100%)">"(foo bar)|"</a>)
(<a id='181' tid='182', class="move" title="(similarity 100%)">"(|foo bar) ; Useful comment!"</a>
<a id='183' tid='184', class="move" title="(similarity 100%)">"(|) ; Useful comment!"</a>)
(<a id='185' tid='186', class="move" title="(similarity 100%)">"|(foo bar) ; Useless line!"</a>
<a id='187' tid='188', class="move" title="(similarity 100%)">"|"</a>)
(<a id='189' tid='190', class="move" title="(similarity 100%)">"(foo \"|bar baz\"\n quux)"</a>
<a id='191' tid='192', class="move" title="(similarity 100%)">"(foo \"|\"\n quux)"</a>))
(<a id='155' tid='156', class="move" title="(similarity 100%)">"M-d"</a> <a id='157' tid='158', class="move" title="(similarity 100%)">paredit-forward-kill-word</a>
(<a id='159' tid='160', class="move" title="(similarity 100%)">"|(foo bar) ; baz"</a>
<a id='161' tid='162', class="move" title="(similarity 100%)">"(| bar) ; baz"</a>
<a id='163' tid='164', class="move" title="(similarity 100%)">"(|) ; baz"</a>
<a id='165' tid='166', class="move" title="(similarity 100%)">"() ;|"</a>)
(<a id='167' tid='168', class="move" title="(similarity 100%)">";;;| Frobnicate\n(defun frobnicate ...)"</a>
<a id='169' tid='170', class="move" title="(similarity 100%)">";;;|\n(defun frobnicate ...)"</a>
<a id='171' tid='172', class="move" title="(similarity 100%)">";;;\n(| frobnicate ...)"</a>))
(<a id='135' tid='136', class="move" title="(similarity 100%)">,</a>(<a id='137' tid='138', class="move" title="(similarity 100%)">concat</a> <a id='139' tid='140', class="move" title="(similarity 100%)">"M-"</a> <a id='141' tid='142', class="move" title="(similarity 100%)">paredit-backward-delete-key</a>)
<a id='143' tid='144', class="move" title="(similarity 100%)">paredit-backward-kill-word</a>
(<a id='145' tid='146', class="move" title="(similarity 100%)">"(foo bar) ; baz\n(quux)|"</a>
<a id='147' tid='148', class="move" title="(similarity 100%)">"(foo bar) ; baz\n(|)"</a>
<a id='149' tid='150', class="move" title="(similarity 100%)">"(foo bar) ; |\n()"</a>
<a id='151' tid='152', class="move" title="(similarity 100%)">"(foo |) ; \n()"</a>
<a id='153' tid='154', class="move" title="(similarity 100%)">"(|) ; \n()"</a>))
<span class="deletion" title="deleted">"Movement & Navigation"</span>
(<a id='123' tid='124', class="move" title="(similarity 100%)">"C-M-f"</a> <a id='125' tid='126', class="move" title="(similarity 100%)">paredit-forward</a>
(<a id='127' tid='128', class="move" title="(similarity 100%)">"(foo |(bar baz) quux)"</a>
<a id='129' tid='130', class="move" title="(similarity 100%)">"(foo (bar baz)| quux)"</a>)
(<a id='131' tid='132', class="move" title="(similarity 100%)">"(foo (bar)|)"</a>
<a id='133' tid='134', class="move" title="(similarity 100%)">"(foo (bar))|"</a>))
(<a id='111' tid='112', class="move" title="(similarity 100%)">"C-M-b"</a> <a id='113' tid='114', class="move" title="(similarity 100%)">paredit-backward</a>
(<a id='115' tid='116', class="move" title="(similarity 100%)">"(foo (bar baz)| quux)"</a>
<a id='117' tid='118', class="move" title="(similarity 100%)">"(foo |(bar baz) quux)"</a>)
(<a id='119' tid='120', class="move" title="(similarity 100%)">"(|(foo) bar)"</a>
<a id='121' tid='122', class="move" title="(similarity 100%)">"|((foo) bar)"</a>))
<span class="deletion" title="deleted">;;;("C-M-u" backward-up-list) ; These two are built-in.
</span><span class="deletion" title="deleted">;;;("C-M-d" down-list)
</span> <span class="deletion" title="deleted">("C-M-p" backward-down-list)</span> <span class="deletion" title="deleted">; Built-in, these are FORWARD-
</span> <span class="deletion" title="deleted">("C-M-n" up-list)</span> <span class="deletion" title="deleted">; & BACKWARD-LIST, which have
</span> <span class="deletion" title="deleted">; no need given C-M-f & C-M-b.
</span>
<span class="deletion" title="deleted">"Depth-Changing Commands"</span>
<span class="deletion" title="deleted">("M-(" paredit-wrap-sexp
("(foo |bar baz)"
"(foo (|bar) baz)"))</span>
<span class="deletion" title="deleted">("M-s" paredit-splice-sexp
("(foo (bar| baz) quux)"
"(foo bar| baz quux)"))</span>
((<a id='101' tid='102', class="move" title="(similarity 100%)">"M-<up>"</a> <a id='103' tid='104', class="move" title="(similarity 100%)">"ESC <up>"</a>)
<a id='105' tid='106', class="move" title="(similarity 100%)">paredit-splice-sexp-killing-backward</a>
(<a id='107' tid='108', class="move" title="(similarity 100%)">"(foo (let ((x 5)) |(sqrt n)) bar)"</a>
<a id='109' tid='110', class="move" title="(similarity 100%)">"(foo (sqrt n) bar)"</a>))
((<a id='91' tid='92', class="move" title="(similarity 100%)">"M-<down>"</a> <a id='93' tid='94', class="move" title="(similarity 100%)">"ESC <down>"</a>)
<a id='95' tid='96', class="move" title="(similarity 100%)">paredit-splice-sexp-killing-forward</a>
(<a id='97' tid='98', class="move" title="(similarity 100%)">"(a (b c| d e) f)"</a>
<a id='99' tid='100', class="move" title="(similarity 100%)">"(a b c f)"</a>))
(<a id='81' tid='82', class="move" title="(similarity 100%)">"M-r"</a> <a id='83' tid='84', class="move" title="(similarity 100%)">paredit-raise-sexp</a>
(<a id='85' tid='86', class="move" title="(similarity 100%)">"(dynamic-wind in (lambda () |body) out)"</a>
<a id='87' tid='88', class="move" title="(similarity 100%)">"(dynamic-wind in |body out)"</a>
<a id='89' tid='90', class="move" title="(similarity 100%)">"|body"</a>))
<span class="deletion" title="deleted">"Barfage & Slurpage"</span>
((<a id='67' tid='68', class="move" title="(similarity 100%)">"C-)"</a> <a id='69' tid='70', class="move" title="(similarity 100%)">"C-<right>"</a>)
<a id='71' tid='72', class="move" title="(similarity 100%)">paredit-forward-slurp-sexp</a>
(<a id='73' tid='74', class="move" title="(similarity 100%)">"(foo (bar |baz) quux zot)"</a>
<a id='75' tid='76', class="move" title="(similarity 100%)">"(foo (bar |baz quux) zot)"</a>)
(<a id='77' tid='78', class="move" title="(similarity 100%)">"(a b ((c| d)) e f)"</a>
<a id='79' tid='80', class="move" title="(similarity 100%)">"(a b ((c| d) e) f)"</a>))
((<a id='57' tid='58', class="move" title="(similarity 100%)">"C-}"</a> <a id='59' tid='60', class="move" title="(similarity 100%)">"C-<left>"</a>)
<a id='61' tid='62', class="move" title="(similarity 100%)">paredit-forward-barf-sexp</a>
(<a id='63' tid='64', class="move" title="(similarity 100%)">"(foo (bar |baz quux) zot)"</a>
<a id='65' tid='66', class="move" title="(similarity 100%)">"(foo (bar |baz) quux zot)"</a>))
((<a id='41' tid='42', class="move" title="(similarity 100%)">"C-("</a> <a id='43' tid='44', class="move" title="(similarity 100%)">"C-M-<left>"</a> <a id='45' tid='46', class="move" title="(similarity 100%)">"ESC C-<left>"</a>)
<a id='47' tid='48', class="move" title="(similarity 100%)">paredit-backward-slurp-sexp</a>
(<a id='49' tid='50', class="move" title="(similarity 100%)">"(foo bar (baz| quux) zot)"</a>
<a id='51' tid='52', class="move" title="(similarity 100%)">"(foo (bar baz| quux) zot)"</a>)
(<a id='53' tid='54', class="move" title="(similarity 100%)">"(a b ((c| d)) e f)"</a>
<a id='55' tid='56', class="move" title="(similarity 100%)">"(a (b (c| d)) e f)"</a>))
((<a id='29' tid='30', class="move" title="(similarity 100%)">"C-{"</a> <a id='31' tid='32', class="move" title="(similarity 100%)">"C-M-<right>"</a> <a id='33' tid='34', class="move" title="(similarity 100%)">"ESC C-<right>"</a>)
<a id='35' tid='36', class="move" title="(similarity 100%)">paredit-backward-barf-sexp</a>
(<a id='37' tid='38', class="move" title="(similarity 100%)">"(foo (bar baz |quux) zot)"</a>
<a id='39' tid='40', class="move" title="(similarity 100%)">"(foo bar (baz |quux) zot)"</a>))
<span class="deletion" title="deleted">"Miscellaneous Commands"</span>
(<a id='17' tid='18', class="move" title="(similarity 100%)">"M-S"</a> <a id='19' tid='20', class="move" title="(similarity 100%)">paredit-split-sexp</a>
(<a id='21' tid='22', class="move" title="(similarity 100%)">"(hello| world)"</a>
<a id='23' tid='24', class="move" title="(similarity 100%)">"(hello)| (world)"</a>)
(<a id='25' tid='26', class="move" title="(similarity 100%)">"\"Hello, |world!\""</a>
<a id='27' tid='28', class="move" title="(similarity 100%)">"\"Hello, \"| \"world!\""</a>))
(<a id='1' tid='2', class="move" title="(similarity 100%)">"M-J"</a> <a id='3' tid='4', class="move" title="(similarity 100%)">paredit-join-sexps</a>
(<a id='5' tid='6', class="move" title="(similarity 100%)">"(hello)| (world)"</a>
<a id='7' tid='8', class="move" title="(similarity 100%)">"(hello| world)"</a>)
(<a id='9' tid='10', class="move" title="(similarity 100%)">"\"Hello, \"| \"world!\""</a>
<a id='11' tid='12', class="move" title="(similarity 100%)">"\"Hello, |world!\""</a>)
(<a id='13' tid='14', class="move" title="(similarity 100%)">"hello-\n| world"</a>
<a id='15' tid='16', class="move" title="(similarity 100%)">"hello-|world"</a>))
<span class="deletion" title="deleted">("C-c C-M-l" paredit-recentre-on-sexp)</span>
))
<a id='575' tid='576', class="move" title="(similarity 100%)">nil</a>) <span class="deletion" title="deleted">; end of PROGN
</span>
<span class="deletion" title="deleted">;;;;; Command Examples
</span>
(<a id='1285' tid='1286', class="unchanged" title="(similarity 100%)">eval-and-compile</a>
(<a id='1287' tid='1288', class="unchanged" title="(similarity 100%)">defmacro</a> <a id='1289' tid='1290', class="unchanged" title="(similarity 100%)">paredit-do-commands</a> (<a id='1291' tid='1292', class="unchanged" title="(similarity 100%)">vars</a> <a id='1293' tid='1294', class="unchanged" title="(similarity 100%)">string-case</a> <a id='1295' tid='1296', class="unchanged" title="(similarity 100%)">&rest</a> <a id='1297' tid='1298', class="unchanged" title="(similarity 100%)">body</a>)
(<a id='1299' tid='1300', class="unchanged" title="(similarity 100%)">let</a> ((<a id='1301' tid='1302', class="unchanged" title="(similarity 100%)">spec</a> (<a id='1303' tid='1304', class="unchanged" title="(similarity 100%)">nth</a> <a id='1305' tid='1306', class="unchanged" title="(similarity 100%)">0</a> <a id='1307' tid='1308', class="unchanged" title="(similarity 100%)">vars</a>))
(<a id='1309' tid='1310', class="unchanged" title="(similarity 100%)">keys</a> (<a id='1311' tid='1312', class="unchanged" title="(similarity 100%)">nth</a> <a id='1313' tid='1314', class="unchanged" title="(similarity 100%)">1</a> <a id='1315' tid='1316', class="unchanged" title="(similarity 100%)">vars</a>))
(<a id='1317' tid='1318', class="unchanged" title="(similarity 100%)">fn</a> (<a id='1319' tid='1320', class="unchanged" title="(similarity 100%)">nth</a> <a id='1321' tid='1322', class="unchanged" title="(similarity 100%)">2</a> <a id='1323' tid='1324', class="unchanged" title="(similarity 100%)">vars</a>))
(<a id='1325' tid='1326', class="unchanged" title="(similarity 100%)">examples</a> (<a id='1327' tid='1328', class="unchanged" title="(similarity 100%)">nth</a> <a id='1329' tid='1330', class="unchanged" title="(similarity 100%)">3</a> <a id='1331' tid='1332', class="unchanged" title="(similarity 100%)">vars</a>)))
<a id='1333' tid='1334', class="unchanged" title="(similarity 100%)">`</a>(<a id='1335' tid='1336', class="unchanged" title="(similarity 100%)">dolist</a> (<a id='1337' tid='1338', class="unchanged" title="(similarity 100%)">,</a><a id='1339' tid='1340', class="unchanged" title="(similarity 100%)">spec</a> <a id='1341' tid='1342', class="unchanged" title="(similarity 100%)">paredit-commands</a>)
(<a id='1343' tid='1344', class="unchanged" title="(similarity 100%)">if</a> (<a id='1345' tid='1346', class="unchanged" title="(similarity 100%)">stringp</a> <a id='1347' tid='1348', class="unchanged" title="(similarity 100%)">,</a><a id='1349' tid='1350', class="unchanged" title="(similarity 100%)">spec</a>)
<a id='1351' tid='1352', class="unchanged" title="(similarity 100%)">,</a><a id='1353' tid='1354', class="unchanged" title="(similarity 100%)">string-case</a>
(<a id='1355' tid='1356', class="unchanged" title="(similarity 100%)">let</a> ((<a id='1357' tid='1358', class="unchanged" title="(similarity 100%)">,</a><a id='1359' tid='1360', class="unchanged" title="(similarity 100%)">keys</a> (<a id='1361' tid='1362', class="unchanged" title="(similarity 100%)">let</a> ((<a id='1363' tid='1364', class="unchanged" title="(similarity 100%)">k</a> (<a id='1365' tid='1366', class="unchanged" title="(similarity 100%)">car</a> <a id='1367' tid='1368', class="unchanged" title="(similarity 100%)">,</a><a id='1369' tid='1370', class="unchanged" title="(similarity 100%)">spec</a>)))
(<a id='1371' tid='1372', class="unchanged" title="(similarity 100%)">cond</a> ((<a id='1373' tid='1374', class="unchanged" title="(similarity 100%)">stringp</a> <a id='1375' tid='1376', class="unchanged" title="(similarity 100%)">k</a>) (<a id='1377' tid='1378', class="unchanged" title="(similarity 100%)">list</a> <a id='1379' tid='1380', class="unchanged" title="(similarity 100%)">k</a>))
((<a id='1381' tid='1382', class="unchanged" title="(similarity 100%)">listp</a> <a id='1383' tid='1384', class="unchanged" title="(similarity 100%)">k</a>) <a id='1385' tid='1386', class="unchanged" title="(similarity 100%)">k</a>)
(<a id='1387' tid='1388', class="unchanged" title="(similarity 100%)">t</a> (<a id='1389' tid='1390', class="unchanged" title="(similarity 100%)">error</a> <a id='1391' tid='1392', class="unchanged" title="(similarity 100%)">"Invalid paredit command %s."</a>
<a id='1393' tid='1394', class="unchanged" title="(similarity 100%)">,</a><a id='1395' tid='1396', class="unchanged" title="(similarity 100%)">spec</a>)))))
(<a id='1397' tid='1398', class="unchanged" title="(similarity 100%)">,</a><a id='1399' tid='1400', class="unchanged" title="(similarity 100%)">fn</a> (<a id='1401' tid='1402', class="unchanged" title="(similarity 100%)">cadr</a> <a id='1403' tid='1404', class="unchanged" title="(similarity 100%)">,</a><a id='1405' tid='1406', class="unchanged" title="(similarity 100%)">spec</a>))
(<a id='1407' tid='1408', class="unchanged" title="(similarity 100%)">,</a><a id='1409' tid='1410', class="unchanged" title="(similarity 100%)">examples</a> (<a id='1411' tid='1412', class="unchanged" title="(similarity 100%)">cddr</a> <a id='1413' tid='1414', class="unchanged" title="(similarity 100%)">,</a><a id='1415' tid='1416', class="unchanged" title="(similarity 100%)">spec</a>)))
<a id='1417' tid='1418', class="unchanged" title="(similarity 100%)">,</a><a id='1419' tid='1420', class="unchanged" title="(similarity 100%)">@body</a>)))))
(<a id='1421' tid='1422', class="unchanged" title="(similarity 100%)">put</a> <a id='1423' tid='1424', class="unchanged" title="(similarity 100%)">'</a><a id='1425' tid='1426', class="unchanged" title="(similarity 100%)">paredit-do-commands</a> <a id='1427' tid='1428', class="unchanged" title="(similarity 100%)">'</a><a id='1429' tid='1430', class="unchanged" title="(similarity 100%)">lisp-indent-function</a> <a id='1431' tid='1432', class="unchanged" title="(similarity 100%)">2</a>))
(<a id='1433' tid='1434', class="unchanged" title="(similarity 100%)">defun</a> <a id='1435' tid='1436', class="unchanged" title="(similarity 100%)">paredit-define-keys</a> ()
(<a id='1437' tid='1438', class="unchanged" title="(similarity 100%)">paredit-do-commands</a> (<a id='1439' tid='1440', class="unchanged" title="(similarity 100%)">spec</a> <a id='1441' tid='1442', class="unchanged" title="(similarity 100%)">keys</a> <a id='1443' tid='1444', class="unchanged" title="(similarity 100%)">fn</a> <a id='1445' tid='1446', class="unchanged" title="(similarity 100%)">examples</a>)
<a id='1447' tid='1448', class="unchanged" title="(similarity 100%)">nil</a> <a id='1449' tid='1450', class="unchanged" title="(similarity 100%)">; string case
</a> (<a id='1451' tid='1452', class="unchanged" title="(similarity 100%)">dolist</a> (<a id='1453' tid='1454', class="unchanged" title="(similarity 100%)">key</a> <a id='1455' tid='1456', class="unchanged" title="(similarity 100%)">keys</a>)
(<a id='1457' tid='1458', class="unchanged" title="(similarity 100%)">define-key</a> <a id='1459' tid='1460', class="unchanged" title="(similarity 100%)">paredit-mode-map</a> (<a id='1461' tid='1462', class="unchanged" title="(similarity 100%)">read-kbd-macro</a> <a id='1463' tid='1464', class="unchanged" title="(similarity 100%)">key</a>) <a id='1465' tid='1466', class="unchanged" title="(similarity 100%)">fn</a>))))
(<a id='1467' tid='1468', class="unchanged" title="(similarity 100%)">defun</a> <a id='1469' tid='1470', class="unchanged" title="(similarity 100%)">paredit-function-documentation</a> (<a id='1471' tid='1472', class="unchanged" title="(similarity 100%)">fn</a>)
(<a id='1473' tid='1474', class="unchanged" title="(similarity 100%)">let</a> ((<a id='1475' tid='1476', class="unchanged" title="(similarity 100%)">original-doc</a> (<a id='1477' tid='1478', class="unchanged" title="(similarity 100%)">get</a> <a id='1479' tid='1480', class="unchanged" title="(similarity 100%)">fn</a> <a id='1481' tid='1482', class="unchanged" title="(similarity 100%)">'</a><a id='1483' tid='1484', class="unchanged" title="(similarity 100%)">paredit-original-documentation</a>))
(<a id='1485' tid='1486', class="unchanged" title="(similarity 100%)">doc</a> (<a id='1487' tid='1488', class="unchanged" title="(similarity 100%)">documentation</a> <a id='1489' tid='1490', class="unchanged" title="(similarity 100%)">fn</a> <a id='1491' tid='1492', class="unchanged" title="(similarity 100%)">'</a><a id='1493' tid='1494', class="unchanged" title="(similarity 100%)">function-documentation</a>)))
(<a id='1495' tid='1496', class="unchanged" title="(similarity 100%)">or</a> <a id='1497' tid='1498', class="unchanged" title="(similarity 100%)">original-doc</a>
(<a id='1499' tid='1500', class="unchanged" title="(similarity 100%)">progn</a> (<a id='1501' tid='1502', class="unchanged" title="(similarity 100%)">put</a> <a id='1503' tid='1504', class="unchanged" title="(similarity 100%)">fn</a> <a id='1505' tid='1506', class="unchanged" title="(similarity 100%)">'</a><a id='1507' tid='1508', class="unchanged" title="(similarity 100%)">paredit-original-documentation</a> <a id='1509' tid='1510', class="unchanged" title="(similarity 100%)">doc</a>)
<a id='1511' tid='1512', class="unchanged" title="(similarity 100%)">doc</a>))))
(<a id='1513' tid='1514', class="unchanged" title="(similarity 100%)">defun</a> <a id='1515' tid='1516', class="unchanged" title="(similarity 100%)">paredit-annotate-mode-with-examples</a> ()
(<a id='1517' tid='1518', class="unchanged" title="(similarity 100%)">let</a> ((<a id='1519' tid='1520', class="unchanged" title="(similarity 100%)">contents</a>
(<a id='1521' tid='1522', class="unchanged" title="(similarity 100%)">list</a> (<a id='1523' tid='1524', class="unchanged" title="(similarity 100%)">paredit-function-documentation</a> <a id='1525' tid='1526', class="unchanged" title="(similarity 100%)">'</a><a id='1527' tid='1528', class="unchanged" title="(similarity 100%)">paredit-mode</a>))))
(<a id='1529' tid='1530', class="unchanged" title="(similarity 100%)">paredit-do-commands</a> (<a id='1531' tid='1532', class="unchanged" title="(similarity 100%)">spec</a> <a id='1533' tid='1534', class="unchanged" title="(similarity 100%)">keys</a> <a id='1535' tid='1536', class="unchanged" title="(similarity 100%)">fn</a> <a id='1537' tid='1538', class="unchanged" title="(similarity 100%)">examples</a>)
(<a id='1539' tid='1540', class="unchanged" title="(similarity 100%)">push</a> (<a id='1541' tid='1542', class="unchanged" title="(similarity 100%)">concat</a> <a id='1543' tid='1544', class="unchanged" title="(similarity 100%)">"\n\n"</a> <a id='1545' tid='1546', class="unchanged" title="(similarity 100%)">spec</a> <a id='1547' tid='1548', class="unchanged" title="(similarity 100%)">"\n"</a>)
<a id='1549' tid='1550', class="unchanged" title="(similarity 100%)">contents</a>)
(<a id='1551' tid='1552', class="unchanged" title="(similarity 100%)">let</a> ((<a id='1553' tid='1554', class="unchanged" title="(similarity 100%)">name</a> (<a id='1555' tid='1556', class="unchanged" title="(similarity 100%)">symbol-name</a> <a id='1557' tid='1558', class="unchanged" title="(similarity 100%)">fn</a>)))
(<a id='1559' tid='1560', class="unchanged" title="(similarity 100%)">if</a> (<a id='1561' tid='1562', class="unchanged" title="(similarity 100%)">string-match</a> (<a id='1563' tid='1564', class="unchanged" title="(similarity 100%)">symbol-name</a> <a id='1565' tid='1566', class="unchanged" title="(similarity 100%)">'</a><a id='1567' tid='1568', class="unchanged" title="(similarity 100%)">paredit-</a>) <a id='1569' tid='1570', class="unchanged" title="(similarity 100%)">name</a>)
(<a id='1571' tid='1572', class="unchanged" title="(similarity 100%)">push</a> (<a id='1573' tid='1574', class="unchanged" title="(similarity 100%)">concat</a> <a id='1575' tid='1576', class="unchanged" title="(similarity 100%)">"\n\n\\["</a> <a id='1577' tid='1578', class="unchanged" title="(similarity 100%)">name</a> <a id='1579' tid='1580', class="unchanged" title="(similarity 100%)">"]\t"</a> <a id='1581' tid='1582', class="unchanged" title="(similarity 100%)">name</a>
(<a id='1583' tid='1584', class="unchanged" title="(similarity 100%)">if</a> <a id='1585' tid='1586', class="unchanged" title="(similarity 100%)">examples</a>
(<a id='1587' tid='1588', class="unchanged" title="(similarity 100%)">mapconcat</a> (<a id='1589' tid='1590', class="unchanged" title="(similarity 100%)">lambda</a> (<a id='1591' tid='1592', class="unchanged" title="(similarity 100%)">example</a>)
(<a id='1593' tid='1594', class="unchanged" title="(similarity 100%)">concat</a>
<a id='1595' tid='1596', class="unchanged" title="(similarity 100%)">"\n"</a>
(<a id='1597' tid='1598', class="unchanged" title="(similarity 100%)">mapconcat</a> <a id='1599' tid='1600', class="unchanged" title="(similarity 100%)">'</a><a id='1601' tid='1602', class="unchanged" title="(similarity 100%)">identity</a>
<a id='1603' tid='1604', class="unchanged" title="(similarity 100%)">example</a>
<a id='1605' tid='1606', class="unchanged" title="(similarity 100%)">"\n --->\n"</a>)
<a id='1607' tid='1608', class="unchanged" title="(similarity 100%)">"\n"</a>))
<a id='1609' tid='1610', class="unchanged" title="(similarity 100%)">examples</a>
<a id='1611' tid='1612', class="unchanged" title="(similarity 100%)">""</a>)
<a id='1613' tid='1614', class="unchanged" title="(similarity 100%)">"\n (no examples)\n"</a>))
<a id='1615' tid='1616', class="unchanged" title="(similarity 100%)">contents</a>))))
(<a id='1617' tid='1618', class="unchanged" title="(similarity 100%)">put</a> <a id='1619' tid='1620', class="unchanged" title="(similarity 100%)">'</a><a id='1621' tid='1622', class="unchanged" title="(similarity 100%)">paredit-mode</a> <a id='1623' tid='1624', class="unchanged" title="(similarity 100%)">'</a><a id='1625' tid='1626', class="unchanged" title="(similarity 100%)">function-documentation</a>
(<a id='1627' tid='1628', class="unchanged" title="(similarity 100%)">apply</a> <a id='1629' tid='1630', class="unchanged" title="(similarity 100%)">'</a><a id='1631' tid='1632', class="unchanged" title="(similarity 100%)">concat</a> (<a id='1633' tid='1634', class="unchanged" title="(similarity 100%)">reverse</a> <a id='1635' tid='1636', class="unchanged" title="(similarity 100%)">contents</a>))))
<a id='1637' tid='1638', class="unchanged" title="(similarity 100%)">;; PUT returns the huge string we just constructed, which we don't
</a> <a id='1639' tid='1640', class="unchanged" title="(similarity 100%)">;; want it to return.
</a> <a id='1641' tid='1642', class="unchanged" title="(similarity 100%)">nil</a>)
(<a id='1643' tid='1644', class="unchanged" title="(similarity 100%)">defun</a> <a id='1645' tid='1646', class="unchanged" title="(similarity 100%)">paredit-annotate-functions-with-examples</a> ()
(<a id='1647' tid='1648', class="unchanged" title="(similarity 100%)">paredit-do-commands</a> (<a id='1649' tid='1650', class="unchanged" title="(similarity 100%)">spec</a> <a id='1651' tid='1652', class="unchanged" title="(similarity 100%)">keys</a> <a id='1653' tid='1654', class="unchanged" title="(similarity 100%)">fn</a> <a id='1655' tid='1656', class="unchanged" title="(similarity 100%)">examples</a>)
<a id='1657' tid='1658', class="unchanged" title="(similarity 100%)">nil</a> <a id='1659' tid='1660', class="unchanged" title="(similarity 100%)">; string case
</a> (<a id='1661' tid='1662', class="unchanged" title="(similarity 100%)">put</a> <a id='1663' tid='1664', class="unchanged" title="(similarity 100%)">fn</a> <a id='1665' tid='1666', class="unchanged" title="(similarity 100%)">'</a><a id='1667' tid='1668', class="unchanged" title="(similarity 100%)">function-documentation</a>
(<a id='1669' tid='1670', class="unchanged" title="(similarity 100%)">concat</a> (<a id='1671' tid='1672', class="unchanged" title="(similarity 100%)">paredit-function-documentation</a> <a id='1673' tid='1674', class="unchanged" title="(similarity 100%)">fn</a>)
<a id='1675' tid='1676', class="unchanged" title="(similarity 100%)">"\n\n\\<paredit-mode-map>\\["</a> (<a id='1677' tid='1678', class="unchanged" title="(similarity 100%)">symbol-name</a> <a id='1679' tid='1680', class="unchanged" title="(similarity 100%)">fn</a>) <a id='1681' tid='1682', class="unchanged" title="(similarity 100%)">"]\n"</a>
(<a id='1683' tid='1684', class="unchanged" title="(similarity 100%)">mapconcat</a> (<a id='1685' tid='1686', class="unchanged" title="(similarity 100%)">lambda</a> (<a id='1687' tid='1688', class="unchanged" title="(similarity 100%)">example</a>)
(<a id='1689' tid='1690', class="unchanged" title="(similarity 100%)">concat</a> <a id='1691' tid='1692', class="unchanged" title="(similarity 100%)">"\n"</a>
(<a id='1693' tid='1694', class="unchanged" title="(similarity 100%)">mapconcat</a> <a id='1695' tid='1696', class="unchanged" title="(similarity 100%)">'</a><a id='1697' tid='1698', class="unchanged" title="(similarity 100%)">identity</a>
<a id='1699' tid='1700', class="unchanged" title="(similarity 100%)">example</a>
<a id='1701' tid='1702', class="unchanged" title="(similarity 100%)">"\n ->\n"</a>)
<a id='1703' tid='1704', class="unchanged" title="(similarity 100%)">"\n"</a>))
<a id='1705' tid='1706', class="unchanged" title="(similarity 100%)">examples</a>
<a id='1707' tid='1708', class="unchanged" title="(similarity 100%)">""</a>)))))
<a id='1709' tid='1710', class="unchanged" title="(similarity 100%)">;;;;; HTML Examples
</a>
(<a id='1711' tid='1712', class="unchanged" title="(similarity 100%)">defun</a> <a id='1713' tid='1714', class="unchanged" title="(similarity 100%)">paredit-insert-html-examples</a> ()
<a id='1715' tid='1716', class="unchanged" title="(similarity 100%)">"Insert HTML for a paredit quick reference table."</a>
(<a id='1717' tid='1718', class="unchanged" title="(similarity 100%)">interactive</a>)
(<a id='1719' tid='1720', class="unchanged" title="(similarity 100%)">let</a> ((<a id='1721' tid='1722', class="unchanged" title="(similarity 100%)">insert-lines</a> (<a id='1723' tid='1724', class="unchanged" title="(similarity 100%)">lambda</a> (<a id='1725' tid='1726', class="unchanged" title="(similarity 100%)">&rest</a> <a id='1727' tid='1728', class="unchanged" title="(similarity 100%)">lines</a>)
(<a id='1729' tid='1730', class="unchanged" title="(similarity 100%)">mapc</a> (<a id='1731' tid='1732', class="unchanged" title="(similarity 100%)">lambda</a> (<a id='1733' tid='1734', class="unchanged" title="(similarity 100%)">line</a>) (<a id='1735' tid='1736', class="unchanged" title="(similarity 100%)">insert</a> <a id='1737' tid='1738', class="unchanged" title="(similarity 100%)">line</a>) (<a id='1739' tid='1740', class="unchanged" title="(similarity 100%)">newline</a>))
<a id='1741' tid='1742', class="unchanged" title="(similarity 100%)">lines</a>)))
(<a id='1743' tid='1744', class="unchanged" title="(similarity 100%)">html-keys</a> (<a id='1745' tid='1746', class="unchanged" title="(similarity 100%)">lambda</a> (<a id='1747' tid='1748', class="unchanged" title="(similarity 100%)">keys</a>)
(<a id='1749' tid='1750', class="unchanged" title="(similarity 100%)">mapconcat</a> <a id='1751' tid='1752', class="unchanged" title="(similarity 100%)">'</a><a id='1753' tid='1754', class="unchanged" title="(similarity 100%)">paredit-html-quote</a> <a id='1755' tid='1756', class="unchanged" title="(similarity 100%)">keys</a> <a id='1757' tid='1758', class="unchanged" title="(similarity 100%)">", "</a>)))
(<a id='1759' tid='1760', class="unchanged" title="(similarity 100%)">html-example</a>
(<a id='1761' tid='1762', class="unchanged" title="(similarity 100%)">lambda</a> (<a id='1763' tid='1764', class="unchanged" title="(similarity 100%)">example</a>)
(<a id='1765' tid='1766', class="unchanged" title="(similarity 100%)">concat</a> <a id='1767' tid='1768', class="unchanged" title="(similarity 100%)">"<table><tr><td><pre>"</a>
(<a id='1769' tid='1770', class="unchanged" title="(similarity 100%)">mapconcat</a> <a id='1771' tid='1772', class="unchanged" title="(similarity 100%)">'</a><a id='1773' tid='1774', class="unchanged" title="(similarity 100%)">paredit-html-quote</a>
<a id='1775' tid='1776', class="unchanged" title="(similarity 100%)">example</a>
(<a id='1777' tid='1778', class="unchanged" title="(similarity 100%)">concat</a> <a id='1779' tid='1780', class="unchanged" title="(similarity 100%)">"</pre></td></tr><tr><td>"</a>
<a id='1781' tid='1782', class="unchanged" title="(similarity 100%)">" --->"</a>
<a id='1783' tid='1784', class="unchanged" title="(similarity 100%)">"</td></tr><tr><td><pre>"</a>))
<a id='1785' tid='1786', class="unchanged" title="(similarity 100%)">"</pre></td></tr></table>"</a>)))
(<a id='1787' tid='1788', class="unchanged" title="(similarity 100%)">firstp</a> <a id='1789' tid='1790', class="unchanged" title="(similarity 100%)">t</a>))
(<a id='1791' tid='1792', class="unchanged" title="(similarity 100%)">paredit-do-commands</a> (<a id='1793' tid='1794', class="unchanged" title="(similarity 100%)">spec</a> <a id='1795' tid='1796', class="unchanged" title="(similarity 100%)">keys</a> <a id='1797' tid='1798', class="unchanged" title="(similarity 100%)">fn</a> <a id='1799' tid='1800', class="unchanged" title="(similarity 100%)">examples</a>)
(<a id='1801' tid='1802', class="unchanged" title="(similarity 100%)">progn</a> (<a id='1803' tid='1804', class="unchanged" title="(similarity 100%)">if</a> (<a id='1805' tid='1806', class="unchanged" title="(similarity 100%)">not</a> <a id='1807' tid='1808', class="unchanged" title="(similarity 100%)">firstp</a>)
(<a id='1809' tid='1810', class="unchanged" title="(similarity 100%)">insert</a> <a id='1811' tid='1812', class="unchanged" title="(similarity 100%)">"</table>\n"</a>)
(<a id='1813' tid='1814', class="unchanged" title="(similarity 100%)">setq</a> <a id='1815' tid='1816', class="unchanged" title="(similarity 100%)">firstp</a> <a id='1817' tid='1818', class="unchanged" title="(similarity 100%)">nil</a>))
(<a id='1819' tid='1820', class="unchanged" title="(similarity 100%)">funcall</a> <a id='1821' tid='1822', class="unchanged" title="(similarity 100%)">insert-lines</a>
(<a id='1823' tid='1824', class="unchanged" title="(similarity 100%)">concat</a> <a id='1825' tid='1826', class="unchanged" title="(similarity 100%)">"<h3>"</a> <a id='1827' tid='1828', class="unchanged" title="(similarity 100%)">spec</a> <a id='1829' tid='1830', class="unchanged" title="(similarity 100%)">"</h3>"</a>)
<a id='1831' tid='1832', class="unchanged" title="(similarity 100%)">"<table border=\"1\" cellpadding=\"1\">"</a>
<a id='1833' tid='1834', class="unchanged" title="(similarity 100%)">" <tr>"</a>
<a id='1835' tid='1836', class="unchanged" title="(similarity 100%)">" <th>Command</th>"</a>
<a id='1837' tid='1838', class="unchanged" title="(similarity 100%)">" <th>Keys</th>"</a>
<a id='1839' tid='1840', class="unchanged" title="(similarity 100%)">" <th>Examples</th>"</a>
<a id='1841' tid='1842', class="unchanged" title="(similarity 100%)">" </tr>"</a>))
(<a id='1843' tid='1844', class="unchanged" title="(similarity 100%)">let</a> ((<a id='1845' tid='1846', class="unchanged" title="(similarity 100%)">name</a> (<a id='1847' tid='1848', class="unchanged" title="(similarity 100%)">symbol-name</a> <a id='1849' tid='1850', class="unchanged" title="(similarity 100%)">fn</a>)))
(<a id='1851' tid='1852', class="unchanged" title="(similarity 100%)">if</a> (<a id='1853' tid='1854', class="unchanged" title="(similarity 100%)">string-match</a> (<a id='1855' tid='1856', class="unchanged" title="(similarity 100%)">symbol-name</a> <a id='1857' tid='1858', class="unchanged" title="(similarity 100%)">'</a><a id='1859' tid='1860', class="unchanged" title="(similarity 100%)">paredit-</a>) <a id='1861' tid='1862', class="unchanged" title="(similarity 100%)">name</a>)
(<a id='1863' tid='1864', class="unchanged" title="(similarity 100%)">funcall</a> <a id='1865' tid='1866', class="unchanged" title="(similarity 100%)">insert-lines</a>
<a id='1867' tid='1868', class="unchanged" title="(similarity 100%)">" <tr>"</a>
(<a id='1869' tid='1870', class="unchanged" title="(similarity 100%)">concat</a> <a id='1871' tid='1872', class="unchanged" title="(similarity 100%)">" <td><tt>"</a> <a id='1873' tid='1874', class="unchanged" title="(similarity 100%)">name</a> <a id='1875' tid='1876', class="unchanged" title="(similarity 100%)">"</tt></td>"</a>)
(<a id='1877' tid='1878', class="unchanged" title="(similarity 100%)">concat</a> <a id='1879' tid='1880', class="unchanged" title="(similarity 100%)">" <td align=\"center\">"</a>
(<a id='1881' tid='1882', class="unchanged" title="(similarity 100%)">funcall</a> <a id='1883' tid='1884', class="unchanged" title="(similarity 100%)">html-keys</a> <a id='1885' tid='1886', class="unchanged" title="(similarity 100%)">keys</a>)
<a id='1887' tid='1888', class="unchanged" title="(similarity 100%)">"</td>"</a>)
(<a id='1889' tid='1890', class="unchanged" title="(similarity 100%)">concat</a> <a id='1891' tid='1892', class="unchanged" title="(similarity 100%)">" <td>"</a>
(<a id='1893' tid='1894', class="unchanged" title="(similarity 100%)">if</a> <a id='1895' tid='1896', class="unchanged" title="(similarity 100%)">examples</a>
(<a id='1897' tid='1898', class="unchanged" title="(similarity 100%)">mapconcat</a> <a id='1899' tid='1900', class="unchanged" title="(similarity 100%)">html-example</a> <a id='1901' tid='1902', class="unchanged" title="(similarity 100%)">examples</a>
<a id='1903' tid='1904', class="unchanged" title="(similarity 100%)">"<hr>"</a>)
<a id='1905' tid='1906', class="unchanged" title="(similarity 100%)">"(no examples)"</a>)
<a id='1907' tid='1908', class="unchanged" title="(similarity 100%)">"</td>"</a>)
<a id='1909' tid='1910', class="unchanged" title="(similarity 100%)">" </tr>"</a>)))))
(<a id='1911' tid='1912', class="unchanged" title="(similarity 100%)">insert</a> <a id='1913' tid='1914', class="unchanged" title="(similarity 100%)">"</table>\n"</a>))
(<a id='1915' tid='1916', class="unchanged" title="(similarity 100%)">defun</a> <a id='1917' tid='1918', class="unchanged" title="(similarity 100%)">paredit-html-quote</a> (<a id='1919' tid='1920', class="unchanged" title="(similarity 100%)">string</a>)
(<a id='1921' tid='1922', class="unchanged" title="(similarity 100%)">with-temp-buffer</a>
(<a id='1923' tid='1924', class="unchanged" title="(similarity 100%)">dotimes</a> (<a id='1925' tid='1926', class="unchanged" title="(similarity 100%)">i</a> (<a id='1927' tid='1928', class="unchanged" title="(similarity 100%)">length</a> <a id='1929' tid='1930', class="unchanged" title="(similarity 100%)">string</a>))
(<a id='1931' tid='1932', class="unchanged" title="(similarity 100%)">insert</a> (<a id='1933' tid='1934', class="unchanged" title="(similarity 100%)">let</a> ((<a id='1935' tid='1936', class="unchanged" title="(similarity 100%)">c</a> (<a id='1937' tid='1938', class="unchanged" title="(similarity 100%)">elt</a> <a id='1939' tid='1940', class="unchanged" title="(similarity 100%)">string</a> <a id='1941' tid='1942', class="unchanged" title="(similarity 100%)">i</a>)))
(<a id='1943' tid='1944', class="unchanged" title="(similarity 100%)">cond</a> ((<a id='1945' tid='1946', class="unchanged" title="(similarity 100%)">eq</a> <a id='1947' tid='1948', class="unchanged" title="(similarity 100%)">c</a> <a id='1949' tid='1950', class="unchanged" title="(similarity 100%)">?\<</a>) <a id='1951' tid='1952', class="unchanged" title="(similarity 100%)">"<"</a>)
((<a id='1953' tid='1954', class="unchanged" title="(similarity 100%)">eq</a> <a id='1955' tid='1956', class="unchanged" title="(similarity 100%)">c</a> <a id='1957' tid='1958', class="unchanged" title="(similarity 100%)">?\></a>) <a id='1959' tid='1960', class="unchanged" title="(similarity 100%)">">"</a>)
((<a id='1961' tid='1962', class="unchanged" title="(similarity 100%)">eq</a> <a id='1963' tid='1964', class="unchanged" title="(similarity 100%)">c</a> <a id='1965' tid='1966', class="unchanged" title="(similarity 100%)">?\&</a>) <a id='1967' tid='1968', class="unchanged" title="(similarity 100%)">"&"</a>)
((<a id='1969' tid='1970', class="unchanged" title="(similarity 100%)">eq</a> <a id='1971' tid='1972', class="unchanged" title="(similarity 100%)">c</a> <a id='1973' tid='1974', class="unchanged" title="(similarity 100%)">?\'</a>) <a id='1975' tid='1976', class="unchanged" title="(similarity 100%)">"'"</a>)
((<a id='1977' tid='1978', class="unchanged" title="(similarity 100%)">eq</a> <a id='1979' tid='1980', class="unchanged" title="(similarity 100%)">c</a> <a id='1981' tid='1982', class="unchanged" title="(similarity 100%)">?\"</a>) <a id='1983' tid='1984', class="unchanged" title="(similarity 100%)">"""</a>)
(<a id='1985' tid='1986', class="unchanged" title="(similarity 100%)">t</a> <a id='1987' tid='1988', class="unchanged" title="(similarity 100%)">c</a>)))))
(<a id='1989' tid='1990', class="unchanged" title="(similarity 100%)">buffer-string</a>)))
<a id='1991' tid='1992', class="unchanged" title="(similarity 100%)">;;;; Delimiter Insertion
</a>
(<a id='577' tid='578', class="move" title="(similarity 100%)">eval-and-compile</a>
(<a id='579' tid='580', class="move" title="(similarity 100%)">defun</a> <a id='581' tid='582', class="move" title="(similarity 100%)">paredit-conc-name</a> (<a id='583' tid='584', class="move" title="(similarity 100%)">&rest</a> <a id='585' tid='586', class="move" title="(similarity 100%)">strings</a>)
(<a id='587' tid='588', class="move" title="(similarity 100%)">intern</a> (<a id='589' tid='590', class="move" title="(similarity 100%)">apply</a> <a id='591' tid='592', class="move" title="(similarity 100%)">'</a><a id='593' tid='594', class="move" title="(similarity 100%)">concat</a> <a id='595' tid='596', class="move" title="(similarity 100%)">strings</a>)))
(<a id='597' tid='598', class="move" title="(similarity 100%)">defmacro</a> <a id='599' tid='600', class="move" title="(similarity 100%)">define-paredit-pair</a> (<a id='601' tid='602', class="move" title="(similarity 100%)">open</a> <a id='603' tid='604', class="move" title="(similarity 100%)">close</a> <a id='605' tid='606', class="move" title="(similarity 100%)">name</a>)
<a id='607' tid='608', class="move" title="(similarity 100%)">`</a>(<span class="deletion" title="deleted">progn</span>
(<a id='609' tid='610', class="move" title="(similarity 100%)">defun</a> <a id='611' tid='612', class="move" title="(similarity 100%)">,</a>(<a id='613' tid='614', class="move" title="(similarity 100%)">paredit-conc-name</a> <a id='615' tid='616', class="move" title="(similarity 100%)">"paredit-open-"</a> <a id='617' tid='618', class="move" title="(similarity 100%)">name</a>) (<a id='619' tid='620', class="move" title="(similarity 100%)">&optional</a> <a id='621' tid='622', class="move" title="(similarity 100%)">n</a>)
<a id='623' tid='624', class="move" title="(similarity 100%)">,</a>(<a id='625' tid='626', class="move" title="(similarity 100%)">concat</a> <a id='627' tid='628', class="move" title="(similarity 100%)">"Insert a balanced "</a> <a id='629' tid='630', class="move" title="(similarity 100%)">name</a> <a id='631' tid='632', class="move" title="(similarity 100%)">" pair.
With a prefix argument N, put the closing "</a> <a id='633' tid='634', class="move" title="(similarity 100%)">name</a> <a id='635' tid='636', class="move" title="(similarity 100%)">" 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
"</a> <a id='637' tid='638', class="move" title="(similarity 100%)">name</a> <a id='639' tid='640', class="move" title="(similarity 100%)">" pair around the region.
If in a string or a comment, insert a single "</a> <a id='641' tid='642', class="move" title="(similarity 100%)">name</a> <a id='643' tid='644', class="move" title="(similarity 100%)">".
If in a character literal, do nothing. This prevents changing what was
in the character literal to a meaningful delimiter unintentionally."</a>)
(<a id='645' tid='646', class="move" title="(similarity 100%)">interactive</a> <a id='647' tid='648', class="move" title="(similarity 100%)">"P"</a>)
(<a id='649' tid='650', class="move" title="(similarity 100%)">cond</a> ((<a id='651' tid='652', class="move" title="(similarity 100%)">or</a> (<a id='653' tid='654', class="move" title="(similarity 100%)">paredit-in-string-p</a>)
(<a id='655' tid='656', class="move" title="(similarity 100%)">paredit-in-comment-p</a>))
(<a id='657' tid='658', class="move" title="(similarity 100%)">insert</a> <a id='659' tid='660', class="move" title="(similarity 100%)">,</a><a id='661' tid='662', class="move" title="(similarity 100%)">open</a>))
((<a id='663' tid='664', class="move" title="(similarity 100%)">not</a> (<a id='665' tid='666', class="move" title="(similarity 100%)">paredit-in-char-p</a>))
(<a id='667' tid='668', class="move" title="(similarity 100%)">paredit-insert-pair</a> <a id='669' tid='670', class="move" title="(similarity 100%)">n</a> <a id='671' tid='672', class="move" title="(similarity 100%)">,</a><a id='673' tid='674', class="move" title="(similarity 100%)">open</a> <a id='675' tid='676', class="move" title="(similarity 100%)">,</a><a id='677' tid='678', class="move" title="(similarity 100%)">close</a> <a id='679' tid='680', class="move" title="(similarity 100%)">'</a><a id='681' tid='682', class="move" title="(similarity 100%)">goto-char</a>))))
(<a id='495' tid='496', class="move" title="(similarity 100%)">defun</a> <a id='497' tid='498', class="move" title="(similarity 100%)">,</a>(<a id='499' tid='500', class="move" title="(similarity 100%)">paredit-conc-name</a> <a id='501' tid='502', class="move" title="(similarity 100%)">"paredit-close-"</a> <a id='503' tid='504', class="move" title="(similarity 100%)">name</a>) ()
<a id='505' tid='506', class="move" title="(similarity 100%)">,</a>(<a id='507' tid='508', class="move" title="(similarity 100%)">concat</a> <a id='509' tid='510', class="move" title="(similarity 100%)">"Move past one closing delimiter and reindent.
\(Agnostic to the specific closing delimiter.)
If in a string or comment, insert a single closing "</a> <a id='511' tid='512', class="move" title="(similarity 100%)">name</a> <a id='513' tid='514', class="move" title="(similarity 100%)">".
If in a character literal, do nothing. This prevents changing what was
in the character literal to a meaningful delimiter unintentionally."</a>)
(<a id='515' tid='516', class="move" title="(similarity 100%)">interactive</a>)
(<a id='517' tid='518', class="move" title="(similarity 100%)">paredit-move-past-close</a> <a id='519' tid='520', class="move" title="(similarity 100%)">,</a><a id='521' tid='522', class="move" title="(similarity 100%)">close</a>))
(<a id='387' tid='388', class="move" title="(similarity 100%)">defun</a> <a id='389' tid='390', class="move" title="(similarity 100%)">,</a>(<a id='391' tid='392', class="move" title="(similarity 100%)">paredit-conc-name</a> <a id='393' tid='394', class="move" title="(similarity 100%)">"paredit-close-"</a> <a id='395' tid='396', class="move" title="(similarity 100%)">name</a> <a id='397' tid='398', class="move" title="(similarity 100%)">"-and-newline"</a>) ()
<a id='399' tid='400', class="move" title="(similarity 100%)">,</a>(<a id='401' tid='402', class="move" title="(similarity 100%)">concat</a> <a id='403' tid='404', class="move" title="(similarity 100%)">"Move past one closing delimiter, add a newline,"</a>
<a id='405' tid='406', class="move" title="(similarity 100%)">" and reindent.
If there was a margin comment after the closing delimiter, preserve it
on the same line."</a>)
(<a id='407' tid='408', class="move" title="(similarity 100%)">interactive</a>)
(<a id='409' tid='410', class="move" title="(similarity 100%)">paredit-move-past-close-and-newline</a> <a id='411' tid='412', class="move" title="(similarity 100%)">,</a><a id='413' tid='414', class="move" title="(similarity 100%)">close</a>)))))
<span class="deletion" title="deleted">(define-paredit-pair ?\( ?\) "parenthesis")</span>
<span class="deletion" title="deleted">(define-paredit-pair ?\[ ?\] "bracket")</span>
<span class="deletion" title="deleted">(define-paredit-pair ?\{ ?\} "brace")</span>
<span class="deletion" title="deleted">(define-paredit-pair ?\< ?\> "brocket")</span>
(<a id='1993' tid='1994', class="unchanged" title="(similarity 100%)">defun</a> <a id='1995' tid='1996', class="unchanged" title="(similarity 100%)">paredit-move-past-close</a> (<a id='1997' tid='1998', class="unchanged" title="(similarity 100%)">close</a>)
(<span class="deletion" title="deleted">cond</span> ((<a id='683' tid='684', class="move" title="(similarity 100%)">or</a> (<a id='685' tid='686', class="move" title="(similarity 100%)">paredit-in-string-p</a>)
(<a id='687' tid='688', class="move" title="(similarity 100%)">paredit-in-comment-p</a>))
(<a id='689' tid='690', class="move" title="(similarity 100%)">insert</a> <a id='691' tid='692', class="move" title="(similarity 100%)">close</a>))
<span class="deletion" title="deleted">((not (paredit-in-char-p))
(paredit-move-past-close-and-reindent)
(paredit-blink-paren-match nil))</span>))
(<a id='1999' tid='2000', class="unchanged" title="(similarity 100%)">defun</a> <a id='2001' tid='2002', class="unchanged" title="(similarity 100%)">paredit-move-past-close-and-newline</a> (<a id='2003' tid='2004', class="unchanged" title="(similarity 100%)">close</a>)
<span class="deletion" title="deleted">(cond ((or (paredit-in-string-p)
(paredit-in-comment-p))
(insert close))
(t (if (paredit-in-char-p) (forward-char))
(paredit-move-past-close-and-reindent)
(let ((comment.point (paredit-find-comment-on-line)))
(newline)
(if comment.point
(save-excursion
(forward-line -1)
(end-of-line)
(indent-to (cdr comment.point))
(insert (car comment.point)))))
(lisp-indent-line)
(paredit-ignore-sexp-errors (indent-sexp))
(paredit-blink-paren-match t)))</span>)
(<a id='2005' tid='2006', class="unchanged" title="(similarity 100%)">defun</a> <a id='2007' tid='2008', class="unchanged" title="(similarity 100%)">paredit-find-comment-on-line</a> ()
<span class="deletion" title="deleted">"Find a margin comment on the current line.
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."</span>
(<span class="deletion" title="deleted">save-excursion</span>
(<span class="deletion" title="deleted">catch</span> <span class="deletion" title="deleted">'</span><span class="deletion" title="deleted">return</span>
(<span class="deletion" title="deleted">while</span> <span class="deletion" title="deleted">t</span>
(<span class="deletion" title="deleted">if</span> <span class="deletion" title="deleted">(search-forward ";" (point-at-eol) t)</span>
(<span class="deletion" title="deleted">if</span> <span class="deletion" title="deleted">(not (or (paredit-in-string-p)
(paredit-in-char-p)))</span>
(<a id='693' tid='694', class="move" title="(similarity 100%)">let*</a> ((<a id='695' tid='696', class="move" title="(similarity 100%)">start</a> (<a id='697' tid='698', class="move" title="(similarity 100%)">progn</a> (<a id='699' tid='700', class="move" title="(similarity 100%)">backward-char</a>) <span class="deletion" title="deleted">;before semicolon
</span> (<a id='701' tid='702', class="move" title="(similarity 100%)">point</a>)))
(<a id='703' tid='704', class="move" title="(similarity 100%)">comment</a> (<a id='705' tid='706', class="move" title="(similarity 100%)">buffer-substring</a> <a id='707' tid='708', class="move" title="(similarity 100%)">start</a>
(<a id='709' tid='710', class="move" title="(similarity 100%)">point-at-eol</a>))))
(<a id='711' tid='712', class="move" title="(similarity 100%)">paredit-skip-whitespace</a> <a id='713' tid='714', class="move" title="(similarity 100%)">nil</a> (<a id='715' tid='716', class="move" title="(similarity 100%)">point-at-bol</a>))
(<a id='717' tid='718', class="move" title="(similarity 100%)">delete-region</a> (<a id='719' tid='720', class="move" title="(similarity 100%)">point</a>) (<a id='721' tid='722', class="move" title="(similarity 100%)">point-at-eol</a>))
(<span class="deletion" title="deleted">throw</span> <span class="deletion" title="deleted">'</span><span class="deletion" title="deleted">return</span>
(<a id='723' tid='724', class="move" title="(similarity 100%)">cons</a> <a id='725' tid='726', class="move" title="(similarity 100%)">comment</a> (<a id='727' tid='728', class="move" title="(similarity 100%)">-</a> <a id='729' tid='730', class="move" title="(similarity 100%)">start</a> (<a id='731' tid='732', class="move" title="(similarity 100%)">point-at-bol</a>))))))
<span class="deletion" title="deleted">(throw 'return nil)</span>)))))
(<a id='2009' tid='2010', class="unchanged" title="(similarity 100%)">defun</a> <a id='2011' tid='2012', class="unchanged" title="(similarity 100%)">paredit-insert-pair</a> (<a id='2013' tid='2014', class="unchanged" title="(similarity 100%)">n</a> <a id='2015' tid='2016', class="unchanged" title="(similarity 100%)">open</a> <a id='2017' tid='2018', class="unchanged" title="(similarity 100%)">close</a> <a id='2019' tid='2020', class="unchanged" title="(similarity 100%)">forward</a>)
(<a id='2021' tid='2022', class="unchanged" title="(similarity 100%)">let*</a> ((<a id='2023' tid='2024', class="unchanged" title="(similarity 100%)">regionp</a> (<a id='2025' tid='2026', class="unchanged" title="(similarity 100%)">and</a> (<a id='2027' tid='2028', class="unchanged" title="(similarity 100%)">paredit-region-active-p</a>)
(<a id='2029' tid='2030', class="unchanged" title="(similarity 100%)">paredit-region-safe-for-insert-p</a>)))
(<a id='2031' tid='2032', class="unchanged" title="(similarity 100%)">end</a> (<a id='2033' tid='2034', class="unchanged" title="(similarity 100%)">and</a> <a id='2035' tid='2036', class="unchanged" title="(similarity 100%)">regionp</a>
(<a id='2037' tid='2038', class="unchanged" title="(similarity 100%)">not</a> <a id='2039' tid='2040', class="unchanged" title="(similarity 100%)">n</a>)
(<a id='2041' tid='2042', class="unchanged" title="(similarity 100%)">prog1</a> (<a id='2043' tid='2044', class="unchanged" title="(similarity 100%)">region-end</a>)
(<a id='2045' tid='2046', class="unchanged" title="(similarity 100%)">goto-char</a> (<a id='2047' tid='2048', class="unchanged" title="(similarity 100%)">region-beginning</a>))))))
(<a id='2049' tid='2050', class="unchanged" title="(similarity 100%)">let</a> ((<a id='2051' tid='2052', class="unchanged" title="(similarity 100%)">spacep</a> (<a id='2053' tid='2054', class="unchanged" title="(similarity 100%)">paredit-space-for-delimiter-p</a> <a id='2055' tid='2056', class="unchanged" title="(similarity 100%)">nil</a> <a id='2057' tid='2058', class="unchanged" title="(similarity 100%)">open</a>)))
(<a id='2059' tid='2060', class="unchanged" title="(similarity 100%)">if</a> <a id='2061' tid='2062', class="unchanged" title="(similarity 100%)">spacep</a> (<a id='2063' tid='2064', class="unchanged" title="(similarity 100%)">insert</a> <a id='2065' tid='2066', class="unchanged" title="(similarity 100%)">" "</a>))
(<a id='2067' tid='2068', class="unchanged" title="(similarity 100%)">insert</a> <a id='2069' tid='2070', class="unchanged" title="(similarity 100%)">open</a>)
(<a id='2071' tid='2072', class="unchanged" title="(similarity 100%)">save-excursion</a>
<a id='2073' tid='2074', class="unchanged" title="(similarity 100%)">;; Move past the desired region.
</a> (<a id='2075' tid='2076', class="unchanged" title="(similarity 100%)">cond</a> (<a id='2077' tid='2078', class="unchanged" title="(similarity 100%)">n</a> (<a id='2079' tid='2080', class="unchanged" title="(similarity 100%)">funcall</a> <a id='2081' tid='2082', class="unchanged" title="(similarity 100%)">forward</a>
(<a id='2083' tid='2084', class="unchanged" title="(similarity 100%)">save-excursion</a>
(<a id='2085' tid='2086', class="unchanged" title="(similarity 100%)">forward-sexp</a> (<a id='2087' tid='2088', class="unchanged" title="(similarity 100%)">prefix-numeric-value</a> <a id='2089' tid='2090', class="unchanged" title="(similarity 100%)">n</a>))
(<a id='2091' tid='2092', class="unchanged" title="(similarity 100%)">point</a>))))
(<a id='2093' tid='2094', class="unchanged" title="(similarity 100%)">regionp</a> (<a id='2095' tid='2096', class="unchanged" title="(similarity 100%)">funcall</a> <a id='2097' tid='2098', class="unchanged" title="(similarity 100%)">forward</a> (<a id='2099' tid='2100', class="unchanged" title="(similarity 100%)">+</a> <a id='2101' tid='2102', class="unchanged" title="(similarity 100%)">end</a> (<a id='2103' tid='2104', class="unchanged" title="(similarity 100%)">if</a> <a id='2105' tid='2106', class="unchanged" title="(similarity 100%)">spacep</a> <a id='2107' tid='2108', class="unchanged" title="(similarity 100%)">2</a> <a id='2109' tid='2110', class="unchanged" title="(similarity 100%)">1</a>)))))
(<a id='2111' tid='2112', class="unchanged" title="(similarity 100%)">insert</a> <a id='2113' tid='2114', class="unchanged" title="(similarity 100%)">close</a>)
(<a id='2115' tid='2116', class="unchanged" title="(similarity 100%)">if</a> (<a id='2117' tid='2118', class="unchanged" title="(similarity 100%)">paredit-space-for-delimiter-p</a> <a id='2119' tid='2120', class="unchanged" title="(similarity 100%)">t</a> <a id='2121' tid='2122', class="unchanged" title="(similarity 100%)">close</a>)
(<a id='2123' tid='2124', class="unchanged" title="(similarity 100%)">insert</a> <a id='2125' tid='2126', class="unchanged" title="(similarity 100%)">" "</a>))))))
(<a id='2127' tid='2128', class="unchanged" title="(similarity 100%)">defun</a> <a id='2129' tid='2130', class="unchanged" title="(similarity 100%)">paredit-region-safe-for-insert-p</a> ()
(<a id='2131' tid='2132', class="unchanged" title="(similarity 100%)">save-excursion</a>
(<a id='2133' tid='2134', class="unchanged" title="(similarity 100%)">let</a> ((<a id='2135' tid='2136', class="unchanged" title="(similarity 100%)">beginning</a> (<a id='2137' tid='2138', class="unchanged" title="(similarity 100%)">region-beginning</a>))
(<a id='2139' tid='2140', class="unchanged" title="(similarity 100%)">end</a> (<a id='2141' tid='2142', class="unchanged" title="(similarity 100%)">region-end</a>)))
(<a id='2143' tid='2144', class="unchanged" title="(similarity 100%)">goto-char</a> <a id='2145' tid='2146', class="unchanged" title="(similarity 100%)">beginning</a>)
(<a id='2147' tid='2148', class="unchanged" title="(similarity 100%)">let*</a> ((<a id='2149' tid='2150', class="unchanged" title="(similarity 100%)">beginning-state</a> (<a id='2151' tid='2152', class="unchanged" title="(similarity 100%)">paredit-current-parse-state</a>))
(<a id='2153' tid='2154', class="unchanged" title="(similarity 100%)">end-state</a> (<a id='2155' tid='2156', class="unchanged" title="(similarity 100%)">parse-partial-sexp</a> <a id='2157' tid='2158', class="unchanged" title="(similarity 100%)">beginning</a> <a id='2159' tid='2160', class="unchanged" title="(similarity 100%)">end</a>
<a id='2161' tid='2162', class="unchanged" title="(similarity 100%)">nil</a> <a id='2163' tid='2164', class="unchanged" title="(similarity 100%)">nil</a> <a id='2165' tid='2166', class="unchanged" title="(similarity 100%)">beginning-state</a>)))
(<a id='2167' tid='2168', class="unchanged" title="(similarity 100%)">and</a> (<a id='2169' tid='2170', class="unchanged" title="(similarity 100%)">=</a> (<a id='2171' tid='2172', class="unchanged" title="(similarity 100%)">nth</a> <a id='2173' tid='2174', class="unchanged" title="(similarity 100%)">0</a> <a id='2175' tid='2176', class="unchanged" title="(similarity 100%)">beginning-state</a>) <a id='2177' tid='2178', class="unchanged" title="(similarity 100%)">; 0. depth in parens
</a> (<a id='2179' tid='2180', class="unchanged" title="(similarity 100%)">nth</a> <a id='2181' tid='2182', class="unchanged" title="(similarity 100%)">0</a> <a id='2183' tid='2184', class="unchanged" title="(similarity 100%)">end-state</a>))
(<a id='2185' tid='2186', class="unchanged" title="(similarity 100%)">eq</a> (<a id='2187' tid='2188', class="unchanged" title="(similarity 100%)">nth</a> <a id='2189' tid='2190', class="unchanged" title="(similarity 100%)">3</a> <a id='2191' tid='2192', class="unchanged" title="(similarity 100%)">beginning-state</a>) <a id='2193' tid='2194', class="unchanged" title="(similarity 100%)">; 3. non-nil if inside a
</a> (<a id='2195' tid='2196', class="unchanged" title="(similarity 100%)">nth</a> <a id='2197' tid='2198', class="unchanged" title="(similarity 100%)">3</a> <a id='2199' tid='2200', class="unchanged" title="(similarity 100%)">end-state</a>)) <a id='2201' tid='2202', class="unchanged" title="(similarity 100%)">; string
</a> (<a id='2203' tid='2204', class="unchanged" title="(similarity 100%)">eq</a> (<a id='2205' tid='2206', class="unchanged" title="(similarity 100%)">nth</a> <a id='2207' tid='2208', class="unchanged" title="(similarity 100%)">4</a> <a id='2209' tid='2210', class="unchanged" title="(similarity 100%)">beginning-state</a>) <a id='2211' tid='2212', class="unchanged" title="(similarity 100%)">; 4. comment status, yada
</a> (<a id='2213' tid='2214', class="unchanged" title="(similarity 100%)">nth</a> <a id='2215' tid='2216', class="unchanged" title="(similarity 100%)">4</a> <a id='2217' tid='2218', class="unchanged" title="(similarity 100%)">end-state</a>))
(<a id='2219' tid='2220', class="unchanged" title="(similarity 100%)">eq</a> (<a id='2221' tid='2222', class="unchanged" title="(similarity 100%)">nth</a> <a id='2223' tid='2224', class="unchanged" title="(similarity 100%)">5</a> <a id='2225' tid='2226', class="unchanged" title="(similarity 100%)">beginning-state</a>) <a id='2227' tid='2228', class="unchanged" title="(similarity 100%)">; 5. t if following char
</a> (<a id='2229' tid='2230', class="unchanged" title="(similarity 100%)">nth</a> <a id='2231' tid='2232', class="unchanged" title="(similarity 100%)">5</a> <a id='2233' tid='2234', class="unchanged" title="(similarity 100%)">end-state</a>))))))) <a id='2235' tid='2236', class="unchanged" title="(similarity 100%)">; quote
</a>
(<a id='2237' tid='2238', class="unchanged" title="(similarity 100%)">defun</a> <a id='2239' tid='2240', class="unchanged" title="(similarity 100%)">paredit-space-for-delimiter-p</a> (<a id='2241' tid='2242', class="unchanged" title="(similarity 100%)">endp</a> <a id='2243' tid='2244', class="unchanged" title="(similarity 100%)">delimiter</a>)
<a id='2245' tid='2246', class="unchanged" title="(similarity 100%)">;; If at the buffer limit, don't insert a space. If there is a word,
</a> <a id='2247' tid='2248', class="unchanged" title="(similarity 100%)">;; symbol, other quote, or non-matching parenthesis delimiter (i.e. a
</a> <a id='2249' tid='2250', class="unchanged" title="(similarity 100%)">;; close when want an open the string or an open when we want to
</a> <a id='2251' tid='2252', class="unchanged" title="(similarity 100%)">;; close the string), do insert a space.
</a> (<span class="deletion" title="deleted">and</span> (<a id='733' tid='734', class="move" title="(similarity 100%)">not</a> (<a id='735' tid='736', class="move" title="(similarity 100%)">if</a> <a id='737' tid='738', class="move" title="(similarity 100%)">endp</a> (<a id='739' tid='740', class="move" title="(similarity 100%)">eobp</a>) (<a id='741' tid='742', class="move" title="(similarity 100%)">bobp</a>)))
(<a id='415' tid='416', class="move" title="(similarity 100%)">memq</a> (<a id='523' tid='524', class="move" title="(similarity 100%)">char-syntax</a> (<a id='525' tid='526', class="move" title="(similarity 100%)">if</a> <a id='527' tid='528', class="move" title="(similarity 100%)">endp</a>
(<a id='529' tid='530', class="move" title="(similarity 100%)">char-after</a>)
(<a id='531' tid='532', class="move" title="(similarity 100%)">char-before</a>)))
(<span class="deletion" title="deleted">list</span> <span class="deletion" title="deleted">?w</span> <span class="deletion" title="deleted">?_</span> <span class="deletion" title="deleted">?\"</span>
(<a id='417' tid='418', class="move" title="(similarity 100%)">let</a> ((<a id='419' tid='420', class="move" title="(similarity 100%)">matching</a> (<a id='421' tid='422', class="move" title="(similarity 100%)">matching-paren</a> <a id='423' tid='424', class="move" title="(similarity 100%)">delimiter</a>)))
(<a id='425' tid='426', class="move" title="(similarity 100%)">and</a> <a id='427' tid='428', class="move" title="(similarity 100%)">matching</a> (<a id='429' tid='430', class="move" title="(similarity 100%)">char-syntax</a> <a id='431' tid='432', class="move" title="(similarity 100%)">matching</a>)))))))
(<a id='2253' tid='2254', class="unchanged" title="(similarity 100%)">defun</a> <a id='2255' tid='2256', class="unchanged" title="(similarity 100%)">paredit-move-past-close-and-reindent</a> <span class="deletion" title="deleted">()</span>
(<span class="deletion" title="deleted">let</span> <span class="deletion" title="deleted">((orig (point)))</span>
<span class="deletion" title="deleted">(up-list)</span>
(<a id='743' tid='744', class="move" title="(similarity 100%)">if</a> (<a id='745' tid='746', class="move" title="(similarity 100%)">catch</a> <a id='747' tid='748', class="move" title="(similarity 100%)">'</a><a id='749' tid='750', class="move" title="(similarity 100%)">return</a> <a id='751' tid='752', class="move" title="(similarity 100%)">; This CATCH returns T if it
</a> (<a id='753' tid='754', class="move" title="(similarity 100%)">while</a> <a id='755' tid='756', class="move" title="(similarity 100%)">t</a> <a id='757' tid='758', class="move" title="(similarity 100%)">; should delete leading spaces
</a> (<a id='759' tid='760', class="move" title="(similarity 100%)">save-excursion</a> <a id='761' tid='762', class="move" title="(similarity 100%)">; and NIL if not.
</a> (<a id='763' tid='764', class="move" title="(similarity 100%)">let</a> ((<a id='765' tid='766', class="move" title="(similarity 100%)">before-paren</a> (<a id='767' tid='768', class="move" title="(similarity 100%)">1-</a> (<a id='769' tid='770', class="move" title="(similarity 100%)">point</a>))))
(<a id='771' tid='772', class="move" title="(similarity 100%)">back-to-indentation</a>)
(<a id='773' tid='774', class="move" title="(similarity 100%)">cond</a> ((<a id='775' tid='776', class="move" title="(similarity 100%)">not</a> (<a id='777' tid='778', class="move" title="(similarity 100%)">eq</a> (<a id='779' tid='780', class="move" title="(similarity 100%)">point</a>) <a id='781' tid='782', class="move" title="(similarity 100%)">before-paren</a>))
<a id='783' tid='784', class="move" title="(similarity 100%)">;; Can't call PAREDIT-DELETE-LEADING-WHITESPACE
</a> <a id='785' tid='786', class="move" title="(similarity 100%)">;; here -- we must return from SAVE-EXCURSION
</a> <a id='787' tid='788', class="move" title="(similarity 100%)">;; first.
</a> (<a id='789' tid='790', class="move" title="(similarity 100%)">throw</a> <a id='791' tid='792', class="move" title="(similarity 100%)">'</a><a id='793' tid='794', class="move" title="(similarity 100%)">return</a> <a id='795' tid='796', class="move" title="(similarity 100%)">t</a>))
((<a id='797' tid='798', class="move" title="(similarity 100%)">save-excursion</a> (<a id='799' tid='800', class="move" title="(similarity 100%)">forward-line</a> <a id='801' tid='802', class="move" title="(similarity 100%)">-1</a>)
(<a id='803' tid='804', class="move" title="(similarity 100%)">end-of-line</a>)
(<a id='805' tid='806', class="move" title="(similarity 100%)">paredit-in-comment-p</a>))
<span class="deletion" title="deleted">;; Moving the closing parenthesis any further
</span> <span class="deletion" title="deleted">;; would put it into a comment, so we just
</span> <span class="deletion" title="deleted">;; indent the closing parenthesis where it is
</span> <span class="deletion" title="deleted">;; and abort the loop, telling its continuation
</span> <span class="deletion" title="deleted">;; that no leading whitespace should be deleted.
</span> (<a id='807' tid='808', class="move" title="(similarity 100%)">lisp-indent-line</a>)
(<a id='809' tid='810', class="move" title="(similarity 100%)">throw</a> <a id='811' tid='812', class="move" title="(similarity 100%)">'</a><a id='813' tid='814', class="move" title="(similarity 100%)">return</a> <a id='815' tid='816', class="move" title="(similarity 100%)">nil</a>))
(<a id='817' tid='818', class="move" title="(similarity 100%)">t</a> (<a id='819' tid='820', class="move" title="(similarity 100%)">delete-indentation</a>)))))))
(<a id='821' tid='822', class="move" title="(similarity 100%)">paredit-delete-leading-whitespace</a>))))
(<a id='2257' tid='2258', class="unchanged" title="(similarity 100%)">defun</a> <a id='2259' tid='2260', class="unchanged" title="(similarity 100%)">paredit-delete-leading-whitespace</a> ()
<span class="deletion" title="deleted">;; This assumes that we're on the closing parenthesis already.
</span> (<a id='2261' tid='2262', class="unchanged" title="(similarity 100%)">save-excursion</a>
(<a id='2263' tid='2264', class="unchanged" title="(similarity 100%)">backward-char</a>)
(<a id='2265' tid='2266', class="unchanged" title="(similarity 100%)">while</a> (<a id='2267' tid='2268', class="unchanged" title="(similarity 100%)">let</a> ((<a id='2269' tid='2270', class="unchanged" title="(similarity 100%)">syn</a> (<a id='2271' tid='2272', class="unchanged" title="(similarity 100%)">char-syntax</a> (<a id='2273' tid='2274', class="unchanged" title="(similarity 100%)">char-before</a>))))
(<a id='2275' tid='2276', class="unchanged" title="(similarity 100%)">and</a> (<a id='2277' tid='2278', class="unchanged" title="(similarity 100%)">or</a> (<a id='2279' tid='2280', class="unchanged" title="(similarity 100%)">eq</a> <a id='2281' tid='2282', class="unchanged" title="(similarity 100%)">syn</a> <a id='2283' tid='2284', class="unchanged" title="(similarity 100%)">?\ </a>) (<a id='2285' tid='2286', class="unchanged" title="(similarity 100%)">eq</a> <a id='2287' tid='2288', class="unchanged" title="(similarity 100%)">syn</a> <a id='2289' tid='2290', class="unchanged" title="(similarity 100%)">?-</a>)) <a id='2291' tid='2292', class="unchanged" title="(similarity 100%)">; whitespace syntax
</a> <a id='2293' tid='2294', class="unchanged" title="(similarity 100%)">;; The above line is a perfect example of why the
</a> <a id='2295' tid='2296', class="unchanged" title="(similarity 100%)">;; following test is necessary.
</a> (<a id='2297' tid='2298', class="unchanged" title="(similarity 100%)">not</a> (<a id='2299' tid='2300', class="unchanged" title="(similarity 100%)">paredit-in-char-p</a> (<a id='2301' tid='2302', class="unchanged" title="(similarity 100%)">1-</a> (<a id='2303' tid='2304', class="unchanged" title="(similarity 100%)">point</a>))))))
(<a id='2305' tid='2306', class="unchanged" title="(similarity 100%)">backward-delete-char</a> <a id='2307' tid='2308', class="unchanged" title="(similarity 100%)">1</a>))))
(<a id='2309' tid='2310', class="unchanged" title="(similarity 100%)">defun</a> <a id='2311' tid='2312', class="unchanged" title="(similarity 100%)">paredit-blink-paren-match</a> (<a id='2313' tid='2314', class="unchanged" title="(similarity 100%)">another-line-p</a>)
(<a id='2315' tid='2316', class="unchanged" title="(similarity 100%)">if</a> (<a id='2317' tid='2318', class="unchanged" title="(similarity 100%)">and</a> <a id='2319' tid='2320', class="unchanged" title="(similarity 100%)">blink-matching-paren</a>
(<a id='2321' tid='2322', class="unchanged" title="(similarity 100%)">or</a> (<a id='2323' tid='2324', class="unchanged" title="(similarity 100%)">not</a> <a id='2325' tid='2326', class="unchanged" title="(similarity 100%)">show-paren-mode</a>) <a id='2327' tid='2328', class="unchanged" title="(similarity 100%)">another-line-p</a>))
(<a id='2329' tid='2330', class="unchanged" title="(similarity 100%)">paredit-ignore-sexp-errors</a>
(<a id='2331' tid='2332', class="unchanged" title="(similarity 100%)">save-excursion</a>
(<a id='2333' tid='2334', class="unchanged" title="(similarity 100%)">backward-sexp</a>)
(<a id='2335' tid='2336', class="unchanged" title="(similarity 100%)">forward-sexp</a>)
<a id='2337' tid='2338', class="unchanged" title="(similarity 100%)">;; SHOW-PAREN-MODE inhibits any blinking, so we disable it
</a> <a id='2339' tid='2340', class="unchanged" title="(similarity 100%)">;; locally here.
</a> (<a id='2341' tid='2342', class="unchanged" title="(similarity 100%)">let</a> ((<a id='2343' tid='2344', class="unchanged" title="(similarity 100%)">show-paren-mode</a> <a id='2345' tid='2346', class="unchanged" title="(similarity 100%)">nil</a>))
(<a id='2347' tid='2348', class="unchanged" title="(similarity 100%)">blink-matching-open</a>))))))
(<a id='2349' tid='2350', class="unchanged" title="(similarity 100%)">defun</a> <a id='2351' tid='2352', class="unchanged" title="(similarity 100%)">paredit-doublequote</a> (<a id='2353' tid='2354', class="unchanged" title="(similarity 100%)">&optional</a> <a id='2355' tid='2356', class="unchanged" title="(similarity 100%)">n</a>)
<a id='2357' tid='2358', class="unchanged" title="(similarity 100%)">"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."</a>
(<a id='2359' tid='2360', class="unchanged" title="(similarity 100%)">interactive</a> <a id='2361' tid='2362', class="unchanged" title="(similarity 100%)">"P"</a>)
(<a id='2363' tid='2364', class="unchanged" title="(similarity 100%)">cond</a> ((<a id='2365' tid='2366', class="unchanged" title="(similarity 100%)">paredit-in-string-p</a>)
(<a id='2367' tid='2368', class="unchanged" title="(similarity 100%)">if</a> (<a id='2369' tid='2370', class="unchanged" title="(similarity 100%)">eq</a> (<a id='2371' tid='2372', class="unchanged" title="(similarity 100%)">cdr</a> (<a id='2373' tid='2374', class="unchanged" title="(similarity 100%)">paredit-string-start+end-points</a>))
(<a id='2375' tid='2376', class="unchanged" title="(similarity 100%)">point</a>))
(<a id='2377' tid='2378', class="unchanged" title="(similarity 100%)">forward-char</a>) <a id='2379' tid='2380', class="unchanged" title="(similarity 100%)">; We're on the closing quote.
</a> (<a id='2381' tid='2382', class="unchanged" title="(similarity 100%)">insert</a> <a id='2383' tid='2384', class="unchanged" title="(similarity 100%)">?\\</a> <a id='2385' tid='2386', class="unchanged" title="(similarity 100%)">?\"</a> )))
((<a id='2387' tid='2388', class="unchanged" title="(similarity 100%)">paredit-in-comment-p</a>)
(<a id='2389' tid='2390', class="unchanged" title="(similarity 100%)">insert</a> <a id='2391' tid='2392', class="unchanged" title="(similarity 100%)">?\"</a> ))
((<a id='2393' tid='2394', class="unchanged" title="(similarity 100%)">not</a> (<a id='2395' tid='2396', class="unchanged" title="(similarity 100%)">paredit-in-char-p</a>))
(<a id='2397' tid='2398', class="unchanged" title="(similarity 100%)">paredit-insert-pair</a> <a id='2399' tid='2400', class="unchanged" title="(similarity 100%)">n</a> <a id='2401' tid='2402', class="unchanged" title="(similarity 100%)">?\"</a> <a id='2403' tid='2404', class="unchanged" title="(similarity 100%)">?\"</a> <a id='2405' tid='2406', class="unchanged" title="(similarity 100%)">'</a><a id='2407' tid='2408', class="unchanged" title="(similarity 100%)">paredit-forward-for-quote</a>))))
(<a id='2409' tid='2410', class="unchanged" title="(similarity 100%)">defun</a> <a id='2411' tid='2412', class="unchanged" title="(similarity 100%)">paredit-meta-doublequote</a> (<a id='2413' tid='2414', class="unchanged" title="(similarity 100%)">&optional</a> <a id='2415' tid='2416', class="unchanged" title="(similarity 100%)">n</a>)
<a id='2417' tid='2418', class="unchanged" title="(similarity 100%)">"Move to the end of the string, insert a newline, and indent.
If not in a string, act as `paredit-doublequote'; if no 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."</a>
(<a id='2419' tid='2420', class="unchanged" title="(similarity 100%)">interactive</a> <a id='2421' tid='2422', class="unchanged" title="(similarity 100%)">"P"</a>)
(<a id='2423' tid='2424', class="unchanged" title="(similarity 100%)">if</a> (<a id='2425' tid='2426', class="unchanged" title="(similarity 100%)">not</a> (<a id='2427' tid='2428', class="unchanged" title="(similarity 100%)">paredit-in-string-p</a>))
(<a id='2429' tid='2430', class="unchanged" title="(similarity 100%)">paredit-doublequote</a> (<a id='2431' tid='2432', class="unchanged" title="(similarity 100%)">or</a> <a id='2433' tid='2434', class="unchanged" title="(similarity 100%)">n</a>
(<a id='2435' tid='2436', class="unchanged" title="(similarity 100%)">and</a> (<a id='2437' tid='2438', class="unchanged" title="(similarity 100%)">not</a> (<a id='2439' tid='2440', class="unchanged" title="(similarity 100%)">paredit-region-active-p</a>))
<a id='2441' tid='2442', class="unchanged" title="(similarity 100%)">1</a>)))
(<a id='2443' tid='2444', class="unchanged" title="(similarity 100%)">let</a> ((<a id='2445' tid='2446', class="unchanged" title="(similarity 100%)">start+end</a> (<a id='2447' tid='2448', class="unchanged" title="(similarity 100%)">paredit-string-start+end-points</a>)))
(<a id='2449' tid='2450', class="unchanged" title="(similarity 100%)">goto-char</a> (<a id='2451' tid='2452', class="unchanged" title="(similarity 100%)">1+</a> (<a id='2453' tid='2454', class="unchanged" title="(similarity 100%)">cdr</a> <a id='2455' tid='2456', class="unchanged" title="(similarity 100%)">start+end</a>)))
(<a id='2457' tid='2458', class="unchanged" title="(similarity 100%)">newline</a>)
(<a id='2459' tid='2460', class="unchanged" title="(similarity 100%)">lisp-indent-line</a>)
(<a id='2461' tid='2462', class="unchanged" title="(similarity 100%)">paredit-ignore-sexp-errors</a> (<a id='2463' tid='2464', class="unchanged" title="(similarity 100%)">indent-sexp</a>)))))
(<a id='2465' tid='2466', class="unchanged" title="(similarity 100%)">defun</a> <a id='2467' tid='2468', class="unchanged" title="(similarity 100%)">paredit-forward-for-quote</a> (<a id='2469' tid='2470', class="unchanged" title="(similarity 100%)">end</a>)
(<a id='2471' tid='2472', class="unchanged" title="(similarity 100%)">let</a> ((<a id='2473' tid='2474', class="unchanged" title="(similarity 100%)">state</a> (<a id='2475' tid='2476', class="unchanged" title="(similarity 100%)">paredit-current-parse-state</a>)))
(<a id='2477' tid='2478', class="unchanged" title="(similarity 100%)">while</a> (<a id='2479' tid='2480', class="unchanged" title="(similarity 100%)"><</a> (<a id='2481' tid='2482', class="unchanged" title="(similarity 100%)">point</a>) <a id='2483' tid='2484', class="unchanged" title="(similarity 100%)">end</a>)
(<a id='2485' tid='2486', class="unchanged" title="(similarity 100%)">let</a> ((<a id='2487' tid='2488', class="unchanged" title="(similarity 100%)">new-state</a> (<a id='2489' tid='2490', class="unchanged" title="(similarity 100%)">parse-partial-sexp</a> (<a id='2491' tid='2492', class="unchanged" title="(similarity 100%)">point</a>) (<a id='2493' tid='2494', class="unchanged" title="(similarity 100%)">1+</a> (<a id='2495' tid='2496', class="unchanged" title="(similarity 100%)">point</a>))
<a id='2497' tid='2498', class="unchanged" title="(similarity 100%)">nil</a> <a id='2499' tid='2500', class="unchanged" title="(similarity 100%)">nil</a> <a id='2501' tid='2502', class="unchanged" title="(similarity 100%)">state</a>)))
(<a id='2503' tid='2504', class="unchanged" title="(similarity 100%)">if</a> (<a id='2505' tid='2506', class="unchanged" title="(similarity 100%)">paredit-in-string-p</a> <a id='2507' tid='2508', class="unchanged" title="(similarity 100%)">new-state</a>)
(<a id='2509' tid='2510', class="unchanged" title="(similarity 100%)">if</a> (<a id='2511' tid='2512', class="unchanged" title="(similarity 100%)">not</a> (<a id='2513' tid='2514', class="unchanged" title="(similarity 100%)">paredit-in-string-escape-p</a>))
(<a id='2515' tid='2516', class="unchanged" title="(similarity 100%)">setq</a> <a id='2517' tid='2518', class="unchanged" title="(similarity 100%)">state</a> <a id='2519' tid='2520', class="unchanged" title="(similarity 100%)">new-state</a>)
<a id='2521' tid='2522', class="unchanged" title="(similarity 100%)">;; Escape character: turn it into an escaped escape
</a> <a id='2523' tid='2524', class="unchanged" title="(similarity 100%)">;; character by appending another backslash.
</a> (<a id='2525' tid='2526', class="unchanged" title="(similarity 100%)">insert</a> <a id='2527' tid='2528', class="unchanged" title="(similarity 100%)">?\\</a> )
<a id='2529' tid='2530', class="unchanged" title="(similarity 100%)">;; Now the point is after both escapes, and we want to
</a> <a id='2531' tid='2532', class="unchanged" title="(similarity 100%)">;; rescan from before the first one to after the second
</a> <a id='2533' tid='2534', class="unchanged" title="(similarity 100%)">;; one.
</a> (<a id='2535' tid='2536', class="unchanged" title="(similarity 100%)">setq</a> <a id='2537' tid='2538', class="unchanged" title="(similarity 100%)">state</a>
(<a id='2539' tid='2540', class="unchanged" title="(similarity 100%)">parse-partial-sexp</a> (<a id='2541' tid='2542', class="unchanged" title="(similarity 100%)">-</a> (<a id='2543' tid='2544', class="unchanged" title="(similarity 100%)">point</a>) <a id='2545' tid='2546', class="unchanged" title="(similarity 100%)">2</a>) (<a id='2547' tid='2548', class="unchanged" title="(similarity 100%)">point</a>)
<a id='2549' tid='2550', class="unchanged" title="(similarity 100%)">nil</a> <a id='2551' tid='2552', class="unchanged" title="(similarity 100%)">nil</a> <a id='2553' tid='2554', class="unchanged" title="(similarity 100%)">state</a>))
<a id='2555' tid='2556', class="unchanged" title="(similarity 100%)">;; Advance the end point, since we just inserted a new
</a> <a id='2557' tid='2558', class="unchanged" title="(similarity 100%)">;; character.
</a> (<a id='2559' tid='2560', class="unchanged" title="(similarity 100%)">setq</a> <a id='2561' tid='2562', class="unchanged" title="(similarity 100%)">end</a> (<a id='2563' tid='2564', class="unchanged" title="(similarity 100%)">1+</a> <a id='2565' tid='2566', class="unchanged" title="(similarity 100%)">end</a>)))
<a id='2567' tid='2568', class="unchanged" title="(similarity 100%)">;; String: escape by inserting a backslash before the quote.
</a> (<a id='2569' tid='2570', class="unchanged" title="(similarity 100%)">backward-char</a>)
(<a id='2571' tid='2572', class="unchanged" title="(similarity 100%)">insert</a> <a id='2573' tid='2574', class="unchanged" title="(similarity 100%)">?\\</a> )
<a id='2575' tid='2576', class="unchanged" title="(similarity 100%)">;; The point is now between the escape and the quote, and we
</a> <a id='2577' tid='2578', class="unchanged" title="(similarity 100%)">;; want to rescan from before the escape to after the quote.
</a> (<a id='2579' tid='2580', class="unchanged" title="(similarity 100%)">setq</a> <a id='2581' tid='2582', class="unchanged" title="(similarity 100%)">state</a>
(<a id='2583' tid='2584', class="unchanged" title="(similarity 100%)">parse-partial-sexp</a> (<a id='2585' tid='2586', class="unchanged" title="(similarity 100%)">1-</a> (<a id='2587' tid='2588', class="unchanged" title="(similarity 100%)">point</a>)) (<a id='2589' tid='2590', class="unchanged" title="(similarity 100%)">1+</a> (<a id='2591' tid='2592', class="unchanged" title="(similarity 100%)">point</a>))
<a id='2593' tid='2594', class="unchanged" title="(similarity 100%)">nil</a> <a id='2595' tid='2596', class="unchanged" title="(similarity 100%)">nil</a> <a id='2597' tid='2598', class="unchanged" title="(similarity 100%)">state</a>))
<a id='2599' tid='2600', class="unchanged" title="(similarity 100%)">;; Advance the end point for the same reason as above.
</a> (<a id='2601' tid='2602', class="unchanged" title="(similarity 100%)">setq</a> <a id='2603' tid='2604', class="unchanged" title="(similarity 100%)">end</a> (<a id='2605' tid='2606', class="unchanged" title="(similarity 100%)">1+</a> <a id='2607' tid='2608', class="unchanged" title="(similarity 100%)">end</a>)))))))
<a id='2609' tid='2610', class="unchanged" title="(similarity 100%)">;;;; Escape Insertion
</a>
(<a id='2611' tid='2612', class="unchanged" title="(similarity 100%)">defun</a> <a id='2613' tid='2614', class="unchanged" title="(similarity 100%)">paredit-backslash</a> ()
<a id='2615' tid='2616', class="unchanged" title="(similarity 100%)">"Insert a backslash followed by a character to escape."</a>
(<a id='2617' tid='2618', class="unchanged" title="(similarity 100%)">interactive</a>)
(<a id='2619' tid='2620', class="unchanged" title="(similarity 100%)">insert</a> <a id='2621' tid='2622', class="unchanged" title="(similarity 100%)">?\\</a> )
<a id='2623' tid='2624', class="unchanged" title="(similarity 100%)">;; This funny conditional is necessary because PAREDIT-IN-COMMENT-P
</a> <a id='2625' tid='2626', class="unchanged" title="(similarity 100%)">;; assumes that PAREDIT-IN-STRING-P already returned false; otherwise
</a> <a id='2627' tid='2628', class="unchanged" title="(similarity 100%)">;; it may give erroneous answers.
</a> (<a id='2629' tid='2630', class="unchanged" title="(similarity 100%)">if</a> (<a id='2631' tid='2632', class="unchanged" title="(similarity 100%)">or</a> (<a id='2633' tid='2634', class="unchanged" title="(similarity 100%)">paredit-in-string-p</a>)
(<a id='2635' tid='2636', class="unchanged" title="(similarity 100%)">not</a> (<a id='2637' tid='2638', class="unchanged" title="(similarity 100%)">paredit-in-comment-p</a>)))
(<a id='2639' tid='2640', class="unchanged" title="(similarity 100%)">let</a> ((<a id='2641' tid='2642', class="unchanged" title="(similarity 100%)">delp</a> <a id='2643' tid='2644', class="unchanged" title="(similarity 100%)">t</a>))
(<a id='2645' tid='2646', class="unchanged" title="(similarity 100%)">unwind-protect</a> (<a id='2647' tid='2648', class="unchanged" title="(similarity 100%)">setq</a> <a id='2649' tid='2650', class="unchanged" title="(similarity 100%)">delp</a>
(<a id='2651' tid='2652', class="unchanged" title="(similarity 100%)">call-interactively</a> <a id='2653' tid='2654', class="unchanged" title="(similarity 100%)">'</a><a id='2655' tid='2656', class="unchanged" title="(similarity 100%)">paredit-escape</a>))
<a id='2657' tid='2658', class="unchanged" title="(similarity 100%)">;; We need this in an UNWIND-PROTECT so that the backlash is
</a> <a id='2659' tid='2660', class="unchanged" title="(similarity 100%)">;; left in there *only* if PAREDIT-ESCAPE return NIL normally
</a> <a id='2661' tid='2662', class="unchanged" title="(similarity 100%)">;; -- in any other case, such as the user hitting C-g or an
</a> <a id='2663' tid='2664', class="unchanged" title="(similarity 100%)">;; error occurring, we must delete the backslash to avoid
</a> <a id='2665' tid='2666', class="unchanged" title="(similarity 100%)">;; leaving a dangling escape. (This control structure is a
</a> <a id='2667' tid='2668', class="unchanged" title="(similarity 100%)">;; crock.)
</a> (<a id='2669' tid='2670', class="unchanged" title="(similarity 100%)">if</a> <a id='2671' tid='2672', class="unchanged" title="(similarity 100%)">delp</a> (<a id='2673' tid='2674', class="unchanged" title="(similarity 100%)">backward-delete-char</a> <a id='2675' tid='2676', class="unchanged" title="(similarity 100%)">1</a>))))))
<a id='2677' tid='2678', class="unchanged" title="(similarity 100%)">;;; This auxiliary interactive function returns true if the backslash
</a><a id='2679' tid='2680', class="unchanged" title="(similarity 100%)">;;; should be deleted and false if not.
</a>
(<a id='2681' tid='2682', class="unchanged" title="(similarity 100%)">defun</a> <a id='2683' tid='2684', class="unchanged" title="(similarity 100%)">paredit-escape</a> (<a id='2685' tid='2686', class="unchanged" title="(similarity 100%)">char</a>)
<a id='2687' tid='2688', class="unchanged" title="(similarity 100%)">;; I'm too lazy to figure out how to do this without a separate
</a> <a id='2689' tid='2690', class="unchanged" title="(similarity 100%)">;; interactive function.
</a> (<a id='2691' tid='2692', class="unchanged" title="(similarity 100%)">interactive</a> <a id='2693' tid='2694', class="unchanged" title="(similarity 100%)">"cEscaping character..."</a>)
(<a id='2695' tid='2696', class="unchanged" title="(similarity 100%)">if</a> (<a id='2697' tid='2698', class="unchanged" title="(similarity 100%)">eq</a> <a id='2699' tid='2700', class="unchanged" title="(similarity 100%)">char</a> <a id='2701' tid='2702', class="unchanged" title="(similarity 100%)">127</a>) <a id='2703' tid='2704', class="unchanged" title="(similarity 100%)">; The backslash was a typo, so
</a> <a id='2705' tid='2706', class="unchanged" title="(similarity 100%)">t</a> <a id='2707' tid='2708', class="unchanged" title="(similarity 100%)">; the luser wants to delete it.
</a> (<a id='2709' tid='2710', class="unchanged" title="(similarity 100%)">insert</a> <a id='2711' tid='2712', class="unchanged" title="(similarity 100%)">char</a>) <a id='2713' tid='2714', class="unchanged" title="(similarity 100%)">; (Is there a better way to
</a> <a id='2715' tid='2716', class="unchanged" title="(similarity 100%)">nil</a>)) <a id='2717' tid='2718', class="unchanged" title="(similarity 100%)">; express the rubout char?
</a> <a id='2719' tid='2720', class="unchanged" title="(similarity 100%)">; ?\^? works, but ugh...)
</a>
<span class="deletion" title="deleted">;;; The placement of this function in this file is totally random.
</span>
(<a id='2721' tid='2722', class="unchanged" title="(similarity 100%)">defun</a> <a id='2723' tid='2724', class="unchanged" title="(similarity 100%)">paredit-newline</a> ()
<span class="deletion" title="deleted">"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."</span>
(<a id='2725' tid='2726', class="unchanged" title="(similarity 100%)">interactive</a>)
<span class="deletion" title="deleted">(if (paredit-in-string-p)
(newline)
(if (and (not (paredit-in-comment-p)) (paredit-in-char-p))
(forward-char))
(newline-and-indent)
;; Indent the following S-expression, but don't signal an error if
;; there's only a closing parenthesis after the point.
(paredit-ignore-sexp-errors (indent-sexp)))</span>)
<span class="deletion" title="deleted">;;;; Comment Insertion
</span>
(<a id='2727' tid='2728', class="unchanged" title="(similarity 100%)">defun</a> <a id='2729' tid='2730', class="unchanged" title="(similarity 100%)">paredit-semicolon</a> (<a id='2731' tid='2732', class="unchanged" title="(similarity 100%)">&optional</a> <a id='2733' tid='2734', class="unchanged" title="(similarity 100%)">n</a>)
<span class="deletion" title="deleted">"Insert a semicolon, moving any code after the point to a new line.
If in a string, comment, or character literal, insert just a literal
semicolon, and do not move anything to the next line.
With a prefix argument N, insert N semicolons."</span>
<span class="deletion" title="deleted">(interactive "P")</span>
(<span class="deletion" title="deleted">if</span> (<span class="deletion" title="deleted">not</span> (<span class="deletion" title="deleted">or</span> <span class="deletion" title="deleted">(paredit-in-string-p)</span>
<span class="deletion" title="deleted">(paredit-in-comment-p)</span>
<span class="deletion" title="deleted">(paredit-in-char-p)</span>
<span class="deletion" title="deleted">;; No more code on the line after the point.
</span> (<a id='823' tid='824', class="move" title="(similarity 100%)">save-excursion</a>
(<a id='825' tid='826', class="move" title="(similarity 100%)">paredit-skip-whitespace</a> <a id='827' tid='828', class="move" title="(similarity 100%)">t</a> (<a id='829' tid='830', class="move" title="(similarity 100%)">point-at-eol</a>))
(<a id='831' tid='832', class="move" title="(similarity 100%)">or</a> (<a id='833' tid='834', class="move" title="(similarity 100%)">eolp</a>)
<span class="deletion" title="deleted">;; Let the user prefix semicolons to existing
</span> <span class="deletion" title="deleted">;; comments.
</span> (<a id='835' tid='836', class="move" title="(similarity 100%)">eq</a> (<a id='837' tid='838', class="move" title="(similarity 100%)">char-after</a>) <a id='839' tid='840', class="move" title="(similarity 100%)">?\;</a>)))))
<span class="deletion" title="deleted">;; Don't use NEWLINE-AND-INDENT, because that will delete all of
</span> <span class="deletion" title="deleted">;; the horizontal whitespace first, but we just want to move the
</span> <span class="deletion" title="deleted">;; code following the point onto the next line while preserving
</span> <span class="deletion" title="deleted">;; the point on this line.
</span> <span class="deletion" title="deleted">;++ Why indent only the line?
</span> <span class="deletion" title="deleted">(save-excursion (newline) (lisp-indent-line))</span>)
<span class="deletion" title="deleted">(insert (make-string (if n (prefix-numeric-value n) 1)
?\; ))</span>)
(<a id='2735' tid='2736', class="unchanged" title="(similarity 100%)">defun</a> <a id='2737' tid='2738', class="unchanged" title="(similarity 100%)">paredit-comment-dwim</a> <span class="deletion" title="deleted">(&optional arg)</span>
<a id='2739' tid='2740', class="unchanged" title="(similarity 100%)">"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'."</a>
(<a id='2741' tid='2742', class="unchanged" title="(similarity 100%)">interactive</a> <a id='2743' tid='2744', class="unchanged" title="(similarity 100%)">"*P"</a>)
<span class="deletion" title="deleted">(require 'newcomment)</span>
<span class="deletion" title="deleted">(comment-normalize-vars)</span>
<span class="deletion" title="deleted">(cond ((paredit-region-active-p)
(comment-or-uncomment-region (region-beginning)
(region-end)
arg))
((paredit-comment-on-line-p)
(if arg
(comment-kill (if (integerp arg) arg nil))
(comment-indent)))
(t (paredit-insert-comment)))</span>)
(<a id='2745' tid='2746', class="unchanged" title="(similarity 100%)">defun</a> <a id='2747' tid='2748', class="unchanged" title="(similarity 100%)">paredit-comment-on-line-p</a> ()
(<a id='841' tid='842', class="move" title="(similarity 100%)">save-excursion</a>
(<a id='843' tid='844', class="move" title="(similarity 100%)">beginning-of-line</a>)
(<a id='845' tid='846', class="move" title="(similarity 100%)">let</a> ((<a id='847' tid='848', class="move" title="(similarity 100%)">comment-p</a> <a id='849' tid='850', class="move" title="(similarity 100%)">nil</a>))
<a id='851' tid='852', class="move" title="(similarity 100%)">;; Search forward for a comment beginning. If there is one, set
</a> <a id='853' tid='854', class="move" title="(similarity 100%)">;; COMMENT-P to true; if not, it will be nil.
</a> (<a id='855' tid='856', class="move" title="(similarity 100%)">while</a> (<span class="deletion" title="deleted">progn</span> <span class="deletion" title="deleted">(setq comment-p
(search-forward ";" (point-at-eol)
;; t -> no error
t))</span>
(<a id='857' tid='858', class="move" title="(similarity 100%)">and</a> <a id='859' tid='860', class="move" title="(similarity 100%)">comment-p</a>
(<a id='861' tid='862', class="move" title="(similarity 100%)">or</a> (<a id='863' tid='864', class="move" title="(similarity 100%)">paredit-in-string-p</a>)
(<a id='865' tid='866', class="move" title="(similarity 100%)">paredit-in-char-p</a> (<a id='867' tid='868', class="move" title="(similarity 100%)">1-</a> (<a id='869' tid='870', class="move" title="(similarity 100%)">point</a>))))))
(<a id='871' tid='872', class="move" title="(similarity 100%)">forward-char</a>))
<a id='873' tid='874', class="move" title="(similarity 100%)">comment-p</a>)))
(<a id='2749' tid='2750', class="unchanged" title="(similarity 100%)">defun</a> <a id='2751' tid='2752', class="unchanged" title="(similarity 100%)">paredit-insert-comment</a> ()
(<a id='875' tid='876', class="move" title="(similarity 100%)">let</a> ((<a id='877' tid='878', class="move" title="(similarity 100%)">code-after-p</a>
(<a id='879' tid='880', class="move" title="(similarity 100%)">save-excursion</a> (<a id='881' tid='882', class="move" title="(similarity 100%)">paredit-skip-whitespace</a> <a id='883' tid='884', class="move" title="(similarity 100%)">t</a> (<a id='885' tid='886', class="move" title="(similarity 100%)">point-at-eol</a>))
(<a id='887' tid='888', class="move" title="(similarity 100%)">not</a> (<a id='889' tid='890', class="move" title="(similarity 100%)">eolp</a>))))
(<a id='891' tid='892', class="move" title="(similarity 100%)">code-before-p</a>
(<a id='893' tid='894', class="move" title="(similarity 100%)">save-excursion</a> (<a id='895' tid='896', class="move" title="(similarity 100%)">paredit-skip-whitespace</a> <a id='897' tid='898', class="move" title="(similarity 100%)">nil</a> (<a id='899' tid='900', class="move" title="(similarity 100%)">point-at-bol</a>))
(<a id='901' tid='902', class="move" title="(similarity 100%)">not</a> (<a id='903' tid='904', class="move" title="(similarity 100%)">bolp</a>)))))
(<span class="deletion" title="deleted">if</span> (<a id='905' tid='906', class="move" title="(similarity 100%)">and</a> (<a id='907' tid='908', class="move" title="(similarity 100%)">bolp</a>)
<span class="deletion" title="deleted">;; We have to use EQ 0 here and not ZEROP because ZEROP
</span> <span class="deletion" title="deleted">;; signals an error if its argument is non-numeric, but
</span> <span class="deletion" title="deleted">;; CALCULATE-LISP-INDENT may return nil.
</span> (<span class="deletion" title="deleted">eq</span> (<a id='909' tid='910', class="move" title="(similarity 100%)">let</a> ((<a id='911' tid='912', class="move" title="(similarity 100%)">indent</a> (<a id='913' tid='914', class="move" title="(similarity 100%)">calculate-lisp-indent</a>)))
(<a id='915' tid='916', class="move" title="(similarity 100%)">if</a> (<a id='917' tid='918', class="move" title="(similarity 100%)">consp</a> <a id='919' tid='920', class="move" title="(similarity 100%)">indent</a>)
(<a id='921' tid='922', class="move" title="(similarity 100%)">car</a> <a id='923' tid='924', class="move" title="(similarity 100%)">indent</a>)
<a id='925' tid='926', class="move" title="(similarity 100%)">indent</a>))
<span class="deletion" title="deleted">0</span>))
<span class="deletion" title="deleted">;; Top-level comment
</span> <span class="deletion" title="deleted">(progn (if code-after-p (save-excursion (newline)))
(insert ";;; "))</span>
<span class="deletion" title="deleted">(if code-after-p
;; Code comment
(progn (if code-before-p
;++ Why NEWLINE-AND-INDENT here and not just
;++ NEWLINE, or PAREDIT-NEWLINE?
(newline-and-indent))
(lisp-indent-line)
(insert ";; ")
;; Move the following code. (NEWLINE-AND-INDENT will
;; delete whitespace after the comment, though, so use
;; NEWLINE & LISP-INDENT-LINE manually here.)
(save-excursion (newline)
(lisp-indent-line)))
;; Margin comment
(progn (indent-to comment-column
1) ; 1 -> force one leading space
(insert ?\; )))</span>)))
<a id='2753' tid='2754', class="unchanged" title="(similarity 100%)">;;;; Character Deletion
</a>
(<a id='2755' tid='2756', class="unchanged" title="(similarity 100%)">defun</a> <a id='2757' tid='2758', class="unchanged" title="(similarity 100%)">paredit-forward-delete</a> <span class="deletion" title="deleted">(&optional arg)</span>
<span class="deletion" title="deleted">"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 prefix argument, simply delete a character forward, without
regard for delimiter balancing."</span>
(<a id='2759' tid='2760', class="unchanged" title="(similarity 100%)">interactive</a> <a id='2761' tid='2762', class="unchanged" title="(similarity 100%)">"P"</a>)
(<span class="deletion" title="deleted">cond</span> <span class="deletion" title="deleted">((or arg (eobp))
(delete-char 1))</span>
<span class="deletion" title="deleted">((paredit-in-string-p)
(paredit-forward-delete-in-string))</span>
<span class="deletion" title="deleted">((paredit-in-comment-p)
;++ What to do here? This could move a partial S-expression
;++ into a comment and thereby invalidate the file's form,
;++ or move random text out of a comment.
(delete-char 1))</span>
((<a id='927' tid='928', class="move" title="(similarity 100%)">paredit-in-char-p</a>) <a id='929' tid='930', class="move" title="(similarity 100%)">; Escape -- delete both chars.
</a> (<a id='931' tid='932', class="move" title="(similarity 100%)">backward-delete-char</a> <a id='933' tid='934', class="move" title="(similarity 100%)">1</a>)
(<a id='935' tid='936', class="move" title="(similarity 100%)">delete-char</a> <a id='937' tid='938', class="move" title="(similarity 100%)">1</a>))
((<a id='533' tid='534', class="move" title="(similarity 100%)">eq</a> (<a id='535' tid='536', class="move" title="(similarity 100%)">char-after</a>) <a id='537' tid='538', class="move" title="(similarity 100%)">?\\</a> ) <a id='539' tid='540', class="move" title="(similarity 100%)">; ditto
</a> (<a id='541' tid='542', class="move" title="(similarity 100%)">delete-char</a> <a id='543' tid='544', class="move" title="(similarity 100%)">2</a>))
((<a id='433' tid='434', class="move" title="(similarity 100%)">let</a> ((<a id='435' tid='436', class="move" title="(similarity 100%)">syn</a> (<a id='437' tid='438', class="move" title="(similarity 100%)">char-syntax</a> (<a id='439' tid='440', class="move" title="(similarity 100%)">char-after</a>))))
(<a id='441' tid='442', class="move" title="(similarity 100%)">or</a> (<a id='443' tid='444', class="move" title="(similarity 100%)">eq</a> <a id='445' tid='446', class="move" title="(similarity 100%)">syn</a> <a id='447' tid='448', class="move" title="(similarity 100%)">?\(</a> )
(<a id='449' tid='450', class="move" title="(similarity 100%)">eq</a> <a id='451' tid='452', class="move" title="(similarity 100%)">syn</a> <a id='453' tid='454', class="move" title="(similarity 100%)">?\"</a> )))
<span class="deletion" title="deleted">(forward-char)</span>)
((<a id='311' tid='312', class="move" title="(similarity 100%)">and</a> (<a id='313' tid='314', class="move" title="(similarity 100%)">not</a> (<a id='315' tid='316', class="move" title="(similarity 100%)">paredit-in-char-p</a> (<a id='317' tid='318', class="move" title="(similarity 100%)">1-</a> (<a id='319' tid='320', class="move" title="(similarity 100%)">point</a>))))
(<a id='321' tid='322', class="move" title="(similarity 100%)">eq</a> (<a id='323' tid='324', class="move" title="(similarity 100%)">char-syntax</a> (<a id='325' tid='326', class="move" title="(similarity 100%)">char-after</a>)) <a id='327' tid='328', class="move" title="(similarity 100%)">?\)</a> )
(<a id='329' tid='330', class="move" title="(similarity 100%)">eq</a> (<a id='331' tid='332', class="move" title="(similarity 100%)">char-before</a>) (<a id='333' tid='334', class="move" title="(similarity 100%)">matching-paren</a> (<a id='335' tid='336', class="move" title="(similarity 100%)">char-after</a>))))
(<a id='337' tid='338', class="move" title="(similarity 100%)">backward-delete-char</a> <a id='339' tid='340', class="move" title="(similarity 100%)">1</a>) <a id='341' tid='342', class="move" title="(similarity 100%)">; Empty list -- delete both