Richard Stallman wrote: > > 1) Remove all non-default key bindings in the tutorial. I used that > > approach from the beginning so I have code for that. > > > > I don't like the approach of having the tutorial teach standard > > bindings in an Emacs where they won't work. > > > I can see four main possibilities: > > 1) Like above, but you do not like that option > > It is not a very useful thing to do. Anyway, the user can turn off > the nonstandard bindings and run the tutorial, by running `emacs -q'. > > 2) Keep the nonstandard bindings and tell the user about it. This can be > done the way Kim suggested (a small yellow screen with a details link). > The changed bindings can be marked in the tutorial text or they can be > marked and replaced. > > There is nothing inherently bad about offering this possibility is no > harm in itself. But people pointed out various inconveniences of the > attempt to do it. > > 3) A combination of 1 and 2. Let the user decide. (This is perhaps a bit > complicated for a tutorial.) > > My response is a combination of the two responses above. > > 4) Stop the user from running the tutorial. I do not like this option. > > If practical inconveniences makes #2 a bad idea, #4 is what we are > left with. > I have attempted to make a new solution in accordance with our discussion. This new solution has the following changes: 1) The yellow area in the tutorial buffer is now small and has a "Details"-link (Kim's suggestion) 2) The "Details"-link displays information in the help buffer. 3) Changed keys are now marked in the tutorial buffer in two ways: a) The key (like C-v) has yellow background b) There is a line under the key telling what can be used instead (in English) 4) The yellow areas in 3 are readonly. 5) There is a link called "Explain" in the yellow areas in 3 that moves the point to (point-min) The support for Viper is still there. I see no reason to remove it since I do believe it is useful for Viper users and it does not in any way disturb those not using Viper. (Except that the code is more complicated of course, but that is only loaded when the tutorial is run.) The new tutorial.el is attached.