]> code.delx.au - gnu-emacs-elpa/blobdiff - README.mdown
Simplify some code
[gnu-emacs-elpa] / README.mdown
index da6128423204526b2f0ec4b008fd0d376412dd24..3a956fb92f35856ab02bd3c4ddd084581e7da4e4 100644 (file)
@@ -1,3 +1,5 @@
+[![Build Status](https://travis-ci.org/capitaomorte/yasnippet.png)](https://travis-ci.org/capitaomorte/yasnippet)
+
 # Intro
 
 **YASnippet** is a template system for Emacs. It allows you to
@@ -6,12 +8,10 @@ templates. Bundled language templates include: C, C++, C#, Perl,
 Python, Ruby, SQL, LaTeX, HTML, CSS and more. The snippet syntax
 is inspired from [TextMate's][textmate-snippets] syntax, you can
 even [import](#import) most TextMate templates to
-YASnippet. Watch [a demo on YouTube][youtube-demo] or download a
-[higher resolution version][high-res-demo].
+YASnippet. Watch [a demo on YouTube][youtube-demo].
 
 [textmate-snippets]: http://manual.macromates.com/en/snippets
 [youtube-demo]: http://www.youtube.com/watch?v=ZCGmZK4V7Sg
-[high-res-demo]: http://yasnippet.googlecode.com/files/yas_demo.avi
 
 # Installation
 
@@ -39,18 +39,7 @@ In a recent emacs `M-x list-packages` is the recommended way to list and install
 ## Install with el-get
 
 El-get is a nice way to get the most recent version, too. See
-https://github.com/dimitri/el-get for instructions. Be sure to install the
-"master" branch since the 3.x series still use the old googlecode code, base.
-Consider using this "local" recipe.
-
-    (push '(:name yasnippet
-                  :website "https://github.com/capitaomorte/yasnippet.git"
-                  :description "YASnippet is a template system for Emacs."
-                  :type github
-                  :pkgname "capitaomorte/yasnippet"
-                  :features "yasnippet"
-                  :compile "yasnippet.el")
-          el-get-sources)
+https://github.com/dimitri/el-get for instructions.
 
 ## Use `yas-minor-mode` on a per-buffer basis
 
@@ -58,9 +47,7 @@ To use YASnippet as a non-global minor mode, replace `(yas-global-mode 1)` with
 `(yas-reload-all)` to load the snippet tables. Then add a call to
 `(yas-minor-mode)` to the major-modes where you to enable YASnippet.
 
-    (add-hook 'prog-mode-hook
-              '(lambda ()
-                 (yas-minor-mode)))
+    (add-hook 'prog-mode-hook #'yas-minor-mode)
 
 # Where are the snippets?
 
@@ -107,44 +94,63 @@ should be added like this to `yas-snippet-dirs`:
 
     (yas-global-mode 1) ;; or M-x yas-reload-all if you've started YASnippet already.
 
-# Documentation, issues, etc
+# Manual, issues etc
 
-Please refer to the comprehensive (albeit slightly outdated)
-[documentation][docs] for full customization
-and support.  If you find a bug, please report it on
-[the GitHub issue tracker][issues].  (please **do not** submit new issues to the old
-[googlecode tracker][googlecode tracker])
+Please refer to the comprehensive [documentation][docs] for full
+customisation and support.  If you find a bug in the code or in the
+documentation, please report it on [the GitHub issue tracker][issues].
 
 ## Important note regarding bug reporting
-If you think have found a bug, please report it clearly.  Yasnippet
-does have (lots of) bugs and your reports are very valuable. Here's
-a  [great example](https://github.com/capitaomorte/yasnippet/issues/318)
-of a bug report. It has everything needed for a sucessfull analysis and
-speedy resolution:
-
-*Before* reporting try to reproduce the bug **without** your usual
-`.emacs` (or whatever startup file you use). Do so either by starting
-emacs from the command line with the `-Q` switch, or by temporarily
-moving away your `.emacs` and creating a new smaller one just for
-reproducing the bug. Paste that file in your bug report. Paste any sequence
-of relevant shell commands before you launch Emacs.
-
-*Then*, describe steps taken to reproduce from an
-end-user perspective. Try to be as unambiguous as possible.
+
+Your bug reports are very valuable.
+
+The most important thing when reporting bugs is making sure that we have
+a way to reproduce the problem exactly like it happened to you.
+
+To do this, we need to rule out interference from external factors
+like other Emacs extensions or your own customisations.
+
+Here's an example report that "sandboxes" an Emacs session just for 
+reproducing a bug.
+
+```
+$ emacs --version
+Emacs 24.3
+$ cd /tmp/
+$ git clone https://github.com/capitaomorte/yasnippet.git yasnippet-bug
+$ cd yasnippet-bug
+$ git log -1 --oneline
+6053db0 Closes #527: Unbreak case where yas-fallback-behaviour is a list
+$ HOME=$PWD emacs -L  # This "sandboxes" your emacs, melpa configuration, etc
+
+(require 'yasnippet)
+(yas-global-mode 1)
+
+When I open a foo-mode file I can't expand foo-mode snippets! 
+OR
+I can't get yasnippet to load because frankinbogen!
+```
+
+Using `emacs -Q` or temporarily moving your `.emacs` init file to the side 
+is another way to achieve good reproducibility.
+
+Here's a
+[another example](https://github.com/capitaomorte/yasnippet/issues/318)
+of a bug report. It has everything needed for a successful analysis
+and speedy resolution.
 
 Also, don't forget to state the Emacs version (use `M-x emacs-version`) and
 the yasnippet version you are using (if using the latest from github,
 do `git log -1` in the dir).
 
 Any more info is welcome, but don't just paste a backtrace or an error
-message string you got. I'm not saying your analysis might not be
-useful but following the instructions above immediately gives me a
-clear picture of what is happening.
+message string you got, unless we ask for it.
 
 There is also a [YASnippet google group][forum]. I will keep the group
-open for reference and for discussion among users, unfortunately I
-can't guarantee a timely response, so maybe creating a github issue
-clearly marking your intent (user support/bug/feature request).
+open for reference and for discussion among users. Unfortunately I
+can't guarantee a timely response, so maybe it's better to create a
+github issue clearly marking your intent (user support/bug/feature
+request).
 
 Finally, thank you very much for using YASnippet!