]> code.delx.au - gnu-emacs-elpa/blob - NEWS
Fix broken links in README.mdown
[gnu-emacs-elpa] / NEWS
1 Yasnippet NEWS -- history of user-visible changes.
2
3 Copyright (C) 2016 Free Software Foundation, Inc.
4 See the end of the file for license conditions.
5
6 \f
7 * 0.9.1 (est. March 2016)
8
9 ** Changes and New Features
10
11 *** Noam Postavsky is now the official yasnippet maintainer.
12
13 *** `yas-visit-snippet-file' now works for compiled snippets (see Github #597).
14
15 *** New function `yas-lookup-snippet' (see Github #595, #596).
16
17 *** .emacs.d/snippets directory is now created automatically.
18 If that value is present in `yas-snippet-dirs' (see Github #648).
19
20 *** Default value for `yas-snippet-dirs' now uses `user-emacs-directory'
21 instead of hardcoding "~/emacs.d" (see Github #632).
22
23 *** `yas-visit-snippet-file' no longer overrides `yas-prompt-functions',
24 see Github #576.
25
26 *** The defaults for prompting have changed.
27 `yas-x-prompt' is no longer present in the default value of
28 `yas-prompt-functions'.
29
30 The new function `yas-maybe-ido-prompt' (which performs ido prompting
31 if `ido-mode' is enabled) replaces `yas-ido-prompt' (which always
32 performs ido prompting). Previously the behaviour was dependent on
33 the Emacs version being used.
34
35 *** The default value of `yas-buffer-local-condition' now works for `yas-insert-snippet' too.
36 See Github #305.
37
38 *** The default value of `yas-new-snippet-default' no longer inserts `require-final-newline: nil'.
39 It was redundant, since `mode: snippet' already accomplishes the same.
40 `binding: ${4:direct-keybinding}}' is also removed, as it is hardly
41 ever wanted.
42
43 *** Snippet fields are only cleared by commands with `delete-selection' property,
44 See Github #515, #644.
45
46 *** `yas-initialize' (and backward compat alias `yas/initialize') are restored,
47 but marked obsolete, use (yas-global-mode +1) instead. See Github
48 #546, #569.
49
50 *** `yas-key-syntaxes' is much more powerful and accepts functions.
51 Enables use cases when discovering keys based on buffer syntax is not
52 good enough. See issue #497.
53
54 *** Documentation rewritten in org-mode and updated.
55 A tremendous effort by Noam Postavsky. Hopefully easier to maintain
56 and navigate. Available at <http://capitaomorte.github.io/yasnippet>.
57
58 *** Snippets are now maintained in their own repo.
59 Snippets live in Andrea Crotti's
60 <https://github.com/andreacrotti/yasnippet-snippets>. See README.md
61 for more details.
62
63 *** Textmate snippet importer moved to separate `yasmate' repo.
64 URL is <https://github.com/capitaomorte/yasmate>. See README.md for
65 more details.
66
67 *** `yas-snippet-dirs' now allows symbols as aliases to directories.
68 The added level of indirection should allow more esoteric
69 configurations (see Github #495).
70
71 *** `yas-reload-all' can now jit-load when called interactively.
72
73 *** New `yas-after-reload-hook' run after `yas-reload-all'.
74 See <https://github.com/pezra/rspec-mode/pull/75> for the discussion
75 leading up to this change.
76
77 *** New functions `yas-activate-extra-mode' and `yas-deactivate-extra-mode'.
78 These are preferable to setting `yas-extra-modes' directly in the mode
79 hook (see issue #420 for more information).
80
81 *** New variable `yas-new-snippet-default'.
82 The default snippet suggested on `yas-new-snippet' can now be
83 customized.
84
85 ** Fixed bugs
86
87 *** `yas-expand' now sets `this-command' when falling back to another command.
88 Previously it was setting `this-original-command', which does not
89 match the documented semantics. See Github #587.
90
91 *** Github #537: Be lenient to extensions operating on snippet fields.
92
93 *** Github #619: Parents of extra modes are now activated too.
94
95 *** Github #549: `yas-verbosity' is now applied to `load' calls too.
96
97 *** Github #607; avoid obscure Emacs bug triggered by overlays in *Messages* buffer.
98 It was triggered by yasnippet+flycheck+highlight-parentheses. See
99 also <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=21824>
100
101 *** Github #617; fix x prompt when snippet inserts many lines.
102
103 *** Github #618; avoid breakage if `scan-sexp' modifies match data.
104 Which it does in Emacs 25.
105
106 *** Github #562: Deleting inner numberless snippet caused an error.
107
108 *** Github #418, #536: Fix navigation to zero-length fields at snippet end.
109
110 *** Github #527, #525 and #526: Attempt to prevent "fallback loops"
111 when interactiing with other extensions that use similar fallback
112 mechanisms.
113
114 \f
115 * 0.8.0 (August 2012)
116
117 ** Changes and New Features
118
119 *** All YASnippet symbols now prefixed with `yas-'. Keep old `yas/' versions as aliases.
120
121 *** Yasnippet is now Free Software Foundation's copyright.
122
123 *** `yas-dont-activate' can be a list of functions.
124
125 *** Snippets are loaded just-in-time .
126 Thanks to Matthew Fidler for a lot of input with the implementation.
127
128 *** yasnippet-bundle.el is no longer available.
129 Use `yas-compile-directory' instead if you need the speed advantage.
130
131 *** New functions `yas-compile-directory' and `yas-recompile-all'.
132 This feature is still undocumented. Generate a
133 .yas-compiled-snippets.el file in the directory passed where snippets
134 are compiled into emacs-lisp code.
135
136 *** New `yas-verbosity' variable.
137
138 *** Interactively calling `yas-exit-snippet' exits most recently inserted snippet.
139
140 *** Using filenames as snippet triggers is deprecated.
141
142 *** Default value of `yas-show-menu-p' is `abbreviate'.
143
144 *** `yas-visit-snippet' ignores `yas-prompt-functions'.
145
146 *** `yas-buffer-local-condition' restricted to trigger-key expansions by default.
147
148 *** `yas-load-snippet-buffer' (`C-c C-c') in `snippet-mode' has been much improved.
149
150 *** New variable `yas-expand-only-for-last-commands', thanks Erik Postma.
151
152 *** New variable `yas-extra-modes' aliases old `yas/mode-symbol'.
153
154 *** New `yas-describe-tables' command.
155
156 *** New `yas-define-condition-cache' macro.
157 This defines an optimised function for placing in a `# condition:'
158 directive that will run at most once per snippet-expansion attempt.
159
160 *** Mirrors can occur inside fields.
161
162 *** New `# type: command' directive.
163 This feature is still largely undocumented.
164
165 *** A hidden .yas-setup.el is loaded if found in a snippet directory.
166
167 *** `yas-wrap-around-region' can now also be `cua' (undocumented feature).
168
169 *** Make menu groups automatically using new .yas-make-groups file.
170
171 *** Per-snippet keybindings using `# keybinding:' directive.
172
173 *** More friendly `yas-expand-snippet' calling convention.
174 This breaks backward compatibility.
175
176 *** The `# env:' directive is now `# expand-env:'.
177
178 *** Setup multiple parent modes using new .yas-parents file.
179
180 ** Fixed bugs
181
182 *** Github #281: jit-load snippets in the correct order.
183
184 *** Github #245: primary field transformations work inside nested fields.
185
186 *** Github #242: stop using the deprecated `assoc' library.
187
188 *** Github #233: show direct snippet keybindings in the menu.
189
190 *** Github #194, Googlecode 192: Compatibility with `fci-mode'.
191
192 *** Github #147, Googlecode 145: Snippets comments were getting inserted.
193
194 *** Github #141, Googlecode 139: searching buffer in embedded elisp works slightly better.
195 Issue is still open for analysis, though
196
197 *** Github #95, Googlecode 193: no more stack overflow in org-mode.
198
199 \f
200 ----------------------------------------------------------------------
201 This program is free software; you can redistribute it and/or modify
202 it under the terms of the GNU General Public License as published by
203 the Free Software Foundation; either version 3 of the License, or (at
204 your option) any later version.
205
206 This program is distributed in the hope that it will be useful, but
207 WITHOUT ANY WARRANTY; without even the implied warranty of
208 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
209 General Public License for more details.
210
211 \f
212 Local variables:
213 coding: utf-8
214 mode: outline
215 paragraph-separate: "[ \f]*$"
216 end: