next up previous contents
Siguiente: Cortar, pegar, destruir y Subir: Uso básico de emacs Anterior: Uso básico de emacs   Índice General

Uso de GNAT desde emacs

Para compilar tus programas con GNAT se utiliza la siguiente combinación de teclas: Ctrl-c-c. En el minibuffer emacs te preguntará cómo quieres compilar el programa y deberás decirle que utilice gnatmake. Por ejemplo, para compilar el ejemplo anterior pulsas Ctrl-c-c y en el minibuffer verás:

Compile command: make -k

Como queremos utilizar gnatmake (en vez de make), borramos la orden de make y escribimos:

Compile command: gnatmake -gnatg hola.adb

Al pulsar RETURN (o ENTER) emacs divide la pantalla en dos, con lo que verás algo parecido a:

Buffers Files Tools Edit Search Ada Help
with Text_IO;
procedure Hola is
begin
   Text_IO.Put_Line (``Hola Ada'');
end Hola;





-----Emacs: hola.adb          (Ada)--L4--All------------------------------
-cd /tmp/
gnatmake -gnatg hola.adb
gcc -c -gnatg hola.adb
gnatbind -x hola.ali
gnatlink hola.ali

Compilation finished at Sun Oct  8 00:23:27




--**-Emacs: *compilation*      (Compilation:exit [0])--L1--All------------
(No files need saving)

Si has cometido errores, entonces, en la ventana de abajo GNAT te dirá todos los errores. Para que emacs se coloque automáticamente en cada uno de los errores debes utilizar la siguiente combinación de teclas: Ctrl-x `SPC. Esto quiere decir, pulsas Ctrl-x, sueltas ambas teclas y a continuación pulsas el acento que está en la tecla justo al lado de la tecla P (`) seguido de la barra de espacio (SPC).

Cuando termines de corregir los errores debes pulsar Ctrl-x 1 para volver a trabajar con una única ventana.

Para ejecutar tu programa debes pulsar Ctrl-z. Con ésto dejas ``dormido'' el editor y en la pantalla verás lo siguiente:

[1]+  Stopped                 emacs hola.adb
$ _

Acabas de salir temporalmente al sistema operativo (Linux) dejando dormido el editor (emacs sigue estando en la memoria del ordenador, pero no puede utilizarse). Para ejecutar el programa que acabamos de hacer, simplemente decimos el nombre del directorio donde está el programa (en este caso está en el directorio actual, que se indica con un punto) seguido del nombre del programa.

$ ./hola

Al ejecutar el programa verás que Ada escribe en pantalla el mensaje ``Hola Ada'' (es lo único que le has pedido que haga). Para volver al editor debes escribir fg (estas pidiendo a Linux que continúe ejecutando el programa que acabas de dejar dormido).

$ fg

En las dos tablas siguientes se resumen todas las combinaciones de teclas que hemos utilizado para compilar el programa.


Tabla G.3: Combinaciones de teclas de emacs para compilar.
Ctrl-c-c Compilar.
Ctrl-x `SPC Ir al siguiente error.
Ctrl-x 1 Volver a trabajar con una ventana.
Ctrl-z Dormir el editor.



Tabla: Órden de Linux para volver al editor.
fg Continuar la ejecución del programa dormido.


Un error común es dejar dormido a emacs y, en lugar de volver al editor pulsando Ctrl-z, volver a pedir a Linux que ejecute otra vez a emacs con el mismo fichero (emacs hola.adb). Esto es realmente peligroso porque cada vez que hacemos esta secuencia de pasos creamos una nueva copia de nuestro fichero en memoria. En algún momento podemos perder las últimas modificaciones del fichero, por ejemplo, salido de la copia que acabamos de actualizar con Ctrl-x-c, entrando en una copia anterior con fg y volviendo a dar la orden de grabar Ctrl-x-s. Además, al irse llenando la memoria del ordenador con muchas copias, en cualquier momento Linux se puede quejar diciendo que no tiene memoria. En resumen, cuando salimos de emacs pulsando Ctrl-z, siempre debemos volver al editor con la orden fg.


next up previous contents
Siguiente: Cortar, pegar, destruir y Subir: Uso básico de emacs Anterior: Uso básico de emacs   Índice General
Javier Miranda 2002-10-03