5.5 Désinformation locale
Si l'on peut maintenant commodément éditer la ligne courante,
il n'est malheureusement plus possible d'émettre
H ou X vers une tâche.
Un nouveau mécanisme est nécessaire : l'échappement !
Il permet de considérer le caractère qui suit, quelque soit celui-ci,
comme un caractère normal.
L'échappement est un mécanisme universel que l'on retrouve dans de nombreux
programmes interactifs
- \
pour
sh,
ed,
nroff ...
- Q
pour les éditeurs pleine page (emacs, emin ...),
- V
pour l'interface.
Ainsi pour transmettre un espacement arrière sans que celui-ci soit
interprété comme l'effacement du dernier caractère de la ligne courante,
le fera-t'on précéder du caractère d'échappement.
Par exemple
---------- |
-------- |
---------- |
------- |
caractères |
état du |
caractère |
état de |
émis par |
tampon |
émis vers |
l'écran |
le clavier |
|
l'écran |
|
---------- |
-------- |
--------- ------- |
initialement |
who_ |
|
who_ |
V |
who_ |
rien |
who_ |
H |
whoH_ |
H |
who |
mais si l'on continue
---------- |
-------- |
---------- |
------- |
caractères |
état du |
caractère |
état de |
émis par |
tampon |
émis vers |
l'écran |
le clavier |
|
l'écran |
|
---------- |
-------- |
--------- ------- |
H |
who_ |
H |
who |
|
|
SP |
w o |
|
|
H |
w_o |
Le premier H précédé du caractère d'échappement a été pris tel quel
tandis que le second a été interprété ce qui ramène la ligne
courante à sa valeur initiale.
Notez cependant l'altération de la visualisation de la ligne courante.
On peut programmer le caractère d'échappement par
stty lnext '^V'
où
lnext signifie
literal-next:
le caractère suivant est à prendre comme une lettre (un caractère normal).