Emacs ringing system: program changes
I started this change log at version 1.08. Not all changes are
listed here, but I'll do my best to mention fixes for
externally-reported bugs (which are listed on the bugs page). See also the wishlist page.
  -  1.26 (unreleased)
  
 - 
       
	 -  
microSiRiL:methods-in-files, the alist of
	      files to alists of method name to method data, is now
	      stored using the file-truename of each
	      file, to avoid duplication that was occurring when using
	      mSiRiL-mode on files accessed by a route
	      other than method-library:directory.
	  -  Further work on touches.el, to get 
deftouch
	      working; more information docstring for
	      deftouch.
	  -  
method-group-mode now puts the number of
	      methods into the mode line.
	  -  Flag 
mSiRiL-mode:identify-above-below now
	      available, to turn on trying to describe methods in
	      terms of familiar methods (from group
	      naming-%d) above and below the treble.
	  -  The method data structure now stores the name of the
	      file from which that method came.
	 
 -  Added method locating commands (bound to M-.
	      like a tag locator) in touch book and method group
	      modes.
       
 
   -  1.25 (1999-02-05)
  
 -  
       
	 -  Fixed some bugs, including timeout when teaching.
	 
 -  Display of methods now lists other methods that have the
	      same work but different half-lead, as well as those with
	      the same work but different lead-end.
	 
 -  Added 
ringing:quiz-at-stage, to quiz the
	      user on leads of methods they want to learn at a
	      particular stage. If run from in a shell buffer, this
	      shows you the shell buffer briefly after each lead, so
	      you can use it while waiting for a long compilation to
	      finish.
	  -  Ringing plain courses from mSiRiL-mode now displays time
	      taken and how long it would take to ring a peal at that
	      pace.
	 
 -  "Leads in improving order" commands can now parse place
	      bell numbers higher than 9
	 
 -  Improved documentation for intensive teaching and for
	      the touch book.
	 
 -  Touch book display is now colored, and has a mark
	      command (
m) to mark all leads of the method
	      under point -- this also happens implicitly whenever you
	      do a method-related movement command within the buffer,
	      or try ringing or displaying a method from the buffer.
	  -  Rounds row constructed for PostScript output now
	      suppresses changing observation bell to an asterisk, and
	      doesn't colour the row.
	 
 -  
method-group-mode now has command for
	      quizzing the user at random, re-teaching them leads that
	      they don't do well enough. New variable:
	      ringing:quiz-acceptable-faults.
        
   -  1.24 (1998-09-18)
  
 -  
       
	 -  Fix problems with labelling columns. However, there is
	      now a problem with not labelling them.
	 
 -  Fix incorrect and superfluous second attempt at adding
	      lead end to place notation labelling in PostScript
	      output.
	 
 -  Intensive teaching now takes optional starting point,
	      from prefix arg.
	 
 -  Further work on classifying methods --
	      
ringing:method-regular-p implemented.
	  -  
method-group-mode re-parses the buffer if
	      you re-write it to the file. A few other small changes
	      in that area, too.
	  -  Made the colouring code not object on a monochrome
	      (TTY-only) emacs.
       
 
   -  1.23 (1998-07-16)
  
 -  
       
	 -  Made reading of user keystrokes not apply timeout on the
	      first row of a touch (so they have time to read the
	      buffer header, etc).
       
 
   -  1.22 (1998-06-19)
  
 - 
       
	 -  Added calling practice (
M-x
	      ringing:call-touch in calling.el).
	  -  Setting the entire configuration on the first run after
	      installation is no longer required.
	 
 -  As well as producing a method group dynamically from the
	      whole touch book, it can now produce a group for all the
	      methods from the touch book that are at a particular
	      stage.
       
 
 
   -  1.21 (1998-06-09)
  
 -  
       
	 -  Made timeout work in random teaching.
	 
 -  Created a file to hold parser for Central Council Method
	      Collections files, as a place-holder to remind me to
	      fill it in -- nothing in it yet.
       
 
   -  1.20 (1998-06-05)
  
 -  
       
	 -  Some changes to how the touch book is maintained.
	 
 -  Added colouring of bell under point in full-grid-mode.
	 
 -  
