hpl re qi j k c( )d y m -f b!ad y m -On offre la possibilités de définir des "macros", suites de commandes encadrées par une commande de début et une commande de fin de définition de macro. Ces suites sont ou non définies sur une ligne unique – l'utilisateur reprend ou non le contrôle au cours de la définition de la macro.
Commandes
d <nom>
<nom> ;<nom> est un caractère.y
m <nom>
<nom>.<nom> n'est pas surchargé – n'est pas une commande définie ici – on peut omettre 'm'. L'appel de la macro est alors : <nom>-
'-' est remplacé par le nombre de l'appel.Par exemple, on définit la macro '/' :
d/(h-p*)y
- appeler récursivement l'éditeur,
- fixer l'holophraste à une valeur en paramètre,
- afficher tous les "termes" à partir de la position courante.
On utilise :
/ | : correspond à : (hp*) |
/3 | : correspond à : (h3p*) |
/* | : correspond à : (h*p*) |
Macro echo : w
L'écho est défini comme l'appel de la macro 'w'. Initialement, celle-ci est définie par :
dw(h0p)y.
qui signifie :
- on définit la macro 'w',
- on sauvegarde la valeur de l'holophraste (appel récursif), on fixe celui-ci à zéro, et on imprime un unique "terme".
L'utilisateur peut donc modifier l'écho qu'il reçoit.