If the newly specified device is already in memory, the user will be asked:
"Cell already in memory, read in a new copy?: (y/n)?"If "y" is typed, the memory copy will be discarded and a new copy read in from disk. If "n" is typed, the old memory copy will be used, continuing the edit from where it was last EXIted.
If the device is not already in memory, a search will be made for a definition of the device on disk. If found, the disk definition will be read into memory and used. If the device is neither in memory nor on disk, a new empty device will be created with the name <device>.
If a previously defined version of the device is found, the grid, grid color, lock angle, level and window settings will all be returned to their last settings. This information is persistent, and is stored on disk in the ".d" file whenever a device is SAVed.
Piglet keeps track of the modification state of every device in memory. If a user attempts to EXIt a modified device, the EXIt is aborted and a warning is printed suggesting that the device should be saved before exiting. Typing EXIt twice in a row will force an exit leaving the device in memory, but with the modification bit still set. The user may return to editing the device at any time. If the user attempts to leave the editor with QUIT or BYE, a list of all currently modified devices in memory will be printed warning the user that the devices have not been properly saved. If a second QUIT or BYE is typed, the editor will be killed and all unsaved changes will be permanently lost.
The PD Piglet homepage is at http://www.omnisterra.com/walker/linux/piglet/intro.htm.