place-notation:recreate-string-from-changes
	      now includes the lead end in its output. Also, fixed bug
	      in this routine that showed only on some methods -- not
	      sure whether the bug was already there before this set
	      of changes, though.
	  -  Added warning on disturbing treble path in full-grid-mode.
	 
 -  Fixed bug with moves in left margin in full-grid-mode.
	 
 -  Added saving to file, printing and previewing in full-grid-mode.
	 
 -  placenotation-mode renamed to full-grid-mode.
	 
 -  Column headings in ringing from commands with completion
	      fixed.
	 
 -  Method-related movement commands added to touch book
	      mode.
	 
 -  Full grid editing problem with more than 12 bells
	      fixed.
       
 
   -  1.19 (1998-05-12)
  
 -  
       
	 -  Tidied up various warnings about free variables.
	 
 -  Added display of place bell number and method at top of
	      single-lead teaching buffers, controlled by
	      
ringing:label-columns.
	  -  Fixed display of place bell number at top of each column
	      in multi-column display style. This is controlled by a
	      new variable, 
ringing:label-columns.
	  -  Fixed the text sizing for circular printing style.
	 
 -  Improved the PostScript styles sampler; it now uses the
	      suggested layout style for each method printing style
	      that suggests a layout style.
	 
 -  Added default parameters local variable to styles, so
	      they can be used non-interactively (initially, from the
	      sampler generator).
	 
 -  Changed order of prompting for printing parameters, to
	      get method style first, so it can suggest a layout style.
	 
 -  Fixed 
landscape-n-by-m group style.
	  -  Added DWIM function for method editing mode, and bound
	      it to a mouse button.
       
 
   -  1.18 (1998-05-08)
  
 -  
         -  Changed regexp for matching mSiRiL lines, to allow 
25z etc --
              previously it was allowing only one digit there.
          -  Some fixes and improvements in full grid editor. I think it's still
              pretty shaky, but prettier than it was (giant cursor now works much
              of the time).
         
 -  Workround for some versions of emacs not defining 
load-file-name.
        
   -  1.17 (1998-05-08)
  
 -  
       
	 -  Added 
M-x method-groups:ftp-groups.
	  -  Small fixes on method grid editing / exploration.
	 
 -  Further work on
	      
microSiRiL:parse-whole-files making it not
	      read whole files unless you want it to. If
	      microSiRiL:parse-whole-files is
	      nil,
	      microSiRiL:method-from-file searches for a
	      method in the file, instead of reading the whole file
	      into an alist and searching that.
	  -  Overhaul of some of the method-groups code.
	 
 -  Teaching code has "space to start" rather than "any key
	      to start".
	 
 -  Lazy coloring in mSiRiL-mode added.
	 
 -  Buggy PostScript method printing styles fixed.
	 
 -  
ringing:postscript-styles-sampler (in
	      test.el, which you have to load explicitly) fixed.
	  -  mSiRiL-mode buffers now go on the list of ringing
	      buffers, so they can be hidden.
	 
 -  
ringing:hide-buffers added (as requested, a
	      "The boss is coming" command but without actually
	      killing the buffers).
	  -  Some of the PostScript configuration moved to a separate
	      file.
	 
 -  Added printing of background grid / dots etc, which may
	      be called by some method printing styles.
	 
 -  Added 
handbells-course and
	      handbells-lead method printing styles.
	  -  Added 
method-library:ftp-libraries.
	  -  Added 
mSiRiL-mode:color-buffer and called
	      it from mSiRiL-mode if hilit is not in use
	      and mSiRiL:do-own-coloring is set. Method
	      marking (ephemeral method groups) integrated with
	      this. Removed hilit code.
	  -  
mSiRiL-mode sets buffer to read-only.
	  -  Prefix argument to mSiRiL-mode printing / previewing
	      commands sets which bell to mark.
	 
 -  mSiRiL-mode printing / previewing commands separated.
	 
 -  Timeout on interactive ringing (providing correct stroke
	      if none given in specified time, but logging an error)
	      implemented properly.
	 
 -  PostScript line joins controlled to avoid spikes.
       
 
   -  1.16 (1998-01-24)
  
 -  
       
	 -  Helper functions to return list including method, rather
	      than just the method, so they can do method splicing by
	      
rplaca on the list.
	  -  Multiple page PostScript output for groups -- some
	      group styles print a set number of methods per page, go
	      onto further pages as required to print all the methods
	      in the group.
	 
 -  Printing system calls previewer if one is defined.
	 
 -  Printing system more flexible, allowing preset layout
	      sizes, and including prompting for them. Old title style
	      files will no longer work, as there are extra arguments
	      to their main routine (
nrows and
	      nbells, to let them choose a drawing area
	      giving a set size per bell and per row).
	  -  
