In my pursue for a clean way to integrate autosave, and at the same time getting familiar with the source code, I think I may have find a glitch in the backup engine. If I edit a label so I can Put the buffer contents in a different file, the backup name is not changed along. Example: If I B2 New, replace New with foo in the label, write and Put, than write some more and Del, the backup will be for a file named New in the backup guide. The perhaps most correct way would be to backup the contents with the old name when I first make changes to the contents after changing the label if the buffer was dirty when I changed the label, and at the same time update the backup name according to the new label. Did you get that? Well, it would require some heavy state machinery, and the feature-creature-rate-something probably rules it out. I have made a much simpler improvement. I update the backup name if needed whenever the file is successfully Put to its current label name. (patch for wily 0.13.41 at end of e-mail) I check that backup is enabled first, and don't turn it on if it isn't. It could be better to always turn backup on because of the successful file write, if I for example decide to make the output in an +Error buffer the contents of a new file. Any thoughts? -- Tommy Pettersson <ptp@xxxxxxxxxxxxxx> --- old/wily-9libs/wily/data.c Mon Oct 4 23:39:32 2004 +++ new/wily-9libs/wily/data.c Mon Oct 4 22:56:08 2004 @@ -89,6 +89,8 @@ if(!d->names) { tag_rmtool(d->tag, "Put"); undo_mark(d->t); + if (d->backupto && strcmp(d->backupto, path)) + data_setbackup(d, path); } return 0; }