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

Chizi123
2018-11-18 c655eea759be1db69c5e6b45c228139d8390122a
commit | author | age
5cb5f7 1 ;ELC
C 2 ;;; Compiled
3 ;;; in Emacs version 26.1
4 ;;; with all optimizations.
5
6 ;;; This file uses dynamic docstrings, first added in Emacs 19.29.
7
8 ;;; This file does not contain utf-8 non-ASCII characters,
9 ;;; and so can be loaded in Emacs versions earlier than 23.
10
11 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
12 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
13
14
15 (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)
16 #@43 Directory that yasnippet was loaded from.
17 (defconst yas--loaddir (byte-code "\302\206    !\207" [load-file-name buffer-file-name file-name-directory] 2) (#$ . 654))
18 (defconst yas-installed-snippets-dir (expand-file-name "snippets" yas--loaddir))
19 (make-obsolete-variable 'yas-installed-snippets-dir "Yasnippet no longer comes with installed snippets" "0.13")
20 (defconst yas--default-user-snippets-dir (expand-file-name "snippets" user-emacs-directory))
21 #@358 List of top-level snippet directories.
22
23 Each element, a string or a symbol whose value is a string,
24 designates a top-level directory where per-mode snippet
25 directories can be found.
26
27 Elements appearing earlier in the list override later elements'
28 snippets.
29
30 The first directory is taken as the default for storing snippet's
31 created with `yas-new-snippet'. 
32 (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])
33 #@56 Return variable `yas-snippet-dirs' as list of strings.
34 (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)])
35 (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)
36 #@182 A conditional key definition.
37 This can be used as a key definition in keymaps to bind a key to
38 `yas-skip-and-clear-field' only when at the beginning of an
39 unmodified snippet field.
40 (defconst yas-maybe-skip-and-clear-field '(menu-item "" yas-skip-and-clear-field :filter yas--maybe-clear-field-filter) (#$ . 8427))
41 #@173 A conditional key definition.
42 This can be used as a key definition in keymaps to bind a key to
43 `yas-clear-field' only when at the beginning of an
44 unmodified snippet field.
45 (defconst yas-maybe-clear-field '(menu-item "" yas-clear-field :filter yas--maybe-clear-field-filter) (#$ . 8748))
46 #@61 The active keymap while a snippet expansion is in progress.
47 (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))
48 #@1472 Syntaxes and functions to help look for trigger keys before point.
49
50 Each element in this list specifies how to skip buffer positions
51 backwards and look for the start of a trigger key.
52
53 Each element can be either a string or a function receiving the
54 original point as an argument. A string element is simply passed
55 to `skip-syntax-backward' whereas a function element is called
56 with no arguments and should also place point before the original
57 position.
58
59 The string between the resulting buffer position and the original
60 point is matched against the trigger keys in the active snippet
61 tables.
62
63 If no expandable snippets are found, the next element is the list
64 is tried, unless a function element returned the symbol `again',
65 in which case it is called again from the previous position and
66 may once more reposition point.
67
68 For example, if `yas-key-syntaxes' has the value ("w" "w_"),
69 trigger keys composed exclusively of "word"-syntax characters
70 are looked for first. Failing that, longer keys composed of
71 "word" or "symbol" syntax are looked for. Therefore,
72 triggering after
73
74 foo-barbaz
75
76 will, according to the "w" element first try "barbaz". If
77 that isn't a trigger key, "foo-barbaz" is tried, respecting the
78 second "w_" element. Notice that even if "baz" is a trigger
79 key for an active snippet, it won't be expanded, unless a
80 function is added to `yas-key-syntaxes' that eventually places
81 point between "bar" and "baz".
82
83 See also Info node `(elisp) Syntax Descriptors'.
84 (defvar yas-key-syntaxes (list 'yas-try-key-from-whitespace "w_.()" "w_." "w_" "w") (#$ . 9492))
85 #@309 Hooks to run after a snippet exited.
86
87 The hooks will be run in an environment where some variables bound to
88 proper values:
89
90 `yas-snippet-beg' : The beginning of the region of the snippet.
91
92 `yas-snippet-end' : Similar to beg.
93
94 Attention: These hooks are not run when exiting nested/stacked snippet expansion!
95 (defvar yas-after-exit-snippet-hook nil (#$ . 11067))
96 #@47 Hooks to run just before expanding a snippet.
97 (defvar yas-before-expand-snippet-hook nil (#$ . 11435))
98 #@109 Disables snippet expansion in strings and comments.
99 To use, set `yas-buffer-local-condition' to this value.
100 (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))
101 (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)
102 (defconst yas--version "0.13.0")
103 #@53 A hash table of MAJOR-MODE symbols to menu keymaps.
104 (defvar yas--menu-table (make-hash-table) (#$ . 14228))
105 #@54 List of characters which *might* need to be escaped.
106 (defvar yas--escaped-characters '(92 96 34 39 36 125 123 40 41) (#$ . 14342))
107 #@41 A regexp to *almost* recognize a field.
108 (defconst yas--field-regexp "${\\([0-9]+:\\)?\\([^}]*\\)}" (#$ . 14479))
109 #@55 A regexp to *almost* recognize a "$(...)" expression.
110 (defconst yas--multi-dollar-lisp-expression-regexp "$+[     \n]*\\(([^)]*)\\)" (#$ . 14598))
111 #@61 A regexp to recognize a "\=`lisp-expression\=`" expression.
112 (defconst yas--backquote-lisp-expression-regexp "`\\([^`]*\\)`" (#$ . 14748))
113 #@59 A regexp to *almost* recognize a mirror with a transform.
114 (defconst yas--transform-mirror-regexp "${\\(?:\\([0-9]+\\):\\)?$\\([     \n]*([^}]*\\)" (#$ . 14892))
115 #@40 A regexp to recognize a simple mirror.
116 (defconst yas--simple-mirror-regexp "$\\([0-9]+\\)" (#$ . 15056))
117 #@37 Contains the next id for a snippet.
118 (defvar yas--snippet-id-seed 0 (#$ . 15167))
119 #@45 The original value of `auto-fill-function'.
120 (defvar yas--original-auto-fill-function nil (#$ . 15254))
121 (make-variable-buffer-local 'yas--original-auto-fill-function)
122 (defvar yas--watch-auto-fill-backtrace nil)
123 (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])
124 (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)
125 (defalias 'yas--snippet-next-id #[nil "T    )\207" [yas--snippet-id-seed id] 1])
126 #@27 Holds the YASnippet menu.
127 (defvar yas--minor-mode-menu nil (#$ . 16224))
128 (defvar yas--condition-cache-timestamp nil)
129 #@128 Return CMD if there is an expandable snippet at point.
130 This function is useful as a `:filter' to a conditional key
131 definition.
132 (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)])
133 (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)
134 #@164 A conditional key definition.
135 This can be used as a key definition in keymaps to bind a key to
136 `yas-expand' only when there is a snippet available to be
137 expanded.
138 (defconst yas-maybe-expand '(menu-item "" yas-expand :filter yas-maybe-expand-abbrev-key-filter) (#$ . 16821))
139 #@50 The keymap used when `yas-minor-mode' is active.
140 (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))
141 #@44 Menu used when `yas-minor-mode' is active.
142 (defvar yas--minor-mode-menu nil (#$ . 17451))
143 (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"]))
144 #@178 An internal list of modes for which to also lookup snippets.
145
146 This variable probably makes more sense as buffer-local, so
147 ensure your use `make-local-variable' when you set it.
148 (defvar yas--extra-modes nil (#$ . 21660))
149 (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)
150 #@55 A hash table of mode symbols to `yas--table' objects.
151 (defvar yas--tables (make-hash-table) (#$ . 22170))
152 #@348 A hash table of mode symbols do lists of direct parent mode symbols.
153
154 This list is populated when reading the ".yas-parents" files
155 found when traversing snippet directories with
156 `yas-load-directory'.
157
158 There might be additional parenting information stored in the
159 `derived-mode-parent' property of some mode symbols, but that is
160 not recorded here.
161 (defvar yas--parents (make-hash-table) (#$ . 22283))
162 #@466 Keymap alist supporting direct snippet keybindings.
163
164 This variable is placed in `emulation-mode-map-alists'.
165
166 Its elements looks like (TABLE-NAME . KEYMAP).  They're
167 instantiated on `yas-reload-all' but KEYMAP is added to only when
168 loading snippets.  `yas--direct-TABLE-NAME' is then a variable
169 set buffer-locally when entering `yas-minor-mode'.  KEYMAP binds
170 all defined direct keybindings to `yas-maybe-expand-from-keymap'
171 which decides on the snippet to expand.
172 (defvar yas--direct-keymaps nil (#$ . 22690))
173 #@63 Force reload the direct keybinding for active snippet tables.
174 (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])
175 #@76 Compute list of mode symbols that are active for `yas-expand' and friends.
176 (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)])
177 #@46 Hook run when `yas-minor-mode' is turned on.
178 (defvar yas-minor-mode-hook nil (#$ . 24084))
179 (defalias 'yas--auto-fill-wrapper #[nil "\205\302=?\205\302\211\207" [auto-fill-function yas--original-auto-fill-function yas--auto-fill] 2])
180 #@97 Non-nil if Yas minor mode is enabled.
181 Use the command `yas-minor-mode' to change this variable.
182 (defvar yas-minor-mode nil (#$ . 24332))
183 (make-variable-buffer-local 'yas-minor-mode)
184 #@332 Toggle YASnippet mode.
185
186 When YASnippet mode is enabled, `yas-expand', normally bound to
187 the TAB key, expands snippets of code depending on the major
188 mode.
189
190 With no argument, this command toggles the mode.
191 positive prefix argument turns on the mode.
192 Negative prefix argument turns off the mode.
193
194 Key bindings:
195 \{yas-minor-mode-map}
196 (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))])
197 (defvar yas-minor-mode-hook nil)
198 (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)
199 #@164 Activates the snippets for the given `mode' in the buffer.
200
201 The function can be called in the hook of a minor mode to
202 activate snippets associated with that mode.
203 (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)))))])
204 #@62 Deactivates the snippets for the given `mode' in the buffer.
205 (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)))])
206 (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)
207 #@664 Special hook to control which buffers `yas-global-mode' affects.
208 Functions are called with no argument, and should return non-nil to prevent
209 `yas-global-mode' from enabling yasnippet in this buffer.
210
211 In Emacsen < 24, this variable is buffer-local.  Because
212 `yas-minor-mode-on' is called by `yas-global-mode' after
213 executing the buffer's major mode hook, setting this variable
214 there is an effective way to define exceptions to the "global"
215 activation behaviour.
216
217 In Emacsen >= 24, only the global value is used.  To define
218 per-mode exceptions to the "global" activation behaviour, call
219 `yas-minor-mode' with a negative argument directily in the major
220 mode's hook.
221 (defvar yas-dont-activate-functions (list 'minibufferp) (#$ . 27733))
222 (byte-code "\301V\204\n\302\303!\210\301\207" [emacs-major-version 23 make-variable-buffer-local yas-dont-activate] 2)
223 #@81 Turn on YASnippet minor mode.
224
225 Honour `yas-dont-activate-functions', which see.
226 (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])
227 (defvar yas-minor-mode-major-mode nil)
228 (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)
229 #@328 Toggle Yas minor mode in all buffers.
230 With prefix ARG, enable Yas-Global mode if ARG is positive;
231 otherwise, disable it.  If called from Lisp, enable the mode if
232 ARG is omitted or nil.
233
234 Yas minor mode is enabled in all buffers where
235 `yas-minor-mode-on' would do it.
236 See `yas-minor-mode' for more information on Yas minor mode.
237 (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))])
238 (defvar yas-global-mode-hook nil)
239 (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)
240 (defvar yas-minor-mode-set-explicitly nil nil)
241 (make-variable-buffer-local 'yas-minor-mode-set-explicitly)
242 (defalias 'yas-minor-mode-set-explicitly #[nil "\301\211\207" [yas-minor-mode-set-explicitly t] 2])
243 (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)
244 (defvar yas-global-mode-buffers nil)
245 (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])
246 (put 'yas-global-mode-enable-in-buffers 'definition-name 'yas-global-mode)
247 (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])
248 (put 'yas-global-mode-check-buffers 'definition-name 'yas-global-mode)
249 (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])
250 (put 'yas-global-mode-cmhh 'definition-name 'yas-global-mode)
251 #@52 Run `yas-reload-all' when `yas-global-mode' is on.
252 (defalias 'yas--global-mode-reload-with-jit-maybe #[nil "\205\301 \207" [yas-global-mode yas-reload-all] 1 (#$ . 32710)])
253 (add-hook 'yas-global-mode-hook 'yas--global-mode-reload-with-jit-maybe)
254 (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))
255 #@48 The keymap used when `snippet-mode' is active.
256 (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))
257 (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)
258 #@149 Return non-nil if current buffer should be in `snippet-mode'.
259 Meaning it's visiting a file under one of the mode directories in
260 `yas-snippet-dirs'.
261 (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)])
262 (add-to-list 'magic-fallback-mode-alist '(yas-snippet-mode-buffer-p . snippet-mode))
263 #@48 compiler-macro for inlining `yas--template-p'.
264 (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)])
265 (put 'yas--template-p 'compiler-macro 'yas--template-p--cmacro)
266 (defalias 'yas--template-p #[(cl-x) "\302!    >\205    \303\207" [cl-x cl-struct-yas--template-tags type-of t] 2])
267 (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)
268 #@50 compiler-macro for inlining `yas--template-key'.
269 (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)])
270 (put 'yas--template-key 'compiler-macro 'yas--template-key--cmacro)
271 #@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.
272 (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)])
273 (byte-code "\300\301\302\303#\300\207" [function-put yas--template-key side-effect-free t] 4)
274 #@54 compiler-macro for inlining `yas--template-content'.
275 (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)])
276 (put 'yas--template-content 'compiler-macro 'yas--template-content--cmacro)
277 #@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.
278 (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)])
279 (byte-code "\300\301\302\303#\300\207" [function-put yas--template-content side-effect-free t] 4)
280 #@51 compiler-macro for inlining `yas--template-name'.
281 (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)])
282 (put 'yas--template-name 'compiler-macro 'yas--template-name--cmacro)
283 #@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.
284 (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)])
285 (byte-code "\300\301\302\303#\300\207" [function-put yas--template-name side-effect-free t] 4)
286 #@56 compiler-macro for inlining `yas--template-condition'.
287 (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)])
288 (put 'yas--template-condition 'compiler-macro 'yas--template-condition--cmacro)
289 #@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.
290 (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)])
291 (byte-code "\300\301\302\303#\300\207" [function-put yas--template-condition side-effect-free t] 4)
292 #@57 compiler-macro for inlining `yas--template-expand-env'.
293 (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)])
294 (put 'yas--template-expand-env 'compiler-macro 'yas--template-expand-env--cmacro)
295 #@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.
296 (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)])
297 (byte-code "\300\301\302\303#\300\207" [function-put yas--template-expand-env side-effect-free t] 4)
298 #@56 compiler-macro for inlining `yas--template-load-file'.
299 (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)])
300 (put 'yas--template-load-file 'compiler-macro 'yas--template-load-file--cmacro)
301 #@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.
302 (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)])
303 (byte-code "\300\301\302\303#\300\207" [function-put yas--template-load-file side-effect-free t] 4)
304 #@56 compiler-macro for inlining `yas--template-save-file'.
305 (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)])
306 (put 'yas--template-save-file 'compiler-macro 'yas--template-save-file--cmacro)
307 #@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.
308 (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)])
309 (byte-code "\300\301\302\303#\300\207" [function-put yas--template-save-file side-effect-free t] 4)
310 #@57 compiler-macro for inlining `yas--template-keybinding'.
311 (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)])
312 (put 'yas--template-keybinding 'compiler-macro 'yas--template-keybinding--cmacro)
313 #@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.
314 (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)])
315 (byte-code "\300\301\302\303#\300\207" [function-put yas--template-keybinding side-effect-free t] 4)
316 #@51 compiler-macro for inlining `yas--template-uuid'.
317 (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)])
318 (put 'yas--template-uuid 'compiler-macro 'yas--template-uuid--cmacro)
319 #@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.
320 (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)])
321 (byte-code "\300\301\302\303#\300\207" [function-put yas--template-uuid side-effect-free t] 4)
322 #@64 compiler-macro for inlining `yas--template-menu-binding-pair'.
323 (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)])
324 (put 'yas--template-menu-binding-pair 'compiler-macro 'yas--template-menu-binding-pair--cmacro)
325 #@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.
326 (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)])
327 (byte-code "\300\301\302\303#\300\207" [function-put yas--template-menu-binding-pair side-effect-free t] 4)
328 #@52 compiler-macro for inlining `yas--template-group'.
329 (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)])
330 (put 'yas--template-group 'compiler-macro 'yas--template-group--cmacro)
331 #@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.
332 (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)])
333 (byte-code "\300\301\302\303#\300\207" [function-put yas--template-group side-effect-free t] 4)
334 #@57 compiler-macro for inlining `yas--template-perm-group'.
335 (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)])
336 (put 'yas--template-perm-group 'compiler-macro 'yas--template-perm-group--cmacro)
337 #@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.
338 (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)])
339 (byte-code "\300\301\302\303#\300\207" [function-put yas--template-perm-group side-effect-free t] 4)
340 #@52 compiler-macro for inlining `yas--template-table'.
341 (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)])
342 (put 'yas--template-table 'compiler-macro 'yas--template-table--cmacro)
343 #@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.
344 (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)])
345 (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)
346 #@196 compiler-macro for inlining `yas--make-template'.
347
348 (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)
349 (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)])
350 (put 'yas--make-template 'compiler-macro 'yas--make-template--cmacro)
351 #@176 Constructor for objects of type `yas--template'.
352
353 (fn &key KEY CONTENT NAME CONDITION EXPAND-ENV LOAD-FILE SAVE-FILE KEYBINDING UUID MENU-BINDING-PAIR GROUP PERM-GROUP TABLE)
354 (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)])
355 (byte-code "\300\301\302\303#\300\207" [function-put yas--make-template side-effect-free t] 4)
356 #@155 Constructor for objects of type `yas--template'.
357
358 (fn TABLE KEY CONTENT &optional XNAME CONDITION GROUP EXPAND-ENV LOAD-FILE XKEYBINDING XUUID SAVE-FILE)
359 (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)])
360 (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)
361 #@45 compiler-macro for inlining `yas--table-p'.
362 (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)])
363 (put 'yas--table-p 'compiler-macro 'yas--table-p--cmacro)
364 (defalias 'yas--table-p #[(cl-x) "\302!    >\205    \303\207" [cl-x cl-struct-yas--table-tags type-of t] 2])
365 (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)
366 #@48 compiler-macro for inlining `yas--table-name'.
367 (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)])
368 (put 'yas--table-name 'compiler-macro 'yas--table-name--cmacro)
369 #@97 Access slot "name" of `(yas--table (:constructor yas--make-snippet-table (name)))' struct CL-X.
370 (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)])
371 (byte-code "\300\301\302\303#\300\207" [function-put yas--table-name side-effect-free t] 4)
372 #@48 compiler-macro for inlining `yas--table-hash'.
373 (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)])
374 (put 'yas--table-hash 'compiler-macro 'yas--table-hash--cmacro)
375 #@97 Access slot "hash" of `(yas--table (:constructor yas--make-snippet-table (name)))' struct CL-X.
376 (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)])
377 (byte-code "\300\301\302\303#\300\207" [function-put yas--table-hash side-effect-free t] 4)
378 #@52 compiler-macro for inlining `yas--table-uuidhash'.
379 (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)])
380 (put 'yas--table-uuidhash 'compiler-macro 'yas--table-uuidhash--cmacro)
381 #@101 Access slot "uuidhash" of `(yas--table (:constructor yas--make-snippet-table (name)))' struct CL-X.
382 (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)])
383 (byte-code "\300\301\302\303#\300\207" [function-put yas--table-uuidhash side-effect-free t] 4)
384 #@51 compiler-macro for inlining `yas--table-parents'.
385 (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)])
386 (put 'yas--table-parents 'compiler-macro 'yas--table-parents--cmacro)
387 #@100 Access slot "parents" of `(yas--table (:constructor yas--make-snippet-table (name)))' struct CL-X.
388 (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)])
389 (byte-code "\300\301\302\303#\300\207" [function-put yas--table-parents side-effect-free t] 4)
390 #@57 compiler-macro for inlining `yas--table-direct-keymap'.
391 (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)])
392 (put 'yas--table-direct-keymap 'compiler-macro 'yas--table-direct-keymap--cmacro)
393 #@106 Access slot "direct-keymap" of `(yas--table (:constructor yas--make-snippet-table (name)))' struct CL-X.
394 (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)])
395 (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)
396 #@119 compiler-macro for inlining `make-yas--table'.
397
398 (fn CL-WHOLE &cl-quote &key NAME HASH UUIDHASH PARENTS DIRECT-KEYMAP)
399 (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)])
400 (put 'make-yas--table 'compiler-macro 'make-yas--table--cmacro)
401 #@99 Constructor for objects of type `yas--table'.
402
403 (fn &key NAME HASH UUIDHASH PARENTS DIRECT-KEYMAP)
404 (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)])
405 #@56 compiler-macro for inlining `yas--make-snippet-table'.
406 (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)])
407 (put 'yas--make-snippet-table 'compiler-macro 'yas--make-snippet-table--cmacro)
408 #@47 Constructor for objects of type `yas--table'.
409 (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)])
410 (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)
411 #@48 Find the snippet template in MODE by its UUID.
412 (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)])
413 #@50 Remove from TABLE a template identified by UUID.
414 (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)])
415 (defconst yas-maybe-expand-from-keymap '(menu-item "" yas-expand-from-keymap :filter yas--maybe-expand-from-keymap-filter))
416 #@115 Store in TABLE the snippet template TEMPLATE.
417
418 KEY can be a string (trigger key) of a vector (direct
419 keybinding).
420 (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)])
421 #@115 Add or update TEMPLATE in TABLE.
422
423 Also takes care of adding and updating to the associated menu.
424 Return TEMPLATE.
425 (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)])
426 #@41 Update every menu-related for TEMPLATE.
427 (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)])
428 #@30 Return NAMEHASH as an alist.
429 (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)])
430 #@143 Fetch templates in TABLE by KEY.
431
432 Return a list of cons (NAME . TEMPLATE) where NAME is a
433 string and TEMPLATE is a `yas--template' structure.
434 (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)])
435 (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])
436 #@283 Filter the templates using the applicable condition.
437
438 TEMPLATES is a list of cons (NAME . TEMPLATE) where NAME is a
439 string and TEMPLATE is a `yas--template' structure.
440
441 This function implements the rules described in
442 `yas-buffer-local-condition'.  See that variables documentation.
443 (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)])
444 #@105 Decide if this buffer requests/requires snippet-specific
445 conditions to filter out potential expansions.
446 (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)])
447 #@58 Evaluate CONDITION and REQUIREMENT and return a boolean.
448 (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)])
449 (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])
450 #@153 Find `yas--template' objects for any trigger keys preceding point.
451 Returns (TEMPLATES START END). This function respects
452 `yas-key-syntaxes', which see.
453 (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)])
454 #@51 Get trigger keys of all active snippets in TABLE.
455 (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)])
456 (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])
457 #@94 Tries to work around Emacs Bug#30931.
458 Helper function for `yas--save-restriction-and-widen'.
459 (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)])
460 #@91 Equivalent to (save-restriction (widen) BODY).
461 Also tries to work around Emacs Bug#30931.
462 (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)]))
463 (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)
464 #@49 Evaluate FORM and convert the result to string.
465 (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)])
466 (defalias 'yas--eval-for-effect #[(form) "\301\302\303\"!\207" [form yas--safely-call-fun apply-partially eval] 4])
467 #@178 Read STRING as a elisp expression and return it.
468
469 In case STRING in an invalid expression and NIL-ON-ERROR is nil,
470 return an expression that when evaluated will issue an error.
471 (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)])
472 #@59 Read KEYBINDING as a snippet keybinding, return a vector.
473 (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)])
474 #@56 Get or create the snippet table corresponding to MODE.
475 (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)])
476 #@194 Get snippet tables for MODE.
477
478 MODE defaults to the current buffer's `major-mode'.
479
480 Return a list of `yas--table' objects.  The list of modes to
481 consider is returned by `yas--modes-to-activate'
482 (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)])
483 #@153 Get or create the menu keymap for MODE and its PARENTS.
484
485 This may very well create a plethora of menu keymaps and arrange
486 them all in `yas--menu-table'
487 (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)])
488 #@646 Parse the template in the current buffer.
489
490 Optional FILE is the absolute file name of the file being
491 parsed.
492
493 Optional GROUP is the group where the template is to go,
494 otherwise we attempt to calculate it from FILE.
495
496 Return a snippet-definition, i.e. a list
497
498  (KEY TEMPLATE NAME CONDITION GROUP VARS LOAD-FILE KEYBINDING UUID)
499
500 If the buffer contains a line of "# --" then the contents above
501 this line are ignored. Directives can set most of these with the syntax:
502
503 # directive-name : directive-value
504
505 Here's a list of currently recognized directives:
506
507  * type
508  * name
509  * contributor
510  * condition
511  * group
512  * key
513  * expand-env
514  * binding
515  * uuid
516 (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)])
517 #@49 Calculate the group for snippet file path FILE.
518 (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)])
519 #@58 Return subdirs or files of DIRECTORY according to FILEP.
520 (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)])
521 (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])
522 (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])
523 #@56 Return a yasnippet key from a description string TEXT.
524 (defalias 'yas--key-from-desc #[(text) "\301\302\303#\207" [text replace-regexp-in-string "\\(\\w+\\).*" "\\1"] 4 (#$ . 84803)])
525 #@140 Interactively choose a template from the list TEMPLATES.
526
527 TEMPLATES is a list of `yas--template'.
528
529 Optional PROMPT sets the prompt to use.
530 (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)])
531 #@98 Interactively choose a template key from the list KEYS.
532
533 Optional PROMPT sets the prompt to use.
534 (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)])
535 #@93 Interactively choose a table from the list TABLES.
536
537 Optional PROMPT sets the prompt to use.
538 (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)])
539 #@39 Display choices in a x-window prompt.
540 (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)])
541 (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])
542 (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])
543 (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])
544 (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])
545 (defalias 'yas-no-prompt #[(_prompt choices &optional _display-fn) "@\207" [choices] 1])
546 (defvar yas--creating-compiled-snippets nil)
547 #@35 Helper for `yas-define-snippets'.
548 (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)])
549 #@827 Define SNIPPETS for MODE.
550
551 SNIPPETS is a list of snippet definitions, each taking the
552 following form
553
554  (KEY TEMPLATE NAME CONDITION GROUP EXPAND-ENV LOAD-FILE KEYBINDING UUID SAVE-FILE)
555
556 Within these, only KEY and TEMPLATE are actually mandatory.
557
558 TEMPLATE might be a Lisp form or a string, depending on whether
559 this is a snippet or a snippet-command.
560
561 CONDITION, EXPAND-ENV and KEYBINDING are Lisp forms, they have
562 been `yas--read-lisp'-ed and will eventually be
563 `yas--eval-for-string'-ed.
564
565 The remaining elements are strings.
566
567 FILE is probably of very little use if you're programatically
568 defining snippets.
569
570 UUID is the snippet's "unique-id". Loading a second snippet
571 file with the same uuid would replace the previous snippet.
572
573 You can use `yas--parse-template' to return such lists based on
574 the current buffers contents.
575 (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)])
576 #@43 Return TEMPLATE's LOAD-FILE or SAVE-FILE.
577 (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)])
578 (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])
579 #@44 Add PARENTS to the list of MODE's parents.
580 (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)])
581 #@170 Load snippets in directory hierarchy TOP-LEVEL-DIR.
582
583 Below TOP-LEVEL-DIR each directory should be a mode name.
584
585 With prefix argument USE-JIT do jit-loading of snippets.
586 (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)])
587 #@52 Recursively load snippet templates from DIRECTORY.
588 (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)])
589 (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])
590 #@87 Reload the directories listed in `yas-snippet-dirs' or
591 prompt the user to select one.
592 (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)])
593 #@267 Reload all snippets and rebuild the YASnippet menu.
594
595 When NO-JIT is non-nil force immediate reload of all known
596 snippets under `yas-snippet-dirs', otherwise use just-in-time
597 loading.
598
599 When called interactively, use just-in-time loading when given a
600 prefix argument.
601 (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)])
602 #@35 Hooks run after `yas-reload-all'.
603 (defvar yas-after-reload-hook nil (#$ . 95533))
604 (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])
605 #@26 Escape TEXT for snippet.
606 (defalias 'yas-escape-text #[(text) "\205    \301\302\303#\207" [text replace-regexp-in-string "[\\$]" "\\\\\\&"] 4 (#$ . 95968)])
607 #@148 Create .yas-compiled-snippets.el files under subdirs of TOP-LEVEL-DIR.
608
609 This works by stubbing a few functions, then calling
610 `yas-load-directory'.
611 (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?"])
612 #@42 Compile every dir in `yas-snippet-dirs'.
613 (defalias 'yas-recompile-all #[nil "\300\301\302 \"\207" [mapc yas-compile-directory yas-snippet-dirs] 3 (#$ . 96481) nil])
614 #@77 Alist of mode-symbols to forms to be evaled when `yas-minor-mode' kicks in.
615 (defvar yas--scheduled-jit-loads (make-hash-table) (#$ . 96652))
616 (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])
617 (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])
618 #@133 Get TEMPLATE's menu binding or assign it a new one.
619
620 TYPE may be `:stay', signaling this menu binding should be
621 static in the menu.
622 (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)])
623 #@76 Non-nil if TEMPLATE's menu entry was included in a `yas-define-menu' call.
624 (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)])
625 (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])
626 #@66 Recursively delete items with UUID from KEYMAP and its submenus.
627 (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)])
628 #@635 Define a snippet menu for MODE according to MENU, omitting OMIT-ITEMS.
629
630 MENU is a list, its elements can be:
631
632 - (yas-item UUID) : Creates an entry the snippet identified with
633   UUID.  The menu entry for a snippet thus identified is
634   permanent, i.e. it will never move (be reordered) in the menu.
635
636 - (yas-separator) : Creates a separator
637
638 - (yas-submenu NAME SUBMENU) : Creates a submenu with NAME,
639   SUBMENU has the same form as MENU.  NAME is also added to the
640   list of groups of the snippets defined thereafter.
641
642 OMIT-ITEMS is a list of snippet uuids that will always be
643 omitted from MODE's menu, even if they're manually loaded.
644 (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)])
645 #@31 Helper for `yas-define-menu'.
646 (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)])
647 #@302 Define a snippet.  Expanding KEY into TEMPLATE.
648
649 NAME is a description to this template.  Also update the menu if
650 `yas-use-menu' is t.  CONDITION is the condition attached to
651 this snippet.  If you attach a condition to a snippet, then it
652 will only be expanded when the condition evaluated to non-nil.
653 (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)])
654 #@94 Integrate with hippie expand.
655
656 Just put this function in `hippie-expand-try-functions-list'.
657 (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)])
658 #@203 Define a function FUNC with doc DOC and body BODY.
659 BODY is executed at most once every snippet expansion attempt, to check
660 expansion conditions.
661
662 It doesn't make any sense to call FUNC programatically.
663 (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)]))
664 (defalias 'yas-expand 'yas-expand-from-trigger-key)
665 #@258 Expand a snippet before point.
666
667 If no snippet expansion is possible, fall back to the behaviour
668 defined in `yas-fallback-behavior'.
669
670 Optional argument FIELD is for non-interactive use and is an
671 object satisfying `yas--field-p' to restrict the expansion to.
672 (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])
673 (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])
674 #@65 Directly expand some snippets, searching `yas--direct-keymaps'.
675 (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])
676 #@206 Expand one of TEMPLATES from START to END.
677
678 Prompt the user if TEMPLATES has more than one element, else
679 expand immediately.  Common gateway for
680 `yas-expand-from-trigger-key' and `yas-expand-from-keymap'.
681 (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)])
682 #@118 Fallback after expansion has failed.
683
684 Common gateway for `yas-expand-from-trigger-key' and
685 `yas-expand-from-keymap'.
686 (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)])
687 #@59 Get current keys's binding as if YASsnippet didn't exist.
688 (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)])
689 #@173 Emulate `read-key-sequence', at least what I think it does.
690
691 Keys should be an untranslated key vector.  Returns a translated
692 vector of keys.  FIXME not thoroughly tested.
693 (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)])
694 #@166 Get `yas--template' objects in TABLES, applicable for buffer and point.
695
696 Honours `yas-choose-tables-first', `yas-choose-keys-first' and
697 `yas-buffer-local-condition'
698 (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)])
699 #@47 Get the snippet called NAME in MODE's tables.
700 (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)])
701 #@229 Get the snippet named NAME in MODE's tables.
702
703 MODE defaults to the current buffer's `major-mode'.  If NOERROR
704 is non-nil, then don't signal an error if there isn't any snippet
705 called NAME.
706
707 Honours `yas-buffer-local-condition'.
708 (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)])
709 #@170 Choose a snippet to expand, pop-up a list of choices according
710 to `yas-prompt-functions'.
711
712 With prefix argument NO-CONDITION, bypass filtering of snippets
713 by condition.
714 (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"])
715 #@163 Choose a snippet to edit, selection like `yas-insert-snippet'.
716
717 Only success if selected snippet was loaded from a file.  Put the
718 visited file in `snippet-mode'.
719 (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])
720 #@38 Helper for `yas-visit-snippet-file'.
721 (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)])
722 #@50 Guess possible snippet subdirectories for TABLE.
723 (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)])
724 #@255 Try to guess suitable directories based on the current active
725 tables (or optional TABLE).
726
727 Returns a list of elements (TABLE . DIRS) where TABLE is a
728 `yas--table' object and DIRS is a list of all possible directories
729 where snippets of table might exist.
730 (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)])
731 #@74 Return a dir inside TABLE-AND-DIRS, prompts for creation if none exists.
732 (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)])
733 (defconst yas-new-snippet-buffer-name "+new-snippet+")
734 #@133 Pops a new buffer for writing a snippet.
735
736 Expands a snippet-writing snippet, unless the optional prefix arg
737 NO-TEMPLATE is non-nil.
738 (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"])
739 #@280 Given FILE, find the nearest snippet directory for a given mode.
740
741 Returns a list (MODE-SYM PARENTS), the mode's symbol and a list
742 representing one or more of the mode's parents.
743
744 Note that MODE-SYM need not be the symbol of a real major mode,
745 neither do the elements of PARENTS.
746 (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)])
747 #@77 Supporting variable for `yas-load-snippet-buffer' and `yas--visit-snippet'.
748 (defvar yas--editing-template nil (#$ . 115255))
749 #@59 Holds the current template being expanded into a snippet.
750 (defvar yas--current-template nil (#$ . 115386))
751 #@61 List of guessed modes supporting `yas-load-snippet-buffer'.
752 (defvar yas--guessed-modes nil (#$ . 115499))
753 #@56 Ask user for a snippet table, help with some guessing.
754 (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)])
755 #@219 Parse and load current buffer's snippet definition into TABLE.
756 TABLE is a symbol name passed to `yas--table-get-create'.  When
757 called interactively, prompt for the table name.
758 Return the `yas--template' object created
759 (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)])
760 #@47 Added to `after-save-hook' in `snippet-mode'.
761 (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)])
762 #@376 Load and save the snippet, then `quit-window' if saved.
763 Loading is performed by `yas-load-snippet-buffer'.  If the
764 snippet is new, ask the user whether (and where) to save it.  If
765 the snippet already has a file, just save it.
766
767 The prefix argument KILL is passed to `quit-window'.
768
769 Don't use this from a Lisp program, call `yas-load-snippet-buffer'
770 and `kill-buffer' instead.
771 (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)])
772 #@109 Test current buffer's snippet template in other buffer.
773 DEBUG is for debugging the YASnippet engine itself.
774 (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"])
775 #@62 Return all active trigger keys for current buffer and point.
776 (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)])
777 (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])
778 #@37 Display snippet tables by NAMEHASH.
779 (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])
780 #@34 Display snippets for each table.
781 (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"])
782 (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])
783 #@186 As `yas-key-syntaxes' element, look for whitespace delimited key.
784
785 A newline will be considered whitespace even if the mode syntax
786 marks it as something else (typically comment ender).
787 (defalias 'yas-try-key-from-whitespace #[(_start-point) "\300\301x\207" ["^[:space:]\n" nil] 2 (#$ . 124726)])
788 #@67 Like `yas-longest-key-from-whitespace' but take the shortest key.
789 (defalias 'yas-shortest-key-until-whitespace #[(_start-point) "\300`Sx\301U?\205 \302\207" ["^[:space:]\n" 0 again] 2 (#$ . 125028)])
790 #@202 As `yas-key-syntaxes' element, look for longest key between point and whitespace.
791
792 A newline will be considered whitespace even if the mode syntax
793 marks it as something else (typically comment ender).
794 (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)])
795 #@63 Non-nil if field has been modified by user or transformation.
796 (defvar yas-modified-p nil (#$ . 125628))
797 #@41 Non-nil if user is about to exit field.
798 (defvar yas-moving-away-p nil (#$ . 125738))
799 #@30 Contains current field text.
800 (defvar yas-text nil (#$ . 125829))
801 #@166 Search PATTERN in STR and return SUBEXPth match.
802
803 If found, the content of subexp group SUBEXP (default 0) is
804   returned, or else the original STR will be returned.
805 (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)])
806 #@114 Prompt for a string in POSSIBILITIES and return it.
807
808 The last element of POSSIBILITIES may be a list of strings.
809 (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)])
810 #@276 A snippet-aware version of `completing-read'.
811 This can be used to query the user for the initial value of a
812 snippet field.  The arguments are the same as `completing-read'.
813
814 (fn PROMPT COLLECTION &optional PREDICATE REQUIRE-MATCH INITIAL-INPUT HIST DEF INHERIT-INPUT-METHOD)
815 (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)])
816 #@29 Helper for `yas-auto-next'.
817 (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)])
818 #@58 Automatically advance to next field after eval'ing BODY.
819 (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)]))
820 (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)
821 (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])
822 #@49 Signal `yas-exception' with TEXT as the reason.
823 (defalias 'yas-throw #[(text) "\301\302C\"\207" [text signal yas-exception] 3 (#$ . 128058)])
824 (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)
825 #@92 Verify that the current field value is in POSSIBILITIES.
826 Otherwise signal `yas-exception'.
827 (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)])
828 #@120 Get the string for field with NUMBER.
829
830 Use this in primary and mirror transformations to get the text of
831 other fields.
832 (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)])
833 #@62 Return `yas-text' if that exists and is non-empty, else nil.
834 (defalias 'yas-text #[nil "\205\f\301\230?\205\f\207" [yas-text ""] 2 (#$ . 128975)])
835 #@71 Return `yas-selected-text' if that exists and is non-empty, else nil.
836 (defalias 'yas-selected-text #[nil "\205\f\301\230?\205\f\207" [yas-selected-text ""] 2 (#$ . 129133)])
837 (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])
838 (defalias 'yas-default-from-field #[(number) "?\205\302    !\207" [yas-modified-p number yas-field-value] 2])
839 #@72 Return non-nil if the point is inside a string according to font-lock.
840 (defalias 'yas-inside-string #[nil "\300`S\301\"\302\232\207" [get-char-property face font-lock-string-face] 3 (#$ . 129592)])
841 (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])
842 #@38 Overlays the currently active field.
843 (defvar yas--active-field-overlay nil (#$ . 130147))
844 #@35 List of currently active snippets
845 (defvar yas--active-snippets nil (#$ . 130243))
846 (make-variable-buffer-local 'yas--active-snippets)
847 #@48 Two overlays protect the current active field.
848 (defvar yas--field-protection-overlays nil (#$ . 130382))
849 #@60 The selected region deleted on the last snippet expansion.
850 (defvar yas-selected-text nil (#$ . 130493))
851 #@49 The column where the snippet expansion started.
852 (defvar yas--start-column nil (#$ . 130603))
853 (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)
854 #@47 compiler-macro for inlining `yas--snippet-p'.
855 (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)])
856 (put 'yas--snippet-p 'compiler-macro 'yas--snippet-p--cmacro)
857 (defalias 'yas--snippet-p #[(cl-x) "\302!    >\205    \303\207" [cl-x cl-struct-yas--snippet-tags type-of t] 2])
858 (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)
859 #@56 compiler-macro for inlining `yas--snippet-expand-env'.
860 (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)])
861 (put 'yas--snippet-expand-env 'compiler-macro 'yas--snippet-expand-env--cmacro)
862 #@105 Access slot "expand-env" of `(yas--snippet (:constructor yas--make-snippet (expand-env)))' struct CL-X.
863 (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)])
864 (byte-code "\300\301\302\303#\300\207" [function-put yas--snippet-expand-env side-effect-free t] 4)
865 #@52 compiler-macro for inlining `yas--snippet-fields'.
866 (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)])
867 (put 'yas--snippet-fields 'compiler-macro 'yas--snippet-fields--cmacro)
868 #@101 Access slot "fields" of `(yas--snippet (:constructor yas--make-snippet (expand-env)))' struct CL-X.
869 (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)])
870 (byte-code "\300\301\302\303#\300\207" [function-put yas--snippet-fields side-effect-free t] 4)
871 #@50 compiler-macro for inlining `yas--snippet-exit'.
872 (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)])
873 (put 'yas--snippet-exit 'compiler-macro 'yas--snippet-exit--cmacro)
874 #@99 Access slot "exit" of `(yas--snippet (:constructor yas--make-snippet (expand-env)))' struct CL-X.
875 (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)])
876 (byte-code "\300\301\302\303#\300\207" [function-put yas--snippet-exit side-effect-free t] 4)
877 #@48 compiler-macro for inlining `yas--snippet-id'.
878 (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)])
879 (put 'yas--snippet-id 'compiler-macro 'yas--snippet-id--cmacro)
880 #@97 Access slot "id" of `(yas--snippet (:constructor yas--make-snippet (expand-env)))' struct CL-X.
881 (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)])
882 (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)
883 #@61 compiler-macro for inlining `yas--snippet-control-overlay'.
884 (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)])
885 (put 'yas--snippet-control-overlay 'compiler-macro 'yas--snippet-control-overlay--cmacro)
886 #@110 Access slot "control-overlay" of `(yas--snippet (:constructor yas--make-snippet (expand-env)))' struct CL-X.
887 (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)])
888 (byte-code "\300\301\302\303#\300\207" [function-put yas--snippet-control-overlay side-effect-free t] 4)
889 #@58 compiler-macro for inlining `yas--snippet-active-field'.
890 (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)])
891 (put 'yas--snippet-active-field 'compiler-macro 'yas--snippet-active-field--cmacro)
892 #@107 Access slot "active-field" of `(yas--snippet (:constructor yas--make-snippet (expand-env)))' struct CL-X.
893 (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)])
894 (byte-code "\300\301\302\303#\300\207" [function-put yas--snippet-active-field side-effect-free t] 4)
895 #@67 compiler-macro for inlining `yas--snippet-previous-active-field'.
896 (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)])
897 (put 'yas--snippet-previous-active-field 'compiler-macro 'yas--snippet-previous-active-field--cmacro)
898 #@116 Access slot "previous-active-field" of `(yas--snippet (:constructor yas--make-snippet (expand-env)))' struct CL-X.
899 (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)])
900 (byte-code "\300\301\302\303#\300\207" [function-put yas--snippet-previous-active-field side-effect-free t] 4)
901 #@56 compiler-macro for inlining `yas--snippet-force-exit'.
902 (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)])
903 (put 'yas--snippet-force-exit 'compiler-macro 'yas--snippet-force-exit--cmacro)
904 #@105 Access slot "force-exit" of `(yas--snippet (:constructor yas--make-snippet (expand-env)))' struct CL-X.
905 (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)])
906 (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)
907 #@168 compiler-macro for inlining `make-yas--snippet'.
908
909 (fn CL-WHOLE &cl-quote &key EXPAND-ENV FIELDS EXIT ID CONTROL-OVERLAY ACTIVE-FIELD PREVIOUS-ACTIVE-FIELD FORCE-EXIT)
910 (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)])
911 (put 'make-yas--snippet 'compiler-macro 'make-yas--snippet--cmacro)
912 #@148 Constructor for objects of type `yas--snippet'.
913
914 (fn &key EXPAND-ENV FIELDS EXIT ID CONTROL-OVERLAY ACTIVE-FIELD PREVIOUS-ACTIVE-FIELD FORCE-EXIT)
915 (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)])
916 #@50 compiler-macro for inlining `yas--make-snippet'.
917 (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)])
918 (put 'yas--make-snippet 'compiler-macro 'yas--make-snippet--cmacro)
919 #@49 Constructor for objects of type `yas--snippet'.
920 (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)])
921 (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)
922 #@45 compiler-macro for inlining `yas--field-p'.
923 (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)])
924 (put 'yas--field-p 'compiler-macro 'yas--field-p--cmacro)
925 (defalias 'yas--field-p #[(cl-x) "\302!    >\205    \303\207" [cl-x cl-struct-yas--field-tags type-of t] 2])
926 (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)
927 #@50 compiler-macro for inlining `yas--field-number'.
928 (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)])
929 (put 'yas--field-number 'compiler-macro 'yas--field-number--cmacro)
930 #@116 Access slot "number" of `(yas--field (:constructor yas--make-field (number start end parent-field)))' struct CL-X.
931 (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)])
932 (byte-code "\300\301\302\303#\300\207" [function-put yas--field-number side-effect-free t] 4)
933 #@49 compiler-macro for inlining `yas--field-start'.
934 (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)])
935 (put 'yas--field-start 'compiler-macro 'yas--field-start--cmacro)
936 #@115 Access slot "start" of `(yas--field (:constructor yas--make-field (number start end parent-field)))' struct CL-X.
937 (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)])
938 (byte-code "\300\301\302\303#\300\207" [function-put yas--field-start side-effect-free t] 4)
939 #@47 compiler-macro for inlining `yas--field-end'.
940 (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)])
941 (put 'yas--field-end 'compiler-macro 'yas--field-end--cmacro)
942 #@113 Access slot "end" of `(yas--field (:constructor yas--make-field (number start end parent-field)))' struct CL-X.
943 (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)])
944 (byte-code "\300\301\302\303#\300\207" [function-put yas--field-end side-effect-free t] 4)
945 #@56 compiler-macro for inlining `yas--field-parent-field'.
946 (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)])
947 (put 'yas--field-parent-field 'compiler-macro 'yas--field-parent-field--cmacro)
948 #@122 Access slot "parent-field" of `(yas--field (:constructor yas--make-field (number start end parent-field)))' struct CL-X.
949 (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)])
950 (byte-code "\300\301\302\303#\300\207" [function-put yas--field-parent-field side-effect-free t] 4)
951 #@51 compiler-macro for inlining `yas--field-mirrors'.
952 (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)])
953 (put 'yas--field-mirrors 'compiler-macro 'yas--field-mirrors--cmacro)
954 #@117 Access slot "mirrors" of `(yas--field (:constructor yas--make-field (number start end parent-field)))' struct CL-X.
955 (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)])
956 (byte-code "\300\301\302\303#\300\207" [function-put yas--field-mirrors side-effect-free t] 4)
957 #@53 compiler-macro for inlining `yas--field-transform'.
958 (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)])
959 (put 'yas--field-transform 'compiler-macro 'yas--field-transform--cmacro)
960 #@119 Access slot "transform" of `(yas--field (:constructor yas--make-field (number start end parent-field)))' struct CL-X.
961 (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)])
962 (byte-code "\300\301\302\303#\300\207" [function-put yas--field-transform side-effect-free t] 4)
963 #@54 compiler-macro for inlining `yas--field-modified-p'.
964 (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)])
965 (put 'yas--field-modified-p 'compiler-macro 'yas--field-modified-p--cmacro)
966 #@120 Access slot "modified-p" of `(yas--field (:constructor yas--make-field (number start end parent-field)))' struct CL-X.
967 (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)])
968 (byte-code "\300\301\302\303#\300\207" [function-put yas--field-modified-p side-effect-free t] 4)
969 #@48 compiler-macro for inlining `yas--field-next'.
970 (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)])
971 (put 'yas--field-next 'compiler-macro 'yas--field-next--cmacro)
972 #@114 Access slot "next" of `(yas--field (:constructor yas--make-field (number start end parent-field)))' struct CL-X.
973 (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)])
974 (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)
975 #@142 compiler-macro for inlining `make-yas--field'.
976
977 (fn CL-WHOLE &cl-quote &key NUMBER START END PARENT-FIELD MIRRORS TRANSFORM MODIFIED-P NEXT)
978 (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)])
979 (put 'make-yas--field 'compiler-macro 'make-yas--field--cmacro)
980 #@122 Constructor for objects of type `yas--field'.
981
982 (fn &key NUMBER START END PARENT-FIELD MIRRORS TRANSFORM MODIFIED-P NEXT)
983 (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)])
984 (byte-code "\300\301\302\303#\300\207" [function-put make-yas--field side-effect-free t] 4)
985 #@48 compiler-macro for inlining `yas--make-field'.
986 (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)])
987 (put 'yas--make-field 'compiler-macro 'yas--make-field--cmacro)
988 #@47 Constructor for objects of type `yas--field'.
989 (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)])
990 (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)
991 #@46 compiler-macro for inlining `yas--mirror-p'.
992 (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)])
993 (put 'yas--mirror-p 'compiler-macro 'yas--mirror-p--cmacro)
994 (defalias 'yas--mirror-p #[(cl-x) "\302!    >\205    \303\207" [cl-x cl-struct-yas--mirror-tags type-of t] 2])
995 (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)
996 #@50 compiler-macro for inlining `yas--mirror-start'.
997 (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)])
998 (put 'yas--mirror-start 'compiler-macro 'yas--mirror-start--cmacro)
999 #@107 Access slot "start" of `(yas--mirror (:constructor yas--make-mirror (start end transform)))' struct CL-X.
1000 (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)])
1001 (byte-code "\300\301\302\303#\300\207" [function-put yas--mirror-start side-effect-free t] 4)
1002 #@48 compiler-macro for inlining `yas--mirror-end'.
1003 (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)])
1004 (put 'yas--mirror-end 'compiler-macro 'yas--mirror-end--cmacro)
1005 #@105 Access slot "end" of `(yas--mirror (:constructor yas--make-mirror (start end transform)))' struct CL-X.
1006 (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)])
1007 (byte-code "\300\301\302\303#\300\207" [function-put yas--mirror-end side-effect-free t] 4)
1008 #@54 compiler-macro for inlining `yas--mirror-transform'.
1009 (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)])
1010 (put 'yas--mirror-transform 'compiler-macro 'yas--mirror-transform--cmacro)
1011 #@111 Access slot "transform" of `(yas--mirror (:constructor yas--make-mirror (start end transform)))' struct CL-X.
1012 (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)])
1013 (byte-code "\300\301\302\303#\300\207" [function-put yas--mirror-transform side-effect-free t] 4)
1014 #@57 compiler-macro for inlining `yas--mirror-parent-field'.
1015 (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)])
1016 (put 'yas--mirror-parent-field 'compiler-macro 'yas--mirror-parent-field--cmacro)
1017 #@114 Access slot "parent-field" of `(yas--mirror (:constructor yas--make-mirror (start end transform)))' struct CL-X.
1018 (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)])
1019 (byte-code "\300\301\302\303#\300\207" [function-put yas--mirror-parent-field side-effect-free t] 4)
1020 #@49 compiler-macro for inlining `yas--mirror-next'.
1021 (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)])
1022 (put 'yas--mirror-next 'compiler-macro 'yas--mirror-next--cmacro)
1023 #@106 Access slot "next" of `(yas--mirror (:constructor yas--make-mirror (start end transform)))' struct CL-X.
1024 (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)])
1025 (byte-code "\300\301\302\303#\300\207" [function-put yas--mirror-next side-effect-free t] 4)
1026 #@50 compiler-macro for inlining `yas--mirror-depth'.
1027 (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)])
1028 (put 'yas--mirror-depth 'compiler-macro 'yas--mirror-depth--cmacro)
1029 #@107 Access slot "depth" of `(yas--mirror (:constructor yas--make-mirror (start end transform)))' struct CL-X.
1030 (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)])
1031 (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)
1032 #@123 compiler-macro for inlining `make-yas--mirror'.
1033
1034 (fn CL-WHOLE &cl-quote &key START END TRANSFORM PARENT-FIELD NEXT DEPTH)
1035 (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)])
1036 (put 'make-yas--mirror 'compiler-macro 'make-yas--mirror--cmacro)
1037 #@103 Constructor for objects of type `yas--mirror'.
1038
1039 (fn &key START END TRANSFORM PARENT-FIELD NEXT DEPTH)
1040 (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)])
1041 (byte-code "\300\301\302\303#\300\207" [function-put make-yas--mirror side-effect-free t] 4)
1042 #@49 compiler-macro for inlining `yas--make-mirror'.
1043 (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)])
1044 (put 'yas--make-mirror 'compiler-macro 'yas--make-mirror--cmacro)
1045 #@48 Constructor for objects of type `yas--mirror'.
1046 (defalias 'yas--make-mirror #[(start end transform) "\303\304    \n\305\211\211&\207" [start end transform record yas--mirror nil] 8 (#$ . 159949)])
1047 (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)
1048 #@44 compiler-macro for inlining `yas--exit-p'.
1049 (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)])
1050 (put 'yas--exit-p 'compiler-macro 'yas--exit-p--cmacro)
1051 (defalias 'yas--exit-p #[(cl-x) "\302!    >\205    \303\207" [cl-x cl-struct-yas--exit-tags type-of t] 2])
1052 (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)
1053 #@49 compiler-macro for inlining `yas--exit-marker'.
1054 (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)])
1055 (put 'yas--exit-marker 'compiler-macro 'yas--exit-marker--cmacro)
1056 #@91 Access slot "marker" of `(yas--exit (:constructor yas--make-exit (marker)))' struct CL-X.
1057 (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)])
1058 (byte-code "\300\301\302\303#\300\207" [function-put yas--exit-marker side-effect-free t] 4)
1059 #@47 compiler-macro for inlining `yas--exit-next'.
1060 (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)])
1061 (put 'yas--exit-next 'compiler-macro 'yas--exit-next--cmacro)
1062 #@89 Access slot "next" of `(yas--exit (:constructor yas--make-exit (marker)))' struct CL-X.
1063 (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)])
1064 (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)
1065 #@89 compiler-macro for inlining `make-yas--exit'.
1066
1067 (fn CL-WHOLE &cl-quote &key MARKER NEXT)
1068 (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)])
1069 (put 'make-yas--exit 'compiler-macro 'make-yas--exit--cmacro)
1070 #@69 Constructor for objects of type `yas--exit'.
1071
1072 (fn &key MARKER NEXT)
1073 (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)])
1074 (byte-code "\300\301\302\303#\300\207" [function-put make-yas--exit side-effect-free t] 4)
1075 #@47 compiler-macro for inlining `yas--make-exit'.
1076 (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)])
1077 (put 'yas--make-exit 'compiler-macro 'yas--make-exit--cmacro)
1078 #@46 Constructor for objects of type `yas--exit'.
1079 (defalias 'yas--make-exit #[(marker) "\301\302\303#\207" [marker record yas--exit nil] 4 (#$ . 164444)])
1080 (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)
1081 #@206 Evaluate BODY with bindings from ENV.
1082 ENV is a lisp expression that evaluates to list of elements with
1083 the form (VAR FORM), where VAR is a symbol and FORM is a lisp
1084 expression that evaluates to its value.
1085 (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)]))
1086 (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)
1087 #@99 Apply FUN to all marker (sub)fields in SNIPPET.
1088 Update each field with the result of calling FUN.
1089 (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)])
1090 #@50 Return non-nil if SNIPPET hasn't been committed.
1091 (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)])
1092 #@211 Calculate transformed string for FIELD-OR-MIRROR from FIELD.
1093
1094 If there is no transform for ht field, return nil.
1095
1096 If there is a transform but it returns nil, return the empty
1097 string iff EMPTY-ON-NIL-P is true.
1098 (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)])
1099 #@91 Replace all occurrences from FROM to TO.
1100
1101 With optional string TEXT do it in that string.
1102 (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)])
1103 (put 'yas--replace-all 'byte-optimizer 'byte-compile-inline-expand)
1104 (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])
1105 #@49 Sort the fields of SNIPPET in navigation order.
1106 (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)])
1107 #@185 Compare FIELD1 and FIELD2.
1108
1109 The field with a number is sorted first.  If they both have a
1110 number, compare through the number.  If neither have, compare
1111 through the field's start point
1112 (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)])
1113 #@45 Guess if SNIPPET's FIELD should be skipped.
1114 (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)])
1115 #@400 Return a sorted list of active snippets.
1116 The most recently-inserted snippets are returned first.
1117
1118 Only snippets overlapping the region BEG ... END are returned.
1119 Overlapping has the same meaning as described in `overlays-in'.
1120 If END is omitted, it defaults to (1+ BEG).  If BEG is omitted,
1121 it defaults to point.  A non-nil, non-buffer position BEG is
1122 equivalent to a range covering the whole buffer.
1123 (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)])
1124 (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)
1125 #@89 Try to expand a snippet at a key before point.
1126
1127 Otherwise delegate to `yas-next-field'.
1128 (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])
1129 #@72 Return non-nil if (yas-next-field ARG) would exit the current snippet.
1130 (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)])
1131 #@55 Return the Nth field after the ACTIVE one in SNIPPET.
1132 (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)])
1133 #@71 Navigate to the ARGth next field.
1134
1135 If there's none, exit the snippet.
1136 (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])
1137 #@47 Correctly place overlays for SNIPPET's FIELD.
1138 (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)])
1139 #@78 Update SNIPPET to move to field FIELD.
1140
1141 Also create some protection overlays
1142 (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)])
1143 #@61 Navigate to prev field.  If there's none, exit the snippet.
1144 (defalias 'yas-prev-field #[nil "\300\301!\207" [yas-next-field -1] 2 (#$ . 174854) nil])
1145 (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])
1146 #@30 Goto exit-marker of SNIPPET.
1147 (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)))])
1148 #@20 Exit all snippets.
1149 (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])
1150 #@79 Bind this temporarily to non-nil to prevent running `yas--on-*-modification'.
1151 (defvar yas--inhibit-overlay-hooks nil (#$ . 176121))
1152 #@51 Beginning position of the last snippet committed.
1153 (defvar yas-snippet-beg nil (#$ . 176259))
1154 #@45 End position of the last snippet committed.
1155 (defvar yas-snippet-end nil (#$ . 176358))
1156 #@87 Commit SNIPPET, but leave point as it is.
1157
1158 This renders the snippet as ordinary text.
1159 (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)])
1160 (defvar yas--snippets-to-move nil)
1161 (make-variable-buffer-local 'yas--snippets-to-move)
1162 #@55 Gather snippets in BEG..END for moving to POS in BUF.
1163 (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)])
1164 (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])
1165 (add-hook 'kill-buffer-hook 'yas--on-buffer-kill)
1166 #@57 Finish job started in `yas--prepare-snippets-for-move'.
1167 (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)])
1168 #@32 Call FUN and catch any errors.
1169 (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)])
1170 #@85 Call HOOK's functions.
1171 HOOK should be a symbol, a hook variable, as in `run-hooks'.
1172 (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)])
1173 #@105 Check if point exited the currently active field of the snippet.
1174
1175 If so cleans up the whole snippet up.
1176 (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)])
1177 #@43 Save all markers of SNIPPET as positions.
1178 (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)])
1179 #@72 Restore SNIPPET's marker positions, saved by `yas--markers-to-points'.
1180 (defalias 'yas--points-to-markers #[(snippet) "\301\302\"\207" [snippet yas--snippet-map-markers copy-marker] 3 (#$ . 181639)])
1181 #@74 Try to move to SNIPPET's active (or first) field and return it if found.
1182 (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)])
1183 (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])
1184 #@54 Return the propertized display text for field FIELD.
1185 (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)])
1186 #@43 True if some kind of undo is in progress.
1187 (defalias 'yas--undo-in-progress #[nil "\206     \302=\206     \303=\207" [undo-in-progress this-command undo redo] 2 (#$ . 182809)])
1188 #@77 Create the control overlay that surrounds the snippet and
1189 holds the keymap.
1190 (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)])
1191 #@36 Return the currently active field.
1192 (defalias 'yas-current-field #[nil "\205\301!\205\302\303\"\207" [yas--active-field-overlay overlay-buffer overlay-get yas--field] 3 (#$ . 183346)])
1193 #@111 Return CMD if at start of unmodified snippet field.
1194 Use as a `:filter' argument for a conditional keybinding.
1195 (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)])
1196 #@63 Clears unmodified FIELD if at field start, skips to next tab.
1197 (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])
1198 #@44 Clears unmodified FIELD if at field start.
1199 (defalias 'yas-clear-field #[(&optional field) "\301\206\302 !\207" [field yas--skip-and-clear yas-current-field] 2 (#$ . 184221) nil])
1200 #@129 Clears unmodified field if at field start, skips to next tab.
1201
1202 Otherwise deletes a character normally by calling `delete-char'.
1203 (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])
1204 #@140 Deletes the region of FIELD and sets it's modified state to t.
1205 If given, FROM indicates position to start at instead of FIELD's beginning.
1206 (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)])
1207 (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])
1208 #@105 Place the active field overlay in SNIPPET's FIELD.
1209
1210 Move the overlay, or create it if it does not exit.
1211 (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)])
1212 #@114 Tell if newly modified FIELD should be cleared and skipped.
1213 BEG, END and LENGTH like overlay modification hooks.
1214 (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)])
1215 #@184 Clears the field and updates mirrors, conditionally.
1216
1217 Only clears the field if it hasn't been modified and point is at
1218 field start.  This hook does nothing if an undo is in progress.
1219 (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)])
1220 (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])
1221 #@112 Place protection overlays surrounding SNIPPET's FIELD.
1222
1223 Move the overlays, or create them if they do not exit.
1224 (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)])
1225 #@63 Commit the snippet if the protection overlay is being killed.
1226 (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)])
1227 (add-to-list 'debug-ignored-errors "^Exit the snippet first!$")
1228 #@431 Expand SNIPPET at current point.
1229
1230 Text between START and END will be deleted before inserting
1231 template.  EXPAND-ENV is a list of (SYM VALUE) let-style dynamic
1232 bindings considered when expanding the snippet.  If omitted, use
1233 SNIPPET's expand-env field.
1234
1235 SNIPPET may be a snippet structure (e.g., as returned by
1236 `yas-lookup-snippet'), or just a snippet body (which is a string
1237 for normal snippets, and a list for command snippets).
1238 (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)])
1239 #@113 Commits SNIPPET, which in turn pushes an undo action for reviving it.
1240
1241 Meant to exit in the `buffer-undo-list'.
1242 (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)])
1243 #@334 Revives SNIPPET and creates a control overlay from BEG to END.
1244
1245 BEG and END are, we hope, the original snippets boundaries.
1246 All the markers/points exiting existing inside SNIPPET should point
1247 to their correct locations *at the time the snippet is revived*.
1248
1249 After revival, push the `yas--take-care-of-redo' in the
1250 `buffer-undo-list'
1251 (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)])
1252 #@96 Create a snippet from a template inserted at BEGIN to END.
1253
1254 Returns the newly created snippet.
1255 (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)])
1256 (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])
1257 (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])
1258 (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])
1259 (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])
1260 #@177 Calculate adjacencies for fields or mirrors of SNIPPET.
1261
1262 This is according to their relative positions in the buffer, and
1263 has to be called before the $-constructs are deleted.
1264 (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)])
1265 #@198 Discover if FOM is parented by some field in SNIPPET.
1266
1267 Use the tightest containing field if more than one field contains
1268 the mirror.  Intended to be called *before* the dollar-regions are
1269 deleted.
1270 (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)])
1271 #@356 Maybe advance FOM's end to NEWEND if it needs it.
1272
1273 If it does, also:
1274
1275 * call `yas--advance-start-maybe' on FOM's next fom.
1276
1277 * in case FOM is field call `yas--advance-end-maybe' on its parent
1278   field
1279
1280 Also, if FOM is an exit-marker, always call
1281 `yas--advance-start-maybe' on its next fom.  This is because
1282 exit-marker have identical start and end markers.
1283 (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)])
1284 #@111 Maybe advance FOM's start to NEWSTART if it needs it.
1285
1286 If it does, also call `yas--advance-end-maybe' on FOM.
1287 (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)])
1288 #@181 Like `yas--advance-end-maybe' but for parent fields.
1289
1290 Only works for fields and doesn't care about the start of the
1291 next FOM.  Works its way up recursively for parents of parents.
1292 (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)])
1293 #@85 When expanding the snippet the "parse-create" functions add
1294 cons cells to this var.
1295 (defvar yas--dollar-regions nil (#$ . 203507))
1296 #@41 List of markers for manual indentation.
1297 (defvar yas--indent-markers nil (#$ . 203644))
1298 #@163 Parse a recently inserted snippet template, creating all
1299 necessary fields, mirrors and exit points.
1300
1301 Meant to be called in a narrowed buffer, does various passes
1302 (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)])
1303 #@127 Returns info for restoring MARKER's location after indent.
1304 The returned value is a list of the form (MARKER REGEXP WS-COUNT).
1305 (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)])
1306 #@225 Like `yas--snapshot-marker-location' for overlays.
1307 The returned format is (OVERLAY (RE WS) (RE WS)).  Either of
1308 the (RE WS) lists may be nil if the start or end, respectively,
1309 of the overlay is outside the range BEG .. END.
1310 (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)])
1311 #@118 Return info for restoring OVERLAY's line based location.
1312 The returned format is (OVERLAY (LINE RE WS) (LINE RE WS)).
1313 (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)])
1314 #@136 Move point to location saved by `yas--snapshot-marker-location'.
1315 Buffer must be narrowed to BEG..END used to create the snapshot info.
1316 (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)])
1317 #@139 Restores marker based on info from `yas--snapshot-marker-location'.
1318 Buffer must be narrowed to BEG..END used to create the snapshot info.
1319 (defalias 'yas--restore-marker-location #[(re-marker) "\301\302A\"\210@`\303\223\207" [re-marker apply yas--goto-saved-location nil] 3 (#$ . 207043)])
1320 #@139 Restores marker based on info from `yas--snapshot-marker-location'.
1321 Buffer must be narrowed to BEG..END used to create the snapshot info.
1322 (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)])
1323 #@76 Restores overlay based on info from `yas--snapshot-overlay-line-location'.
1324 (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)])
1325 #@108 Indent the lines between FROM and TO with `indent-according-to-mode'.
1326 The SNIPPET's markers are preserved.
1327 (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)])
1328 (defvar yas--indent-original-column nil)
1329 (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])
1330 #@49 Make a list of all the markers used by SNIPPET.
1331 (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)])
1332 (defalias 'yas--escape-string #[(escaped) "\301\302\303\"\304Q\207" [escaped "YASESCAPE" format "%d" "PROTECTGUARD"] 4])
1333 #@126 Protect all escaped characters with their numeric ASCII value.
1334
1335 With optional string TEXT do it in string instead of buffer.
1336 (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)])
1337 #@130 Restore all escaped characters from their numeric ASCII value.
1338
1339 With optional string TEXT do it in string instead of the buffer.
1340 (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)])
1341 #@135 Save all "\=`(lisp-expression)\=`"-style expressions.
1342 Return a list of (MARKER . STRING) entires for each backquoted
1343 Lisp expression.
1344 (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)])
1345 #@118 Replace markers in SAVED-QUOTES with their values.
1346 SAVED-QUOTES is the in format returned by `yas--save-backquotes'.
1347 (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)])
1348 (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])
1349 #@58 Create a marker at POS with nil `marker-insertion-type'.
1350 (defalias 'yas--make-marker #[(pos) "\302 \303\223\304    \303\"\210    )\207" [pos marker make-marker nil set-marker-insertion-type] 3 (#$ . 213770)])
1351 #@51 Parse the "$>" indentation markers just inserted.
1352 (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)])
1353 #@483 Parse most field expressions in SNIPPET, except for the simple one "$n".
1354
1355 The following count as a field:
1356
1357 * "${n: text}", for a numbered field with default text, as long as N is not 0;
1358
1359 * "${n: text$(expression)}, the same with a Lisp expression;
1360   this is caught with the curiously named `yas--multi-dollar-lisp-expression-regexp'
1361
1362 * the same as above but unnumbered, (no N:) and number is calculated automatically.
1363
1364 When multiple expressions are found, only the last one counts.
1365 (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)])
1366 #@72 Parse the "${n:$(lisp-expression)}" mirror transformations in SNIPPET.
1367 (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)])
1368 #@62 Parse the simple "$n" fields/mirrors/exitmarkers in SNIPPET.
1369 (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)])
1370 #@65 Sort disjuct REGIONS by start point, then delete from the back.
1371 (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)])
1372 (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])
1373 #@36 Update all the mirrors of SNIPPET.
1374 (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)])
1375 #@58 Update MIRROR according to FIELD (and mirror transform).
1376 (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)])
1377 #@57 Much like `yas--mirror-update-display', but for fields.
1378 (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)])
1379 #@58 Handles various yasnippet conditions after each command.
1380 (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)])
1381 (put 'yas-expand 'function-documentation '(yas--expand-from-trigger-key-doc t))
1382 #@59 A doc synthesizer for `yas--expand-from-trigger-key-doc'.
1383 (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)])
1384 (put 'yas-expand-from-keymap 'function-documentation '(yas--expand-from-keymap-doc t))
1385 #@54 A doc synthesizer for `yas--expand-from-keymap-doc'.
1386 (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)])
1387 (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])
1388 (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)
1389 #@68 Final adjustments for the help buffer when snippets are concerned.
1390 (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)])
1391 (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])
1392 (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)
1393 #@76 Log level for `yas--message' 4 means trace most anything, 0 means nothing.
1394 (defvar yas-verbosity 3 (#$ . 227007))
1395 #@66 When LEVEL is at or below `yas-verbosity', log MESSAGE and ARGS.
1396 (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)])
1397 (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])
1398 (defalias 'yas--format #[(format-control &rest format-args) "\302\303\304P    #\207" [format-control format-args apply format "[yas] "] 4])
1399 #@52 Disable minor modes when calling `unload-feature'.
1400 (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)])
1401 #@63 For backward compatibility, enable `yas-minor-mode' globally.
1402 (defalias 'yas-initialize #[nil "\300\301!\207" [yas-global-mode 1] 2 (#$ . 228116)])
1403 (make-obsolete 'yas-initialize "Use (yas-global-mode 1) instead." "0.8")
1404 #@69 Backported yasnippet symbols.
1405
1406 They are mapped to "yas/*" variants.
1407 (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))
1408 (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)
1409 #@195 Exported yasnippet symbols.
1410
1411 i.e. the ones with "yas-" single dash prefix. I will try to
1412 keep them in future yasnippet versions and other elisp libraries
1413 can more or less safely rely upon them.
1414 (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))
1415 (provide 'yasnippet)