ringing:teach-with-mad-conductor changed to
	      work as a single call to ringing:ring-touch
	      with a suitable callback, rather than lots of separate
	      leads.
	  -  Further work on parsing touches.
	 
 -  Added interactive ringing of touches.
	 
 -  Added variable /observation to the per-method defined
	      PostScript variables produced by
	      ringing:postscript-for-one-method, and started
	      associated changes in line-plotting style files.
	 
 -  Integrated ringing-cus.el (contributed).
	 
 -  PostScript output now bundles everything into resource
	      dictionaries, in preparation for method definitions,
	      output formats and so on to sort out the layout between
	      them by callbacks.
	 
 -  Added 
ringing:set-keys et al (largely from
	      user contribution).
	  -  Added
	      
place-notation:create-fully-expanded-from-changes
	      which produces output suitable for pasting into Method Maker URLs.
        
   -  1.15 (1997-08-14)
  
 -  
       
	 -  Method groups now use defstructs, and store additional
	      information such as printing defaults.
	 
 -  Methods in groups may have letters for selecting from
	      touch notation.
	 
 -  Course bell display on-screen.
	 
 -  Course bell display in PostScript too.
	 
 -  Method group printing asks for title of ephemeral method
	 
 -  PostScript printing allows fonts to be set from options
	 
 -  Ordinary display ringing code insists that either lines
	      or numbers (or both) are drawn, instead of getting an
	      error if both are switched off.
	 
 -  Changed handling of upper and lower case letters for
	      bells above ten, thus fixing a problem.
	 
 -  Negative prefix args in mSiRiL-mode switch choice of
	      bell to mark back to automatic.
       
 
   -  1.14 (1997-07-31)
  
 -  
       
	 -  Added compact-line PostScript output.
	 
 -  Added full grid PostScript output.
	 
 -  Added stereogram full grid PostScript output.
	 
 -  Implemented ephemeral groups (marking methods in
	      mSiRiL-mode buffers).
	 
 -  Listing of similar methods made optional, as it involves
	      parsing the whole file, which is an unwanted delay for
	      those who just use the mSiRiL-mode commands that apply
	      to just the method under point.
	 
 -  Added 
touch-book:revise-my-methods.
	  -  Added 
method-group:group-stage to work out
	      what stage a group (given by name) is at, if specified;
	      and called this from the prompter for printing groups.
	  -  Added Method-300 style PostScript output, i.e. making
	      places goes twice as far down the page as any other
	      change.
	 
 -  Improved documentation.
       
 
   -  1.13 (1997-07-28)
  
 -  
       
	 -  As well as the cursor keys and the row of letters
	      
