]> git.donarmstrong.com Git - lilypond.git/commitdiff
Add tips for creating minimal examples.
authorGraham Percival <graham@percival-music.ca>
Wed, 24 Jan 2007 08:22:14 +0000 (00:22 -0800)
committerJohn Mandereau <john.mandereau@gmail.com>
Thu, 25 Jan 2007 22:42:19 +0000 (23:42 +0100)
Documentation/user/running.itely
Documentation/user/working.itely

index c57510c228953b5008d96a79d3c66040e8eee81d..d728b97ce278b7ac3c9b20dd37ae045b2918f76e 100644 (file)
@@ -577,6 +577,9 @@ bug by following the directions on
 
 @uref{http://lilypond.org/web/devel/participating/bugs}
 
+Please construct submit @ref{Minimal examples} of bug reports.  We do not
+have the resources to investigate reports which are not as small as possible.
+
 
 @node Error messages
 @section Error messages
index 31ea194e2cba0f5680b2eba62a0e97c4c0d126df..e75b32e3466a0c1eb137180f853b7dc99ce061ea 100644 (file)
@@ -22,6 +22,7 @@ this chapter.
 * Style sheets::                
 * Updating old files::          
 * Troubleshooting (taking it all apart)::  
+* Minimal examples::            
 @end menu
 
 
@@ -624,4 +625,46 @@ bass = \relative c' @{
 Now start slowly uncommenting more and more of the
 @code{bass} part until you find the problem line.
 
+Another very useful debugging technique is constructing
+@ref{Minimal examples}.
+
+
+@node Minimal examples
+@section Minimal examples
+
+A minimal example is an example which is small as possible.  These
+examples are much easier to understand than long examples.  Minimal
+examples are used for
+
+@itemize
+@item Bug reports
+@item Sending a help request to mailists
+@item Adding an example to the @uref{http://lsr@/.dsi@/.unimi/2.it/,LilyPond
+Snippet Repository}
+@end itemize
+
+To construct an example which is as small as possible, the rule is
+quite simple: remove anything which is not necessary.  When trying to
+remove unnecessary parts of a file, it is a very good idea to comment
+out lines instead of deleting them.  That way, if you discover that you
+actually @emph{do} need some lines, you can un-comment them, instead of
+typing them in from scratch.
+
+There are two exceptions to the @qq{as small as possible} rule:
+
+@itemize
+@item Include the @code{\version} number.
+@item If possible, use @code{\paper@{ ragged-right=##t @}} at the
+top of your example. 
+@end itemize
+
+The whole point of a minimal example is to make it easy to read:
+
+@itemize
+@item Avoid using complicated notes, keys, or time signatures, unless you
+wish to demonstrate something is about the behavior of those items. 
+@item Do not use \override commands unless that is the point of the
+example.
+@end itemize
+