mirror of https://github.com/Chizi123/.emacs.d.git

Chizi123
2018-11-18 c655eea759be1db69c5e6b45c228139d8390122a
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
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
;ELC
;;; Compiled
;;; in Emacs version 26.1
;;; with all optimizations.
 
;;; This file uses dynamic docstrings, first added in Emacs 19.29.
 
;;; This file does not contain utf-8 non-ASCII characters,
;;; and so can be loaded in Emacs versions earlier than 23.
 
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
 
(byte-code "\300\301!\210\300\302!\210\300\303!\210\300\304!\210\305\306\307\310\311\312\313\314&\207" [require cl-lib eldoc easymenu help-mode custom-declare-group yasnippet nil "Yet Another Snippet extension" :prefix "yas-" :group editing] 8)
#@43 Directory that yasnippet was loaded from.
(defconst yas--loaddir (byte-code "\302\206    !\207" [load-file-name buffer-file-name file-name-directory] 2) (#$ . 654))
(defconst yas-installed-snippets-dir (expand-file-name "snippets" yas--loaddir))
(make-obsolete-variable 'yas-installed-snippets-dir "Yasnippet no longer comes with installed snippets" "0.13")
(defconst yas--default-user-snippets-dir (expand-file-name "snippets" user-emacs-directory))
#@358 List of top-level snippet directories.
 
Each element, a string or a symbol whose value is a string,
designates a top-level directory where per-mode snippet
directories can be found.
 
Elements appearing earlier in the list override later elements'
snippets.
 
The first directory is taken as the default for storing snippet's
created with `yas-new-snippet'. 
(custom-declare-variable 'yas-snippet-dirs '(list yas--default-user-snippets-dir) '(#$ . 1112) :type '(choice (directory :tag "Single directory") (repeat :tag "List of directories" (choice (directory) (variable)))) :set #[(symbol new) "\303!\205J\304\n\"\210\305\306!?\206    \n\232?\205\306 )\207" [symbol old new boundp set-default fboundp yas-reload-all] 3])
#@56 Return variable `yas-snippet-dirs' as list of strings.
(defalias 'yas-snippet-dirs #[nil "<\203    \202 C\304\211    :\203E    @\211;\203!\n\202;\n9\2037\305\n!\2037\nJ;\2037\nJ\202;\306\307\n\" B    A\211\202 \237+\207" [yas-snippet-dirs #1=#:--cl-var-- e #2=#:--cl-var-- nil boundp error "[yas] invalid element %s in `yas-snippet-dirs'"] 4 (#$ . 1844)])
(byte-code "\300\301\302\303\304\305%\210\300\306\307\310\304\311%\210\300\312\313\314\304\315%\210\300\316\317\320\304\321%\210\300\322\317\323\304\321%\210\300\324\325\326\304\321%\210\300\327\317\330\304\321%\210\300\331\332\333\304\334%\210\335\331\336\337#\210\300\340\317\341\304\321%\210\300\342\317\343\304\321%\210\300\344\345\346\304\347%\210\300\350\351\352\304\305%\210\300\353\317\354\304\355%\210\300\356\325\357\304\321%\210\300\360\317\361\304\321%\210\300\362\317\363\304\364%\210\300\365\325\366\304\321\367\370&\210\371\372\373\374#\210\371\375\317\376#\207" [custom-declare-variable yas-new-snippet-default "# -*- mode: snippet -*-\n# name: $1\n# key: ${2:${1:$(yas--key-from-desc yas-text)}}\n# --\n$0`(yas-escape-text yas-selected-text)`" "Default snippet to use when creating a new snippet.\nIf nil, don't use any snippet." :type string yas-prompt-functions '(yas-dropdown-prompt yas-completing-prompt yas-maybe-ido-prompt yas-no-prompt) "Functions to prompt for keys, templates, etc interactively.\n\nThese functions are called with the following arguments:\n\n- PROMPT: A string to prompt the user\n\n- CHOICES: a list of strings or objects.\n\n- optional DISPLAY-FN : A function that, when applied to each of\nthe objects in CHOICES will return a string.\n\nThe return value of any function you put here should be one of\nthe objects in CHOICES, properly formatted with DISPLAY-FN (if\nthat is passed).\n\n- To signal that your particular style of prompting is\nunavailable at the moment, you can also have the function return\nnil.\n\n- To signal that the user quit the prompting process, you can\nsignal `quit' with\n\n    (signal \\='quit \"user quit!\")" (repeat function) yas-indent-line 'auto "Controls indenting applied to a recent snippet expansion.\n\nThe following values are possible:\n\n- `fixed' Indent the snippet to the current column;\n\n- `auto' Indent each line of the snippet with `indent-according-to-mode'\n\nEvery other value means don't apply any snippet-side indentation\nafter expansion (the manual per-line \"$>\" indentation still\napplies)." (choice (const :tag "Nothing" nothing) (const :tag "Fixed" fixed) (const :tag "Auto" auto)) yas-also-auto-indent-first-line nil "Non-nil means also auto indent first line according to mode.\n\nNaturally this is only valid when `yas-indent-line' is `auto'." boolean yas-also-indent-empty-lines "Non-nil means also indent empty lines according to mode." yas-snippet-revival t "Non-nil means re-activate snippet fields after undo/redo." yas-triggers-in-field "If non-nil, allow stacked expansions (snippets inside snippets).\n\nOtherwise `yas-next-field-or-maybe-expand' just moves on to the\nnext field" yas-fallback-behavior 'return-nil "This option is obsolete.\nNow that the conditional keybinding `yas-maybe-expand' is\navailable, there's no more need for it." (choice (const :tag "Call previous command" call-other-command) (const :tag "Do nothing" return-nil)) make-obsolete-variable "For `call-other-command' behavior bind to the conditional\ncommand value `yas-maybe-expand', for `return-nil' behavior bind\ndirectly to `yas-expand'." "0.12" yas-choose-keys-first "If non-nil, prompt for snippet key first, then for template.\n\nOtherwise prompts for all possible snippet names.\n\nThis affects `yas-insert-snippet' and `yas-visit-snippet-file'." yas-choose-tables-first "If non-nil, and multiple eligible snippet tables, prompts user for tables first.\n\nOtherwise, user chooses between the merging together of all\neligible tables.\n\nThis affects `yas-insert-snippet', `yas-visit-snippet-file'" yas-use-menu 'abbreviate "Display a YASnippet menu in the menu bar.\n\nWhen non-nil, submenus for each snippet table will be listed\nunder the menu \"Yasnippet\".\n\n- If set to `abbreviate', only the current major-mode\nmenu and the modes set in `yas--extra-modes' are listed.\n\n- If set to `full', every submenu is listed\n\n- If set to nil, hide the menu.\n\nAny other non-nil value, every submenu is listed." (choice (const :tag "Full" full) (const :tag "Abbreviate" abbreviate) (const :tag "No menu" nil)) yas-trigger-symbol (or (and (eq window-system 'mac) (ignore-errors (char-to-string 8677))) " =>") "The text that will be used in menu to represent the trigger." yas-wrap-around-region "What to insert for snippet's $0 field.\n\nIf set to a character, insert contents of corresponding register.\nIf non-nil insert region contents.  This can be overridden on a\nper-snippet basis.  A value of `cua' is considered equivalent to\n`?0' for backwards compatibility." (choice (character :tag "Insert from register") (const t :tag "Insert region contents") (const nil :tag "Don't insert anything") (const cua)) yas-good-grace "If non-nil, don't raise errors in elisp evaluation.\n\nThis affects both the inline elisp in snippets and the hook\nvariables such as `yas-after-exit-snippet-hook'.\n\nIf this variable's value is `inline', an error string \"[yas]\nerror\" is returned instead of raising the error.  If this\nvariable's value is `hooks', a message is output to according to\n`yas-verbosity-level'.  If this variable's value is t, both are\nactive." yas-visit-from-menu "If non-nil visit snippets's files from menu, instead of expanding them.\n\nThis can only work when snippets are loaded from files." yas-expand-only-for-last-commands "List of `last-command' values to restrict tab-triggering to, or nil.\n\nLeave this set at nil (the default) to be able to trigger an\nexpansion simply by placing the cursor after a valid tab trigger,\nusing whichever commands.\n\nOptionally, set this to something like (self-insert-command) if\nyou to wish restrict expansion to only happen when the last\nletter of the snippet tab trigger was typed immediately before\nthe trigger key itself." (repeat function) yas-alias-to-yas/prefix-p "If non-nil make aliases for the old style yas/ prefixed symbols.\nIt must be set to nil before loading yasnippet to take effect." :group yasnippet custom-declare-face yas-field-highlight-face ((t (:inherit 'region))) "The face used to highlight the currently active field of a snippet" yas--field-debug-face "The face used for debugging some overlays normally hidden"] 8)
#@182 A conditional key definition.
This can be used as a key definition in keymaps to bind a key to
`yas-skip-and-clear-field' only when at the beginning of an
unmodified snippet field.
(defconst yas-maybe-skip-and-clear-field '(menu-item "" yas-skip-and-clear-field :filter yas--maybe-clear-field-filter) (#$ . 8427))
#@173 A conditional key definition.
This can be used as a key definition in keymaps to bind a key to
`yas-clear-field' only when at the beginning of an
unmodified snippet field.
(defconst yas-maybe-clear-field '(menu-item "" yas-clear-field :filter yas--maybe-clear-field-filter) (#$ . 8748))
#@61 The active keymap while a snippet expansion is in progress.
(defvar yas-keymap (byte-code "\303 \304\305\306#\210\304\307\306#\210\304\310\311#\210\304\312\311#\210\304\313\314#\210\304\315    #\210\304\316\n#\210)\207" [map yas-maybe-skip-and-clear-field yas-maybe-clear-field make-sparse-keymap define-key [(tab)] yas-next-field-or-maybe-expand "    " [(shift tab)] yas-prev-field [backtab] "" yas-abort-snippet "" ""] 4) (#$ . 9041))
#@1472 Syntaxes and functions to help look for trigger keys before point.
 
Each element in this list specifies how to skip buffer positions
backwards and look for the start of a trigger key.
 
Each element can be either a string or a function receiving the
original point as an argument. A string element is simply passed
to `skip-syntax-backward' whereas a function element is called
with no arguments and should also place point before the original
position.
 
The string between the resulting buffer position and the original
point is matched against the trigger keys in the active snippet
tables.
 
If no expandable snippets are found, the next element is the list
is tried, unless a function element returned the symbol `again',
in which case it is called again from the previous position and
may once more reposition point.
 
For example, if `yas-key-syntaxes' has the value ("w" "w_"),
trigger keys composed exclusively of "word"-syntax characters
are looked for first. Failing that, longer keys composed of
"word" or "symbol" syntax are looked for. Therefore,
triggering after
 
foo-barbaz
 
will, according to the "w" element first try "barbaz". If
that isn't a trigger key, "foo-barbaz" is tried, respecting the
second "w_" element. Notice that even if "baz" is a trigger
key for an active snippet, it won't be expanded, unless a
function is added to `yas-key-syntaxes' that eventually places
point between "bar" and "baz".
 
See also Info node `(elisp) Syntax Descriptors'.
(defvar yas-key-syntaxes (list 'yas-try-key-from-whitespace "w_.()" "w_." "w_" "w") (#$ . 9492))
#@309 Hooks to run after a snippet exited.
 
The hooks will be run in an environment where some variables bound to
proper values:
 
`yas-snippet-beg' : The beginning of the region of the snippet.
 
`yas-snippet-end' : Similar to beg.
 
Attention: These hooks are not run when exiting nested/stacked snippet expansion!
(defvar yas-after-exit-snippet-hook nil (#$ . 11067))
#@47 Hooks to run just before expanding a snippet.
(defvar yas-before-expand-snippet-hook nil (#$ . 11435))
#@109 Disables snippet expansion in strings and comments.
To use, set `yas-buffer-local-condition' to this value.
(defconst yas-not-string-or-comment-condition '(if (and (let ((ppss (syntax-ppss))) (or (nth 3 ppss) (nth 4 ppss))) (memq this-command '(yas-expand yas-expand-from-trigger-key yas-expand-from-keymap))) '(require-snippet-condition . force-in-comment) t) (#$ . 11545))
(byte-code "\301\302\303\304\305\306\307\310\311F\312BB%\210\301\313\314\315\305\316%\207" [yas-not-string-or-comment-condition custom-declare-variable yas-buffer-local-condition t "Snippet expanding condition.\n\nThis variable is a Lisp form which is evaluated every time a\nsnippet expansion is attempted:\n\n    * If it evaluates to nil, no snippets can be expanded.\n\n    * If it evaluates to the a cons (require-snippet-condition\n      . REQUIREMENT)\n\n       * Snippets bearing no \"# condition:\" directive are not\n         considered\n\n       * Snippets bearing conditions that evaluate to nil (or\n         produce an error) won't be considered.\n\n       * If the snippet has a condition that evaluates to non-nil\n         RESULT:\n\n          * If REQUIREMENT is t, the snippet is considered\n\n          * If REQUIREMENT is `eq' RESULT, the snippet is\n            considered\n\n          * Otherwise, the snippet is not considered.\n\n    * If it evaluates to the symbol `always', all snippets are\n      considered for expansion, regardless of any conditions.\n\n    * If it evaluates to t or some other non-nil value\n\n       * Snippet bearing no conditions, or conditions that\n         evaluate to non-nil, are considered for expansion.\n\n       * Otherwise, the snippet is not considered.\n\nHere's an example preventing snippets from being expanded from\ninside comments, in `python-mode' only, with the exception of\nsnippets returning the symbol `force-in-comment' in their\nconditions.\n\n (add-hook \\='python-mode-hook\n           (lambda ()\n              (setq yas-buffer-local-condition\n                    \\='(if (python-syntax-comment-or-string-p)\n                         \\='(require-snippet-condition . force-in-comment)\n                       t))))" :type choice const :tag "Disable snippet expansion inside strings and comments" ((const :tag "Expand all snippets regardless of conditions" always) (const :tag "Expand snippets unless their condition is nil" t) (const :tag "Disable all snippet expansion" nil) sexp) yas-overlay-priority 100 "Priority to use for yasnippets overlays.\nThis is useful to control whether snippet navigation bindings\noverride bindings from other packages (e.g., `company-mode')." integer] 10)
(defconst yas--version "0.13.0")
#@53 A hash table of MAJOR-MODE symbols to menu keymaps.
(defvar yas--menu-table (make-hash-table) (#$ . 14228))
#@54 List of characters which *might* need to be escaped.
(defvar yas--escaped-characters '(92 96 34 39 36 125 123 40 41) (#$ . 14342))
#@41 A regexp to *almost* recognize a field.
(defconst yas--field-regexp "${\\([0-9]+:\\)?\\([^}]*\\)}" (#$ . 14479))
#@55 A regexp to *almost* recognize a "$(...)" expression.
(defconst yas--multi-dollar-lisp-expression-regexp "$+[     \n]*\\(([^)]*)\\)" (#$ . 14598))
#@61 A regexp to recognize a "\=`lisp-expression\=`" expression.
(defconst yas--backquote-lisp-expression-regexp "`\\([^`]*\\)`" (#$ . 14748))
#@59 A regexp to *almost* recognize a mirror with a transform.
(defconst yas--transform-mirror-regexp "${\\(?:\\([0-9]+\\):\\)?$\\([     \n]*([^}]*\\)" (#$ . 14892))
#@40 A regexp to recognize a simple mirror.
(defconst yas--simple-mirror-regexp "$\\([0-9]+\\)" (#$ . 15056))
#@37 Contains the next id for a snippet.
(defvar yas--snippet-id-seed 0 (#$ . 15167))
#@45 The original value of `auto-fill-function'.
(defvar yas--original-auto-fill-function nil (#$ . 15254))
(make-variable-buffer-local 'yas--original-auto-fill-function)
(defvar yas--watch-auto-fill-backtrace nil)
(defalias 'yas--watch-auto-fill #[(sym newval op _where) "\303=\203    \204\n\306=\204!\302=\205L    \306=\205L ?\205L\f?\205L\307\310!\205L \311=\205C\312\302!\306=?\205C\313\314\310\315!\316\317$?\205L\310\315!\211\207" [sym newval auto-fill-function yas--original-auto-fill-function yas--watch-auto-fill-backtrace op yas--auto-fill fboundp backtrace-frames makunbound default-value cl-member kill-all-local-variables yas--watch-auto-fill :key #[(frame) "A@\207" [frame] 1]] 5])
(byte-code "\300\301!\203\301\302\303\"\210\301\304\303\"\210\300\207" [fboundp add-variable-watcher yas--original-auto-fill-function yas--watch-auto-fill auto-fill-function] 3)
(defalias 'yas--snippet-next-id #[nil "T    )\207" [yas--snippet-id-seed id] 1])
#@27 Holds the YASnippet menu.
(defvar yas--minor-mode-menu nil (#$ . 16224))
(defvar yas--condition-cache-timestamp nil)
#@128 Return CMD if there is an expandable snippet at point.
This function is useful as a `:filter' to a conditional key
definition.
(defalias 'yas-maybe-expand-abbrev-key-filter #[(cmd) "\302 \303 )\205\n    \207" [yas--condition-cache-timestamp cmd current-time yas--templates-for-key-at-point] 1 (#$ . 16348)])
(byte-code "\300\301\302\303#\210\304\301\302\305#\207" [defalias yas--maybe-expand-key-filter yas-maybe-expand-abbrev-key-filter nil make-obsolete "0.14"] 4)
#@164 A conditional key definition.
This can be used as a key definition in keymaps to bind a key to
`yas-expand' only when there is a snippet available to be
expanded.
(defconst yas-maybe-expand '(menu-item "" yas-expand :filter yas-maybe-expand-abbrev-key-filter) (#$ . 16821))
#@50 The keymap used when `yas-minor-mode' is active.
(defvar yas-minor-mode-map (byte-code "\302 \303\304    #\210\303\305    #\210\303\306\307#\210\303\310\311#\210\303\312\313#\210)\207" [map yas-maybe-expand make-sparse-keymap define-key [(tab)] "    " "&" yas-insert-snippet "&" yas-new-snippet "&" yas-visit-snippet-file] 4) (#$ . 17101))
#@44 Menu used when `yas-minor-mode' is active.
(defvar yas--minor-mode-menu nil (#$ . 17451))
(easy-menu-do-define 'yas--minor-mode-menu yas-minor-mode-map "Menu used when `yas-minor-mode' is active." '("YASnippet" :visible yas-use-menu "----" ["Expand trigger" yas-expand :help "Possibly expand tab trigger before point"] ["Insert at point..." yas-insert-snippet :help "Prompt for an expandable snippet and expand it at point"] ["New snippet..." yas-new-snippet :help "Create a new snippet in an appropriate directory"] ["Visit snippet file..." yas-visit-snippet-file :help "Prompt for an expandable snippet and find its file"] "----" ("Snippet menu behaviour" ["Visit snippets" (setq yas-visit-from-menu t) :help "Visit snippets from the menu" :active t :style radio :selected yas-visit-from-menu] ["Expand snippets" (setq yas-visit-from-menu nil) :help "Expand snippets from the menu" :active t :style radio :selected (not yas-visit-from-menu)] "----" ["Show all known modes" (setq yas-use-menu 'full) :help "Show one snippet submenu for each loaded table" :active t :style radio :selected (eq yas-use-menu 'full)] ["Abbreviate according to current mode" (setq yas-use-menu 'abbreviate) :help "Show only snippet submenus for the current active modes" :active t :style radio :selected (eq yas-use-menu 'abbreviate)]) ("Indenting" ["Auto" (setq yas-indent-line 'auto) :help "Indent each line of the snippet with `indent-according-to-mode'" :active t :style radio :selected (eq yas-indent-line 'auto)] ["Fixed" (setq yas-indent-line 'fixed) :help "Indent the snippet to the current column" :active t :style radio :selected (eq yas-indent-line 'fixed)] ["None" (setq yas-indent-line 'none) :help "Don't apply any particular snippet indentation after expansion" :active t :style radio :selected (not (member yas-indent-line '(fixed auto)))] "----" ["Also auto indent first line" (setq yas-also-auto-indent-first-line (not yas-also-auto-indent-first-line)) :help "When auto-indenting also, auto indent the first line menu" :active (eq yas-indent-line 'auto) :style toggle :selected yas-also-auto-indent-first-line]) ("Prompting method" ["System X-widget" (setq yas-prompt-functions (cons #'yas-x-prompt (remove #'yas-x-prompt yas-prompt-functions))) :help "Use your windowing system's (gtk, mac, windows, etc...) default menu" :active t :style radio :selected (eq (car yas-prompt-functions) #'yas-x-prompt)] ["Dropdown-list" (setq yas-prompt-functions (cons #'yas-dropdown-prompt (remove #'yas-dropdown-prompt yas-prompt-functions))) :help "Use a special dropdown list" :active t :style radio :selected (eq (car yas-prompt-functions) #'yas-dropdown-prompt)] ["Ido" (setq yas-prompt-functions (cons #'yas-ido-prompt (remove #'yas-ido-prompt yas-prompt-functions))) :help "Use an ido-style minibuffer prompt" :active t :style radio :selected (eq (car yas-prompt-functions) #'yas-ido-prompt)] ["Completing read" (setq yas-prompt-functions (cons #'yas-completing-prompt (remove #'yas-completing-prompt yas-prompt-functions))) :help "Use a normal minibuffer prompt" :active t :style radio :selected (eq (car yas-prompt-functions) #'yas-completing-prompt)]) ("Misc" ["Wrap region in exit marker" (setq yas-wrap-around-region (not yas-wrap-around-region)) :help "If non-nil automatically wrap the selected text in the $0 snippet exit" :style toggle :selected yas-wrap-around-region] ["Allow stacked expansions " (setq yas-triggers-in-field (not yas-triggers-in-field)) :help "If non-nil allow snippets to be triggered inside other snippet fields" :style toggle :selected yas-triggers-in-field] ["Revive snippets on undo " (setq yas-snippet-revival (not yas-snippet-revival)) :help "If non-nil allow snippets to become active again after undo" :style toggle :selected yas-snippet-revival] ["Good grace " (setq yas-good-grace (not yas-good-grace)) :help "If non-nil don't raise errors in bad embedded elisp in snippets" :style toggle :selected yas-good-grace]) "----" ["Load snippets..." yas-load-directory :help "Load snippets from a specific directory"] ["Reload everything" yas-reload-all :help "Cleanup stuff, reload snippets, rebuild menus"] ["About" yas-about :help "Display some information about YASnippet"]))
#@178 An internal list of modes for which to also lookup snippets.
 
This variable probably makes more sense as buffer-local, so
ensure your use `make-local-variable' when you set it.
(defvar yas--extra-modes nil (#$ . 21660))
(byte-code "\302\303\304\305#\210\306\305\211\203,    @\303N\203%\304N\204%\307\304\303N#\210    A\211\204*\310\303\304\311#\207" [prop --dolist-tail-- defvaralias yas-extra-modes yas--extra-modes nil (saved-value saved-variable-comment) put make-obsolete-variable "0.9.1"] 6)
#@55 A hash table of mode symbols to `yas--table' objects.
(defvar yas--tables (make-hash-table) (#$ . 22170))
#@348 A hash table of mode symbols do lists of direct parent mode symbols.
 
This list is populated when reading the ".yas-parents" files
found when traversing snippet directories with
`yas-load-directory'.
 
There might be additional parenting information stored in the
`derived-mode-parent' property of some mode symbols, but that is
not recorded here.
(defvar yas--parents (make-hash-table) (#$ . 22283))
#@466 Keymap alist supporting direct snippet keybindings.
 
This variable is placed in `emulation-mode-map-alists'.
 
Its elements looks like (TABLE-NAME . KEYMAP).  They're
instantiated on `yas-reload-all' but KEYMAP is added to only when
loading snippets.  `yas--direct-TABLE-NAME' is then a variable
set buffer-locally when entering `yas-minor-mode'.  KEYMAP binds
all defined direct keybindings to `yas-maybe-expand-from-keymap'
which decides on the snippet to expand.
(defvar yas--direct-keymaps nil (#$ . 22690))
#@63 Force reload the direct keybinding for active snippet tables.
(defalias 'yas-direct-keymaps-reload #[nil "\302\303\304    \"\207" [yas--direct-keymaps yas--tables nil maphash #[(name table) "\303\304\305\"!\306    !B\nB\211\207" [name table yas--direct-keymaps intern format "yas--direct-%s" yas--table-direct-keymap] 4]] 3 (#$ . 23207) nil])
#@76 Compute list of mode symbols that are active for `yas-expand' and friends.
(defalias 'yas--modes-to-activate #[(&optional mode) "\203    C\202    \305\n!B\306\307\f \"\210 \237*\207" [mode major-mode yas--extra-modes explored yas--dfs reverse #[(mode) "\306N\206\307\310!\205K\311    \"BB\312\n:\203>\n@\211\2037 \f>\2047 9\2037 \fB !\210\nA\211\202*\312\207" [mode yas--parents #1=#:--cl-var-- neighbour explored yas--dfs derived-mode-parent fundamental-mode fboundp gethash nil] 6] mapc] 3 (#$ . 23553)])
#@46 Hook run when `yas-minor-mode' is turned on.
(defvar yas-minor-mode-hook nil (#$ . 24084))
(defalias 'yas--auto-fill-wrapper #[nil "\205\302=?\205\302\211\207" [auto-fill-function yas--original-auto-fill-function yas--auto-fill] 2])
#@97 Non-nil if Yas minor mode is enabled.
Use the command `yas-minor-mode' to change this variable.
(defvar yas-minor-mode nil (#$ . 24332))
(make-variable-buffer-local 'yas-minor-mode)
#@332 Toggle YASnippet mode.
 
When YASnippet mode is enabled, `yas-expand', normally bound to
the TAB key, expands snippets of code depending on the major
mode.
 
With no argument, this command toggles the mode.
positive prefix argument turns on the mode.
Negative prefix argument turns off the mode.
 
Key bindings:
\{yas-minor-mode-map}
(defalias 'yas-minor-mode #[(&optional arg) "\306     \307=\203\n?\202\310    !\311V\211\203m\312\313!\203m\314\315 \"\203* \210\202.\315 B\316\317\320\321\322$\210\323 \321\211\203^ @\324\325\326\f\"!,\327,\321\"\210\330,!\322L\210) A\211\204>*\331 \210\332 \210\316\333\332\"\210\202\207\334\317\320\322#\210\334\333\332\"\210\335\336!\203\202-\337\315 \"\340\341\n\203\221\342\202\222\343\"\210\344\345!\203\271\306 \203\246\306 \232\203\271\346.\347\350\n\203\263\351\202\264\352.#\210))\353 \210\n\207" [#1=#:last-message arg yas-minor-mode emulation-mode-map-alists mode --dolist-tail-- current-message toggle prefix-numeric-value 0 featurep yasnippet memql yas--direct-keymaps add-hook post-command-hook yas--post-command-handler nil t yas--modes-to-activate intern format "yas--direct-%s" set-default make-local-variable yas--load-pending-jits yas--auto-fill-wrapper auto-fill-mode-hook remove-hook local-variable-p yas--original-auto-fill-function remove run-hooks yas-minor-mode-hook yas-minor-mode-on-hook yas-minor-mode-off-hook called-interactively-p any " in current buffer" message "Yas minor mode %sabled%s" "en" "dis" force-mode-line-update name auto-fill-function local] 6 (#$ . 24521) (list (or current-prefix-arg 'toggle))])
(defvar yas-minor-mode-hook nil)
(byte-code "\301\302N\204\f\303\301\302\304#\210\305\306\307\310\300!\205\311\211%\207" [yas-minor-mode-map yas-minor-mode-hook variable-documentation put "Hook run after entering or leaving `yas-minor-mode'.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" add-minor-mode yas-minor-mode " yas" boundp nil] 6)
#@164 Activates the snippets for the given `mode' in the buffer.
 
The function can be called in the hook of a minor mode to
activate snippets associated with that mode.
(defalias 'yas-activate-extra-mode #[(mode) "\205 \301\302\303!\"\210\304 \207" [mode add-to-list make-local-variable yas--extra-modes yas--load-pending-jits] 3 (#$ . 26560) (let (modes symbol) (maphash #'(lambda (k _) (setq modes (cons (list k) modes))) yas--parents) (setq symbol (completing-read "Activate mode: " modes nil t)) (list (if (not (string= "" symbol)) (progn (intern symbol)))))])
#@62 Deactivates the snippets for the given `mode' in the buffer.
(defalias 'yas-deactivate-extra-mode #[(mode) "\302\301!\210\303    \"\211\207" [mode yas--extra-modes make-local-variable remove] 3 (#$ . 27128) (list (intern (completing-read "Deactivate mode: " (mapcar #'list yas--extra-modes) nil t)))])
(byte-code "\302\303\304\305#\210\306\305\211\203,    @\303N\203%\304N\204%\307\304\303N#\210    A\211\204*\310\303\304\311#\207" [prop --dolist-tail-- defvaralias yas-dont-activate yas-dont-activate-functions nil (saved-value saved-variable-comment) put make-obsolete-variable "0.9.2"] 6)
#@664 Special hook to control which buffers `yas-global-mode' affects.
Functions are called with no argument, and should return non-nil to prevent
`yas-global-mode' from enabling yasnippet in this buffer.
 
In Emacsen < 24, this variable is buffer-local.  Because
`yas-minor-mode-on' is called by `yas-global-mode' after
executing the buffer's major mode hook, setting this variable
there is an effective way to define exceptions to the "global"
activation behaviour.
 
In Emacsen >= 24, only the global value is used.  To define
per-mode exceptions to the "global" activation behaviour, call
`yas-minor-mode' with a negative argument directily in the major
mode's hook.
(defvar yas-dont-activate-functions (list 'minibufferp) (#$ . 27733))
(byte-code "\301V\204\n\302\303!\210\301\207" [emacs-major-version 23 make-variable-buffer-local yas-dont-activate] 2)
#@81 Turn on YASnippet minor mode.
 
Honour `yas-dont-activate-functions', which see.
(defalias 'yas-minor-mode-on #[nil "<\206\301!?\206\302\300!?\205\303\304!\207" [yas-dont-activate-functions functionp run-hook-with-args-until-success yas-minor-mode 1] 2 (#$ . 28593) nil])
(defvar yas-minor-mode-major-mode nil)
(byte-code "\300\301!\210\302\303\304\305\306\307\310\311\312\313\314\315& \207" [make-variable-buffer-local yas-minor-mode-major-mode custom-declare-variable yas-global-mode nil "Non-nil if Yas-Global mode is enabled.\nSee the `yas-global-mode' command\nfor a description of this minor mode.\nSetting this variable directly does not take effect;\neither customize it (see the info node `Easy Customization')\nor call the function `yas-global-mode'." :set custom-set-minor-mode :initialize custom-initialize-default :group yas-minor :type boolean] 12)
#@328 Toggle Yas minor mode in all buffers.
With prefix ARG, enable Yas-Global mode if ARG is positive;
otherwise, disable it.  If called from Lisp, enable the mode if
ARG is omitted or nil.
 
Yas minor mode is enabled in all buffers where
`yas-minor-mode-on' would do it.
See `yas-minor-mode' for more information on Yas minor mode.
(defalias 'yas-global-mode #[(&optional arg) "\306 \307\302    \310=\203\311\302!?\202\312    !\313V\"\210\n\203/\314\315\316\"\210\314\317\320\"\210\314\321\322\"\210\202>\323\315\316\"\210\323\317\320\"\210\323\321\322\"\210\324 \325\211\203h\f@r q\210\n\203X\326 \210\202` \203`\305\327!\210)\fA\211\204G*\330\331\311\302!\203u\332\202v\333\"\210\334\335!\203\243\336\302!\210\306 \203\216\306 \232\203\243\337%\340\341\311\302!\203\235\342\202\236\343%#\210))\344 \210\311\302!\207" [#1=#:last-message arg yas-global-mode buf --dolist-tail-- yas-minor-mode current-message set-default toggle default-value prefix-numeric-value 0 add-hook after-change-major-mode-hook yas-global-mode-enable-in-buffers find-file-hook yas-global-mode-check-buffers change-major-mode-hook yas-global-mode-cmhh remove-hook buffer-list nil yas-minor-mode-on -1 run-hooks yas-global-mode-hook yas-global-mode-on-hook yas-global-mode-off-hook called-interactively-p any customize-mark-as-set "" message "Yas-Global mode %sabled%s" "en" "dis" force-mode-line-update local] 5 (#$ . 29470) (list (or current-prefix-arg 'toggle))])
(defvar yas-global-mode-hook nil)
(byte-code "\301\302N\204\f\303\301\302\304#\210\305\306\307\310\300!\205\307\211%\207" [yas-global-mode-map yas-global-mode-hook variable-documentation put "Hook run after entering or leaving `yas-global-mode'.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" add-minor-mode yas-global-mode nil boundp] 6)
(defvar yas-minor-mode-set-explicitly nil nil)
(make-variable-buffer-local 'yas-minor-mode-set-explicitly)
(defalias 'yas-minor-mode-set-explicitly #[nil "\301\211\207" [yas-minor-mode-set-explicitly t] 2])
(byte-code "\300\301\302\303#\210\304\305\301\"\207" [put yas-minor-mode-set-explicitly definition-name yas-global-mode add-hook yas-minor-mode-hook] 4)
(defvar yas-global-mode-buffers nil)
(defalias 'yas-global-mode-enable-in-buffers #[nil "\306\211\205<\n@\307    !\2034r    q\210 \2041\f =\2041\203.\310\311!\210\312 \210\2021\312 \210 )\nA\211\204\306*\207" [yas-global-mode-buffers buf --dolist-tail-- yas-minor-mode-set-explicitly yas-minor-mode-major-mode major-mode nil buffer-live-p yas-minor-mode -1 yas-minor-mode-on] 3])
(put 'yas-global-mode-enable-in-buffers 'definition-name 'yas-global-mode)
(defalias 'yas-global-mode-check-buffers #[nil "\301 \210\302\303\304\305\"\207" [yas-global-mode-buffers yas-global-mode-enable-in-buffers nil remove-hook post-command-hook yas-global-mode-check-buffers] 3])
(put 'yas-global-mode-check-buffers 'definition-name 'yas-global-mode)
(defalias 'yas-global-mode-cmhh #[nil "p\211    \235\203     \210\202    B)\302\303\304\"\207" [#1=#:x yas-global-mode-buffers add-hook post-command-hook yas-global-mode-check-buffers] 4])
(put 'yas-global-mode-cmhh 'definition-name 'yas-global-mode)
#@52 Run `yas-reload-all' when `yas-global-mode' is on.
(defalias 'yas--global-mode-reload-with-jit-maybe #[nil "\205\301 \207" [yas-global-mode yas-reload-all] 1 (#$ . 32710)])
(add-hook 'yas-global-mode-hook 'yas--global-mode-reload-with-jit-maybe)
(defvar yas--font-lock-keywords (byte-code "\304\305\306\307!rq\210\310\216\311\211\3121\313 0\202\210\202\210*\314 \210 \242\315=\2030 A@\2021 +\316#\207" [#1=#:temp-buffer emacs-lisp-mode-hook prog-mode-hook font-lock-keywords append (("^#.*$" . font-lock-comment-face)) generate-new-buffer " *temp*" #[nil "\301!\205    \302!\207" [#1# buffer-name kill-buffer] 2] nil (error) emacs-lisp-mode font-lock-set-defaults t (("\\$\\([0-9]+\\)" (0 font-lock-keyword-face) (1 font-lock-string-face t)) ("\\${\\([0-9]+\\):?" (0 font-lock-keyword-face) (1 font-lock-warning-face t)) ("\\(\\$(\\)" 1 font-lock-preprocessor-face) ("}" (0 font-lock-keyword-face)))] 4))
#@48 The keymap used when `snippet-mode' is active.
(defvar snippet-mode-map (byte-code "\301 \302\303\304\305\306\307\310\"B$\210)\207" [map make-sparse-keymap easy-menu-do-define nil "Menu used when snippet-mode is active." "Snippet" mapcar #[(ent) "\3028\203\303    \3028A@#\210\304@A@\305#\207" [ent map 2 define-key vector t] 4] (("Load this snippet" yas-load-snippet-buffer "\f") ("Load and quit window" yas-load-snippet-buffer-and-close "") ("Try out this snippet" yas-tryout-snippet ""))] 8) (#$ . 33636))
(byte-code "\301\302!\203\205\303\304!\210\305\306N\204\307\305\306\310#\210\311\312!\204\"\307\312\313\314#\210\315\316 !\210\312\306N\2045\307\312\306\317\320!#\210\311\321!\204F\307\321\313\314#\210\322\323 !\210\321\306N\204T\307\321\306\317\324!#\210\311\300!\204i\307\300\313\314#\210\325\326\300\304\"\210!\210\300\306N\204w\307\300\306\317\327!#\210\307\314\330\302#\210\331\314\332\"\210\202\333\304!\210\305\306N\204\225\307\305\306\310#\210\311\312!\204\241\307\312\313\314#\210\334\316 !\210\312\306N\204\264\307\312\306\317\320!#\210\311\321!\204\305\307\321\313\314#\210\335\323 !\210\321\306N\204\323\307\321\306\317\324!#\210\311\300!\204\350\307\300\313\314#\210\336\326\300\304\"\210!\210\300\306N\204\366\307\300\306\317\327!#\210\307\314\330\304#\210\331\314\337\"\210\304\207" [snippet-mode-abbrev-table fboundp prog-mode (lambda (#1=#:def-tmp-var) (defvar snippet-mode-hook #1#)) nil snippet-mode-hook variable-documentation put "Hook run after entering Snippet mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" boundp snippet-mode-map definition-name snippet-mode (lambda (#1#) (defvar snippet-mode-map #1#)) make-sparse-keymap purecopy "Keymap for `snippet-mode'." snippet-mode-syntax-table (lambda (#1#) (defvar snippet-mode-syntax-table #1#)) make-syntax-table "Syntax table for `snippet-mode'." (lambda (#1#) (defvar snippet-mode-abbrev-table #1#)) define-abbrev-table "Abbrev table for `snippet-mode'." derived-mode-parent defalias #[nil "\306\300!\210\307\310 \210\311\312\310\313N\203\314\311\313\310\313N#\210\315 !\204'\316 \317 \"\210\320\f!\211\2036 \321 =\203<\322\f\323 \"\210)\324%\325\"\204V%&=\204V\326%\325&C#\210\327 !\210\330\f!\210%&\331'\306\332!\210\333\306\334!\210\335\306\336!\210\337\340\341\342\333\307$\210)\343\344!\207" [delay-mode-hooks major-mode mode-name snippet-mode-map snippet-mode-syntax-table parent make-local-variable t prog-mode snippet-mode "Snippet" mode-class put keymap-parent set-keymap-parent current-local-map char-table-parent standard-syntax-table set-char-table-parent syntax-table abbrev-table-get :parents abbrev-table-put use-local-map set-syntax-table (yas--font-lock-keywords) require-final-newline nil comment-start "#" comment-start-skip "#+[     ]*" add-hook after-save-hook yas-maybe-load-snippet-buffer run-mode-hooks snippet-mode-hook snippet-mode-abbrev-table local-abbrev-table font-lock-defaults] 6 "A mode for editing yasnippets\n\nIn addition to any hooks its parent mode `prog-mode' might have run,\nthis mode runs the hook `snippet-mode-hook', as the final or penultimate step\nduring initialization.\n\n\\{snippet-mode-map}" nil] (lambda (#1#) (defvar snippet-mode-hook #1#)) (lambda (#1#) (defvar snippet-mode-map #1#)) (lambda (#1#) (defvar snippet-mode-syntax-table #1#)) (lambda (#1#) (defvar snippet-mode-abbrev-table #1#)) #[nil "\306\300!\210\307\310 \210\311\312\313 !\210\314\f!\210 \315\306\316!\210\317\306\320!\210\321\306\322!\210\323\324\325\326\317\307$\210)\327\330!\207" [delay-mode-hooks major-mode mode-name snippet-mode-map snippet-mode-syntax-table snippet-mode-abbrev-table make-local-variable t kill-all-local-variables snippet-mode "Snippet" use-local-map set-syntax-table (yas--font-lock-keywords) require-final-newline nil comment-start "#" comment-start-skip "#+[     ]*" add-hook after-save-hook yas-maybe-load-snippet-buffer run-mode-hooks snippet-mode-hook local-abbrev-table font-lock-defaults] 5 "A mode for editing yasnippets\n\nThis mode runs the hook `snippet-mode-hook', as the final or penultimate step\nduring initialization.\n\n\\{snippet-mode-map}" nil]] 5)
#@149 Return non-nil if current buffer should be in `snippet-mode'.
Meaning it's visiting a file under one of the mode directories in
`yas-snippet-dirs'.
(defalias 'yas-snippet-mode-buffer-p #[nil "\205 \301\302 \303\304$\207" [buffer-file-name cl-member yas-snippet-dirs :test file-in-directory-p] 5 (#$ . 37892)])
(add-to-list 'magic-fallback-mode-alist '(yas-snippet-mode-buffer-p . snippet-mode))
#@48 compiler-macro for inlining `yas--template-p'.
(defalias 'yas--template-p--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block yas--template-p (and (memq (type-of cl-x) cl-struct-yas--template-tags) t)) nil] 7 (#$ . 38296)])
(put 'yas--template-p 'compiler-macro 'yas--template-p--cmacro)
(defalias 'yas--template-p #[(cl-x) "\302!    >\205    \303\207" [cl-x cl-struct-yas--template-tags type-of t] 2])
(byte-code "\300\301\302\303#\304\305\306\301#\207" [function-put yas--template-p side-effect-free error-free put yas--template cl-deftype-satisfies] 5)
#@50 compiler-macro for inlining `yas--template-key'.
(defalias 'yas--template-key--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block yas--template-key (or (yas--template-p cl-x) (signal 'wrong-type-argument (list 'yas--template cl-x))) (aref cl-x 1)) nil] 7 (#$ . 38910)])
(put 'yas--template-key 'compiler-macro 'yas--template-key--cmacro)
#@597 Access slot "key" of `(yas--template (:constructor yas--make-template) (:constructor yas--define-snippets-2 (table key content &optional xname condition group expand-env load-file xkeybinding xuuid save-file &aux (name (or xname (and load-file (file-name-nondirectory load-file)) (and save-file (file-name-nondirectory save-file)) key)) (keybinding (yas--read-keybinding xkeybinding)) (uuid (or xuuid name)) (old (gethash uuid (yas--table-uuidhash table))) (menu-binding-pair (and old (yas--template-menu-binding-pair old))) (perm-group (and old (yas--template-perm-group old))))))' struct CL-X.
(defalias 'yas--template-key #[(cl-x) "\302!    >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-yas--template-tags type-of signal wrong-type-argument yas--template 1] 4 (#$ . 39311)])
(byte-code "\300\301\302\303#\300\207" [function-put yas--template-key side-effect-free t] 4)
#@54 compiler-macro for inlining `yas--template-content'.
(defalias 'yas--template-content--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block yas--template-content (or (yas--template-p cl-x) (signal 'wrong-type-argument (list 'yas--template cl-x))) (aref cl-x 2)) nil] 7 (#$ . 40196)])
(put 'yas--template-content 'compiler-macro 'yas--template-content--cmacro)
#@601 Access slot "content" of `(yas--template (:constructor yas--make-template) (:constructor yas--define-snippets-2 (table key content &optional xname condition group expand-env load-file xkeybinding xuuid save-file &aux (name (or xname (and load-file (file-name-nondirectory load-file)) (and save-file (file-name-nondirectory save-file)) key)) (keybinding (yas--read-keybinding xkeybinding)) (uuid (or xuuid name)) (old (gethash uuid (yas--table-uuidhash table))) (menu-binding-pair (and old (yas--template-menu-binding-pair old))) (perm-group (and old (yas--template-perm-group old))))))' struct CL-X.
(defalias 'yas--template-content #[(cl-x) "\302!    >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-yas--template-tags type-of signal wrong-type-argument yas--template 2] 4 (#$ . 40617)])
(byte-code "\300\301\302\303#\300\207" [function-put yas--template-content side-effect-free t] 4)
#@51 compiler-macro for inlining `yas--template-name'.
(defalias 'yas--template-name--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block yas--template-name (or (yas--template-p cl-x) (signal 'wrong-type-argument (list 'yas--template cl-x))) (aref cl-x 3)) nil] 7 (#$ . 41514)])
(put 'yas--template-name 'compiler-macro 'yas--template-name--cmacro)
#@598 Access slot "name" of `(yas--template (:constructor yas--make-template) (:constructor yas--define-snippets-2 (table key content &optional xname condition group expand-env load-file xkeybinding xuuid save-file &aux (name (or xname (and load-file (file-name-nondirectory load-file)) (and save-file (file-name-nondirectory save-file)) key)) (keybinding (yas--read-keybinding xkeybinding)) (uuid (or xuuid name)) (old (gethash uuid (yas--table-uuidhash table))) (menu-binding-pair (and old (yas--template-menu-binding-pair old))) (perm-group (and old (yas--template-perm-group old))))))' struct CL-X.
(defalias 'yas--template-name #[(cl-x) "\302!    >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-yas--template-tags type-of signal wrong-type-argument yas--template 3] 4 (#$ . 41920)])
(byte-code "\300\301\302\303#\300\207" [function-put yas--template-name side-effect-free t] 4)
#@56 compiler-macro for inlining `yas--template-condition'.
(defalias 'yas--template-condition--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block yas--template-condition (or (yas--template-p cl-x) (signal 'wrong-type-argument (list 'yas--template cl-x))) (aref cl-x 4)) nil] 7 (#$ . 42808)])
(put 'yas--template-condition 'compiler-macro 'yas--template-condition--cmacro)
#@603 Access slot "condition" of `(yas--template (:constructor yas--make-template) (:constructor yas--define-snippets-2 (table key content &optional xname condition group expand-env load-file xkeybinding xuuid save-file &aux (name (or xname (and load-file (file-name-nondirectory load-file)) (and save-file (file-name-nondirectory save-file)) key)) (keybinding (yas--read-keybinding xkeybinding)) (uuid (or xuuid name)) (old (gethash uuid (yas--table-uuidhash table))) (menu-binding-pair (and old (yas--template-menu-binding-pair old))) (perm-group (and old (yas--template-perm-group old))))))' struct CL-X.
(defalias 'yas--template-condition #[(cl-x) "\302!    >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-yas--template-tags type-of signal wrong-type-argument yas--template 4] 4 (#$ . 43239)])
(byte-code "\300\301\302\303#\300\207" [function-put yas--template-condition side-effect-free t] 4)
#@57 compiler-macro for inlining `yas--template-expand-env'.
(defalias 'yas--template-expand-env--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block yas--template-expand-env (or (yas--template-p cl-x) (signal 'wrong-type-argument (list 'yas--template cl-x))) (aref cl-x 5)) nil] 7 (#$ . 44142)])
(put 'yas--template-expand-env 'compiler-macro 'yas--template-expand-env--cmacro)
#@604 Access slot "expand-env" of `(yas--template (:constructor yas--make-template) (:constructor yas--define-snippets-2 (table key content &optional xname condition group expand-env load-file xkeybinding xuuid save-file &aux (name (or xname (and load-file (file-name-nondirectory load-file)) (and save-file (file-name-nondirectory save-file)) key)) (keybinding (yas--read-keybinding xkeybinding)) (uuid (or xuuid name)) (old (gethash uuid (yas--table-uuidhash table))) (menu-binding-pair (and old (yas--template-menu-binding-pair old))) (perm-group (and old (yas--template-perm-group old))))))' struct CL-X.
(defalias 'yas--template-expand-env #[(cl-x) "\302!    >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-yas--template-tags type-of signal wrong-type-argument yas--template 5] 4 (#$ . 44578)])
(byte-code "\300\301\302\303#\300\207" [function-put yas--template-expand-env side-effect-free t] 4)
#@56 compiler-macro for inlining `yas--template-load-file'.
(defalias 'yas--template-load-file--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block yas--template-load-file (or (yas--template-p cl-x) (signal 'wrong-type-argument (list 'yas--template cl-x))) (aref cl-x 6)) nil] 7 (#$ . 45484)])
(put 'yas--template-load-file 'compiler-macro 'yas--template-load-file--cmacro)
#@603 Access slot "load-file" of `(yas--template (:constructor yas--make-template) (:constructor yas--define-snippets-2 (table key content &optional xname condition group expand-env load-file xkeybinding xuuid save-file &aux (name (or xname (and load-file (file-name-nondirectory load-file)) (and save-file (file-name-nondirectory save-file)) key)) (keybinding (yas--read-keybinding xkeybinding)) (uuid (or xuuid name)) (old (gethash uuid (yas--table-uuidhash table))) (menu-binding-pair (and old (yas--template-menu-binding-pair old))) (perm-group (and old (yas--template-perm-group old))))))' struct CL-X.
(defalias 'yas--template-load-file #[(cl-x) "\302!    >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-yas--template-tags type-of signal wrong-type-argument yas--template 6] 4 (#$ . 45915)])
(byte-code "\300\301\302\303#\300\207" [function-put yas--template-load-file side-effect-free t] 4)
#@56 compiler-macro for inlining `yas--template-save-file'.
(defalias 'yas--template-save-file--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block yas--template-save-file (or (yas--template-p cl-x) (signal 'wrong-type-argument (list 'yas--template cl-x))) (aref cl-x 7)) nil] 7 (#$ . 46818)])
(put 'yas--template-save-file 'compiler-macro 'yas--template-save-file--cmacro)
#@603 Access slot "save-file" of `(yas--template (:constructor yas--make-template) (:constructor yas--define-snippets-2 (table key content &optional xname condition group expand-env load-file xkeybinding xuuid save-file &aux (name (or xname (and load-file (file-name-nondirectory load-file)) (and save-file (file-name-nondirectory save-file)) key)) (keybinding (yas--read-keybinding xkeybinding)) (uuid (or xuuid name)) (old (gethash uuid (yas--table-uuidhash table))) (menu-binding-pair (and old (yas--template-menu-binding-pair old))) (perm-group (and old (yas--template-perm-group old))))))' struct CL-X.
(defalias 'yas--template-save-file #[(cl-x) "\302!    >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-yas--template-tags type-of signal wrong-type-argument yas--template 7] 4 (#$ . 47249)])
(byte-code "\300\301\302\303#\300\207" [function-put yas--template-save-file side-effect-free t] 4)
#@57 compiler-macro for inlining `yas--template-keybinding'.
(defalias 'yas--template-keybinding--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block yas--template-keybinding (or (yas--template-p cl-x) (signal 'wrong-type-argument (list 'yas--template cl-x))) (aref cl-x 8)) nil] 7 (#$ . 48152)])
(put 'yas--template-keybinding 'compiler-macro 'yas--template-keybinding--cmacro)
#@604 Access slot "keybinding" of `(yas--template (:constructor yas--make-template) (:constructor yas--define-snippets-2 (table key content &optional xname condition group expand-env load-file xkeybinding xuuid save-file &aux (name (or xname (and load-file (file-name-nondirectory load-file)) (and save-file (file-name-nondirectory save-file)) key)) (keybinding (yas--read-keybinding xkeybinding)) (uuid (or xuuid name)) (old (gethash uuid (yas--table-uuidhash table))) (menu-binding-pair (and old (yas--template-menu-binding-pair old))) (perm-group (and old (yas--template-perm-group old))))))' struct CL-X.
(defalias 'yas--template-keybinding #[(cl-x) "\302!    >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-yas--template-tags type-of signal wrong-type-argument yas--template 8] 4 (#$ . 48588)])
(byte-code "\300\301\302\303#\300\207" [function-put yas--template-keybinding side-effect-free t] 4)
#@51 compiler-macro for inlining `yas--template-uuid'.
(defalias 'yas--template-uuid--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block yas--template-uuid (or (yas--template-p cl-x) (signal 'wrong-type-argument (list 'yas--template cl-x))) (aref cl-x 9)) nil] 7 (#$ . 49494)])
(put 'yas--template-uuid 'compiler-macro 'yas--template-uuid--cmacro)
#@598 Access slot "uuid" of `(yas--template (:constructor yas--make-template) (:constructor yas--define-snippets-2 (table key content &optional xname condition group expand-env load-file xkeybinding xuuid save-file &aux (name (or xname (and load-file (file-name-nondirectory load-file)) (and save-file (file-name-nondirectory save-file)) key)) (keybinding (yas--read-keybinding xkeybinding)) (uuid (or xuuid name)) (old (gethash uuid (yas--table-uuidhash table))) (menu-binding-pair (and old (yas--template-menu-binding-pair old))) (perm-group (and old (yas--template-perm-group old))))))' struct CL-X.
(defalias 'yas--template-uuid #[(cl-x) "\302!    >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-yas--template-tags type-of signal wrong-type-argument yas--template 9] 4 (#$ . 49900)])
(byte-code "\300\301\302\303#\300\207" [function-put yas--template-uuid side-effect-free t] 4)
#@64 compiler-macro for inlining `yas--template-menu-binding-pair'.
(defalias 'yas--template-menu-binding-pair--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block yas--template-menu-binding-pair (or (yas--template-p cl-x) (signal 'wrong-type-argument (list 'yas--template cl-x))) (aref cl-x 10)) nil] 7 (#$ . 50788)])
(put 'yas--template-menu-binding-pair 'compiler-macro 'yas--template-menu-binding-pair--cmacro)
#@611 Access slot "menu-binding-pair" of `(yas--template (:constructor yas--make-template) (:constructor yas--define-snippets-2 (table key content &optional xname condition group expand-env load-file xkeybinding xuuid save-file &aux (name (or xname (and load-file (file-name-nondirectory load-file)) (and save-file (file-name-nondirectory save-file)) key)) (keybinding (yas--read-keybinding xkeybinding)) (uuid (or xuuid name)) (old (gethash uuid (yas--table-uuidhash table))) (menu-binding-pair (and old (yas--template-menu-binding-pair old))) (perm-group (and old (yas--template-perm-group old))))))' struct CL-X.
(defalias 'yas--template-menu-binding-pair #[(cl-x) "\302!    >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-yas--template-tags type-of signal wrong-type-argument yas--template 10] 4 (#$ . 51260)])
(byte-code "\300\301\302\303#\300\207" [function-put yas--template-menu-binding-pair side-effect-free t] 4)
#@52 compiler-macro for inlining `yas--template-group'.
(defalias 'yas--template-group--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block yas--template-group (or (yas--template-p cl-x) (signal 'wrong-type-argument (list 'yas--template cl-x))) (aref cl-x 11)) nil] 7 (#$ . 52188)])
(put 'yas--template-group 'compiler-macro 'yas--template-group--cmacro)
#@599 Access slot "group" of `(yas--template (:constructor yas--make-template) (:constructor yas--define-snippets-2 (table key content &optional xname condition group expand-env load-file xkeybinding xuuid save-file &aux (name (or xname (and load-file (file-name-nondirectory load-file)) (and save-file (file-name-nondirectory save-file)) key)) (keybinding (yas--read-keybinding xkeybinding)) (uuid (or xuuid name)) (old (gethash uuid (yas--table-uuidhash table))) (menu-binding-pair (and old (yas--template-menu-binding-pair old))) (perm-group (and old (yas--template-perm-group old))))))' struct CL-X.
(defalias 'yas--template-group #[(cl-x) "\302!    >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-yas--template-tags type-of signal wrong-type-argument yas--template 11] 4 (#$ . 52600)])
(byte-code "\300\301\302\303#\300\207" [function-put yas--template-group side-effect-free t] 4)
#@57 compiler-macro for inlining `yas--template-perm-group'.
(defalias 'yas--template-perm-group--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block yas--template-perm-group (or (yas--template-p cl-x) (signal 'wrong-type-argument (list 'yas--template cl-x))) (aref cl-x 12)) nil] 7 (#$ . 53492)])
(put 'yas--template-perm-group 'compiler-macro 'yas--template-perm-group--cmacro)
#@604 Access slot "perm-group" of `(yas--template (:constructor yas--make-template) (:constructor yas--define-snippets-2 (table key content &optional xname condition group expand-env load-file xkeybinding xuuid save-file &aux (name (or xname (and load-file (file-name-nondirectory load-file)) (and save-file (file-name-nondirectory save-file)) key)) (keybinding (yas--read-keybinding xkeybinding)) (uuid (or xuuid name)) (old (gethash uuid (yas--table-uuidhash table))) (menu-binding-pair (and old (yas--template-menu-binding-pair old))) (perm-group (and old (yas--template-perm-group old))))))' struct CL-X.
(defalias 'yas--template-perm-group #[(cl-x) "\302!    >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-yas--template-tags type-of signal wrong-type-argument yas--template 12] 4 (#$ . 53929)])
(byte-code "\300\301\302\303#\300\207" [function-put yas--template-perm-group side-effect-free t] 4)
#@52 compiler-macro for inlining `yas--template-table'.
(defalias 'yas--template-table--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block yas--template-table (or (yas--template-p cl-x) (signal 'wrong-type-argument (list 'yas--template cl-x))) (aref cl-x 13)) nil] 7 (#$ . 54836)])
(put 'yas--template-table 'compiler-macro 'yas--template-table--cmacro)
#@599 Access slot "table" of `(yas--template (:constructor yas--make-template) (:constructor yas--define-snippets-2 (table key content &optional xname condition group expand-env load-file xkeybinding xuuid save-file &aux (name (or xname (and load-file (file-name-nondirectory load-file)) (and save-file (file-name-nondirectory save-file)) key)) (keybinding (yas--read-keybinding xkeybinding)) (uuid (or xuuid name)) (old (gethash uuid (yas--table-uuidhash table))) (menu-binding-pair (and old (yas--template-menu-binding-pair old))) (perm-group (and old (yas--template-perm-group old))))))' struct CL-X.
(defalias 'yas--template-table #[(cl-x) "\302!    >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-yas--template-tags type-of signal wrong-type-argument yas--template 13] 4 (#$ . 55248)])
(byte-code "\300\301\302\303#\304\305\306\"\207" [function-put yas--template-table side-effect-free t defalias copy-yas--template copy-sequence] 4)
#@196 compiler-macro for inlining `yas--make-template'.
 
(fn CL-WHOLE &cl-quote &key KEY CONTENT NAME CONDITION EXPAND-ENV LOAD-FILE SAVE-FILE KEYBINDING UUID MENU-BINDING-PAIR GROUP PERM-GROUP TABLE)
(defalias 'yas--make-template--cmacro #[(cl-whole &rest #1=#:--cl-rest--) "\306\307\"A@\306\310\"A@\306\311\"A@\306\312\"A@\306\313\"A@\306\314\"A@\306\315\"A@\306\316\"A@\306\317\"A@\306\320\"A@ \306\321\"A@!\306\322\"A@\"\306\323\"A@#$$\203\226$@\324>\203}$AA\211$\202h\325>A@\203\214\326\211$\202h\327\330$@\"\210\202f)\331\332\333\326%\326    \n \f  !\"#&. \207" [#1# key content name condition expand-env plist-member :key :content :name :condition :expand-env :load-file :save-file :keybinding :uuid :menu-binding-pair :group :perm-group :table (:key :content :name :condition :expand-env :load-file :save-file :keybinding :uuid :menu-binding-pair :group :perm-group :table :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:key :content :name :condition :expand-env :load-file :save-file :keybinding :uuid :menu-binding-pair :group :perm-group :table)" cl--defsubst-expand (key content name condition expand-env load-file save-file keybinding uuid menu-binding-pair group perm-group table) (cl-block yas--make-template (record 'yas--template key content name condition expand-env load-file save-file keybinding uuid menu-binding-pair group perm-group table)) load-file save-file keybinding uuid menu-binding-pair group perm-group table #2=#:--cl-keys-- cl-whole] 20 (#$ . 56193)])
(put 'yas--make-template 'compiler-macro 'yas--make-template--cmacro)
#@176 Constructor for objects of type `yas--template'.
 
(fn &key KEY CONTENT NAME CONDITION EXPAND-ENV LOAD-FILE SAVE-FILE KEYBINDING UUID MENU-BINDING-PAIR GROUP PERM-GROUP TABLE)
(defalias 'yas--make-template #[(&rest #1=#:--cl-rest--) "\306\307\"A@\306\310\"A@\306\311\"A@\306\312\"A@\306\313\"A@\306\314\"A@\306\315\"A@\306\316\"A@\306\317\"A@\306\320\"A@\306\321\"A@ \306\322\"A@!\306\323\"A@\"##\203\226#@\324>\203}#AA\211#\202h\325>A@\203\214\326\211#\202h\327\330#@\"\210\202f)\331\332    \n \f  !\"&. \207" [#1# key content name condition expand-env plist-member :key :content :name :condition :expand-env :load-file :save-file :keybinding :uuid :menu-binding-pair :group :perm-group :table (:key :content :name :condition :expand-env :load-file :save-file :keybinding :uuid :menu-binding-pair :group :perm-group :table :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:key :content :name :condition :expand-env :load-file :save-file :keybinding :uuid :menu-binding-pair :group :perm-group :table)" record yas--template load-file save-file keybinding uuid menu-binding-pair group perm-group table #2=#:--cl-keys--] 16 (#$ . 57839)])
(byte-code "\300\301\302\303#\300\207" [function-put yas--make-template side-effect-free t] 4)
#@155 Constructor for objects of type `yas--template'.
 
(fn TABLE KEY CONTENT &optional XNAME CONDITION GROUP EXPAND-ENV LOAD-FILE XKEYBINDING XUUID SAVE-FILE)
(defalias 'yas--define-snippets-2 #[(table key content &optional xname condition group expand-env load-file xkeybinding xuuid save-file &rest #1=#:--cl-rest--) "\206    \203\306    !\206\n\203\306\n!\206 \307 !\206%\f\310\311!\"\211\205K\312!>\204G\313\314\315D\"\210\316H\205h\312!>\204d\313\314\315D\"\210\317H\203z\313\320\321\322G\\D\"\210\323\315 \f    \n &.\207" [xname load-file save-file key name xkeybinding file-name-nondirectory yas--read-keybinding gethash yas--table-uuidhash type-of signal wrong-type-argument yas--template 10 12 wrong-number-of-arguments yas--define-snippets-2 11 record keybinding xuuid uuid table old cl-struct-yas--template-tags menu-binding-pair perm-group #1# content condition expand-env group] 16 (#$ . 59165)])
(byte-code "\300\301\302\303#\304\305\306\307\310\311\312\313\305\303&    \207" [function-put yas--define-snippets-2 side-effect-free t cl-struct-define yas--template "A template for a snippet." cl-structure-object record nil ((cl-tag-slot) (key) (content) (name) (condition) (expand-env) (load-file) (save-file) (keybinding) (uuid) (menu-binding-pair) (group) (perm-group) (table)) cl-struct-yas--template-tags] 11)
#@45 compiler-macro for inlining `yas--table-p'.
(defalias 'yas--table-p--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block yas--table-p (and (memq (type-of cl-x) cl-struct-yas--table-tags) t)) nil] 7 (#$ . 60556)])
(put 'yas--table-p 'compiler-macro 'yas--table-p--cmacro)
(defalias 'yas--table-p #[(cl-x) "\302!    >\205    \303\207" [cl-x cl-struct-yas--table-tags type-of t] 2])
(byte-code "\300\301\302\303#\304\305\306\301#\207" [function-put yas--table-p side-effect-free error-free put yas--table cl-deftype-satisfies] 5)
#@48 compiler-macro for inlining `yas--table-name'.
(defalias 'yas--table-name--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block yas--table-name (or (yas--table-p cl-x) (signal 'wrong-type-argument (list 'yas--table cl-x))) (aref cl-x 1)) nil] 7 (#$ . 61140)])
(put 'yas--table-name 'compiler-macro 'yas--table-name--cmacro)
#@97 Access slot "name" of `(yas--table (:constructor yas--make-snippet-table (name)))' struct CL-X.
(defalias 'yas--table-name #[(cl-x) "\302!    >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-yas--table-tags type-of signal wrong-type-argument yas--table 1] 4 (#$ . 61524)])
(byte-code "\300\301\302\303#\300\207" [function-put yas--table-name side-effect-free t] 4)
#@48 compiler-macro for inlining `yas--table-hash'.
(defalias 'yas--table-hash--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block yas--table-hash (or (yas--table-p cl-x) (signal 'wrong-type-argument (list 'yas--table cl-x))) (aref cl-x 2)) nil] 7 (#$ . 61899)])
(put 'yas--table-hash 'compiler-macro 'yas--table-hash--cmacro)
#@97 Access slot "hash" of `(yas--table (:constructor yas--make-snippet-table (name)))' struct CL-X.
(defalias 'yas--table-hash #[(cl-x) "\302!    >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-yas--table-tags type-of signal wrong-type-argument yas--table 2] 4 (#$ . 62283)])
(byte-code "\300\301\302\303#\300\207" [function-put yas--table-hash side-effect-free t] 4)
#@52 compiler-macro for inlining `yas--table-uuidhash'.
(defalias 'yas--table-uuidhash--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block yas--table-uuidhash (or (yas--table-p cl-x) (signal 'wrong-type-argument (list 'yas--table cl-x))) (aref cl-x 3)) nil] 7 (#$ . 62658)])
(put 'yas--table-uuidhash 'compiler-macro 'yas--table-uuidhash--cmacro)
#@101 Access slot "uuidhash" of `(yas--table (:constructor yas--make-snippet-table (name)))' struct CL-X.
(defalias 'yas--table-uuidhash #[(cl-x) "\302!    >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-yas--table-tags type-of signal wrong-type-argument yas--table 3] 4 (#$ . 63063)])
(byte-code "\300\301\302\303#\300\207" [function-put yas--table-uuidhash side-effect-free t] 4)
#@51 compiler-macro for inlining `yas--table-parents'.
(defalias 'yas--table-parents--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block yas--table-parents (or (yas--table-p cl-x) (signal 'wrong-type-argument (list 'yas--table cl-x))) (aref cl-x 4)) nil] 7 (#$ . 63450)])
(put 'yas--table-parents 'compiler-macro 'yas--table-parents--cmacro)
#@100 Access slot "parents" of `(yas--table (:constructor yas--make-snippet-table (name)))' struct CL-X.
(defalias 'yas--table-parents #[(cl-x) "\302!    >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-yas--table-tags type-of signal wrong-type-argument yas--table 4] 4 (#$ . 63850)])
(byte-code "\300\301\302\303#\300\207" [function-put yas--table-parents side-effect-free t] 4)
#@57 compiler-macro for inlining `yas--table-direct-keymap'.
(defalias 'yas--table-direct-keymap--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block yas--table-direct-keymap (or (yas--table-p cl-x) (signal 'wrong-type-argument (list 'yas--table cl-x))) (aref cl-x 5)) nil] 7 (#$ . 64234)])
(put 'yas--table-direct-keymap 'compiler-macro 'yas--table-direct-keymap--cmacro)
#@106 Access slot "direct-keymap" of `(yas--table (:constructor yas--make-snippet-table (name)))' struct CL-X.
(defalias 'yas--table-direct-keymap #[(cl-x) "\302!    >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-yas--table-tags type-of signal wrong-type-argument yas--table 5] 4 (#$ . 64664)])
(byte-code "\300\301\302\303#\304\305\306\"\207" [function-put yas--table-direct-keymap side-effect-free t defalias copy-yas--table copy-sequence] 4)
#@119 compiler-macro for inlining `make-yas--table'.
 
(fn CL-WHOLE &cl-quote &key NAME HASH UUIDHASH PARENTS DIRECT-KEYMAP)
(defalias 'make-yas--table--cmacro #[(cl-whole &rest #1=#:--cl-rest--) "\306\307\"A@\306\310\"\206\311A@\306\312\"\206\313A@\306\314\"A@\306\315\"\206,\316A@\203b@\317>\203IAA\211\2024\320>A@\203X\321\211\2024\322\323@\"\210\2022)\324\325\326\321\321    \n \f &\n-\207" [#1# name hash uuidhash parents direct-keymap plist-member :name :hash (nil (make-hash-table :test 'equal)) :uuidhash (nil (make-hash-table :test 'equal)) :parents :direct-keymap (nil (make-sparse-keymap)) (:name :hash :uuidhash :parents :direct-keymap :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:name :hash :uuidhash :parents :direct-keymap)" cl--defsubst-expand (name hash uuidhash parents direct-keymap) (cl-block make-yas--table (record 'yas--table name hash uuidhash parents direct-keymap)) #2=#:--cl-keys-- cl-whole] 12 (#$ . 65116)])
(put 'make-yas--table 'compiler-macro 'make-yas--table--cmacro)
#@99 Constructor for objects of type `yas--table'.
 
(fn &key NAME HASH UUIDHASH PARENTS DIRECT-KEYMAP)
(defalias 'make-yas--table #[(&rest #1=#:--cl-rest--) "\306\307\"A@\306\310\"\206\311\312\313\314\"DA@\306\315\"\206$\311\312\313\314\"DA@\306\316\"A@\306\317\"\2069\311\320 DA@\203o@\321>\203VAA\211\202A\322>A@\203e\311\211\202A\323\324@\"\210\202?)\325\326    \n \f &-\207" [#1# name hash uuidhash parents direct-keymap plist-member :name :hash nil make-hash-table :test equal :uuidhash :parents :direct-keymap make-sparse-keymap (:name :hash :uuidhash :parents :direct-keymap :allow-other-keys) :allow-other-keys error "Keyword argument %s not one of (:name :hash :uuidhash :parents :direct-keymap)" record yas--table #2=#:--cl-keys--] 8 (#$ . 66188)])
#@56 compiler-macro for inlining `yas--make-snippet-table'.
(defalias 'yas--make-snippet-table--cmacro #[(_cl-whole-arg name) "\301\302\303\304\211\211&\207" [name cl--defsubst-expand (name) (cl-block yas--make-snippet-table (record 'yas--table name (make-hash-table :test 'equal) (make-hash-table :test 'equal) nil (make-sparse-keymap))) nil] 7 (#$ . 66982)])
(put 'yas--make-snippet-table 'compiler-macro 'yas--make-snippet-table--cmacro)
#@47 Constructor for objects of type `yas--table'.
(defalias 'yas--make-snippet-table #[(name) "\301\302\303\304\305\"\303\304\305\"\306\307 &\207" [name record yas--table make-hash-table :test equal nil make-sparse-keymap] 7 (#$ . 67426)])
(cl-struct-define 'yas--table "A table to store snippets for a particular mode.\n\nHas the following fields:\n\n`yas--table-name'\n\n  A symbol name normally corresponding to a major mode, but can\n  also be a pseudo major-mode to be used in\n  `yas-activate-extra-mode', for example.\n\n`yas--table-hash'\n\n  A hash table (KEY . NAMEHASH), known as the \"keyhash\". KEY is\n  a string or a vector, where the former is the snippet's trigger\n  and the latter means it's a direct keybinding. NAMEHASH is yet\n  another hash of (NAME . TEMPLATE) where NAME is the snippet's\n  name and TEMPLATE is a `yas--template' object.\n\n`yas--table-direct-keymap'\n\n  A keymap for the snippets in this table that have direct\n  keybindings. This is kept in sync with the keyhash, i.e., all\n  the elements of the keyhash that are vectors appear here as\n  bindings to `yas-maybe-expand-from-keymap'.\n\n`yas--table-uuidhash'\n\n  A hash table mapping snippets uuid's to the same `yas--template'\n  objects. A snippet uuid defaults to the snippet's name." 'cl-structure-object 'record nil '((cl-tag-slot) (name) (hash (make-hash-table :test 'equal)) (uuidhash (make-hash-table :test 'equal)) (parents nil) (direct-keymap (make-sparse-keymap))) 'cl-struct-yas--table-tags 'yas--table t)
#@48 Find the snippet template in MODE by its UUID.
(defalias 'yas--get-template-by-uuid #[(mode uuid) "\305    #\211\205\305 \306\n!\f>\204\307\310\311\nD\"\210\n\312H\")\207" [mode yas--tables table uuid cl-struct-yas--table-tags gethash type-of signal wrong-type-argument yas--table 3] 7 (#$ . 68945)])
#@50 Remove from TABLE a template identified by UUID.
(defalias 'yas--remove-template-by-uuid #[(table uuid) "\306\307    !\n>\204\310\311\312    D\"\210    \313H\"\211\205\254\307 !\f>\204)\310\311\314 D\"\210 \313H\315\316\317\307    !\n>\204A\310\311\312    D\"\210    \320H\"\210\315\211\203\225@\321!\203u\322\307    !\n>\204m\310\311\312    D\"\210    \323H\315#\210\324\307    !\n>\204\207\310\311\312    D\"\210    \320H\"\210A\211\204Q*\324\307    !\n>\204\247\310\311\312    D\"\210    \313H\"*)\207" [uuid table cl-struct-yas--table-tags template cl-struct-yas--template-tags name gethash type-of signal wrong-type-argument yas--table 3 yas--template nil maphash #[(k v) "\306    \"\211\2054 \307\n!\f>\204\310\311\312\nD\"\210\n\313H\232\2054\314    \"\210\315    !\316U\2054 B\211)\207" [name v template uuid cl-struct-yas--template-tags k gethash type-of signal wrong-type-argument yas--template 9 remhash hash-table-count 0 empty-keys] 6] 2 vectorp define-key 5 remhash empty-keys key --dolist-tail--] 7 (#$ . 69256)])
(defconst yas-maybe-expand-from-keymap '(menu-item "" yas-expand-from-keymap :filter yas--maybe-expand-from-keymap-filter))
#@115 Store in TABLE the snippet template TEMPLATE.
 
KEY can be a string (trigger key) of a vector (direct
keybinding).
(defalias 'yas--add-template #[(table template) "\306!    >\204\307\310\311D\"\210\312H\306!    >\204!\307\310\311D\"\210\313H\306!    >\2043\307\310\311D\"\210\314H\315!\316\317\f D\"\317\211\203\276@\320 \321\306!>\204i\307\310\322D\"\210\323H\"\206\217\320\324\325\326\"\306!>\204\212\307\310\322D\"\210\323H##\210\327!\203\265\330\306!>\204\253\307\310\322D\"\210\331H#\210A\211\204L*\320\306!    >\204\317\307\310\311D\"\210\332H\306!>\204\345\307\310\322D\"\210\312H#,\207" [template cl-struct-yas--template-tags _menu-binding-pair keybinding key name type-of signal wrong-type-argument yas--template 3 1 8 yas--template-menu-binding-pair-get-create remove nil puthash gethash yas--table 2 make-hash-table :test equal vectorp define-key 5 9 k --dolist-tail-- table cl-struct-yas--table-tags yas-maybe-expand-from-keymap] 11 (#$ . 70411)])
#@115 Add or update TEMPLATE in TABLE.
 
Also takes care of adding and updating to the associated menu.
Return TEMPLATE.
(defalias 'yas--update-template #[(table template) "\303\304    !\n>\204\305\306\307    D\"\210    \310H\"\210\311    \"\210\312    \"\210    \207" [table template cl-struct-yas--template-tags yas--remove-template-by-uuid type-of signal wrong-type-argument yas--template 9 yas--add-template yas--update-template-menu] 6 (#$ . 71451)])
#@41 Update every menu-related for TEMPLATE.
(defalias 'yas--update-template-menu #[(table template) "\306!\307!    >\204\310\311\312D\"\210\313H\307!    >\204$\310\311\312D\"\210\314H\211A\315=\204s\f@A\211\307!    >\204E\310\311\312D\"\210\316H\240\210)\f@&\n\203Y\317\n!\206a \205a 'P(&\320&A\321(#\241\210(\210*+\322!?\205H\323\324)!\325\324\307)!*>\204\224\310\311\326)D\"\210)\327H\"\"\307!    >\204\251\310\311\312D\"\210\330H+\211\204\270\331\332!\210\333\307!    >\204\312\310\311\312D\"\210\334H\"\210+\335,\211-\203-@,\336\337\340,!!\"\211.\203\366\341.!\204 \342 .\343\337\340,!!\344,.E#\210.)-A\211-\204\332*\343\337\340\307!    >\204.\310\311\312D\"\210\334H!!\307!    >\204B\310\311\312D\"\210\345H@#*\207" [template cl-struct-yas--template-tags keybinding key menu-binding-pair #1=#:v yas--template-menu-binding-pair-get-create type-of signal wrong-type-argument yas--template 1 8 :none 3 key-description cl--set-getf :keys yas--template-menu-managed-by-yas-define-menu yas--menu-keymap-get-create yas--table-mode mapcar yas--table 4 11 cl--assertion-failed menu-keymap yas--delete-from-keymap 9 nil lookup-key vector make-symbol keymapp make-sparse-keymap define-key menu-item 10 #2=#:v yas-trigger-symbol #3=#:val table cl-struct-yas--table-tags group subgroup --dolist-tail-- subgroup-keymap] 9 (#$ . 71893)])
#@30 Return NAMEHASH as an alist.
(defalias 'yas--namehash-templates-alist #[(namehash) "\302\303\304    \"\210)\207" [alist namehash nil maphash #[(k v) "    B\nB\211\207" [k v alist] 2]] 3 (#$ . 73289)])
#@143 Fetch templates in TABLE by KEY.
 
Return a list of cons (NAME . TEMPLATE) where NAME is a
string and TEMPLATE is a `yas--template' structure.
(defalias 'yas--fetch #[(table key) "\305!    >\204\306\307\310D\"\210\311H\211\205\312 \n\"\211\205%\313\314\f!!*\207" [table cl-struct-yas--table-tags keyhash key namehash type-of signal wrong-type-argument yas--table 2 gethash yas--filter-templates-by-condition yas--namehash-templates-alist] 5 (#$ . 73495)])
(defalias 'yas--eval-condition #[(condition) "\3031\212\214\304 \305\216\306    !,0\207\307\310\311\312\n!#\210)\313\207" [save-match-data-internal condition err (error) match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] eval yas--message 1 "Error in condition evaluation: %s" error-message-string nil] 5])
#@283 Filter the templates using the applicable condition.
 
TEMPLATES is a list of cons (NAME . TEMPLATE) where NAME is a
string and TEMPLATE is a `yas--template' structure.
 
This function implements the rules described in
`yas-buffer-local-condition'.  See that variables documentation.
(defalias 'yas--filter-templates-by-condition #[(templates) "\302 \211\303=\203     \202\304\305    \")\207" [requirement templates yas--require-template-specific-condition-p always cl-remove-if-not #[(pair) "\303\304A!    >\204\305\306\307AD\"\210A\310H\n\"\207" [pair cl-struct-yas--template-tags requirement yas--template-can-expand-p type-of signal wrong-type-argument yas--template 4] 5]] 4 (#$ . 74311)])
#@105 Decide if this buffer requests/requires snippet-specific
conditions to filter out potential expansions.
(defalias 'yas--require-template-specific-condition-p #[nil "\302=\203\302\207:\203\303!\206\211\2057    \304=\203#\304\2027    :\2057    @\305=\2057    A9\2057    A)\207" [yas-buffer-local-condition local-condition always yas--eval-condition t require-snippet-condition] 3 (#$ . 75011)])
#@58 Evaluate CONDITION and REQUIREMENT and return a boolean.
(defalias 'yas--template-can-expand-p #[(condition requirement) "?\206\303!\n\304\267\202    \202\n    =)\207" [condition result requirement yas--eval-condition #s(hash-table size 1 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (t 15))] 2 (#$ . 75412)])
(defalias 'yas--table-templates #[(table) "\205 \303\304\305\306!\n>\204\307\310\311D\"\210\312H\"\210\313    !)\207" [table acc cl-struct-yas--table-tags nil maphash #[(_key namehash) "\301\302\"\207" [namehash maphash #[(name template) "    B\nB\211\207" [name template acc] 2]] 3] type-of signal wrong-type-argument yas--table 2 yas--filter-templates-by-condition] 6])
#@153 Find `yas--template' objects for any trigger keys preceding point.
Returns (TEMPLATES START END). This function respects
`yas-key-syntaxes', which see.
(defalias 'yas--templates-for-key-at-point #[nil "\212`\306\211 \203\\\n\204\\     @=\204\fb\210 @\211;\203-\307    !\210 A\202I\310    !\203A    \f!\311=\204I A\202I A\312\313    \"\210\314`\f\"\212\fb\210\315\316\317 \"*\202    \n\205d\n`\fE-\207" [yas-key-syntaxes method templates methods original possible-key nil skip-syntax-backward functionp again yas--warning "Invalid element `%s' in `yas-key-syntaxes'" buffer-substring-no-properties cl-mapcan #[(table) "\302    \"\207" [table possible-key yas--fetch] 3] yas--get-snippet-tables] 5 (#$ . 76128)])
#@51 Get trigger keys of all active snippets in TABLE.
(defalias 'yas--table-all-keys #[(table) "\303\304\305\306    !\n>\204\307\310\311    D\"\210    \312H\"\210)\207" [acc table cl-struct-yas--table-tags nil maphash #[(key namehash) "\303\304!!\205     \nB\211\207" [namehash key acc yas--filter-templates-by-condition yas--namehash-templates-alist] 3] type-of signal wrong-type-argument yas--table 2] 6 (#$ . 76847)])
(defalias 'yas--table-mode #[(table) "\302\303!    >\204\304\305\306D\"\210\307H!\207" [table cl-struct-yas--table-tags intern type-of signal wrong-type-argument yas--table 1] 5])
#@94 Tries to work around Emacs Bug#30931.
Helper function for `yas--save-restriction-and-widen'.
(defalias 'yas--remove-misc-free-from-undo #[(old-undo-list) ":\205J\211\n:\205I\n =?\205I\n\211A\242\211:\203C\f@\211;\204B\306 !\204B \250\204B 9\204B\fA\250\203B    \n\241\210))\n\202    *\207" [buffer-undo-list prev undo-list old-undo-list entry head markerp] 3 (#$ . 77447)])
#@91 Equivalent to (save-restriction (widen) BODY).
Also tries to work around Emacs Bug#30931.
(defalias 'yas--save-restriction-and-widen '(macro . #[(&rest body) "\301\302\303\304\305BB\306BBE\207" [body let ((gc-cons-threshold most-positive-fixnum) (old-undo-list buffer-undo-list)) prog1 save-restriction (widen) ((yas--remove-misc-free-from-undo old-undo-list))] 6 (#$ . 77839)]))
(byte-code "\300\301\302\303#\210\304\301\305\306#\300\207" [put yas--save-restriction-and-widen edebug-form-spec (body) function-put lisp-indent-function 0] 4)
#@49 Evaluate FORM and convert the result to string.
(defalias 'yas--eval-for-string #[(form) "\306>?\205    \30714\212\n \214~\210\310 \311\216\312!\211\205*\313\314\",\315\f!\210+0\2029\211A))\207" [yas-good-grace debug-on-error most-positive-fixnum buffer-undo-list old-undo-list gc-cons-threshold (t inline) (debug error) match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] eval format "%s" yas--remove-misc-free-from-undo save-match-data-internal form result oops] 4 (#$ . 78387)])
(defalias 'yas--eval-for-effect #[(form) "\301\302\303\"!\207" [form yas--safely-call-fun apply-partially eval] 4])
#@178 Read STRING as a elisp expression and return it.
 
In case STRING in an invalid expression and NIL-ON-ERROR is nil,
return an expression that when evaluated will issue an error.
(defalias 'yas--read-lisp #[(string &optional nil-on-error) "\3031    \304!0\207\n?\205\305\306    DD)\207" [string err nil-on-error (error) read error error-message-string] 3 (#$ . 79047)])
#@59 Read KEYBINDING as a snippet keybinding, return a vector.
(defalias 'yas--read-keybinding #[(keybinding) "\205/\302\303\"?\205/\3041#\302\305\"\203\306!\206!\307\310\"0\207\311\312\313\314    !$\210)\315\207" [keybinding err string-match "keybinding" (error) "^\\[.*\\]$" read read-kbd-macro need-vector yas--message 2 "warning: keybinding \"%s\" invalid since %s." error-message-string nil] 7 (#$ . 79420)])
#@56 Get or create the snippet table corresponding to MODE.
(defalias 'yas--table-get-create #[(mode) "\305    \"\211\204>\306\307\310!\311\312\313\"\311\312\313\"\314\315 &\316\n    #\210\317\320\321\"!\322\n! >\2047\323\324\307\nD\"\210\n\325HB\fB\n)\207" [mode yas--tables table cl-struct-yas--table-tags yas--direct-keymaps gethash record yas--table symbol-name make-hash-table :test equal nil make-sparse-keymap puthash intern format "yas--direct-%s" type-of signal wrong-type-argument 5] 8 (#$ . 79845)])
#@194 Get snippet tables for MODE.
 
MODE defaults to the current buffer's `major-mode'.
 
Return a list of `yas--table' objects.  The list of modes to
consider is returned by `yas--modes-to-activate'
(defalias 'yas--get-snippet-tables #[(&optional mode) "\301\302\303\304\305!\"\"\207" [mode remove nil mapcar #[(name) "\302    \"\207" [name yas--tables gethash] 3] yas--modes-to-activate] 6 (#$ . 80362)])
#@153 Get or create the menu keymap for MODE and its PARENTS.
 
This may very well create a plethora of menu keymaps and arrange
them all in `yas--menu-table'
(defalias 'yas--menu-keymap-get-create #[(mode &optional parents) "\305    \"\206 \306\307     #\310\311 \"\210\312\f\313!\314\315!\n\316\317\320DD\257#\210\n)\207" [mode yas--menu-table menu-keymap parents yas--minor-mode-menu gethash puthash make-sparse-keymap mapc yas--menu-keymap-get-create define-key vector menu-item symbol-name :visible yas--show-menu-p quote] 10 (#$ . 80768)])
#@646 Parse the template in the current buffer.
 
Optional FILE is the absolute file name of the file being
parsed.
 
Optional GROUP is the group where the template is to go,
otherwise we attempt to calculate it from FILE.
 
Return a snippet-definition, i.e. a list
 
 (KEY TEMPLATE NAME CONDITION GROUP VARS LOAD-FILE KEYBINDING UUID)
 
If the buffer contains a line of "# --" then the contents above
this line are ignored. Directives can set most of these with the syntax:
 
# directive-name : directive-value
 
Here's a list of currently recognized directives:
 
 * type
 * name
 * contributor
 * condition
 * group
 * key
 * expand-env
 * binding
 * uuid
(defalias 'yas--parse-template #[(&optional file) "eb\210\306    \205\f\307    !\310\211\310\211\"    \205\311    !#\310\211$%\310&\312\313\310\314#\203\271\315`d\"`eb\210\312\316 \314#\203\276\317\320!\321\230\203O\317\322!&\317\320!\323\230\203e\317\322!\324\230\203c\325\202d\306\317\320!\326\230\203q\317\322!\317\320!\327\230\203}\317\322!\317\320!\330\230\203\214\331\317\322!!\"\317\320!\332\230\203\231\317\322!#\317\320!\333\230\203\251\331\317\322!\334\"$\317\320!\335\230\203:\317\322!%\202:\315ed\" \204\317%\204\317    \205\316\307    !\325=\203\334\331\336\f\337Q!#\203\350\340#\341\"# \f\n\"#$    %&\257    .\n\207" [type file name key template bound snippet file-name-nondirectory nil yas--calculate-group re-search-forward "^# --\\s-*\n" t buffer-substring-no-properties "^# *\\([^ ]+?\\) *: *\\(.*?\\)[[:space:]]*$" match-string-no-properties 1 "uuid" 2 "type" "command" command "key" "name" "condition" yas--read-lisp "group" "expand-env" nil-on-error "binding" "(progn" ")" split-string "\\." condition group expand-env binding uuid] 10 (#$ . 81316)])
#@49 Calculate the group for snippet file path FILE.
(defalias 'yas--calculate-group #[(file) "\304\305\"\211\205 \306    \"\211\205\307\n!\211\205!\310\311\312\313 !#+\207" [file dominating-dir extra-path extra-dir locate-dominating-file ".yas-make-groups" file-relative-name file-name-directory replace-regexp-in-string "/" "." directory-file-name] 6 (#$ . 83069)])
#@58 Return subdirs or files of DIRECTORY according to FILEP.
(defalias 'yas--subdirs #[(directory &optional filep) "\301\302\303\304\"\"\207" [directory cl-remove-if #[(file) "\302\303\304!\"\206'\302\305\304!\"\206'\302\306\304!\"\206'    \203#\307!\207\307!?\207" [file filep string-match "\\`\\." file-name-nondirectory "\\`#.*#\\'" "~\\'" file-directory-p] 4] directory-files t] 5 (#$ . 83444)])
(defalias 'yas--make-menu-binding #[(template) "\303\304!    >\204\305\306\307D\"\210\310H!\311\312\313\314\315\nD\304!    >\204+\305\306\307D\"\210\316HEF)\207" [template cl-struct-yas--template-tags mode yas--table-mode type-of signal wrong-type-argument yas--template 13 lambda nil (interactive) yas--expand-or-visit-from-menu quote 9] 9])
(defalias 'yas--expand-or-visit-from-menu #[(mode uuid) "\306!\211\205\307\n\310    ! >\204\311\312\313    D\"\210    \314H\"\211\205m \203,\315\f!\202m\316 \2039\317 \320 B\202<``B\321\310\f!>\204O\311\312\322\fD\"\210\f\323H@A\310\f!>\204h\311\312\322\fD\"\210\f\324H$)*\207" [mode table uuid cl-struct-yas--table-tags yas--current-template yas-visit-from-menu yas--table-get-create gethash type-of signal wrong-type-argument yas--table 3 yas--visit-snippet-file-1 region-active-p region-beginning region-end yas-expand-snippet yas--template 2 5 where cl-struct-yas--template-tags] 9])
#@56 Return a yasnippet key from a description string TEXT.
(defalias 'yas--key-from-desc #[(text) "\301\302\303#\207" [text replace-regexp-in-string "\\(\\w+\\).*" "\\1"] 4 (#$ . 84803)])
#@140 Interactively choose a template from the list TEMPLATES.
 
TEMPLATES is a list of `yas--template'.
 
Optional PROMPT sets the prompt to use.
(defalias 'yas--prompt-for-template #[(templates &optional prompt) "\205 \302\303\"\304\305    \"\207" [templates yas-prompt-functions sort #[(t1 t2) "\303!    >\204\304\305\306D\"\210\307HG\303\n!    >\204\"\304\305\306\nD\"\210\n\307HGW\207" [t1 cl-struct-yas--template-tags t2 type-of signal wrong-type-argument yas--template 3] 5] cl-some #[(fn) "    \206\303\n\304#\207" [fn prompt templates "Choose a snippet: " yas--template-name] 4]] 3 (#$ . 84995)])
#@98 Interactively choose a template key from the list KEYS.
 
Optional PROMPT sets the prompt to use.
(defalias 'yas--prompt-for-keys #[(keys &optional prompt) "\205\302\303    \"\207" [keys yas-prompt-functions cl-some #[(fn) "    \206\303\n\"\207" [fn prompt keys "Choose a snippet key: "] 3]] 3 (#$ . 85600)])
#@93 Interactively choose a table from the list TABLES.
 
Optional PROMPT sets the prompt to use.
(defalias 'yas--prompt-for-table #[(tables &optional prompt) "\205\302\303    \"\207" [tables yas-prompt-functions cl-some #[(fn) "    \206\303\n\304#\207" [fn prompt tables "Choose a snippet table: " yas--table-name] 4]] 3 (#$ . 85914)])
#@39 Display choices in a x-window prompt.
(defalias 'yas-x-prompt #[(prompt choices &optional display-fn) "\205F    \205F\305 \210\306\307\310!\203+\310`!\3118\262\211@\312\\\nA\313\\D\314 )D\202,\315 \316\317\320    \f\203<\321\f    \"\202=    #BD\"\206F\322 \207" [window-system choices x-y prompt display-fn redisplay x-popup-menu fboundp posn-at-point 2 10 20 selected-window t "title" cl-mapcar #[(c d) "\302P    B\207" [d c "   "] 2] mapcar keyboard-quit] 11 (#$ . 86251)])
(defalias 'yas-maybe-ido-prompt #[(prompt choices &optional display-fn) "\304\300!\205\205\305    \n #\207" [ido-mode prompt choices display-fn boundp yas-ido-prompt] 4])
(defalias 'yas-ido-prompt #[(prompt choices &optional display-fn) "\303\304!\210\305    \n\306$\207" [prompt choices display-fn require ido yas-completing-prompt ido-completing-read] 5])
(defalias 'yas-dropdown-prompt #[(_prompt choices &optional display-fn) "\304\305!\205$\203\306    \"\202    \305\n!\211\203!     8\202#\307 *\207" [display-fn choices formatted-choices n fboundp dropdown-list mapcar keyboard-quit] 4])
(defalias 'yas-completing-prompt #[(prompt choices &optional display-fn completion-fn) "\203 \306    \"\202\f     \206\307\f\n\310\311\310\211&    \n=\203% \2021\312 \n\313\314$\206/\315    8*\207" [display-fn choices formatted-choices completion-fn prompt chosen mapcar completing-read nil require-match cl-position :test string= 0] 7])
(defalias 'yas-no-prompt #[(_prompt choices &optional _display-fn) "@\207" [choices] 1])
(defvar yas--creating-compiled-snippets nil)
#@35 Helper for `yas-define-snippets'.
(defalias 'yas--define-snippets-1 #[(snippet snippet-table) "\302\303\304    #\"\207" [snippet-table snippet yas--update-template apply yas--define-snippets-2] 6 (#$ . 87799)])
#@827 Define SNIPPETS for MODE.
 
SNIPPETS is a list of snippet definitions, each taking the
following form
 
 (KEY TEMPLATE NAME CONDITION GROUP EXPAND-ENV LOAD-FILE KEYBINDING UUID SAVE-FILE)
 
Within these, only KEY and TEMPLATE are actually mandatory.
 
TEMPLATE might be a Lisp form or a string, depending on whether
this is a snippet or a snippet-command.
 
CONDITION, EXPAND-ENV and KEYBINDING are Lisp forms, they have
been `yas--read-lisp'-ed and will eventually be
`yas--eval-for-string'-ed.
 
The remaining elements are strings.
 
FILE is probably of very little use if you're programatically
defining snippets.
 
UUID is the snippet's "unique-id". Loading a second snippet
file with the same uuid would replace the previous snippet.
 
You can use `yas--parse-template' to return such lists based on
the current buffers contents.
(defalias 'yas-define-snippets #[(mode snippets) "\203I\306\307c\210\n\306\211\2037\f@\310 \311\312 GZ\306\"\"\313 8\313 \233\306\240\210\314 \233 \240\210)\fA\211\204*\315\316\317D\317\nDE!c\210\320c)\207\321!\306\n\306\211\203k\f@\322 \"\fA\211\204Z**\207" [yas--creating-compiled-snippets print-length snippets snippet --dolist-tail-- load-file nil ";;; Snippet definitions:\n;;;\n" append make-list 10 6 9 pp-to-string yas-define-snippets quote "\n\n" yas--table-get-create yas--define-snippets-1 mode template snippet-table] 6 (#$ . 88016)])
#@43 Return TEMPLATE's LOAD-FILE or SAVE-FILE.
(defalias 'yas--template-get-file #[(template) "\303!    >\204\304\305\306D\"\210\307H\206F\303!    >\204$\304\305\306D\"\210\310H\211\203D\311\312\313\303!    >\204>\304\305\306D\"\210\312H\n$\210\n)\207" [template cl-struct-yas--template-tags file type-of signal wrong-type-argument yas--template 6 7 yas--message 3 "%s has no load file, using save file, %s, instead."] 8 (#$ . 89427)])
(defalias 'yas--load-yas-setup-file #[(file) "\204\f\304    \305\n\306X#\207    \307P\310 !\205\311c\210\312 !\210db)\207" [yas--creating-compiled-snippets file yas-verbosity elfile load noerror 4 ".el" file-exists-p ";;; contents of the .yas-setup.el support file:\n;;;\n" insert-file-contents] 5])
#@44 Add PARENTS to the list of MODE's parents.
(defalias 'yas--define-parents #[(mode parents) "\303\304\305    \306\n\"\"!\n#\207" [mode parents yas--parents puthash cl-remove-duplicates append gethash] 8 (#$ . 90170)])
#@170 Load snippets in directory hierarchy TOP-LEVEL-DIR.
 
Below TOP-LEVEL-DIR each directory should be a mode name.
 
With prefix argument USE-JIT do jit-loading of snippets.
(defalias 'yas-load-directory #[(top-level-dir &optional use-jit interactive) "\204    \306\307    !\306\211\203\220\f@\310 \311P!\211@ A\312\"\210\313!\210\314\315 #\203F\316\"\210\202J \210)\203\210\317 \306:\203\207@rq\210=\203}\320\321\322$\210\nB)A\211\202Y*+\fA\211\204*\n\306:\203\264@rq\210\323 \210)A\211\202\231+\205\277\320\324\325    #\207" [yas-snippet-dirs top-level-dir impatient-buffers dir --dolist-tail-- major-mode-and-parents nil yas--subdirs yas--compute-major-mode-and-parents "/dummy" yas--define-parents yas--menu-keymap-get-create apply-partially yas--load-directory-1 yas--schedule-jit buffer-list yas--message 4 "Discovered there was already %s in %s" yas--load-pending-jits 3 "Loaded snippets from %s." mode-sym parents fun use-jit #1=#:--cl-var-- buffer major-mode #2=#:--cl-var-- interactive] 6 (#$ . 90393) (list (read-directory-name "Select the root directory: " nil nil t) current-prefix-arg t)])
#@52 Recursively load snippet templates from DIRECTORY.
(defalias 'yas--load-directory-1 #[(directory mode-sym) "\2037\306\307    \"\211\310\311\312!!\313\216r q\210\314\315 \"c\210\316     \"\210\314\317\320 \"c)r q\210\321\322\211\f\322\323%\210-\207\324\306\325    \"!?\205d\326\306\327    \"\330\331X#\205V\332\333\334    #\210\335?\205d\332\333\336    #\210\316     \"\207" [yas--creating-compiled-snippets directory output-file #1=#:temp-buffer #2=#:temp-file mode-sym expand-file-name ".yas-compiled-snippets.el" get-buffer-create generate-new-buffer-name " *temp file*" #[nil "\301!\205    \302!\207" [#1# buffer-name kill-buffer] 2] format ";;; Compiled snippets and support files for `%s'\n" yas--load-directory-2 ";;; Do not edit! File generated at %s\n" current-time-string write-region nil 0 file-exists-p ".yas-skip" load ".yas-compiled-snippets" noerror 3 yas--message 4 "Loaded compiled snippets from %s" t "Loading snippet files from %s" yas-verbosity] 8 (#$ . 91580)])
(defalias 'yas--load-directory-2 #[(directory mode-sym) "\306\307\310\"!\210\311\312\313!r q\210\314\216\315\316\"\311\211\203= @\317\f!\2036\320 \210\321\f!\210\322\f!\nB A\211\204 -\n\203H\323\n\"\210\315!\311\211\205f @\324\"\210 A\211\204S\311,\207" [directory default-directory snippet-defs #1=#:temp-buffer file --dolist-tail-- yas--load-yas-setup-file expand-file-name ".yas-setup" nil generate-new-buffer " *temp*" #[nil "\301!\205    \302!\207" [#1# buffer-name kill-buffer] 2] yas--subdirs no-subdirs-just-files file-readable-p erase-buffer insert-file-contents yas--parse-template yas-define-snippets yas--load-directory-2 mode-sym subdir] 5])
#@87 Reload the directories listed in `yas-snippet-dirs' or
prompt the user to select one.
(defalias 'yas--load-snippet-dirs #[(&optional nojit) "\306    \204 \307\310!\210\202X\n    \235\203\311\n\312\"\210\313\301 !\306\211\203W\f@\314 !\203H\310 ?\"\210 \203?\315\316\317 #\210\202P\315\316\320 #\210\202P\315\321\322 #B\fA\211\204#*)\207" [errors yas-snippet-dirs yas--default-user-snippets-dir directory --dolist-tail-- nojit nil call-interactively yas-load-directory make-directory t reverse file-directory-p yas--message 4 "Loaded %s" "Prepared just-in-time loading for %s" 1 "Check your `yas-snippet-dirs': %s is not a directory"] 5 (#$ . 93242)])
#@267 Reload all snippets and rebuild the YASnippet menu.
 
When NO-JIT is non-nil force immediate reload of all known
snippets under `yas-snippet-dirs', otherwise use just-in-time
loading.
 
When called interactively, use just-in-time loading when given a
prefix argument.
(defalias 'yas-reload-all #[(&optional no-jit interactive) "\3062\213\307\310\311\312 \"\2035\n\203/\313\314!\203\"\315\316\"\210\2025\317\320\321\"\210\322\306\307\"\210\2025\315\323\312 \"\210\324 \324 \325\326 \"\210\324 \324 $\327%!\330 \210\331\332!\210\333\334$\f E\"&\317&\204g    \203k\335\202l\336%\203u\337\202v\340    \203~\341\202\210&\203\207\342\202\210\343#+0\207" [snippet-editing-buffers errors interactive yas--tables yas--parents yas--menu-table abort nil cl-remove-if-not #[(buffer) "rq\210    )\207" [buffer yas--editing-template] 1] buffer-list y-or-n-p "Some buffers editing live snippets, close them and proceed with reload? " mapc kill-buffer yas--message 1 "Aborted reload..." throw #[(buffer) "rq\210\301\302!)\207" [buffer kill-local-variable yas--editing-template] 2] make-hash-table maphash #[(menu-symbol _keymap) "\302\303    !\304#\207" [yas--minor-mode-menu menu-symbol define-key vector nil] 4] yas--load-snippet-dirs yas-direct-keymaps-reload run-hooks yas-after-reload-hook cl-every #[(table) "\301!\302U\207" [table hash-table-count 0] 2] 2 3 "Snippets loaded %s." "Prepared just-in-time loading of snippets %s." "with some errors.  Check *Messages*" "(but no snippets found)" "successfully" yas--scheduled-jit-loads no-jit no-snippets] 5 (#$ . 93913) (list (not current-prefix-arg) t)])
#@35 Hooks run after `yas-reload-all'.
(defvar yas-after-reload-hook nil (#$ . 95533))
(defalias 'yas--load-pending-jits #[nil "\305 \306\211\205>    @\307\310\n\"!\211\306\211\203/    @\311\312\313\f$\210\f \210    A\211\204*\314\n\"\210)    A\211\204    \306*\207" [mode --dolist-tail-- yas--scheduled-jit-loads funs fun yas--modes-to-activate nil reverse gethash yas--message 4 "Loading for `%s', just-in-time: %s!" remhash] 6])
#@26 Escape TEXT for snippet.
(defalias 'yas-escape-text #[(text) "\205    \301\302\303#\207" [text replace-regexp-in-string "[\\$]" "\\\\\\&"] 4 (#$ . 95968)])
#@148 Create .yas-compiled-snippets.el files under subdirs of TOP-LEVEL-DIR.
 
This works by stubbing a few functions, then calling
`yas-load-directory'.
(defalias 'yas-compile-directory #[(top-level-dir) "\302\303    \304\")\207" [yas--creating-compiled-snippets top-level-dir t yas-load-directory nil] 3 (#$ . 96131) "DTop level snippet directory?"])
#@42 Compile every dir in `yas-snippet-dirs'.
(defalias 'yas-recompile-all #[nil "\300\301\302 \"\207" [mapc yas-compile-directory yas-snippet-dirs] 3 (#$ . 96481) nil])
#@77 Alist of mode-symbols to forms to be evaled when `yas-minor-mode' kicks in.
(defvar yas--scheduled-jit-loads (make-hash-table) (#$ . 96652))
(defalias 'yas--schedule-jit #[(mode fun) "\n\305    \f\306     \"B #*\207" [mode #1=#:v yas--scheduled-jit-loads #2=#:v fun puthash gethash] 6])
(defalias 'yas-about #[nil "\306\307\3101\311\312\313\314\315$)@0\202\210\202\206j\316\317!\203h\320\321!\203h\320\322!\203h\3231c\324\n\236A\322\325 @!\f>\204H\326\327\330 @D\"\210 @\331H!\332\333 \"\203]\334 Q\202^ *0\202e\210\335\206j\"\207" [yas--loaddir default-directory package-alist yas-pkg cl-struct-package-desc-tags version message "yasnippet (version %s) -- pluskid/joaotavora/npostavs" (error) process-lines "git" "describe" "--tags" "--dirty" featurep package fboundp package-desc-version package-version-join (error) yasnippet type-of signal wrong-type-argument package-desc 2 string-match "\\`20..[01][0-9][0-3][0-9][.][0-9]\\{3,4\\}\\'" "-snapshot" nil yas--version] 7 nil nil])
#@133 Get TEMPLATE's menu binding or assign it a new one.
 
TYPE may be `:stay', signaling this menu binding should be
static in the menu.
(defalias 'yas--template-menu-binding-pair-get-create #[(template &optional type) "\304!    >\204\305\306\307D\"\210\310H\206[\304!    >\204$\305\306\307D\"\210\211\310\311\304!    >\2048\305\306\307D\"\210\312H\206P\304!    >\204M\305\306\307D\"\210\313H\314!\315\316\257 BI)\207" [template cl-struct-yas--template-tags #1=#:v type type-of signal wrong-type-argument yas--template 10 menu-item 3 9 yas--make-menu-binding :keys nil] 8 (#$ . 97663)])
#@76 Non-nil if TEMPLATE's menu entry was included in a `yas-define-menu' call.
(defalias 'yas--template-menu-managed-by-yas-define-menu #[(template) "\302!    >\204\303\304\305D\"\210\306HA\207" [template cl-struct-yas--template-tags type-of signal wrong-type-argument yas--template 10] 4 (#$ . 98261)])
(defalias 'yas--show-menu-p #[(mode) "\302=\203\303    \304\305\306 \"\"\207\205\307\207" [yas-use-menu mode abbreviate cl-find mapcar yas--table-mode yas--get-snippet-tables t] 5])
#@66 Recursively delete items with UUID from KEYMAP and its submenus.
(defalias 'yas--delete-from-keymap #[(keymap uuid) "\302\303A\"\210\304\305\306    !!\307#\210\310\311A\"\241\207" [keymap uuid mapc #[(item) "\243:\205\302\303A8!\205\304\303A8    \"\207" [item uuid keymapp 2 yas--delete-from-keymap] 3] define-key vector make-symbol nil cl-delete-if #[(item) "<\204\301\207A?\206\302\303A8!\205\303A8A?\207" [item nil keymapp 2] 3]] 5 (#$ . 98754)])
#@635 Define a snippet menu for MODE according to MENU, omitting OMIT-ITEMS.
 
MENU is a list, its elements can be:
 
- (yas-item UUID) : Creates an entry the snippet identified with
  UUID.  The menu entry for a snippet thus identified is
  permanent, i.e. it will never move (be reordered) in the menu.
 
- (yas-separator) : Creates a separator
 
- (yas-submenu NAME SUBMENU) : Creates a submenu with NAME,
  SUBMENU has the same form as MENU.  NAME is also added to the
  list of groups of the snippets defined thereafter.
 
OMIT-ITEMS is a list of snippet uuids that will always be
omitted from MODE's menu, even if they're manually loaded.
(defalias 'yas-define-menu #[(mode menu &optional omit-items) "\306!\307    !\n>\204\310\311\312    D\"\210    \313H\314    \315!\f $\210 \316\211\205x@\317 \"\206N\320\321\322\316\211\211\211\211\211\211\211\316\211\211    & #\307!>\204b\310\311\322D\"\210\211\323\316\324BI\210*A\211\204*\316,\207" [mode table cl-struct-yas--table-tags hash menu omit-items yas--table-get-create type-of signal wrong-type-argument yas--table 3 yas--define-menu-1 yas--menu-keymap-get-create nil gethash puthash record yas--template 10 :none uuid --dolist-tail-- template cl-struct-yas--template-tags #1=#:v] 18 (#$ . 99226)])
#@31 Helper for `yas-define-menu'.
(defalias 'yas--define-menu-1 #[(table menu-keymap menu uuidhash &optional group-list) "\306!\307\211\307\211\307    :\203\272    @\211\211A\242 \211A\242 @\n\310=\2049\203e\n\311=\203e\312  \"\206Y\313 \314\315\307\211\211\211\211\211\211\211 \307\211!\"& ##\316#\317\"@)\202\257\n\320=\204v\203\223\n\321=\203\223\322 $\323\"$\f \324! C\"%\210\325 $E)\202\257\n\326=\204\244\203\250\n\327=\203\250\330\202\257\331\332\333\n#\210\307C\244    A\211\202\334\335\"%&\211'%'AB\241\210.\307\207" [menu #1=#:--cl-var-- type name submenu #2=#:--cl-var-- reverse nil yas-item yas/item gethash puthash record yas--template yas--template-menu-binding-pair-get-create :stay yas-submenu yas/submenu make-sparse-keymap yas--define-menu-1 append menu-item yas-separator yas/separator (menu-item "----") yas--message 1 "Don't know anything about menu entry %s" apply vector menu-entries yas-alias-to-yas/prefix-p uuidhash group-list table template subkeymap #3=#:v menu-keymap #4=#:v] 19 (#$ . 100504)])
#@302 Define a snippet.  Expanding KEY into TEMPLATE.
 
NAME is a description to this template.  Also update the menu if
`yas-use-menu' is t.  CONDITION is the condition attached to
this snippet.  If you attach a condition to a snippet, then it
will only be expanded when the condition evaluated to non-nil.
(defalias 'yas--define #[(mode key template &optional name condition group) "\306    \n \f \257C\"\207" [mode key template name condition group yas-define-snippets] 7 (#$ . 101584)])
#@94 Integrate with hippie expand.
 
Just put this function in `hippie-expand-try-functions-list'.
(defalias 'yas-hippie-try-expand #[(first-time\?) "\205    \204\303\304 )\207\305\306!\210\307\207" [yas-minor-mode first-time\? yas-fallback-behavior return-nil yas-expand undo 1 nil] 2 (#$ . 102073)])
#@203 Define a function FUNC with doc DOC and body BODY.
BODY is executed at most once every snippet expansion attempt, to check
expansion conditions.
 
It doesn't make any sense to call FUNC programatically.
(defalias 'yas-define-condition-cache '(macro . #[(func doc &rest body) "\303\304    \203    ;\203    \305P\202    \nB\304\306\307\310\311D\312BBDC\313\314\315\306\316\317\nBDC\320\311D\321BB\322BBBFE\257\207" [func doc body defun nil "\n\nFor use in snippets' conditions. Within each\nsnippet-expansion routine like `yas-expand', computes actual\nvalue for the first time then always returns a cached value." let timestamp-and-value get quote ('yas--condition-cache) if (equal (car timestamp-and-value) yas--condition-cache-timestamp) (cdr timestamp-and-value) new-value progn put ('yas--condition-cache (cons yas--condition-cache-timestamp new-value)) (new-value)] 14 (#$ . 102379)]))
(defalias 'yas-expand 'yas-expand-from-trigger-key)
#@258 Expand a snippet before point.
 
If no snippet expansion is possible, fall back to the behaviour
defined in `yas-fallback-behavior'.
 
Optional argument FIELD is for non-interactive use and is an
object satisfying `yas--field-p' to restrict the expansion to.
(defalias 'yas-expand-from-trigger-key #[(&optional field) "\306 \307\n\203 \n\235\203%\f\203\"\214\310\f!\311\f!}\210\312 )\202$\312     \203O\313    @\314 \2036\315 \2027     A@^\314 \203E\316 \202G\317    8]#\202Q\320 )\207" [yas--condition-cache-timestamp templates-and-pos yas-expand-only-for-last-commands last-command field most-positive-fixnum current-time nil yas--field-start yas--field-end yas--templates-for-key-at-point yas--expand-or-prompt-for-template use-region-p region-beginning region-end 2 yas--fallback most-negative-fixnum] 6 (#$ . 103326) nil])
(defalias 'yas--maybe-expand-from-keymap-filter #[(cmd) "\305 \306\307     \203\310 G\202\311\"\312\313\314 \"\211\205\"\f\206\" +\207" [yas--condition-cache-timestamp current-prefix-arg vec templates cmd current-time cl-subseq this-command-keys-vector this-command-keys 0 cl-mapcan #[(table) "\302    \"\207" [table vec yas--fetch] 3] yas--get-snippet-tables] 4])
#@65 Directly expand some snippets, searching `yas--direct-keymaps'.
(defalias 'yas-expand-from-keymap #[nil "\302 \303\304!\211\205\305    !)\207" [yas--condition-cache-timestamp templates current-time yas--maybe-expand-from-keymap-filter nil yas--expand-or-prompt-for-template] 3 (#$ . 104531) nil])
#@206 Expand one of TEMPLATES from START to END.
 
Prompt the user if TEMPLATES has more than one element, else
expand immediately.  Common gateway for
`yas-expand-from-trigger-key' and `yas-expand-from-keymap'.
(defalias 'yas--expand-or-prompt-for-template #[(templates &optional start end) "A\203\305\306\307\"!\206@A\211\205>\310\311    !\n>\204&\312\313\314    D\"\210    \315H \f\311    !\n>\204:\312\313\314    D\"\210    \316H$)\207" [templates yas--current-template cl-struct-yas--template-tags start end yas--prompt-for-template mapcar cdr yas-expand-snippet type-of signal wrong-type-argument yas--template 2 5] 9 (#$ . 104836)])
#@118 Fallback after expansion has failed.
 
Common gateway for `yas-expand-from-trigger-key' and
`yas-expand-from-keymap'.
(defalias 'yas--fallback #[nil "\306=\203\307\207\310=\203\311\312!\207\313=\203>\310\307\314 \315\316\317\n#\210\n\2033\320\n!\2043\321\322!\210\n\n\205<\323\n!+\207<\203sA\203s@\324=\203sA@AA\310\307\f\203f\324 \f\"\202q\320 !\205q \323 !,\207\307\207" [yas-fallback-behavior yas-minor-mode beyond-yasnippet this-command args command-or-fn return-nil nil yas--fallback error "yasnippet fallback loop!\nThis can happen when you bind `yas-expand' outside of the `yas-minor-mode-map'." call-other-command yas--keybinding-beyond-yasnippet yas--message 4 "Falling back to %s" commandp cl--assertion-failed (or (null beyond-yasnippet) (commandp beyond-yasnippet)) call-interactively apply] 4 (#$ . 105469)])
#@59 Get current keys's binding as if YASsnippet didn't exist.
(defalias 'yas--keybinding-beyond-yasnippet #[nil "\303\211\304 \305\n\306\"\206\305\307\n!\306\"+\207" [yas-minor-mode yas--direct-keymaps keys nil this-single-command-keys key-binding t yas--fallback-translate-input] 4 (#$ . 106327)])
#@173 Emulate `read-key-sequence', at least what I think it does.
 
Keys should be an untranslated key vector.  Returns a translated
vector of keys.  FIXME not thoroughly tested.
(defalias 'yas--fallback-translate-input #[(keys) "\306\307\nGW\203U \211\nGW\2032\f\2032\310\f!\2032\311\n H\312\313\f\"\"A T\211\202\314    \f9\203?\315\f!\202M\316\f!\203I\f\202M\n O\" *\202    *\207" [i retval keys local-function-key-map translated j [] 0 keymapp assoc remove keymap vconcat vector vectorp] 6 (#$ . 106634)])
#@166 Get `yas--template' objects in TABLES, applicable for buffer and point.
 
Honours `yas-choose-tables-first', `yas-choose-keys-first' and
`yas-buffer-local-condition'
(defalias 'yas--all-templates #[(tables) "\203    \304    !C\305\306\n\203\"\307\310\311    \"!\211\205\310\312    \")\202*\313\310\314    \"\315\316#\"\207" [yas-choose-tables-first tables yas-choose-keys-first key yas--prompt-for-table mapcar cdr yas--prompt-for-keys cl-mapcan yas--table-all-keys #[(table) "\302    \"\207" [table key yas--fetch] 3] cl-remove-duplicates yas--table-templates :test equal] 7 (#$ . 107160)])
#@47 Get the snippet called NAME in MODE's tables.
(defalias 'yas--lookup-snippet-1 #[(name mode) "\304\211\305\n\306\307 !!\310\311\312\313&*\207" [yas-choose-keys-first yas-choose-tables-first name mode nil cl-find yas--all-templates yas--get-snippet-tables :key yas--template-name :test string=] 7 (#$ . 107748)])
#@229 Get the snippet named NAME in MODE's tables.
 
MODE defaults to the current buffer's `major-mode'.  If NOERROR
is non-nil, then don't signal an error if there isn't any snippet
called NAME.
 
Honours `yas-buffer-local-condition'.
(defalias 'yas-lookup-snippet #[(name &optional mode noerror) "\303    \"\206\n\203 \304\207\305\306\"\207" [name mode noerror yas--lookup-snippet-1 nil error "No snippet named: %s"] 3 (#$ . 108070)])
#@170 Choose a snippet to expand, pop-up a list of choices according
to `yas-prompt-functions'.
 
With prefix argument NO-CONDITION, bypass filtering of snippets
by condition.
(defalias 'yas-insert-snippet #[(&optional no-condition) "\306     \203 \307\202\f\n\310\311 !\211\205# A\203!\312 !\206# @\313 \2031\314 \315 B\2024``B\f\203h\316\317\f!>\204J\320\321\322\fD\"\210\f\323H @ A\317\f!>\204a\320\321\322\fD\"\210\f\324H$\202l\325\326\327\",\207" [yas--condition-cache-timestamp no-condition yas-buffer-local-condition templates yas--current-template where current-time always yas--all-templates yas--get-snippet-tables yas--prompt-for-template region-active-p region-beginning region-end yas-expand-snippet type-of signal wrong-type-argument yas--template 2 5 yas--message 1 "No snippets can be inserted here!" cl-struct-yas--template-tags] 9 (#$ . 108508) "P"])
#@163 Choose a snippet to edit, selection like `yas-insert-snippet'.
 
Only success if selected snippet was loaded from a file.  Put the
visited file in `snippet-mode'.
(defalias 'yas-visit-snippet-file #[nil "\303\304\305 !\211\205\306    \307\"\206    @\211\203\310\n!\202\"\311\312!+\207" [yas-buffer-local-condition templates template always yas--all-templates yas--get-snippet-tables yas--prompt-for-template "Choose a snippet template to edit: " yas--visit-snippet-file-1 message "No snippets tables active!"] 4 (#$ . 109394) nil])
#@38 Helper for `yas-visit-snippet-file'.
(defalias 'yas--visit-snippet-file-1 #[(template) "\306!\211\203\307    !\203\310    !\210\311 \210\312\302!\210\211\202n    \203*\313\314    \"\202n\315\316\317\320! >\204<\321\322\323D\"\210\324H\"!\210\325\320! >\204S\321\322\323D\"\210\326H<\203a\316\327!c\210\330\316\331\320! >\204r\321\322\323D\"\210\332H\"c\210\316\333\320! >\204\211\321\322\323D\"\210\324H\"c\210\320! >\204\236\321\322\323D\"\210\334H\203\273\316\335\320! >\204\265\321\322\323D\"\210\334H\"c\210\320! >\204\312\321\322\323D\"\210\336H\203\347\316\337\320! >\204\341\321\322\323D\"\210\336H\"c\210\320! >\204\366\321\322\323D\"\210\340H\203\316\341\320! >\204 \321\322\323D\"\210\340H\"c\210\342c\210\f\330=\2033\343\320! >\204,\321\322\323D\"\210\326H!\202E\320! >\204B\321\322\323D\"\210\326Hc\210)\311 \210\312\302!\210\312\305!\210\344\320! >\204e\321\322\323D\"\210\345H!@A@\211)\207" [template file yas--editing-template cl-struct-yas--template-tags type default-directory yas--template-get-file file-readable-p find-file-other-window snippet-mode make-local-variable message "Original file %s no longer exists!" switch-to-buffer format "*%s*" type-of signal wrong-type-argument yas--template 3 snippet 2 "# type: command\n" command "# key: %s\n" 1 "# name: %s\n" 8 "# binding: %s\n" 5 "# expand-env: %s\n" 4 "# condition: %s\n" "# --\n" pp-to-string yas--guess-snippet-directories 13] 8 (#$ . 109935)])
#@50 Guess possible snippet subdirectories for TABLE.
(defalias 'yas--guess-snippet-directories-1 #[(table) "\302\303!    >\204\304\305\306D\"\210\307H!\310\311\303!    >\204%\304\305\306D\"\210\312H\"B\207" [table cl-struct-yas--table-tags file-name-as-directory type-of signal wrong-type-argument yas--table 1 cl-mapcan yas--guess-snippet-directories-1 4] 7 (#$ . 111429)])
#@255 Try to guess suitable directories based on the current active
tables (or optional TABLE).
 
Returns a list of elements (TABLE . DIRS) where TABLE is a
`yas--table' object and DIRS is a list of all possible directories
where snippets of table might exist.
(defalias 'yas--guess-snippet-directories #[(&optional table) "\301 \206    C\211@\n\203\nC\202\306 \n\204,\307 ! \310 \" B)\311\312 \"*\207" [yas--default-user-snippets-dir yas-snippet-dirs table tables main-dir major-mode yas--get-snippet-tables yas--table-get-create delq mapcar #[(table) "\301\302\303!\"B\207" [table mapcar #[(subdir) "\302    \"\207" [subdir main-dir expand-file-name] 3] yas--guess-snippet-directories-1] 5] major-mode-table] 3 (#$ . 111810)])
#@74 Return a dir inside TABLE-AND-DIRS, prompts for creation if none exists.
(defalias 'yas--make-directory-maybe #[(table-and-dirs &optional main-table-string) "\305\306A\"\206TA@\307\310    !!\204\311\312\313    \"!\210\314\315\316    \317\320@!\n\"\203-\321\202.\322 \2063\321\323@!\f>\204D\324\325\326@D\"\210@\327H%!\205S\330    \331\"\210    )\207" [table-and-dirs candidate yas--tables main-table-string cl-struct-yas--table-tags cl-some #[(dir) "\301!\205\207" [dir file-directory-p] 2] file-writable-p file-name-directory error yas--format "%s is not writable." y-or-n-p format "Guessed directory (%s) for%s%s table \"%s\" does not exist! Create? " gethash yas--table-mode "" " brand new" type-of signal wrong-type-argument yas--table 1 make-directory also-make-parents] 10 (#$ . 112552)])
(defconst yas-new-snippet-buffer-name "+new-snippet+")
#@133 Pops a new buffer for writing a snippet.
 
Expands a snippet-writing snippet, unless the optional prefix arg
NO-TEMPLATE is non-nil.
(defalias 'yas-new-snippet #[(&optional no-template) "\306 \206\307 \205\310\311 \312 \"\313\n!\210\314 \210\315 \210\316 \210\317\320!\210\321\303!\210\322\323    \"\321\304!\210    @A@ ?\205D\205D\324!*\207" [yas-selected-text guessed-directories yas-new-snippet-buffer-name yas--guessed-modes default-directory no-template yas--guess-snippet-directories region-active-p buffer-substring-no-properties region-beginning region-end switch-to-buffer erase-buffer kill-all-local-variables snippet-mode yas-minor-mode 1 make-local-variable mapcar #[(d) "\301@!\207" [d yas--table-mode] 2] yas-expand-snippet yas-new-snippet-default] 4 (#$ . 113413) "P"])
#@280 Given FILE, find the nearest snippet directory for a given mode.
 
Returns a list (MODE-SYM PARENTS), the mode's symbol and a list
representing one or more of the mode's parents.
 
Note that MODE-SYM need not be the symbol of a real major mode,
neither do the elements of PARENTS.
(defalias 'yas--compute-major-mode-and-parents #[(file) "\205\306\307\310\311\"\206\306\312!!!\211\313P    \205\314    !\211\205&\315 !\316\n!\205E\317\315\320\321\322!r q\210\323\216\324\n!\210\325ed\"+!\"\f\205R\f\326\f\"B-\207" [file file-dir parents-file-name major-mode-name major-mode-sym #1=#:temp-buffer directory-file-name cl-some #[(special) "\302    \"\207" [file special locate-dominating-file] 3] (".yas-setup.el" ".yas-make-groups" ".yas-parents") file-name-directory "/.yas-parents" file-name-nondirectory intern file-readable-p mapcar split-string generate-new-buffer " *temp*" #[nil "\301!\205    \302!\207" [#1# buffer-name kill-buffer] 2] insert-file-contents buffer-substring-no-properties remove parents] 7 (#$ . 114214)])
#@77 Supporting variable for `yas-load-snippet-buffer' and `yas--visit-snippet'.
(defvar yas--editing-template nil (#$ . 115255))
#@59 Holds the current template being expanded into a snippet.
(defvar yas--current-template nil (#$ . 115386))
#@61 List of guessed modes supporting `yas-load-snippet-buffer'.
(defvar yas--guessed-modes nil (#$ . 115499))
#@56 Ask user for a snippet table, help with some guessing.
(defalias 'yas--read-table #[nil "\304\305!\203\203\306\202\307\n\204\310\302!\210\311 !\312    \313\314\n\203)\n@\202*\315\"\316\317\n\"\320\211\211\211\n@\205<\317\n@!&!)\207" [ido-mode prompt yas--guessed-modes buffer-file-name featurep ido ido-completing-read completing-read make-local-variable yas--compute-major-mode-and-parents intern format "Choose or enter a table (yas guesses %s): " "nothing" mapcar symbol-name nil] 10 (#$ . 115611)])
#@219 Parse and load current buffer's snippet definition into TABLE.
TABLE is a symbol name passed to `yas--table-get-create'.  When
called interactively, prompt for the table name.
Return the `yas--template' object created
(defalias 'yas-load-snippet-buffer #[(table &optional interactive) "\2030\306\307\310!    >\204\311\312\313D\"\210\314H!\310!    >\204(\311\312\313D\"\210\315H\"\210\202L\n\204<\316\302!\210\317 !\320\f!\316\300!\210\306\307 !\f\") \203\255\321\322\323\310!    >\204b\311\312\313D\"\210\322H\310\211!    >\204u\311\312\313D\"\210\315H!>\204\227\311\312\324\310!    >\204\221\311\312\313D\"\210\315HD\"\210\310!    >\204\246\311\312\313D\"\210\315H\325H$\210\207" [yas--editing-template cl-struct-yas--template-tags yas--guessed-modes buffer-file-name table interactive yas--define-snippets-1 yas--parse-template type-of signal wrong-type-argument yas--template 6 13 make-local-variable yas--compute-major-mode-and-parents yas--table-get-create yas--message 3 "Snippet \"%s\" loaded for %s." yas--table 1 cl-struct-yas--table-tags] 11 (#$ . 116133) (list (yas--read-table) t)])
#@47 Added to `after-save-hook' in `snippet-mode'.
(defalias 'yas-maybe-load-snippet-buffer #[nil "\306\307\310\311!!!!\312\313\314    !\315\n!#\316 !\f>\204#\317\320\321 D\"\210 \322H \2033\323     \"\202H\324\316 !\f>\204C\317\320\321 D\"\210 \325H    \"\232?\205Q\326    \327\"+\207" [default-directory mode buffer-file-name current-snippet cl-struct-yas--template-tags uuid intern file-name-sans-extension file-name-nondirectory directory-file-name apply yas--define-snippets-2 yas--table-get-create yas--parse-template type-of signal wrong-type-argument yas--template 9 yas--get-template-by-uuid yas--lookup-snippet-1 3 yas-load-snippet-buffer t] 6 (#$ . 117253)])
#@376 Load and save the snippet, then `quit-window' if saved.
Loading is performed by `yas-load-snippet-buffer'.  If the
snippet is new, ask the user whether (and where) to save it.  If
the snippet already has a file, just save it.
 
The prefix argument KILL is passed to `quit-window'.
 
Don't use this from a Lisp program, call `yas-load-snippet-buffer'
and `kill-buffer' instead.
(defalias 'yas-load-snippet-buffer-and-close #[(table &optional kill) "\306\307\"\310 \203\240\311\312\313\314\211    !\n>\204\315\316\317    D\"\210    \320H! >\204>\315\316\321\314    !\n>\2048\315\316\317    D\"\210    \320HD\"\210\314    !\n>\204M\315\316\317    D\"\210    \320H\322H\"!\203\240\323\314    !\n>\204g\315\316\317    D\"\210    \320H!@A@\314    !\n>\204}\315\316\317    D\"\210    \324H\204\234\f\203\234\325\326\327\211\211\f%\330\331!\307\"\210\332 \210*\333!)\207" [table template cl-struct-yas--template-tags cl-struct-yas--table-tags default-file-name default-directory yas-load-snippet-buffer t buffer-modified-p y-or-n-p format "[yas] Loaded for %s. Also save snippet buffer?" type-of signal wrong-type-argument yas--template 13 yas--table 1 yas--guess-snippet-directories 3 read-file-name "File to save snippet in: " nil rename-buffer file-name-nondirectory save-buffer quit-window buffer-file-name kill] 10 (#$ . 117923) (list (yas--read-table) current-prefix-arg)])
#@109 Test current buffer's snippet template in other buffer.
DEBUG is for debugging the YASnippet engine itself.
(defalias 'yas-tryout-snippet #[(&optional debug) "\306!\307     @\203\310    @!\203    @\206$ @\206$\311\312\313\314!!!\n\205G\310\f!\205G\315\316\n@\nA@\317\n8\320\321\n8\320\211\211\211\211\211\211\211&\211\203\317\322\323\324 !(>\204^\325\326\316 D\"\210 \327H\")\330\331)!!\210\332\331)!!\210\320*\3331\f 0\202\203\210\202\204\210\334\335!\210\320+\336\324 !(>\204\234\325\326\316 D\"\210 \317Hed\324 !(>\204\261\325\326\316 D\"\210 \321H$\210,\205\313\337\340\320\341#\205\313\342\343\344\"\210\345\343!)\202\323\346\335\347\",\207" [buffer-file-name major-mode-and-parent parsed yas--guessed-modes test-mode yas--current-template yas--compute-major-mode-and-parents yas--parse-template fboundp intern read-from-minibuffer yas--format "Please input a mode: " record yas--template 2 nil 5 format "*testing snippet: %s*" type-of signal wrong-type-argument 3 kill-buffer get-buffer-create switch-to-buffer (error) yas-minor-mode 1 yas-expand-snippet require yasnippet-debug t yas-debug-snippets "*YASnippet trace*" snippet-navigation display-buffer yas--message "Cannot test snippet for unknown major mode" cl-struct-yas--template-tags buffer-name buffer-undo-list buffer-read-only debug] 16 (#$ . 119278) "P"])
#@62 Return all active trigger keys for current buffer and point.
(defalias 'yas-active-keys #[nil "\300\301\302\303\304\305 \"\"\306\307#\207" [cl-remove-duplicates cl-remove-if-not stringp cl-mapcan yas--table-all-keys yas--get-snippet-tables :test string=] 6 (#$ . 120632)])
(defalias 'yas--template-fine-group #[(template) "\302\303!    >\204\304\305\306D\"\210\307H\206(\303!    >\204%\304\305\306D\"\210\310H!@\207" [template cl-struct-yas--template-tags last type-of signal wrong-type-argument yas--template 11 12] 5])
#@37 Display snippet tables by NAMEHASH.
(defalias 'yas-describe-table-by-namehash #[nil "r\302\303!q\210\304\305 \210\306c\210\307\310    \"\210)\311\312!\210\312b\210\313p!)\207" [inhibit-read-only yas--tables get-buffer-create "*YASnippet Tables by NAMEHASH*" t erase-buffer "YASnippet tables by NAMEHASH: \n" maphash #[(_mode table) "\302\303\304!    >\204\305\306\307D\"\210\310H\"c\210\311\312\304!    >\204(\305\306\307D\"\210\313H\"\207" [table cl-struct-yas--table-tags format "\nSnippet table `%s':\n\n" type-of signal wrong-type-argument yas--table 1 maphash #[(key _v) "\304\305\306\307\310\311\312\n! >\204\313\314\315\nD\"\210\n\316H\"\"\210    )#c\207" [key names table cl-struct-yas--table-tags format "   key %s maps snippets: %s\n" nil maphash #[(k _v) "    B\211\207" [k names] 2] gethash type-of signal wrong-type-argument yas--table 2] 11] 2] 6] view-mode 1 display-buffer] 3 (#$ . 121163) nil])
#@34 Display snippets for each table.
(defalias 'yas-describe-tables #[(&optional with-nonactive) "p\306 r\307\310!q\210\311 \203\312\313\f\"\210\314 \210\315c\210\316\211\2037@\317     \"\210A\211\204%*\320 \210)\321 \210\322b\210\323p!+\207" [tables original-buffer inhibit-read-only with-nonactive yas--tables table yas--get-snippet-tables get-buffer-create "*YASnippet Tables*" t maphash #[(_k v) "\303    \n\"\203 \n\202    \nB\211)\207" [v #1=#:var tables memql] 3] erase-buffer "YASnippet tables:\n" nil yas--describe-pretty-table yas--create-snippet-xrefs help-mode 1 display-buffer --dolist-tail--] 4 (#$ . 122083) "P"])
(defalias 'yas--describe-pretty-table #[(table &optional original-buffer) "\303\304\305!    >\204\306\307\310D\"\210\311H\"c\210\305!    >\204&\306\307\310D\"\210\312H\203I\303\313\314\315\305!    >\204?\306\307\310D\"\210\312H\"\"c\210\202L\316c\210\317\320\321\"\316\261\210\322c\210\323\324\325\"\326\327\305!    >\204m\306\307\310D\"\210\330H\"\210\326\331\n\")\207" [table cl-struct-yas--table-tags groups-hash format "\nSnippet table `%s'" type-of signal wrong-type-argument yas--table 1 4 " parents: %s\n" mapcar yas--table-name "\n" make-string 100 45 "group                   state name                                    key             binding\n" make-hash-table :test equal maphash #[(_k v) "\304!\206\305\306!\n>\204\307\310\311D\"\210\312H\205'\313    \314     \"B #)\207" [v group cl-struct-yas--template-tags groups-hash yas--template-fine-group "(top level)" type-of signal wrong-type-argument yas--template 3 puthash gethash] 6] 3 #[(group templates) "\306\307\310\311\312%\313\314\315\"\316\261\210    \317\211\205\344 @\306\320\321\322\323\n!\f>\204.\324\325\326\nD\"\210\n\327H\"\330\n#\331\310\311\312%\313G\311\"\323\n!\f>\204R\324\325\326\nD\"\210\n\332H\211(\203u)\203ur)q\210\333(!\203p\334\202q\335)\202v\336)*\337\323\n!\f>\204\211\324\325\326\nD\"\210\n\340H!\211+\341\230?\205\227\311,\342*\342 \343\344 \"\203\252\345\202\253\342\342\306\323\n!\f>\204\274\324\325\326\nD\"\210\n\346H\206\303\341\347\310,\312%,\206\317\341\306+\347\310\317\312%\316\261 \210- A\211\204\317*\207" [group templates p --dolist-tail-- cl-struct-yas--template-tags name truncate-string-to-width 25 0 32 "..." make-string 100 45 "\n" nil propertize format "\\\\snippet `%s'" type-of signal wrong-type-argument yas--template 3 yasnippet 50 4 yas--eval-condition "(y)" "(s)" "(a)" key-description 8 "" " " string-match "\\.\\.\\.$" "'" 1 15 condition original-buffer condition-string key-description-string template-key-padding] 16]] 8])
#@186 As `yas-key-syntaxes' element, look for whitespace delimited key.
 
A newline will be considered whitespace even if the mode syntax
marks it as something else (typically comment ender).
(defalias 'yas-try-key-from-whitespace #[(_start-point) "\300\301x\207" ["^[:space:]\n" nil] 2 (#$ . 124726)])
#@67 Like `yas-longest-key-from-whitespace' but take the shortest key.
(defalias 'yas-shortest-key-until-whitespace #[(_start-point) "\300`Sx\301U?\205 \302\207" ["^[:space:]\n" 0 again] 2 (#$ . 125028)])
#@202 As `yas-key-syntaxes' element, look for longest key between point and whitespace.
 
A newline will be considered whitespace even if the mode syntax
marks it as something else (typically comment ender).
(defalias 'yas-longest-key-from-whitespace #[(start-point) "`U\203 \301!\210\202\302u\210`TX?\205\303\207" [start-point yas-try-key-from-whitespace nil again] 2 (#$ . 125236)])
#@63 Non-nil if field has been modified by user or transformation.
(defvar yas-modified-p nil (#$ . 125628))
#@41 Non-nil if user is about to exit field.
(defvar yas-moving-away-p nil (#$ . 125738))
#@30 Contains current field text.
(defvar yas-text nil (#$ . 125829))
#@166 Search PATTERN in STR and return SUBEXPth match.
 
If found, the content of subexp group SUBEXP (default 0) is
  returned, or else the original STR will be returned.
(defalias 'yas-substr #[(str pattern &optional subexp) "\206\305\306 \307\216\310 \f\"\203\311    \f\"\202\f+\207" [subexp grp save-match-data-internal pattern str 0 match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] string-match match-string-no-properties] 3 (#$ . 125901)])
#@114 Prompt for a string in POSSIBILITIES and return it.
 
The last element of POSSIBILITIES may be a list of strings.
(defalias 'yas-choose-value #[(&rest possibilities) "\206    ?\205$\306\n!\211@\211<\203 \f@\240\210 \fA\241\210*\307\310 \"\207" [yas-moving-away-p yas-modified-p possibilities last-link last-elem yas-prompt-functions last cl-some #[(fn) "\302    \"\207" [fn possibilities "Choose: "] 3]] 4 (#$ . 126394)])
#@276 A snippet-aware version of `completing-read'.
This can be used to query the user for the initial value of a
snippet field.  The arguments are the same as `completing-read'.
 
(fn PROMPT COLLECTION &optional PREDICATE REQUIRE-MATCH INITIAL-INPUT HIST DEF INHERIT-INPUT-METHOD)
(defalias 'yas-completing-read #[(&rest args) "\206    ?\205 \303\304\n\"\207" [yas-moving-away-p yas-modified-p args apply completing-read] 3 (#$ . 126825)])
#@29 Helper for `yas-auto-next'.
(defalias 'yas--auto-next #[nil "\300\301\302\303#\210\304 \207" [remove-hook post-command-hook yas--auto-next t yas-next-field] 4 (#$ . 127266)])
#@58 Automatically advance to next field after eval'ing BODY.
(defalias 'yas-auto-next '(macro . #[(&rest body) "\301\302\303\304\305\"BE\207" [body unless yas-moving-away-p prog1 append ((add-hook 'post-command-hook #'yas--auto-next nil t))] 6 (#$ . 127447)]))
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put yas-auto-next lisp-indent-function 0 put edebug-form-spec t] 5)
(defalias 'yas-key-to-value #[(alist) "\206    ?\205!\304\305!\211;\205 \306\n \307\310\311\312&A\206 \n)\207" [yas-moving-away-p yas-modified-p key alist read-key-sequence "" cl-find :key car :test string=] 8])
#@49 Signal `yas-exception' with TEXT as the reason.
(defalias 'yas-throw #[(text) "\301\302C\"\207" [text signal yas-exception] 3 (#$ . 128058)])
(byte-code "\300\301\302\303#\210\300\301\304\305#\207" [put yas-exception error-conditions (error yas-exception) error-message "[yas] Exception"] 4)
#@92 Verify that the current field value is in POSSIBILITIES.
Otherwise signal `yas-exception'.
(defalias 'yas-verify-value #[(possibilities) "\205    \n\235?\205\303\304\305\n\"!\207" [yas-moving-away-p yas-text possibilities yas-throw format "Field only allows %s"] 4 (#$ . 128357)])
#@120 Get the string for field with NUMBER.
 
Use this in primary and mirror transformations to get the text of
other fields.
(defalias 'yas-field-value #[(number) "\303 @\211\205\f\304    \"\211\205\305\n!*\207" [snippet number field yas-active-snippets yas--snippet-find-field yas--field-text-for-display] 4 (#$ . 128647)])
#@62 Return `yas-text' if that exists and is non-empty, else nil.
(defalias 'yas-text #[nil "\205\f\301\230?\205\f\207" [yas-text ""] 2 (#$ . 128975)])
#@71 Return `yas-selected-text' if that exists and is non-empty, else nil.
(defalias 'yas-selected-text #[nil "\205\f\301\230?\205\f\207" [yas-selected-text ""] 2 (#$ . 129133)])
(defalias 'yas--get-field-once #[(number &optional transform-fn) "?\205    \203    \303\n!!\207\303\n!\207" [yas-modified-p transform-fn number yas-field-value] 3])
(defalias 'yas-default-from-field #[(number) "?\205\302    !\207" [yas-modified-p number yas-field-value] 2])
#@72 Return non-nil if the point is inside a string according to font-lock.
(defalias 'yas-inside-string #[nil "\300`S\301\"\302\232\207" [get-char-property face font-lock-string-face] 3 (#$ . 129592)])
(defalias 'yas-unimplemented #[(&optional missing-feature) "\203\302\303\304    \206\f\305\"!\205\306!\207\307\310    \206\305\"\207" [yas--current-template missing-feature y-or-n-p format "This snippet is unimplemented (missing %s) Visit the snippet definition? " "something" yas--visit-snippet-file-1 message "No implementation. Missing %s"] 4])
#@38 Overlays the currently active field.
(defvar yas--active-field-overlay nil (#$ . 130147))
#@35 List of currently active snippets
(defvar yas--active-snippets nil (#$ . 130243))
(make-variable-buffer-local 'yas--active-snippets)
#@48 Two overlays protect the current active field.
(defvar yas--field-protection-overlays nil (#$ . 130382))
#@60 The selected region deleted on the last snippet expansion.
(defvar yas-selected-text nil (#$ . 130493))
#@49 The column where the snippet expansion started.
(defvar yas--start-column nil (#$ . 130603))
(byte-code "\300\301!\210\300\302!\210\303\301\304\305#\210\303\302\304\305#\207" [make-variable-buffer-local yas--active-field-overlay yas--field-protection-overlays put permanent-local t] 4)
#@47 compiler-macro for inlining `yas--snippet-p'.
(defalias 'yas--snippet-p--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block yas--snippet-p (and (memq (type-of cl-x) cl-struct-yas--snippet-tags) t)) nil] 7 (#$ . 130895)])
(put 'yas--snippet-p 'compiler-macro 'yas--snippet-p--cmacro)
(defalias 'yas--snippet-p #[(cl-x) "\302!    >\205    \303\207" [cl-x cl-struct-yas--snippet-tags type-of t] 2])
(byte-code "\300\301\302\303#\304\305\306\301#\207" [function-put yas--snippet-p side-effect-free error-free put yas--snippet cl-deftype-satisfies] 5)
#@56 compiler-macro for inlining `yas--snippet-expand-env'.
(defalias 'yas--snippet-expand-env--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block yas--snippet-expand-env (or (yas--snippet-p cl-x) (signal 'wrong-type-argument (list 'yas--snippet cl-x))) (aref cl-x 1)) nil] 7 (#$ . 131500)])
(put 'yas--snippet-expand-env 'compiler-macro 'yas--snippet-expand-env--cmacro)
#@105 Access slot "expand-env" of `(yas--snippet (:constructor yas--make-snippet (expand-env)))' struct CL-X.
(defalias 'yas--snippet-expand-env #[(cl-x) "\302!    >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-yas--snippet-tags type-of signal wrong-type-argument yas--snippet 1] 4 (#$ . 131930)])
(byte-code "\300\301\302\303#\300\207" [function-put yas--snippet-expand-env side-effect-free t] 4)
#@52 compiler-macro for inlining `yas--snippet-fields'.
(defalias 'yas--snippet-fields--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block yas--snippet-fields (or (yas--snippet-p cl-x) (signal 'wrong-type-argument (list 'yas--snippet cl-x))) (aref cl-x 2)) nil] 7 (#$ . 132334)])
(put 'yas--snippet-fields 'compiler-macro 'yas--snippet-fields--cmacro)
#@101 Access slot "fields" of `(yas--snippet (:constructor yas--make-snippet (expand-env)))' struct CL-X.
(defalias 'yas--snippet-fields #[(cl-x) "\302!    >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-yas--snippet-tags type-of signal wrong-type-argument yas--snippet 2] 4 (#$ . 132744)])
(byte-code "\300\301\302\303#\300\207" [function-put yas--snippet-fields side-effect-free t] 4)
#@50 compiler-macro for inlining `yas--snippet-exit'.
(defalias 'yas--snippet-exit--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block yas--snippet-exit (or (yas--snippet-p cl-x) (signal 'wrong-type-argument (list 'yas--snippet cl-x))) (aref cl-x 3)) nil] 7 (#$ . 133136)])
(put 'yas--snippet-exit 'compiler-macro 'yas--snippet-exit--cmacro)
#@99 Access slot "exit" of `(yas--snippet (:constructor yas--make-snippet (expand-env)))' struct CL-X.
(defalias 'yas--snippet-exit #[(cl-x) "\302!    >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-yas--snippet-tags type-of signal wrong-type-argument yas--snippet 3] 4 (#$ . 133535)])
(byte-code "\300\301\302\303#\300\207" [function-put yas--snippet-exit side-effect-free t] 4)
#@48 compiler-macro for inlining `yas--snippet-id'.
(defalias 'yas--snippet-id--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block yas--snippet-id (or (yas--snippet-p cl-x) (signal 'wrong-type-argument (list 'yas--snippet cl-x))) (aref cl-x 4)) nil] 7 (#$ . 133921)])
(put 'yas--snippet-id 'compiler-macro 'yas--snippet-id--cmacro)
#@97 Access slot "id" of `(yas--snippet (:constructor yas--make-snippet (expand-env)))' struct CL-X.
(defalias 'yas--snippet-id #[(cl-x) "\302!    >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-yas--snippet-tags type-of signal wrong-type-argument yas--snippet 4] 4 (#$ . 134310)])
(byte-code "\300\301\302\303#\300\301\304\305#\300\207" [function-put yas--snippet-id side-effect-free t gv-expander #[(_cl-do _cl-x) "\300\301\302\"\207" [error "%s is a read-only slot" yas--snippet-id] 3]] 5)
#@61 compiler-macro for inlining `yas--snippet-control-overlay'.
(defalias 'yas--snippet-control-overlay--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block yas--snippet-control-overlay (or (yas--snippet-p cl-x) (signal 'wrong-type-argument (list 'yas--snippet cl-x))) (aref cl-x 5)) nil] 7 (#$ . 134809)])
(put 'yas--snippet-control-overlay 'compiler-macro 'yas--snippet-control-overlay--cmacro)
#@110 Access slot "control-overlay" of `(yas--snippet (:constructor yas--make-snippet (expand-env)))' struct CL-X.
(defalias 'yas--snippet-control-overlay #[(cl-x) "\302!    >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-yas--snippet-tags type-of signal wrong-type-argument yas--snippet 5] 4 (#$ . 135264)])
(byte-code "\300\301\302\303#\300\207" [function-put yas--snippet-control-overlay side-effect-free t] 4)
#@58 compiler-macro for inlining `yas--snippet-active-field'.
(defalias 'yas--snippet-active-field--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block yas--snippet-active-field (or (yas--snippet-p cl-x) (signal 'wrong-type-argument (list 'yas--snippet cl-x))) (aref cl-x 6)) nil] 7 (#$ . 135683)])
(put 'yas--snippet-active-field 'compiler-macro 'yas--snippet-active-field--cmacro)
#@107 Access slot "active-field" of `(yas--snippet (:constructor yas--make-snippet (expand-env)))' struct CL-X.
(defalias 'yas--snippet-active-field #[(cl-x) "\302!    >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-yas--snippet-tags type-of signal wrong-type-argument yas--snippet 6] 4 (#$ . 136123)])
(byte-code "\300\301\302\303#\300\207" [function-put yas--snippet-active-field side-effect-free t] 4)
#@67 compiler-macro for inlining `yas--snippet-previous-active-field'.
(defalias 'yas--snippet-previous-active-field--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block yas--snippet-previous-active-field (or (yas--snippet-p cl-x) (signal 'wrong-type-argument (list 'yas--snippet cl-x))) (aref cl-x 7)) nil] 7 (#$ . 136533)])
(put 'yas--snippet-previous-active-field 'compiler-macro 'yas--snippet-previous-active-field--cmacro)
#@116 Access slot "previous-active-field" of `(yas--snippet (:constructor yas--make-snippet (expand-env)))' struct CL-X.
(defalias 'yas--snippet-previous-active-field #[(cl-x) "\302!    >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-yas--snippet-tags type-of signal wrong-type-argument yas--snippet 7] 4 (#$ . 137018)])
(byte-code "\300\301\302\303#\300\207" [function-put yas--snippet-previous-active-field side-effect-free t] 4)
#@56 compiler-macro for inlining `yas--snippet-force-exit'.
(defalias 'yas--snippet-force-exit--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block yas--snippet-force-exit (or (yas--snippet-p cl-x) (signal 'wrong-type-argument (list 'yas--snippet cl-x))) (aref cl-x 8)) nil] 7 (#$ . 137455)])
(put 'yas--snippet-force-exit 'compiler-macro 'yas--snippet-force-exit--cmacro)
#@105 Access slot "force-exit" of `(yas--snippet (:constructor yas--make-snippet (expand-env)))' struct CL-X.
(defalias 'yas--snippet-force-exit #[(cl-x) "\302!    >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-yas--snippet-tags type-of signal wrong-type-argument yas--snippet 8] 4 (#$ . 137885)])
(byte-code "\300\301\302\303#\304\305\306\"\207" [function-put yas--snippet-force-exit side-effect-free t defalias copy-yas--snippet copy-sequence] 4)
#@168 compiler-macro for inlining `make-yas--snippet'.
 
(fn CL-WHOLE &cl-quote &key EXPAND-ENV FIELDS EXIT ID CONTROL-OVERLAY ACTIVE-FIELD PREVIOUS-ACTIVE-FIELD FORCE-EXIT)
(defalias 'make-yas--snippet--cmacro #[(cl-whole &rest #1=#:--cl-rest--) "\306\307\"A@\306\310\"\206\311A@\306\312\"A@\306\313\"\206!\314A@\306\315\"A@\306\316\"A@\306\317\"A@\306\320\"A@\203v@\321>\203]AA\211\202H\322>A@\203l\323\211\202H\324\325@\"\210\202F)\326\327\330\323\323    \n \f & .\207" [#1# expand-env fields exit id control-overlay plist-member :expand-env :fields (nil 'nil) :exit :id (nil (yas--snippet-next-id)) :control-overlay :active-field :previous-active-field :force-exit (:expand-env :fields :exit :id :control-overlay :active-field :previous-active-field :force-exit :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:expand-env :fields :exit :id :control-overlay :active-field :previous-active-field :force-exit)" cl--defsubst-expand (expand-env fields exit id control-overlay active-field previous-active-field force-exit) (cl-block make-yas--snippet (record 'yas--snippet expand-env fields exit id control-overlay active-field previous-active-field force-exit)) active-field previous-active-field force-exit #2=#:--cl-keys-- cl-whole] 15 (#$ . 138341)])
(put 'make-yas--snippet 'compiler-macro 'make-yas--snippet--cmacro)
#@148 Constructor for objects of type `yas--snippet'.
 
(fn &key EXPAND-ENV FIELDS EXIT ID CONTROL-OVERLAY ACTIVE-FIELD PREVIOUS-ACTIVE-FIELD FORCE-EXIT)
(defalias 'make-yas--snippet #[(&rest #1=#:--cl-rest--) "\306\307\"A@\306\310\"\206\311A@\306\312\"A@\306\313\"\206$\314\315 DA@\306\316\"A@\306\317\"A@\306\320\"A@\306\321\"A@\203y@\322>\203`AA\211\202K\323>A@\203o\314\211\202K\324\325@\"\210\202I)\326\327    \n \f &    .\207" [#1# expand-env fields exit id control-overlay plist-member :expand-env :fields (nil nil) :exit :id nil yas--snippet-next-id :control-overlay :active-field :previous-active-field :force-exit (:expand-env :fields :exit :id :control-overlay :active-field :previous-active-field :force-exit :allow-other-keys) :allow-other-keys error "Keyword argument %s not one of (:expand-env :fields :exit :id :control-overlay :active-field :previous-active-field :force-exit)" record yas--snippet active-field previous-active-field force-exit #2=#:--cl-keys--] 11 (#$ . 139745)])
#@50 compiler-macro for inlining `yas--make-snippet'.
(defalias 'yas--make-snippet--cmacro #[(_cl-whole-arg expand-env) "\301\302\303\304\211\211&\207" [expand-env cl--defsubst-expand (expand-env) (cl-block yas--make-snippet (record 'yas--snippet expand-env 'nil nil (yas--snippet-next-id) nil nil nil nil)) nil] 7 (#$ . 140787)])
(put 'yas--make-snippet 'compiler-macro 'yas--make-snippet--cmacro)
#@49 Constructor for objects of type `yas--snippet'.
(defalias 'yas--make-snippet #[(expand-env) "\301\302\303\211\304 \303\211\211\211&    \207" [expand-env record yas--snippet nil yas--snippet-next-id] 10 (#$ . 141189)])
(cl-struct-define 'yas--snippet "A snippet.\n\n..." 'cl-structure-object 'record nil '((cl-tag-slot) (expand-env) (fields 'nil) (exit nil) (id (yas--snippet-next-id) :read-only t) (control-overlay nil) (active-field) (previous-active-field) (force-exit)) 'cl-struct-yas--snippet-tags 'yas--snippet t)
#@45 compiler-macro for inlining `yas--field-p'.
(defalias 'yas--field-p--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block yas--field-p (and (memq (type-of cl-x) cl-struct-yas--field-tags) t)) nil] 7 (#$ . 141712)])
(put 'yas--field-p 'compiler-macro 'yas--field-p--cmacro)
(defalias 'yas--field-p #[(cl-x) "\302!    >\205    \303\207" [cl-x cl-struct-yas--field-tags type-of t] 2])
(byte-code "\300\301\302\303#\304\305\306\301#\207" [function-put yas--field-p side-effect-free error-free put yas--field cl-deftype-satisfies] 5)
#@50 compiler-macro for inlining `yas--field-number'.
(defalias 'yas--field-number--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block yas--field-number (or (yas--field-p cl-x) (signal 'wrong-type-argument (list 'yas--field cl-x))) (aref cl-x 1)) nil] 7 (#$ . 142297)])
(put 'yas--field-number 'compiler-macro 'yas--field-number--cmacro)
#@116 Access slot "number" of `(yas--field (:constructor yas--make-field (number start end parent-field)))' struct CL-X.
(defalias 'yas--field-number #[(cl-x) "\302!    >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-yas--field-tags type-of signal wrong-type-argument yas--field 1] 4 (#$ . 142693)])
(byte-code "\300\301\302\303#\300\207" [function-put yas--field-number side-effect-free t] 4)
#@49 compiler-macro for inlining `yas--field-start'.
(defalias 'yas--field-start--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block yas--field-start (or (yas--field-p cl-x) (signal 'wrong-type-argument (list 'yas--field cl-x))) (aref cl-x 2)) nil] 7 (#$ . 143092)])
(put 'yas--field-start 'compiler-macro 'yas--field-start--cmacro)
#@115 Access slot "start" of `(yas--field (:constructor yas--make-field (number start end parent-field)))' struct CL-X.
(defalias 'yas--field-start #[(cl-x) "\302!    >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-yas--field-tags type-of signal wrong-type-argument yas--field 2] 4 (#$ . 143483)])
(byte-code "\300\301\302\303#\300\207" [function-put yas--field-start side-effect-free t] 4)
#@47 compiler-macro for inlining `yas--field-end'.
(defalias 'yas--field-end--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block yas--field-end (or (yas--field-p cl-x) (signal 'wrong-type-argument (list 'yas--field cl-x))) (aref cl-x 3)) nil] 7 (#$ . 143879)])
(put 'yas--field-end 'compiler-macro 'yas--field-end--cmacro)
#@113 Access slot "end" of `(yas--field (:constructor yas--make-field (number start end parent-field)))' struct CL-X.
(defalias 'yas--field-end #[(cl-x) "\302!    >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-yas--field-tags type-of signal wrong-type-argument yas--field 3] 4 (#$ . 144260)])
(byte-code "\300\301\302\303#\300\207" [function-put yas--field-end side-effect-free t] 4)
#@56 compiler-macro for inlining `yas--field-parent-field'.
(defalias 'yas--field-parent-field--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block yas--field-parent-field (or (yas--field-p cl-x) (signal 'wrong-type-argument (list 'yas--field cl-x))) (aref cl-x 4)) nil] 7 (#$ . 144650)])
(put 'yas--field-parent-field 'compiler-macro 'yas--field-parent-field--cmacro)
#@122 Access slot "parent-field" of `(yas--field (:constructor yas--make-field (number start end parent-field)))' struct CL-X.
(defalias 'yas--field-parent-field #[(cl-x) "\302!    >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-yas--field-tags type-of signal wrong-type-argument yas--field 4] 4 (#$ . 145076)])
(byte-code "\300\301\302\303#\300\207" [function-put yas--field-parent-field side-effect-free t] 4)
#@51 compiler-macro for inlining `yas--field-mirrors'.
(defalias 'yas--field-mirrors--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block yas--field-mirrors (or (yas--field-p cl-x) (signal 'wrong-type-argument (list 'yas--field cl-x))) (aref cl-x 5)) nil] 7 (#$ . 145493)])
(put 'yas--field-mirrors 'compiler-macro 'yas--field-mirrors--cmacro)
#@117 Access slot "mirrors" of `(yas--field (:constructor yas--make-field (number start end parent-field)))' struct CL-X.
(defalias 'yas--field-mirrors #[(cl-x) "\302!    >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-yas--field-tags type-of signal wrong-type-argument yas--field 5] 4 (#$ . 145894)])
(byte-code "\300\301\302\303#\300\207" [function-put yas--field-mirrors side-effect-free t] 4)
#@53 compiler-macro for inlining `yas--field-transform'.
(defalias 'yas--field-transform--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block yas--field-transform (or (yas--field-p cl-x) (signal 'wrong-type-argument (list 'yas--field cl-x))) (aref cl-x 6)) nil] 7 (#$ . 146296)])
(put 'yas--field-transform 'compiler-macro 'yas--field-transform--cmacro)
#@119 Access slot "transform" of `(yas--field (:constructor yas--make-field (number start end parent-field)))' struct CL-X.
(defalias 'yas--field-transform #[(cl-x) "\302!    >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-yas--field-tags type-of signal wrong-type-argument yas--field 6] 4 (#$ . 146707)])
(byte-code "\300\301\302\303#\300\207" [function-put yas--field-transform side-effect-free t] 4)
#@54 compiler-macro for inlining `yas--field-modified-p'.
(defalias 'yas--field-modified-p--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block yas--field-modified-p (or (yas--field-p cl-x) (signal 'wrong-type-argument (list 'yas--field cl-x))) (aref cl-x 7)) nil] 7 (#$ . 147115)])
(put 'yas--field-modified-p 'compiler-macro 'yas--field-modified-p--cmacro)
#@120 Access slot "modified-p" of `(yas--field (:constructor yas--make-field (number start end parent-field)))' struct CL-X.
(defalias 'yas--field-modified-p #[(cl-x) "\302!    >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-yas--field-tags type-of signal wrong-type-argument yas--field 7] 4 (#$ . 147531)])
(byte-code "\300\301\302\303#\300\207" [function-put yas--field-modified-p side-effect-free t] 4)
#@48 compiler-macro for inlining `yas--field-next'.
(defalias 'yas--field-next--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block yas--field-next (or (yas--field-p cl-x) (signal 'wrong-type-argument (list 'yas--field cl-x))) (aref cl-x 8)) nil] 7 (#$ . 147942)])
(put 'yas--field-next 'compiler-macro 'yas--field-next--cmacro)
#@114 Access slot "next" of `(yas--field (:constructor yas--make-field (number start end parent-field)))' struct CL-X.
(defalias 'yas--field-next #[(cl-x) "\302!    >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-yas--field-tags type-of signal wrong-type-argument yas--field 8] 4 (#$ . 148328)])
(byte-code "\300\301\302\303#\304\305\306\"\207" [function-put yas--field-next side-effect-free t defalias copy-yas--field copy-sequence] 4)
#@142 compiler-macro for inlining `make-yas--field'.
 
(fn CL-WHOLE &cl-quote &key NUMBER START END PARENT-FIELD MIRRORS TRANSFORM MODIFIED-P NEXT)
(defalias 'make-yas--field--cmacro #[(cl-whole &rest #1=#:--cl-rest--) "\306\307\"A@\306\310\"A@\306\311\"A@\306\312\"A@\306\313\"\206$\314A@\306\315\"A@\306\316\"A@\306\317\"A@\203r@\320>\203YAA\211\202D\321>A@\203h\322\211\202D\323\324@\"\210\202B)\325\326\327\322\322    \n \f & .\207" [#1# number start end parent-field mirrors plist-member :number :start :end :parent-field :mirrors (nil 'nil) :transform :modified-p :next (:number :start :end :parent-field :mirrors :transform :modified-p :next :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:number :start :end :parent-field :mirrors :transform :modified-p :next)" cl--defsubst-expand (number start end parent-field mirrors transform modified-p next) (cl-block make-yas--field (record 'yas--field number start end parent-field mirrors transform modified-p next)) transform modified-p next #2=#:--cl-keys-- cl-whole] 15 (#$ . 148771)])
(put 'make-yas--field 'compiler-macro 'make-yas--field--cmacro)
#@122 Constructor for objects of type `yas--field'.
 
(fn &key NUMBER START END PARENT-FIELD MIRRORS TRANSFORM MODIFIED-P NEXT)
(defalias 'make-yas--field #[(&rest #1=#:--cl-rest--) "\306\307\"A@\306\310\"A@\306\311\"A@\306\312\"A@\306\313\"\206$\314A@\306\315\"A@\306\316\"A@\306\317\"A@\203r@\320>\203YAA\211\202D\321>A@\203h\322\211\202D\323\324@\"\210\202B)\325\326    \n \f &    .\207" [#1# number start end parent-field mirrors plist-member :number :start :end :parent-field :mirrors (nil nil) :transform :modified-p :next (:number :start :end :parent-field :mirrors :transform :modified-p :next :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:number :start :end :parent-field :mirrors :transform :modified-p :next)" record yas--field transform modified-p next #2=#:--cl-keys--] 11 (#$ . 149956)])
(byte-code "\300\301\302\303#\300\207" [function-put make-yas--field side-effect-free t] 4)
#@48 compiler-macro for inlining `yas--make-field'.
(defalias 'yas--make-field--cmacro #[(_cl-whole-arg number start end parent-field) "\304\305\306\307\211\211    \n &    \207" [number start end parent-field cl--defsubst-expand (number start end parent-field) (cl-block yas--make-field (record 'yas--field number start end parent-field 'nil nil nil nil)) nil] 10 (#$ . 150927)])
(put 'yas--make-field 'compiler-macro 'yas--make-field--cmacro)
#@47 Constructor for objects of type `yas--field'.
(defalias 'yas--make-field #[(number start end parent-field) "\304\305    \n \306\211\211\211&    \207" [number start end parent-field record yas--field nil] 10 (#$ . 151367)])
(byte-code "\300\301\302\303#\304\305\306\307\310\311\312\313\305\303&    \207" [function-put yas--make-field side-effect-free t cl-struct-define yas--field "A field.\n\nNUMBER is the field number.\nSTART and END are mostly buffer markers, but see \"apropos markers-to-points\".\nPARENT-FIELD is a `yas--field' this field is nested under, or nil.\nMIRRORS is a list of `yas--mirror's\nTRANSFORM is a lisp form.\nMODIFIED-P is a boolean set to true once user inputs text.\nNEXT is another `yas--field' or `yas--mirror' or `yas--exit'.\n" cl-structure-object record nil ((cl-tag-slot) (number) (start) (end) (parent-field) (mirrors 'nil) (transform nil) (modified-p nil) (next)) cl-struct-yas--field-tags] 11)
#@46 compiler-macro for inlining `yas--mirror-p'.
(defalias 'yas--mirror-p--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block yas--mirror-p (and (memq (type-of cl-x) cl-struct-yas--mirror-tags) t)) nil] 7 (#$ . 152296)])
(put 'yas--mirror-p 'compiler-macro 'yas--mirror-p--cmacro)
(defalias 'yas--mirror-p #[(cl-x) "\302!    >\205    \303\207" [cl-x cl-struct-yas--mirror-tags type-of t] 2])
(byte-code "\300\301\302\303#\304\305\306\301#\207" [function-put yas--mirror-p side-effect-free error-free put yas--mirror cl-deftype-satisfies] 5)
#@50 compiler-macro for inlining `yas--mirror-start'.
(defalias 'yas--mirror-start--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block yas--mirror-start (or (yas--mirror-p cl-x) (signal 'wrong-type-argument (list 'yas--mirror cl-x))) (aref cl-x 1)) nil] 7 (#$ . 152891)])
(put 'yas--mirror-start 'compiler-macro 'yas--mirror-start--cmacro)
#@107 Access slot "start" of `(yas--mirror (:constructor yas--make-mirror (start end transform)))' struct CL-X.
(defalias 'yas--mirror-start #[(cl-x) "\302!    >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-yas--mirror-tags type-of signal wrong-type-argument yas--mirror 1] 4 (#$ . 153289)])
(byte-code "\300\301\302\303#\300\207" [function-put yas--mirror-start side-effect-free t] 4)
#@48 compiler-macro for inlining `yas--mirror-end'.
(defalias 'yas--mirror-end--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block yas--mirror-end (or (yas--mirror-p cl-x) (signal 'wrong-type-argument (list 'yas--mirror cl-x))) (aref cl-x 2)) nil] 7 (#$ . 153681)])
(put 'yas--mirror-end 'compiler-macro 'yas--mirror-end--cmacro)
#@105 Access slot "end" of `(yas--mirror (:constructor yas--make-mirror (start end transform)))' struct CL-X.
(defalias 'yas--mirror-end #[(cl-x) "\302!    >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-yas--mirror-tags type-of signal wrong-type-argument yas--mirror 2] 4 (#$ . 154069)])
(byte-code "\300\301\302\303#\300\207" [function-put yas--mirror-end side-effect-free t] 4)
#@54 compiler-macro for inlining `yas--mirror-transform'.
(defalias 'yas--mirror-transform--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block yas--mirror-transform (or (yas--mirror-p cl-x) (signal 'wrong-type-argument (list 'yas--mirror cl-x))) (aref cl-x 3)) nil] 7 (#$ . 154455)])
(put 'yas--mirror-transform 'compiler-macro 'yas--mirror-transform--cmacro)
#@111 Access slot "transform" of `(yas--mirror (:constructor yas--make-mirror (start end transform)))' struct CL-X.
(defalias 'yas--mirror-transform #[(cl-x) "\302!    >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-yas--mirror-tags type-of signal wrong-type-argument yas--mirror 3] 4 (#$ . 154873)])
(byte-code "\300\301\302\303#\300\207" [function-put yas--mirror-transform side-effect-free t] 4)
#@57 compiler-macro for inlining `yas--mirror-parent-field'.
(defalias 'yas--mirror-parent-field--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block yas--mirror-parent-field (or (yas--mirror-p cl-x) (signal 'wrong-type-argument (list 'yas--mirror cl-x))) (aref cl-x 4)) nil] 7 (#$ . 155277)])
(put 'yas--mirror-parent-field 'compiler-macro 'yas--mirror-parent-field--cmacro)
#@114 Access slot "parent-field" of `(yas--mirror (:constructor yas--make-mirror (start end transform)))' struct CL-X.
(defalias 'yas--mirror-parent-field #[(cl-x) "\302!    >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-yas--mirror-tags type-of signal wrong-type-argument yas--mirror 4] 4 (#$ . 155710)])
(byte-code "\300\301\302\303#\300\207" [function-put yas--mirror-parent-field side-effect-free t] 4)
#@49 compiler-macro for inlining `yas--mirror-next'.
(defalias 'yas--mirror-next--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block yas--mirror-next (or (yas--mirror-p cl-x) (signal 'wrong-type-argument (list 'yas--mirror cl-x))) (aref cl-x 5)) nil] 7 (#$ . 156123)])
(put 'yas--mirror-next 'compiler-macro 'yas--mirror-next--cmacro)
#@106 Access slot "next" of `(yas--mirror (:constructor yas--make-mirror (start end transform)))' struct CL-X.
(defalias 'yas--mirror-next #[(cl-x) "\302!    >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-yas--mirror-tags type-of signal wrong-type-argument yas--mirror 5] 4 (#$ . 156516)])
(byte-code "\300\301\302\303#\300\207" [function-put yas--mirror-next side-effect-free t] 4)
#@50 compiler-macro for inlining `yas--mirror-depth'.
(defalias 'yas--mirror-depth--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block yas--mirror-depth (or (yas--mirror-p cl-x) (signal 'wrong-type-argument (list 'yas--mirror cl-x))) (aref cl-x 6)) nil] 7 (#$ . 156905)])
(put 'yas--mirror-depth 'compiler-macro 'yas--mirror-depth--cmacro)
#@107 Access slot "depth" of `(yas--mirror (:constructor yas--make-mirror (start end transform)))' struct CL-X.
(defalias 'yas--mirror-depth #[(cl-x) "\302!    >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-yas--mirror-tags type-of signal wrong-type-argument yas--mirror 6] 4 (#$ . 157303)])
(byte-code "\300\301\302\303#\304\305\306\"\207" [function-put yas--mirror-depth side-effect-free t defalias copy-yas--mirror copy-sequence] 4)
#@123 compiler-macro for inlining `make-yas--mirror'.
 
(fn CL-WHOLE &cl-quote &key START END TRANSFORM PARENT-FIELD NEXT DEPTH)
(defalias 'make-yas--mirror--cmacro #[(cl-whole &rest #1=#:--cl-rest--) "\306\307\"A@\306\310\"A@\306\311\"A@\306\312\"A@\306\313\"A@\306\314\"A@\203^@\315>\203EAA\211\2020\316>A@\203T\317\211\2020\320\321@\"\210\202.)\322\323\324\317\317    \n \f & .\207" [#1# start end transform parent-field next plist-member :start :end :transform :parent-field :next :depth (:start :end :transform :parent-field :next :depth :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:start :end :transform :parent-field :next :depth)" cl--defsubst-expand (start end transform parent-field next depth) (cl-block make-yas--mirror (record 'yas--mirror start end transform parent-field next depth)) depth #2=#:--cl-keys-- cl-whole] 13 (#$ . 157746)])
(put 'make-yas--mirror 'compiler-macro 'make-yas--mirror--cmacro)
#@103 Constructor for objects of type `yas--mirror'.
 
(fn &key START END TRANSFORM PARENT-FIELD NEXT DEPTH)
(defalias 'make-yas--mirror #[(&rest #1=#:--cl-rest--) "\306\307\"A@\306\310\"A@\306\311\"A@\306\312\"A@\306\313\"A@\306\314\"A@\203^@\315>\203EAA\211\2020\316>A@\203T\317\211\2020\320\321@\"\210\202.)\322\323    \n \f &.\207" [#1# start end transform parent-field next plist-member :start :end :transform :parent-field :next :depth (:start :end :transform :parent-field :next :depth :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:start :end :transform :parent-field :next :depth)" record yas--mirror depth #2=#:--cl-keys--] 9 (#$ . 158736)])
(byte-code "\300\301\302\303#\300\207" [function-put make-yas--mirror side-effect-free t] 4)
#@49 compiler-macro for inlining `yas--make-mirror'.
(defalias 'yas--make-mirror--cmacro #[(_cl-whole-arg start end transform) "\303\304\305\306\211\211    \n&\207" [start end transform cl--defsubst-expand (start end transform) (cl-block yas--make-mirror (record 'yas--mirror start end transform nil nil nil)) nil] 9 (#$ . 159550)])
(put 'yas--make-mirror 'compiler-macro 'yas--make-mirror--cmacro)
#@48 Constructor for objects of type `yas--mirror'.
(defalias 'yas--make-mirror #[(start end transform) "\303\304    \n\305\211\211&\207" [start end transform record yas--mirror nil] 8 (#$ . 159949)])
(byte-code "\300\301\302\303#\304\305\306\307\310\311\312\313\305\303&    \207" [function-put yas--make-mirror side-effect-free t cl-struct-define yas--mirror "A mirror.\n\nSTART and END are mostly buffer markers, but see \"apropos markers-to-points\".\nTRANSFORM is a lisp form.\nPARENT-FIELD is a `yas--field' this mirror is nested under, or nil.\nNEXT is another `yas--field' or `yas--mirror' or `yas--exit'\nDEPTH is a count of how many nested mirrors can affect this mirror" cl-structure-object record nil ((cl-tag-slot) (start) (end) (transform nil) (parent-field) (next) (depth)) cl-struct-yas--mirror-tags] 11)
#@44 compiler-macro for inlining `yas--exit-p'.
(defalias 'yas--exit-p--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block yas--exit-p (and (memq (type-of cl-x) cl-struct-yas--exit-tags) t)) nil] 7 (#$ . 160766)])
(put 'yas--exit-p 'compiler-macro 'yas--exit-p--cmacro)
(defalias 'yas--exit-p #[(cl-x) "\302!    >\205    \303\207" [cl-x cl-struct-yas--exit-tags type-of t] 2])
(byte-code "\300\301\302\303#\304\305\306\301#\207" [function-put yas--exit-p side-effect-free error-free put yas--exit cl-deftype-satisfies] 5)
#@49 compiler-macro for inlining `yas--exit-marker'.
(defalias 'yas--exit-marker--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block yas--exit-marker (or (yas--exit-p cl-x) (signal 'wrong-type-argument (list 'yas--exit cl-x))) (aref cl-x 1)) nil] 7 (#$ . 161341)])
(put 'yas--exit-marker 'compiler-macro 'yas--exit-marker--cmacro)
#@91 Access slot "marker" of `(yas--exit (:constructor yas--make-exit (marker)))' struct CL-X.
(defalias 'yas--exit-marker #[(cl-x) "\302!    >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-yas--exit-tags type-of signal wrong-type-argument yas--exit 1] 4 (#$ . 161729)])
(byte-code "\300\301\302\303#\300\207" [function-put yas--exit-marker side-effect-free t] 4)
#@47 compiler-macro for inlining `yas--exit-next'.
(defalias 'yas--exit-next--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block yas--exit-next (or (yas--exit-p cl-x) (signal 'wrong-type-argument (list 'yas--exit cl-x))) (aref cl-x 2)) nil] 7 (#$ . 162099)])
(put 'yas--exit-next 'compiler-macro 'yas--exit-next--cmacro)
#@89 Access slot "next" of `(yas--exit (:constructor yas--make-exit (marker)))' struct CL-X.
(defalias 'yas--exit-next #[(cl-x) "\302!    >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-yas--exit-tags type-of signal wrong-type-argument yas--exit 2] 4 (#$ . 162477)])
(byte-code "\300\301\302\303#\304\305\306\"\207" [function-put yas--exit-next side-effect-free t defalias copy-yas--exit copy-sequence] 4)
#@89 compiler-macro for inlining `make-yas--exit'.
 
(fn CL-WHOLE &cl-quote &key MARKER NEXT)
(defalias 'make-yas--exit--cmacro #[(cl-whole &rest #1=#:--cl-rest--) "\305\306\"A@\305\307\"A@ \203: @\310>\203# AA\211\202\311>A@\2031\312\211\202\313\314 @\"\210\202)\315\316\317\312\f\312    \n&*\207" [#1# marker next #2=#:--cl-keys-- cl-whole plist-member :marker :next (:marker :next :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:marker :next)" cl--defsubst-expand (marker next) (cl-block make-yas--exit (record 'yas--exit marker next))] 9 (#$ . 162889)])
(put 'make-yas--exit 'compiler-macro 'make-yas--exit--cmacro)
#@69 Constructor for objects of type `yas--exit'.
 
(fn &key MARKER NEXT)
(defalias 'make-yas--exit #[(&rest #1=#:--cl-rest--) "\304\305\"A@\304\306\"A@ \203: @\307>\203# AA\211\202\310>A@\2031\311\211\202\312\313 @\"\210\202)\314\315    \n#*\207" [#1# marker next #2=#:--cl-keys-- plist-member :marker :next (:marker :next :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:marker :next)" record yas--exit] 5 (#$ . 163558)])
(byte-code "\300\301\302\303#\300\207" [function-put make-yas--exit side-effect-free t] 4)
#@47 compiler-macro for inlining `yas--make-exit'.
(defalias 'yas--make-exit--cmacro #[(_cl-whole-arg marker) "\301\302\303\304\211\211&\207" [marker cl--defsubst-expand (marker) (cl-block yas--make-exit (record 'yas--exit marker nil)) nil] 7 (#$ . 164120)])
(put 'yas--make-exit 'compiler-macro 'yas--make-exit--cmacro)
#@46 Constructor for objects of type `yas--exit'.
(defalias 'yas--make-exit #[(marker) "\301\302\303#\207" [marker record yas--exit nil] 4 (#$ . 164444)])
(byte-code "\300\301\302\303#\304\305\306\307\310\306\311\312\305\303&    \207" [function-put yas--make-exit side-effect-free t cl-struct-define yas--exit nil cl-structure-object record ((cl-tag-slot) (marker) (next)) cl-struct-yas--exit-tags] 11)
#@206 Evaluate BODY with bindings from ENV.
ENV is a lisp expression that evaluates to list of elements with
the form (VAR FORM), where VAR is a symbol and FORM is a lisp
expression that evaluates to its value.
(defalias 'yas--letenv '(macro . #[(env &rest body) "\303\304!\305    DC\306\307\310E\307\311E\nBBBE)\207" [envvar env body make-symbol "envvar" let cl-progv mapcar #'car (lambda (v-f) (eval (cadr v-f)))] 7 (#$ . 164847)]))
(byte-code "\300\301\302\303#\210\304\301\305\306#\300\207" [put yas--letenv edebug-form-spec (form body) function-put lisp-indent-function 1] 4)
#@99 Apply FUN to all marker (sub)fields in SNIPPET.
Update each field with the result of calling FUN.
(defalias 'yas--snippet-map-markers #[(fun snippet) "\306!    >\204\307\310\311D\"\210\312H\313\211\203 @\306\n!\f>\204+\307\310\314\nD\"\210\n\211\312\306\n!\f>\204@\307\310\314\nD\"\210\n\312H!I\210)\306\n!\f>\204V\307\310\314\nD\"\210\n\211\315\306\n!\f>\204l\307\310\314\nD\"\210\n\315H!I\210)\306\n!\f>\204\202\307\310\314\nD\"\210\n\316H\313\211\203 @\306!>\204\243\307\310\317D\"\210\211\320\306!>\204\275\307\310\317D\"\210\320H!I\210)\306!>\204\327\307\310\317D\"\210\211\312\306!>\204\361\307\310\317D\"\210\312H!I\210) A\211\204\215* A\211\204*\306!    >\204\307\310\311D\"\210\315H\211\205T\306!>\2043\307\310\321D\"\210\211\320\306!>\204M\307\310\321D\"\210\320H!I))\207" [snippet cl-struct-yas--snippet-tags field --dolist-tail-- cl-struct-yas--field-tags #1=#:v type-of signal wrong-type-argument yas--snippet 2 nil yas--field 3 5 yas--mirror 1 yas--exit fun #2=#:v mirror cl-struct-yas--mirror-tags #3=#:v #4=#:v snippet-exit cl-struct-yas--exit-tags #5=#:v] 8 (#$ . 165429)])
#@50 Return non-nil if SNIPPET hasn't been committed.
(defalias 'yas--snippet-live-p #[(snippet) "\3012 \302\303\"\210\3040\207" [snippet live yas--snippet-map-markers #[(m) "\301!\203\207\302\303\304\"\207" [m markerp throw live nil] 3] t] 3 (#$ . 166628)])
#@211 Calculate transformed string for FIELD-OR-MIRROR from FIELD.
 
If there is no transform for ht field, return nil.
 
If there is a transform but it returns nil, return the empty
string iff EMPTY-ON-NIL-P is true.
(defalias 'yas--apply-transform #[(field-or-mirror field &optional empty-on-nil-p) "\306!\307!\n>\204\310\311\312D\"\210\313H\307\f! >\2034\307\f! >\204.\310\311\314\fD\"\210\f\315H\202F\307\f!\n>\204C\310\311\312\fD\"\210\f\316H\307\f! >\203e\307\f! >\204_\310\311\314\fD\"\210\f\317H\202w\307\f!\n>\204t\310\311\312\fD\"\210\f\320H\205\224\212b\210\321!\211\206\223\205\223\322*,\207" [field yas-text cl-struct-yas--field-tags yas-modified-p field-or-mirror cl-struct-yas--mirror-tags yas--field-text-for-display type-of signal wrong-type-argument yas--field 7 yas--mirror 3 6 1 2 yas--eval-for-string "" transform start-point ret empty-on-nil-p] 5 (#$ . 166895)])
#@91 Replace all occurrences from FROM to TO.
 
With optional string TEXT do it in that string.
(defalias 'yas--replace-all #[(from to &optional text) "\203\303\304    !\n\305\211%\207eb\210\306    \307\305#\205#\310\n\305\211$\210\202\207" [text from to replace-regexp-in-string regexp-quote t search-forward nil replace-match] 6 (#$ . 167811)])
(put 'yas--replace-all 'byte-optimizer 'byte-compile-inline-expand)
(defalias 'yas--snippet-find-field #[(snippet number) "\302\303\304!    >\204\305\306\307D\"\210\310H\"\207" [snippet cl-struct-yas--snippet-tags cl-find-if #[(field) "\303    !\n>\204\304\305\306    D\"\210    \307H=\207" [number field cl-struct-yas--field-tags type-of signal wrong-type-argument yas--field 1] 5] type-of signal wrong-type-argument yas--snippet 2] 6])
#@49 Sort the fields of SNIPPET in navigation order.
(defalias 'yas--snippet-sort-fields #[(snippet) "\303!    >\204\304\305\306D\"\210\211\307\310\303!    >\204#\304\305\306D\"\210\307H\311\"I)\207" [snippet cl-struct-yas--snippet-tags #1=#:v type-of signal wrong-type-argument yas--snippet 2 sort yas--snippet-field-compare] 8 (#$ . 168594)])
#@185 Compare FIELD1 and FIELD2.
 
The field with a number is sorted first.  If they both have a
number, compare through the number.  If neither have, compare
through the field's start point
(defalias 'yas--snippet-field-compare #[(field1 field2) "\305!    >\204\306\307\310D\"\210\311H\305\n!    >\204!\306\307\310\nD\"\210\n\311H\211\203H \203A \312U\206w\f\312U?\205w\f W\202w\f\312U?\202w \203R \312U\202w\305!    >\204a\306\307\310D\"\210\313H\305\n!    >\204s\306\307\310\nD\"\210\n\313HW*\207" [field1 cl-struct-yas--field-tags field2 n2 n1 type-of signal wrong-type-argument yas--field 1 0 2] 6 (#$ . 168945)])
#@45 Guess if SNIPPET's FIELD should be skipped.
(defalias 'yas--field-probably-deleted-p #[(snippet field) "\304!    >\204\305\306\307D\"\210\310H\304!    >\204!\305\306\307D\"\210\311HZ\312U\205\302\304!    >\2049\305\306\307D\"\210\313H\205\302\304!    >\204N\305\306\307D\"\210\314H\204\230\315\304\n! >\204e\305\306\316\nD\"\210\n\310H!@=\205\302\304!    >\204}\305\306\307D\"\210\310H\317\304\n! >\204\220\305\306\316\nD\"\210\n\320H!U\205\302\304!    >\204\247\305\306\307D\"\210\321H\205\301\304!    >\204\274\305\306\307D\"\210\321H\312U?\207" [field cl-struct-yas--field-tags snippet cl-struct-yas--snippet-tags type-of signal wrong-type-argument yas--field 2 3 0 7 4 last yas--snippet overlay-end 5 1] 6 (#$ . 169572)])
#@400 Return a sorted list of active snippets.
The most recently-inserted snippets are returned first.
 
Only snippets overlapping the region BEG ... END are returned.
Overlapping has the same meaning as described in `overlays-in'.
If END is omitted, it defaults to (1+ BEG).  If BEG is omitted,
it defaults to point.  A non-nil, non-buffer position BEG is
equivalent to a range covering the whole buffer.
(defalias 'yas-active-snippets #[(&optional beg end) "\204`\250\204\306!\204ed\202    \204Te=\203-    d=\203-\n\207\307\310    \"\307\211\203[ @\311\f\312\"\211\203S >\204S B) A\211\204:*\313 \314\315\316$)\207" [beg end yas--active-snippets snippets ov --dolist-tail-- markerp nil overlays-in overlay-get yas--snippet cl-sort >= :key yas--snippet-id snippet] 6 (#$ . 170322)])
(byte-code "\300\301\302\303#\210\304\301\302\305#\207" [defalias yas--snippets-at-point yas-active-snippets nil make-obsolete "0.12"] 4)
#@89 Try to expand a snippet at a key before point.
 
Otherwise delegate to `yas-next-field'.
(defalias 'yas-next-field-or-maybe-expand #[nil "\203\304\305    \306\"\n\205\307\n!?\205\310 *\207\310 \207" [yas-triggers-in-field yas--active-field-overlay active-field yas-fallback-behavior return-nil overlay-get yas--field yas-expand-from-trigger-key yas-next-field] 4 (#$ . 171272) nil])
#@72 Return non-nil if (yas-next-field ARG) would exit the current snippet.
(defalias 'yas-next-field-will-exit-p #[(&optional arg) "\304 @\305\306\"\211\205\307 \n    #?*\207" [yas--active-field-overlay active snippet arg yas-active-snippets overlay-get yas--field yas--find-next-field] 5 (#$ . 171666)])
#@55 Return the Nth field after the ACTIVE one in SNIPPET.
(defalias 'yas--find-next-field #[(n snippet active) "\305\306\307!    >\204\310\311\312D\"\210\313H\"\314 !\f \315Y\203$\n\202'\316\n!>8)\207" [snippet cl-struct-yas--snippet-tags live-fields n active cl-remove-if #[(field) "    =?\205 \303\n\"\207" [field active snippet yas--field-probably-deleted-p] 3] type-of signal wrong-type-argument yas--snippet 2 abs 0 reverse] 6 (#$ . 171975)])
#@71 Navigate to the ARGth next field.
 
If there's none, exit the snippet.
(defalias 'yas-next-field #[(&optional arg) "\204\306\307    \310\"\311\312\n! >\204\313\314\310\nD\"\210\n\315H\312\n! >\204-\313\314\310\nD\"\210\n\316H\"@\317\f\n#\312\f!>\204I\313\314\320\fD\"\210\f\306H\321\322\"\321\323\"\324\325\203\200\211A\242\326\211A\242DDB\202b\327\330\331\326DDE!.\207" [arg yas--active-field-overlay active-field cl-struct-yas--field-tags snippet target-field 1 overlay-get yas--field yas-active-snippets type-of signal wrong-type-argument 2 3 yas--find-next-field yas--snippet mapcar car #[(v-f) "\301A@!\207" [v-f eval] 2] #[nil "\203\304\305!\203\306\n!\210) \203\307\n \"\207\310\n!\207" [active-field yas-moving-away-p snippet target-field t yas--field-update-display yas--update-mirrors yas--move-to-field yas-exit-snippet] 3] nil quote eval let funcall cl-struct-yas--snippet-tags #1=#:envvar #2=#:syms #3=#:vals #4=#:body #5=#:binds] 6 (#$ . 172430) nil])
#@47 Correctly place overlays for SNIPPET's FIELD.
(defalias 'yas--place-overlays #[(snippet field) "\303    \"\210\304\305    !\n>\204\306\307\310    D\"\210    \311HS\305    !\n>\204)\306\307\310    D\"\210    \312HT\"@=\2057\313    \"\207" [snippet field cl-struct-yas--field-tags yas--make-move-field-protection-overlays yas-active-snippets type-of signal wrong-type-argument yas--field 2 3 yas--make-move-active-field-overlay] 7 (#$ . 173457)])
#@78 Update SNIPPET to move to field FIELD.
 
Also create some protection overlays
(defalias 'yas--move-to-field #[(snippet field) "\306!    >\204\307\310\311D\"\210\312Hb\210\313\n\"\210\314 \315\n#\210\314 \311#\210\306!    >\2044\307\310\311D\"\210\316H\211\203\206\f\317U\203\206\320\306!    >\204R\307\310\311D\"\210\321H!\210\306\n! >\204f\307\310\315\nD\"\210\n\211\322\306!    >\204z\307\310\311D\"\210\323H\206\201\324I)\202\327\306\n! >\204\225\307\310\315\nD\"\210\n\211\323I\210)\306!    >\204\255\307\310\311D\"\210\325H?\205\327\326!\203\300\327\n!\202\327\306!    >\204\317\307\310\311D\"\210\211\325\330I))\207" [field cl-struct-yas--field-tags snippet yas--active-field-overlay number cl-struct-yas--snippet-tags type-of signal wrong-type-argument yas--field 2 yas--place-overlays overlay-put yas--snippet 1 0 set-mark 3 8 6 t 7 yas--field-update-display yas--update-mirrors nil #1=#:v #2=#:v #3=#:v] 7 (#$ . 173891)])
#@61 Navigate to prev field.  If there's none, exit the snippet.
(defalias 'yas-prev-field #[nil "\300\301!\207" [yas-next-field -1] 2 (#$ . 174854) nil])
(defalias 'yas-abort-snippet #[(&optional snippet) "\206\303 @\211\205\"\304!    >\204\305\306\307D\"\210\211\310\311I))\207" [snippet cl-struct-yas--snippet-tags #1=#:v yas-active-snippets type-of signal wrong-type-argument yas--snippet 8 t] 5 nil nil])
#@30 Goto exit-marker of SNIPPET.
(defalias 'yas-exit-snippet #[(snippet) "\205\215\304!    >\204\305\306\307D\"\210\211\310\311I\210)\304!    >\204*\305\306\307D\"\210\312H\203x\304\211!    >\204@\305\306\307D\"\210\312H! >\204a\305\306\313\304!    >\204[\305\306\307D\"\210\312HD\"\210\304!    >\204p\305\306\307D\"\210\312H\314H\202\214\315\304!    >\204\210\305\306\307D\"\210\316H!b\207" [snippet cl-struct-yas--snippet-tags #1=#:v cl-struct-yas--exit-tags type-of signal wrong-type-argument yas--snippet 8 t 3 yas--exit 1 overlay-end 5] 8 (#$ . 175273) (list (cl-first (yas-active-snippets)))])
#@20 Exit all snippets.
(defalias 'yas-exit-all-snippets #[nil "\300\301\302\303!\"\207" [mapc #[(snippet) "\301!\210\302 \207" [snippet yas-exit-snippet yas--check-commit-snippet] 2] yas-active-snippets all] 4 (#$ . 175888) nil])
#@79 Bind this temporarily to non-nil to prevent running `yas--on-*-modification'.
(defvar yas--inhibit-overlay-hooks nil (#$ . 176121))
#@51 Beginning position of the last snippet committed.
(defvar yas-snippet-beg nil (#$ . 176259))
#@45 End position of the last snippet committed.
(defvar yas-snippet-end nil (#$ . 176358))
#@87 Commit SNIPPET, but leave point as it is.
 
This renders the snippet as ordinary text.
(defalias 'yas--commit-snippet #[(snippet) "\306!    >\204\307\310\311D\"\210\312H\211\203@\313\n!\203@\314\n!\315\n!\316\n!\210\306!    >\2048\307\310\311D\"\210\211\312\317I\210)\320\203M\316!\210\203X\321\316\"\210)\306!    >\204h\307\310\311D\"\210\322H\f\203|\203|\323\f\"\210)\324!\210\325 \" !\203\242\"<\203\242\326\327 \f\257\"B\"\202\272\306!    >\204\261\307\310\311D\"\210\211#\330\317I\210))\331\332\333\306!    >\204\315\307\310\311D\"\210\332H#\207" [snippet cl-struct-yas--snippet-tags control-overlay yas-snippet-beg yas-snippet-end #1=#:v type-of signal wrong-type-argument yas--snippet 5 overlay-buffer overlay-start overlay-end delete-overlay nil t mapc 7 yas--advance-end-maybe yas--markers-to-points delq apply yas--snippet-revive 2 yas--message 4 "Snippet %s exited." yas--inhibit-overlay-hooks yas--active-field-overlay yas--field-protection-overlays previous-field yas--active-snippets yas-snippet-revival buffer-undo-list #2=#:v] 8 (#$ . 176451)])
(defvar yas--snippets-to-move nil)
(make-variable-buffer-local 'yas--snippets-to-move)
#@55 Gather snippets in BEG..END for moving to POS in BUF.
(defalias 'yas--prepare-snippets-for-move #[(beg end buf pos) "\306\307    \"r\nq\210\310e \") \205m \306\211\203_@\311\312\"\210\313\314!>\204>\315\316\317D\"\210\320H!\211\fEB\321@!\210)A\211\204 *r\nq\210\244\211)+\207" [beg end buf pos dst-base-line snippets nil yas-active-snippets count-lines yas--snippet-map-markers #[(m) "b\210\301 \210\302e`\"\303!B\304\211\223\210\207" [m beginning-of-line count-lines yas--snapshot-marker-location nil] 4] yas--snapshot-overlay-line-location type-of signal wrong-type-argument yas--snippet 5 delete-overlay to-move snippet --dolist-tail-- cl-struct-yas--snippet-tags ctrl-ov yas--snippets-to-move] 6 (#$ . 177650)])
(defalias 'yas--on-buffer-kill #[nil "\306    \205:\307\302!\203\n\204\307\303!\205: \205:\310\307\304!\203%\f\206,\307\305!\205, \211!\205:\311ed\312!$)\207" [org-marker yas-minor-mode org-edit-src-from-org-mode org-src--from-org-mode org-edit-src-beg-marker org-src--beg-marker nil boundp markerp yas--prepare-snippets-for-move marker-buffer] 5])
(add-hook 'kill-buffer-hook 'yas--on-buffer-kill)
#@57 Finish job started in `yas--prepare-snippets-for-move'.
(defalias 'yas--finish-moving-snippets #[nil "\306\211\306\211\306     :\203E    @\211\211A\242 \211A\242 @eb\210 y\210` \307\310\f\"\210 b\210\311\n!\210\312\f!\210    A\211\202.\306\211\207" [yas--snippets-to-move #1=#:--cl-var-- ctrl-ov base-line snippet #2=#:--cl-var-- nil yas--snippet-map-markers #[(l-m-r-w) "b\210    @y\210\214\302 \303 }\210\304    A!\210)    A@\207" [base-pos l-m-r-w line-beginning-position line-end-position yas--restore-marker-location] 2] yas--restore-overlay-location yas--maybe-move-to-active-field base-pos] 4 (#$ . 178830)])
#@32 Call FUN and catch any errors.
(defalias 'yas--safely-call-fun #[(fun) "\3021 0\207\303\304\305\306    !$)\207" [fun error (debug error) yas--message 2 "Error running %s: %s" error-message-string] 6 (#$ . 179456)])
#@85 Call HOOK's functions.
HOOK should be a symbol, a hook variable, as in `run-hooks'.
(defalias 'yas--safely-run-hook #[(hook) "\303>?\205    \304\305\306\n\"!)\207" [yas-good-grace debug-on-error hook (t hooks) yas--safely-call-fun apply-partially run-hooks] 4 (#$ . 179679)])
#@105 Check if point exited the currently active field of the snippet.
 
If so cleans up the whole snippet up.
(defalias 'yas--check-commit-snippet #[nil "\306\211\n\f\306\211\203\207@\307 !>\204#\310\311\312 D\"\210 \313H\307 !>\2048\310\311\312 D\"\210 \314H\315\316\"\315\317\"\320\306\203o\211A\242\321\211A\242DDB\202Q\322\323\324\321DDE!\210.A\211\204*\f\206\216    ??\205\240\203\232\325!\210 \326\302!)+\207" [snippet-exit-transform exited-snippets-p yas-after-exit-snippet-hook snippet-exit-hook yas--active-snippets snippet nil type-of signal wrong-type-argument yas--snippet 6 1 mapcar car #[(v-f) "\301A@!\207" [v-f eval] 2] #[nil "\306!    >\204\307\310\311D\"\210\312H\211\204! \203!\313 !\204D\306!    >\2040\307\310\311D\"\210\211\312\314I\210) \315!\210\316\211\207 \203_\203T\317!\204_\212\320 \"\210\321!)\207\314\207" [snippet cl-struct-yas--snippet-tags snippet-exit-transform active-field #1=#:v yas-after-exit-snippet-hook type-of signal wrong-type-argument yas--snippet 8 yas--field-contains-point-p nil yas--commit-snippet t overlay-buffer yas--move-to-field yas--update-mirrors snippet-exit-hook exited-snippets-p yas--active-field-overlay] 5] quote eval let funcall yas--eval-for-effect yas--safely-run-hook --dolist-tail-- cl-struct-yas--snippet-tags active-field #2=#:envvar #3=#:syms #4=#:vals #5=#:body #6=#:binds] 7 (#$ . 179963)])
#@43 Save all markers of SNIPPET as positions.
(defalias 'yas--markers-to-points #[(snippet) "\301\302\"\207" [snippet yas--snippet-map-markers #[(m) "\301!\302\211\223\210\207" [m marker-position nil] 4]] 3 (#$ . 181411)])
#@72 Restore SNIPPET's marker positions, saved by `yas--markers-to-points'.
(defalias 'yas--points-to-markers #[(snippet) "\301\302\"\207" [snippet yas--snippet-map-markers copy-marker] 3 (#$ . 181639)])
#@74 Try to move to SNIPPET's active (or first) field and return it if found.
(defalias 'yas--maybe-move-to-active-field #[(snippet) "\303!    >\204\304\305\306D\"\210\307H\206(\303!    >\204$\304\305\306D\"\210\310H@\211\2053\311\n\"\210\n)\207" [snippet cl-struct-yas--snippet-tags target-field type-of signal wrong-type-argument yas--snippet 6 2 yas--move-to-field] 5 (#$ . 181845)])
(defalias 'yas--field-contains-point-p #[(field &optional point) "\206`\211\303    !\n>\204\304\305\306    D\"\210    \307HY\2051\303    !\n>\204-\304\305\306    D\"\210    \310HX)\207" [point field cl-struct-yas--field-tags type-of signal wrong-type-argument yas--field 2 3] 6])
#@54 Return the propertized display text for field FIELD.
(defalias 'yas--field-text-for-display #[(field) "\302!    >\204\303\304\305D\"\210\306H\302!    >\204!\303\304\305D\"\210\307H{\207" [field cl-struct-yas--field-tags type-of signal wrong-type-argument yas--field 2 3] 5 (#$ . 182511)])
#@43 True if some kind of undo is in progress.
(defalias 'yas--undo-in-progress #[nil "\206     \302=\206     \303=\207" [undo-in-progress this-command undo redo] 2 (#$ . 182809)])
#@77 Create the control overlay that surrounds the snippet and
holds the keymap.
(defalias 'yas--make-control-overlay #[(snippet start end) "\306    \307\211\310%\311\n\312 #\210\311\n\313\f#\210\311\n\314 #\210\n)\207" [start end overlay yas-keymap yas-overlay-priority snippet make-overlay nil t overlay-put keymap priority yas--snippet] 6 (#$ . 182988)])
#@36 Return the currently active field.
(defalias 'yas-current-field #[nil "\205\301!\205\302\303\"\207" [yas--active-field-overlay overlay-buffer overlay-get yas--field] 3 (#$ . 183346)])
#@111 Return CMD if at start of unmodified snippet field.
Use as a `:filter' argument for a conditional keybinding.
(defalias 'yas--maybe-clear-field-filter #[(cmd) "\303 \211\2057\304!    >\204\305\306\307D\"\210\310H?\2057`\311\304!    >\204.\305\306\307D\"\210\312H!=\2057\n)\207" [field cl-struct-yas--field-tags cmd yas-current-field type-of signal wrong-type-argument yas--field 7 marker-position 2] 7 (#$ . 183544)])
#@63 Clears unmodified FIELD if at field start, skips to next tab.
(defalias 'yas-skip-and-clear-field #[(&optional field) "\301\206\302 !\210\303\304!\207" [field yas--skip-and-clear yas-current-field yas-next-field 1] 2 (#$ . 183975) nil])
#@44 Clears unmodified FIELD if at field start.
(defalias 'yas-clear-field #[(&optional field) "\301\206\302 !\207" [field yas--skip-and-clear yas-current-field] 2 (#$ . 184221) nil])
#@129 Clears unmodified field if at field start, skips to next tab.
 
Otherwise deletes a character normally by calling `delete-char'.
(defalias 'yas-skip-and-clear-or-delete-char #[(&optional field) "\301\302!\203\303\206 \304 !\210\305\306!\207\307\310!\207" [field yas--maybe-clear-field-filter t yas--skip-and-clear yas-current-field yas-next-field 1 call-interactively delete-char] 2 (#$ . 184410) nil])
#@140 Deletes the region of FIELD and sets it's modified state to t.
If given, FROM indicates position to start at instead of FIELD's beginning.
(defalias 'yas--skip-and-clear #[(field &optional from) "\303!\210\304!    >\204\305\306\307D\"\210\310H\304!    >\204%\305\306\307D\"\210\311HU?\205V\n\206C\304!    >\204@\305\306\307D\"\210\310H\304!    >\204R\305\306\307D\"\210\311H|\207" [field cl-struct-yas--field-tags from yas--mark-this-and-children-modified type-of signal wrong-type-argument yas--field 2 3] 5 (#$ . 184823)])
(defalias 'yas--mark-this-and-children-modified #[(field) "\304!    >\204\305\306\307D\"\210\211\310\311I\210)\304!    >\204&\305\306\307D\"\210\312H\211\205Q\313 !\205Q\313 !=\203H\304 !    >\203H\314 !\210\315 !\211\204.\316)\207" [field cl-struct-yas--field-tags #1=#:v fom type-of signal wrong-type-argument yas--field 7 t 8 yas--fom-parent-field yas--mark-this-and-children-modified yas--fom-next nil] 5])
#@105 Place the active field overlay in SNIPPET's FIELD.
 
Move the overlay, or create it if it does not exit.
(defalias 'yas--make-move-active-field-overlay #[(snippet field) "\2032\305!\2032\306\307    !\n>\204\310\311\312    D\"\210    \313H\307    !\n>\204-\310\311\312    D\"\210    \314H#\207\315\307    !\n>\204B\310\311\312    D\"\210    \313H\307    !\n>\204T\310\311\312    D\"\210    \314H\316\211\317%\320\321 #\210\320\322\323#\210\320\324\f#\210\320\325\326#\210\320\327\330#\210\320\331\332#\207" [yas--active-field-overlay field cl-struct-yas--field-tags yas-overlay-priority snippet overlay-buffer move-overlay type-of signal wrong-type-argument yas--field 2 3 make-overlay nil t overlay-put priority face yas-field-highlight-face yas--snippet modification-hooks (yas--on-field-overlay-modification) insert-in-front-hooks (yas--on-field-overlay-modification) insert-behind-hooks (yas--on-field-overlay-modification)] 7 (#$ . 185783)])
#@114 Tell if newly modified FIELD should be cleared and skipped.
BEG, END and LENGTH like overlay modification hooks.
(defalias 'yas--skip-and-clear-field-p #[(field beg _end length) "\304U\2050    \305\n! >\204\306\307\310\nD\"\210\n\311HU\2050\305\n! >\204,\306\307\310\nD\"\210\n\312H?\207" [length beg field cl-struct-yas--field-tags 0 type-of signal wrong-type-argument yas--field 2 7] 5 (#$ . 186716)])
#@184 Clears the field and updates mirrors, conditionally.
 
Only clears the field if it hasn't been modified and point is at
field start.  This hook does nothing if an undo is in progress.
(defalias 'yas--on-field-overlay-modification #[(overlay after\? beg end &optional length) "?\206    \206\306\n!?\206\307 !?\206\310 ?\205\236\311\312\313 \314\"\313\n\315\"\"\316\"!\203\224\317 #\320\216\321\"!$>\204K\322\323\315\"D\"\210\"\324H%\325\326%\"&\325\327%\"'\330(\311)&\203\203&\211A&\242\331'\211A'\242DD)B)\202e\332\333)\334\331(DDE!.\202\235\335\336\337\340#\210\341 !,\207" [after\? yas--inhibit-overlay-hooks yas--active-field-overlay overlay inhibit-modification-hooks field overlayp overlay-buffer yas--undo-in-progress nil t overlay-get yas--field yas--snippet yas--snippet-live-p match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] type-of signal wrong-type-argument 1 mapcar car #[(v-f) "\301A@!\207" [v-f eval] 2] #[nil "\306    \n $\203\307\n\"\210\310!\f>\204\311\312\313D\"\210\211\314\315I\210)\316    \n\"\203\206\203\206\211A\242\310!>\204U\311\312\317D\"\210\320H>\204a\321\322!\210\323\324!\"\210\310!>\204|\311\312\317D\"\210\314H)\202.*\212\325!\210)\326!\207" [field beg end length cl-struct-yas--field-tags #1=#:v yas--skip-and-clear-field-p yas--skip-and-clear type-of signal wrong-type-argument yas--field 7 t yas-active-snippets yas--snippet 2 cl--assertion-failed (memq pfield (yas--snippet-fields psnippet)) yas--advance-end-maybe overlay-end yas--field-update-display yas--update-mirrors psnippets pfield psnippet cl-struct-yas--snippet-tags overlay snippet] 6] quote eval let funcall lwarn (yasnippet zombie) :warning "Killing zombie snippet!" delete-overlay snippet save-match-data-internal cl-struct-yas--snippet-tags #2=#:envvar #3=#:syms #4=#:vals #5=#:body #6=#:binds] 6 (#$ . 187130)])
(defalias 'yas--auto-fill #[nil "`\306 \210`\307 \210`\310\n    \"\311\211 \3110\2111\203}1@0\3120!\3112\2111\203V1@2\n2X\203M2    X\203M\3132\n    #\fB1A\2111\2041*\314\3150!3>\204j\316\317\3200D\"\2100\321H\n    # B1A\2111\204*b\210\3224\204Y\322\323\324!DC\322\323\325!DC\326567r\327 8p\330p8\"B\2118)\3119\2111\2031@\2119q\2107\236:6\236;\331\324!\203\355:\203\343:9:AB\241\210\202\3559D7B7\331\325!\203;\203;9;AB\241\210\2029D6B6*1A\2111\204\265+\332\333\334\335p76\336\337!\203H\340\341\342!!<\343\216<<\344\345=\"\210)r<q\210\346 +\202I\347&\210\350\351!\210\352\353\354\"\210+\202] \210)\212\306 \210`\307 \210`)\212\214\n    }\210\344\355\f\"\210\344\356 \"\210)\344\357 \".\207" [orig-point end beg snippets remarkers reoverlays forward-paragraph backward-paragraph yas-active-snippets nil yas--collect-snippet-markers yas--snapshot-marker-location yas--snapshot-overlay-location type-of signal wrong-type-argument yas--snippet 5 t default-value yas--original-auto-fill-function auto-fill-function 3 buffer-list remq local-variable-p lwarn (yasnippet auto-fill bug) :error "`yas--original-auto-fill-function' unexpectedly nil in %S!  Disabling auto-fill.\n  %S\n  `auto-fill-function': %S\n%s" fboundp backtrace--print-frame get-buffer-create generate-new-buffer-name " *string-output*" #[nil "\301!\207" [standard-output kill-buffer] 2] mapc #[(frame) "\301\302\"\207" [frame apply backtrace--print-frame] 3] buffer-string "" auto-fill-mode -1 add-to-list warning-suppress-types (yasnippet auto-fill bug) yas--restore-marker-location yas--restore-overlay-location #[(snippet) "\306!    >\204\307\310\311D\"\210\312H\313\314\n\"\313\315\n\"\316\317 \203; \211A\242\320\f\211A\242DDB\202\"\321\322\323\320 DDE!-\207" [snippet cl-struct-yas--snippet-tags #1=#:envvar #2=#:syms #3=#:vals #4=#:body type-of signal wrong-type-argument yas--snippet 1 mapcar car #[(v-f) "\301A@!\207" [v-f eval] 2] #[nil "\301!\207" [snippet yas--update-mirrors] 2] nil quote eval let funcall #5=#:binds] 6] snippet --dolist-tail-- m cl-struct-yas--snippet-tags yas--inhibit-overlay-hooks print-length fill-fun-values yas--fill-fun-values bufs buf yf-cell af-cell standard-output yas--watch-auto-fill-backtrace] 11])
#@112 Place protection overlays surrounding SNIPPET's FIELD.
 
Move the overlays, or create them if they do not exit.
(defalias 'yas--make-move-field-protection-overlays #[(snippet field) "\306!    >\204\307\310\311D\"\210\312H\306!    >\204!\307\310\311D\"\210\313H\314 \nW\2037\212\315db\210\316 \210* \203U\317\320 \"\203U\321 @ S #\210\321 A@\n\211T#\202\227\322 S \323\315\323%\322\n\211T\323\315\323%D\211\323\211\205\226@\324\325\326#\210\324\327#\210\324\330\331#\210A\211\204q\323**\207" [field cl-struct-yas--field-tags end start yas--inhibit-overlay-hooks yas--field-protection-overlays type-of signal wrong-type-argument yas--field 2 3 buffer-size t newline cl-every overlay-buffer move-overlay make-overlay nil overlay-put face yas--field-debug-face yas--snippet modification-hooks (yas--on-protection-overlay-modification) ov --dolist-tail-- snippet] 8 (#$ . 191403)])
#@63 Commit the snippet if the protection overlay is being killed.
(defalias 'yas--on-protection-overlay-modification #[(_overlay after\? beg end &optional length) "\206    ?\206\n \fZU\206\306 ?\205@\307 \310\311\312\"\210  \313 :\203> @\314!\210 A\211 \202'+\313\207" [yas--inhibit-overlay-hooks after\? length end beg snippets yas--undo-in-progress yas-active-snippets yas--message 2 "Committing snippets. Action would destroy a protection overlay." nil yas--commit-snippet #1=#:--cl-var-- snippet] 4 (#$ . 192318)])
(add-to-list 'debug-ignored-errors "^Exit the snippet first!$")
#@431 Expand SNIPPET at current point.
 
Text between START and END will be deleted before inserting
template.  EXPAND-ENV is a list of (SYM VALUE) let-style dynamic
bindings considered when expanding the snippet.  If omitted, use
SNIPPET's expand-env field.
 
SNIPPET may be a snippet structure (e.g., as returned by
`yas-lookup-snippet'), or just a snippet body (which is a string
for normal snippets, and a list for command snippets).
(defalias 'yas-expand-snippet #[(snippet &optional start end expand-env) "\203\n\306    >\204\307\310\311\312\211$\210\313\314!\210\n\205#\315\n!\205#\316\n\317\"\211\2052\320 ``\321$\2052 ) \206]\322 \203B\323 \202]\f\203\\\324\f!3>\204V\325\326\317\fD\"\210\f\327H\202]`4\206\210\322 \203m\330 \202\210\f\203\207\324\f!3>\204\201\325\326\317\fD\"\210\f\331H\202\210`\2114 V\205\225\332 4\"56\206\250\322 \205\250\f?\205\25056 b\210i75\203\272 4|\210\3248!9>\203\335\3248!9>\204\326\325\326\3338D\"\2108\327H\202\3378:;\204\3248!9>\203\3248!9>\204\325\326\3338D\"\2108\334H;:<\203\335:!\202<i<\336=\337:; `$8)\n\2054\315\n!\2054\316\n\317\"\211>\203_\3248!?>\204L\325\326\3408D\"\2108\211@\341>I\210)\342>\343\n!\"\210)\3248!?>\204r\325\326\3408D\"\2108\327H\204~\3448!\210\3248!?>\204\220\325\326\3408D\"\2108\327H@\211A\203\345\321!\210\3248!?>\204\261\325\326\3408D\"\2108\346HB\347\350B\"C\347\351B\"D\352E\312FC\203\351C\211AC\242\353D\211AD\242DDFBF\202\313\354\355F\356\353EDDE!\210-\324A!3>\204    \325\326\317AD\"\210A\346H\321=\203\357A!G\321V\203\312G)\360\361\362\3248!?>\2045\325\326\3408D\"\2108\361H#\210\336.\207" [yas-minor-mode post-command-hook yas--active-field-overlay field clear-field start yas--post-command-handler cl--assertion-failed (and yas-minor-mode (memq 'yas--post-command-handler post-command-hook)) "[yas] `yas-expand-snippet' needs properly setup `yas-minor-mode'" nil run-hooks yas-before-expand-snippet-hook overlay-buffer overlay-get yas--field yas--skip-and-clear-field-p 0 region-active-p region-beginning type-of signal wrong-type-argument 2 region-end 3 buffer-substring-no-properties yas--template 5 yas--eval-for-effect t yas--snippet-create yas--snippet 7 yas--advance-end-maybe overlay-end yas-exit-snippet sit-for 1 mapcar car #[(v-f) "\301A@!\207" [v-f eval] 2] #[nil "\302    \"\207" [snippet first-field yas--move-to-field] 3] quote eval let funcall yas--field-text-for-display yas--message 4 "snippet %d expanded." cl-struct-yas--field-tags end to-delete yas-selected-text yas--indent-original-column snippet cl-struct-yas--template-tags content expand-env yas--start-column yas--inhibit-overlay-hooks existing-field cl-struct-yas--snippet-tags #1=#:v first-field #2=#:envvar #3=#:syms #4=#:vals #5=#:body #6=#:binds deactivate-mark] 8 (#$ . 192923)])
#@113 Commits SNIPPET, which in turn pushes an undo action for reviving it.
 
Meant to exit in the `buffer-undo-list'.
(defalias 'yas--take-care-of-redo #[(snippet) "\302!    >\204\303\304\305D\"\210\306H\205\307!\207" [snippet cl-struct-yas--snippet-tags type-of signal wrong-type-argument yas--snippet 2 yas--commit-snippet] 4 (#$ . 195800)])
#@334 Revives SNIPPET and creates a control overlay from BEG to END.
 
BEG and END are, we hope, the original snippets boundaries.
All the markers/points exiting existing inside SNIPPET should point
to their correct locations *at the time the snippet is revived*.
 
After revival, push the `yas--take-care-of-redo' in the
`buffer-undo-list'
(defalias 'yas--snippet-revive #[(beg end snippet) "\306!\210\307!\205I\310!    >\204\311\312\313D\"\210\211\314\315 \f#I\210)\316\310!    >\2045\311\312\313D\"\210\314H\313#\210 <\205I\317\320E B\211\207" [snippet cl-struct-yas--snippet-tags #1=#:v beg end buffer-undo-list yas--points-to-markers yas--maybe-move-to-active-field type-of signal wrong-type-argument yas--snippet 5 yas--make-control-overlay overlay-put apply yas--take-care-of-redo] 7 (#$ . 196150)])
#@96 Create a snippet from a template inserted at BEGIN to END.
 
Returns the newly created snippet.
(defalias 'yas--snippet-create #[(content expand-env begin end) "\214\306\307\310\211\311 \310\211\211\211&    \312\313\n\"\312\314\n\"\315\310 \2039 \211A\242\316\f\211A\242DDB\202 \317\320\321\316 DDE!.\207" [expand-env snippet #1=#:envvar #2=#:syms #3=#:vals #4=#:body record yas--snippet nil yas--snippet-next-id mapcar car #[(v-f) "\301A@!\207" [v-f eval] 2] #[nil "\306\211\nb\210\307\310\n\211#\210 c\210\f G\\\n\f}\210eb\210\311 !\210\307\312ed\313$\210*    <\2033edB    B\314 !\210    <\203C\315\316 E    B\317 !\210\320 !>\204W\321\322\323 D\"\210 \211\324\325 ed#I\210)db\210 B \207" [inhibit-modification-hooks buffer-undo-list begin content end snippet t run-hook-with-args before-change-functions yas--snippet-parse-create after-change-functions 0 yas--indent apply yas--take-care-of-redo yas--snippet-sort-fields type-of signal wrong-type-argument yas--snippet 5 yas--make-control-overlay cl-struct-yas--snippet-tags #5=#:v yas--active-snippets] 7] quote eval let funcall #6=#:binds] 10 (#$ . 196967)])
(defalias 'yas--fom-start #[(fom) "\304!    >\203\304!    >\204\305\306\307D\"\210\310H\207\304!\n>\2036\304!\n>\2042\305\306\311D\"\210\312H\207\304! >\204E\305\306\313D\"\210\312H\207" [fom cl-struct-yas--field-tags cl-struct-yas--mirror-tags cl-struct-yas--exit-tags type-of signal wrong-type-argument yas--field 2 yas--mirror 1 yas--exit] 4])
(defalias 'yas--fom-end #[(fom) "\304!    >\203\304!    >\204\305\306\307D\"\210\310H\207\304!\n>\2036\304!\n>\2042\305\306\311D\"\210\312H\207\304! >\204E\305\306\313D\"\210\314H\207" [fom cl-struct-yas--field-tags cl-struct-yas--mirror-tags cl-struct-yas--exit-tags type-of signal wrong-type-argument yas--field 3 yas--mirror 2 yas--exit 1] 4])
(defalias 'yas--fom-next #[(fom) "\304!    >\203\304!    >\204\305\306\307D\"\210\310H\207\304!\n>\2036\304!\n>\2042\305\306\311D\"\210\312H\207\304! >\204E\305\306\313D\"\210\314H\207" [fom cl-struct-yas--field-tags cl-struct-yas--mirror-tags cl-struct-yas--exit-tags type-of signal wrong-type-argument yas--field 8 yas--mirror 5 yas--exit 2] 4])
(defalias 'yas--fom-parent-field #[(fom) "\303!    >\203\303!    >\204\304\305\306D\"\210\307H\207\303!\n>\2036\303!\n>\2042\304\305\310D\"\210\307H\207\311\207" [fom cl-struct-yas--field-tags cl-struct-yas--mirror-tags type-of signal wrong-type-argument yas--field 4 yas--mirror nil] 4])
#@177 Calculate adjacencies for fields or mirrors of SNIPPET.
 
This is according to their relative positions in the buffer, and
has to be called before the $-constructs are deleted.
(defalias 'yas--calculate-adjacencies #[(snippet) "\306\307\310\311\f! >\204\312\313\314\fD\"\210\f\315H\2032\311\f! >\204,\312\313\314\fD\"\210\f\315H B\311\f! >\204A\312\313\314\fD\"\210\f\316H\310\211\203\221@\211 B\311!>\204h\312\313\317D\"\210\320H\310\211\203\207@\211 BA\211\204u*A\211\204M*\321     \"\211\205\237\322\n \",\207" [fom-set-next-fom compare-fom-begs link-foms soup snippet cl-struct-yas--snippet-tags #[(fom nextfom) "\306!    >\203\306!    >\204\307\310\311D\"\210\211\312 I)\207\306!\f>\203>\306!\f>\2046\307\310\313D\"\210\211\314 I)\207\306!>\204N\307\310\315D\"\210\211\316 I)\207" [fom cl-struct-yas--field-tags #1=#:v nextfom cl-struct-yas--mirror-tags #2=#:v type-of signal wrong-type-argument yas--field 8 yas--mirror 5 yas--exit 2 cl-struct-yas--exit-tags #3=#:v] 5] #[(fom1 fom2) "\303!\303    !U\203\304!\n>\205\305\207\303!\303    !Y\207" [fom2 fom1 cl-struct-yas--mirror-tags yas--fom-start type-of t] 3] nil type-of signal wrong-type-argument yas--snippet 3 2 yas--field 5 sort cl-reduce field --dolist-tail-- cl-struct-yas--field-tags mirror] 5 (#$ . 199484)])
#@198 Discover if FOM is parented by some field in SNIPPET.
 
Use the tightest containing field if more than one field contains
the mirror.  Intended to be called *before* the dollar-regions are
deleted.
(defalias 'yas--calculate-simple-fom-parentage #[(snippet fom) "ed\306\n\307 !\f>\204\310\311\312 D\"\210 \313H\"\314\211\205@\307 !>\2045\310\311\315 D\"\210 \313H\316\n!X\203\370\317\n!\307 !>\204R\310\311\315 D\"\210 \320HX\203\370    \307 !>\204j\310\311\315 D\"\210 \313HW\203\370\307 !>\204\201\310\311\315 D\"\210 \320HW\203\370\307 !>\204\231\310\311\315 D\"\210 \313H\307 !>\204\255\310\311\315 D\"\210 \320H\307\n!>\203\326\307\n!>\204\312\310\311\315\nD\"\210\n\211\321 I\210)\202\370\307\n!>\203\370\307\n!>\204\357\310\311\322\nD\"\210\n\211\321 I\210)A\211\204!\314,\207" [max min fom snippet cl-struct-yas--snippet-tags field remq type-of signal wrong-type-argument yas--snippet 2 nil yas--field yas--fom-start yas--fom-end 3 4 yas--mirror --dolist-tail-- cl-struct-yas--field-tags #1=#:v cl-struct-yas--mirror-tags #2=#:v] 7 (#$ . 200834)])
#@356 Maybe advance FOM's end to NEWEND if it needs it.
 
If it does, also:
 
* call `yas--advance-start-maybe' on FOM's next fom.
 
* in case FOM is field call `yas--advance-end-maybe' on its parent
  field
 
Also, if FOM is an exit-marker, always call
`yas--advance-start-maybe' on its next fom.  This is because
exit-marker have identical start and end markers.
(defalias 'yas--advance-end-maybe #[(fom newend) "\203!\303!    W\203!\303!    \304\223\210\305\306!    \"\210\307\310!    \"\207\311!\n>\205/\305\306!    \"\207" [fom newend cl-struct-yas--exit-tags yas--fom-end nil yas--advance-start-maybe yas--fom-next yas--advance-end-of-parents-maybe yas--fom-parent-field type-of] 3 (#$ . 201951)])
#@111 Maybe advance FOM's start to NEWSTART if it needs it.
 
If it does, also call `yas--advance-end-maybe' on FOM.
(defalias 'yas--advance-start-maybe #[(fom newstart) "\205\302!    W\205\302!    \303\223\210\304    \"\207" [fom newstart yas--fom-start nil yas--advance-end-maybe] 3 (#$ . 202647)])
#@181 Like `yas--advance-end-maybe' but for parent fields.
 
Only works for fields and doesn't care about the start of the
next FOM.  Works its way up recursively for parents of parents.
(defalias 'yas--advance-end-of-parents-maybe #[(field newend) "\205F\303!    >\204\304\305\306D\"\210\307H\nW\205F\303!    >\204*\304\305\306D\"\210\307H\n\310\223\210\311\303!    >\204A\304\305\306D\"\210\312H\n\"\207" [field cl-struct-yas--field-tags newend type-of signal wrong-type-argument yas--field 3 nil yas--advance-end-of-parents-maybe 4] 5 (#$ . 202947)])
#@85 When expanding the snippet the "parse-create" functions add
cons cells to this var.
(defvar yas--dollar-regions nil (#$ . 203507))
#@41 List of markers for manual indentation.
(defvar yas--indent-markers nil (#$ . 203644))
#@163 Parse a recently inserted snippet template, creating all
necessary fields, mirrors and exit points.
 
Meant to be called in a narrowed buffer, does various passes
(defalias 'yas--snippet-parse-create #[(snippet) "\306`\306\211\307\306\310\"\210b\210\311 \307 \210b\210\312 \210b\210\313\f!\210b\210\314\f!\210b\210\315\f!\210\316!\210)\317\f!\210 !\"#\214~\210\320 !\210)\321\"!\210*\322\f!$>\204_\323\324\325\fD\"\210\f\326H\211%\203\201\322%!&>\204z\323\324\327%D\"\210%\330H\202\202db\210)'\331=\203\217\332''\203\240(\203\240(c\210\202\272\333'!\203\272\334'!\203\272\334'!\335'\306\"\210c\210\336    !\210b\210\337 \210\340\f!\210b*\207" [parse-start saved-quotes syntax-propertize-function yas--dollar-regions snippet most-positive-fixnum nil yas--protect-escapes (96) yas--save-backquotes yas--indent-parse-create yas--field-parse-create yas--simple-fom-create yas--transform-mirror-parse-create syntax-ppss-flush-cache yas--calculate-adjacencies yas--delete-regions yas--remove-misc-free-from-undo type-of signal wrong-type-argument yas--snippet 3 yas--exit 1 cua 48 characterp get-register set-register yas--restore-backquotes yas--restore-escapes yas--update-mirrors buffer-undo-list old-undo-list gc-cons-threshold cl-struct-yas--snippet-tags exit cl-struct-yas--exit-tags yas-wrap-around-region yas-selected-text] 5 (#$ . 203738)])
#@127 Returns info for restoring MARKER's location after indent.
The returned value is a list of the form (MARKER REGEXP WS-COUNT).
(defalias 'yas--snapshot-marker-location #[(marker &optional beg end) "\204\305     \204\306 \307\310\n\"\311\312#\307\310\n    \"\311\312#\n\313\314\315\f\nC\244 \244\313#P\nb\210\316    w\210`\nZE*\207" [beg end marker after before line-beginning-position line-end-position split-string buffer-substring-no-properties "[[:space:]\n]+" t "[[:space:]\n]*" mapconcat #[(s) "    =\203\302\207\303!\207" [s marker "\\(\\)" regexp-quote] 2] "[:space:]\n"] 6 (#$ . 205127)])
#@225 Like `yas--snapshot-marker-location' for overlays.
The returned format is (OVERLAY (RE WS) (RE WS)).  Either of
the (RE WS) lists may be nil if the start or end, respectively,
of the overlay is outside the range BEG .. END.
(defalias 'yas--snapshot-overlay-location #[(overlay beg end) "\305!\306! \nX\205\n\fW\205\307\n \f#A     X\205-    \fW\205-\307     \f#AE*\207" [overlay oend obeg beg end overlay-start overlay-end yas--snapshot-marker-location] 6 (#$ . 205732)])
#@118 Return info for restoring OVERLAY's line based location.
The returned format is (OVERLAY (LINE RE WS) (LINE RE WS)).
(defalias 'yas--snapshot-overlay-line-location #[(overlay) "\303!b\210\304`!\305!b\210\304`!\211\306e\n@b\210\307 \"\240\210    \306e    @b\210\307 \"\240\210\n    E*\207" [overlay loc-end loc-beg overlay-start yas--snapshot-marker-location overlay-end count-lines line-beginning-position] 5 (#$ . 206212)])
#@136 Move point to location saved by `yas--snapshot-marker-location'.
Buffer must be narrowed to BEG..END used to create the snapshot info.
(defalias 'yas--goto-saved-location #[(regexp ws-count) "eb\210\302!\204\303\304\305\306$\207\307\224b\210\310\311w\210\310`    Zx\207" [regexp ws-count looking-at lwarn (yasnippet re-marker) :warning "Couldn't find: %S" 1 "[:space:]\n" nil] 5 (#$ . 206640)])
#@139 Restores marker based on info from `yas--snapshot-marker-location'.
Buffer must be narrowed to BEG..END used to create the snapshot info.
(defalias 'yas--restore-marker-location #[(re-marker) "\301\302A\"\210@`\303\223\207" [re-marker apply yas--goto-saved-location nil] 3 (#$ . 207043)])
#@139 Restores marker based on info from `yas--snapshot-marker-location'.
Buffer must be narrowed to BEG..END used to create the snapshot info.
(defalias 'yas--restore-overlay-location #[(ov-locations) "\211G\305U\203    \211A\242\202\306\307\310    GD\"    \211A\242    @\311\n \204.\312\n!\2024\313\314 \"\210`\f\204>\315\n!\202D\313\314\f\"\210`#,\207" [ov-locations #1=#:--cl-rest-- overlay loc-beg loc-end 3 signal wrong-number-of-arguments nil move-overlay overlay-start apply yas--goto-saved-location overlay-end] 7 (#$ . 207341)])
#@76 Restores overlay based on info from `yas--snapshot-overlay-line-location'.
(defalias 'yas--restore-overlay-line-location #[(ov-locations) "\214\301@\212A@@y\210\302 \303 }\210\304\305A@A\"\210`)\212\3068@y\210\302 \303 }\210\304\305\3068A\"\210`)#)\207" [ov-locations move-overlay line-beginning-position line-end-position apply yas--goto-saved-location 2] 7 (#$ . 207883)])
#@108 Indent the lines between FROM and TO with `indent-according-to-mode'.
The SNIPPET's markers are preserved.
(defalias 'yas--indent-region #[(from to snippet) "\212    \214~\210\306\f!\307 \310\223b\210\310\211\311 \312 \2043U\204u\310 \310\211\203k@X\203bX\203b\313#BA\211\204@*\314\216\315 \210\316 \210*\317y\320U\203\203`W\204-\310\321\n!\210+\207" [most-positive-fixnum buffer-undo-list old-undo-list gc-cons-threshold snippet snippet-markers yas--collect-snippet-markers make-marker nil line-beginning-position line-end-position yas--snapshot-marker-location #[nil "\214\302 }\210\303\304    \")\207" [bol remarkers line-end-position mapc yas--restore-marker-location] 3] back-to-indentation indent-according-to-mode 1 0 yas--remove-misc-free-from-undo to from bol eol yas-also-indent-empty-lines remarkers m --dolist-tail--] 5 (#$ . 208270)])
(defvar yas--indent-original-column nil)
(defalias 'yas--indent #[(snippet) "\212\306\211\203)\n@ \307=\204    b\210\310\311 \312 \f#\210    \306\211\223\210\nA\211\204    *\306)\212\306\210 \313\267\202_\314y\315U\205`\316\310\311 d\f#)\202`\204V\314y\315U\205`\310\311 d\f#\202`\306)\207" [yas--indent-markers marker --dolist-tail-- yas-indent-line snippet indent-line-function nil auto yas--indent-region line-beginning-position line-end-position #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (fixed 55 auto 74)) 1 0 #[nil "\301 \210j\207" [yas--indent-original-column beginning-of-line] 1] yas-also-auto-indent-first-line] 5])
#@49 Make a list of all the markers used by SNIPPET.
(defalias 'yas--collect-snippet-markers #[(snippet) "\302\303\304    \"\210)\207" [markers snippet nil yas--snippet-map-markers #[(m) "    B\207" [m markers] 2]] 3 (#$ . 209868)])
(defalias 'yas--escape-string #[(escaped) "\301\302\303\"\304Q\207" [escaped "YASESCAPE" format "%d" "PROTECTGUARD"] 4])
#@126 Protect all escaped characters with their numeric ASCII value.
 
With optional string TEXT do it in string instead of buffer.
(defalias 'yas--protect-escapes #[(&optional text escaped) "\211\305\306 \206 \f\"\210\n*\207" [text text-provided-p changed-text escaped yas--escaped-characters mapc #[(escaped) "\306\307!P\310!    \205 \n \203 \311\312 !\f \313\211%\2025eb\210\314 \315\313#\2055\316\f\313\211 $\210\202#+\211\207" [escaped text-provided-p changed-text text to from "\\" char-to-string yas--escape-string replace-regexp-in-string regexp-quote t search-forward nil replace-match] 6]] 3 (#$ . 210224)])
#@130 Restore all escaped characters from their numeric ASCII value.
 
With optional string TEXT do it in string instead of the buffer.
(defalias 'yas--restore-escapes #[(&optional text escaped) "\211\305\306 \206 \f\"\210\n*\207" [text text-provided-p changed-text escaped yas--escaped-characters mapc #[(escaped) "\306!\307!    \205 \n \203\310\311 !\f \312\211%\2023eb\210\313 \314\312#\2053\315\f\312\211 $\210\202!+\211\207" [escaped text-provided-p changed-text text to from yas--escape-string char-to-string replace-regexp-in-string regexp-quote t search-forward nil replace-match] 6]] 3 (#$ . 210854)])
#@135 Save all "\=`(lisp-expression)\=`"-style expressions.
Return a list of (MARKER . STRING) entires for each backquoted
Lisp expression.
(defalias 'yas--save-backquotes #[nil "\306p\306\307\310\f\306\311#\203v\312\313!\306 !\"\214~\210\314\224\314\225|\210)\315!!\210* #B#\316\317\320\321\"!!)\314\224b\210 \203r\322 $ !\"\214~\210\323c\210$`\306\223\210\323c\210)\315!!\210*$ BB)*\202\n\203\237\324\325\326\327%\203\234\330%!&>\204\225\331\332\333%D\"\210%\334H\202\235\335$\210,\207" [saved-quotes yas--snippet-buffer yas--change-detected detect-change yas--backquote-lisp-expression-regexp transformed nil #[(_beg _end) "p=\205    \302\211\207" [yas--snippet-buffer yas--change-detected t] 2] re-search-forward t match-string-no-properties 1 0 yas--remove-misc-free-from-undo yas--eval-for-string yas--read-lisp yas--restore-escapes (96) make-marker "Y" lwarn (yasnippet backquote-change) :warning "`%s' modified buffer in a backquote expression.\n  To hide this warning, add (yasnippet backquote-change) to `warning-suppress-types'." type-of signal wrong-type-argument yas--template 3 "Snippet" current-string most-positive-fixnum buffer-undo-list old-undo-list gc-cons-threshold before-change-functions marker yas--current-template cl-struct-yas--template-tags] 8 (#$ . 211478)])
#@118 Replace markers in SAVED-QUOTES with their values.
SAVED-QUOTES is the in format returned by `yas--save-backquotes'.
(defalias 'yas--restore-backquotes #[(saved-quotes) "\306\211    :\203@    @\211\211A\242\212 b\210\f  \f\214~\210\307\310!\210\nc\210\307\311!\210)\312 !\210* \306\211\223\210)    A\211\202+\306\207" [saved-quotes #1=#:--cl-var-- string marker most-positive-fixnum buffer-undo-list nil delete-char -1 1 yas--remove-misc-free-from-undo old-undo-list gc-cons-threshold] 4 (#$ . 212810)])
(defalias 'yas--scan-sexps #[(from count) "\3061\307 \310\216\311 p\312\216\313\314 !\210\315\316\f \".0\207\210\315\207" [save-match-data-internal #1=#:buffer #2=#:table parse-sexp-lookup-properties from count (error) match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] syntax-table #[nil "rq\210\302    !)\207" [#1# #2# set-syntax-table] 2] set-syntax-table standard-syntax-table nil scan-sexps] 3])
#@58 Create a marker at POS with nil `marker-insertion-type'.
(defalias 'yas--make-marker #[(pos) "\302 \303\223\304    \303\"\210    )\207" [pos marker make-marker nil set-marker-insertion-type] 3 (#$ . 213770)])
#@51 Parse the "$>" indentation markers just inserted.
(defalias 'yas--indent-parse-create #[nil "\301\302\303\301\304#\203\305\224\305\225|\210\306\307 !B\202\237\211\207" [yas--indent-markers nil search-forward "$>" t 0 yas--make-marker line-beginning-position] 4 (#$ . 213981)])
#@483 Parse most field expressions in SNIPPET, except for the simple one "$n".
 
The following count as a field:
 
* "${n: text}", for a numbered field with default text, as long as N is not 0;
 
* "${n: text$(expression)}, the same with a Lisp expression;
  this is caught with the curiously named `yas--multi-dollar-lisp-expression-regexp'
 
* the same as above but unnumbered, (no N:) and number is calculated automatically.
 
When multiple expressions are found, only the last one counts.
(defalias 'yas--field-parse-create #[(snippet &optional parent-field) "\212\306\307\310#\203\315\311\312\224T\313\"\314\313!\205\315\314\313!!    \205P\316\314\317!\307\310\320#)\266\203?\205P\n\321\317\224!\321    S!\f\322\323\n \f\307\211\211\211&    ,\211 \203\311    b\210    S    B!B!\312\224\317\224B!B!\324\"!#>\204~\325\326\327\"D\"\210\"\211$\317 $\317HBI\210)\212\214\324 !%>\204\242\325\326\323 D\"\210 \317H\324 !%>\204\270\325\326\323 D\"\210 \330H}\210eb\210\331\" \"\210*+\202)\f\2055\212\306&\307\310#\2054\311\313\224\313\"\211'\2030\312\224'B!\235\2040\313\224S\206\371`Sf\332=\2040\333\313\224'\"(\324\f!%>\204\325\326\323\fD\"\210\f\211)\334\335\336(!!I\210*\312\224'B!B!)\202\323)\207" [yas--field-regexp real-match-end-0 number inhibit-changing-match-data parent-field end re-search-forward nil t yas--scan-sexps 0 1 match-string-no-properties string-to-number "\\`\\$[     \n]*(" 2 string-match yas--make-marker record yas--field type-of signal wrong-type-argument yas--snippet 3 yas--field-parse-create 58 buffer-substring-no-properties 6 yas--read-lisp yas--restore-escapes start brand-new-field yas--dollar-regions snippet cl-struct-yas--snippet-tags #1=#:v cl-struct-yas--field-tags yas--multi-dollar-lisp-expression-regexp real-match-end-1 lisp-expression-string #2=#:v] 11 (#$ . 214274)])
#@72 Parse the "${n:$(lisp-expression)}" mirror transformations in SNIPPET.
(defalias 'yas--transform-mirror-parse-create #[(snippet) "\306\307\310#\205\211\311\312\224T\313\"\314\315\313!!\211\205$\n\312U?\205$\316 \n\"    \205Q\f\205Q\317\312\224!\317\312\224!\320\321\322\323\224    S\"!!\324\325 \307\211\211&+\211\203\205\326\f!>\204g\327\330\331\fD\"\210\f\211 \332 \332HBI\210)\333 \"\210\312\224    B!B!,\202\207" [yas--transform-mirror-regexp real-match-end-0 number snippet field transform re-search-forward nil t yas--scan-sexps 0 1 string-to-number match-string-no-properties yas--snippet-find-field yas--make-marker yas--read-lisp yas--restore-escapes buffer-substring-no-properties 2 record yas--mirror type-of signal wrong-type-argument yas--field 5 yas--calculate-simple-fom-parentage end start brand-new-mirror cl-struct-yas--field-tags #1=#:v yas--dollar-regions] 9 (#$ . 216127)])
#@62 Parse the simple "$n" fields/mirrors/exitmarkers in SNIPPET.
(defalias 'yas--simple-fom-create #[(snippet) "\306\307\310#\205+\311\312\313!!\211\314U\203\206\315\n! >\204#\316\317\320\nD\"\210\n\211\321\322\314\225!\323\324 \307#)I\210)\314\224\315\211\n! >\204G\316\317\320\nD\"\210\n\321H!>\204i\316\317\324\315\n! >\204c\316\317\320\nD\"\210\n\321HD\"\210\315\n! >\204x\316\317\320\nD\"\210\n\321H\313HBB\202'\325\n    \"\307\211\203\326\322\314\224!\322\314\224! \323\326 \307\211\211\211&*\211!\315!\">\204\303\316\317\327D\"\210\211#\330!#\330HBI\210*\202    \322\314\224!\322\314\224! \323\327     \307\211\211\211\211&    +\211$\315\n! >\204\316\317\320\nD\"\210\n\211%\331$%\331HBI\210*\332\n\"\210*\314\224\314\225BB)\202\207" [yas--simple-mirror-regexp number snippet cl-struct-yas--snippet-tags #1=#:v marker re-search-forward nil t string-to-number match-string-no-properties 1 0 type-of signal wrong-type-argument yas--snippet 3 yas--make-marker record yas--exit yas--snippet-find-field yas--mirror yas--field 5 2 yas--calculate-simple-fom-parentage cl-struct-yas--exit-tags yas--dollar-regions fom field end start #2=#:v cl-struct-yas--field-tags #3=#:v #4=#:v #5=#:v] 11 (#$ . 217054)])
#@65 Sort disjuct REGIONS by start point, then delete from the back.
(defalias 'yas--delete-regions #[(regions) "\301\302\303\304\"\"\207" [regions mapc #[(reg) "@A|\207" [reg] 2] sort #[(r1 r2) "@    @Y\207" [r1 r2] 2]] 5 (#$ . 218320)])
(defalias 'yas--calculate-mirror-depth #[(mirror &optional traversed) "\306!    >\204\307\310\311D\"\210\312H\211\205)\306\n! >\204&\307\310\313\nD\"\210\n\314H\306!    >\2049\307\310\311D\"\210\315H\206z\306!    >\204N\307\310\311D\"\210\211\315>\203]\316\202x\n\203o\f\203o\317\320\f\321\322$T\202x\n\203w\323\202x\316I)*\207" [mirror cl-struct-yas--mirror-tags parent cl-struct-yas--field-tags parents-mirrors #1=#:v type-of signal wrong-type-argument yas--mirror 4 yas--field 5 6 0 cl-reduce max :key #[(m) "\303    \nB\"\207" [m mirror traversed yas--calculate-mirror-depth] 4] 1 traversed] 8])
#@36 Update all the mirrors of SNIPPET.
(defalias 'yas--update-mirrors #[(snippet) "    \214~\210\212\306\307\310\311\f! >\204\312\313\314\fD\"\210\f\315H\"\316\317\320$ \321\211!\"\321# :\203\317 @\211!\211A!\242\"\311!!$>\204R\312\313\322!D\"\210!\323H\211%\203e\324!\325%!\"\210)\326!\"\"\210&\327=\203\247#\311!!$>\204\210\312\313\322!D\"\210!\330H\311!!$>\204\236\312\313\322!D\"\210!\315HBC\244#\311\f! >\204\266\312\313\314\fD\"\210\f\331H\211'\203\305\332\f'\"\210) A\211 \202/\333(\306#\334\317\335$)\321\211*+):\203)@\211*\211A*\242+\336+*\f#\210)A\211)\202\343.\n\321\337\n!\210*\207" [most-positive-fixnum buffer-undo-list old-undo-list gc-cons-threshold snippet cl-struct-yas--snippet-tags cl-sort cl-mapcan #[(field) "\302\303\304!    >\204\305\306\307D\"\210\310H\"\207" [field cl-struct-yas--field-tags mapcar #[(mirror) "    B\207" [field mirror] 2] type-of signal wrong-type-argument yas--field 5] 6] type-of signal wrong-type-argument yas--snippet 2 > :key #[(fm) "\301A!\207" [fm yas--calculate-mirror-depth] 2] nil yas--mirror 4 yas--advance-start-maybe yas--fom-start yas--mirror-update-display auto 1 6 yas--place-overlays t < car yas--indent-region yas--remove-misc-free-from-undo #1=#:--cl-var-- mirror field indent-regions cl-struct-yas--mirror-tags parent-field yas-indent-line active-field yas--inhibit-overlay-hooks #2=#:--cl-var-- end beg] 8 (#$ . 219179)])
#@58 Update MIRROR according to FIELD (and mirror transform).
(defalias 'yas--mirror-update-display #[(mirror field) "\306!    >\204\307\310\311D\"\210\312H\211\205)\306\n! >\204&\307\310\313\nD\"\210\n\314H?\2058\315\f\316#\2068\317\f!\211\205\342 \320\306!    >\204N\307\310\311D\"\210\321H\306!    >\204`\307\310\311D\"\210\322H\"\230?\205\342\306!    >\204x\307\310\311D\"\210\321Hb\210\323 c\210)\306!    >\204\223\307\310\311D\"\210\322H`V\203\262`\306!    >\204\253\307\310\311D\"\210\322H|\202\342\306!    >\204\301\307\310\311D\"\210\322H`\324\223\210\325\306!    >\204\330\307\310\311D\"\210\326H`\"\210\327\n`\"*\207" [mirror cl-struct-yas--mirror-tags mirror-parent-field cl-struct-yas--field-tags field reflection type-of signal wrong-type-argument yas--mirror 4 yas--field 7 yas--apply-transform empty-on-nil yas--field-text-for-display buffer-substring-no-properties 1 2 t nil yas--advance-start-maybe 5 yas--advance-end-of-parents-maybe yas--inhibit-overlay-hooks] 8 (#$ . 220630)])
#@57 Much like `yas--mirror-update-display', but for fields.
(defalias 'yas--field-update-display #[(field) "\305!    >\204\306\307\310D\"\210\311H\205\360\305!    >\204$\306\307\310D\"\210\312H\313=?\2051\314\211\"\211\205\357\n\315\305!    >\204G\306\307\310D\"\210\316H\305!    >\204Y\306\307\310D\"\210\317H\"\230?\205\357\305!    >\204q\306\307\310D\"\210\211\320\321I\210)\305!    >\204\210\306\307\310D\"\210\316Hb\210\321\nc\210\305!    >\204\241\306\307\310D\"\210\317H`V\203\301`\305!    >\204\271\306\307\310D\"\210\317H|\210\202\355\305!    >\204\320\306\307\310D\"\210\317H`\322\223\210\323\305!    >\204\347\306\307\310D\"\210\324H`\"\210)\321)\207" [field cl-struct-yas--field-tags transformed #1=#:v yas--inhibit-overlay-hooks type-of signal wrong-type-argument yas--field 6 1 0 yas--apply-transform buffer-substring-no-properties 2 3 7 t nil yas--advance-start-maybe 8] 8 (#$ . 221652)])
#@58 Handles various yasnippet conditions after each command.
(defalias 'yas--post-command-handler #[nil "\2036\306\307!\2036    \2046\n\310=\2036\311\312\313\314\315\316\317!!\320\216 \321\307\"\210)r q\210\322 +$\210\323\324\325\"\210\3261\221\327 \210\f\330=\203\207\331 @\211\205x\332\333\334\335\336 !'>\204_\337\340\341 D\"\210 \342H\336 !'>\204r\337\340\341 D\"\210 \343HB\"\"\211(\205\203\344 (\"*\202\217\345 ?\205\217\346 0\207)\337)@)A\")\207" [yas--watch-auto-fill-backtrace yas--original-auto-fill-function auto-fill-function standard-output this-command snippet fboundp backtrace--print-frame yas--auto-fill lwarn (yasnippet auto-fill bug) :error "`yas--original-auto-fill-function' unexpectedly nil! Please report this backtrace\n%S" get-buffer-create generate-new-buffer-name " *string-output*" #[nil "\301!\207" [standard-output kill-buffer] 2] mapc buffer-string add-to-list warning-suppress-types (yasnippet auto-fill bug) (debug error) yas--finish-moving-snippets undo yas-active-snippets cl-find-if-not #[(field) "\302    \"\207" [snippet field yas--field-probably-deleted-p] 3] remq nil type-of signal wrong-type-argument yas--snippet 6 2 yas--move-to-field yas--undo-in-progress yas--check-commit-snippet cl-struct-yas--snippet-tags target-field err] 10 (#$ . 222579)])
(put 'yas-expand 'function-documentation '(yas--expand-from-trigger-key-doc t))
#@59 A doc synthesizer for `yas--expand-from-trigger-key-doc'.
(defalias 'yas--expand-from-trigger-key-doc #[(context) "\205    \211\304\267\202%\305 \211\203\306\307\310\n!\"\206\311)\202&\312\202&\313\314 \315Q*\207" [context yas-fallback-behavior fallback fallback-description #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (call-other-command 12 return-nil 33)) yas--keybinding-beyond-yasnippet format "call command `%s'." pp-to-string "do nothing (`yas-expand' doesn't override\nanything)." "do nothing." "defer to `yas-fallback-behavior' (which see)." "Expand a snippet before point. If no snippet\nexpansion is possible, " "\n\nOptional argument FIELD is for non-interactive use and is an\nobject satisfying `yas--field-p' to restrict the expansion to."] 5 (#$ . 223973)])
(put 'yas-expand-from-keymap 'function-documentation '(yas--expand-from-keymap-doc t))
#@54 A doc synthesizer for `yas--expand-from-keymap-doc'.
(defalias 'yas--expand-from-keymap-doc #[(context) "\306\307\310\"\210\311\205:    \312=\205:\313 \314\315\316 \"\317\320\n!\321 \205*\322\323 !\324Q \2037\325\326\327 !\"\2068\330Q,P\207" [context this-command vec templates yas--direct-keymaps fallback add-hook temp-buffer-show-hook yas--snippet-description-finish-runonce "Expand/run snippets from keymaps, possibly falling back to original binding.\n" describe-key this-single-command-keys cl-mapcan #[(table) "\302    \"\207" [table vec yas--fetch] 3] yas--get-snippet-tables nil key-binding "In this case, " "these snippets are bound to this key:\n" yas--template-pretty-list "\n\nIf none of these expands, " format "fallback `%s' will be called." pp-to-string "no fallback keybinding is called."] 7 (#$ . 224889)])
(defalias 'yas--template-pretty-list #[(templates) "\305\306\n\305\211\203$\f@    \307\310\311 @\312Q\313 A#Q\fA\211\204\f*    *\207" [yas-buffer-local-condition acc templates plate --dolist-tail-- nil always "\n*) " propertize "\\\\snippet `" "'" yasnippet] 7])
(byte-code "\300\301\302\303\304\305\306\307\310!&\207" [define-button-type help-snippet-def :supertype help-xref help-function #[(template) "\301!\207" [template yas--visit-snippet-file-1] 2] help-echo purecopy "mouse-2, RET: find snippets's definition"] 9)
#@68 Final adjustments for the help buffer when snippets are concerned.
(defalias 'yas--snippet-description-finish-runonce #[nil "\300 \210\301\302\303\"\207" [yas--create-snippet-xrefs remove-hook temp-buffer-show-hook yas--snippet-description-finish-runonce] 3 (#$ . 226252)])
(defalias 'yas--create-snippet-xrefs #[nil "\212eb\210\301\302\303\304#\205,\305\306\224\307\"\211\203(\310\306\311#\210\306\225\312\225|\210\312\224\306\224|\210)\202)\207" [template search-forward-regexp "\\\\\\\\snippet[      ]+`\\([^']+\\)'" nil t get-text-property 1 yasnippet help-xref-button help-snippet-def 0] 5])
(eldoc-add-command 'yas-next-field-or-maybe-expand 'yas-next-field 'yas-prev-field 'yas-expand 'yas-expand-from-keymap 'yas-expand-from-trigger-key)
#@76 Log level for `yas--message' 4 means trace most anything, 0 means nothing.
(defvar yas-verbosity 3 (#$ . 227007))
#@66 When LEVEL is at or below `yas-verbosity', log MESSAGE and ARGS.
(defalias 'yas--message #[(level message &rest args) "    Y\205\302\304\305\306\n #\"\207" [yas-verbosity level message args "%s" apply yas--format] 6 (#$ . 227127)])
(defalias 'yas--warning #[(format-control &rest format-args) "\303\304    #\305\306\n\307#\210\310\311\n\")\207" [format-control format-args msg apply format display-warning yasnippet :warning yas--message 1] 4])
(defalias 'yas--format #[(format-control &rest format-args) "\302\303\304P    #\207" [format-control format-args apply format "[yas] "] 4])
#@52 Disable minor modes when calling `unload-feature'.
(defalias 'yasnippet-unload-function #[nil "\305\306!\210r\307 \310\211\203#    @\211q\210\n\203\302\306!\210    A\211\204+ \310\211\203C    @\211\242\311=\203<\312\fA\310\"\210    A\211\204,*\310\207" [buffer --dolist-tail-- yas-minor-mode unload-function-defs-list def yas-global-mode -1 buffer-list nil defun setplist] 4 (#$ . 227715)])
#@63 For backward compatibility, enable `yas-minor-mode' globally.
(defalias 'yas-initialize #[nil "\300\301!\207" [yas-global-mode 1] 2 (#$ . 228116)])
(make-obsolete 'yas-initialize "Use (yas-global-mode 1) instead." "0.8")
#@69 Backported yasnippet symbols.
 
They are mapped to "yas/*" variants.
(defvar yas--backported-syms '(yas-snippet-dirs yas-prompt-functions yas-indent-line yas-also-auto-indent-first-line yas-snippet-revival yas-triggers-in-field yas-fallback-behavior yas-choose-keys-first yas-choose-tables-first yas-use-menu yas-trigger-symbol yas-wrap-around-region yas-good-grace yas-visit-from-menu yas-expand-only-for-last-commands yas-field-highlight-face yas-keymap yas-verbosity yas-extra-modes yas-key-syntaxes yas-after-exit-snippet-hook yas-before-expand-snippet-hook yas-buffer-local-condition yas-dont-activate yas-x-prompt yas-ido-prompt yas-no-prompt yas-completing-prompt yas-dropdown-prompt yas-expand yas-minor-mode yas-global-mode yas-direct-keymaps-reload yas-minor-mode-on yas-load-directory yas-reload-all yas-compile-directory yas-recompile-all yas-about yas-expand-from-trigger-key yas-expand-from-keymap yas-insert-snippet yas-visit-snippet-file yas-new-snippet yas-load-snippet-buffer yas-tryout-snippet yas-describe-tables yas-next-field-or-maybe-expand yas-next-field yas-prev-field yas-abort-snippet yas-exit-snippet yas-exit-all-snippets yas-skip-and-clear-or-delete-char yas-initialize yas-expand-snippet yas-define-snippets yas-define-menu yas-snippet-beg yas-snippet-end yas-modified-p yas-moving-away-p yas-substr yas-choose-value yas-key-to-value yas-throw yas-verify-value yas-field-value yas-text yas-selected-text yas-default-from-field yas-inside-string yas-unimplemented yas-define-condition-cache yas-hippie-try-expand) (#$ . 228343))
(byte-code "\203O    \305\211\203C @\306\307\310\311\312\n!#!\313\n!\203*\314\f\n\315#\210\316\f\n\"\210\317\n!\203;\320\f\n\315#\210\321\f\n\"\210) A\211\204\f*\320\322\323\315#\210\316\322\323\"\210\305\207" [yas-alias-to-yas/prefix-p yas--backported-syms sym --dolist-tail-- backported nil intern replace-regexp-in-string "\\`yas-" "yas/" symbol-name boundp make-obsolete-variable "yasnippet 0.8" defvaralias fboundp make-obsolete defalias yas/root-directory yas-snippet-dirs] 7)
#@195 Exported yasnippet symbols.
 
i.e. the ones with "yas-" single dash prefix. I will try to
keep them in future yasnippet versions and other elisp libraries
can more or less safely rely upon them.
(defvar yas--exported-syms (byte-code "\301\302\303!\210)\207" [exported nil mapatoms #[(atom) "\303!\203\f\304N\203\305!\2050\306N?\2050\307\310!\311\312\313#)\266\203\2050\nB\211\207" [atom inhibit-changing-match-data exported boundp byte-obsolete-variable fboundp byte-obsolete-info "\\`yas-[^-]" symbol-name nil t string-match] 7]] 2) (#$ . 230399))
(provide 'yasnippet)