zxc for moving up, down or making places,
	      the rows of letters qwe and
	      qwd now do the same, to help minimize RSI
	      by making a variety of `typing' positions possible.
	  -  
ringing:find-constructed-method now works,
	      implementing the names
	      
		-  "A above the treble"
		
 -  "B below the treble"
		
 -  "A with B"
		
 -  "A/B" which is equivalent to
		     "A above the treble with B below the treble"
	      
 
	  -  
mSiRiL-mode:popup-combined-method-lines
	      (bound to & in mSiRiL-mode by default)
	      combines the method at point (for above the treble) with
	      the method at the mark (for below the treble) and
	      displays the resulting method.
	  -  Separated out keys 
cde and CDE
	      for cursor key alternatives and bell names 13, 14, 11
	      respectively.
	  -  Method line buffers now list similar methods (same work,
	      from same file).
	 
 -  Wrote PostScript output version with lines drawn as
	      single paths.
	 
 -  One-column PostScript output added.
	 
 -  wishlist.html added.
	 
 -  PostScript output with just the lines, spreading to take
	      the whole bounding box of the clipping rectangle, in one
	      column, added.
	 
 -  Landscape format PostScript output added. This is done
	      as a title style, and so can be applied on top of any of
	      the method-plotting styles.
	 
 -  Method groups PostScript output added.
	 
 -  Circular PostScript output added.
	 
 -  Italic backstrokes in PostScript added.
	 
 -  Touch book contents also available as a method group.
	 
 -  All methods attempted this session available as a method
	      group.
       
 
   -  1.12 (1997-07-17)
  
 - 
       
	 -  Added switch
	      
method-library:full-progress-messages in
	      hope of speeding up the library scanning. Didn't make a
	      lot of difference, at least on my NT machine; might well
	      have more effect on X or a plain terminal connection,
	      though.
	  -  Added 
ringing:count-lead-rows, as a
	      companion to ringing:count-plain-course-leads.
	  -  
mSiRiL-mode puts kind and stage of method
	      in mode line, after the mode name.
	  -  Improved comments in PostScript output.
	 
 -  Added 
method-library:proper-file-for-method.
	  -  Made
	      
place-notation:recreate-string-from-changes
	      understand symmetry.
	  -  PostScript output scales itself vertically as well as
	      horizontally, if still too tall for the page once
	      horizontal scaling has been done.
	 
 -  Added prefix keys for bells 13-16 in mSiRiL-mode.
       
 
   -  1.11 (1997-07-16)
  
 - 
       
	 -  A touch which you stand before making any mistakes, when
	      ringing interactively from mSiRiL-mode, no longer counts
	      in the touch book as having been rung perfectly.
	 
 -  mSiRiL-mode munges names like the completion code now.
	 
 -  Plain courses are now also recorded lead-by-lead in the
	      touch book.
	 
 -  e, E, t, and T are now prefix arguments for eleven and
	      twelve in mSiRiL-mode buffers. Edit moved to 
M-e, and
	      touch-book to l (for log).
	  -  Touch book output command 
M-x
	      touch-book:list-my-methods now takes optional
	      prefix argument, to include lead-by-lead detail in the output.
	  -  
M-x touch-book:worst-leads-first and
	      M-x touch-book:teach-worst-lead added, and
	      bound to w and W in mSiRiL-mode.
	  -  Storage of faces (coloured fonts) revised, in
	      preparation for showing handstroke and backstroke
	      differently.
	 
 -  Handstrokes and backstrokes shown differently, as an
	      option controlled by
	      
ringing:mark-backstroke. This uses italic
	      if an italic version of the default font is available,
	      otherwise underline. I didn't like the underline at
	      first, but on further thought, it groups the rows nicely
	      into pairs, handstroke then backstroke, then a line
	      before the next handstroke and backstroke.
	  -  There is now a set of commands for handling a buffer of
	      leads sorted in improving order of how well you have
	      rung them (average so far). You get into this from
	      
touch-book:worst-leads-first, and once in
	      it can press return to re-learn a particular lead, after
	      which the buffer is updated; or type g to
	      update it anyway, if you have an old one of these
	      buffers around.
	  -  Basic PostScript output now working.
	 
 -  
M-x ringing:count-plain-course-leads added.
        
   -  1.10 (1997-07-11)
  
 - 
       
	 -  Added 
z, x, and c as
	      alternatives to left, down and right arrows, to make ringing
	      left-handed easier (to spread the load between the hands, to
	      reduce RSI).
	  -  Added bugs.html.
	 
 -  Plotting lines in mSiRiL-mode allows optional / prefix
	      argument to indicate which bell's line to mark, and
	      remembers that for that method.
	 
 -  Renamed some symbols that didn't having a pseudo-package
	      (
ringing:* etc).
	  -  Added 
M-x ringing:teach-lead-until-perfect
	  -  Fixed problem with one-character method names.
	 
 -  Added 
M-x method-library:load-all-files, so you can
	      pre-load all the methods, write things that scan through
	      all known methods to gather statistics, etc.
	  -  Added 
teach-ringing:test-previous-leads and the code
	      that it controls.
	  -  Added history recording.
	 
 -  mSiRiL-mode has hilit feature (contributed).
	 
 -  mSiRiL-mode now uses 
suppress-keymap, so you can't
	      accidentally type things into the buffer; this also
	      means numeric arguments (for which place bell to start
	      on) can be typed without universal-argument
	      (\C-u).
        
   -  1.09 (1997-07-04)
  
 - 
       
	 -  Fixed parsing of mSiRiL place notation beginning with
	      
+
        
   -  1.08 (1997-07-03)
  
 - 
       
	 -  Added underlining of user faults
       
 
 
  
  
Back to emacs-ringing index.
John C. G. Sturdy
Last modified: Thu Mar 11 09:45:41 1999