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