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
- Further work on touches.el, to get
working; more information docstring for
method-group-mode now puts the number of
methods into the mode line.
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
- 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.
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
- Ringing plain courses from mSiRiL-mode now displays time
taken and how long it would take to ring a peal at that
- "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
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:
- 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
- Intensive teaching now takes optional starting point,
from prefix arg.
- Further work on classifying methods --
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
- 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 (
- 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
- 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.
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
- Method-related movement commands added to touch book
- Full grid editing problem with more than 12 bells
- 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
- Fixed display of place bell number at top of each column
in multi-column display style. This is controlled by a
- 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
- Changed order of prompting for printing parameters, to
get method style first, so it can suggest a layout style.
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
- 1.17 (1998-05-08)
- 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: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
- Lazy coloring in mSiRiL-mode added.
- Buggy PostScript method printing styles fixed.
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
- Added printing of background grid / dots etc, which may
be called by some method printing styles.
handbells-lead method printing styles.
mSiRiL-mode:color-buffer and called
mSiRiL-mode if hilit is not in use
mSiRiL:do-own-coloring is set. Method
marking (ephemeral method groups) integrated with
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)
- 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 (
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
with a suitable callback, rather than lots of separate
- 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.
ringing:set-keys et al (largely from
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
- 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
- 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.
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
- 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
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"
& 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
for cursor key alternatives and bell names 13, 14, 11
- Method line buffers now list similar methods (same work,
from same file).
- Wrote PostScript output version with lines drawn as
- 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
- 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
- 1.12 (1997-07-17)
- Added switch
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,
ringing:count-lead-rows, as a
mSiRiL-mode puts kind and stage of method
in mode line, after the mode name.
- Improved comments in PostScript output.
- 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
- e, E, t, and T are now prefix arguments for eleven and
twelve in mSiRiL-mode buffers. Edit moved to
l (for log).
- Touch book output command
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
W in mSiRiL-mode.
- Storage of faces (coloured fonts) revised, in
preparation for showing handstroke and backstroke
- 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
update it anyway, if you have an old one of these
- Basic PostScript output now working.
M-x ringing:count-plain-course-leads added.
- 1.10 (1997-07-11)
alternatives to left, down and right arrows, to make ringing
left-handed easier (to spread the load between the hands, to
- 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
- Fixed problem with one-character method names.
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.
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
- 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