1 <?xml version=
"1.0" encoding=
"utf-8" ?>
2 <!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3 <html xmlns=
"http://www.w3.org/1999/xhtml" xml:
lang=
"en" lang=
"en">
5 <meta http-equiv=
"Content-Type" content=
"text/html; charset=utf-8" />
6 <meta name=
"generator" content=
"Docutils 0.6: http://docutils.sourceforge.net/" />
7 <title>ChangeLog
</title>
8 <link rel=
"stylesheet" href=
"styles.css" type=
"text/css" />
11 <div class=
"document" id=
"changelog">
12 <div id=
"header-region" class=
"clear-block"></div>
14 <div id=
"container" class=
"clear-block">
16 <div id=
"logo-floater">
17 <h1 class=
"title">ChangeLog
</h1>
19 <ul class=
"primary-links">
21 <a title=
"" href=
"index.html">Intro and tutorial
</a>
24 <a title=
"" href=
"snippet-organization.html">Howto: organize
</a>
27 <a title=
"" href=
"snippet-expansion.html">Howto: expand
</a>
30 <a title=
"" href=
"snippet-development.html">Howto: write
</a>
33 <a title=
"" href=
"snippet-menu.html">Howto: menu
</a>
36 <a title=
"" href=
"faq.html">FAQ
</a>
39 <a title=
"" href=
"changelog.html">ChangeLog
</a>
42 <a title=
"" href=
"http://code.google.com/p/yasnippet/downloads/list">Download
</a>
48 <div class=
"right-corner">
49 <div class=
"left-corner">
51 <b>Important:
</b> This documentation applies to
52 the
<b>SVN trunk
</b> of YASnippet, which you
53 get
<a href=
"http://code.google.com/p/yasnippet/source/checkout">here
</a>. Documentation
54 for other versions can be found
<a title=
""
55 href=
"http://code.google.com/p/yasnippet/downloads/list">here
</a>.
57 <div class=
"section" id=
"c-2009-08-13">
58 <h1>0.6.1c /
2009-
08-
13</h1>
60 <li>Fixed
<a class=
"reference external" href=
"http://code.google.com/p/yasnippet/issues">issues
</a> 99,
98,
93,
61 90,
91,
88,
87. Thanks everybody.
</li>
62 <li>More compliant customization group
<a class=
"reference external" href=
"http://code.google.com/p/yasnippet/issues/detail?id=94">Issue94
</a>, (thanks
64 <li>Added workaround for issue
97 in the FAQ
</li>
65 <li>Small updates to documentation.
</li>
68 <div class=
"section" id=
"b-2009-08-29">
69 <h1>0.6.1b /
2009-
08-
29</h1>
71 <li>Much more powerful menu. See
<a class=
"reference external" href=
"snippet-menu.html">The YASnippet menu
</a>.
</li>
72 <li>New ways to organize snippets. See
<a class=
"reference external" href=
"snippet-organization.html">Organizing snippets
</a>.
</li>
73 <li>Added
<tt class=
"docutils literal"><span class=
"pre">yas/also-auto-indent-first-line
</span></tt> customization variable.
</li>
74 <li>Renamed directive
<tt class=
"docutils literal"><span class=
"pre">#
</span> <span class=
"pre">env:
</span></tt> to
<tt class=
"docutils literal"><span class=
"pre">#
</span> <span class=
"pre">expand-env:
</span></tt></li>
75 <li>Rewrote much of the documentation.
</li>
76 <li>Added TextMate import tool
<tt class=
"docutils literal"><span class=
"pre">textmate-import.rb
</span></tt> to to svn
77 repository (see
"extras/
")
</li>
78 <li>Added
<em>experimental
</em> bundle of textmate snippets
79 <tt class=
"docutils literal"><span class=
"pre">yasnippet-textmate-bundle.el
</span></tt></li>
80 <li>Fixed
<a class=
"reference external" href=
"http://code.google.com/p/yasnippet/issues/detail?id=74">Issue
74</a> (thanks
81 rmartin.k...
@gmail.com)
</li>
82 <li>Fixed
<a class=
"reference external" href=
"http://code.google.com/p/yasnippet/issues/detail?id=80">Issues
80 through
84</a> (thanks
84 <li>Fixed many more issues...
</li>
87 <div class=
"section" id=
"c-2009-07-27">
88 <h1>0.6.0c /
2009-
07-
27</h1>
90 <li>Now byte compiles correctly with no warnings.
</li>
91 <li>Fixed
<a class=
"reference external" href=
"http://code.google.com/p/yasnippet/issues/detail?id=68">Issue
68</a> with
92 mouse-clicking alternatives in
<tt class=
"docutils literal"><span class=
"pre">ido-mode
</span></tt>.
</li>
93 <li>Added
<tt class=
"docutils literal"><span class=
"pre">yas/also-auto-indent-first-line
</span></tt> customization variable.
</li>
96 <div class=
"section" id=
"b-2009-07-25">
97 <h1>0.6.0b /
2009-
07-
25</h1>
99 <li>Nested placeholders of the type
<tt class=
"docutils literal"><span class=
"pre"><div${
1:
</span> <span class=
"pre">id=
"${
2:someid}
"}
></span> <span class=
"pre">$
0</span></tt>.
</li>
100 <li>More robust undo/redo support.
</li>
101 <li>Stacked snippet expansion (
<em>snippet in snippet
</em>).
</li>
102 <li>Transformation on a primary field with syntax
<tt class=
"docutils literal"><span class=
"pre">${
1:default$(transform)}
</span></tt></li>
103 <li>Validations on field exit through the
<tt class=
"docutils literal"><span class=
"pre">yas/verify-value
</span></tt>
104 primary field transformation.
</li>
105 <li>Wrapping the region in the exit marker
<tt class=
"docutils literal"><span class=
"pre">$
0</span></tt> of the snippet. Use
106 <tt class=
"docutils literal"><span class=
"pre">yas/wrap-around-region
</span></tt>.
</li>
107 <li>Auto-indentation. Use
<tt class=
"docutils literal"><span class=
"pre">yas/indent-line
</span></tt> set to
<tt class=
"docutils literal"><span class=
"pre">'auto
</span></tt></li>
108 <li>Easier definition of snippets. Use
<tt class=
"docutils literal"><span class=
"pre">yas/find-snippets
</span></tt> or
109 <tt class=
"docutils literal"><span class=
"pre">yas/visit-snippet-file
</span></tt>. In the new
<tt class=
"docutils literal"><span class=
"pre">snippet-mode
</span></tt> use
110 <tt class=
"docutils literal"><span class=
"pre">yas/load-snippet-buffer
</span></tt> and
<tt class=
"docutils literal"><span class=
"pre">yas/tryout-snippet
</span></tt>.
</li>
111 <li>Customization group
<tt class=
"docutils literal"><span class=
"pre">yasnippet
</span></tt>.
</li>
112 <li>Overriding customization variables in snippets. Use the
<tt class=
"docutils literal"><span class=
"pre">env:
</span>
113 <span class=
"pre">let-form
</span></tt> template keyword.
</li>
114 <li>Fixed
<a class=
"reference external" href=
"http://code.google.com/p/yasnippet/issues/detail?id=60">Issue
60</a></li>
115 <li>Fixed
<a class=
"reference external" href=
"http://code.google.com/p/yasnippet/issues/detail?id=65">Issue
65</a></li>
116 <li>Fixed
<a class=
"reference external" href=
"http://code.google.com/p/yasnippet/issues/detail?id=56">Issue
56</a></li>
119 <div class=
"section" id=
"id1">
120 <h1>0.5.10 /
2009-
02-
11</h1>
122 <li>Added
<em>grouping
</em> support so that the snippets in the menu can be
123 groupped together.
</li>
124 <li>Make the bundle
<a class=
"reference external" href=
"http://tromey.com/elpa/index.html">ELPA
</a>
128 <div class=
"section" id=
"id2">
129 <h1>0.5.9 /
2009-
01-
21</h1>
131 <li>Fixed the bug of disabling the auto-indenting of
<tt class=
"docutils literal"><span class=
"pre">cc-mode
</span></tt>.
</li>
134 <div class=
"section" id=
"id3">
135 <h1>0.5.8 /
2009-
01-
15</h1>
137 <li>Added a
<tt class=
"docutils literal"><span class=
"pre">key
</span></tt> property in snippet definition for snippet names
138 that are not valid path name.
</li>
139 <li>Fixed some bugs of indenting (
<a class=
"reference external" href=
"http://code.google.com/p/yasnippet/issues/detail?id=44">Issue
44</a>,
<a class=
"reference external" href=
"http://code.google.com/p/yasnippet/issues/detail?id=46">Issue
141 <li>Fixed
<a class=
"reference external" href=
"http://code.google.com/p/yasnippet/issues/detail?id=45">Issue
45</a> by
142 providing a proper default value for
<tt class=
"docutils literal"><span class=
"pre">yas/buffer-local-condition
</span></tt>.
</li>
143 <li>Added helper function
<tt class=
"docutils literal"><span class=
"pre">yas/substr
</span></tt> for convenient mirror
145 <li>Make variable
<tt class=
"docutils literal"><span class=
"pre">yas/registered-snippet
</span></tt> properly initialized.
</li>
146 <li>Fixed the overlay error when overlay becomes empty (
<a class=
"reference external" href=
"http://code.google.com/p/yasnippet/issues/detail?id=49">Issue
49</a> and
147 <a class=
"reference external" href=
"http://code.google.com/p/yasnippet/issues/detail?id=48">Issue
48</a>). This
148 bug has occurred and been fixed earlier, and should not have
149 happened if we have proper regression test.
</li>
150 <li>Added a workaround for
<tt class=
"docutils literal"><span class=
"pre">c-electric-
</span></tt> serial commands (
<a class=
"reference external" href=
"http://code.google.com/p/yasnippet/issues/detail?id=27">Issue
27</a>).
</li>
153 <div class=
"section" id=
"id4">
154 <h1>0.5.7 /
2008-
12-
03</h1>
156 <li>Fixed
<a class=
"reference external" href=
"http://code.google.com/p/yasnippet/issues/detail?id=28">Issue
28</a> of
157 properly clean up snippet (by joaotavora).
</li>
158 <li>Added a new section
"Field-level undo functionality
" to correct
159 <a class=
"reference external" href=
"http://code.google.com/p/yasnippet/issues/detail?id=33">Issue
33</a>
160 (by joaotavora).
</li>
161 <li>Added some snippets from users for sql, erlang, scala, html, xml, latex, etc.
</li>
162 <li>Fixed
<a class=
"reference external" href=
"http://code.google.com/p/yasnippet/issues/detail?id=16">Issue
16</a> by adding
163 <tt class=
"docutils literal"><span class=
"pre">$
></span></tt> support. Here's the
<a class=
"reference external" href=
"http://pluskid.lifegoo.com/upload/project/yasnippet/doc/define_snippet.html#indenting">doc for $
> indenting
</a>.
</li>
166 <div class=
"section" id=
"id5">
167 <h1>0.5.6 /
2008-
08-
07</h1>
169 <li>Added a buffer local variable
<tt class=
"docutils literal"><span class=
"pre">yas/dont-activate
</span></tt> to turn off
170 <tt class=
"docutils literal"><span class=
"pre">yas/minor-mode
</span></tt> in some major modes. See
<a class=
"reference external" href=
"http://code.google.com/p/yasnippet/issues/detail?id=29">Issue
29</a>.
</li>
171 <li>Make the environment of elisp evaluation more friendly to
172 <tt class=
"docutils literal"><span class=
"pre">(current-column)
</span></tt>.
</li>
173 <li>Fixed the regular expression bug in python-mode snippets.
</li>
174 <li>Use filename or full key extension for snippet name if no
<tt class=
"docutils literal"><span class=
"pre">name
</span></tt>
175 property is defined.
</li>
178 <div class=
"section" id=
"id6">
179 <h1>0.5.5 /
2008-
05-
29</h1>
181 <li>Tweak
<tt class=
"docutils literal"><span class=
"pre">yas/extra-mode-hooks
</span></tt> so that it can be more easily
183 <li>Add an entry in FAQ about why
<tt class=
"docutils literal"><span class=
"pre">TAB
</span></tt> key doesn't work in some
187 <div class=
"section" id=
"id7">
188 <h1>0.5.4 /
2008-
05-
15</h1>
190 <li>Added
<tt class=
"docutils literal"><span class=
"pre">ox-mode-hook
</span></tt> and
<tt class=
"docutils literal"><span class=
"pre">python-mode-hook
</span></tt> to
191 <tt class=
"docutils literal"><span class=
"pre">yas/extra-mode-hooks
</span></tt> to fix the problem YASnippet is not enabled
195 <div class=
"section" id=
"id8">
196 <h1>0.5.3 /
2008-
05-
07</h1>
198 <li>Fix indent of python-mode snippets.
</li>
199 <li>Fix a bug of dropdown-list: conflicts with color-theme (
<a class=
"reference external" href=
"http://code.google.com/p/yasnippet/issues/detail?id=23">Issue
23</a>). Thanks
201 <li>Fix a bug of condition system.
</li>
204 <div class=
"section" id=
"id9">
205 <h1>0.5.2 /
2008-
04-
20</h1>
207 <li>Fix a bug for comparing string to symbol using
<tt class=
"docutils literal"><span class=
"pre">string=
</span></tt> (which
208 will fire an error).
</li>
211 <div class=
"section" id=
"id10">
212 <h1>0.5.1 /
2008-
04-
14</h1>
214 <li>Use a beautiful css style in the document.
</li>
217 <div class=
"section" id=
"id11">
218 <h1>0.5.0 /
2008-
04-
10</h1>
220 <li>Integrate with hippie-expand. Just add
<tt class=
"docutils literal"><span class=
"pre">yas/hippie-try-expand
</span></tt> to
221 <tt class=
"docutils literal"><span class=
"pre">hippie-expand-try-functions-list
</span></tt>.
</li>
222 <li>If you set
<tt class=
"docutils literal"><span class=
"pre">yas/fall-back-behavior
</span></tt> to
<tt class=
"docutils literal"><span class=
"pre">'return-nil
</span></tt>, YASnippet
223 will return nil when it can't find a snippet to expand.
</li>
224 <li>Defect fix: the condition of a snippet was evaluated twice in
225 earlier version.
</li>
226 <li>Deleting snippet (using
<tt class=
"docutils literal"><span class=
"pre">C-w
</span></tt> or
<tt class=
"docutils literal"><span class=
"pre">C-k
</span></tt>) won't cause serious
228 <li>Several complex snippet for python-mode from Yasser included in the
232 <div class=
"section" id=
"id12">
233 <h1>0.4.5 /
2008-
04-
07</h1>
235 <li>Merge the latest dropdown-list.el.
</li>
236 <li>Add snippets for f90-mode from Li Zhu.
</li>
237 <li>Bug fix: l-safe-expr-p: Lisp nesting exceeds
<tt class=
"docutils literal"><span class=
"pre">max-lisp-eval-depth
</span></tt>
238 error when several (more than two) snippets overlaps. Thanks
239 <a class=
"reference external" href=
"mailto:sunwaybupt@newsmth">sunwaybupt
@newsmth
</a> for reporting this bug.
</li>
242 <div class=
"section" id=
"id13">
243 <h1>0.4.4 /
2008-
03-
24</h1>
245 <li>Bug fix: dropdown-list.el doesn't recognize [return] properly.
</li>
248 <div class=
"section" id=
"id14">
249 <h1>0.4.3 /
2008-
03-
23</h1>
251 <li>Bug fix: failed to recognize user customized yas/trigger-key.
</li>
254 <div class=
"section" id=
"id15">
255 <h1>0.4.2 /
2008-
03-
22</h1>
257 <li>Make a separate document package for release. Also make document
258 available online.
</li>
261 <div class=
"section" id=
"id16">
262 <h1>0.4.1 /
2008-
03-
21</h1>
264 <li>Make sure
<tt class=
"docutils literal"><span class=
"pre">yas/minor-mode
</span></tt>'s key bindings always take priority to
265 other minor modes.
</li>
268 <div class=
"section" id=
"id17">
269 <h1>0.4.0 /
2008-
03-
20</h1>
271 <li>Document refinement and released with YASnippet. Most of the Online
272 wiki document will be deprecated soon.
</li>
273 <li>Powerful condition system added to yasnippet!
</li>
274 <li>Incorporate
<tt class=
"docutils literal"><span class=
"pre">dropdown-list.el
</span></tt> and make it default way for
275 selecting multiple candidates. Thanks to
<a class=
"reference external" href=
"http://groups.google.com/group/smart-snippet/browse_thread/thread/c869158b76addeb3/e7c6372ba457189e">Jaeyoun Chung
</a>.
</li>
276 <li>yas/before-expand-snippet-hook
</li>
279 <div class=
"section" id=
"id18">
280 <h1>0.3.2 /
2008-
03-
19</h1>
282 <li>Enhancement: A better way to define minor-mode. Thanks to Kentaro
283 Kuribayashi. See
<a class=
"reference external" href=
"https://groups.google.com/group/smart-snippet/browse_thread/thread/65cb3b5583eda887?hl=en">this thread
</a>
284 for more details.
</li>
287 <div class=
"section" id=
"id19">
288 <h1>0.3.1 /
2008-
03-
17</h1>
290 <li>Bug fix: Emacs get confused when a field is deleted. See
<a class=
"reference external" href=
"http://code.google.com/p/yasnippet/issues/detail?id=10">issue
10</a>.
</li>
293 <div class=
"section" id=
"id20">
294 <h1>0.3.0 /
2008-
03-
16</h1>
296 <li>Add a
<tt class=
"docutils literal"><span class=
"pre">yas/after-exit-snippet-hook
</span></tt> so that you can do something like
297 <tt class=
"docutils literal"><span class=
"pre">indent-region
</span></tt> or
<tt class=
"docutils literal"><span class=
"pre">fill-region
</span></tt> after finish the snippet.
</li>
298 <li>Use minor-mode instead of
<tt class=
"docutils literal"><span class=
"pre">global-set-key
</span></tt> to bind the trigger
299 key. Now the trigger key and fall-back behavior can be more
300 flexible. Not constrained to
<tt class=
"docutils literal"><span class=
"pre"><tab
></span></tt>. Thanks to Trey Jackson. See
301 this
<a class=
"reference external" href=
"https://groups.google.com/group/smart-snippet/browse_thread/thread/937f32a2a6dea4f2?hl=en">thread
</a>
302 for more details.
</li>
303 <li>Now user can customize the popup function for selecting multiple
304 candidate for the same snippet key.
</li>
305 <li>Support
<tt class=
"docutils literal"><span class=
"pre">dropdown-list.el
</span></tt> to be a better way to select multiple
306 candidate when in text mode.
</li>
309 <div class=
"section" id=
"id21">
310 <h1>0.2.3 /
2008-
03-
15</h1>
312 <li>Bug in non-window (-nw) mode when there's multiple candidate to
313 expand. See
<a class=
"reference external" href=
"http://code.google.com/p/yasnippet/issues/detail?id=7">issue
7</a>.
</li>
314 <li>Allow expanding another snippet as long as not currently inside a
318 <div class=
"section" id=
"id22">
319 <h1>0.2.2 /
2008-
03-
13</h1>
321 <li>Added customized face for fields and mirrors. Better in dark
322 background. And users can customize it.
</li>
325 <div class=
"section" id=
"id23">
326 <h1>0.2.1 /
2008-
03-
10</h1>
328 <li>Fix the insert-behind problem under both Emacs
22 and Emacs
23.
</li>
331 <div class=
"section" id=
"id24">
332 <h1>0.2.0 /
2008-
03-
10</h1>
334 <li>Use big keymap overlay to detect
<tt class=
"docutils literal"><span class=
"pre">insert-behind
</span></tt> event manually to
335 avoid sometimes missed hook calls. See
<a class=
"reference external" href=
"http://code.google.com/p/yasnippet/issues/detail?id=3">issue
3</a> for more
337 <li>Support parent snippet table. Now you can set (for example)
338 <tt class=
"docutils literal"><span class=
"pre">cc-mode
</span></tt> as common mode for
<tt class=
"docutils literal"><span class=
"pre">c++-mode
</span></tt>,
<tt class=
"docutils literal"><span class=
"pre">c-mode
</span></tt> and
339 <tt class=
"docutils literal"><span class=
"pre">java-mode
</span></tt>. They'll share snippets defined for
<tt class=
"docutils literal"><span class=
"pre">cc-mode
</span></tt>.
</li>
342 <div class=
"section" id=
"id25">
343 <h1>0.1.1 /
2008-
03-
08</h1>
345 <li>Add a rake task to upload to google code.
</li>
346 <li>Use elisp compile-bundle function instead of python scrip
</li>
349 <div class=
"section" id=
"id26">
350 <h1>0.1.0 /
2008-
03-
07</h1>
352 <li>Embedded elisp support.
</li>
353 <li>Fields navigation support.
</li>
354 <li>Mirror of fields support.
</li>
355 <li>Menu-bar support.
</li>
356 <li>Multiple snippets with same name support.
</li>
357 <li>Popup menu for multiple snippet with same name support.
</li>
358 <li>Transformation of fields support.
</li>
359 <li>Load directory support.
</li>
360 <li>Compile bundle support.
</li>
369 <script type=
"text/javascript">
370 var gaJsHost = ((
"https:" == document.location.protocol) ?
"https://ssl." :
"http://www.");
371 document.write(unescape(
"%3Cscript src='" + gaJsHost +
"google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
373 <script type=
"text/javascript">
375 var pageTracker = _gat._getTracker(
"UA-10536822-1");
376 pageTracker._trackPageview();