Cuis-Smalltalk registra cualquier acción que se produzca en el entorno: el código que editas en el navegador del sistema, el código que ejecutas en un espacio de trabajo. Por lo tanto, en caso de que Cuis-Smalltalk se bloquee, puedes restaurar los cambios no guardados cuando vuelvas a iniciar la misma imagen de Cuis-Smalltalk. Exploremos esta función con un ejemplo sencillo.
En una instalación nueva de Cuis-Smalltalk, primero configura la
preferencia adecuada ejecutando en un Workspace: Preferences at:
#checkLostChangesOnStartUp put: true. Ahora crea una nueva categoría de
clase llamada TheCuisBook y dentro la clase TheBook:
add
items... (a) y escribe TheCuisBook.
TheBook como un tipo de Object: selecciona la
categoría TheCuisBook y, a continuación, en el código
fuente que aparece a continuación, edita la plantilla de clase para
sustituir #NameOfClass por #TheBook y, a continuación, guarda la
definición de clase con Ctrl-s.
Abre un Workspace y escribe el siguiente código:
| myBook | myBook := TheBook new
Cuis-Smalltalk no guarda el código que escribes en el espacio de trabajo, sino
el código que ejecutas. Ejecutemos este código: Ctrl-a y luego
Ctrl-p, el espacio de trabajo imprime el resultado: a TheBook,
una instancia de una clase TheBook.
Ahora cierra Cuis-Smalltalk de forma abrupta. En GNU/Linux, puedes usar el
comando xkill para cerrar Cuis-Smalltalk haciendo clic en su ventana.
Ahora vuelve a iniciar Cuis-Smalltalk y te informará inmediatamente de que hay cambios sin guardar:
Figura 9.1: Cuis-Smalltalk informa sobre los cambios perdidos
Desde ahí tienes tres opciones:
Lost changes (Cambios perdidos) que aparece a
continuación, se muestran los cambios no guardados, uno por línea, en
orden cronológico, con los más antiguos en la parte superior de la
lista. Seleccione cada cambio (línea) que desee restaurar y, a
continuación, aplique su selección con el botón file in
selections (archivo en selecciones).
Figura 9.2: Selecciona manualmente los cambios que desea guardar en el archivo
Para introducir los cambios relacionados con la creación de la clase
TheBook, pero no el código ejecutado en el espacio de
trabajo, seleccione las dos líneas relacionadas con la definición de
la clase.
El menú contextual (clic derecho del ratón) de la ventana Lost
changes ofrece muchas opciones para filtrar los cambios. Es útil
cuando el lote de cambios perdidos es importante.
Si cambias de opinión y deseas recuperar los cambios, ve al menú World
→ Changes... → Recently logged Changes....
El sistema te presenta una lista de instantáneas de imágenes
etiquetadas con una marca de fecha. Elige la que se produjo justo
antes de perder tu código, probablemente la que aparece en la parte
superior de la lista. A continuación, en la ventana Recent
changes (Cambios recientes), procede como se ha descrito
anteriormente para seleccionar los cambios que deseas restaurar.