]> code.delx.au - gnu-emacs-elpa/blob - doc/changelog.html
Avoid too many `yas/reload' using `yas/global-mode-hook'.
[gnu-emacs-elpa] / doc / changelog.html
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">
4 <head>
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" />
9 </head>
10 <body>
11 <div class="document" id="changelog">
12 <div id="header-region" class="clear-block"></div>
13 <div id="wrapper">
14 <div id="container" class="clear-block">
15 <div id="header">
16 <div id="logo-floater">
17 <h1 class="title">ChangeLog</h1>
18 </div>
19 <ul class="primary-links">
20 <li>
21 <a title="" href="index.html">Intro and tutorial</a>
22 </li>
23 <li>
24 <a title="" href="snippet-organization.html">Howto: organize</a>
25 </li>
26 <li>
27 <a title="" href="snippet-expansion.html">Howto: expand</a>
28 </li>
29 <li>
30 <a title="" href="snippet-development.html">Howto: write </a>
31 </li>
32 <li>
33 <a title="" href="snippet-menu.html">Howto: menu </a>
34 </li>
35 <li>
36 <a title="" href="faq.html">FAQ</a>
37 </li>
38 <li>
39 <a title="" href="changelog.html">ChangeLog</a>
40 </li>
41 <li>
42 <a title="" href="http://code.google.com/p/yasnippet/downloads/list">Download</a>
43 </li>
44 </ul>
45 </div>
46 <div id="center">
47 <div id="squeeze">
48 <div class="right-corner">
49 <div class="left-corner">
50 <p>
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>.
56 </p>
57 <div class="section" id="c-2009-08-13">
58 <h1>0.6.1c / 2009-08-13</h1>
59 <ul class="simple">
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
63 wyuenho).</li>
64 <li>Added workaround for issue 97 in the FAQ</li>
65 <li>Small updates to documentation.</li>
66 </ul>
67 </div>
68 <div class="section" id="b-2009-08-29">
69 <h1>0.6.1b / 2009-08-29</h1>
70 <ul class="simple">
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 &quot;extras/&quot;)</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...&#64;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
83 Moritz Bunkus)</li>
84 <li>Fixed many more issues...</li>
85 </ul>
86 </div>
87 <div class="section" id="c-2009-07-27">
88 <h1>0.6.0c / 2009-07-27</h1>
89 <ul class="simple">
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>
94 </ul>
95 </div>
96 <div class="section" id="b-2009-07-25">
97 <h1>0.6.0b / 2009-07-25</h1>
98 <ul class="simple">
99 <li>Nested placeholders of the type <tt class="docutils literal"><span class="pre">&lt;div${1:</span> <span class="pre">id=&quot;${2:someid}&quot;}&gt;</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>
117 </ul>
118 </div>
119 <div class="section" id="id1">
120 <h1>0.5.10 / 2009-02-11</h1>
121 <ul class="simple">
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>
125 compatible.</li>
126 </ul>
127 </div>
128 <div class="section" id="id2">
129 <h1>0.5.9 / 2009-01-21</h1>
130 <ul class="simple">
131 <li>Fixed the bug of disabling the auto-indenting of <tt class="docutils literal"><span class="pre">cc-mode</span></tt>.</li>
132 </ul>
133 </div>
134 <div class="section" id="id3">
135 <h1>0.5.8 / 2009-01-15</h1>
136 <ul class="simple">
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
140 46</a>).</li>
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
144 transformation.</li>
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>
151 </ul>
152 </div>
153 <div class="section" id="id4">
154 <h1>0.5.7 / 2008-12-03</h1>
155 <ul class="simple">
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 &quot;Field-level undo functionality&quot; 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">$&gt;</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 $&gt; indenting</a>.</li>
164 </ul>
165 </div>
166 <div class="section" id="id5">
167 <h1>0.5.6 / 2008-08-07</h1>
168 <ul class="simple">
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>
176 </ul>
177 </div>
178 <div class="section" id="id6">
179 <h1>0.5.5 / 2008-05-29</h1>
180 <ul class="simple">
181 <li>Tweak <tt class="docutils literal"><span class="pre">yas/extra-mode-hooks</span></tt> so that it can be more easily
182 customized.</li>
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
184 modes.</li>
185 </ul>
186 </div>
187 <div class="section" id="id7">
188 <h1>0.5.4 / 2008-05-15</h1>
189 <ul class="simple">
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
192 in those modes.</li>
193 </ul>
194 </div>
195 <div class="section" id="id8">
196 <h1>0.5.3 / 2008-05-07</h1>
197 <ul class="simple">
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
200 Mike.</li>
201 <li>Fix a bug of condition system.</li>
202 </ul>
203 </div>
204 <div class="section" id="id9">
205 <h1>0.5.2 / 2008-04-20</h1>
206 <ul class="simple">
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>
209 </ul>
210 </div>
211 <div class="section" id="id10">
212 <h1>0.5.1 / 2008-04-14</h1>
213 <ul class="simple">
214 <li>Use a beautiful css style in the document.</li>
215 </ul>
216 </div>
217 <div class="section" id="id11">
218 <h1>0.5.0 / 2008-04-10</h1>
219 <ul class="simple">
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
227 problem now.</li>
228 <li>Several complex snippet for python-mode from Yasser included in the
229 distribution.</li>
230 </ul>
231 </div>
232 <div class="section" id="id12">
233 <h1>0.4.5 / 2008-04-07</h1>
234 <ul class="simple">
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&#64;newsmth">sunwaybupt&#64;newsmth</a> for reporting this bug.</li>
240 </ul>
241 </div>
242 <div class="section" id="id13">
243 <h1>0.4.4 / 2008-03-24</h1>
244 <ul class="simple">
245 <li>Bug fix: dropdown-list.el doesn't recognize [return] properly.</li>
246 </ul>
247 </div>
248 <div class="section" id="id14">
249 <h1>0.4.3 / 2008-03-23</h1>
250 <ul class="simple">
251 <li>Bug fix: failed to recognize user customized yas/trigger-key.</li>
252 </ul>
253 </div>
254 <div class="section" id="id15">
255 <h1>0.4.2 / 2008-03-22</h1>
256 <ul class="simple">
257 <li>Make a separate document package for release. Also make document
258 available online.</li>
259 </ul>
260 </div>
261 <div class="section" id="id16">
262 <h1>0.4.1 / 2008-03-21</h1>
263 <ul class="simple">
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>
266 </ul>
267 </div>
268 <div class="section" id="id17">
269 <h1>0.4.0 / 2008-03-20</h1>
270 <ul class="simple">
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>
277 </ul>
278 </div>
279 <div class="section" id="id18">
280 <h1>0.3.2 / 2008-03-19</h1>
281 <ul class="simple">
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>
285 </ul>
286 </div>
287 <div class="section" id="id19">
288 <h1>0.3.1 / 2008-03-17</h1>
289 <ul class="simple">
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>
291 </ul>
292 </div>
293 <div class="section" id="id20">
294 <h1>0.3.0 / 2008-03-16</h1>
295 <ul class="simple">
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">&lt;tab&gt;</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>
307 </ul>
308 </div>
309 <div class="section" id="id21">
310 <h1>0.2.3 / 2008-03-15</h1>
311 <ul class="simple">
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
315 field.</li>
316 </ul>
317 </div>
318 <div class="section" id="id22">
319 <h1>0.2.2 / 2008-03-13</h1>
320 <ul class="simple">
321 <li>Added customized face for fields and mirrors. Better in dark
322 background. And users can customize it.</li>
323 </ul>
324 </div>
325 <div class="section" id="id23">
326 <h1>0.2.1 / 2008-03-10</h1>
327 <ul class="simple">
328 <li>Fix the insert-behind problem under both Emacs 22 and Emacs 23.</li>
329 </ul>
330 </div>
331 <div class="section" id="id24">
332 <h1>0.2.0 / 2008-03-10</h1>
333 <ul class="simple">
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
336 details.</li>
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>
340 </ul>
341 </div>
342 <div class="section" id="id25">
343 <h1>0.1.1 / 2008-03-08</h1>
344 <ul class="simple">
345 <li>Add a rake task to upload to google code.</li>
346 <li>Use elisp compile-bundle function instead of python scrip</li>
347 </ul>
348 </div>
349 <div class="section" id="id26">
350 <h1>0.1.0 / 2008-03-07</h1>
351 <ul class="simple">
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>
361 </ul>
362 </div>
363 </div>
364 </div>
365 </div>
366 </div>
367 </div>
368 </div>
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"));
372 </script>
373 <script type="text/javascript">
374 try {
375 var pageTracker = _gat._getTracker("UA-10536822-1");
376 pageTracker._trackPageview();
377 } catch(err) {}
378 </script>
379 </div>
380 </body>
381 </html>